Damien George
21ca2d76a2
py: Partially fix viper multi-comparison; add test for it.
2014-10-19 19:00:51 +01:00
Paul Sokolovsky
1a55b6a787
unix, stmhal: Implement file.readinto() method.
...
Also, usocket.readinto(). Known issue is that .readinto() should be available
only for binary files, but micropython uses single method table for both
binary and text files.
2014-10-18 22:44:07 +03:00
Damien George
b7a4b0f86f
py: Improve stream_read so it doesn't need to alloc 2 bits of heap.
2014-10-17 23:34:06 +01:00
Damien George
391db8669b
py: Add more compiler optimisations for constant if/while conditions.
2014-10-17 17:57:33 +00:00
Damien George
235f9b33c8
py: Simplify compilation of elif blocks.
2014-10-17 17:30:16 +00:00
Damien George
c30595eb1b
py: Add more debug printing code in gc_dump_alloc_table.
2014-10-17 14:12:57 +00:00
Damien George
090c9236e8
py: Fix compiling of nested while/for and exception handler.
...
Addresses issue #912 .
2014-10-17 14:08:49 +00:00
Damien George
37ada236b3
py: Take gc_pool_start out of bss section, to reclaim 1st block of heap.
2014-10-16 21:50:39 +01:00
Paul Sokolovsky
923a8a8320
stream: Handle non-blocking errors in readline() properly.
...
Just like they handled in other read*(). Note that behavior of readline()
in case there's no data when it's called is underspecified in Python lib
spec, implemented to behave as read() - return None.
2014-10-16 12:22:52 +03:00
Paul Sokolovsky
0c7b26c0f8
stream: Return errno value as first arg of OSError exception.
...
This is CPython-compatible convention established yet in acb13886fc .
2014-10-16 02:58:52 +03:00
Paul Sokolovsky
067ae1269d
objclosure: Fix printing of generator closures.
...
The code previously assumed that only functions can be closed over.
2014-10-16 00:14:01 +03:00
Damien George
9b0b373e5e
py: Fix GC realloc issue, where memory chunks were never shrunk.
...
Previously, a realloc to a smaller memory chunk size would not free the
unused blocks in the tail of the chunk.
2014-10-15 18:24:47 +00:00
Damien George
4859edb95b
py: Fix dummy definition of BEGIN/END_ATOMIC_SECTION.
2014-10-15 17:33:24 +00:00
Paul Sokolovsky
911c00bbc5
modzlibd: Remove, superceded by moduzlib.
2014-10-13 14:13:22 +03:00
Damien George
29f5682621
Merge pull request #904 from pfalcon/moduzlib
...
Module "uzlib" - based on similarly named library
2014-10-12 23:25:24 +01:00
Paul Sokolovsky
34162872b1
moduzlib: Integrate into the system.
2014-10-13 00:07:44 +03:00
Damien George
c14a81662c
py: Add module weak link support.
...
With this patch a port can enable module weak link support and provide
a dict of qstr->module mapping. This mapping is looked up only if an
import fails to find the requested module in the filesystem.
This allows to have the builtin module named, eg, usocket, and provide
a weak link of "socket" to the same module, but this weak link can be
overridden if a file by the name "socket.py" is found in the import
path.
2014-10-12 20:18:40 +01:00
Damien George
3c34d4140d
py: Fix x86 viper code generation, mem8 <-> mem16 for load.
2014-10-12 16:10:25 +00:00
Damien George
91cfd414c0
py: Implement native load for viper.
...
Viper can now do: ptr8(buf)[0], which loads a byte from a buffer using
machine instructions.
2014-10-12 16:59:29 +01:00
Damien George
1ef2348df0
py: Implement and,or,xor native ops for viper.
2014-10-12 14:21:06 +01:00
Paul Sokolovsky
1606607bd4
modure: Make sure that re1.5 compiled in only of modure itself is enabled.
...
This is achieved by including re1.5 *.c files straight from modure.c .
2014-10-12 03:40:20 +03:00
Paul Sokolovsky
c71e045165
modure: Initial module, using re1.5 (which is based on re1 codebase).
...
https://github.com/pfalcon/re1.5
2014-10-11 14:36:32 +03:00
Damien George
9bf5f2857d
py: Add further checks for failed malloc in lexer init functions.
2014-10-09 16:53:37 +01:00
Damien George
a8202762f0
Merge branch 'lexer-crash' of https://github.com/dhylands/micropython into dhylands-lexer-crash
2014-10-09 16:48:55 +01:00
Damien George
4091445612
py: Add #if guard around gc-specific code.
2014-10-09 16:44:43 +01:00