micropython

Change of TO_DO.txt

419:58a51f45c389
TO_DO.txt
     1.1 --- a/TO_DO.txt	Tue May 10 00:48:24 2011 +0200
     1.2 +++ b/TO_DO.txt	Sat May 21 19:00:05 2011 +0200
     1.3 @@ -1,3 +1,12 @@
     1.4 +Low-Level Instructions and Macro Instructions
     1.5 +=============================================
     1.6 +
     1.7 +Migrate macro instructions such as the *Index instructions to library code implemented
     1.8 +using low-level instructions.
     1.9 +
    1.10 +Consider introducing classic machine level instructions (word addition, subtraction, and
    1.11 +so on) in order to implement all current RSVP instructions.
    1.12 +
    1.13  Class and Module Attribute Assignment
    1.14  =====================================
    1.15  
    1.16 @@ -6,6 +15,21 @@
    1.17  
    1.18    Update docs/assignment.txt.
    1.19  
    1.20 +Consider attribute assignment observations, along with the possibility of class and module
    1.21 +attribute assignment.
    1.22 +
    1.23 +  (Note direct assignments as usual, indirect assignments via the attribute usage
    1.24 +  mechanism. During attribute collection and inference, add assigned values to all
    1.25 +  inferred targets.)
    1.26 +
    1.27 +  (Since class attributes can be assigned, StoreAttrIndex would no longer need to reject
    1.28 +  static attributes, although this might still be necessary where attribute usage analysis
    1.29 +  has not been performed.)
    1.30 +
    1.31 +  Potentially consider changing static attribute details to use object-relative offsets in
    1.32 +  order to simplify the instruction implementations. This might allow us to eliminate the
    1.33 +  static attribute flag for attributes in the object table, at least at run-time.
    1.34 +
    1.35  Dynamic Attribute Access
    1.36  ========================
    1.37  
    1.38 @@ -14,21 +38,6 @@
    1.39  Attribute Usage
    1.40  ===============
    1.41  
    1.42 -Consider attribute assignment observations, along with the possibility of class attribute
    1.43 -assignment.
    1.44 -
    1.45 -  Note direct assignments as usual, indirect assignments via the attribute usage
    1.46 -  mechanism. During attribute collection and inference, add assigned values to all
    1.47 -  inferred targets.
    1.48 -
    1.49 -  Since class attributes can be assigned, StoreAttrIndex would no longer need to reject
    1.50 -  static attributes, although this might still be necessary where attribute usage analysis
    1.51 -  has not been performed.
    1.52 -
    1.53 -  Potentially consider changing static attribute details to use object-relative offsets in
    1.54 -  order to simplify the instruction implementations. This might allow us to eliminate the
    1.55 -  static attribute flag for attributes in the object table, at least at run-time.
    1.56 -
    1.57  Consider attribute usage observations being suspended inside blocks where AttributeError
    1.58  may be caught (although this doesn't anticipate such exceptions being caught outside a
    1.59  function altogether).
    1.60 @@ -60,7 +69,15 @@
    1.61  
    1.62  Local assignment detection plus frame re-use. Example: slice.__init__ calls
    1.63  xrange.__init__ with the same arguments which are unchanged in xrange.__init__. There is
    1.64 -therefore no need to build a new frame for this call.
    1.65 +therefore no need to build a new frame for this call, although in some cases the locals
    1.66 +frame might need expanding.
    1.67 +
    1.68 +Inlining
    1.69 +========
    1.70 +
    1.71 +Where a function or method call can always be determined, the body of the target could be
    1.72 +inlined - copied into place - within the caller. If the target is only ever called by a
    1.73 +single caller it could be moved into place.
    1.74  
    1.75  Function Specialisation
    1.76  =======================