@@ -142,7 +142,7 @@ public ExpressionNode inline(final CallTarget inlinableCallTarget, final SSymbol
142142 inlinableCallTarget , frameDescriptor , selfSlot , nonLocalReturnMarker ,
143143 argumentSlots , temporarySlots );
144144 case 2 :
145- return new TernaryInlinedMethod (selector , universe , body , null , null ,
145+ return new TernaryInlinedMethod (selector , universe , body , null , null , null ,
146146 inlinableCallTarget , frameDescriptor , selfSlot , nonLocalReturnMarker ,
147147 argumentSlots , temporarySlots );
148148 default :
@@ -216,9 +216,9 @@ public ExpressionNode getReceiver() {
216216 }
217217
218218 private static final class BinaryInlinedMethod extends BinaryMessageNode implements InlinedCallSite {
219- @ Child private ExpressionNode expressionOrSequence ;
220- @ Child private ExpressionNode receiver ;
221- @ Children private ExpressionNode [] arguments ;
219+ @ Child private ExpressionNode expressionOrSequence ;
220+ @ Child private ExpressionNode receiver ;
221+ @ Child private ExpressionNode argument ;
222222
223223 private final CallTarget callTarget ;
224224 private final FrameDescriptor frameDescriptor ;
@@ -230,8 +230,8 @@ private static final class BinaryInlinedMethod extends BinaryMessageNode impleme
230230
231231 BinaryInlinedMethod (final SSymbol selector , final Universe universe ,
232232 final ExpressionNode msgBody , final ExpressionNode receiver ,
233- final ExpressionNode [] arguments ,
234- final CallTarget callTarget , final FrameDescriptor frameDescriptor ,
233+ final ExpressionNode argument , final CallTarget callTarget ,
234+ final FrameDescriptor frameDescriptor ,
235235 final FrameSlot selfSlot , final FrameSlot nonLocalReturnMarker ,
236236 final FrameSlot [] argumentSlots ,
237237 final FrameSlot [] temporarySlots ) {
@@ -243,7 +243,7 @@ private static final class BinaryInlinedMethod extends BinaryMessageNode impleme
243243 this .nonLocalReturnMarker = nonLocalReturnMarker ;
244244 this .argumentSlots = argumentSlots ;
245245 this .temporarySlots = temporarySlots ;
246- this .arguments = arguments ;
246+ this .argument = argument ;
247247 }
248248
249249 @ ExplodeLoop
@@ -265,7 +265,7 @@ private FrameOnStackMarker initializeFrame(final VirtualFrame frame) {
265265 @ Override
266266 public Object executeGeneric (final VirtualFrame frame ) {
267267 Object rcvr = receiver .executeGeneric (frame );
268- Object arg = arguments [ 0 ] .executeGeneric (frame );
268+ Object arg = argument .executeGeneric (frame );
269269 return executeEvaluated (frame , rcvr , arg );
270270 }
271271
@@ -288,15 +288,16 @@ public ExpressionNode getReceiver() {
288288 }
289289
290290 @ Override
291- public ExpressionNode [] getArguments () {
292- return arguments ;
291+ public ExpressionNode getArgument () {
292+ return argument ;
293293 }
294294 }
295295
296296 private static final class TernaryInlinedMethod extends TernaryMessageNode implements InlinedCallSite {
297- @ Child private ExpressionNode expressionOrSequence ;
298- @ Child private ExpressionNode receiver ;
299- @ Children private ExpressionNode [] arguments ;
297+ @ Child private ExpressionNode expressionOrSequence ;
298+ @ Child private ExpressionNode receiver ;
299+ @ Child private ExpressionNode firstArg ;
300+ @ Child private ExpressionNode secondArg ;
300301
301302 private final CallTarget callTarget ;
302303 private final FrameDescriptor frameDescriptor ;
@@ -308,7 +309,7 @@ private static final class TernaryInlinedMethod extends TernaryMessageNode imple
308309
309310 TernaryInlinedMethod (final SSymbol selector , final Universe universe ,
310311 final ExpressionNode msgBody , final ExpressionNode receiver ,
311- final ExpressionNode [] arguments ,
312+ final ExpressionNode firstArg , final ExpressionNode secondArg ,
312313 final CallTarget callTarget , final FrameDescriptor frameDescriptor ,
313314 final FrameSlot selfSlot , final FrameSlot nonLocalReturnMarker ,
314315 final FrameSlot [] argumentSlots ,
@@ -321,7 +322,8 @@ private static final class TernaryInlinedMethod extends TernaryMessageNode imple
321322 this .nonLocalReturnMarker = nonLocalReturnMarker ;
322323 this .argumentSlots = argumentSlots ;
323324 this .temporarySlots = temporarySlots ;
324- this .arguments = arguments ;
325+ this .firstArg = firstArg ;
326+ this .secondArg = secondArg ;
325327 }
326328
327329 @ ExplodeLoop
@@ -344,8 +346,8 @@ private FrameOnStackMarker initializeFrame(final VirtualFrame frame) {
344346 @ Override
345347 public Object executeGeneric (final VirtualFrame frame ) {
346348 Object rcvr = receiver .executeGeneric (frame );
347- Object arg1 = arguments [ 0 ] .executeGeneric (frame );
348- Object arg2 = arguments [ 1 ] .executeGeneric (frame );
349+ Object arg1 = firstArg .executeGeneric (frame );
350+ Object arg2 = secondArg .executeGeneric (frame );
349351 return executeEvaluated (frame , rcvr , arg1 , arg2 );
350352 }
351353
@@ -368,8 +370,13 @@ public ExpressionNode getReceiver() {
368370 }
369371
370372 @ Override
371- public ExpressionNode [] getArguments () {
372- return arguments ;
373+ public ExpressionNode getFirstArg () {
374+ return firstArg ;
375+ }
376+
377+ @ Override
378+ public ExpressionNode getSecondArg () {
379+ return secondArg ;
373380 }
374381 }
375382
0 commit comments