summaryrefslogtreecommitdiffstatshomepage
path: root/unix
Commit message (Collapse)AuthorAge
* unix: Allow -X heapsize number take 'w' specifier for word size adjustment.Paul Sokolovsky2014-11-05
| | | | | | The specifier should go after the number, before size suffix like 'k' or 'm'. E.g.: "-X heapsize=100wk" will use 100K heap on 32-bit system and 200K - on 64-bit.
* unix: fast: Set initial module dict size big to have high pystone score.Paul Sokolovsky2014-11-05
| | | | For this, introduce MICROPY_MODULE_DICT_SIZE config setting.
* unix: Provide "fast" target to build interpreter for benchmarking.Paul Sokolovsky2014-11-02
| | | | | | | | | This build is primarily intended for benchmarking, and may have random features enabled/disabled to get high scores in synthetic benchmarks. The intent is to show/prove that MicroPython codebase can compete with CPython, when configured appropriately. But the main MicroPython aim still remains to optimize for memory usage (which inevitibly leads to performance degradation in some areas on some workloads).
* py: Make gc.enable/disable just control auto-GC; alloc is still allowed.Damien George2014-10-31
| | | | | | gc.enable/disable are now the same as CPython: they just control whether automatic garbage collection is enabled or not. If disabled, you can still allocate heap memory, and initiate a manual collection.
* Add -Wpointer-arith flag to prevent problems with pointer arithmetic on void*stijn2014-10-29
|
* unix: Make -v dump memory info at exit.Paul Sokolovsky2014-10-26
| | | | Also, move bytecode dumps to -v -v, because they're too verbose for just -v.
* unix: Implement -m option (execute module from stdlib).Paul Sokolovsky2014-10-26
| | | | | | | | Support for packages as argument not implemented, but otherwise error and exit handling should be correct. This for example will allow to do: pip-micropython install micropython-test.pystone micropython -m test.pystone
* unix/windows: Disable sigaction on windows port.Damien George2014-10-26
|
* py: Add mp_pending_exception global variable, for VM soft interrupt.Damien George2014-10-25
| | | | | | | | | | | This allows to implement KeyboardInterrupt on unix, and a much safer ctrl-C in stmhal port. First ctrl-C is a soft one, with hope that VM will notice it; second ctrl-C is a hard one that kills anything (for both unix and stmhal). One needs to check for a pending exception in the VM only for jump opcodes. Others can't produce an infinite loop (infinite recursion is caught by stack check).
* py: Implement compile builtin, enabled only on unix port.Damien George2014-10-25
| | | | | | | This should be pretty compliant with CPython, except perhaps for some corner cases to do with globals/locals context. Addresses issue #879.
* unix: Allow -X heapsize= option take numbers with K & M suffixes.Paul Sokolovsky2014-10-25
| | | | For kilobytes and megabytes respectively.
* py: Improve memory usage debugging; better GC AT dumping.Damien George2014-10-24
| | | | In unix port, mem_info(1) now prints pretty GC alloc table.
* py: Add builtin memoryview object (mostly using array code).Damien George2014-10-23
|
* extmod: Add uheapq module.Damien George2014-10-22
|
* Implement kwargs for builtin open() and _io.FileIOstijn2014-10-21
| | | | | | | 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
* unix, stmhal: Implement file.readinto() method.Paul Sokolovsky2014-10-18
| | | | | | 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.
* unix: Make -c option parse input script as a file, as per CPython.Damien George2014-10-17
| | | | Addresses issue #915.
* moduzlib: Integrate into the system.Paul Sokolovsky2014-10-13
|
* Merge branch 'modure' of https://github.com/pfalcon/micropython into ↵Damien George2014-10-11
|\ | | | | | | pfalcon-modure
| * modure: Initial module, using re1.5 (which is based on re1 codebase).Paul Sokolovsky2014-10-11
| | | | | | | | https://github.com/pfalcon/re1.5
* | unix: Update comment MICROPY_GCREGS_SETJMP (untested -> undertested).Paul Sokolovsky2014-10-11
| |
* | unix: Add comment about needed dependencies for MICROPY_FORCE_32BIT.Paul Sokolovsky2014-10-11
|/
* unix: Rename "microsocket" module to "usocket".Paul Sokolovsky2014-10-09
| | | | | | Per new conventions, we'd like to consistently use "u*" naming conventions for modules which don't offer complete CPython compatibility, while offer subset or similar API.
* Allow real memory errors (from locked gc) to be reported with traceback.Dave Hylands2014-10-07
|
* unix: Detect and print compile error.Damien George2014-10-05
|
* py: Change [u]int to mp_[u]int_t in qstr.[ch], and some other places.Damien George2014-10-03
| | | | This should pretty much resolve issue #50.
* unix: Do a proper clean-up on sys.exit/SystemExit.Damien George2014-10-01
| | | | Addresses issue #859.
* unix: Remove unnecessary #defines from config.Damien George2014-09-29
|
* py: For malloc and vstr functions, use size_t exclusively for int type.Damien George2014-09-25
| | | | | | It seems most sensible to use size_t for measuring "number of bytes" in malloc and vstr functions (since that's what size_t is for). We don't use mp_uint_t because malloc and vstr are not Micro Python specific.
* Clean up logical flow for setting LDFLAGS to build for Linux and OSXblmorris2014-09-23
| | | | Add more specific comments describing what is going on.
* Incorporate change in assignment logic suggested by dhylandsblmorris2014-09-22
|
* Fix unix/Makefile to build on OSXblmorris2014-09-22
| | | | | | | Force OSX to compile with clang even if gcc is available Change LDFLAGS syntax to be compatible with clang Fix questionable syntax on line 90 Remove extraneous tab character
* py: Add native json printing using existing print framework.Damien George2014-09-17
| | | | | Also add start of ujson module with dumps implemented. Enabled in unix and stmhal ports. Test passes on both.
* py: Move definition of mp_sys_exit to core.Damien George2014-09-15
| | | | | | | | sys.exit always raises SystemExit so doesn't need a special implementation for each port. If C exit() is really needed, use the standard os._exit function. Also initialise mp_sys_path and mp_sys_argv in teensy port.
* unix: Fix modffi to be able to return double on x86 machines.Damien George2014-09-06
|
* py: Add support for emitting native x86 machine code.Damien George2014-09-06
|
* unix: Don't use -Wno-error=cpp or #warning; fix strict alias warning.Damien George2014-09-06
| | | | | | | | | | For the sake of older versions of gcc (and other compilers), don't use the #warning CPP directive, nor the -Wno-error=cpp option. Also, fix a strict alias warning in modffi.c for older compilers, and add a test for ffi module. Addresses issue #847.
* Code style/whitespace cleanup; remove obsolete headers.Damien George2014-09-03
| | | | And move the MAP_ANON redefinition from py/asmx64.c to unix/alloc.c.
* unix: Auto-detect MICROPY_EMIT_X64 and MICROPY_GCREGS_SETJMP.Damien George2014-09-03
| | | | | | If not set, MICROPY_EMIT_X64 is set only if on x86-64 machine. If not set, MICROPY_GCREGS_SETJMP is set when on MIPS.
* Add cache flush in py/asmarm.c and add new MP_PLAT_ALLOC_EXEC and ↵Fabian Vogt2014-09-03
| | | | | | MP_PLAT_FREE_EXEC macros Fixes issue #840
* py: Change uint to mp_uint_t in runtime.h, stackctrl.h, binary.h.Damien George2014-08-30
| | | | Part of code cleanup, working towards resolving issue #50.
* py: Change all uint to mp_uint_t in obj.h.Damien George2014-08-30
| | | | Part of code cleanup, working towards resolving issue #50.
* py: Make tuple and list use mp_int_t/mp_uint_t.Damien George2014-08-30
| | | | Part of code cleanup, to resolve issue #50.
* Change some parts of the core API to use mp_uint_t instead of uint/int.Damien George2014-08-30
| | | | Addressing issue #50, still some way to go yet.
* Add pip-micropython to unix make install.Damien George2014-08-26
| | | | | | | Also add -t/--target option to pip-micropython to allowing installing to the pyboard. Thanks to turbinenreiter/Sebastian Plamauer for the patch.
* py: Fix bug where GC collected native/viper/asm function data.Damien George2014-08-24
| | | | | | | | Because (for Thumb) a function pointer has the LSB set, pointers to dynamic functions in RAM (eg native, viper or asm functions) were not being traced by the GC. This patch is a comprehensive fix for this. Addresses issue #820.
* unix, modtermios: Make it properly configurable; fix spelling mistake.Damien George2014-08-24
|
* modtermios: Add "termios" unix module, subset of CPython's.Paul Sokolovsky2014-08-23
| | | | | | | | Also provides setraw() function from "tty" module (which in CPython is implemented in Python). The idea here is that 95% of "termios" module usage is to set raw mode to allow access to normal serial devices. Then, instead of exporting gazillion termios symbols, it's better to implement it in C, and export minimal number of symbols (mostly baud rates and drain values).
* Merge pull request #796 from turbinenreiter/makeinstallPaul Sokolovsky2014-08-18
|\ | | | | unix: Added install/uninstall
| * added install/uninstallSebastian Plamauer2014-08-11
| |