diff --git a/src/jit/core_templates.expr b/src/jit/core_templates.expr index 881c556ff2..08c00b7d1a 100644 --- a/src/jit/core_templates.expr +++ b/src/jit/core_templates.expr @@ -204,6 +204,22 @@ (carg $0 ptr) (carg (const ("E MVM_reg_int64) int_sz) int)))) +# REPR(obj)->ass_funcs.at_key(tc, STABLE(obj), obj, OBJECT_BODY(obj), +# (MVMObject *)GET_REG(cur_op, 4).s, &GET_REG(cur_op, 0), MVM_reg_obj); +(template: atkey_o! + (ifv (^is_type_obj $1) + (store $0 (^vmnull) ptr_sz) + (callv + (^getf (^repr $1) MVMREPROps ass_funcs.at_key) + (arglist + (carg (tc) ptr) + (carg (^stable $1) ptr) + (carg $1 ptr) + (carg (^body $1) ptr) + (carg $2 ptr) + (carg $0 ptr) + (carg (const ("E MVM_reg_obj) int_sz) int))))) + (template: gethow (let: (($how (^getf (^stable $1) MVMSTable HOW))) (if (nz $how)