circuitpython/py
Damien George eb7bfcb286 Split qstr into pools, and put initial pool in ROM.
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).
2014-01-04 15:57:35 +00:00
..
asmthumb.c Improve configurability for native x64/thumb emitter. 2014-01-04 13:55:24 +00:00
asmthumb.h Support for for-loop in native thumb. 2013-11-03 14:25:43 +00:00
asmx64.c Improve configurability for native x64/thumb emitter. 2014-01-04 13:55:24 +00:00
asmx64.h Typo fix in comment. 2013-12-30 21:03:41 +02:00
bc0.h py: make closures work. 2013-12-30 22:32:17 +00:00
bc.h Change object representation from 1 big union to individual structs. 2013-12-21 18:17:45 +00:00
builtin.c Split qstr into pools, and put initial pool in ROM. 2014-01-04 15:57:35 +00:00
builtin.h py: Add framework for built-in "type()" function. 2014-01-02 16:01:17 +00:00
builtinimport.c Split qstr into pools, and put initial pool in ROM. 2014-01-04 15:57:35 +00:00
compile.c Split qstr into pools, and put initial pool in ROM. 2014-01-04 15:57:35 +00:00
compile.h Change mp_compile so that it returns a function object for the module. 2014-01-03 14:22:03 +00:00
emit.h Change object representation from 1 big union to individual structs. 2013-12-21 18:17:45 +00:00
emitbc.c Change mp_compile so that it returns a function object for the module. 2014-01-03 14:22:03 +00:00
emitcommon.c Change object representation from 1 big union to individual structs. 2013-12-21 18:17:45 +00:00
emitcpy.c Improve configurability for native x64/thumb emitter. 2014-01-04 13:55:24 +00:00
emitinlinethumb.c Change object representation from 1 big union to individual structs. 2013-12-21 18:17:45 +00:00
emitnative.c Improve configurability for native x64/thumb emitter. 2014-01-04 13:55:24 +00:00
emitpass1.c Change mp_compile so that it returns a function object for the module. 2014-01-03 14:22:03 +00:00
gc.c Change object representation from 1 big union to individual structs. 2013-12-21 18:17:45 +00:00
gc.h Fix func decls with no arguments: () -> (void). 2013-10-23 20:20:17 +01:00
grammar.h py: fix bug with doc string not recognised after first newline of file. 2013-12-12 15:24:38 +00:00
lexer.c Put unicode functions in unicode.c, and tidy their names. 2013-12-30 18:23:50 +00:00
lexer.h Basic implementation of import. 2014-01-03 14:03:48 +00:00
lexerunix.c Basic implementation of import. 2014-01-03 14:03:48 +00:00
lexerunix.h Basic implementation of import. 2014-01-03 14:03:48 +00:00
malloc.c Rename default config file to mpconfig.h, and port's to mpconfigport.h. 2014-01-03 19:03:11 +02:00
map.c Change memory allocation API to require size for free and realloc. 2013-12-29 19:33:23 +00:00
map.h Basic implementation of import. 2014-01-03 14:03:48 +00:00
misc.h Add new alloc metric: peak_bytes_allocated. 2014-01-03 18:55:23 +02:00
mpconfig.h Enable slice support in config. 2014-01-04 02:35:48 +02:00
mpqstr.h Split qstr into pools, and put initial pool in ROM. 2014-01-04 15:57:35 +00:00
mpqstrraw.h Split qstr into pools, and put initial pool in ROM. 2014-01-04 15:57:35 +00:00
nlr.h Fix func decls with no arguments: () -> (void). 2013-10-23 20:20:17 +01:00
nlrthumb.S Make "unix" target be crossplatform and support x86, x64, ARM hosts. 2013-12-30 03:38:32 +02:00
nlrx64.S Make "unix" target be crossplatform and support x86, x64, ARM hosts. 2013-12-30 03:38:32 +02:00
nlrx86.S Make "unix" target be crossplatform and support x86, x64, ARM hosts. 2013-12-30 03:38:32 +02:00
obj.c Split qstr into pools, and put initial pool in ROM. 2014-01-04 15:57:35 +00:00
obj.h Add basic implementation of slice object. 2014-01-04 02:35:48 +02:00
objbool.c Change object representation from 1 big union to individual structs. 2013-12-21 18:17:45 +00:00
objboundmeth.c Change object representation from 1 big union to individual structs. 2013-12-21 18:17:45 +00:00
objcell.c Change object representation from 1 big union to individual structs. 2013-12-21 18:17:45 +00:00
objclass.c Split qstr into pools, and put initial pool in ROM. 2014-01-04 15:57:35 +00:00
objclosure.c py: make closures work. 2013-12-30 22:32:17 +00:00
objcomplex.c Change object representation from 1 big union to individual structs. 2013-12-21 18:17:45 +00:00
objdict.c Split qstr into pools, and put initial pool in ROM. 2014-01-04 15:57:35 +00:00
objexcept.c py: implement some basic exception matching. 2013-12-29 17:17:43 +00:00
objfloat.c Change object representation from 1 big union to individual structs. 2013-12-21 18:17:45 +00:00
objfun.c Split qstr into pools, and put initial pool in ROM. 2014-01-04 15:57:35 +00:00
objgenerator.c Split qstr into pools, and put initial pool in ROM. 2014-01-04 15:57:35 +00:00
objinstance.c Split qstr into pools, and put initial pool in ROM. 2014-01-04 15:57:35 +00:00
objlist.c Split qstr into pools, and put initial pool in ROM. 2014-01-04 15:57:35 +00:00
objmodule.c Add module object, to be used eventually for import. 2014-01-02 21:30:26 +00:00
objnone.c Change object representation from 1 big union to individual structs. 2013-12-21 18:17:45 +00:00
objrange.c Change object representation from 1 big union to individual structs. 2013-12-21 18:17:45 +00:00
objset.c Change object representation from 1 big union to individual structs. 2013-12-21 18:17:45 +00:00
objslice.c slice: Implement special handling of omitted start/stop indexes. 2014-01-04 02:35:48 +02:00
objstr.c Split qstr into pools, and put initial pool in ROM. 2014-01-04 15:57:35 +00:00
objtuple.c Change object representation from 1 big union to individual structs. 2013-12-21 18:17:45 +00:00
objtype.c py: Add framework for built-in "type()" function. 2014-01-02 16:01:17 +00:00
parse.c Put unicode functions in unicode.c, and tidy their names. 2013-12-30 18:23:50 +00:00
parse.h Change object representation from 1 big union to individual structs. 2013-12-21 18:17:45 +00:00
qstr.c Split qstr into pools, and put initial pool in ROM. 2014-01-04 15:57:35 +00:00
repl.c Put unicode functions in unicode.c, and tidy their names. 2013-12-30 18:23:50 +00:00
repl.h Change object representation from 1 big union to individual structs. 2013-12-21 18:17:45 +00:00
runtime0.h Split qstr into pools, and put initial pool in ROM. 2014-01-04 15:57:35 +00:00
runtime.c Split qstr into pools, and put initial pool in ROM. 2014-01-04 15:57:35 +00:00
runtime.h Split qstr into pools, and put initial pool in ROM. 2014-01-04 15:57:35 +00:00
scope.c py: make closures work. 2013-12-30 22:32:17 +00:00
scope.h py: make closures work. 2013-12-30 22:32:17 +00:00
showbc.c Basic implementation of import. 2014-01-03 14:03:48 +00:00
unicode.c Put unicode functions in unicode.c, and tidy their names. 2013-12-30 18:23:50 +00:00
vm.c slice: Allow building with MICROPY_ENABLE_SLICE=0. 2014-01-04 02:35:49 +02:00
vstr.c Basic implementation of import. 2014-01-03 14:03:48 +00:00