1.1 --- a/TO_DO.txt Sun Feb 27 02:45:38 2011 +0100
1.2 +++ b/TO_DO.txt Sun Feb 27 17:38:50 2011 +0100
1.3 @@ -1,22 +1,3 @@
1.4 -Permit __class__ as being differently defined for classes and instances. Since __class__
1.5 -is always defined, no shadowing may occur for the attribute exposing it at different
1.6 -levels.
1.7 -
1.8 - The instance definition of __class__ should be stored in the object table.
1.9 -
1.10 - Each common definition for instances of a class shall be stored as the first
1.11 - attribute of each class.
1.12 -
1.13 - Access to __class__ has to be detected and a special instruction (sequence)
1.14 - generated to handle the class/instance logic.
1.15 -
1.16 - The type class should be exposed as each class's __class__ attribute.
1.17 -
1.18 - Note that object table information will not be able to reflect the class-type
1.19 - relationship, but isinstance will need to check for instances and classes, anyway.
1.20 -
1.21 -Tuple references to stack locations in a merged stack/heap memory model.
1.22 -
1.23 Attribute Usage
1.24 ===============
1.25
1.26 @@ -111,3 +92,12 @@
1.27 __getitem__ could be written in Python, using a native method only to access fragments.
1.28
1.29 Consider better "macro" support where new expressions need to be generated and processed.
1.30 +
1.31 +Detect TestIdentity results involving constants, potentially optimising status-affected
1.32 +instructions:
1.33 +
1.34 + TestIdentity(x, y) # where x is always y
1.35 + JumpIfFalse(...) # would be removed (never false)
1.36 + JumpIfTrue(...) # changed to Jump(...)
1.37 +
1.38 +Status-affected blocks could be optimised away for such constant-related results.