diff --git a/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/methods/MethodsListDispatch.java b/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/methods/MethodsListDispatch.java index 3e8b28ed974eef02fe102aaf02086d6554704dc9..0fa12c99f3bf99aa9296822f540d775d524b2bac 100644 --- a/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/methods/MethodsListDispatch.java +++ b/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/methods/MethodsListDispatch.java @@ -202,7 +202,7 @@ public class MethodsListDispatch { private AccessSlotNode initAccessSlotNode() { if (accessSlotNode == null) { - accessSlotNode = insert(AccessSlotNodeGen.create(true, null, null)); + accessSlotNode = insert(AccessSlotNodeGen.create(true)); } return accessSlotNode; } diff --git a/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/methods/Slot.java b/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/methods/Slot.java index 897a0a18f704ff7335ec15a20b5497b7ae628900..b1bc33c7996176213861630a55a533a4bdf19904 100644 --- a/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/methods/Slot.java +++ b/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/methods/Slot.java @@ -34,7 +34,7 @@ public class Slot { public abstract static class R_getSlot extends RExternalBuiltinNode.Arg2 { - @Child private AccessSlotNode accessSlotNode = AccessSlotNodeGen.create(false, null, null); + @Child private AccessSlotNode accessSlotNode = AccessSlotNodeGen.create(false); @Child private CastToAttributableNode castAttributable = CastToAttributableNodeGen.create(true, true, true); @Override @@ -62,7 +62,7 @@ public class Slot { public abstract static class R_setSlot extends RExternalBuiltinNode.Arg3 { - @Child private UpdateSlotNode updateSlotNode = UpdateSlotNodeGen.create(null, null, null); + @Child private UpdateSlotNode updateSlotNode = UpdateSlotNodeGen.create(); @Child private CastToAttributableNode castAttributable = CastToAttributableNodeGen.create(true, true, true); @Override diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Slot.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Slot.java index 086d7d1fae693274571b16ded3c0fc798fb602a2..a01de6f6adf4ce7bbb32da6971574256c68dbebf 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Slot.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Slot.java @@ -36,7 +36,7 @@ import com.oracle.truffle.r.runtime.data.RSymbol; @RBuiltin(name = "@", kind = PRIMITIVE, parameterNames = {"", ""}, nonEvalArgs = 1, behavior = COMPLEX) public abstract class Slot extends RBuiltinNode { - @Child private AccessSlotNode accessSlotNode = AccessSlotNodeGen.create(true, null, null); + @Child private AccessSlotNode accessSlotNode = AccessSlotNodeGen.create(true); @Override protected void createCasts(CastBuilder casts) { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateSlot.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateSlot.java index d97465df82f295b47b881e584a83c5a1b7b3de7c..e97872b6a2d4d30a9c3c4591836a1229c8fb11c1 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateSlot.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateSlot.java @@ -51,7 +51,7 @@ public abstract class UpdateSlot extends RBuiltinNode { @CompilationFinal private RFunction checkSlotAssignFunction; @Child private ClassHierarchyNode objClassHierarchy; @Child private ClassHierarchyNode valClassHierarchy; - @Child private UpdateSlotNode updateSlotNode = com.oracle.truffle.r.nodes.access.UpdateSlotNodeGen.create(null, null, null); + @Child private UpdateSlotNode updateSlotNode = com.oracle.truffle.r.nodes.access.UpdateSlotNodeGen.create(); @Child private ReadVariableNode checkAtAssignmentFind = ReadVariableNode.createFunctionLookup(RSyntaxNode.INTERNAL, "checkAtAssignment"); @Child private CallRFunctionNode checkAtAssignmentCall; private final ConditionProfile cached = ConditionProfile.createBinaryProfile(); diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/AccessSlotNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/AccessSlotNode.java index 8d211627165870f0b6c0ec426ca10c558e34988b..c35d7aca70bccc7def2befa438c888a00bb5b24e 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/AccessSlotNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/AccessSlotNode.java @@ -15,8 +15,6 @@ package com.oracle.truffle.r.nodes.access; import com.oracle.truffle.api.CompilerDirectives; import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary; import com.oracle.truffle.api.dsl.Cached; -import com.oracle.truffle.api.dsl.NodeChild; -import com.oracle.truffle.api.dsl.NodeChildren; import com.oracle.truffle.api.dsl.Specialization; import com.oracle.truffle.api.profiles.BranchProfile; import com.oracle.truffle.r.nodes.RASTUtils; @@ -39,15 +37,14 @@ import com.oracle.truffle.r.runtime.data.RStringVector; import com.oracle.truffle.r.runtime.data.RSymbol; import com.oracle.truffle.r.runtime.data.model.RAbstractVector; import com.oracle.truffle.r.runtime.env.REnvironment; -import com.oracle.truffle.r.runtime.nodes.RNode; +import com.oracle.truffle.r.runtime.nodes.RBaseNode; // Transcribed from src/main/attrib.c file (R_do_slot function) /** * Perform a slot access. This node represents the {@code @} operator in R. */ -@NodeChildren({@NodeChild(value = "object", type = RNode.class), @NodeChild(value = "name", type = RNode.class)}) -public abstract class AccessSlotNode extends RNode { +public abstract class AccessSlotNode extends RBaseNode { public abstract Object executeAccess(Object o, String name); diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/UpdateSlotNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/UpdateSlotNode.java index 9f5e173e2d8419a5529513d5399c55e35dd33c11..4cd1ffa866ada9f3ed5cb3396c0ca55b103a22d6 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/UpdateSlotNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/UpdateSlotNode.java @@ -14,8 +14,6 @@ package com.oracle.truffle.r.nodes.access; import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary; import com.oracle.truffle.api.dsl.Cached; -import com.oracle.truffle.api.dsl.NodeChild; -import com.oracle.truffle.api.dsl.NodeChildren; import com.oracle.truffle.api.dsl.Specialization; import com.oracle.truffle.r.nodes.RASTUtils; import com.oracle.truffle.r.nodes.attributes.InitAttributesNode; @@ -28,12 +26,11 @@ import com.oracle.truffle.r.runtime.data.RAttributable; import com.oracle.truffle.r.runtime.data.RFunction; import com.oracle.truffle.r.runtime.data.RNull; import com.oracle.truffle.r.runtime.env.REnvironment; -import com.oracle.truffle.r.runtime.nodes.RNode; +import com.oracle.truffle.r.runtime.nodes.RBaseNode; // Transcribed from src/main/attrib.c file (R_do_slot_assign function) -@NodeChildren({@NodeChild(value = "object", type = RNode.class), @NodeChild(value = "name", type = RNode.class), @NodeChild(value = "value", type = RNode.class)}) -public abstract class UpdateSlotNode extends RNode { +public abstract class UpdateSlotNode extends RBaseNode { public abstract Object executeUpdate(Object object, String name, Object value); diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/objects/NewObject.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/objects/NewObject.java index 747246759b9262001d2927459d6d0f9d71c6f330..59f2ef25c1c7f52e84f4af3196433f054aa74507 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/objects/NewObject.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/objects/NewObject.java @@ -33,9 +33,9 @@ import com.oracle.truffle.r.runtime.data.RS4Object; // transcribed from src/main/objects.c public abstract class NewObject extends RExternalBuiltinNode.Arg1 { - @Child private AccessSlotNode accessSlotVirtual = AccessSlotNodeGen.create(true, null, null); - @Child private AccessSlotNode accessSlotClassName = AccessSlotNodeGen.create(true, null, null); - @Child private AccessSlotNode accessSlotPrototypeName = AccessSlotNodeGen.create(true, null, null); + @Child private AccessSlotNode accessSlotVirtual = AccessSlotNodeGen.create(true); + @Child private AccessSlotNode accessSlotClassName = AccessSlotNodeGen.create(true); + @Child private AccessSlotNode accessSlotPrototypeName = AccessSlotNodeGen.create(true); @Child private DuplicateNode duplicate = DuplicateNodeGen.create(true); @Child private GetFixedAttributeNode pckgAttrAccess = GetFixedAttributeNode.create(RRuntime.PCKG_ATTR_KEY); @Child private SetClassAttributeNode setClassAttrNode;