Changes between Version 8 and Version 9 of CallingConventionsTasklist

Show
Ignore:
Timestamp:
10/05/09 13:07:56 (5 years ago)
Author:
whiteknight
Comment:

rearrange stuff, move some task metadata to a ticket

Legend:

Unmodified
Added
Removed
Modified
  • CallingConventionsTasklist

    v8 v9  
    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. 
    2020 
     21== API Cleanups == 
     22 
     23* Change 'signature' in ‘Parrot_pcc_invoke_from_sig_object’ to a Parrot STRING, and change all relevant functions to accept a Parrot STRING instead of a C string. 
     24 
     25* Modify Parrot_build_sig_object_from_varargs to check if an invocant is present and if "Pi" doesn't already exist at the beginning of the string. 
     26 
    2127== Invoke Refactor == 
    2228 
    23 * VTABLE_invoke is inconsistent between different sub-like PMCs. For most subs it simply sets up the environment for invocation, and selects the first opcode instruction of the sub as the next 'opcode_t *' for 'runops'. For NCI subs it actually invokes the function pointer. The disjoint means that NCI subs can't be invoked from C argument lists the same way as all the other subs (because the regular C argument list passing can only happen *after* VTABLE_invoke has been called to set up the environment, but NCI requires the arguments to be passed *before* the call to VTABLE_invoke). 
     29* Make VTABLE_invoke is consistent between different sub-like PMCs (Sub, NCI, etc). See #1094 
    2430 
    25 * VTABLE_invoke can't really be overridden from PIR, because it requires direct access to low-level interpreter data structures. See #103 
     31* Allow VTABLE_invoke to be properly overridden from PIR. See #103 
     32 
     33* Allow Sub, Continuation, etc. to be properly subclassed from PIR 
    2634 
    2735== Lookahead Refactor == 
     
    4553* Stop marshalling and demarshalling between C calling conventions and Parrot Calling Conventions (especially in hot paths, such as MMD and vtables) 
    4654 
    47 * Change 'signature' in ‘Parrot_pcc_invoke_from_sig_object’ to a Parrot STRING, and change all relevant functions to accept a Parrot STRING instead of a C string. 
    48  
    49 * Modify Parrot_build_sig_object_from_varargs to check if an invocant is present and if "Pi" doesn't already exist at the beginning of the string. 
    50  
    5155* ~~Refactor Integer PMC's overflow mechanism to do a VTABLE call rather than directly performing an MMD call (to allow for vtable overrides).~~ See #60