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)
   
  
  
  

Reply via email to