summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--yjit_codegen.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/yjit_codegen.c b/yjit_codegen.c
index 1808522f57..9fd8476e3d 100644
--- a/yjit_codegen.c
+++ b/yjit_codegen.c
@@ -1125,6 +1125,8 @@ gen_opt_gt(jitstate_t* jit, ctx_t* ctx)
return gen_fixnum_cmp(jit, ctx, cmovg);
}
+static codegen_status_t gen_opt_send_without_block(jitstate_t *jit, ctx_t *ctx);
+
static codegen_status_t
gen_opt_aref(jitstate_t *jit, ctx_t *ctx)
{
@@ -1266,8 +1268,10 @@ gen_opt_aref(jitstate_t *jit, ctx_t *ctx)
jit_jump_to_next_insn(jit, ctx);
return YJIT_END_BLOCK;
}
-
- return YJIT_CANT_COMPILE;
+ else {
+ // General case. Call the [] method.
+ return gen_opt_send_without_block(jit, ctx);
+ }
}
static codegen_status_t