ian-v
7a16fadbf8
Co-exist with C++ (issue #85 )
11 years ago
Damien George
e67ed5d285
Improve configurability for native x64/thumb emitter.
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.
11 years ago
Damien
d99b05282d
Change object representation from 1 big union to individual structs.
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).
11 years ago
Damien
a1b2693161
py: remove further unnecessary emit_verbatim code.
11 years ago
Damien
9ecbcfff99
py: work towards working closures.
11 years ago
Damien
6d4f3462c4
Viper: function calls now convert constant arguments to objects.
11 years ago
Damien
ae0bc08a37
Viper supports inplace add (trivial).
11 years ago
Damien
9b9e996df6
Support for for-loop in native thumb.
11 years ago
Damien
1a6633a74d
Implement more thumb branch instructions.
11 years ago
Damien
6ba1314265
Fix bug: emit native didn't clear last_was_return in label_assign.
11 years ago
Damien
27fb45eb1c
Add local_num skeleton framework to deref/closure emit calls.
11 years ago
Damien
d2755ec538
Add iterators and comprehension to emitnative.
11 years ago
Damien
3ef4abb446
Change ifdef/if defined to simple if's.
11 years ago
Damien
c025ebb2dc
Separate out mpy core and unix version.
11 years ago
Damien
eb19efb27e
Simplify and improve function & method calling.
11 years ago
Damien
7f5dacf345
Implement basic class/object in native code.
11 years ago
Damien
a397776d6b
Implement basic class/object functionality in runtime.
11 years ago
Damien
ff8ed77cc1
Improve push/pop and register usage for native emit.
11 years ago
Damien
13ed3a658d
Native Python and Viper support for x64 and thumb all together.
11 years ago
Damien
3410be8035
Merge viper types with standard native emitter.
11 years ago
Damien
7af3d19a3c
Implement crude viper emit stage.
11 years ago
Damien
6cdd3af601
Implement built-in decorators to select emit type.
11 years ago
Damien
4b03e77d4a
Factorise EMIT_COMMON calls, mostly into emit_pass1.
11 years ago
Damien
054848a1b8
Compiler computes labels and max_num_labels.
11 years ago
Damien
b05d707b23
Further factorise PASS_1 out of specific emit code.
11 years ago
Damien
415eb6f850
Restructure emit so it goes through a method table.
11 years ago
Damien
429d71943d
Initial commit.
11 years ago