summaryrefslogtreecommitdiffstatshomepage
Commit message (Collapse)AuthorAge
* tests/cmdline/cmd_showbc: Update to work with recent changes.Damien George2017-02-16
|
* py/compile: Optimise list/dict/set comprehensions to use stack iter.Damien George2017-02-16
|
* tests/cmdline: Update tests to pass with latest changes to bytecode.Damien George2017-02-16
|
* py/runtime: Optimise case of identity iterator so it doesn't alloc RAM.Damien George2017-02-16
|
* py: Remove unused "use_stack" argument from for_iter_end emit function.Damien George2017-02-16
|
* py: Optimise storage of iterator so it takes only 4 slots on Py stack.Damien George2017-02-16
|
* py: Make FOR_ITER opcode pop 1+4 slots from the stack when finished.Damien George2017-02-16
| | | | The extra 4 slots correspond to the iterator object stored on the stack.
* py: Allow bytecode/native to put iter_buf on stack for simple for loops.Damien George2017-02-16
| | | | | So that the "for x in it: ..." statement can now work without using the heap (so long as the iterator argument fits in an iter_buf structure).
* py: Add iter_buf to getiter type method.Damien George2017-02-16
| | | | | | | | | | | | | | | Allows to iterate over the following without allocating on the heap: - tuple - list - string, bytes - bytearray, array - dict (not dict.keys, dict.values, dict.items) - set, frozenset Allows to call the following without heap memory: - all, any, min, max, sum TODO: still need to allocate stack memory in bytecode for iter_buf.
* py/vm: Convert mp_uint_t to size_t where appropriate.Damien George2017-02-16
|
* py/objint: Convert mp_uint_t to size_t where appropriate.Damien George2017-02-16
|
* py/objexcept: Convert mp_uint_t to size_t where appropriate.Damien George2017-02-16
|
* py/objclosure: Convert mp_uint_t to size_t where appropriate.Damien George2017-02-16
|
* py/objfun: Convert mp_uint_t to size_t where appropriate.Damien George2017-02-16
|
* py/objarray: Convert mp_uint_t to size_t where appropriate.Damien George2017-02-16
|
* py/objstr: Convert mp_uint_t to size_t (and use int) where appropriate.Damien George2017-02-16
|
* py/objset: Convert mp_uint_t to size_t where appropriate.Damien George2017-02-16
|
* py/objdict: Convert mp_uint_t to size_t where appropriate.Damien George2017-02-16
|
* py/objlist: Convert mp_uint_t to size_t where appropriate.Damien George2017-02-16
|
* py/objtuple: Convert mp_uint_t to size_t where appropriate.Damien George2017-02-16
|
* py/persistentcode: Replace mp_uint_t with size_t where appropriate.Damien George2017-02-16
|
* py/mpz: Change type of "base" args from mp_uint_t to unsigned int.Damien George2017-02-16
|
* py/mpz: Remove obsolete declaration of mpz_as_str_size.Damien George2017-02-16
|
* py/mpz: Convert mp_uint_t to size_t where appropriate.Damien George2017-02-16
|
* py/runtime: Convert mp_uint_t to size_t where appropriate.Damien George2017-02-16
|
* extmod/modlwip: Add my copyright.Paul Sokolovsky2017-02-15
| | | | | | | | | Per: $ git log modlwip.c |grep ^Auth | sort | uniq -c 9 Author: Damien George 2 Author: Galen Hazelwood 43 Author: Paul Sokolovsky
* tests/basic/: Make various tests skippable.Paul Sokolovsky2017-02-15
| | | | To run the testsuite on small ports.
* tests/gen_yield_from_close: Use range() instead of reversed().Paul Sokolovsky2017-02-15
| | | | As a "more basic" builtin iterator, present even in smaller ports.
* examples/embedding/README: Convert to markdown, grammar and clarity fixes.Paul Sokolovsky2017-02-15
|
* stmhal: Use generic interrupt char code.Damien George2017-02-15
|
* stmhal: Implement a proper thread scheduler.Damien George2017-02-15
| | | | | | This patch changes the threading implementation from simple round-robin with busy waits on mutexs, to proper scheduling whereby threads that are waiting on a mutex are only scheduled when the mutex becomes available.
* py/vm: Add MICROPY_PY_THREAD_GIL_VM_DIVISOR option.Damien George2017-02-15
| | | | | | This improves efficiency of GIL release within the VM, by only doing the release after a fixed number of jump-opcodes have executed in the current thread.
* py/modthread: Use system-provided mutexs for _thread locks.Damien George2017-02-15
| | | | | | It's more efficient using the system mutexs instead of synthetic ones with a busy-wait loop. The system can do proper scheduling and blocking of the threads waiting on the mutex.
* tests/thread: Add stress-test for creating many threads.Damien George2017-02-15
|
* tests/thread: Replace busy waiting loops with a loop that sleeps.Damien George2017-02-15
| | | | | | Depending on the thread scheduler, a busy-wait loop can hog the CPU and make the tests very slow. So convert such loops to loops that have an explicit sleep, allowing the worker threads to do their job.
* tests/extmod: Make tests skippable.Paul Sokolovsky2017-02-15
|
* tests/dict_fromkeys: Revert to use reversed() to run in native codegen mode.Paul Sokolovsky2017-02-15
|
* tests/basic/[a-f]*: Make skippable.Paul Sokolovsky2017-02-15
| | | | For small ports which don't have all features enabled.
* zephyr/main: Don't unconditionally dump stats on each GC.Paul Sokolovsky2017-02-14
| | | | This was a debug output for initial porting, breaks tests.
* tests/builtin_dir: The most expected thing in sys is exit, test for it.Paul Sokolovsky2017-02-14
|
* tests/comprehension1, containment: Split set tests to separate files.Paul Sokolovsky2017-02-14
| | | | To make skippable.
* tests/run-tests: Allow to skip tests using async/await keywords.Paul Sokolovsky2017-02-14
|
* tests: Add option to not clear MICROPYPATH when running testsstijn2017-02-14
| | | | | | | | | This allows using the test runner for other scenarios than just testing uPy itself. The principle of comparing either to CPython or else to a .exp file is really handy but to be able to test custom modules not built into micropython.exe one needs to be able to specify the module search path a.k.a MICROPYPATH.
* zephyr: Add qemu_cortex_m3 config fragment.Paul Sokolovsky2017-02-14
| | | | Should work for QEMU networking with soon-to-merged upstream patch.
* zephyr: Enable IPv6 networking in addition to IPv4.Paul Sokolovsky2017-02-14
|
* docs/uos: Remove mention of uos.sep.Paul Sokolovsky2017-02-14
| | | | | | MicroPython guarantees '/' to be a path separator, so extra constant taking precious ROM space are not needed. MicroPython never had such constant, only one vendor port had it (now unmaintained).
* examples/hwapi/soft_pwm: Use Signal on()/off() methods.Paul Sokolovsky2017-02-14
| | | | | | Just one sample is updated with on()/off() for now, there should be remaining sample(s) showing .value() use (but more can be converted later, as long as 1 or so good samples of .value() remains).
* py/objtype: Replace non-ASCII single-quote char with ASCII version.Damien George2017-02-14
|
* docs/library/machine: Make separate TOC for WiPy vs non-WiPy.Damien George2017-02-13
| | | | | WiPy is the only port with ADC and SD, so they shouldn't be included in other ports' documentation.
* extmod/vfs: Allow to stat the root directory.Damien George2017-02-13
| | | | | os.stat('/') now works and returns a mostly-empty tuple. Really all that is useful is the mode which tells that it's a directory.