Skip to content
Snippets Groups Projects
Commit 65943ddc authored by Lukas Stadler's avatar Lukas Stadler
Browse files

BranchProfile in Attributes

parent 4ac3b6af
Branches
No related tags found
No related merge requests found
...@@ -25,6 +25,7 @@ package com.oracle.truffle.r.nodes.builtin.base; ...@@ -25,6 +25,7 @@ package com.oracle.truffle.r.nodes.builtin.base;
import static com.oracle.truffle.r.runtime.RBuiltinKind.*; import static com.oracle.truffle.r.runtime.RBuiltinKind.*;
import com.oracle.truffle.api.dsl.*; import com.oracle.truffle.api.dsl.*;
import com.oracle.truffle.api.utilities.*;
import com.oracle.truffle.r.nodes.builtin.*; import com.oracle.truffle.r.nodes.builtin.*;
import com.oracle.truffle.r.runtime.*; import com.oracle.truffle.r.runtime.*;
import com.oracle.truffle.r.runtime.data.*; import com.oracle.truffle.r.runtime.data.*;
...@@ -34,6 +35,8 @@ import com.oracle.truffle.r.runtime.data.model.*; ...@@ -34,6 +35,8 @@ import com.oracle.truffle.r.runtime.data.model.*;
@RBuiltin(name = "attributes", kind = PRIMITIVE, parameterNames = {"obj"}) @RBuiltin(name = "attributes", kind = PRIMITIVE, parameterNames = {"obj"})
public abstract class Attributes extends RBuiltinNode { public abstract class Attributes extends RBuiltinNode {
private final BranchProfile rownamesBranch = BranchProfile.create();
@Specialization(guards = "!hasAttributes") @Specialization(guards = "!hasAttributes")
protected RNull attributesNull(@SuppressWarnings("unused") RAbstractVector vector) { protected RNull attributesNull(@SuppressWarnings("unused") RAbstractVector vector) {
controlVisibility(); controlVisibility();
...@@ -51,6 +54,7 @@ public abstract class Attributes extends RBuiltinNode { ...@@ -51,6 +54,7 @@ public abstract class Attributes extends RBuiltinNode {
for (RAttribute attr : attributes) { for (RAttribute attr : attributes) {
names[z] = attr.getName(); names[z] = attr.getName();
if (names[z].equals(RRuntime.ROWNAMES_ATTR_KEY)) { if (names[z].equals(RRuntime.ROWNAMES_ATTR_KEY)) {
rownamesBranch.enter();
values[z] = Attr.getFullRowNames(attr.getValue()); values[z] = Attr.getFullRowNames(attr.getValue());
} else { } else {
values[z] = attr.getValue(); values[z] = attr.getValue();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment