@@ -324,16 +324,18 @@ protected Object localVariableSet(RubyBinding binding, Object nameObject, Object
324
324
@ Cached NameToJavaStringNode nameToJavaStringNode ,
325
325
@ Cached LocalVariableSetNode localVariableSetNode ) {
326
326
final var name = nameToJavaStringNode .execute (this , nameObject );
327
- return localVariableSetNode .execute (binding , name , value );
327
+ return localVariableSetNode .execute (this , binding , name , value );
328
328
}
329
329
}
330
330
331
331
332
332
@ GenerateUncached
333
333
@ ImportStatic ({ BindingNodes .class , FindDeclarationVariableNodes .class })
334
+ @ GenerateCached (false )
335
+ @ GenerateInline
334
336
public abstract static class LocalVariableSetNode extends RubyBaseNode {
335
337
336
- public abstract Object execute (RubyBinding binding , String name , Object value );
338
+ public abstract Object execute (Node node , RubyBinding binding , String name , Object value );
337
339
338
340
@ Specialization (
339
341
guards = {
@@ -342,7 +344,7 @@ public abstract static class LocalVariableSetNode extends RubyBaseNode {
342
344
"getFrameDescriptor(binding) == cachedFrameDescriptor" ,
343
345
"cachedFrameSlot != null" },
344
346
limit = "getCacheLimit()" )
345
- protected Object localVariableSetCached (RubyBinding binding , String name , Object value ,
347
+ protected static Object localVariableSetCached (RubyBinding binding , String name , Object value ,
346
348
@ Cached ("name" ) String cachedName ,
347
349
@ Cached ("getFrameDescriptor(binding)" ) FrameDescriptor cachedFrameDescriptor ,
348
350
@ Cached ("findFrameSlotOrNull(name, binding.getFrame())" ) FrameSlotAndDepth cachedFrameSlot ,
@@ -360,7 +362,7 @@ protected Object localVariableSetCached(RubyBinding binding, String name, Object
360
362
"getFrameDescriptor(binding) == cachedFrameDescriptor" ,
361
363
"cachedFrameSlot == null" },
362
364
limit = "getCacheLimit()" )
363
- protected Object localVariableSetNewCached (RubyBinding binding , String name , Object value ,
365
+ protected static Object localVariableSetNewCached (RubyBinding binding , String name , Object value ,
364
366
@ Cached ("name" ) String cachedName ,
365
367
@ Cached ("getFrameDescriptor(binding)" ) FrameDescriptor cachedFrameDescriptor ,
366
368
@ Cached ("findFrameSlotOrNull(name, binding.getFrame())" ) FrameSlotAndDepth cachedFrameSlot ,
@@ -375,7 +377,7 @@ protected Object localVariableSetNewCached(RubyBinding binding, String name, Obj
375
377
@ Specialization (
376
378
guards = "!isHiddenVariable(name)" ,
377
379
replaces = { "localVariableSetCached" , "localVariableSetNewCached" })
378
- protected Object localVariableSetUncached (RubyBinding binding , String name , Object value ) {
380
+ protected static Object localVariableSetUncached (RubyBinding binding , String name , Object value ) {
379
381
MaterializedFrame frame = binding .getFrame ();
380
382
final FrameSlotAndDepth frameSlot = FindDeclarationVariableNodes .findFrameSlotOrNull (name , frame );
381
383
final int slot ;
@@ -394,13 +396,13 @@ protected Object localVariableSetUncached(RubyBinding binding, String name, Obje
394
396
395
397
@ TruffleBoundary
396
398
@ Specialization (guards = "isHiddenVariable(name)" )
397
- protected Object localVariableSetLastLine (RubyBinding binding , String name , Object value ) {
399
+ protected static Object localVariableSetLastLine (Node node , RubyBinding binding , String name , Object value ) {
398
400
throw new RaiseException (
399
- getContext (),
400
- coreExceptions ().nameError ("Bad local variable name" , binding , name , this ));
401
+ getContext (node ),
402
+ coreExceptions (node ).nameError ("Bad local variable name" , binding , name , node ));
401
403
}
402
404
403
- protected WriteFrameSlotNode createWriteNode (int frameSlot ) {
405
+ protected static WriteFrameSlotNode createWriteNode (int frameSlot ) {
404
406
return WriteFrameSlotNodeGen .create (frameSlot );
405
407
}
406
408
0 commit comments