Skip to content

Commit 69d0f33

Browse files
committed
Tidy child nodes in VMPrimitiveNodes
1 parent a610309 commit 69d0f33

File tree

1 file changed

+10
-18
lines changed

1 file changed

+10
-18
lines changed

src/main/java/org/truffleruby/core/VMPrimitiveNodes.java

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
import org.truffleruby.core.kernel.KernelNodesFactory;
5656
import org.truffleruby.core.proc.ProcOperations;
5757
import org.truffleruby.core.rope.CodeRange;
58-
import org.truffleruby.core.string.StringNodes;
58+
import org.truffleruby.core.string.StringNodes.MakeStringNode;
5959
import org.truffleruby.core.string.StringOperations;
6060
import org.truffleruby.language.backtrace.Backtrace;
6161
import org.truffleruby.language.control.ExitException;
@@ -84,13 +84,12 @@ public abstract class VMPrimitiveNodes {
8484
@Primitive(name = "vm_catch", needsSelf = false)
8585
public abstract static class CatchNode extends PrimitiveArrayArgumentsNode {
8686

87-
@Child private YieldNode dispatchNode = YieldNode.create();
88-
8987
@Specialization
9088
protected Object doCatch(Object tag, DynamicObject block,
9189
@Cached BranchProfile catchProfile,
9290
@Cached("createBinaryProfile()") ConditionProfile matchProfile,
93-
@Cached ReferenceEqualNode referenceEqualNode) {
91+
@Cached ReferenceEqualNode referenceEqualNode,
92+
@Cached YieldNode dispatchNode) {
9493
try {
9594
return dispatchNode.executeDispatch(block, tag);
9695
} catch (ThrowException e) {
@@ -149,16 +148,10 @@ protected boolean vmMethodIsBasic(VirtualFrame frame, DynamicObject method) {
149148
@Primitive(name = "vm_method_lookup", needsSelf = false)
150149
public static abstract class VMMethodLookupNode extends PrimitiveArrayArgumentsNode {
151150

152-
@Child private NameToJavaStringNode nameToJavaStringNode;
153-
@Child private LookupMethodNode lookupMethodNode;
154-
155-
public VMMethodLookupNode() {
156-
nameToJavaStringNode = NameToJavaStringNode.create();
157-
lookupMethodNode = LookupMethodNode.create();
158-
}
159-
160151
@Specialization
161-
protected DynamicObject vmMethodLookup(VirtualFrame frame, Object receiver, Object name) {
152+
protected DynamicObject vmMethodLookup(VirtualFrame frame, Object receiver, Object name,
153+
@Cached NameToJavaStringNode nameToJavaStringNode,
154+
@Cached LookupMethodNode lookupMethodNode) {
162155
// TODO BJF Sep 14, 2016 Handle private
163156
final String normalizedName = nameToJavaStringNode.executeToJavaString(name);
164157
InternalMethod method = lookupMethodNode.lookupIgnoringVisibility(frame, receiver, normalizedName);
@@ -405,12 +398,11 @@ protected Object get(DynamicObject key) {
405398
@Primitive(name = "vm_get_config_section", needsSelf = false)
406399
public abstract static class VMGetConfigSectionNode extends PrimitiveArrayArgumentsNode {
407400

408-
@Child private StringNodes.MakeStringNode makeStringNode = StringNodes.MakeStringNode.create();
409-
@Child private YieldNode yieldNode = YieldNode.create();
410-
411401
@TruffleBoundary
412402
@Specialization(guards = { "isRubyString(section)", "isRubyProc(block)" })
413-
protected DynamicObject getSection(DynamicObject section, DynamicObject block) {
403+
protected DynamicObject getSection(DynamicObject section, DynamicObject block,
404+
@Cached MakeStringNode makeStringNode,
405+
@Cached YieldNode yieldNode) {
414406
for (Entry<String, Object> entry : getContext()
415407
.getNativeConfiguration()
416408
.getSection(StringOperations.getString(section))) {
@@ -444,7 +436,7 @@ public abstract static class VMDevUrandomBytes extends PrimitiveArrayArgumentsNo
444436

445437
@Specialization(guards = "count >= 0")
446438
protected DynamicObject readRandomBytes(int count,
447-
@Cached StringNodes.MakeStringNode makeStringNode) {
439+
@Cached MakeStringNode makeStringNode) {
448440
final byte[] bytes = getContext().getRandomSeedBytes(count);
449441

450442
return makeStringNode.executeMake(bytes, ASCIIEncoding.INSTANCE, CodeRange.CR_UNKNOWN);

0 commit comments

Comments
 (0)