137:f660fe1aac5c
|
2008-09-01 |
Paul Boddie |
changeset
files
shortlog
graph
|
Added notes about calling initialisers and instantiators, adopting a strategy
where instantiation detected at compile-time is performed using an initialiser
directly, whereas that detected at run-time is done using an instantiator whose
code is now generated in the image.
Added a finalise method to the Importer in order to set attribute locations
before code generation, since some code (use of initialisers) requires details
of a different program unit's locals (although this is actually unnecessary, but
done because Attr instances are employed in the generated code).
Changed class invocation at compile-time to acquire the new object reference
from the frame of an already invoked initialiser just before dropping the frame.
Added some support for raw image encoding of classes and functions.
Changed JumpWithFrame usage to involve the current callable, not the current
value.
Added RecoverFrame and AdjustFrame instructions.
Improved the tests around instantiation. |
|
|
docs/invocation.txt docs/structures.txt lib/builtins.py micropython/__init__.py micropython/ast.py micropython/data.py micropython/rsvp.py micropython/table.py rsvp.py test.py ...
|
|
136:9fdd2c13dbac
|
2008-08-27 |
Paul Boddie |
changeset
files
shortlog
graph
|
Added another test of method invocation, explicitly testing instance/class
compatibility for supplied contexts. |
|
|
tests/call_method3.py
|
|
135:eb01c567dfeb
|
2008-08-27 |
Paul Boddie |
changeset
files
shortlog
graph
|
Added descendants (and self) to the collection of attributes for each class,
stored in the object table.
Switched the "validator" stored in the tables to be the attribute index as
opposed to the offset - this might help when eventually trying to encode and
store such data in low memory environments.
Employed a slightly better approach to populating the displacement lists
generated for tables by adding rows in descending order of utilisation (ie.
with most gaps or empty entries last).
Added a simple visualisation function in the test program for viewing raw
table data. |
|
|
micropython/__init__.py micropython/data.py micropython/table.py rsvp.py test.py
|
|
134:12c97a4d751c
|
2008-08-25 |
Paul Boddie |
changeset
files
shortlog
graph
|
Proposed the replacement of the class table by special attributes in the object
table.
Fixed the object header representations in the RSVP implementation. |
|
|
docs/structures.txt micropython/__init__.py micropython/ast.py micropython/table.py rsvp.py test.py tests/call_method2.py
|
|
133:ff0d31fbd387
|
2008-08-24 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed temporary storage and local usage. |
|
|
micropython/ast.py micropython/data.py
|
|
132:dff32649a6d4
|
2008-08-24 |
Paul Boddie |
changeset
files
shortlog
graph
|
Changed context loading conditions to depend on the target instead of a context
of None (since this may occur for identified functions).
Added source instruction tracking in order to provide an optimisation around
intermediate source storage.
Added ExtendFrame for temporary storage allocation.
Added specific classes for the different table and list types.
Provided more RSVP instruction implementations.
Added a callable register to the RSVP implementation. |
|
|
docs/structures.txt micropython/__init__.py micropython/ast.py micropython/rsvp.py micropython/table.py rsvp.py
|
|
131:b62d613c3ca1
|
2008-08-23 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed known_target optimisation.
Simplified the binary operator method invocation code slightly. |
|
|
micropython/ast.py tests/compare.py tests/compare2.py
|
|
130:8ee002746854
|
2008-08-23 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed temp allocation, hopefully.
Changed usage of _generateTestBoolean to involve a pre-allocated temporary
storage slot. This also helps to resolve issues with logical operations, since
the current value was previously being implicitly used to communicate the result
of such operations.
Split the logical test program into two. |
|
|
micropython/ast.py tests/logical.py tests/logical2.py
|
|
129:146c1f0da0d1
|
2008-08-23 |
Paul Boddie |
changeset
files
shortlog
graph
|
Removed various RSVP instructions, introducing generated code for LoadBoolean
and TestBoolean.
Improved various RSVP instruction implementations.
Removed _propagateAttributeError from Translation.
Made _generateAttr use the active value instruction, not the active instruction,
when optimising. |
|
|
micropython/ast.py micropython/rsvp.py rsvp.py
|
|
128:93404fc56e5d
|
2008-08-22 |
Paul Boddie |
changeset
files
shortlog
graph
|
Added an ordered list of modules whose code can then be executed in order, thus
preserving the behaviour of compiled programs. |
|
|
micropython/__init__.py
|
|