@@ -663,32 +663,10 @@ def visit_call(node)
663
663
when ArgsForward
664
664
flag |= CallData ::CALL_TAILCALL if options . tailcall_optimization?
665
665
666
- if RUBY_VERSION < "3.2"
667
- flag |= CallData ::CALL_ARGS_SPLAT
668
- lookup = iseq . local_table . find ( :* )
669
- iseq . getlocal ( lookup . index , lookup . level )
670
- iseq . splatarray ( arg_parts . length != 1 )
671
- else
672
- flag |= CallData ::CALL_ARGS_SPLAT
673
- lookup = iseq . local_table . find ( :* )
674
- iseq . getlocal ( lookup . index , lookup . level )
675
- iseq . splatarray ( true )
676
-
677
- flag |= CallData ::CALL_KW_SPLAT
678
- iseq . putspecialobject ( PutSpecialObject ::OBJECT_VMCORE )
679
- iseq . newhash ( 0 )
680
- lookup = iseq . local_table . find ( :** )
681
- iseq . getlocal ( lookup . index , lookup . level )
682
- iseq . send (
683
- YARV . calldata (
684
- :"core#hash_merge_kwd" ,
685
- 2 ,
686
- CallData ::CALL_ARGS_SIMPLE
687
- )
688
- )
689
- iseq . newarray ( 1 )
690
- iseq . concatarray
691
- end
666
+ flag |= CallData ::CALL_ARGS_SPLAT
667
+ lookup = iseq . local_table . find ( :* )
668
+ iseq . getlocal ( lookup . index , lookup . level )
669
+ iseq . splatarray ( arg_parts . length != 1 )
692
670
693
671
flag |= CallData ::CALL_ARGS_BLOCKARG
694
672
lookup = iseq . local_table . find ( :& )
@@ -1339,14 +1317,13 @@ def visit_params(node)
1339
1317
if node . keyword_rest . is_a? ( ArgsForward )
1340
1318
if RUBY_VERSION >= "3.2"
1341
1319
iseq . local_table . plain ( :* )
1342
- iseq . local_table . plain ( :** )
1343
1320
iseq . local_table . plain ( :& )
1321
+ iseq . local_table . plain ( :"..." )
1344
1322
1345
1323
iseq . argument_options [ :rest_start ] = iseq . argument_size
1346
- iseq . argument_options [ :block_start ] = iseq . argument_size + 2
1347
- iseq . argument_options [ :kwrest ] = iseq . argument_size + 1
1324
+ iseq . argument_options [ :block_start ] = iseq . argument_size + 1
1348
1325
1349
- iseq . argument_size += 3
1326
+ iseq . argument_size += 2
1350
1327
else
1351
1328
iseq . local_table . plain ( :* )
1352
1329
iseq . local_table . plain ( :& )
0 commit comments