@@ -1792,7 +1792,7 @@ gen_opt_aset(jitstate_t *jit, ctx_t *ctx)
1792
1792
x86opnd_t arg1 = ctx_stack_pop (ctx , 1 );
1793
1793
x86opnd_t arg0 = ctx_stack_pop (ctx , 1 );
1794
1794
1795
- // Call rb_vm_opt_mod (VALUE recv, VALUE obj)
1795
+ // Call rb_vm_opt_aset (VALUE recv, VALUE obj)
1796
1796
yjit_save_regs (cb );
1797
1797
mov (cb , C_ARG_REGS [0 ], arg0 );
1798
1798
mov (cb , C_ARG_REGS [1 ], arg1 );
@@ -1931,6 +1931,20 @@ gen_opt_plus(jitstate_t* jit, ctx_t* ctx)
1931
1931
return YJIT_KEEP_COMPILING ;
1932
1932
}
1933
1933
1934
+ static codegen_status_t
1935
+ gen_opt_mult (jitstate_t * jit , ctx_t * ctx )
1936
+ {
1937
+ // Delegate to send, call the method on the recv
1938
+ return gen_opt_send_without_block (jit , ctx );
1939
+ }
1940
+
1941
+ static codegen_status_t
1942
+ gen_opt_div (jitstate_t * jit , ctx_t * ctx )
1943
+ {
1944
+ // Delegate to send, call the method on the recv
1945
+ return gen_opt_send_without_block (jit , ctx );
1946
+ }
1947
+
1934
1948
VALUE rb_vm_opt_mod (VALUE recv , VALUE obj );
1935
1949
1936
1950
static codegen_status_t
@@ -3460,6 +3474,8 @@ yjit_init_codegen(void)
3460
3474
yjit_reg_op (BIN (opt_or ), gen_opt_or );
3461
3475
yjit_reg_op (BIN (opt_minus ), gen_opt_minus );
3462
3476
yjit_reg_op (BIN (opt_plus ), gen_opt_plus );
3477
+ yjit_reg_op (BIN (opt_mult ), gen_opt_mult );
3478
+ yjit_reg_op (BIN (opt_div ), gen_opt_div );
3463
3479
yjit_reg_op (BIN (opt_mod ), gen_opt_mod );
3464
3480
yjit_reg_op (BIN (opt_ltlt ), gen_opt_ltlt );
3465
3481
yjit_reg_op (BIN (opt_nil_p ), gen_opt_nil_p );
0 commit comments