micropython

Graph

(0) -100 -60 +60 +100 +300 tip
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
Introduced a separate StoreException instruction.
Made methods to handle assignment expression values.
Moved various methods around in the Translation class.
Simplified temporary storage access instructions (using one instruction, not a
Removed the value stack mechanisms.
Changed the code generator to reject unsupported AST nodes.
Fix exception handler inspection.
Attempted to improve invocations by adopting explicitly populated frames.
Added exception handler variable definition support to the inspection process.
Added missing module attribute test files.
Fixed CheckSelf generation (using only the first argument of an invocation).
Added support for the detection of module attribute assignment.
Added internal stack operations to instructions in order to support stack
Added some more notes about invocations.
Renamed the node attribute to astnode in order to avoid attribute naming
Moved Label into the common module.
Added partial support for converting generated code into a "raw" format,
Added parent attributes to instances of various classes, since certain
Revised the rules around attributes and contexts, based on new observations
Added notes about the operations performed by various instructions in relation
Added a Constant superclass for Const, Class, Function and Module.
Fixed rsvp module import of data-related classes.
Moved program data classes into micropython.data and some common classes into
Made AddressRelativeInstruction only display instance-related details.
Reverted earlier changes around captured sequences of instructions and support
Fixed instruction ordering in binary operator support, negating the need for the
Introduced parameters to certain methods which permit the retrieval and/or
Made the temporary storage allocation and deallocation more adaptive so that
Changed the _optimise_known_target method to return None where the target and
Fixed the binary operator mechanism.
Added support for getting constant attributes more efficiently.
Attempted to add optimisations around temporary storage access.
Changed the accounting of temporary storage locations so that instructions can
Changed the Translation class to take the importer as a parameter when
(0) -100 -60 +60 +100 +300 tip