@@ -395,34 +395,20 @@ protected Uncached(DispatchConfiguration config) {
395
395
396
396
@ Override
397
397
protected Object callForeign (Object receiver , String methodName , Object [] rubyArgs ) {
398
- if (callForeign == null ) {
399
- CompilerDirectives .transferToInterpreterAndInvalidate ();
400
- callForeign = insert (CallForeignMethodNode .getUncached ());
401
- }
402
-
403
398
final Object block = RubyArguments .getBlock (rubyArgs );
404
399
final Object [] arguments = RubyArguments .getPositionalArguments (rubyArgs , false );
405
- return callForeign .execute (receiver , methodName , block , arguments );
400
+ return CallForeignMethodNode . getUncached () .execute (receiver , methodName , block , arguments );
406
401
}
407
402
408
403
@ Override
409
404
protected Object callMethodMissingNode (Frame frame , Object receiver , Object [] rubyArgs ) {
410
- if (callMethodMissing == null ) {
411
- CompilerDirectives .transferToInterpreterAndInvalidate ();
412
- callMethodMissing = insert (
413
- DispatchNode .getUncached (DispatchConfiguration .PRIVATE_RETURN_MISSING_IGNORE_REFINEMENTS ));
414
- }
415
-
416
- return callMethodMissing .dispatch (frame , receiver , "method_missing" , rubyArgs );
405
+ return DispatchNode .getUncached (DispatchConfiguration .PRIVATE_RETURN_MISSING_IGNORE_REFINEMENTS )
406
+ .dispatch (frame , receiver , "method_missing" , rubyArgs );
417
407
}
418
408
419
409
@ Override
420
410
protected RubySymbol nameToSymbol (String methodName ) {
421
- if (toSymbol == null ) {
422
- CompilerDirectives .transferToInterpreterAndInvalidate ();
423
- toSymbol = insert (ToSymbolNode .getUncached ());
424
- }
425
- return toSymbol .execute (methodName );
411
+ return ToSymbolNode .getUncached ().execute (methodName );
426
412
}
427
413
428
414
@ Override
0 commit comments