aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-04-13py: Fix mp_get_buffer, and use it in more places.Damien George
Must use mp_obj_get_type to get the type of an object. Can't assume mp_obj_t is castable to mp_obj_base_t.
2014-04-13py: Add traceback info to syntax errors.Damien George
Should fix issue #463.
2014-04-13py: Update showbc to decode ptrs for MAKE_FUNCTION ops.Damien George
2014-04-13stmhal: Little hack to dump GC allocation table using pyb.info().Damien George
Pass a single parameter (doesn't matter what): pyb.info(1), will dump the GC alloc table.
2014-04-13py: Remove unique_codes from emitglue.c. Replace with pointers.Damien George
Attempt to address issue #386. unique_code_id's have been removed and replaced with a pointer to the "raw code" information. This pointer is stored in the actual byte code (aligned, so the GC can trace it), so that raw code (ie byte code, native code and inline assembler) is kept only for as long as it is needed. In memory it's now like a tree: the outer module's byte code points directly to its children's raw code. So when the outer code gets freed, if there are no remaining functions that need the raw code, then the children's code gets freed as well. This is pretty much like CPython does it, except that CPython stores indexes in the byte code rather than machine pointers. These indices index the per-function constant table in order to find the relevant code.
2014-04-13py: Factor out impl of special methods for builtin types into opmethods.cPaul Sokolovsky
2014-04-13objset: Implement __contains__() op-method.Paul Sokolovsky
2014-04-13py: Provide more details for too few and too much args for Python fun calls.Paul Sokolovsky
2014-04-13py: Rename collections module to _collections.Paul Sokolovsky
We're not going to implement all the plethora of types in there in C. Funnily, CPython implements defaultdict in C, and namedtuple in Python.
2014-04-13README: Update for modffi being enabled by default for unix port.Paul Sokolovsky
2014-04-13py: Make bytes type hashable.Paul Sokolovsky
2014-04-13objstr: Add str.encode() and bytes.decode() methods.Paul Sokolovsky
These largely duplicate str() & bytes() constructors' functionality, but can be used to achieve Python2 compatibility.
2014-04-13Merge pull request #472 from pfalcon/modffi-onDamien George
unix: Enable modffi by default.
2014-04-13Merge branch 'master' of github.com:micropython/micropythonDamien George
2014-04-13py: Big improvements to inline assembler.Damien George
Improved the Thumb assembler back end. Added many more Thumb instructions to the inline assembler. Improved parsing of assembler instructions and arguments. Assembler functions can now be passed the address of any object that supports the buffer protocol (to get the address of the buffer). Added an example of how to sum numbers from an array in assembler.
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-12pip-micropython: Apply more workarounds for setuptools, pip, etc misfeatures.Paul Sokolovsky
2014-04-12stmhal: Put a USB structure in ROM; GC doesn't scan the data segment.Damien George
2014-04-12Update .gitignore to ignore __pycache__/.Damien George
2014-04-12examples: Add example script to flash an LED using inline assembler.Damien George
2014-04-12py: Make all LOAD_FAST ops check for unbound local.Damien George
This is necessary to catch all cases where locals are referenced before assignment. We still keep the _0, _1, _2 versions of LOAD_FAST to help reduced the byte code size in RAM. Addresses issue #457.
2014-04-12tests: Add some bytecode tests.Damien George
2014-04-12Merge branch 'master' of github.com:micropython/micropythonDamien George
2014-04-12py: Improve inline assembler; improve compiler constant folding.Damien George
2014-04-12py: Add 'static' to inline function MP_BOOL; remove category_t.Damien George
Small fixes to get it compiling with ARMCC. I have no idea why category_t was in the enum definition for qstrs...
2014-04-12builtinimport: Implement relative imports.Paul Sokolovsky
2014-04-12showbc: Add quotes around (some) string args, to show empty string properly.Paul Sokolovsky
2014-04-12Updated README.Damien George
2014-04-12Add 'bare-arm' port: the bare minimum to get it running on an ARM MCU.Damien George
2014-04-12py: Fix compiler warning when floats disabled.Damien George
2014-04-12Merge branch 'master' of github.com:micropython/micropythonDamien George
2014-04-12py: Make ImportError message match CPython's.Paul Sokolovsky
2014-04-12builtinimport: Set __path__ attribute ASAP as it's clear we have a package.Paul Sokolovsky
This helps with handling "recursive" imports in sane manner, for example when foo/__init__.py has something like "from foo import submod".
2014-04-12builtinimport: Fix thinko passing 0 vs NULL.Paul Sokolovsky
2014-04-12stmhal: Move fatfs volume/partition lookup table to ROM.Damien George
2014-04-12stmhal: Move I2C objects to ROM.Damien George
2014-04-12Merge pull request #465 from xbe/unix-gcDamien George
unix: Fix GC not tracing .data
2014-04-12py: Remove useless implementations of NOT_EQUAL in binary_op's.Damien George
I'm pretty sure these are never reached, since NOT_EQUAL is always converted into EQUAL in mp_binary_op. No one should call type.binary_op directly, they should always go through mp_binary_op (or mp_obj_is_equal).
2014-04-12py: Change inline to static inline for 2 functions.Damien George
2014-04-12py, compiler: Fix up creation of default positionals tuple.Damien George
With new order of evaluation of defaults, creating the tuple was done in the wrong spot.
2014-04-11Merge branch 'master' of github.com:micropython/micropythonDamien George
2014-04-11py, compiler: Fix compiling of keyword args following named star.Damien George
2014-04-12showbs: Dump LOAD_CONST_BYTES.Paul Sokolovsky
2014-04-12showbc: Dump LOAD_NULL.Paul Sokolovsky
2014-04-12py: Implement "from pkg import mod" variant of import.Paul Sokolovsky
2014-04-12builtinimport: Set __path__ attribute on packages.Paul Sokolovsky
Per https://docs.python.org/3.3/reference/import.html , this is the way to tell module from package: "Specifically, any module that contains a __path__ attribute is considered a package." And it for sure will be needed to implement relative imports.
2014-04-12builtinimport: Elaborate debug output support.Paul Sokolovsky
2014-04-12py: Preprocess qstrdefs.h before feeding to makeqstrdata.py.Paul Sokolovsky
This is alternative implementation of supporting conditionals in qstrdefs.h, hard to say if it's much cleaner than munging #ifdef's in Python code...
2014-04-12Revert "makeqstrdata.py: Add support for conditionally defined qstrs."Paul Sokolovsky
This reverts commit acb133d1b1a68847bd85c545312c3e221a6f7c0b. Conditionals will be suported using C preprocessor.
2014-04-11py: Revert some inline functions back to macros, since they bloat stmhal.Damien George