Changes between Version 13 and Version 14 of CallingConventionsTasklist

Show
Ignore:
Timestamp:
10/13/09 17:56:56 (12 years ago)
Author:
whiteknight
Comment:

Move the CallSignature refactors section up a little bit because it's higher priority then other stuff

Legend:

Unmodified
Added
Removed
Modified
  • CallingConventionsTasklist

    v13 v14  
    1818 
    1919* Change the default vtable function generator for Object PMC to generate 'Parrot_pcc_invoke_sub_from_c_args' calls instead of 'Parrot_runops_fromc_args*' calls. 
     20 
     21== CallSignature PMC Refactor == 
     22 
     23* 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. 
     24 
     25* 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. 
     26 
     27* 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. 
     28 
     29* 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?) 
     30 
    2031 
    2132== API Cleanups == 
     
    5162* Optimize PCC dispatch (refactor to slim down the code). 
    5263 
    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?) 
    62  
    6364== Misc or Old items == 
    6465