@@ -910,9 +910,7 @@ fn gen_dupn(
910910 asm : & mut Assembler ,
911911 _ocb : & mut OutlinedCb ,
912912) -> CodegenStatus {
913-
914- let nval: VALUE = jit_get_arg ( jit, 0 ) ;
915- let VALUE ( n) = nval;
913+ let n = jit_get_arg ( jit, 0 ) . as_usize ( ) ;
916914
917915 // In practice, seems to be only used for n==2
918916 if n != 2 {
@@ -1035,9 +1033,9 @@ fn gen_putspecialobject(
10351033 asm : & mut Assembler ,
10361034 _ocb : & mut OutlinedCb ,
10371035) -> CodegenStatus {
1038- let object_type = jit_get_arg ( jit, 0 ) ;
1036+ let object_type = jit_get_arg ( jit, 0 ) . as_usize ( ) ;
10391037
1040- if object_type == VALUE ( VM_SPECIAL_OBJECT_VMCORE . as_usize ( ) ) {
1038+ if object_type == VM_SPECIAL_OBJECT_VMCORE . as_usize ( ) {
10411039 let stack_top = ctx. stack_push ( Type :: UnknownHeap ) ;
10421040 let frozen_core = unsafe { rb_mRubyVMFrozenCore } ;
10431041 asm. mov ( stack_top, frozen_core. into ( ) ) ;
@@ -1056,17 +1054,17 @@ fn gen_setn(
10561054 asm : & mut Assembler ,
10571055 _ocb : & mut OutlinedCb ,
10581056) -> CodegenStatus {
1059- let n: VALUE = jit_get_arg ( jit, 0 ) ;
1057+ let n = jit_get_arg ( jit, 0 ) . as_usize ( ) ;
10601058
10611059 let top_val = ctx. stack_pop ( 0 ) ;
1062- let dst_opnd = ctx. stack_opnd ( n. into ( ) ) ;
1060+ let dst_opnd = ctx. stack_opnd ( n. try_into ( ) . unwrap ( ) ) ;
10631061 asm. mov (
10641062 dst_opnd,
10651063 top_val
10661064 ) ;
10671065
10681066 let mapping = ctx. get_opnd_mapping ( StackOpnd ( 0 ) ) ;
1069- ctx. set_opnd_mapping ( StackOpnd ( n. into ( ) ) , mapping) ;
1067+ ctx. set_opnd_mapping ( StackOpnd ( n. try_into ( ) . unwrap ( ) ) , mapping) ;
10701068
10711069 KeepCompiling
10721070}
@@ -1078,10 +1076,10 @@ fn gen_topn(
10781076 asm : & mut Assembler ,
10791077 _ocb : & mut OutlinedCb ,
10801078) -> CodegenStatus {
1081- let nval = jit_get_arg ( jit, 0 ) ;
1079+ let n = jit_get_arg ( jit, 0 ) . as_usize ( ) ;
10821080
1083- let top_n_val = ctx. stack_opnd ( nval . into ( ) ) ;
1084- let mapping = ctx. get_opnd_mapping ( StackOpnd ( nval . into ( ) ) ) ;
1081+ let top_n_val = ctx. stack_opnd ( n . try_into ( ) . unwrap ( ) ) ;
1082+ let mapping = ctx. get_opnd_mapping ( StackOpnd ( n . try_into ( ) . unwrap ( ) ) ) ;
10851083 let loc0 = ctx. stack_push_mapping ( mapping) ;
10861084 asm. mov ( loc0, top_n_val) ;
10871085
@@ -1095,8 +1093,7 @@ fn gen_adjuststack(
10951093 _cb : & mut Assembler ,
10961094 _ocb : & mut OutlinedCb ,
10971095) -> CodegenStatus {
1098- let nval: VALUE = jit_get_arg ( jit, 0 ) ;
1099- let VALUE ( n) = nval;
1096+ let n = jit_get_arg ( jit, 0 ) . as_usize ( ) ;
11001097 ctx. stack_pop ( n) ;
11011098 KeepCompiling
11021099}
@@ -1237,7 +1234,7 @@ fn gen_splatarray(
12371234 asm : & mut Assembler ,
12381235 _ocb : & mut OutlinedCb ,
12391236) -> CodegenStatus {
1240- let flag = jit_get_arg ( jit, 0 ) ;
1237+ let flag = jit_get_arg ( jit, 0 ) . as_usize ( ) ;
12411238
12421239 // Save the PC and SP because the callee may allocate
12431240 // Note that this modifies REG_SP, which is why we do it first
@@ -1286,7 +1283,7 @@ fn gen_newrange(
12861283 asm : & mut Assembler ,
12871284 _ocb : & mut OutlinedCb ,
12881285) -> CodegenStatus {
1289- let flag = jit_get_arg ( jit, 0 ) ;
1286+ let flag = jit_get_arg ( jit, 0 ) . as_usize ( ) ;
12901287
12911288 // rb_range_new() allocates and can raise
12921289 jit_prepare_routine_call ( jit, ctx, asm) ;
@@ -2149,7 +2146,7 @@ fn gen_setinstancevariable(
21492146 asm : & mut Assembler ,
21502147 _ocb : & mut OutlinedCb ,
21512148) -> CodegenStatus {
2152- let id = jit_get_arg ( jit, 0 ) ;
2149+ let id = jit_get_arg ( jit, 0 ) . as_usize ( ) ;
21532150 let ic = jit_get_arg ( jit, 1 ) . as_u64 ( ) ; // type IVC
21542151
21552152 // Save the PC and SP because the callee may allocate
@@ -2165,7 +2162,7 @@ fn gen_setinstancevariable(
21652162 vec ! [
21662163 Opnd :: const_ptr( jit. iseq as * const u8 ) ,
21672164 Opnd :: mem( 64 , CFP , RUBY_OFFSET_CFP_SELF ) ,
2168- Opnd :: UImm ( id. into( ) ) ,
2165+ id. into( ) ,
21692166 val_opnd,
21702167 Opnd :: const_ptr( ic as * const u8 ) ,
21712168 ]
@@ -2273,20 +2270,20 @@ fn gen_concatstrings(
22732270 asm : & mut Assembler ,
22742271 _ocb : & mut OutlinedCb ,
22752272) -> CodegenStatus {
2276- let n = jit_get_arg ( jit, 0 ) ;
2273+ let n = jit_get_arg ( jit, 0 ) . as_usize ( ) ;
22772274
22782275 // Save the PC and SP because we are allocating
22792276 jit_prepare_routine_call ( jit, ctx, asm) ;
22802277
2281- let values_ptr = asm. lea ( ctx. sp_opnd ( -( ( SIZEOF_VALUE as isize ) * n. as_isize ( ) ) ) ) ;
2278+ let values_ptr = asm. lea ( ctx. sp_opnd ( -( ( SIZEOF_VALUE as isize ) * n as isize ) ) ) ;
22822279
2283- // call rb_str_concat_literals(long n, const VALUE *strings);
2280+ // call rb_str_concat_literals(size_t n, const VALUE *strings);
22842281 let return_value = asm. ccall (
22852282 rb_str_concat_literals as * const u8 ,
2286- vec ! [ Opnd :: UImm ( n. into( ) ) , values_ptr]
2283+ vec ! [ n. into( ) , values_ptr]
22872284 ) ;
22882285
2289- ctx. stack_pop ( n. as_usize ( ) ) ;
2286+ ctx. stack_pop ( n) ;
22902287 let stack_ret = ctx. stack_push ( Type :: CString ) ;
22912288 asm. mov ( stack_ret, return_value) ;
22922289
@@ -5736,7 +5733,7 @@ fn gen_getglobal(
57365733 asm : & mut Assembler ,
57375734 _ocb : & mut OutlinedCb ,
57385735) -> CodegenStatus {
5739- let gid = jit_get_arg ( jit, 0 ) ;
5736+ let gid = jit_get_arg ( jit, 0 ) . as_usize ( ) ;
57405737
57415738 // Save the PC and SP because we might make a Ruby call for warning
57425739 jit_prepare_routine_call ( jit, ctx, asm) ;
@@ -5758,7 +5755,7 @@ fn gen_setglobal(
57585755 asm : & mut Assembler ,
57595756 _ocb : & mut OutlinedCb ,
57605757) -> CodegenStatus {
5761- let gid = jit_get_arg ( jit, 0 ) ;
5758+ let gid = jit_get_arg ( jit, 0 ) . as_usize ( ) ;
57625759
57635760 // Save the PC and SP because we might make a Ruby call for
57645761 // Kernel#set_trace_var
@@ -5872,7 +5869,7 @@ fn gen_toregexp(
58725869 rb_ary_tmp_new_from_values as * const u8 ,
58735870 vec ! [
58745871 Opnd :: Imm ( 0 ) ,
5875- Opnd :: UImm ( jit_get_arg ( jit , 1 ) . as_u64 ( ) ) ,
5872+ cnt . into ( ) ,
58765873 values_ptr,
58775874 ]
58785875 ) ;
0 commit comments