Ticket #321: tt321_pcc_class.patch
| File tt321_pcc_class.patch, 1.3 KB (added by ronaldws, 4 years ago) |
|---|
-
src/call/pcc.c
2972 2972 sigs, indexes, ctx, sig_obj); 2973 2973 2974 2974 /* Set up the context object for the function invokation */ 2975 interp->current_object = PMCNULL; 2975 if (strncmp(signature, "Pi", 2) == 0) { 2976 interp->current_object = VTABLE_get_pmc_keyed_int(interp, sig_obj, 0); 2977 } 2978 else { 2979 interp->current_object = PMCNULL; 2980 } 2976 2981 interp->current_cont = NEED_CONTINUATION; 2977 2982 ctx->current_cont = ret_cont; 2978 2983 PMC_cont(ret_cont)->from_ctx = Parrot_context_ref(interp, ctx); -
src/pmc/class.pmc
335 335 meth = Parrot_oo_find_vtable_override_for_class(interp, parent, name); 336 336 337 337 if (!PMC_IS_NULL(meth)) { 338 Parrot_run_meth_fromc_args(interp, meth, object, name, "v"); 339 } 338 PMC *sig_obj = Parrot_pcc_build_sig_object_from_varargs(interp, object, "->", NULL); 339 Parrot_pcc_invoke_from_sig_object(interp, meth, sig_obj); 340 gc_unregister_pmc(interp, sig_obj); 341 } 340 342 } 341 343 } 342 344
