diff options
Diffstat (limited to 'ujit_codegen.c')
| -rw-r--r-- | ujit_codegen.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/ujit_codegen.c b/ujit_codegen.c index db8b48a2e8..41662a8b2d 100644 --- a/ujit_codegen.c +++ b/ujit_codegen.c @@ -576,13 +576,27 @@ gen_getinstancevariable(jitstate_t* jit, ctx_t* ctx) + /* + num_versions = count_block_versions(this_instruction); + if (num_versions > N) + return JIT_CANT_COMPILE; - /* + if (defer_compilation(this_instruction, ctx)) return JIT_END_BLOCK; + VALUE top_val = jit_peek_at_stack(); + + + + + class = get_ruby_class(top_val); + + + + guard_object_class(class, current_instr); */ @@ -593,6 +607,9 @@ gen_getinstancevariable(jitstate_t* jit, ctx_t* ctx) + + + // If the class uses the default allocator, instances should all be T_OBJECT // NOTE: This assumes nobody changes the allocator of the class after allocation. // Eventually, we can encode whether an object is T_OBJECT or not |
