|
Moved block expansion into the micropython.rsvp module's raw processing |
|
|
Added methods to convert from blocks to code sequences. |
|
|
Introduced code blocks in place of labels, potentially leading to increased |
|
|
Added the raw form of Module objects. |
|
|
Fixed unary operator frame preparation. |
|
|
Re-ordered the methods according to corresponding node type. |
|
|
Introduced immediate usage assessment for AssList/AssTuple, along with separate |
|
|
Tidied up the optimiser by removing unnecessary translator/translation |
|
|
Split the attributes2 test into smaller pieces. |
|
|
Tidied the optimisations, moving the work done in the self access optimisation |
|
|
Made the constant attribute accessor optimisation explicit. |
|
|
Moved the Optimiser class into its own module, taking the responsibility for |
|
|
Moved some documentation to separate files in the docs directory, updating some |
|
|
Attempt to remove excessive temporary storage usage for the results of |
|
|
Added some support for augmented assignment. |
|
|
Apply the simple case immediate assignment optimisation to attribute assignment. |
|
|
Moved graph definition production to a separate module. |
|
|
Added notes about related projects. |
|
|
Added a simple graph function producing Graphviz output. |
|
|
Added exception conditions for various RSVP instructions using AttributeError |
|
|
Tidied up the exception code generation to ensure that referenced exceptions are |
|
|
Changed the frame usage calculations. |
|
|
Removed the source storage optimisation, since it can effectively be replaced by |
|
|
Removed the superfluous temporary storage optimisation since it could never work |
|
|
Added a summary of current optimisations. |
|
|
Separated the optimisation methods out into a distinct class. |
|
|
Added the final Return instruction to generated images. |
|
|
Made object construction through MakeObject use details of a supplied class, |
|
|
Added notes about calling initialisers and instantiators, adopting a strategy |
|
|
Added another test of method invocation, explicitly testing instance/class |
|
|
Added descendants (and self) to the collection of attributes for each class, |
|
|
Proposed the replacement of the class table by special attributes in the object |
|
|
Fixed temporary storage and local usage. |
|
|
Changed context loading conditions to depend on the target instead of a context |
|
|
Fixed known_target optimisation. |
|
|
Fixed temp allocation, hopefully. |
|
|
Removed various RSVP instructions, introducing generated code for LoadBoolean |
|
|
Added an ordered list of modules whose code can then be executed in order, thus |
|
|
Added more support for LoadAttr and LoadAttrIndex in the RSVP implementation. |
|
|
Added raw table generation, at least for object tables. |
|
|
Remove trace statement. |
|
|
Fix class table preparation. |
|
|
Added a class table which should provide run-time support for class |
|
|
Introduced the active_value attribute in order to track instructions which |
|
|
Added tests of attribute binding and comparisons. |
|
|
Changed context definition when storing attributes in order to better support |
|
|
Attempted to define the RSVP instructions more thoroughly. |
|
|
Added tables to the initialiser, although these will ultimately be positioned in |
|
|
Changed local_usage to include parameters (ie. all_locals). |
|
|
Changed the treatment of boolean status (for tests and conditional jumps) such |
|
|
Made the test work with the current code generator. |
|
|
Changed temporary storage management to use a set of allocated positions. |
|
|
Removed LoadResult from the temporary storage compatible instructions. |
|
|
Fixed CheckFrame production, employing the proper argument count. |
|
|
Added frame size estimation based on the number of arguments used and parameter |
|
|
Added notes about handling default parameter values at run-time. |
|
|
Moved parts of the documentation into the docs directory. |
|
|
Added some support for lambda. |
|
|
Made LoadResult a suitable temporary storage access replacement. |
|
|
Made module and class attribute storage forbidden via attribute access on |
|