summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Hawthorn <[email protected]>2021-06-18 16:56:39 -0700
committerAlan Wu <[email protected]>2021-10-20 18:19:36 -0400
commit71560f8804d30509b5d0be6547469b089c63ab9a (patch)
treede2673e01b553ff188012dca085a375466a2ec52
parente4bf905a2863a8ff1e3455e462dff0c8657aaa8e (diff)
Add opt_size and opt_length
-rw-r--r--yjit_codegen.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/yjit_codegen.c b/yjit_codegen.c
index c4dae13ff9..68fadfc820 100644
--- a/yjit_codegen.c
+++ b/yjit_codegen.c
@@ -1973,6 +1973,18 @@ gen_opt_not(jitstate_t *jit, ctx_t *ctx)
return gen_opt_send_without_block(jit, ctx);
}
+static codegen_status_t
+gen_opt_size(jitstate_t *jit, ctx_t *ctx)
+{
+ return gen_opt_send_without_block(jit, ctx);
+}
+
+static codegen_status_t
+gen_opt_length(jitstate_t *jit, ctx_t *ctx)
+{
+ return gen_opt_send_without_block(jit, ctx);
+}
+
void
gen_branchif_branch(codeblock_t* cb, uint8_t* target0, uint8_t* target1, uint8_t shape)
{
@@ -3372,6 +3384,8 @@ yjit_init_codegen(void)
yjit_reg_op(BIN(opt_str_freeze), gen_opt_str_freeze);
yjit_reg_op(BIN(opt_str_uminus), gen_opt_str_uminus);
yjit_reg_op(BIN(opt_not), gen_opt_not);
+ yjit_reg_op(BIN(opt_size), gen_opt_size);
+ yjit_reg_op(BIN(opt_length), gen_opt_length);
yjit_reg_op(BIN(opt_getinlinecache), gen_opt_getinlinecache);
yjit_reg_op(BIN(opt_invokebuiltin_delegate), gen_opt_invokebuiltin_delegate);
yjit_reg_op(BIN(opt_invokebuiltin_delegate_leave), gen_opt_invokebuiltin_delegate);