diff --git a/src/core/coerce.c b/src/core/coerce.c index 9498699f56..09d52d90e7 100644 --- a/src/core/coerce.c +++ b/src/core/coerce.c @@ -293,11 +293,11 @@ MVMint64 MVM_coerce_simple_intify(MVMThreadContext *tc, MVMObject *obj) { } } -MVMObject * MVM_radix(MVMThreadContext *tc, MVMint16 radix, MVMString *str, MVMint64 offset, MVMint16 flag) { +MVMObject * MVM_radix(MVMThreadContext *tc, MVMint64 radix, MVMString *str, MVMint64 offset, MVMint64 flag) { MVMObject *result; MVMnum64 zvalue = 0.0; MVMnum64 zbase = 1.0; - MVMint32 chars = NUM_GRAPHS(str); + MVMint64 chars = NUM_GRAPHS(str); MVMnum64 value = zvalue; MVMnum64 base = zbase; MVMint64 pos = -1; diff --git a/src/core/coerce.h b/src/core/coerce.h index a88a63ee31..0a40eedd65 100644 --- a/src/core/coerce.h +++ b/src/core/coerce.h @@ -13,4 +13,4 @@ MVMint64 MVM_coerce_s_i(MVMThreadContext *tc, struct _MVMString *s); MVMnum64 MVM_coerce_s_n(MVMThreadContext *tc, struct _MVMString *s); void MVM_coerce_smart_numify(MVMThreadContext *tc, MVMObject *obj, MVMRegister *res_reg); MVMint64 MVM_coerce_simple_intify(MVMThreadContext *tc, MVMObject *obj); -MVMObject* MVM_radix(MVMThreadContext *tc, MVMint16 radix, struct _MVMString *str, MVMint64 offset, MVMint16 flag); \ No newline at end of file +MVMObject* MVM_radix(MVMThreadContext *tc, MVMint64 radix, struct _MVMString *str, MVMint64 offset, MVMint64 flag); \ No newline at end of file diff --git a/src/core/interp.c b/src/core/interp.c index af9f4dbe8f..3c315f7930 100644 --- a/src/core/interp.c +++ b/src/core/interp.c @@ -1277,8 +1277,8 @@ void MVM_interp_run(MVMThreadContext *tc, void (*initial_invoke)(MVMThreadContex break; case MVM_OP_radix: GET_REG(cur_op, 0).o = MVM_radix(tc, - GET_REG(cur_op, 2).i16, GET_REG(cur_op, 4).s, - GET_REG(cur_op, 6).i64, GET_REG(cur_op, 8).i16); + GET_REG(cur_op, 2).i64, GET_REG(cur_op, 4).s, + GET_REG(cur_op, 6).i64, GET_REG(cur_op, 8).i64); cur_op += 10; break; default: { @@ -2382,7 +2382,7 @@ void MVM_interp_run(MVMThreadContext *tc, void (*initial_invoke)(MVMThreadContex break; case MVM_OP_attrinited: { MVMObject *obj = GET_REG(cur_op, 2).o; - GET_REG(cur_op, 0).i16 = REPR(obj)->attr_funcs->is_attribute_initialized(tc, + GET_REG(cur_op, 0).i64 = REPR(obj)->attr_funcs->is_attribute_initialized(tc, STABLE(obj), OBJECT_BODY(obj), GET_REG(cur_op, 4).o, GET_REG(cur_op, 6).s, MVM_NO_HINT); cur_op += 8; diff --git a/src/core/oplist b/src/core/oplist index 4030b3649b..b3c8c60ce1 100644 --- a/src/core/oplist +++ b/src/core/oplist @@ -227,9 +227,6 @@ BANK 2 string 0x30 lt_s w(int64) r(str) r(str) 0x31 le_s w(int64) r(str) r(str) 0x32 cmp_s w(int64) r(str) r(str) -# XXX: should be -# 0x33 radix w(obj) r(int16) r(str) r(int64) r(int16) -# after int16 is supported 0x33 radix w(obj) r(int64) r(str) r(int64) r(int64) BANK 3 math @@ -382,9 +379,6 @@ BANK 4 object 0x80 bootstrarray w(obj) 0x81 hlllist w(obj) 0x82 hllhash w(obj) -# XXX: should be -# 0x83 attrinited w(int16) r(obj) r(obj) r(str) -# after int16 is supported 0x83 attrinited w(int64) r(obj) r(obj) r(str) BANK 5 io