@@ -694,7 +694,7 @@ Object evalWithBlock(Frame callerFrame, RubyModule self, Object[] rubyArgs, Root
694
694
}
695
695
696
696
final Object block = RubyArguments .getBlock (rubyArgs );
697
- return classExecNode .execute (EmptyArgumentsDescriptor .INSTANCE , self , new Object []{ self },
697
+ return classExecNode .execute (this , EmptyArgumentsDescriptor .INSTANCE , self , new Object []{ self },
698
698
(RubyProc ) block );
699
699
}
700
700
@@ -786,7 +786,7 @@ public abstract static class ClassExecNode extends CoreMethodArrayArgumentsNode
786
786
@ Specialization
787
787
Object withBlock (VirtualFrame frame , RubyModule self , Object [] args , RubyProc block ,
788
788
@ Cached ClassExecBlockNode classExecBlockNode ) {
789
- return classExecBlockNode .execute (RubyArguments .getDescriptor (frame ), self , args , block );
789
+ return classExecBlockNode .execute (this , RubyArguments .getDescriptor (frame ), self , args , block );
790
790
}
791
791
792
792
@ Specialization
@@ -796,19 +796,23 @@ Object noBlock(RubyModule self, Object[] args, Nil block) {
796
796
}
797
797
798
798
@ GenerateUncached
799
+ @ GenerateInline
800
+ @ GenerateCached (false )
799
801
public abstract static class ClassExecBlockNode extends RubyBaseNode {
800
802
801
- public abstract Object execute (ArgumentsDescriptor descriptor , RubyModule self , Object [] args , RubyProc block );
803
+ public abstract Object execute (Node node , ArgumentsDescriptor descriptor , RubyModule self , Object [] args ,
804
+ RubyProc block );
802
805
803
806
@ Specialization
804
- Object classExec (ArgumentsDescriptor descriptor , RubyModule self , Object [] args , RubyProc block ,
807
+ static Object classExec (
808
+ Node node , ArgumentsDescriptor descriptor , RubyModule self , Object [] args , RubyProc block ,
805
809
@ Cached CallBlockNode callBlockNode ) {
806
810
final DeclarationContext declarationContext = new DeclarationContext (
807
811
Visibility .PUBLIC ,
808
812
new FixedDefaultDefinee (self ),
809
813
block .declarationContext .getRefinements ());
810
814
811
- return callBlockNode .executeCallBlock (this , declarationContext , block , self , nil , descriptor , args );
815
+ return callBlockNode .executeCallBlock (node , declarationContext , block , self , nil , descriptor , args );
812
816
}
813
817
}
814
818
@@ -1452,7 +1456,7 @@ RubyModule initialize(RubyModule module, Nil block) {
1452
1456
@ Specialization
1453
1457
RubyModule initialize (RubyModule module , RubyProc block ,
1454
1458
@ Cached ClassExecBlockNode classExecBlockNode ) {
1455
- classExecBlockNode .execute (EmptyArgumentsDescriptor .INSTANCE , module , new Object []{ module }, block );
1459
+ classExecBlockNode .execute (this , EmptyArgumentsDescriptor .INSTANCE , module , new Object []{ module }, block );
1456
1460
return module ;
1457
1461
}
1458
1462
0 commit comments