Permalink
Browse files

Fix ops...and we have a working/test-passing NQP build again.

  • Loading branch information...
1 parent 30a1684 commit 70edd1ce9f08277b2f2306e10d7f1a5a50f8fa23 @jnthn jnthn committed Dec 1, 2011
Showing with 42 additions and 42 deletions.
  1. +25 −25 src/ops/nqp.ops
  2. +5 −5 src/ops/nqp_bigint.ops
  3. +12 −12 src/ops/nqp_dyncall.ops
View
50 src/ops/nqp.ops
@@ -269,7 +269,7 @@ inline op repr_get_attr_obj(out PMC, in PMC, in PMC, in STR) :base_core {
PMC *ch = decontainerize(interp, $3);
if ($2->vtable->base_type == smo_id) {
if (IS_CONCRETE($2))
- $1 = REPR($2)->get_attribute_boxed(interp, STABLE($2), OBJECT_BODY($2), ch, $4, NO_HINT);
+ $1 = REPR($2)->attr_funcs->get_attribute_boxed(interp, STABLE($2), OBJECT_BODY($2), ch, $4, NO_HINT);
else
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
"Cannot look up attributes in a type object");
@@ -294,7 +294,7 @@ inline op repr_get_attr_int(out INT, in PMC, in PMC, in STR) :base_core {
PMC *ch = decontainerize(interp, $3);
if ($2->vtable->base_type == smo_id) {
if (IS_CONCRETE($2))
- $1 = *((INTVAL *)REPR($2)->get_attribute_ref(interp, STABLE($2), OBJECT_BODY($2), ch, $4, NO_HINT));
+ $1 = *((INTVAL *)REPR($2)->attr_funcs->get_attribute_ref(interp, STABLE($2), OBJECT_BODY($2), ch, $4, NO_HINT));
else
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
"Cannot look up attributes in a type object");
@@ -318,7 +318,7 @@ inline op repr_get_attr_num(out NUM, in PMC, in PMC, in STR) :base_core {
PMC *ch = decontainerize(interp, $3);
if ($2->vtable->base_type == smo_id) {
if (IS_CONCRETE($2))
- $1 = *((FLOATVAL *)REPR($2)->get_attribute_ref(interp, STABLE($2), OBJECT_BODY($2), ch, $4, NO_HINT));
+ $1 = *((FLOATVAL *)REPR($2)->attr_funcs->get_attribute_ref(interp, STABLE($2), OBJECT_BODY($2), ch, $4, NO_HINT));
else
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
"Cannot look up attributes in a type object");
@@ -343,7 +343,7 @@ inline op repr_get_attr_str(out STR, in PMC, in PMC, in STR) :base_core {
PMC *ch = decontainerize(interp, $3);
if ($2->vtable->base_type == smo_id) {
if (IS_CONCRETE($2))
- $1 = *((STRING **)REPR($2)->get_attribute_ref(interp, STABLE($2), OBJECT_BODY($2), ch, $4, NO_HINT));
+ $1 = *((STRING **)REPR($2)->attr_funcs->get_attribute_ref(interp, STABLE($2), OBJECT_BODY($2), ch, $4, NO_HINT));
else
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
"Cannot look up attributes in a type object");
@@ -368,7 +368,7 @@ inline op repr_bind_attr_obj(in PMC, in PMC, in STR, in PMC) :base_core {
PMC *ch = decontainerize(interp, $2);
if ($1->vtable->base_type == smo_id) {
if (IS_CONCRETE($1))
- REPR($1)->bind_attribute_boxed(interp, STABLE($1), OBJECT_BODY($1), ch, $3, NO_HINT, $4);
+ REPR($1)->attr_funcs->bind_attribute_boxed(interp, STABLE($1), OBJECT_BODY($1), ch, $3, NO_HINT, $4);
else
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
"Cannot bind to attributes in a type object");
@@ -394,7 +394,7 @@ inline op repr_bind_attr_int(in PMC, in PMC, in STR, in INT) :base_core {
PMC *ch = decontainerize(interp, $2);
if ($1->vtable->base_type == smo_id) {
if (IS_CONCRETE($1))
- REPR($1)->bind_attribute_ref(interp, STABLE($1), OBJECT_BODY($1), ch, $3, NO_HINT, &$4);
+ REPR($1)->attr_funcs->bind_attribute_ref(interp, STABLE($1), OBJECT_BODY($1), ch, $3, NO_HINT, &$4);
else
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
"Cannot bind to attributes in a type object");
@@ -419,7 +419,7 @@ inline op repr_bind_attr_num(in PMC, in PMC, in STR, in NUM) :base_core {
PMC *ch = decontainerize(interp, $2);
if ($1->vtable->base_type == smo_id) {
if (IS_CONCRETE($1))
- REPR($1)->bind_attribute_ref(interp, STABLE($1), OBJECT_BODY($1), ch, $3, NO_HINT, &$4);
+ REPR($1)->attr_funcs->bind_attribute_ref(interp, STABLE($1), OBJECT_BODY($1), ch, $3, NO_HINT, &$4);
else
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
"Cannot bind to attributes in a type object");
@@ -444,7 +444,7 @@ inline op repr_bind_attr_str(in PMC, in PMC, in STR, in STR) :base_core {
PMC *ch = decontainerize(interp, $2);
if ($1->vtable->base_type == smo_id) {
if (IS_CONCRETE($1))
- REPR($1)->bind_attribute_ref(interp, STABLE($1), OBJECT_BODY($1), ch, $3, NO_HINT, &$4);
+ REPR($1)->attr_funcs->bind_attribute_ref(interp, STABLE($1), OBJECT_BODY($1), ch, $3, NO_HINT, &$4);
else
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
"Cannot bind to attributes in a type object");
@@ -469,7 +469,7 @@ inline op repr_get_attr_obj(out PMC, in PMC, in PMC, in STR, in INT) :base_core
PMC *ch = decontainerize(interp, $3);
if ($2->vtable->base_type == smo_id) {
if (IS_CONCRETE($2))
- $1 = REPR($2)->get_attribute_boxed(interp, STABLE($2), OBJECT_BODY($2), ch, $4, $5);
+ $1 = REPR($2)->attr_funcs->get_attribute_boxed(interp, STABLE($2), OBJECT_BODY($2), ch, $4, $5);
else
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
"Cannot look up attributes in a type object");
@@ -494,7 +494,7 @@ inline op repr_get_attr_int(out INT, in PMC, in PMC, in STR, in INT) :base_core
PMC *ch = decontainerize(interp, $3);
if ($2->vtable->base_type == smo_id) {
if (IS_CONCRETE($2))
- $1 = *((INTVAL *)REPR($2)->get_attribute_ref(interp, STABLE($2), OBJECT_BODY($2), ch, $4, $5));
+ $1 = *((INTVAL *)REPR($2)->attr_funcs->get_attribute_ref(interp, STABLE($2), OBJECT_BODY($2), ch, $4, $5));
else
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
"Cannot look up attributes in a type object");
@@ -519,7 +519,7 @@ inline op repr_get_attr_num(out NUM, in PMC, in PMC, in STR, in INT) :base_core
PMC *ch = decontainerize(interp, $3);
if ($2->vtable->base_type == smo_id) {
if (IS_CONCRETE($2))
- $1 = *((FLOATVAL *)REPR($2)->get_attribute_ref(interp, STABLE($2), OBJECT_BODY($2), ch, $4, $5));
+ $1 = *((FLOATVAL *)REPR($2)->attr_funcs->get_attribute_ref(interp, STABLE($2), OBJECT_BODY($2), ch, $4, $5));
else
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
"Cannot look up attributes in a type object");
@@ -544,7 +544,7 @@ inline op repr_get_attr_str(out STR, in PMC, in PMC, in STR, in INT) :base_core
PMC *ch = decontainerize(interp, $3);
if ($2->vtable->base_type == smo_id) {
if (IS_CONCRETE($2))
- $1 = *((STRING **)REPR($2)->get_attribute_ref(interp, STABLE($2), OBJECT_BODY($2), ch, $4, $5));
+ $1 = *((STRING **)REPR($2)->attr_funcs->get_attribute_ref(interp, STABLE($2), OBJECT_BODY($2), ch, $4, $5));
else
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
"Cannot look up attributes in a type object");
@@ -569,7 +569,7 @@ inline op repr_bind_attr_obj(in PMC, in PMC, in STR, in INT, in PMC) :base_core
PMC *ch = decontainerize(interp, $2);
if ($1->vtable->base_type == smo_id) {
if (IS_CONCRETE($1))
- REPR($1)->bind_attribute_boxed(interp, STABLE($1), OBJECT_BODY($1), ch, $3, $4, $5);
+ REPR($1)->attr_funcs->bind_attribute_boxed(interp, STABLE($1), OBJECT_BODY($1), ch, $3, $4, $5);
else
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
"Cannot bind to attributes in a type object");
@@ -595,7 +595,7 @@ inline op repr_bind_attr_int(in PMC, in PMC, in STR, in INT, in INT) :base_core
PMC *ch = decontainerize(interp, $2);
if ($1->vtable->base_type == smo_id) {
if (IS_CONCRETE($1))
- REPR($1)->bind_attribute_ref(interp, STABLE($1), OBJECT_BODY($1), ch, $3, $4, &$5);
+ REPR($1)->attr_funcs->bind_attribute_ref(interp, STABLE($1), OBJECT_BODY($1), ch, $3, $4, &$5);
else
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
"Cannot bind to attributes in a type object");
@@ -620,7 +620,7 @@ inline op repr_bind_attr_num(in PMC, in PMC, in STR, in INT, in NUM) :base_core
PMC *ch = decontainerize(interp, $2);
if ($1->vtable->base_type == smo_id) {
if (IS_CONCRETE($1))
- REPR($1)->bind_attribute_ref(interp, STABLE($1), OBJECT_BODY($1), ch, $3, $4, &$5);
+ REPR($1)->attr_funcs->bind_attribute_ref(interp, STABLE($1), OBJECT_BODY($1), ch, $3, $4, &$5);
else
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
"Cannot bind to attributes in a type object");
@@ -645,7 +645,7 @@ inline op repr_bind_attr_str(in PMC, in PMC, in STR, in INT, in STR) :base_core
PMC *ch = decontainerize(interp, $2);
if ($1->vtable->base_type == smo_id) {
if (IS_CONCRETE($1))
- REPR($1)->bind_attribute_ref(interp, STABLE($1), OBJECT_BODY($1), ch, $3, $4, &$5);
+ REPR($1)->attr_funcs->bind_attribute_ref(interp, STABLE($1), OBJECT_BODY($1), ch, $3, $4, &$5);
else
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
"Cannot bind to attributes in a type object");
@@ -671,7 +671,7 @@ inline op repr_is_attr_initialized(out INT, in PMC, in PMC, in STR) :base_core {
PMC *ch = decontainerize(interp, $3);
if ($2->vtable->base_type == smo_id) {
if (IS_CONCRETE($2))
- $1 = REPR($2)->is_attribute_initialized(interp, STABLE($2), OBJECT_BODY($2), ch, $4, NO_HINT);
+ $1 = REPR($2)->attr_funcs->is_attribute_initialized(interp, STABLE($2), OBJECT_BODY($2), ch, $4, NO_HINT);
else
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
"Cannot check initializedness of attributes in a type object");
@@ -866,7 +866,7 @@ inline op repr_unbox_str(out STR, in PMC) :base_core {
PMC *var = decontainerize(interp, $2);
if (var->vtable->base_type == smo_id) {
if (IS_CONCRETE(var))
- $1 = REPR(var)->get_str(interp, STABLE(var), OBJECT_BODY(var));
+ $1 = REPR(var)->box_funcs->get_str(interp, STABLE(var), OBJECT_BODY(var));
else
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
"Cannot unbox a type object as a native str");
@@ -890,7 +890,7 @@ inline op repr_unbox_int(out INT, in PMC) :base_core {
PMC *var = decontainerize(interp, $2);
if (var->vtable->base_type == smo_id) {
if (IS_CONCRETE(var))
- $1 = REPR(var)->get_int(interp, STABLE(var), OBJECT_BODY(var));
+ $1 = REPR(var)->box_funcs->get_int(interp, STABLE(var), OBJECT_BODY(var));
else
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
"Cannot unbox a type object as a native int");
@@ -914,7 +914,7 @@ inline op repr_unbox_num(out NUM, in PMC) :base_core {
PMC *var = decontainerize(interp, $2);
if (var->vtable->base_type == smo_id) {
if (IS_CONCRETE(var))
- $1 = REPR(var)->get_num(interp, STABLE(var), OBJECT_BODY(var));
+ $1 = REPR(var)->box_funcs->get_num(interp, STABLE(var), OBJECT_BODY(var));
else
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
"Cannot unbox a type object as a native num");
@@ -939,7 +939,7 @@ inline op repr_box_str(out PMC, in STR, in PMC) :base_core {
if (type->vtable->base_type == smo_id) {
$1 = REPR(type)->allocate(interp, STABLE(type));
REPR($1)->initialize(interp, STABLE(type), OBJECT_BODY($1));
- REPR($1)->set_str(interp, STABLE($1), OBJECT_BODY($1), $2);
+ REPR($1)->box_funcs->set_str(interp, STABLE($1), OBJECT_BODY($1), $2);
PARROT_GC_WRITE_BARRIER(interp, $1);
}
else
@@ -961,7 +961,7 @@ inline op repr_box_int(out PMC, in INT, in PMC) :base_core {
if (type->vtable->base_type == smo_id) {
$1 = REPR(type)->allocate(interp, STABLE(type));
REPR($1)->initialize(interp, STABLE(type), OBJECT_BODY($1));
- REPR($1)->set_int(interp, STABLE($1), OBJECT_BODY($1), $2);
+ REPR($1)->box_funcs->set_int(interp, STABLE($1), OBJECT_BODY($1), $2);
}
else
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
@@ -982,7 +982,7 @@ inline op repr_box_num(out PMC, in NUM, in PMC) :base_core {
if (type->vtable->base_type == smo_id) {
$1 = REPR(type)->allocate(interp, STABLE(type));
REPR($1)->initialize(interp, STABLE(type), OBJECT_BODY($1));
- REPR($1)->set_num(interp, STABLE($1), OBJECT_BODY($1), $2);
+ REPR($1)->box_funcs->set_num(interp, STABLE($1), OBJECT_BODY($1), $2);
}
else
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
@@ -1260,7 +1260,7 @@ inline op stable_publish_vtable_handler_mapping(in PMC, in PMC) :base_core {
st->parrot_vtable_handler_mapping[idx].class_handle = class_handle;
st->parrot_vtable_handler_mapping[idx].attr_name = attr_name;
st->parrot_vtable_handler_mapping[idx].hint =
- REPR(class_handle)->hint_for(interp, st, class_handle, attr_name);
+ REPR(class_handle)->attr_funcs->hint_for(interp, st, class_handle, attr_name);
}
else
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
@@ -1501,7 +1501,7 @@ Gets lookup hint for an attribute.
inline op repr_hint_for(out INT, in PMC, in PMC, in STR) :base_core {
PMC *ch = decontainerize(interp, $3);
if ($2->vtable->base_type == smo_id)
- $1 = REPR($2)->hint_for(interp, STABLE($2), $3, $4);
+ $1 = REPR($2)->attr_funcs->hint_for(interp, STABLE($2), $3, $4);
else
$1 = NO_HINT;
}
View
10 src/ops/nqp_bigint.ops
@@ -15,7 +15,7 @@ static mp_int * get_bigint(PARROT_INTERP, PMC *obj) {
if (r->ID == bigint_repr_id)
return &((P6bigintInstance *)PMC_data(obj))->body.i;
else
- return &((P6bigintBody *)r->get_boxed_ref(interp, STABLE(obj), OBJECT_BODY(obj),
+ return &((P6bigintBody *)r->box_funcs->get_boxed_ref(interp, STABLE(obj), OBJECT_BODY(obj),
bigint_repr_id))->i;
}
@@ -418,7 +418,7 @@ inline op nqp_bigint_radix(out PMC, in INT, in STR, in INT, in INT, in PMC) :bas
pos_obj = REPR($6)->allocate(interp, STABLE($6));
REPR(pos_obj)->initialize(interp, STABLE(pos_obj), OBJECT_BODY(pos_obj));
- REPR(pos_obj)->set_int(interp, STABLE(pos_obj), OBJECT_BODY(pos_obj), pos);
+ REPR(pos_obj)->box_funcs->set_int(interp, STABLE(pos_obj), OBJECT_BODY(pos_obj), pos);
if (neg || flags & 0x01) { mp_neg(value, value); }
out = Parrot_pmc_new(interp, enum_class_FixedPMCArray);
@@ -466,10 +466,10 @@ inline op nqp_bigint_pow(out PMC, in PMC, in PMC, in PMC) :base_core {
REPR($1)->initialize(interp, STABLE($1), OBJECT_BODY($1));
/* TODO: better ways to create +- Inf */
if (MP_GT == cmp) {
- REPR($1)->set_num(interp, STABLE($1), OBJECT_BODY($1), (FLOATVAL) 1.0/ZERO);
+ REPR($1)->box_funcs->set_num(interp, STABLE($1), OBJECT_BODY($1), (FLOATVAL) 1.0/ZERO);
}
else {
- REPR($1)->set_num(interp, STABLE($1), OBJECT_BODY($1), (FLOATVAL) -1.0/ZERO);
+ REPR($1)->box_funcs->set_num(interp, STABLE($1), OBJECT_BODY($1), (FLOATVAL) -1.0/ZERO);
}
}
}
@@ -485,7 +485,7 @@ inline op nqp_bigint_pow(out PMC, in PMC, in PMC, in PMC) :base_core {
FLOATVAL f_exp = mp_get_double(exponent);
$1 = REPR($4)->allocate(interp, STABLE($4));
REPR($1)->initialize(interp, STABLE($1), OBJECT_BODY($1));
- REPR($1)->set_num(interp, STABLE($1), OBJECT_BODY($1), pow(f_base, f_exp));
+ REPR($1)->box_funcs->set_num(interp, STABLE($1), OBJECT_BODY($1), pow(f_base, f_exp));
}
}
View
24 src/ops/nqp_dyncall.ops
@@ -77,7 +77,7 @@ static NativeCallBody * get_nc_body(PARROT_INTERP, PMC *obj) {
if (r->ID == nc_repr_id)
return &((NativeCallInstance *)PMC_data(obj))->body;
else
- return (NativeCallBody *)r->get_boxed_ref(interp, STABLE(obj),
+ return (NativeCallBody *)r->box_funcs->get_boxed_ref(interp, STABLE(obj),
OBJECT_BODY(obj), nc_repr_id);
}
@@ -175,7 +175,7 @@ make_int_result(PARROT_INTERP, PMC *type, INTVAL value) {
if (!PMC_IS_NULL(type)) {
result = REPR(type)->allocate(interp, STABLE(type));
REPR(result)->initialize(interp, STABLE(result), OBJECT_BODY(result));
- REPR(result)->set_int(interp, STABLE(result), OBJECT_BODY(result), value);
+ REPR(result)->box_funcs->set_int(interp, STABLE(result), OBJECT_BODY(result), value);
}
return result;
}
@@ -187,7 +187,7 @@ make_num_result(PARROT_INTERP, PMC *type, FLOATVAL value) {
if (!PMC_IS_NULL(type)) {
result = REPR(type)->allocate(interp, STABLE(type));
REPR(result)->initialize(interp, STABLE(result), OBJECT_BODY(result));
- REPR(result)->set_num(interp, STABLE(result), OBJECT_BODY(result), value);
+ REPR(result)->box_funcs->set_num(interp, STABLE(result), OBJECT_BODY(result), value);
}
return result;
}
@@ -211,7 +211,7 @@ make_str_result(PARROT_INTERP, PMC *type, INTVAL ret_type, char *cstring) {
}
result = REPR(type)->allocate(interp, STABLE(type));
REPR(result)->initialize(interp, STABLE(result), OBJECT_BODY(result));
- REPR(result)->set_str(interp, STABLE(result), OBJECT_BODY(result), value);
+ REPR(result)->box_funcs->set_str(interp, STABLE(result), OBJECT_BODY(result), value);
PARROT_GC_WRITE_BARRIER(interp, result);
if (ret_type & DYNCALL_ARG_FREE_STR)
free(cstring);
@@ -379,39 +379,39 @@ inline op nqp_native_call(out PMC, in PMC, in PMC, in PMC) :base_core {
PMC *value = decontainerize(interp, VTABLE_get_pmc_keyed_int(interp, args, i));
switch (body->arg_types[i] & DYNCALL_ARG_TYPE_MASK) {
case DYNCALL_ARG_CHAR:
- dcArgChar(vm, (DCchar)REPR(value)->get_int(interp,
+ dcArgChar(vm, (DCchar)REPR(value)->box_funcs->get_int(interp,
STABLE(value), OBJECT_BODY(value)));
break;
case DYNCALL_ARG_SHORT:
- dcArgShort(vm, (DCshort)REPR(value)->get_int(interp,
+ dcArgShort(vm, (DCshort)REPR(value)->box_funcs->get_int(interp,
STABLE(value), OBJECT_BODY(value)));
break;
case DYNCALL_ARG_INT:
- dcArgInt(vm, (DCint)REPR(value)->get_int(interp,
+ dcArgInt(vm, (DCint)REPR(value)->box_funcs->get_int(interp,
STABLE(value), OBJECT_BODY(value)));
break;
case DYNCALL_ARG_LONG:
- dcArgLong(vm, (DClong)REPR(value)->get_int(interp,
+ dcArgLong(vm, (DClong)REPR(value)->box_funcs->get_int(interp,
STABLE(value), OBJECT_BODY(value)));
break;
case DYNCALL_ARG_LONGLONG:
- dcArgLongLong(vm, (DClonglong)REPR(value)->get_int(interp,
+ dcArgLongLong(vm, (DClonglong)REPR(value)->box_funcs->get_int(interp,
STABLE(value), OBJECT_BODY(value)));
break;
case DYNCALL_ARG_FLOAT:
- dcArgFloat(vm, (DCfloat)REPR(value)->get_num(interp,
+ dcArgFloat(vm, (DCfloat)REPR(value)->box_funcs->get_num(interp,
STABLE(value), OBJECT_BODY(value)));
break;
case DYNCALL_ARG_DOUBLE:
- dcArgDouble(vm, (DCdouble)REPR(value)->get_num(interp,
+ dcArgDouble(vm, (DCdouble)REPR(value)->box_funcs->get_num(interp,
STABLE(value), OBJECT_BODY(value)));
break;
case DYNCALL_ARG_ASCIISTR:
case DYNCALL_ARG_UTF8STR:
case DYNCALL_ARG_UTF16STR:
if (IS_CONCRETE(value)) {
char *str = Parrot_str_to_encoded_cstring(interp,
- REPR(value)->get_str(interp, STABLE(value), OBJECT_BODY(value)),
+ REPR(value)->box_funcs->get_str(interp, STABLE(value), OBJECT_BODY(value)),
body->arg_types[i] == DYNCALL_ARG_ASCIISTR ? Parrot_ascii_encoding_ptr :
body->arg_types[i] == DYNCALL_ARG_UTF16STR ? Parrot_utf16_encoding_ptr :
Parrot_utf8_encoding_ptr);

0 comments on commit 70edd1c

Please sign in to comment.