1.1 --- a/TO_DO.txt Sun Aug 21 23:59:52 2011 +0200
1.2 +++ b/TO_DO.txt Mon Aug 22 00:53:34 2011 +0200
1.3 @@ -1,10 +1,6 @@
1.4 Low-Level Instructions and Macro Instructions
1.5 =============================================
1.6
1.7 -Instructions manipulated through the temporary infrastructure are reused and can be
1.8 -corrupted by set_source and set_target operations. It might be better if such operations
1.9 -cloned the instructions or if new instructions were explicitly created.
1.10 -
1.11 Have contexts and values stored separately in memory. This involves eliminating DataValue
1.12 and storing attributes using two words.
1.13
1.14 @@ -23,9 +19,6 @@
1.15 Attempt to use result data directly instead of transferring it explicitly to the working
1.16 registers and then using it.
1.17
1.18 -Perhaps store resultant working values on Block instances in order to better track active
1.19 -values.
1.20 -
1.21 Class and Module Attribute Assignment
1.22 =====================================
1.23
2.1 --- a/micropython/opt.py Sun Aug 21 23:59:52 2011 +0200
2.2 +++ b/micropython/opt.py Mon Aug 22 00:53:34 2011 +0200
2.3 @@ -257,6 +257,11 @@
2.4
2.5 return self.get_active_value() and self.is_simple_input(self.get_active_value())
2.6
2.7 + # Indicate whether the active instruction can be used in place of access
2.8 + # to a temporary variable retaining the result of the last instruction.
2.9 +
2.10 + have_temp_compatible_access = have_simple_input
2.11 +
2.12 def have_self_input(self, unit):
2.13
2.14 """
2.15 @@ -270,11 +275,6 @@
2.16 expr = self.get_active_value()
2.17 return expr and isinstance(expr, LoadName) and expr.attr.name == "self"
2.18
2.19 - # Indicate whether the active instruction can be used in place of access
2.20 - # to a temporary variable retaining the result of the last instruction.
2.21 -
2.22 - have_temp_compatible_access = have_simple_input
2.23 -
2.24 def have_correct_self_for_target(self, context, unit):
2.25
2.26 "Return whether the 'context' is compatible with the given 'unit'."