summaryrefslogtreecommitdiffstatshomepage
path: root/py/compile.c
Commit message (Collapse)AuthorAge
* py: AssertionError is loaded from global, to match CPython.Damien George2014-01-12
|
* unified the bopsJohn R. Lenton2014-01-11
|
* compile_for_stmt_optimised_range(): Properly handle negative & unknown steps.Paul Sokolovsky2014-01-11
| | | | | If step is not constant, in first approximation, we can't apply optimization, (well, we could, but need a special case for this).
* Convert Python types to proper Python type hierarchy.Damien George2014-01-04
| | | | Now much more inline with how CPython does types.
* Split qstr into pools, and put initial pool in ROM.Damien George2014-01-04
| | | | | | | | | | | | | | | | Qstr's are now split into a linked-list of qstr pools. This has 2 benefits: the first pool can be in ROM (huge benefit, since we no longer use RAM for the core qstrs), and subsequent pools use m_new for the next pool instead of m_renew (thus avoiding a huge single table for all the qstrs). Still would be better to use a hash table, but this scheme takes us part of the way (eventually convert the pools to hash tables). Also fixed bug with import. Also improved the way the module code is referenced (not magic number 1 anymore).
* Improve configurability for native x64/thumb emitter.Damien George2014-01-04
| | | | | | With MICROPY_EMIT_X64 and MICROPY_EMIT_THUMB disabled, the respective emitters and assemblers will not be included in the code. This can significantly reduce binary size for unix version.
* Change mp_compile so that it returns a function object for the module.Damien George2014-01-03
|
* py: remove depedence on strcat and stpcpy.Damien George2014-01-02
| | | | | This fixes Issue #29, and means the core is no longer dependent on string functions, except strlen.
* py: make closures work.Damien George2013-12-30
|
* Change memory allocation API to require size for free and realloc.Damien2013-12-29
|
* Change object representation from 1 big union to individual structs.Damien2013-12-21
| | | | | | | | | | A big change. Micro Python objects are allocated as individual structs with the first element being a pointer to the type information (which is itself an object). This scheme follows CPython. Much more flexible, not necessarily slower, uses same heap memory, and can allocate objects statically. Also change name prefix, from py_ to mp_ (mp for Micro Python).
* Fix a few compiler warnings.Damien2013-12-20
|
* py: remove further unnecessary emit_verbatim code.Damien2013-12-12
|
* py: fix bug with doc string not recognised after first newline of file.Damien2013-12-12
|
* py: reduce use of emit_verbatim calls to minimum.Damien2013-12-12
|
* py: work towards working closures.Damien2013-12-11
|
* py: emit correct id for closed over variables.Damien2013-12-10
|
* py: compiler supports string juxtaposition=concatenation.Damien2013-12-10
|
* py: add skeletal import functionality.Damien2013-12-10
|
* py: restrict further when for-range optimisation is done.Damien2013-11-28
|
* Change some debugging/output messages for native code generation.Damien2013-11-17
|
* Fix but with optimised range being 1 over.Damien2013-11-09
|
* Add optimisation for "for x in range".Damien2013-11-06
|
* Add local_num skeleton framework to deref/closure emit calls.Damien2013-10-20
|
* Implement REPL.Damien2013-10-18
|
* Implement basic exception framework, and simple for loop.Damien2013-10-15
|
* Change ifdef/if defined to simple if's.Damien2013-10-12
|
* Tidy up SMALL_INT optimisations and CPython compatibility.Damien2013-10-12
|
* Option in compile.c to emit compatible or not with CPython.Damien2013-10-12
|
* Separate out mpy core and unix version.Damien2013-10-12
|
* Improve indent/dedent error checking and reporting.Damien2013-10-09
|
* Native Python and Viper support for x64 and thumb all together.Damien2013-10-08
|
* Merge viper types with standard native emitter.Damien2013-10-07
|
* Implement crude viper emit stage.Damien2013-10-07
|
* Make runtime able to call inline asm with 1 argument.Damien2013-10-06
|
* Optimise typedargslist_name to not create a node if just an id.Damien2013-10-06
|
* Almost supports arguments for inline asm functions.Damien2013-10-06
|
* Add support for inline thumb assembly.Damien2013-10-05
|
* Incorporate emit_thumb into new emit framework.Damien2013-10-05
|
* Implement built-in decorators to select emit type.Damien2013-10-05
|
* Factorise EMIT_COMMON calls, mostly into emit_pass1.Damien2013-10-05
|
* Compiler computes labels and max_num_labels.Damien2013-10-05
|
* Further factorise PASS_1 out of specific emit code.Damien2013-10-05
|
* Restructure emit so it goes through a method table.Damien2013-10-05
|
* Use macro EMIT_COMMON for emit_common calls.Damien2013-10-04
|
* Initial commit.Damien2013-10-04