diff options
author | Takashi Kokubun <[email protected]> | 2024-01-18 11:40:11 -0800 |
---|---|---|
committer | GitHub <[email protected]> | 2024-01-18 11:40:11 -0800 |
commit | 33306a08d119fe6e178314a48b8b3f22ae1bb617 (patch) | |
tree | f136d1de5b67a67acd4a94b9381fd8e66be63578 /yjit/src/backend | |
parent | d8ac96efc57be460a0aad5d6ae033639439506fb (diff) |
YJIT: Stop incrementing chain_depth on defer_compilation (#9597)
Diffstat (limited to 'yjit/src/backend')
-rw-r--r-- | yjit/src/backend/ir.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/yjit/src/backend/ir.rs b/yjit/src/backend/ir.rs index 613e7048d4..303026d830 100644 --- a/yjit/src/backend/ir.rs +++ b/yjit/src/backend/ir.rs @@ -946,6 +946,7 @@ pub struct SideExitContext { pub sp_offset: i8, pub reg_temps: RegTemps, pub is_return_landing: bool, + pub is_deferred: bool, } impl SideExitContext { @@ -957,6 +958,7 @@ impl SideExitContext { sp_offset: ctx.get_sp_offset(), reg_temps: ctx.get_reg_temps(), is_return_landing: ctx.is_return_landing(), + is_deferred: ctx.is_deferred(), }; if cfg!(debug_assertions) { // Assert that we're not losing any mandatory metadata @@ -974,6 +976,9 @@ impl SideExitContext { if self.is_return_landing { ctx.set_as_return_landing(); } + if self.is_deferred { + ctx.mark_as_deferred(); + } ctx } } |