79:1f879e94c49f
|
2008-05-05 |
Paul Boddie |
changeset
files
shortlog
graph
|
Introduced parameters to certain methods which permit the retrieval and/or
inspection of previous instructions in alternative sequences; this helps in the
production of substitutable instruction sequences related to temporary storage
access.
Added methods which capture generated code for use with such temporary storage
instruction sequences, changing the existing methods to employ sequences instead
of single instructions. |
|
|
micropython/ast.py
|
|
78:a550b84e0ea5
|
2008-05-04 |
Paul Boddie |
changeset
files
shortlog
graph
|
Made the temporary storage allocation and deallocation more adaptive so that
entries are only reserved when actually required and discarded when actually
used.
Introduced temporary storage usage for invocation targets instead of having a
LoadCallable instruction. |
|
|
micropython/ast.py tests/op_add.py
|
|
77:259153134864
|
2008-05-04 |
Paul Boddie |
changeset
files
shortlog
graph
|
Changed the _optimise_known_target method to return None where the target and
context are not identified, thus producing a false value for testing.
Introduced optimisation of known targets when obtaining binary operator methods.
Changed constant attribute access to use LoadAddress (StoreAddress should not
apply).
Exposed code produced by the show function in the test program as a global. |
|
|
micropython/ast.py test.py
|
|
76:d06c78713711
|
2008-05-02 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed the binary operator mechanism.
Expanded the optimisations, incorporating LoadConst into temporary storage
optimisations and adding the optimisation of TestIdentity instructions where one
operand is a constant. |
|
|
micropython/ast.py micropython/rsvp.py
|
|
75:3ab797077458
|
2008-04-28 |
Paul Boddie |
changeset
files
shortlog
graph
|
Added support for getting constant attributes more efficiently. |
|
|
micropython/ast.py micropython/inspect.py
|
|
74:7afa1b5f52ce
|
2008-04-28 |
Paul Boddie |
changeset
files
shortlog
graph
|
Attempted to add optimisations around temporary storage access. |
|
|
micropython/ast.py
|
|
73:d4884c5a16e9
|
2008-04-27 |
Paul Boddie |
changeset
files
shortlog
graph
|
Changed the accounting of temporary storage locations so that instructions can
be generated referring to specific locations.
Fixed default parameter value code generation, moving the generation inside the
Translation class handler for Function nodes.
Added a test of operators. |
|
|
micropython/__init__.py micropython/ast.py micropython/inspect.py micropython/rsvp.py tests/op_add.py
|
|
72:221517a873b3
|
2008-04-27 |
Paul Boddie |
changeset
files
shortlog
graph
|
Changed the Translation class to take the importer as a parameter when
initialising instances.
Introduced separate LoadAddress and SaveAddress instructions which work with
known addresses, as opposed to LoadAttr and SaveAttr which now work with values
on the stack only.
Introduced accounting measures for stack and temporary storage elements. |
|
|
micropython/__init__.py micropython/ast.py micropython/inspect.py micropython/rsvp.py rsvp.py
|
|
71:445e08d9d4fb
|
2008-04-26 |
Paul Boddie |
changeset
files
shortlog
graph
|
Removed the optional nature of the importer when visiting modules with
InspectedModule.
Added keyword argument name tracking and the filtering of unused parameter
table entries (whose parameter names never get used as keyword arguments). Note
that this potentially affects things like **args, but we may choose not to
support such things anyway. |
|
|
micropython/__init__.py micropython/inspect.py
|
|
70:4b3cde1edd19
|
2008-04-26 |
Paul Boddie |
changeset
files
shortlog
graph
|
Make the last operation None if no operations have yet been generated.
Made previous ImmediateInstruction subclasses employ AddressInstruction instead.
Introduced ImmediateInstruction for *Index classes.
Fixed exception handling for keyword arguments. |
|
|
micropython/ast.py micropython/rsvp.py
|
|