summaryrefslogtreecommitdiff
path: root/yjit/src/backend
diff options
context:
space:
mode:
authorTakashi Kokubun <[email protected]>2024-01-18 11:40:11 -0800
committerGitHub <[email protected]>2024-01-18 11:40:11 -0800
commit33306a08d119fe6e178314a48b8b3f22ae1bb617 (patch)
treef136d1de5b67a67acd4a94b9381fd8e66be63578 /yjit/src/backend
parentd8ac96efc57be460a0aad5d6ae033639439506fb (diff)
YJIT: Stop incrementing chain_depth on defer_compilation (#9597)
Diffstat (limited to 'yjit/src/backend')
-rw-r--r--yjit/src/backend/ir.rs5
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
}
}