summaryrefslogtreecommitdiff
path: root/py
AgeCommit message (Collapse)Author
2014-10-23py: Properly free string parse-node; add assertion to gc_free.Damien George
2014-10-23py: Add builtin memoryview object (mostly using array code).Damien George
2014-10-23py: Use MP_OBJ_NULL instead of NULL in a few places.Damien George
2014-10-23py: Clean up edge cases of malloc/realloc/free.Damien George
2014-10-22extmod: Add uheapq module.Damien George
2014-10-22py: Fix smallint modulo with negative arguments.Damien George
Addresses issue #927.
2014-10-22py: Remove unused and unneeded SystemError exception.Damien George
It's purpose is for internal errors that are not catastrophic (ie not as bad as RuntimeError). Since we don't use it, we don't need it.
2014-10-21py: Make mp_const_empty_bytes globally available.Damien George
2014-10-21Implement kwargs for builtin open() and _io.FileIOstijn
This makes open() and _io.FileIO() more CPython compliant. The mode kwarg is fully iplemented. The encoding kwarg is allowed but not implemented; mainly to allow the tests to specify encoding for CPython, see #874
2014-10-19py: Partially fix viper multi-comparison; add test for it.Damien George
2014-10-18unix, stmhal: Implement file.readinto() method.Paul Sokolovsky
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-17py: Improve stream_read so it doesn't need to alloc 2 bits of heap.Damien George
2014-10-17py: Add more compiler optimisations for constant if/while conditions.Damien George
2014-10-17py: Simplify compilation of elif blocks.Damien George
2014-10-17py: Add more debug printing code in gc_dump_alloc_table.Damien George
2014-10-17py: Fix compiling of nested while/for and exception handler.Damien George
Addresses issue #912.
2014-10-16py: Take gc_pool_start out of bss section, to reclaim 1st block of heap.Damien George
2014-10-16stream: Handle non-blocking errors in readline() properly.Paul Sokolovsky
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-16stream: Return errno value as first arg of OSError exception.Paul Sokolovsky
This is CPython-compatible convention established yet in acb13886fc837a1bb9.
2014-10-16objclosure: Fix printing of generator closures.Paul Sokolovsky
The code previously assumed that only functions can be closed over.
2014-10-15py: Fix GC realloc issue, where memory chunks were never shrunk.Damien George
Previously, a realloc to a smaller memory chunk size would not free the unused blocks in the tail of the chunk.
2014-10-15py: Fix dummy definition of BEGIN/END_ATOMIC_SECTION.Damien George
2014-10-13modzlibd: Remove, superceded by moduzlib.Paul Sokolovsky
2014-10-12Merge pull request #904 from pfalcon/moduzlibDamien George
Module "uzlib" - based on similarly named library
2014-10-13moduzlib: Integrate into the system.Paul Sokolovsky
2014-10-12py: Add module weak link support.Damien George
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-12py: Fix x86 viper code generation, mem8 <-> mem16 for load.Damien George
2014-10-12py: Implement native load for viper.Damien George
Viper can now do: ptr8(buf)[0], which loads a byte from a buffer using machine instructions.
2014-10-12py: Implement and,or,xor native ops for viper.Damien George
2014-10-12modure: Make sure that re1.5 compiled in only of modure itself is enabled.Paul Sokolovsky
This is achieved by including re1.5 *.c files straight from modure.c .
2014-10-11modure: Initial module, using re1.5 (which is based on re1 codebase).Paul Sokolovsky
https://github.com/pfalcon/re1.5
2014-10-09py: Add further checks for failed malloc in lexer init functions.Damien George
2014-10-09Merge branch 'lexer-crash' of https://github.com/dhylands/micropython into ↵Damien George
dhylands-lexer-crash
2014-10-09py: Add #if guard around gc-specific code.Damien George
2014-10-08Make lexer fail gracefully when memory can't be allocated.Dave Hylands
2014-10-07Allow real memory errors (from locked gc) to be reported with traceback.Dave Hylands
2014-10-06py: Extra autodetect for little endianness using __LITTLE_ENDIAN__.Damien George
2014-10-06py: Make mp_binary_set_val work on big endian machine.Damien George
2014-10-06py: Make int.to_bytes work on big endian machine.Damien George
Partly addresses issue #856.
2014-10-06py: Try to autodetect machine endianness when not defined by port.Damien George
2014-10-05py: Implement proper context save/restore for eval/exec; factor code.Damien George
This has benefits all round: code factoring for parse/compile/execute, proper context save/restore for exec, allow to sepcify globals/locals for eval, and reduced ROM usage by >100 bytes on stmhal and unix. Also, the call to mp_parse_compile_execute is tail call optimised for the import code, so it doesn't increase stack memory usage.
2014-10-05py: Make compiler return a proper exception on SyntaxError.Damien George
2014-10-04Implement missing ARM emitter functions for viperFabian Vogt
2014-10-03py: Fix unix-cpy to compile with uint->mp_uint_t changes.Damien George
2014-10-03py: Change [u]int to mp_[u]int_t in qstr.[ch], and some other places.Damien George
This should pretty much resolve issue #50.
2014-10-03py: Use UINT_FMT instead of %d.Damien George
2014-10-03py: Convert [u]int to mp_[u]int_t where appropriate.Damien George
Addressing issue #50.
2014-09-30py: Remove IOError since it's deprecated; use OSError instead.Damien George
In CPython IOError (and EnvironmentError) is deprecated and aliased to OSError. All modules that used to raise IOError now raise OSError (or a derived exception). In Micro Python we never used IOError (except 1 place, incorrectly) and so don't need to keep it. See http://legacy.python.org/dev/peps/pep-3151/ for background.
2014-09-29py: Allow x86-64 to mov r16 to rm16 with extended src reg.Damien George
Fixes bug with x86-64 viper ptr16.
2014-09-29py: Fix viper store on x86; add tests for viper ptr16.Damien George