micropython/py
Damien George bee17b00e3 py: Put n_state for bytecode in the bytecode prelude.
Rationale: setting up the stack (state for locals and exceptions) is
really part of the "code", it's the prelude of the function.  For
example, native code adjusts the stack pointer on entry to the function.
Native code doesn't need to know n_state for any other reason.  So
putting the state size in the bytecode prelude is sensible.

It reduced ROM usage on STM by about 30 bytes :)  And makes it easier to
pass information about the bytecode between functions.
2014-03-27 11:07:04 +00:00
..
asmthumb.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
asmthumb.h Revert MP_BOOL, etc. and use <stdbool.h> instead 2014-01-06 13:51:53 -08:00
asmx64.c Replace global "static" -> "STATIC", to allow "analysis builds". Part 2. 2014-02-12 18:31:30 +02:00
asmx64.h Revert MP_BOOL, etc. and use <stdbool.h> instead 2014-01-06 13:51:53 -08:00
bc0.h py: Support closures with default args. 2014-03-26 23:17:44 +02:00
bc.h py: Put n_state for bytecode in the bytecode prelude. 2014-03-27 11:07:04 +00:00
binary.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
binary.h ffi: Implement ffivar.get()/set() methods. 2014-02-14 20:38:35 +02:00
builtin.c Merge branch 'master' of github.com:micropython/micropython 2014-03-26 22:36:43 +00:00
builtin.h py: Implement getattr() builtin. 2014-03-27 00:11:36 +02:00
builtinevex.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
builtinimport.c Proper support for registering builtin modules in ROM. 2014-03-25 14:18:18 +00:00
builtintables.c py: Implement getattr() builtin. 2014-03-27 00:11:36 +02:00
builtintables.h Proper support for registering builtin modules in ROM. 2014-03-25 14:18:18 +00:00
compile.c py: Calculate maximum exception stack size in compiler. 2014-03-27 10:55:21 +00:00
compile.h Add source file name and line number to error messages. 2014-01-18 23:24:36 +00:00
emit.h py: Add built-in super. 2014-02-05 00:51:47 +00:00
emitbc.c py: Put n_state for bytecode in the bytecode prelude. 2014-03-27 11:07:04 +00:00
emitcommon.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
emitcpy.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
emitinlinethumb.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
emitnative.c py: Replace mp_const_stop_iteration object with MP_OBJ_NULL. 2014-03-26 19:27:58 +00:00
emitpass1.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
formatfloat.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
formatfloat.h Rename formatfloat file; remove MICROPY_ENABLE_FLOAT from mpconfigport.h. 2014-03-10 13:27:02 +00:00
gc.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
gc.h GC: Fix printf formats for debugging; add gc_dump_alloc_table. 2014-02-26 22:55:59 +00:00
grammar.h Clean up handling of function return type annotation. 2014-02-10 02:04:26 +02:00
intdivmod.c Fixed floor division on mp ints and small ints. Added a floordivide test case. 2014-03-22 20:29:56 +00:00
intdivmod.h Fixed floor division on mp ints and small ints. Added a floordivide test case. 2014-03-22 20:29:56 +00:00
lexer.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
lexer.h Search paths properly on import and execute __init__.py if it exists. 2014-02-05 23:57:48 +00:00
lexerstr.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
lexerunix.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
lexerunix.h Move lexerstr to main py directory (everyone uses it). 2014-01-08 15:28:26 +00:00
makeqstrdata.py py: Replace naive and teribble hash function with djb2. 2014-03-25 15:27:15 +00:00
malloc.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
map.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
map.h py: Fix bug in type_store_attr, trying to store to ROM. 2014-03-27 09:32:26 +00:00
misc.h Add vstr_ins and vstr_cut_out; improve stmhal readline. 2014-03-15 14:33:09 +00:00
mkenv.mk Rework makefiles. Add proper dependency checking. 2014-01-24 08:46:48 -08:00
mkrules.mk stmhal - add pin mapping, gpio, exti, usrsw 2014-03-14 23:41:28 -07:00
modarray.c Proper support for registering builtin modules in ROM. 2014-03-25 14:18:18 +00:00
modcollections.c Proper support for registering builtin modules in ROM. 2014-03-25 14:18:18 +00:00
modmath.c Proper support for registering builtin modules in ROM. 2014-03-25 14:18:18 +00:00
modmicropython.c Proper support for registering builtin modules in ROM. 2014-03-25 14:18:18 +00:00
mpconfig.h Proper support for registering builtin modules in ROM. 2014-03-25 14:18:18 +00:00
mpz.c objint_mpz: Quick&dirty implementation of bitwise operations. 2014-03-23 01:59:11 +02:00
mpz.h objint_mpz: Quick&dirty implementation of bitwise operations. 2014-03-23 01:59:11 +02:00
nlr.h nlr.h: Do proper arch selection, using the same tests as nlr*.S . 2014-03-01 10:05:33 +02:00
nlrthumb.S nlrthumb.S: Comment out ".cpu cortex-m4", it causes problems on Cortex-A. 2014-03-01 10:05:53 +02:00
nlrx64.S Fix OS X detection. 2014-03-22 17:37:20 -07:00
nlrx86.S Fixed problems with nlx86.S on Linux 2014-01-28 19:52:04 +01:00
obj.c py: Remove obsolete declarations; make mp_obj_get_array consistent. 2014-03-24 10:47:13 +00:00
obj.h py: Put n_state for bytecode in the bytecode prelude. 2014-03-27 11:07:04 +00:00
objarray.c Remove mp_obj_type_t.methods entry and use .locals_dict instead. 2014-03-26 21:47:19 +00:00
objarray.h Add objarray.h . 2014-01-19 01:40:47 +02:00
objbool.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
objboundmeth.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
objcell.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
objclosure.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
objcomplex.c py: Allow 'complex()' to take a string as first argument. 2014-03-21 11:45:46 +00:00
objdict.c Remove mp_obj_type_t.methods entry and use .locals_dict instead. 2014-03-26 21:47:19 +00:00
objenumerate.c py: Replace mp_const_stop_iteration object with MP_OBJ_NULL. 2014-03-26 19:27:58 +00:00
objexcept.c Merge branch 'master' of github.com:micropython/micropython 2014-03-26 18:56:02 +00:00
objfilter.c py: Replace mp_const_stop_iteration object with MP_OBJ_NULL. 2014-03-26 19:27:58 +00:00
objfloat.c Merge remote-tracking branch 'upstream/master' 2014-03-22 12:17:36 +00:00
objfun.c py: Put n_state for bytecode in the bytecode prelude. 2014-03-27 11:07:04 +00:00
objgenerator.c py: Put n_state for bytecode in the bytecode prelude. 2014-03-27 11:07:04 +00:00
objgenerator.h py: Swap around the double return value of mp_obj_gen_resume. 2014-03-26 19:33:23 +00:00
objgetitemiter.c py: Replace mp_const_stop_iteration object with MP_OBJ_NULL. 2014-03-26 19:27:58 +00:00
objint_longlong.c py: Add function to convert long int to float. 2014-03-22 20:54:01 +00:00
objint_mpz.c objint_mpz: Quick&dirty implementation of bitwise operations. 2014-03-23 01:59:11 +02:00
objint.c py: Add function to convert long int to float. 2014-03-22 20:54:01 +00:00
objint.h Add arbitrary precision integer support. 2014-02-22 19:25:23 +00:00
objlist.c Remove mp_obj_type_t.methods entry and use .locals_dict instead. 2014-03-26 21:47:19 +00:00
objmap.c py: Replace mp_const_stop_iteration object with MP_OBJ_NULL. 2014-03-26 19:27:58 +00:00
objmodule.c Proper support for registering builtin modules in ROM. 2014-03-25 14:18:18 +00:00
objmodule.h Proper support for registering builtin modules in ROM. 2014-03-25 14:18:18 +00:00
objnamedtuple.c namedtuple: Inherit unary/binary ops from tuple base class. 2014-03-03 11:42:53 +08:00
objnone.c py: Replace mp_const_stop_iteration object with MP_OBJ_NULL. 2014-03-26 19:27:58 +00:00
objobject.c py: Add 'object' object. 2014-03-22 21:31:28 +00:00
objrange.c py: Replace mp_const_stop_iteration object with MP_OBJ_NULL. 2014-03-26 19:27:58 +00:00
objset.c Remove mp_obj_type_t.methods entry and use .locals_dict instead. 2014-03-26 21:47:19 +00:00
objslice.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
objstr.c Remove mp_obj_type_t.methods entry and use .locals_dict instead. 2014-03-26 21:47:19 +00:00
objtuple.c Remove mp_obj_type_t.methods entry and use .locals_dict instead. 2014-03-26 21:47:19 +00:00
objtuple.h namedtuple: Inherit unary/binary ops from tuple base class. 2014-03-03 11:42:53 +08:00
objtype.c py: Fix bug in type_store_attr, trying to store to ROM. 2014-03-27 09:32:26 +00:00
objzip.c py: Replace mp_const_stop_iteration object with MP_OBJ_NULL. 2014-03-26 19:27:58 +00:00
parse.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
parse.h py: Put number parsing code together in parsenum.c. 2014-02-22 18:12:43 +00:00
parsehelper.c Implement proper exception type hierarchy. 2014-02-15 16:10:44 +00:00
parsehelper.h Implement proper exception type hierarchy. 2014-02-15 16:10:44 +00:00
parsenum.c py: Put back proper ValueError for badly parsed integers. 2014-03-21 20:46:38 +00:00
parsenum.h py: Allow 'complex()' to take a string as first argument. 2014-03-21 11:45:46 +00:00
parsenumbase.c py: Implement bit-shift and not operations for mpz. 2014-03-01 19:50:50 +00:00
parsenumbase.h py: Implement bit-shift and not operations for mpz. 2014-03-01 19:50:50 +00:00
py.mk Proper support for registering builtin modules in ROM. 2014-03-25 14:18:18 +00:00
qstr.c py: Replace naive and teribble hash function with djb2. 2014-03-25 15:27:15 +00:00
qstr.h Add qstr_info() function and bindings for unix port. 2014-01-29 18:56:46 +00:00
qstrdefs.h py: Implement getattr() builtin. 2014-03-27 00:11:36 +02:00
repl.c mp_repl_is_compound_stmt(): Thinko fix s/true/try/. 2014-01-11 00:12:06 +02:00
repl.h Merge remote-tracking branch 'upstream/master' into dict_feats 2014-01-07 23:06:46 +00:00
runtime0.h Support passing positional args as keywords to bytecode functions. 2014-02-16 18:36:33 +02:00
runtime.c py: Put n_state for bytecode in the bytecode prelude. 2014-03-27 11:07:04 +00:00
runtime.h py: Support closures with default args. 2014-03-26 23:17:44 +02:00
scope.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
scope.h py: Calculate maximum exception stack size in compiler. 2014-03-27 10:55:21 +00:00
sequence.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
showbc.c py: Support closures with default args. 2014-03-26 23:17:44 +02:00
stream.c py: Replace mp_const_stop_iteration object with MP_OBJ_NULL. 2014-03-26 19:27:58 +00:00
stream.h stream: Add generic unbuffered iternext method. 2014-01-20 18:42:08 +02:00
unicode.c Replace global "static" -> "STATIC", to allow "analysis builds". Part 2. 2014-02-12 18:31:30 +02:00
vm.c py: Put n_state for bytecode in the bytecode prelude. 2014-03-27 11:07:04 +00:00
vstr.c py: Clean up includes. 2014-03-17 02:43:40 -07:00