766:b9fb0046c252
762:c61b0e30b09e 765:42f984c64bae
|
2017-03-25 |
Paul Boddie |
changeset
files
shortlog
graph
|
Merged changes from the integers-as-tagged-attrs branch. |
integer-fast-paths |
|
|
|
765:42f984c64bae
761:54dd15ef07b2
|
2017-03-25 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed the exit argument. |
integers-as-tagged-attrs |
|
templates/native/system.c
|
|
764:c731ec23e6b1
767:fd57abd7f631
763:9c393bfc03d5 761:54dd15ef07b2
|
2017-03-24 |
Paul Boddie |
changeset
files
shortlog
graph
|
Merged changes from the integers-as-tagged-attrs branch. |
normal-function-parameters |
|
templates/ops.c templates/ops.h templates/progops.c
|
|
763:9c393bfc03d5
743:59957b395bb1 758:41eddb32a603
|
2017-03-24 |
Paul Boddie |
changeset
files
shortlog
graph
|
Merged changes from the integers-as-tagged-attrs branch. |
normal-function-parameters |
|
generator.py templates/native/buffer.c templates/native/common.c templates/native/common.h templates/native/iconv.c templates/native/identity.c templates/native/int.c templates/native/int.h templates/native/introspection.c templates/native/io.c ...
|
|
762:c61b0e30b09e
766:b9fb0046c252
|
2017-03-24 |
Paul Boddie |
changeset
files
shortlog
graph
|
Added tests for integer operands, invoking integer-specific functions directly.
This is similar to the special-casing that CPython does, and it speeds up
certain programs enormously. |
integer-fast-paths |
|
lib/native/__init__.py lib/native/int.py lib/operator/augmented.py lib/operator/binary.py lib/operator/comparison.py lib/operator/unary.py templates/native/int.c templates/native/int.h
|
|
761:54dd15ef07b2
762:c61b0e30b09e 764:c731ec23e6b1 765:42f984c64bae
758:41eddb32a603 760:09f0039c42cb
|
2017-03-24 |
Paul Boddie |
changeset
files
shortlog
graph
|
Merged changes from the default branch. |
integers-as-tagged-attrs |
|
templates/ops.c templates/progops.c
|
|
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
|
|