Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | py: Make compiler return a proper exception on SyntaxError. | Damien George | 2014-10-05 |
| | |||
* | Implement missing ARM emitter functions for viper | Fabian Vogt | 2014-10-04 |
| | |||
* | py: Fix unix-cpy to compile with uint->mp_uint_t changes. | Damien George | 2014-10-03 |
| | |||
* | py: Change [u]int to mp_[u]int_t in qstr.[ch], and some other places. | Damien George | 2014-10-03 |
| | | | | This should pretty much resolve issue #50. | ||
* | py: Use UINT_FMT instead of %d. | Damien George | 2014-10-03 |
| | |||
* | py: Convert [u]int to mp_[u]int_t where appropriate. | Damien George | 2014-10-03 |
| | | | | Addressing issue #50. | ||
* | py: Remove IOError since it's deprecated; use OSError instead. | Damien George | 2014-09-30 |
| | | | | | | | | | | | 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. | ||
* | py: Allow x86-64 to mov r16 to rm16 with extended src reg. | Damien George | 2014-09-29 |
| | | | | Fixes bug with x86-64 viper ptr16. | ||
* | py: Fix viper store on x86; add tests for viper ptr16. | Damien George | 2014-09-29 |
| | |||
* | py: Add casting to viper; add native mem stores to viper. | Damien George | 2014-09-29 |
| | | | | | | | | | | Viper can now do the following: def store(p:ptr8, c:int): p[0] = c This does a store of c to the memory pointed to by p using a machine instructions inline in the code. | ||
* | py: Implement more binary ops for viper emitter. | Damien George | 2014-09-29 |
| | | | | | This included a bit of restructuring of the assembler backends. Note that the ARM backend is missing a few functions and won't compile. | ||
* | py: Allow viper to use ints as direct conditionals in jumps. | Damien George | 2014-09-29 |
| | | | | Allows things like: if 1: ... | ||
* | py: Fix types, uint -> mp_uint_t. | Damien George | 2014-09-29 |
| | |||
* | py: Make macro names in assemblers consistent, and tidy up a bit. | Damien George | 2014-09-29 |
| | |||
* | py: Add store r8 and store r16 ops to asm_x86 and asm_x64. | Damien George | 2014-09-29 |
| | |||
* | py: In asmthumb, clean up unit/int types and ite ops. | Damien George | 2014-09-29 |
| | |||
* | Fix error: unknown type name 'size_t' | bvernoux | 2014-09-28 |
| | |||
* | py: Clean up nlr*.S to make it easier to read; fix clang .bss error. | Damien George | 2014-09-26 |
| | | | | | | | It seems that newer versions of clang don't like the .bss directive, so we don't use it for OSX. Addressing issues #865 and #875. | ||
* | py: Simplify JSON str printing (while still conforming to JSON spec). | Damien George | 2014-09-25 |
| | | | | | The JSON specs are relatively flexible and allow us to use one function to print strings, be they ascii, bytes or utf-8 encoded. | ||
* | py: Tidy up exception matching; allow matching of tuple of exceptions. | Damien George | 2014-09-25 |
| | | | | Addresses issue #864. | ||
* | py: For malloc and vstr functions, use size_t exclusively for int type. | Damien George | 2014-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. | ||
* | py: Free non-interned strings in the parser when not needed. | Damien George | 2014-09-23 |
| | | | | | | | | | | | mp_parse_node_free now frees the memory associated with non-interned strings. And the parser calls mp_parse_node_free when discarding a non-used node (such as a doc string). Also, the compiler now frees the parse tree explicitly just before it exits (as opposed to relying on the caller to do this). Addresses issue #708 as best we can. | ||
* | py: Make native emitter handle multi-compare and not/is not/not in ops. | Damien George | 2014-09-23 |
| | |||
* | stmhal: Initialise stack pointer correctly. | Damien George | 2014-09-23 |
| | | | | | | | | | | | | | Stack is full descending and must be 8-byte aligned. It must start off pointing to just above the last byte of RAM. Previously, stack started pointed to last byte of RAM (eg 0x2001ffff) and so was not 8-byte aligned. This caused a bug in combination with alloca. This patch also updates some debug printing code. Addresses issue #872 (among many other undiscovered issues). | ||
* | extmod: Add loads to ujson module. | Damien George | 2014-09-21 |
| | |||
* | py: Add 'builtins' module. | Damien George | 2014-09-17 |
| | |||
* | py: Add native json printing using existing print framework. | Damien George | 2014-09-17 |
| | | | | | Also add start of ujson module with dumps implemented. Enabled in unix and stmhal ports. Test passes on both. | ||
* | py: Make dict use a bit less RAM when iterating; properly del values. | Damien George | 2014-09-17 |
| | | | | | | | | Heap RAM was being allocated to print dicts and do some other types of iterating. Now these iterations use 1 word of state on the stack. Deleting elements from a dict was not allowing the value to be reclaimed by the GC. This is now fixed. | ||
* | py: Make asm_arm_less_op take destination register as first arg. | Damien George | 2014-09-15 |
| | | | | This gets ARM native emitter working againg and addresses issue #858. | ||
* | py: Move definition of mp_sys_exit to core. | Damien George | 2014-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. | ||
* | py: Fix build error when float disabled; add test for divmod. | Damien George | 2014-09-13 |
| | |||
* | py: Implement divmod, % and proper // for floating point. | Damien George | 2014-09-13 |
| | | | | Tested and working on unix and pyboard. | ||
* | py: Load strings as objects when compiling viper. | Damien George | 2014-09-12 |
| | | | | | | | | | Eventually, viper wants to be able to use raw pointers to strings and arrays for efficient access. But for now, let's just load strings as a Python object so they can be used as normal. This will anyway be compatible with eventual intended viper behaviour. Addresses issue #857. | ||
* | py and libm: Add asinf,acosf; print higher precision for float. | Damien George | 2014-09-11 |
| | | | | | | Also use less stack space when printing single precision float. Addition of asinf and acosf addresses issue #851. | ||
* | py: Enable struct/binary-helper to parse q and Q sized ints. | Damien George | 2014-09-10 |
| | | | | Addresses issue #848. | ||
* | py: Put define of x86 argument registers in asmx86.h. | Damien George | 2014-09-08 |
| | |||
* | py: Convert [u]int to mp_[u]int_t in emit.h and associated .c files. | Damien George | 2014-09-08 |
| | | | | Towards resolving issue #50. | ||
* | py: Print imported module's location (__file__) if available. | Damien George | 2014-09-08 |
| | |||
* | Remove skeletal modselect from extmod and just put it in stmhal. | Damien George | 2014-09-07 |
| | |||
* | py: Rename mp_builtin_id to mp_obj_id and make it public. | Damien George | 2014-09-07 |
| | |||
* | stmhal: Implement generic select.select and select.poll. | Damien George | 2014-09-07 |
| | |||
* | py: Add ioctl method to stream protocol; add initial modselect. | Damien George | 2014-09-07 |
| | |||
* | py: Clean up x86-64 native assembler; allow use of extended regs. | Damien George | 2014-09-07 |
| | | | | Native x86-64 now has 3 locals in registers. | ||
* | py: Adjust regs for x86 so that 1 more local can live in a reg. | Damien George | 2014-09-06 |
| | |||
* | py: Allow x86 native functions to take arguments. | Damien George | 2014-09-06 |
| | | | | Fix some bugs with x86 stack and saving registers correctly. | ||
* | py: Add support for emitting native x86 machine code. | Damien George | 2014-09-06 |
| | |||
* | Merge branch 'master' of github.com:micropython/micropython | Damien George | 2014-09-06 |
|\ | |||
| * | modstruct: Implement 'O', 'P', 's' types for packed structs. | Paul Sokolovsky | 2014-09-06 |
| | | | | | | | | This is required to deal with, well, packed C structs containing pointers. | ||
| * | py: Correctly set sys.maxsize value for 64-bit. | Paul Sokolovsky | 2014-09-06 |
| | | | | | | | | | | | | Type representing signed size doesn't have to be int, so use special value which defaults to SSIZE_MAX, but as it's not defined by C standard (but rather by POSIX), allow ports to set it. | ||
* | | py: Native emitter now supports delete name & global, and end finally. | Damien George | 2014-09-06 |
|/ |