micropython/py
Damien George c8e9c0d89a py: Add MICROPY_PERSISTENT_CODE so code can persist beyond the runtime.
Main changes when MICROPY_PERSISTENT_CODE is enabled are:

- qstrs are encoded as 2-byte fixed width in the bytecode
- all pointers are removed from bytecode and put in const_table (this
  includes const objects and raw code pointers)

Ultimately this option will enable persistence for not just bytecode but
also native code.
2015-11-13 12:49:18 +00:00
..
argcheck.c py: Use mp_not_implemented consistently for not implemented features. 2015-09-03 23:14:06 +01:00
asmarm.c py: Implement native multiply operation in viper emitter. 2015-06-04 14:00:29 +00:00
asmarm.h py: Implement native multiply operation in viper emitter. 2015-06-04 14:00:29 +00:00
asmthumb.c py/asmthumb: Allow to compile with -Wsign-compare and -Wunused-parameter. 2015-11-09 14:11:21 +00:00
asmthumb.h py: Add lsl/lsr/asr opcode support to inline Thumb2 assembler. 2015-10-19 14:26:19 +01:00
asmx64.c py: Implement ptr32 load and store in viper emitter. 2015-10-13 00:50:17 +01:00
asmx64.h py: Implement ptr32 load and store in viper emitter. 2015-10-13 00:50:17 +01:00
asmx86.c py: Implement native multiply operation in viper emitter. 2015-06-04 14:00:29 +00:00
asmx86.h py: Implement native multiply operation in viper emitter. 2015-06-04 14:00:29 +00:00
bc.c py: Add constant table to bytecode. 2015-11-13 12:49:18 +00:00
bc.h py: Add constant table to bytecode. 2015-11-13 12:49:18 +00:00
bc0.h py: Remove mp_load_const_bytes and instead load precreated bytes object. 2015-06-25 14:42:13 +00:00
binary.c py/objarray: Allow to create array of void pointers, as extension to CPython. 2015-10-12 10:13:51 +03:00
binary.h py/binary: Make return type of mp_binary_get_size size_t instead of int. 2015-05-17 18:12:19 +01:00
builtin.h extmod/modlwip: slip: Use stream protocol and be port-independent. 2015-10-27 00:04:59 +03:00
builtinevex.c
builtinimport.c builtinimport: Fix running package submodule with -m. 2015-06-29 00:26:45 +03:00
compile.c py: Put all bytecode state (arg count, etc) in bytecode. 2015-11-13 12:49:18 +00:00
compile.h py: Allocate parse nodes in chunks to reduce fragmentation and RAM use. 2015-10-02 00:11:11 +01:00
emit.h unix-cpy: Remove unix-cpy. It's no longer needed. 2015-08-17 12:51:26 +01:00
emitbc.c py: Add MICROPY_PERSISTENT_CODE so code can persist beyond the runtime. 2015-11-13 12:49:18 +00:00
emitcommon.c unix-cpy: Remove unix-cpy. It's no longer needed. 2015-08-17 12:51:26 +01:00
emitglue.c py: Add constant table to bytecode. 2015-11-13 12:49:18 +00:00
emitglue.h py: Add constant table to bytecode. 2015-11-13 12:49:18 +00:00
emitinlinethumb.c py: Add constant table to bytecode. 2015-11-13 12:49:18 +00:00
emitnative.c py: Add MICROPY_PERSISTENT_CODE so code can persist beyond the runtime. 2015-11-13 12:49:18 +00:00
formatfloat.c stmhal: fix single precision float printing error 2015-09-11 23:09:50 +03:00
formatfloat.h py: Implement mp_format_float for doubles and use where appropriate 2015-05-17 21:47:11 +01:00
frozenmod.c frozenmod: Include header with function prototypes. 2015-05-31 23:02:04 +03:00
frozenmod.h
gc.c py: Clear finalizer flag when calling gc_free. 2015-11-07 14:26:11 +00:00
gc.h py: Clear finalizer flag when calling gc_free. 2015-11-07 14:26:11 +00:00
grammar.h py: Don't generate unnecessary parse nodes for assignment or kwargs. 2015-10-08 14:26:01 +01:00
lexer.c py/lexer: Properly classify floats that look like hex numbers. 2015-09-07 17:33:44 +01:00
lexer.h unix: Allow to cat a script into stdin from the command line. 2015-06-04 23:42:45 +01:00
lexerstr.c
lexerunix.c unix: Allow to cat a script into stdin from the command line. 2015-06-04 23:42:45 +01:00
makeqstrdata.py py/makeqstrdata.py: Catch and report case of empty input file. 2015-10-11 11:09:57 +03:00
makeversionhdr.py py/makeversionhdr.py: Work with backslashes in paths. 2015-10-30 11:34:53 +03:00
malloc.c py: Improve allocation policy of qstr data. 2015-07-14 22:56:32 +01:00
map.c py: Convert hash API to use MP_UNARY_OP_HASH instead of ad-hoc function. 2015-05-12 22:46:02 +01:00
misc.h py: Improve allocation policy of qstr data. 2015-07-14 22:56:32 +01:00
mkenv.mk py: Allow to to build MicroPython as a static library. 2015-10-12 15:32:06 +03:00
mkrules.mk Makefiles: Remove duplicate object files when linking. 2015-10-24 15:46:53 +03:00
modarray.c
modbuiltins.c py: Add mp_obj_is_float function (macro) and use it where appropriate. 2015-10-20 12:35:17 +01:00
modcmath.c py: Move float e/pi consts to objfloat and make mp_obj_float_t private. 2015-10-20 12:35:17 +01:00
modcollections.c
modgc.c py: Rename MP_BOOL() to mp_obj_new_bool() for consistency in naming. 2015-10-11 15:18:15 +03:00
modio.c
modmath.c py: Move float e/pi consts to objfloat and make mp_obj_float_t private. 2015-10-20 12:35:17 +01:00
modmicropython.c py: Convert occurrences of non-debug printf to mp_printf. 2015-04-16 14:30:16 +00:00
modstruct.c py/modstruct: Support repetition counters for all types, not just string. 2015-10-31 18:47:08 +03:00
modsys.c py: Eliminate some cases which trigger unused parameter warnings. 2015-09-04 16:53:46 +01:00
mpconfig.h py: Add MICROPY_PERSISTENT_CODE so code can persist beyond the runtime. 2015-11-13 12:49:18 +00:00
mphal.h all: Add py/mphal.h and use it in all ports. 2015-10-31 19:14:30 +03:00
mpprint.c all: Add py/mphal.h and use it in all ports. 2015-10-31 19:14:30 +03:00
mpprint.h py: Remove unnecessary extra handling of padding of nan/inf. 2015-05-28 14:22:12 +00:00
mpstate.c
mpstate.h extmod/modlwip: slip: Use stream protocol and be port-independent. 2015-10-27 00:04:59 +03:00
mpz.c py/mpz: Fix bignum anding of large negative with smaller positive int. 2015-10-01 22:35:06 +01:00
mpz.h py/mpz: Force rhs of mpz_shl_inpl/mpz_shr_inpl to be unsigned. 2015-10-01 18:01:37 +01:00
nativeglue.c py: Rename MP_BOOL() to mp_obj_new_bool() for consistency in naming. 2015-10-11 15:18:15 +03:00
nlr.h
nlrsetjmp.c
nlrthumb.S py/nlrthumb: Make compatible with Cortex-M0 (ARMv6M instr set). 2015-10-20 13:26:34 +01:00
nlrx64.S
nlrx86.S
nlrxtensa.S
obj.c py: Make float representation configurable with object representation. 2015-10-20 12:35:40 +01:00
obj.h py: Add constant table to bytecode. 2015-11-13 12:49:18 +00:00
objarray.c py: Rename MP_BOOL() to mp_obj_new_bool() for consistency in naming. 2015-10-11 15:18:15 +03:00
objattrtuple.c py: Fix attrtuple array length in print and creation. 2015-04-29 00:17:48 +01:00
objbool.c py/objbool: Simplify dispatch of bool binary op. 2015-09-04 16:46:15 +01:00
objboundmeth.c py: Overhaul and simplify printf/pfenv mechanism. 2015-04-16 14:30:16 +00:00
objcell.c py: Overhaul and simplify printf/pfenv mechanism. 2015-04-16 14:30:16 +00:00
objclosure.c py: Overhaul and simplify printf/pfenv mechanism. 2015-04-16 14:30:16 +00:00
objcomplex.c py: Rename MP_BOOL() to mp_obj_new_bool() for consistency in naming. 2015-10-11 15:18:15 +03:00
objdict.c py: Rename MP_BOOL() to mp_obj_new_bool() for consistency in naming. 2015-10-11 15:18:15 +03:00
objenumerate.c py: Eliminate some cases which trigger unused parameter warnings. 2015-09-04 16:53:46 +01:00
objexcept.c py: Improve allocation policy of qstr data. 2015-07-14 22:56:32 +01:00
objexcept.h
objfilter.c py: Add MICROPY_PY_BUILTINS_FILTER, disable for minimal ports. 2015-08-20 01:05:11 +03:00
objfloat.c py: Add object repr "C", where 30-bit floats are stuffed in obj word. 2015-10-20 12:38:54 +01:00
objfun.c py: Add MICROPY_PERSISTENT_CODE so code can persist beyond the runtime. 2015-11-13 12:49:18 +00:00
objfun.h py: Add constant table to bytecode. 2015-11-13 12:49:18 +00:00
objgenerator.c py: Add constant table to bytecode. 2015-11-13 12:49:18 +00:00
objgenerator.h
objgetitemiter.c py/objgetitemiter: Make it_iternext() recognize IndexError. 2015-08-30 11:49:49 +01:00
objint.c py: Add mp_obj_is_float function (macro) and use it where appropriate. 2015-10-20 12:35:17 +01:00
objint.h py: Support conversion of bignum to bytes. 2015-04-25 23:16:39 +01:00
objint_longlong.c py/objint_longlong: Instead of assert, throw OverflowError. 2015-11-09 01:34:56 +02:00
objint_mpz.c py: Add mp_obj_is_float function (macro) and use it where appropriate. 2015-10-20 12:35:17 +01:00
objlist.c py: Rename MP_BOOL() to mp_obj_new_bool() for consistency in naming. 2015-10-11 15:18:15 +03:00
objlist.h
objmap.c
objmodule.c extmod/modlwip: slip: Use stream protocol and be port-independent. 2015-10-27 00:04:59 +03:00
objmodule.h
objnamedtuple.c py: Add attrtuple object, for space-efficient tuples with attr access. 2015-04-21 14:14:24 +00:00
objnone.c py: Convert hash API to use MP_UNARY_OP_HASH instead of ad-hoc function. 2015-05-12 22:46:02 +01:00
objobject.c py/objobject: Don't make locals_dict if there's nothing to go in it. 2015-05-17 17:48:47 +01:00
objproperty.c
objrange.c py: Rename MP_BOOL() to mp_obj_new_bool() for consistency in naming. 2015-10-11 15:18:15 +03:00
objreversed.c py: Add MICROPY_PY_BUILTINS_REVERSED, disable for minimal ports. 2015-04-07 00:17:11 +03:00
objset.c py: Rename MP_BOOL() to mp_obj_new_bool() for consistency in naming. 2015-10-11 15:18:15 +03:00
objsingleton.c objsingleton: New home for Ellipsis and NotImplemented. 2015-05-05 22:18:07 +03:00
objslice.c py/objslice: Fix indent. 2015-09-15 22:46:30 +01:00
objstr.c py: With obj repr "C", change raw str accessor from macro to function. 2015-10-20 12:38:54 +01:00
objstr.h py: With obj repr "C", change raw str accessor from macro to function. 2015-10-20 12:38:54 +01:00
objstringio.c py: Overhaul and simplify printf/pfenv mechanism. 2015-04-16 14:30:16 +00:00
objstrunicode.c py: Rename MP_BOOL() to mp_obj_new_bool() for consistency in naming. 2015-10-11 15:18:15 +03:00
objtuple.c py: Rename MP_BOOL() to mp_obj_new_bool() for consistency in naming. 2015-10-11 15:18:15 +03:00
objtuple.h py: Add attrtuple object, for space-efficient tuples with attr access. 2015-04-21 14:14:24 +00:00
objtype.c py: Add MP_BINARY_OP_DIVMOD to simplify and consolidate divmod builtin. 2015-06-13 23:36:30 +01:00
objtype.h py: Check that arg to object.__new__ is a user-defined type. 2015-05-04 11:08:40 +01:00
objzip.c
opmethods.c
parse.c py/parse: Make parser error handling cleaner, less spaghetti-like. 2015-10-12 12:59:18 +01:00
parse.h py: Allocate parse nodes in chunks to reduce fragmentation and RAM use. 2015-10-02 00:11:11 +01:00
parsenum.c py/parsenum: Provide detailed error for int parsing with escaped bytes. 2015-10-01 17:18:12 +01:00
parsenum.h
parsenumbase.c
parsenumbase.h
py.mk extmod/modlwip: slip: Use stream protocol and be port-independent. 2015-10-27 00:04:59 +03:00
qstr.c py/qstr: Fix calc of qstr memory usage, due to new qstr chunk allocation. 2015-10-13 15:52:06 +01:00
qstr.h py: Adjust some spaces in code style/format, purely for consistency. 2015-04-09 15:29:54 +00:00
qstrdefs.h extmod/modlwip: slip: Use stream protocol and be port-independent. 2015-10-27 00:04:59 +03:00
repl.c py/repl: Treat escaped quotes correctly in REPL continuation. 2015-09-19 14:06:23 +01:00
repl.h py, readline: Add tab autocompletion for REPL. 2015-04-29 00:46:26 +01:00
runtime.c py: Add mp_obj_is_float function (macro) and use it where appropriate. 2015-10-20 12:35:17 +01:00
runtime.h py: Remove mp_load_const_bytes and instead load precreated bytes object. 2015-06-25 14:42:13 +00:00
runtime0.h py: Put all bytecode state (arg count, etc) in bytecode. 2015-11-13 12:49:18 +00:00
scope.c unix-cpy: Remove unix-cpy. It's no longer needed. 2015-08-17 12:51:26 +01:00
scope.h py: Put all bytecode state (arg count, etc) in bytecode. 2015-11-13 12:49:18 +00:00
sequence.c
showbc.c py: Add MICROPY_PERSISTENT_CODE so code can persist beyond the runtime. 2015-11-13 12:49:18 +00:00
smallint.c
smallint.h py: Add object repr "C", where 30-bit floats are stuffed in obj word. 2015-10-20 12:38:54 +01:00
stackctrl.c
stackctrl.h
stream.c py/stream: Allow to reuse is_nonblocking_error(). 2015-10-18 15:39:33 +03:00
stream.h py/stream: Allow to reuse is_nonblocking_error(). 2015-10-18 15:39:33 +03:00
unicode.c py: Minor improvement to unichar_isxdigit 2015-05-20 09:31:22 +01:00
unicode.h
vm.c py: Add MICROPY_PERSISTENT_CODE so code can persist beyond the runtime. 2015-11-13 12:49:18 +00:00
vmentrytable.h py: Remove mp_load_const_bytes and instead load precreated bytes object. 2015-06-25 14:42:13 +00:00
vstr.c py: Prevent many extra vstr allocations. 2015-07-06 17:29:27 +01:00
warning.c py: Convert occurrences of non-debug printf to mp_printf. 2015-04-16 14:30:16 +00:00