Mercurial > hg > Papers > 2019 > anatofuz-prosym
view Paper/src/dispatch.c @ 98:b360b0159390 default tip
update
author | Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 11 Jan 2019 14:08:33 +0900 |
parents | de0f0fa18b71 |
children |
line wrap: on
line source
DISPATCH(NEXT_OP) { OP(no_op): goto NEXT; OP(const_i8): OP(const_i16): OP(const_i32): MVM_exception_throw_adhoc(tc, "const_iX NYI"); OP(const_i64): GET_REG(cur_op, 0).i64 = MVM_BC_get_I64(cur_op, 2); cur_op += 10; goto NEXT; OP(pushcompsc): { MVMObject * const sc = GET_REG(cur_op, 0).o; if (REPR(sc)->ID != MVM_REPR_ID_SCRef) MVM_exception_throw_adhoc(tc, "Can only push an SCRef with pushcompsc"); if (MVM_is_null(tc, tc->compiling_scs)) { MVMROOT(tc, sc, { tc->compiling_scs = MVM_repr_alloc_init(tc, tc->instance->boot_types.BOOTArray); }); } MVM_repr_unshift_o(tc, tc->compiling_scs, sc); cur_op += 2; goto NEXT; } }