Changes between Version 11 and Version 12 of CallingConventionsTasklist

Show
Ignore:
Timestamp:
10/10/09 23:31:41 (12 years ago)
Author:
allison
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CallingConventionsTasklist

    v11 v12  
    4343* Add a :lookahead option for Sub parameters. A lookahead parameter takes a named argument preferably, takes a positional otherwise. 
    4444 
    45 == Params/Returns Unification Refactor == 
     45== Args/Returns Unification Refactor == 
    4646 
    4747* Refactor PASM calling code so that set_returns is called before get_results 
     
    5050 
    5151* Optimize PCC dispatch (refactor to slim down the code). 
     52 
     53== CallSignature PMC Refactor == 
     54 
     55* Refactor CallSignature to store arguments as a typed array, instead of as a PMC array. The types we know from the signature, so can store and retrieve the elements in a type-safe way. (Suggestion from IRC discussion was to use a union for the value storage.) This will reduce the number of PMCs created, since integer, number, and string arguments can be stored directly instead of boxed in PMCs. 
     56 
     57* Refactor CallSignature to store arguments directly in CallSignature data structure, instead of creating two additional PMCs (array for positionals and hash for named) to hold them. This refactor can be done at the same time as the typed array refactor. 
     58 
     59* Refactor CallSignature to no longer store returns at all (after the args/returns unification above). Returns will reuse the arg/param call signature object, or create a new one. 
     60 
     61* Refactor CallSignature to merge it with Context, only need one PMC to hold all that information. (Question: what's the implication of this combined with the previous refactor? Do returns get passed out in the same struct members that the arguments came in on?) 
    5262 
    5363== Misc or Old items ==