@@ -301,6 +301,7 @@ jit_jump_to_next_insn(jitstate_t *jit, const ctx_t *current_context)
301
301
302
302
// Generate the jump instruction
303
303
gen_direct_jump (
304
+ jit -> block ,
304
305
& reset_depth ,
305
306
jump_block
306
307
);
@@ -722,6 +723,7 @@ jit_chain_guard(enum jcc_kinds jcc, jitstate_t *jit, const ctx_t *ctx, uint8_t d
722
723
deeper .chain_depth ++ ;
723
724
724
725
gen_branch (
726
+ jit -> block ,
725
727
ctx ,
726
728
(blockid_t ) { jit -> iseq , jit -> insn_idx },
727
729
& deeper ,
@@ -1334,6 +1336,7 @@ gen_branchif(jitstate_t* jit, ctx_t* ctx)
1334
1336
1335
1337
// Generate the branch instructions
1336
1338
gen_branch (
1339
+ jit -> block ,
1337
1340
ctx ,
1338
1341
jump_block ,
1339
1342
ctx ,
@@ -1387,6 +1390,7 @@ gen_branchunless(jitstate_t* jit, ctx_t* ctx)
1387
1390
1388
1391
// Generate the branch instructions
1389
1392
gen_branch (
1393
+ jit -> block ,
1390
1394
ctx ,
1391
1395
jump_block ,
1392
1396
ctx ,
@@ -1412,6 +1416,7 @@ gen_jump(jitstate_t* jit, ctx_t* ctx)
1412
1416
1413
1417
// Generate the jump instruction
1414
1418
gen_direct_jump (
1419
+ jit -> block ,
1415
1420
ctx ,
1416
1421
jump_block
1417
1422
);
@@ -1726,6 +1731,7 @@ gen_oswb_iseq(jitstate_t *jit, ctx_t *ctx, const struct rb_callinfo *ci, const r
1726
1731
1727
1732
// Stack overflow check
1728
1733
// #define CHECK_VM_STACK_OVERFLOW0(cfp, sp, margin)
1734
+ ADD_COMMENT (cb , "stack overflow check" );
1729
1735
lea (cb , REG0 , ctx_sp_opnd (ctx , sizeof (VALUE ) * (num_locals + iseq -> body -> stack_max ) + sizeof (rb_control_frame_t )));
1730
1736
cmp (cb , REG_CFP , REG0 );
1731
1737
jle_ptr (cb , COUNTED_EXIT (side_exit , oswb_se_cf_overflow ));
@@ -1802,6 +1808,7 @@ gen_oswb_iseq(jitstate_t *jit, ctx_t *ctx, const struct rb_callinfo *ci, const r
1802
1808
1803
1809
// Write the JIT return address on the callee frame
1804
1810
gen_branch (
1811
+ jit -> block ,
1805
1812
ctx ,
1806
1813
return_block ,
1807
1814
& return_ctx ,
@@ -1818,6 +1825,7 @@ gen_oswb_iseq(jitstate_t *jit, ctx_t *ctx, const struct rb_callinfo *ci, const r
1818
1825
1819
1826
// Directly jump to the entry point of the callee
1820
1827
gen_direct_jump (
1828
+ jit -> block ,
1821
1829
& callee_ctx ,
1822
1830
(blockid_t ){ iseq , 0 }
1823
1831
);
@@ -2049,6 +2057,7 @@ gen_opt_getinlinecache(jitstate_t *jit, ctx_t *ctx)
2049
2057
// Jump over the code for filling the cache
2050
2058
uint32_t jump_idx = jit_next_insn_idx (jit ) + (int32_t )jump_offset ;
2051
2059
gen_direct_jump (
2060
+ jit -> block ,
2052
2061
ctx ,
2053
2062
(blockid_t ){ .iseq = jit -> iseq , .idx = jump_idx }
2054
2063
);
0 commit comments