Commit Graph

59 Commits

Author SHA1 Message Date
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).
2013-12-21 18:17:45 +00:00
Damien
9ecbcfff99 py: work towards working closures. 2013-12-11 00:41:43 +00:00
Damien
db4c361f1c py: add skeletal import functionality. 2013-12-10 17:27:24 +00:00
Damien
40fdfe3000 Improve allocation of stack for byte code. 2013-11-05 22:16:22 +00:00
Damien
03c9cfb015 Make byte code jumps relative. 2013-11-05 22:06:08 +00:00
Damien
bd25445a82 Implement BC & runtime support for generator/yielding. 2013-10-16 20:39:12 +01:00
Damien
5609cca2ce Rename vm.h to bc.h. 2013-10-10 20:00:08 +01:00
Damien
b05d707b23 Further factorise PASS_1 out of specific emit code. 2013-10-05 13:37:10 +01:00
Damien
429d71943d Initial commit. 2013-10-04 19:53:11 +01:00