aboutsummaryrefslogtreecommitdiffstats
path: root/yjit/src/invariants.rs
diff options
context:
space:
mode:
authorMaxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>2023-03-15 17:55:29 -0400
committerGitHub <noreply@github.com>2023-03-15 17:55:29 -0400
commit9a735c776b5413377a921949494f42d1e15851ba (patch)
tree83c0a8b422f5b14167003eebc5210077a8b15f56 /yjit/src/invariants.rs
parent4ae9c34a4e00d148f206affb3a65926bf3fe230f (diff)
downloadruby-9a735c776b5413377a921949494f42d1e15851ba.tar.gz
YJIT: use u16 for insn_idx instead of u32 (#7534)
Diffstat (limited to 'yjit/src/invariants.rs')
-rw-r--r--yjit/src/invariants.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/yjit/src/invariants.rs b/yjit/src/invariants.rs
index 0a654b7555..dbeafe1969 100644
--- a/yjit/src/invariants.rs
+++ b/yjit/src/invariants.rs
@@ -415,7 +415,7 @@ pub fn block_assumptions_free(blockref: &BlockRef) {
/// Invalidate the block for the matching opt_getinlinecache so it could regenerate code
/// using the new value in the constant cache.
#[no_mangle]
-pub extern "C" fn rb_yjit_constant_ic_update(iseq: *const rb_iseq_t, ic: IC, insn_idx: u32) {
+pub extern "C" fn rb_yjit_constant_ic_update(iseq: *const rb_iseq_t, ic: IC, insn_idx: u16) {
// If YJIT isn't enabled, do nothing
if !yjit_enabled_p() {
return;
@@ -433,7 +433,7 @@ pub extern "C" fn rb_yjit_constant_ic_update(iseq: *const rb_iseq_t, ic: IC, ins
// This should come from a running iseq, so direct threading translation
// should have been done
assert!(unsafe { FL_TEST(iseq.into(), VALUE(ISEQ_TRANSLATED)) } != VALUE(0));
- assert!(insn_idx < unsafe { get_iseq_encoded_size(iseq) });
+ assert!(u32::from(insn_idx) < unsafe { get_iseq_encoded_size(iseq) });
// Ensure that the instruction the insn_idx is pointing to is in
// fact a opt_getconstant_path instruction.