circuitpython/py
Paul Sokolovsky c3d96d387c py/objexcept: Allow clearing traceback with 'exc.__traceback__ = None'.
We allow 'exc.__traceback__ = None' assignment as a low-level optimization
of pre-allocating exception instance and raising it repeatedly - this
avoids memory allocation during raise. However, uPy will keep adding
traceback entries to such exception instance, so before throwing it,
traceback should be cleared like above.

'exc.__traceback__ = None' syntax is CPython compatible. However, unlike
it, reading that attribute or setting it to any other value is not
supported (and not intended to be supported, again, the only reason for
adding this feature is to allow zero-memalloc exception raising).
2016-11-14 02:29:09 +03:00
..
argcheck.c py: Use mp_raise_msg helper function where appropriate. 2016-10-17 12:17:37 +11: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: Flush D-cache, and invalidate I-cache on STM32F7. 2016-09-09 14:48:15 +10: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/asmx64: Support all 16 regs in reg to memory move instructions. 2016-02-15 09:05:50 +00:00
asmx64.h py: Implement ptr32 load and store in viper emitter. 2015-10-13 00:50:17 +01:00
asmx86.c py/asmx86: Fix function definition to use int32_t instead of int. 2015-11-27 14:06:53 +00:00
asmx86.h py: Implement native multiply operation in viper emitter. 2015-06-04 14:00:29 +00:00
bc0.h py: Combine 3 comprehension opcodes (list/dict/set) into 1. 2016-09-19 12:28:03 +10:00
bc.c py: Use mp_raise_msg helper function where appropriate. 2016-10-17 12:17:37 +11:00
bc.h py/bc.h: Rename _mp_code_state to _mp_code_state_t. 2016-08-27 23:23:51 +10:00
binary.c py: Wrap all obj-ptr conversions in MP_OBJ_TO_PTR/MP_OBJ_FROM_PTR. 2015-11-29 14:25:35 +00: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 py: Add "delattr" builtin, conditional on MICROPY_CPYTHON_COMPAT. 2016-10-24 13:50:03 +11:00
builtinevex.c py: Use mp_raise_msg helper function where appropriate. 2016-10-17 12:17:37 +11:00
builtinimport.c py: Use mp_raise_msg helper function where appropriate. 2016-10-17 12:17:37 +11:00
compile.c py/compile: Remove debugging code for compiler dispatch. 2016-10-12 10:20:48 +11:00
compile.h py/compile: Add mp_compile_to_raw_code() to return raw code object. 2015-11-20 12:30:37 +00:00
emit.h py: Combine 3 comprehension emit functions (list/dict/set) into 1. 2016-09-19 12:23:31 +10:00
emitbc.c py: remove asserts that are always true in emitbc.c 2016-10-31 23:21:22 +03:00
emitcommon.c py/scope: Factor common code to find locals and close over them. 2016-09-30 13:53:00 +10:00
emitglue.c esp8266: Enable importing of precompiled .mpy files. 2016-10-12 11:03:58 +11:00
emitglue.h py/emitglue: Make mp_raw_code_t* arguments constant pointers. 2016-04-13 16:05:43 +01:00
emitinlinethumb.c py/emitinlinethumb: Use qstrs instead of char* for names of asm ops. 2016-02-23 15:20:39 +00:00
emitnative.c py/emitnative: Fix native import emitter when in viper mode. 2016-11-10 22:53:04 +11:00
formatfloat.c py/formatfloat: Fix further cases of buffer overflow in formatting. 2016-03-29 22:07:15 +01:00
formatfloat.h py: Implement mp_format_float for doubles and use where appropriate 2015-05-17 21:47:11 +01:00
frozenmod.c py: Allow to stat and import frozen mpy files using new frozen "VFS". 2016-05-23 12:42:23 +01:00
frozenmod.h py/{builtinimport,frozenmod}: Rework frozen modules support to support packages. 2016-05-21 21:38:50 +03:00
gc.c py/gc: Add MICROPY_GC_CONSERVATIVE_CLEAR option to always zero memory. 2016-08-26 15:35:26 +10:00
gc.h py/gc: Calculate (and report) maximum contiguous free block size. 2016-07-01 00:09:55 +03:00
grammar.h py: Simplify "and" action within parser by making ident-rules explicit. 2016-04-14 13:49:23 +01:00
lexer.c py/lexer: Remove unnecessary code, and unreachable code. 2016-10-12 11:00:17 +11:00
lexer.h py: add async/await/async for/async with syntax 2016-04-13 15:26:38 +01:00
lexerstr.c py: Add MICROPY_ENABLE_COMPILER and MICROPY_PY_BUILTINS_EVAL_EXEC opts. 2015-12-18 12:35:44 +00:00
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: Compute the qstr hash from bytes, not characters. 2016-09-02 14:32:47 +10:00
makeqstrdefs.py py/makeqstrdefs.py: Use python 2.6 syntax for set creation. 2016-09-09 23:01:23 +10:00
makeversionhdr.py py/makeversionhdr.py: Work with backslashes in paths. 2015-10-30 11:34:53 +03:00
malloc.c py/gc: Add MICROPY_GC_CONSERVATIVE_CLEAR option to always zero memory. 2016-08-26 15:35:26 +10:00
map.c py: Declare constant data as properly constant. 2016-05-20 12:46:20 +01:00
misc.h py/vstr: Combine vstr_new_size with vstr_new since they are rarely used. 2016-10-14 16:46:34 +11:00
mkenv.mk py: Move frozen bytecode Makefile rules from ports to common mk files. 2016-11-08 14:28:30 +11:00
mkrules.mk py: Strip leading dirs from frozen mpy files, so any path can be used. 2016-11-08 14:36:06 +11:00
modarray.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
modbuiltins.c py: Add "delattr" builtin, conditional on MICROPY_CPYTHON_COMPAT. 2016-10-24 13:50:03 +11:00
modcmath.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
modcollections.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
modgc.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
modio.c py: Add mp_raise_OSError(errno) helper function. 2016-10-07 13:31:59 +11:00
modmath.c py: Add MICROPY_FLOAT_CONST macro for defining float constants. 2016-11-03 12:33:01 +11:00
modmicropython.c py/modmicropython: Add micropython.opt_level([value]) function. 2016-10-11 10:56:22 +11:00
modstruct.c py/modstruct: Remove unreachable code, and add comment about CPy diff. 2016-10-07 12:54:14 +11:00
modsys.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
modthread.c py: Use mp_raise_msg helper function where appropriate. 2016-10-17 12:17:37 +11:00
moduerrno.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
mpconfig.h py: Add MICROPY_FLOAT_CONST macro for defining float constants. 2016-11-03 12:33:01 +11:00
mperrno.h py/moduerrno: Add ECONNREFUSED, one of frequent networking errors. 2016-05-28 00:17:19 +03:00
mphal.h extmod/utime_mphal: Factor out implementations in terms of mp_hal_* for reuse. 2016-10-14 20:14:01 +03:00
mpprint.c py/objint: Use size_t for arguments that measure bytes/sizes. 2016-10-11 13:20:11 +11:00
mpprint.h lib/utils/pyhelp.c: Use mp_printf() instead of printf() 2016-10-21 18:30:58 +11:00
mpstate.c py: Add MICROPY_DYNAMIC_COMPILER option to config compiler at runtime. 2016-02-25 10:05:46 +00:00
mpstate.h py/gc: Implement GC running by allocation threshold. 2016-07-21 00:37:30 +03:00
mpthread.h py/mpthread: Include mpstate.h when defining GIL macros. 2016-06-28 11:28:52 +01:00
mpz.c py: fix null pointer dereference in mpz.c, fix missing va_end in warning.c 2016-10-31 23:21:15 +03:00
mpz.h py: Factor duplicated function to calculate size of formatted int. 2016-10-11 13:11:32 +11:00
nativeglue.c py/viper: Allow casting of Python integers to viper pointers. 2016-02-09 13:29:20 +00:00
nlr.h py/nlrsetjmp: Update to take into account new location of nlr_top. 2016-06-28 11:28:52 +01:00
nlrsetjmp.c py/nlrsetjmp: Update to take into account new location of nlr_top. 2016-06-28 11:28:52 +01:00
nlrthumb.c py: Fix nlrthumb.c when DEBUG=1 is defined 2016-07-21 00:54:21 +03:00
nlrx64.S py/nlrx64.S: Prefix mp_thread_get_state with an underscore on Mac. 2016-07-11 14:27:47 +01:00
nlrx86.S unix: fix symbol references for x86 Mac 2016-11-02 00:42:04 +03:00
nlrxtensa.S py: Put all global state together in state structures. 2015-01-07 20:33:00 +00:00
obj.c py/{modbuiltins,obj}: Use MP_PYTHON_PRINTER where possible. 2016-10-22 01:07:07 +03:00
obj.h py: Specialise builtin funcs to use separate type for fixed arg count. 2016-10-21 16:26:01 +11:00
objarray.c py: Use mp_raise_msg helper function where appropriate. 2016-10-17 12:17:37 +11:00
objarray.h py/objarray: Split out header to allow direct access to object. 2016-07-06 18:19:27 +03:00
objattrtuple.c py: Wrap all obj-ptr conversions in MP_OBJ_TO_PTR/MP_OBJ_FROM_PTR. 2015-11-29 14:25:35 +00:00
objbool.c py/objbool: Make a slight simplification of bool constructor. 2016-09-30 17:02:07 +10:00
objboundmeth.c py/objboundmeth: Allocate arg state on stack if heap alloc fails. 2016-03-08 15:36:53 +00:00
objcell.c py: Wrap all obj-ptr conversions in MP_OBJ_TO_PTR/MP_OBJ_FROM_PTR. 2015-11-29 14:25:35 +00:00
objclosure.c py: Fix passing of some wide int types to printf varg format list. 2016-03-14 22:40:39 +00:00
objcomplex.c py: Use mp_raise_msg helper function where appropriate. 2016-10-17 12:17:37 +11:00
objdict.c py: Use mp_raise_msg helper function where appropriate. 2016-10-17 12:17:37 +11:00
objenumerate.c py: Use new code pattern for parsing kw args with mp_arg_parse_all. 2016-01-13 15:47:56 +00:00
objexcept.c py/objexcept: Allow clearing traceback with 'exc.__traceback__ = None'. 2016-11-14 02:29:09 +03:00
objexcept.h py: Change exception traceback data to use size_t instead of mp_uint_t. 2016-01-02 22:04:12 +00:00
objfilter.c py: Get rid of assert() in method argument checking functions. 2016-08-12 22:39:03 +03:00
objfloat.c py: Use mp_raise_msg helper function where appropriate. 2016-10-17 12:17:37 +11:00
objfun.c py: Specialise builtin funcs to use separate type for fixed arg count. 2016-10-21 16:26:01 +11:00
objfun.h py: Add constant table to bytecode. 2015-11-13 12:49:18 +00:00
objgenerator.c py: Use mp_raise_msg helper function where appropriate. 2016-10-17 12:17:37 +11:00
objgenerator.h py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
objgetitemiter.c py/objgetitemiter: Typo fix in comment. 2016-01-23 23:30:06 +02:00
objint_longlong.c py/objint: Use size_t for arguments that measure bytes/sizes. 2016-10-11 13:20:11 +11:00
objint_mpz.c py: Use mp_raise_msg helper function where appropriate. 2016-10-17 12:17:37 +11:00
objint.c py: Use mp_raise_msg helper function where appropriate. 2016-10-17 12:17:37 +11:00
objint.h py/objint: Use size_t for arguments that measure bytes/sizes. 2016-10-11 13:20:11 +11:00
objlist.c py: Use mp_raise_msg helper function where appropriate. 2016-10-17 12:17:37 +11:00
objlist.h py: Fix adding of traceback so that it appends to existing info. 2015-02-27 00:36:39 +00:00
objmap.c py: Get rid of assert() in method argument checking functions. 2016-08-12 22:39:03 +03:00
objmodule.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
objmodule.h py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
objnamedtuple.c py: Use mp_raise_msg helper function where appropriate. 2016-10-17 12:17:37 +11:00
objnone.c py/objnone: Use mp_generic_unary_op instead of custom one. 2016-09-19 12:28:55 +10:00
objobject.c py: Use mp_raise_msg helper function where appropriate. 2016-10-17 12:17:37 +11:00
objpolyiter.c py/objpolyiter: Implement instance-polymorphic iterator type. 2015-12-14 23:48:12 +02:00
objproperty.c py: Get rid of assert() in method argument checking functions. 2016-08-12 22:39:03 +03:00
objrange.c py: Change first arg of type.make_new from mp_obj_t to mp_obj_type_t*. 2016-01-11 00:49:27 +00:00
objreversed.c py: Get rid of assert() in method argument checking functions. 2016-08-12 22:39:03 +03:00
objset.c py: Use mp_raise_msg helper function where appropriate. 2016-10-17 12:17:37 +11:00
objsingleton.c py: Wrap all obj-ptr conversions in MP_OBJ_TO_PTR/MP_OBJ_FROM_PTR. 2015-11-29 14:25:35 +00:00
objslice.c py: Wrap all obj-ptr conversions in MP_OBJ_TO_PTR/MP_OBJ_FROM_PTR. 2015-11-29 14:25:35 +00:00
objstr.c py/objstr: Remove unreachable function used only for terse error msgs. 2016-09-27 15:45:42 +10:00
objstr.h py: Be more specific with MP_DECLARE_CONST_FUN_OBJ macros. 2016-10-21 16:26:01 +11:00
objstringio.c py: Use mp_raise_msg helper function where appropriate. 2016-10-17 12:17:37 +11:00
objstringio.h extmod/modujson: Implement ujson.load() to load JSON from a stream. 2016-10-13 11:46:14 +11:00
objstrunicode.c py/objstr,objstrunicode: Fix inconistent #if indentation. 2016-08-07 15:24:57 +03:00
objtuple.c py/objtuple: In tuple_cmp_helper, use mp_check_self instead of raising. 2016-08-14 16:28:05 +10:00
objtuple.h py: Add MP_ROM_* macros and mp_rom_* types and use them. 2015-11-29 14:25:04 +00:00
objtype.c py: Use mp_raise_msg helper function where appropriate. 2016-10-17 12:17:37 +11:00
objtype.h py: Change first arg of type.make_new from mp_obj_t to mp_obj_type_t*. 2016-01-11 00:49:27 +00:00
objzip.c py: Get rid of assert() in method argument checking functions. 2016-08-12 22:39:03 +03:00
opmethods.c py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
parse.c py: Fix wrong assumption that m_renew will not move if shrinking 2016-11-02 23:15:41 +11:00
parse.h py/parse: Improve constant folding to operate on small and big ints. 2016-01-07 14:40:35 +00:00
parsenum.c py: Add MICROPY_FLOAT_CONST macro for defining float constants. 2016-11-03 12:33:01 +11:00
parsenum.h py/parsenum: Use size_t to count bytes, and int for type of base arg. 2016-03-14 22:34:03 +00:00
parsenumbase.c py/parsenum: Fix compiler warnings for no decl and signed comparison. 2016-03-14 22:52:52 +00:00
parsenumbase.h py/parsenum: Use size_t to count bytes, and int for type of base arg. 2016-03-14 22:34:03 +00:00
py.mk py: Move frozen bytecode Makefile rules from ports to common mk files. 2016-11-08 14:28:30 +11:00
qstr.c py: Fix wrong assumption that m_renew will not move if shrinking 2016-11-02 23:15:41 +11:00
qstr.h py: Rename __QSTR_EXTRACT flag to NO_QSTR. 2016-06-16 01:42:48 +03:00
qstrdefs.h py: Add rules for automated extraction of qstrs from sources. 2016-04-16 13:18:09 +01:00
repl.c py: Declare constant data as properly constant. 2016-05-20 12:46:20 +01:00
repl.h py, readline: Add tab autocompletion for REPL. 2015-04-29 00:46:26 +01:00
ringbuf.h py/ringbuf.h: Add reusable ring buffer class. 2016-03-30 14:48:31 +03:00
runtime0.h py: Extend native type-sig to use 4 bits, so uint is separate to ptr. 2016-02-02 23:16:05 +00:00
runtime_utils.c py/runtime_utils: Fix nanbox build. 2016-04-25 20:03:14 +03:00
runtime.c py: Specialise builtin funcs to use separate type for fixed arg count. 2016-10-21 16:26:01 +11:00
runtime.h py: Add mp_raise_OSError(errno) helper function. 2016-10-07 13:31:59 +11:00
scope.c py/scope: Factor common code to find locals and close over them. 2016-09-30 13:53:00 +10:00
scope.h py/scope: Factor common code to find locals and close over them. 2016-09-30 13:53:00 +10:00
sequence.c py/sequence: Fix reverse slicing of lists. 2016-10-30 15:54:19 -02:00
showbc.c py/showbc: Make printf's go to the platform print stream. 2016-09-20 11:30:54 +10:00
smallint.c py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
smallint.h py/smallint: Allow to override MP_SMALL_INT_MIN et al. 2016-01-08 13:43:56 +00:00
stackctrl.c py: Add MP_STATE_THREAD to hold state specific to a given thread. 2016-06-28 11:09:31 +01:00
stackctrl.h py/stackctrl: Add mp_stack_set_top() to explicitly set stack top value. 2016-03-07 14:12:24 +07:00
stream.c all: Remove readall() method, which is equivalent to read() w/o args. 2016-11-14 00:24:22 +03:00
stream.h all: Remove readall() method, which is equivalent to read() w/o args. 2016-11-14 00:24:22 +03:00
unicode.c py/repl: Check for an identifier char after the keyword. 2016-02-17 08:56:15 +00:00
unicode.h py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
vm.c py/vm: Use MP_OBJ_FROM_PTR to cast a type to an object. 2016-09-27 13:21:23 +10:00
vmentrytable.h py: Combine 3 comprehension opcodes (list/dict/set) into 1. 2016-09-19 12:28:03 +10:00
vstr.c py/vstr: Combine vstr_new_size with vstr_new since they are rarely used. 2016-10-14 16:46:34 +11:00
warning.c py: fix null pointer dereference in mpz.c, fix missing va_end in warning.c 2016-10-31 23:21:15 +03:00