From 92e3e247664a4db9006fde40bba56f3a919154d3 Mon Sep 17 00:00:00 2001 From: Lukas Stadler <lukas.stadler@oracle.com> Date: Wed, 4 Jan 2017 10:47:30 +0100 Subject: [PATCH] additional profile in FilterNode --- .../src/com/oracle/truffle/r/nodes/unary/FilterNode.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/FilterNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/FilterNode.java index 7924c01c9b..9e693d7a48 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/FilterNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/FilterNode.java @@ -25,6 +25,7 @@ package com.oracle.truffle.r.nodes.unary; import com.oracle.truffle.api.dsl.Specialization; import com.oracle.truffle.api.profiles.BranchProfile; import com.oracle.truffle.api.profiles.ConditionProfile; +import com.oracle.truffle.api.profiles.ValueProfile; import com.oracle.truffle.r.nodes.binary.BoxPrimitiveNode; import com.oracle.truffle.r.nodes.binary.BoxPrimitiveNodeGen; import com.oracle.truffle.r.nodes.builtin.ArgumentFilter; @@ -45,6 +46,7 @@ public abstract class FilterNode extends CastNode { private final BranchProfile warningProfile = BranchProfile.create(); private final ConditionProfile conditionProfile = ConditionProfile.createBinaryProfile(); + private final ValueProfile valueProfile = ValueProfile.createClassProfile(); @Child private BoxPrimitiveNode boxPrimitiveNode = BoxPrimitiveNodeGen.create(); @@ -92,7 +94,7 @@ public abstract class FilterNode extends CastNode { @Specialization public Object executeRest(Object x) { - if (!conditionProfile.profile(evalCondition(x))) { + if (!conditionProfile.profile(evalCondition(valueProfile.profile(x)))) { handleMessage(x); } return x; -- GitLab