summaryrefslogtreecommitdiffstatshomepage
path: root/unix
Commit message (Collapse)AuthorAge
* py: Add MICROPY_PY_ALL_SPECIAL_METHODS and __iadd__ special method under it.Paul Sokolovsky2015-01-31
|
* unix: Add "coverage" target to do coverage testing using gcov.Damien George2015-01-29
|
* modffi: 's' (string) return type: handle NULL properly (return None).Paul Sokolovsky2015-01-25
|
* modffi: Support return values of mp_obj_t type.Paul Sokolovsky2015-01-22
|
* modffi: Support open own executable using open(None).Paul Sokolovsky2015-01-21
|
* py, unix: Allow to compile with -Wunused-parameter.Damien George2015-01-20
| | | | See issue #699.
* py, unix, stmhal: Allow to compile with -Wshadow.Damien George2015-01-20
| | | | See issue #699.
* unix: Update .gitignore for "fast" and "minimal" builds.Damien George2015-01-16
|
* unix: Add target to build "minimal" uPy interpreter.Damien George2015-01-16
|
* py, unix: Allow to compile with -Wsign-compare.Damien George2015-01-16
| | | | See issue #699.
* unix, windows: Don't call mp_unix_mark_exec on windows.Damien George2015-01-14
|
* py, unix: Trace root pointers with native emitter under unix port.Damien George2015-01-14
| | | | | | Native code has GC-heap pointers in it so it must be scanned. But on unix port memory for native functions is mmap'd, and so it must have explicit code to scan it for root pointers.
* py, unix, lib: Allow to compile with -Wold-style-definition.Damien George2015-01-12
|
* py: Can compile with -Wmissing-declarations and -Wmissing-prototypes.Damien George2015-01-12
|
* py, unix: Allow to compile with -Wdouble-promotion.Damien George2015-01-12
| | | | Ref issue #699.
* py: Add config option MICROPY_COMP_MODULE_CONST for module consts.Damien George2015-01-10
| | | | | | Compiler optimises lookup of module.CONST when enabled (an existing feature). Disabled by default; enabled for unix, windows, stmhal. Costs about 100 bytes ROM on stmhal.
* py: Add MICROPY_PY_MICROPYTHON_MEM_INFO to enable mem-info funcs.Damien George2015-01-09
| | | | | | This allows to enable mem-info functions in micropython module, even if MICROPY_MEM_STATS is not enabled. In this case, you get mem_info and qstr_info but not mem_{total,current,peak}.
* py: Disable stack checking by default; enable on most ports.Damien George2015-01-09
|
* unix: Allow to compile with float support disabled.Damien George2015-01-08
|
* Remove obsolete bss-related code/build featuresstijn2015-01-08
| | | | | GC for unix/windows builds doesn't make use of the bss section anymore, so we do not need the (sometimes complicated) build features and code related to it
* py: Add option to cache map lookup results in bytecode.Damien George2015-01-07
| | | | | | | | | | | | | | | This is a simple optimisation inspired by JITing technology: we cache in the bytecode (using 1 byte) the offset of the last successful lookup in a map. This allows us next time round to check in that location in the hash table (mp_map_t) for the desired entry, and if it's there use that entry straight away. Otherwise fallback to a normal map lookup. Works for LOAD_NAME, LOAD_GLOBAL, LOAD_ATTR and STORE_ATTR opcodes. On a few tests it gives >90% cache hit and greatly improves speed of code. Disabled by default. Enabled for unix and stmhal ports.
* py: Put all global state together in state structures.Damien George2015-01-07
| | | | | | This patch consolidates all global variables in py/ core into one place, in a global structure. Root pointers are all located together to make GC tracing easier and more efficient.
* unix: Enable -fno-crossjumping for fast build.Paul Sokolovsky2015-01-03
| | | | | Confirmed that it improves perfomance of simple "for i in range(N): pass" loop by 15% on Core2.
* unix: Prefix includes with py/; remove need for -I../py.Damien George2015-01-01
|
* py: Move to guarded includes, everywhere in py/ core.Damien George2015-01-01
| | | | Addresses issue #1022.
* py: Add basic framework for issuing compile/runtime warnings.Paul Sokolovsky2015-01-01
|
* py: Add include guards to mpconfig,misc,qstr,obj,runtime,parsehelper.Damien George2014-12-29
|
* py: Allow to properly disable builtin "set" object.Damien George2014-12-27
| | | | | | | | This patch makes MICROPY_PY_BUILTINS_SET compile-time option fully disable the builtin set object (when set to 0). This includes removing set constructor/comprehension from the grammar, the compiler and the emitters. Now, enabling set costs 8168 bytes on unix x64, and 3576 bytes on stmhal.
* Makefiles: Support py/*.h includes per #1022.Paul Sokolovsky2014-12-27
|
* unix, windows: Add _os.system() call.Paul Sokolovsky2014-12-23
| | | | | | system() is the basic function to support automation of tasks, so have it available builtin, for example, for bootstrapping rest of micropython environment.
* unix/windows: Make sure that process exit code is portable 8-bit value.Paul Sokolovsky2014-12-19
| | | | This fixes FORCED_EXIT internal flag leaking into Windows exit code.
* unix: Rename "time" module to "utime" to allow extensibility.Paul Sokolovsky2014-12-17
| | | | Name choosen per latest conventions and for compatibiity with stmhal port.
* modffi: Support void (None) return value for Python callback functions.Paul Sokolovsky2014-12-16
|
* modffi: 64-bit cleanness (fixes actual bug in callback arg handling).Paul Sokolovsky2014-12-15
|
* unix: Enable Thumb2 and ARM emitters by default on corresponding archs.Paul Sokolovsky2014-12-14
|
* py: Make functions static where appropriate.Damien George2014-12-10
|
* unix: add unlink function to os moduleNikita Nazarenko2014-12-10
|
* py: Allow builtins to be overridden.Damien George2014-12-09
| | | | | | | | | | | | | | This patch adds a configuration option (MICROPY_CAN_OVERRIDE_BUILTINS) which, when enabled, allows to override all names within the builtins module. A builtins override dict is created the first time the user assigns to a name in the builtins model, and then that dict is searched first on subsequent lookups. Note that this implementation doesn't allow deleting of names. This patch also does some refactoring of builtins code, creating the modbuiltins.c file. Addresses issue #959.
* modsys: Add sys.print_exception(exc, file=sys.stdout) function.Paul Sokolovsky2014-12-08
| | | | | | | | | | | | The function is modeled after traceback.print_exception(), but unbloated, and put into existing module to save overhead on adding another module. Compliant traceback.print_exception() is intended to be implemented in micropython-lib in terms of sys.print_exception(). This change required refactoring mp_obj_print_exception() to take pfenv_t interface arguments. Addresses #751.
* py: Rename mp_obj_int_get to mp_obj_int_get_truncated; fix struct.pack.Damien George2014-12-05
| | | | | | | | | | | mp_obj_int_get_truncated is used as a "fast path" int accessor that doesn't check for overflow and returns the int truncated to the machine word size, ie mp_int_t. Use mp_obj_int_get_truncated to fix struct.pack when packing maximum word sized values. Addresses issues #779 and #998.
* py: Optimise lexer by exposing lexer type.Damien George2014-12-05
| | | | | | | | | mp_lexer_t type is exposed, mp_token_t type is removed, and simple lexer functions (like checking current token kind) are now inlined. This saves 784 bytes ROM on 32-bit unix, 348 bytes on stmhal, and 460 bytes on bare-arm. It also saves a tiny bit of RAM since mp_lexer_t is a bit smaller. Also will run a bit more efficiently.
* modmicropython: Move mem_info() and qstr_info() functions from unix port.Paul Sokolovsky2014-12-01
| | | | TODO: Merge useful functionality from modpyb too.
* Use MP_DEFINE_CONST_DICT macro to define module dicts.Damien George2014-11-29
| | | | | This is just a clean-up of the code. Generated code is exactly the same.
* modubinascii: Add, with hexlify() implementation.Paul Sokolovsky2014-11-29
|
* moduhashlib: Initial module skeleton.Paul Sokolovsky2014-11-22
|
* py: Make stream seek correctly check for ioctl fn; add seek for textio.Damien George2014-11-16
|
* stream: Implement seek operation support via ioctl, wrapped in generic method.Paul Sokolovsky2014-11-17
| | | | Also, implement for unix port.
* 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).