Skip to content

Commit f0b75de

Browse files
committed
Convert InstanceExecBlockNode to DSL inlinable
1 parent a1f6b3c commit f0b75de

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/main/java/org/truffleruby/core/basicobject/BasicObjectNodes.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111

1212
import com.oracle.truffle.api.RootCallTarget;
1313
import com.oracle.truffle.api.dsl.Bind;
14+
import com.oracle.truffle.api.dsl.GenerateCached;
15+
import com.oracle.truffle.api.dsl.GenerateInline;
1416
import com.oracle.truffle.api.interop.InteropLibrary;
1517
import com.oracle.truffle.api.interop.UnsupportedMessageException;
1618
import com.oracle.truffle.api.object.Shape;
@@ -280,7 +282,7 @@ Object evalWithBlock(Frame callerFrame, Object self, Object[] rubyArgs, RootCall
280282
}
281283

282284
final Object block = RubyArguments.getBlock(rubyArgs);
283-
return instanceExecNode.execute(EmptyArgumentsDescriptor.INSTANCE, self, new Object[]{ self },
285+
return instanceExecNode.execute(this, EmptyArgumentsDescriptor.INSTANCE, self, new Object[]{ self },
284286
(RubyProc) block);
285287
}
286288

@@ -409,12 +411,15 @@ Object instanceExec(Object receiver, Object[] arguments, Nil block) {
409411
}
410412

411413
@GenerateUncached
414+
@GenerateCached(false)
415+
@GenerateInline
412416
public abstract static class InstanceExecBlockNode extends RubyBaseNode {
413417

414-
public abstract Object execute(ArgumentsDescriptor descriptor, Object self, Object[] args, RubyProc block);
418+
public abstract Object execute(Node node, ArgumentsDescriptor descriptor, Object self, Object[] args,
419+
RubyProc block);
415420

416421
@Specialization
417-
Object instanceExec(ArgumentsDescriptor descriptor, Object self, Object[] arguments, RubyProc block,
422+
static Object instanceExec(ArgumentsDescriptor descriptor, Object self, Object[] arguments, RubyProc block,
418423
@Cached CallBlockNode callBlockNode) {
419424
final DeclarationContext declarationContext = new DeclarationContext(
420425
Visibility.PUBLIC,

0 commit comments

Comments
 (0)