summaryrefslogtreecommitdiff
path: root/yjit/src/codegen.rs
diff options
context:
space:
mode:
Diffstat (limited to 'yjit/src/codegen.rs')
-rw-r--r--yjit/src/codegen.rs12
1 files changed, 6 insertions, 6 deletions
diff --git a/yjit/src/codegen.rs b/yjit/src/codegen.rs
index 87639b9d88..b15d87cac6 100644
--- a/yjit/src/codegen.rs
+++ b/yjit/src/codegen.rs
@@ -1038,7 +1038,7 @@ fn gen_putspecialobject(
) -> CodegenStatus {
let object_type = jit_get_arg(jit, 0);
- if object_type == VALUE(VM_SPECIAL_OBJECT_VMCORE) {
+ if object_type == VALUE(VM_SPECIAL_OBJECT_VMCORE.as_usize()) {
let stack_top: X86Opnd = ctx.stack_push(Type::UnknownHeap);
jit_mov_gc_ptr(jit, cb, REG0, unsafe { rb_mRubyVMFrozenCore });
mov(cb, stack_top, REG0);
@@ -1956,8 +1956,8 @@ fn gen_get_ivar(
}
// Compile time self is embedded and the ivar index lands within the object
- let test_result = unsafe { FL_TEST_RAW(comptime_receiver, VALUE(ROBJECT_EMBED)) != VALUE(0) };
- if test_result && ivar_index < ROBJECT_EMBED_LEN_MAX {
+ let test_result = unsafe { FL_TEST_RAW(comptime_receiver, VALUE(ROBJECT_EMBED.as_usize())) != VALUE(0) };
+ if test_result && ivar_index < (ROBJECT_EMBED_LEN_MAX.as_usize()) {
// See ROBJECT_IVPTR() from include/ruby/internal/core/robject.h
// Guard that self is embedded
@@ -2009,7 +2009,7 @@ fn gen_get_ivar(
);
// Check that the extended table is big enough
- if ivar_index > ROBJECT_EMBED_LEN_MAX {
+ if ivar_index > (ROBJECT_EMBED_LEN_MAX.as_usize()) {
// Check that the slot is inside the extended table (num_slots > index)
let num_slots = mem_opnd(32, REG0, RUBY_OFFSET_ROBJECT_AS_HEAP_NUMIV);
@@ -3422,7 +3422,7 @@ fn jit_guard_known_klass(
ctx.upgrade_opnd_type(insn_opnd, Type::Flonum);
}
} else if unsafe {
- FL_TEST(known_klass, VALUE(RUBY_FL_SINGLETON)) != VALUE(0)
+ FL_TEST(known_klass, VALUE(RUBY_FL_SINGLETON as usize)) != VALUE(0)
&& sample_instance == rb_attr_get(known_klass, id__attached__ as ID)
} {
// Singleton classes are attached to one specific object, so we can
@@ -5012,7 +5012,7 @@ fn gen_invokesuper(
// vm_search_normal_superclass
let rbasic_ptr: *const RBasic = current_defined_class.as_ptr();
if current_defined_class.builtin_type() == RUBY_T_ICLASS
- && unsafe { RB_TYPE_P((*rbasic_ptr).klass, RUBY_T_MODULE) && FL_TEST_RAW((*rbasic_ptr).klass, VALUE(RMODULE_IS_REFINEMENT)) != VALUE(0) }
+ && unsafe { RB_TYPE_P((*rbasic_ptr).klass, RUBY_T_MODULE) && FL_TEST_RAW((*rbasic_ptr).klass, VALUE(RMODULE_IS_REFINEMENT.as_usize())) != VALUE(0) }
{
return CantCompile;
}