Changes between Version 1 and Version 2 of FixingPIRVtableOverrides

Show
Ignore:
Timestamp:
07/28/10 01:54:29 (4 years ago)
Author:
chromatic
Comment:

added task list

Legend:

Unmodified
Added
Removed
Modified
  • FixingPIRVtableOverrides

    v1 v2  
    1313 
    1414This is a fairly simple task which will have positive performance implications for not too much work.  Takers welcome. 
     15 
     16Tasks: 
     17 
     18  * Write a small program (Perl 5 is fine, NQP-rx may be better) which parses src/vtable.tbl 
     19    * generate a dummy VTABLE 
     20    * each VTABLE entry should only fetch a PIR sub override and invoke it with the given arguments 
     21    * see lib/Parrot/Pmc2c/PMC/Object.pm around line 68 
     22    * store this dummy VTABLE somewhere where the interpreter can get to it 
     23  * Add code to the NameSpace PMC to detect adding a vtable override 
     24    * when this happens, clone the current VTABLE (unless it's already been cloned once) 
     25    * swap in the appropriate pointer from the dummy VTABLE 
     26    * store the new VTABLE where instances of the class can use it 
     27    * (hands wave here; probably Class needs to install it for Object) 
     28    * add code to Class (or whatever stores the cloned version) to delete the cloned VTABLE 
     29  * Remove the special cases from lib/Parrot/Pmc2c/PMC/Object.pm 
     30 
     31That's it!