From cbf15e5cbe30cbca45810ef65224ad1bc19c67b4 Mon Sep 17 00:00:00 2001 From: Alan Wu Date: Tue, 1 Nov 2022 11:44:55 -0400 Subject: YJIT: Add an assert to help with Context changes While experimenting I found that it's easy to change Context and forget to also change the copying operation in limit_block_versions(). Add an assert to make sure we substitute a compatible generic context when limiting the number of versions. --- yjit/src/core.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/yjit/src/core.rs b/yjit/src/core.rs index 70a6540b5b..dd28c2361e 100644 --- a/yjit/src/core.rs +++ b/yjit/src/core.rs @@ -846,7 +846,12 @@ pub fn limit_block_versions(blockid: BlockId, ctx: &Context) -> Context { generic_ctx.stack_size = ctx.stack_size; generic_ctx.sp_offset = ctx.sp_offset; - // Mutate the incoming context + debug_assert_ne!( + usize::MAX, + ctx.diff(&generic_ctx), + "should substitute a compatible context", + ); + return generic_ctx; } -- cgit v1.2.3