Version 2 (modified by allison, 5 years ago)

--

How-to merge Context and CallSignature.

  1. Merge those two PMC into single CallContext (done).
  2. Parrot_pcc_build_sigobject updated to create CallContext instead of CallSignature (done).
  3. Parrot_pcc_invoke_from_sigobject, op invoke, op invokecc should push CallContext created in step 2.
  4. Sub.invoke shouldn't push new CallContext, just allocate registers in CURRENT_CONTEXT.
  5. op tailcall should just merge two CallContext (parent and current) (same as in trunk).

Steps 3-5 are questionable and require review by allison.

To generalize, 3/4 is saying that "invoke" shouldn't create or install the context, the context should be created by whatever code is calling "invoke". Agreed, and this applies to all sub-like PMCs. --Allison

Did you have a suggestion for change in 5? If not, same as trunk is fine. --Allison