cvsuser 03/10/09 13:11:00
Modified: . object.ops
Log:
tail method call now in
Revision Changes Path
1.11 +17 -0 parrot/object.ops
Index: object.ops
===================================================================
RCS file: /cvs/public/parrot/object.ops,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -w -r1.10 -r1.11
--- object.ops 9 Oct 2003 19:46:20 -0000 1.10
+++ object.ops 9 Oct 2003 20:10:59 -0000 1.11
@@ -53,6 +53,23 @@
goto ADDRESS(dest);
}
+op callmethcc() {
+ opcode_t *dest;
+ PMC *method_pmc;
+ opcode_t *next = expr NEXT();
+
+ REG_PMC(1) = new_ret_continuation_pmc(interpreter, next);
+
+ method_pmc = VTABLE_find_method(interpreter, REG_PMC(2), REG_STR(0));
+ if (NULL == method_pmc) {
+ /* Pitch a fit */
+ }
+ REG_PMC(0) = method_pmc;
+ dest = (opcode_t *)REG_PMC(0)->vtable->invoke(interpreter, REG_PMC(0), next);
+ goto ADDRESS(dest);
+}
+=cut
+
=item B<can>(out INT, in PMC, in STR)