From 65943ddcf74aed3529871a440ea7db87bcad1c01 Mon Sep 17 00:00:00 2001 From: Lukas Stadler <lukas.stadler@oracle.com> Date: Thu, 6 Nov 2014 11:47:27 +0100 Subject: [PATCH] BranchProfile in Attributes --- .../com/oracle/truffle/r/nodes/builtin/base/Attributes.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Attributes.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Attributes.java index aaa49470a7..02d7b8b625 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Attributes.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Attributes.java @@ -25,6 +25,7 @@ package com.oracle.truffle.r.nodes.builtin.base; import static com.oracle.truffle.r.runtime.RBuiltinKind.*; import com.oracle.truffle.api.dsl.*; +import com.oracle.truffle.api.utilities.*; import com.oracle.truffle.r.nodes.builtin.*; import com.oracle.truffle.r.runtime.*; import com.oracle.truffle.r.runtime.data.*; @@ -34,6 +35,8 @@ import com.oracle.truffle.r.runtime.data.model.*; @RBuiltin(name = "attributes", kind = PRIMITIVE, parameterNames = {"obj"}) public abstract class Attributes extends RBuiltinNode { + private final BranchProfile rownamesBranch = BranchProfile.create(); + @Specialization(guards = "!hasAttributes") protected RNull attributesNull(@SuppressWarnings("unused") RAbstractVector vector) { controlVisibility(); @@ -51,6 +54,7 @@ public abstract class Attributes extends RBuiltinNode { for (RAttribute attr : attributes) { names[z] = attr.getName(); if (names[z].equals(RRuntime.ROWNAMES_ATTR_KEY)) { + rownamesBranch.enter(); values[z] = Attr.getFullRowNames(attr.getValue()); } else { values[z] = attr.getValue(); -- GitLab