760:09f0039c42cb
761:54dd15ef07b2 769:00e902870a29
|
2017-03-24 |
Paul Boddie |
changeset
files
shortlog
graph
|
Test for the presence of the exact number of required arguments first. |
|
|
templates/progops.c
|
|
759:05930170914d
757:b496ef9d5ee1
|
2017-03-24 |
Paul Boddie |
changeset
files
shortlog
graph
|
Avoid target unwrapping if it has been done already. |
|
|
templates/ops.c templates/ops.h templates/progops.c
|
|
758:41eddb32a603
761:54dd15ef07b2 763:9c393bfc03d5
|
2017-03-23 |
Paul Boddie |
changeset
files
shortlog
graph
|
Represent integers as __attr values with bit 0 set. Since pointers must be
aligned (to four-byte boundaries on many modern systems, maybe two-byte
boundaries on older or embedded systems, eight-byte boundaries on some 64-bit
systems), any value with bit 0 set will not be referencing an object.
This avoids allocating objects for integers and instead just allows them to be
passed around. Bit 0 needs to be tested when attributes are accessed, and for
integers, a common instance is employed to provide any instance attributes,
an instance table reference and a reference to the integer class. |
integers-as-tagged-attrs |
|
generator.py lib/__builtins__/character.py lib/__builtins__/int.py lib/__builtins__/str.py lib/native/__init__.py lib/native/int.py templates/native/buffer.c templates/native/common.c templates/native/common.h templates/native/iconv.c ...
|
|
757:b496ef9d5ee1
758:41eddb32a603 759:05930170914d
|
2017-03-23 |
Paul Boddie |
changeset
files
shortlog
graph
|
Switched to using __attr values in many operations instead of using __ref values.
This should allow __attr values to be passed around while being interpreted in
other ways by certain native functions. |
|
|
encoders.py templates/native/introspection.c templates/native/program.c templates/ops.c templates/ops.h templates/progops.c templates/progops.h translator.py
|
|
756:195b15f90472
754:332483cd7ba3
|
2017-03-21 |
Paul Boddie |
changeset
files
shortlog
graph
|
Allocate integers using a different allocator employing GC_MALLOC_ATOMIC. |
|
|
templates/native/common.c templates/ops.c templates/ops.h templates/progops.c templates/progops.h
|
|
755:5fd3c0524204
|
2017-03-21 |
Paul Boddie |
changeset
files
shortlog
graph
|
Added support for an integer cache containing specific pre-allocated objects. |
integer-cache |
|
common.py generator.py templates/native/common.c
|
|
754:332483cd7ba3
755:5fd3c0524204 756:195b15f90472
|
2017-03-21 |
Paul Boddie |
changeset
files
shortlog
graph
|
Revert inappropriate optimisations causing the get_using test to produce
incorrect output: the context of an arbitrary object must be tested using
__get_function even if it is provided by that object. |
|
|
tests/get_using.py translator.py
|
|
753:77aa11d4aa5a
|
2017-03-21 |
Paul Boddie |
changeset
files
shortlog
graph
|
Support argument list preparation for multiple unknown invocation targets with
identical parameter requirements where no keyword arguments are used. |
|
|
translator.py
|
|
752:118fe46024d5
|
2017-03-21 |
Paul Boddie |
changeset
files
shortlog
graph
|
Employ a special informational instruction to identify static access targets. |
|
|
deducer.py translator.py
|
|
751:777117091398
|
2017-03-20 |
Paul Boddie |
changeset
files
shortlog
graph
|
Obtain static final attribute details for access results. |
|
|
translator.py
|
|