Paul Sokolovsky
1e82ef3ae8
Merge pull request #660 from Rosuav/assert0
Replace assert(0) with a self-documenting TODO string
11 years ago
Paul Sokolovsky
76c8a4c91b
unix: Add setjmp-based GC register helper implementation.
As I suspected for a long time, for x86, register helper doesn't really make
any difference - there's simply not enough register to keep anything in
them for any prolonged time. Anything gets pushed on stack anyway. So, on
x86, uPy passed all tests even with empty reg helper. So, this setjmp
implementation goes as "untested".
11 years ago
Chris Angelico
9ab8ab2117
Replace assert(0) with a self-documenting TODO string
11 years ago
Damien George
30583f58d5
Merge pull request #653 from Metallicow/switch-example-correction
remove `__doc__ =` and fix tweak doc diffs
11 years ago
Damien George
95fd3528c1
Merge pull request #650 from bvernoux/master
micropython port for HydraBus
11 years ago
Damien George
9b967dd3cd
Merge pull request #655 from Rosuav/master
Two small changes
11 years ago
Chris Angelico
4867413e69
Simplify detection of quote characters in mp_str_print_quoted.
Once a double quote has been found, the subsequent discovery of a single quote
won't change behaviour at all, so don't bother looking for one.
11 years ago
bvernoux
82560fce75
Merge branch 'master' of https://github.com/micropython/micropython
11 years ago
Chris Angelico
29bf7393c1
Correct file reference (there's no qstrraw.h)
11 years ago
bvernoux
0a1dbfe02f
Merge branch 'master' of https://github.com/bvernoux/micropython
Conflicts:
README.md
11 years ago
bvernoux
c3c353d7f1
Cleanup/removed specific stuff specific to HydraBus (except board).
11 years ago
Metallicow
3d5ffa8318
remove `__doc__ =` and fix tweak doc diffs
11 years ago
Damien George
b294a7e3c9
py: Properly fix configuration of float and math module.
11 years ago
Damien George
3f52262465
py: Allow tail call optimisation in mp_call_function_n_kw.
This saves 4 words of stack space per Python call.
11 years ago
Damien George
65ec33200a
py: Fix configuration of math module.
11 years ago
Damien George
bcb6ca4d5e
py: Implement full behaviour of dict.update(), and dict().
Add keyword args to dict.update(), and ability to take a dictionary as
argument.
dict() class constructor can now use dict.update() directly.
This patch loses fast path for dict(other_dict), but is that really
needed? Any anyway, this idiom will now re-hash the dictionary, so is
arguably more memory efficient.
Addresses issue #647 .
11 years ago
Damien George
07995e9479
Merge pull request #649 from pfalcon/multi-opt
Support multiple bytecode optimisation levels
11 years ago
Paul Sokolovsky
411732e93b
vm: If there's no lineno info, set lineno in traceback to 0, not 1.
To clearly signify that lineno is not known.
11 years ago
Paul Sokolovsky
b8f117dd32
py: For optimization level -O3 and higher, remove lineno info from bytecode.
11 years ago
Paul Sokolovsky
d3439d0c60
py: Instead of having "debug on" var, have "optimization level" var.
This allows to have multiple "optimization" levels (CPython has two
(-OO removes docstrings), we can have more).
11 years ago
Paul Sokolovsky
509c7a7854
Merge pull request #651 from dhylands/fix-af-csv2
Add missing commas to stm32f4xx-af.csv
11 years ago
Dave Hylands
4e0573e5cf
Add missing commas to stm32f4xx-af.csv
11 years ago
Paul Sokolovsky
f753971e5d
showbc: Make micropython -v also dump bytecode in hex form.
11 years ago
Paul Sokolovsky
a4ac5b9f05
showbc: Make sure it's possible to trace MAKE_FUNCTION arg to actual bytecode.
11 years ago
Paul Sokolovsky
dd0dee3afc
unix: Properly print script filename in case of error.
11 years ago
Benjamin Vernoux
2abfeebf4a
Update README.md
11 years ago
bvernoux
65a97e8d9c
Merge branch 'master' of https://github.com/bvernoux/micropython
11 years ago
bvernoux
586f02a015
HydraBus board
11 years ago
Benjamin Vernoux
a5892a13b4
Update README.md
11 years ago
Benjamin Vernoux
a7d963d171
Update README.md
11 years ago
Benjamin Vernoux
d7da92a8f0
Update README.md
11 years ago
Benjamin Vernoux
8db7804496
Update README.md
11 years ago
bvernoux
569aa90137
micropython port for HydraBus
11 years ago
Paul Sokolovsky
8bf8404c15
showbc: Print code block header at the beginning, not in the middle of dump.
Also, dump code block in bytes.
11 years ago
Paul Sokolovsky
b325d25e46
lexer: Add another comment for somewhat obscure way __debug__ is handled.
11 years ago
Paul Sokolovsky
62798831be
modstruct: Add one more extension to typecodes - 'S', a pointer to C string.
Also, add comment with description of extension to CPython's typecodes.
11 years ago
Damien George
b55a59de4c
Merge branch 'Metallicow-LED-Fix'
11 years ago
Damien George
517f292c8d
examples, switch: Make run_loop take sequence of LED objects.
11 years ago
Damien George
15a5738e1d
Merge branch 'LED-Fix' of github.com:Metallicow/micropython into Metallicow-LED-Fix
11 years ago
Damien George
fcc9cf63f1
py, str: Replace enum with actual function pointer.
This way, it's slightly more efficient, uses less ROM (60 bytes less
for stmhal), and doesn't require to raise exception if bad operation
given.
11 years ago
Damien George
f1dbd78b30
stmhal: Document pyb.Accel() constructor, that it takes time to start.
11 years ago
Metallicow
9500e98433
__doc__ switch, make importable, and easy to test
11 years ago
Damien George
f917f06384
bare-arm: Disable slice and set.
11 years ago
Damien George
c49ddb9315
py: Fix configurability of builtin slice.
11 years ago
Damien George
3ebd4d0cae
py: Add option to disable set() object (enabled by default).
11 years ago
Damien George
fb510b3bf9
Rename bultins config variables to MICROPY_PY_BUILTINS_*.
This renames:
MICROPY_PY_FROZENSET -> MICROPY_PY_BUILTINS_FROZENSET
MICROPY_PY_PROPERTY -> MICROPY_PY_BUILTINS_PROPERTY
MICROPY_PY_SLICE -> MICROPY_PY_BUILTINS_SLICE
MICROPY_ENABLE_FLOAT -> MICROPY_PY_BUILTINS_FLOAT
See issue #35 for discussion.
11 years ago
Damien George
c60a261ef0
py, vm: Replace save_ip, save_sp with code_state->{ip, sp}.
This may seem a bit of a risky change, in that it may introduce crazy
bugs with respect to volatile variables in the VM loop. But, I think it
should be fine: code_state points to some external memory, so the
compiler should always read/write to that memory when accessing the
ip/sp variables (ie not put them in registers).
Anyway, it passes all tests and improves on all efficiency fronts: about
2-4% faster (64-bit unix), 16 bytes less stack space per call (64-bit
unix) and slightly less executable size (unix and stmhal).
The reason it's more efficient is save_ip and save_sp were volatile
variables, so were anyway stored on the stack (in memory, not regs).
Thus converting them to code_state->{ip, sp} doesn't cost an extra
memory dereference (except maybe to get code_state, but that can be put
in a register and then made more efficient for other uses of it).
11 years ago
Damien George
c7969857f4
Merge branch 'pfalcon-vm-alloca'
11 years ago
Damien George
1b87d1098a
Merge branch 'vm-alloca' of github.com:pfalcon/micropython into pfalcon-vm-alloca
Conflicts:
py/vm.c
Fixed stack underflow check. Use UINT_FMT/INT_FMT where necessary.
Specify maximum VM-stack byte size by multiple of machine word size, so
that on 64 bit machines it has same functionality as 32 bit.
11 years ago
Metallicow
f94cc975a2
Add switch test example
11 years ago