summaryrefslogtreecommitdiff
path: root/unix
AgeCommit message (Collapse)Author
2014-04-16build directory can now be renamedAndrew Scheller
The autogenerated header files have been moved about, and an extra include dir has been added, which means you can give a custom BUILD=newbuilddir option to make, and everything "just works" Also tidied up the way the different Makefiles build their include- directory flags
2014-04-16Add 'test' target to unix/MakefileAndrew Scheller
In conjunction with #504 this allows you to do things like: ```shell make -C unix clean && make -C unix test CC=gcc-4.7 ``` all from the top-level micropython directory :-) Something similar could probably be done for windows/Makefile too, but I don't have a cygwin setup to test with.
2014-04-16New config option MICROPY_FORCE_32BIT (defaulted to 0)Andrew Scheller
Makes it easier for 64-bit unix hosts to build 32-bit unix binaries (for testing)
2014-04-15Move entry_table to separated header file.AZ Huang
2014-04-14Make USE_COMPUTED_GOTO a config option in mpconfig.h.Damien George
Disabled by default. Enabled in unix port.
2014-04-15Use computed goto instead of switching op-codes.AZ Huang
2014-04-13py: Add property object, with basic functionality.Damien George
Enabled by MICROPY_ENABLE_PROPERTY.
2014-04-13stmhal: Update for static mod sys.Paul Sokolovsky
2014-04-13py: Move sys attribute qstrs's to core.Paul Sokolovsky
2014-04-13py, unix: Convert sys module to static representation.Paul Sokolovsky
2014-04-13unix: Enable modffi by default.Paul Sokolovsky
ffi is needed to use micropython-lib, so let's have it enabled by default, then folks who have troubles with libffi can disable it, instead of everyone doing manual actions again and again.
2014-04-11unix: Update comment in gccollect.cxbe
2014-04-11modffi: Update for latest binary API refactors.Paul Sokolovsky
2014-04-10unix: Add option to only compile, and not execute code.Damien George
2014-04-09py: Add mp_get_buffer(), mp_get_buffer_raise() convenience functions to API.Paul Sokolovsky
2014-04-08unix modffi: Support any object implementing buffer protocol as a native arg.Paul Sokolovsky
2014-04-08unix: Oops, remove nlr_jump test in main.Damien George
2014-04-08Add a check for NULL nlr_top in nlr_jump.Damien George
If no nlr_buf has been pushed, and an nlr_jump is called, then control is transferred to nlr_jump_fail (which should bail out with a fatal error).
2014-04-08Improve REPL detecting when input needs to continue.Damien George
Full CPython compatibility with this requires actually parsing the input so far collected, and if it fails parsing due to lack of tokens, then continue collecting input. It's not worth doing it this way. Not having compatibility at this level does not hurt the goals of Micro Python.
2014-04-08unix, stmhal: Consistently use "FileIO" as class name for file objects.Paul Sokolovsky
They correspond to io.FileIO in io module hierarchy (with small caveat that io.FileIO is raw file and works with bytes, not strings).
2014-04-08unix, windows: There's no "help" builtin.Paul Sokolovsky
2014-04-07Add uPy welcome message to UNIX and Windows ports; update Teensy port.Damien George
Partly addresses issue #154.
2014-04-06py: Add option to compiler to specify default code emitter.Damien George
Also add command line option to unix port to select emitter.
2014-04-05py: Replace stream_p with *stream_p in mp_obj_type_t.Damien George
This is to reduce ROM usage. stream_p is used in file and socket types only (at the moment), so seems a good idea to make the protocol functions a pointer instead of the actual structure. It saves 308 bytes of ROM in the stmhal/ port, 928 in unix/.
2014-04-05py: Make globals and locals proper dictionary objects.Damien George
Finishes addressing issue #424. In the end this was a very neat refactor that now makes things a lot more consistent across the py code base. It allowed some simplifications in certain places, now that everything is a dict object. Also converted builtins tables to dictionaries. This will be useful when we need to turn builtins into a proper module.
2014-04-05Improve GC finalisation code; add option to disable it.Damien George
2014-04-05py: Change nlr_jump to nlr_raise, to aid in debugging.Damien George
This does not affect code size or performance when debugging turned off. To address issue #420.
2014-04-04unix: Rename module sources per latest naming conventions (mod*.c).Paul Sokolovsky
2014-04-04unix: Use STATIC modifier to enable code size analysis via map file.Paul Sokolovsky
2014-04-04unix: Routines related to terminal reading should use system malloc.Paul Sokolovsky
Otherwise we have mixup between system and GC alloc.
2014-04-04unix: Allocate more heap memory by default on 64 bit machines.Damien George
Pointers are 2x bigger on 64 bit machines, so we should allocate twice the memory to have a comparable heap size.
2014-04-03Changes to get unix/ port compiling on Cygwin.Damien George
2014-04-03unix file: Implement context manager protocol (for "with" statement).Paul Sokolovsky
2014-04-02unix: Enable GC.Paul Sokolovsky
GC support for "unix" port was implemented some time ago, but still not enabled.
2014-04-02unix: Use argv[0] for command name in usage.Paul Sokolovsky
2014-04-02unix: Support #if-able impl-specific cmdline options.Paul Sokolovsky
For example, we still build w/o GC enabled, so cannot really set heap size.
2014-04-02unix: Properly recognize and report when script on cmdline not found.Paul Sokolovsky
Previosuly just silently exited.
2014-03-31py: Remove old "run time" functions that were 1 liners.Damien George
2014-03-30Merge map.h into obj.h.Damien George
Pretty much everyone needs to include map.h, since it's such an integral part of the Micro Python object implementation. Thus, the definitions are now in obj.h instead. map.h is removed.
2014-03-30Rename rt_* to mp_*.Damien George
Mostly just a global search and replace. Except rt_is_true which becomes mp_obj_is_true. Still would like to tidy up some of the names, but this will do for now.
2014-03-29unix: Fix ffi.c to compile with latest changes to API.Damien George
2014-03-29py: Rename old const type objects to mp_type_* for consistency.Damien George
2014-03-26Remove mp_obj_type_t.methods entry and use .locals_dict instead.Damien George
Originally, .methods was used for methods in a ROM class, and locals_dict for methods in a user-created class. That distinction is unnecessary, and we can use locals_dict for ROM classes now that we have ROMable maps. This removes an entry in the bloated mp_obj_type_t struct, saving a word for each ROM object and each RAM object. ROM objects that have a methods table (now a locals_dict) need an extra word in total (removed the methods pointer (1 word), no longer need the sentinel (2 words), but now need an mp_obj_dict_t wrapper (4 words)). But RAM objects save a word because they never used the methods entry. Overall the ROM usage is down by a few hundred bytes, and RAM usage is down 1 word per user-defined type/class. There is less code (no need to check 2 tables), and now consistent with the way ROM modules have their tables initialised. Efficiency is very close to equivaluent.
2014-03-26Change mp_method_t.name from const char * to qstr.Damien George
Addresses issue #377.
2014-03-16unix: Clean up includes.xbe
Remove unnecessary includes. Add includes that improve portability.
2014-03-08unix: Make usage info reflect actual usage of -X option.Damien George
2014-03-08Implement ROMable modules. Add math module.Damien George
mp_module_obj_t can now be put in ROM. Configuration of float type is now similar to longint: can now choose none, float or double as the implementation. math module has basic math functions. For STM port, these are not yet implemented (they are just stub functions).
2014-03-04unix: Add to usage print-out telling about -X option.Damien George
2014-03-04unix: Allow to set heap size using "-X heapsize=N" option.Paul Sokolovsky
2014-03-03unix: Add GC support for ARM architecture.Paul Sokolovsky