Changes between Version 3 and Version 4 of CallingConventionsTasklist

Show
Ignore:
Timestamp:
02/02/09 19:30:42 (6 years ago)
Author:
whiteknight
Comment:

link to a relevant ticket

Legend:

Unmodified
Added
Removed
Modified
  • CallingConventionsTasklist

    v3 v4  
    1313* Converge on one calling convention for all invocation. Different entry points for calling from PIR, C, or CallSignature PMC. Different exit points, depending on whether the call is a Sub (Closure, Contintuation, etc) or a CFunction. But same code pattern, and same core routines for all. 
    1414 
    15 * 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  
    16 the environment, but NCI requires the arguments to be passed *before* the call to VTABLE_invoke). 
     15* 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). 
    1716 
    18 * Also, VTABLE_invoke can't really be overridden from PIR, because it requires direct access to low-level interpreter data structures. 
     17* VTABLE_invoke can't really be overridden from PIR, because it requires direct access to low-level interpreter data structures. See #103 
    1918 
    2019* Standardize on PCC-style signature description strings throughout the system (instead of different signature description strings for NCI, PCC, and regular subs).