circuitpython/py
Damien George 355eb8eafb py/asmx86: Change indirect calls to load fun ptr from the native table.
Instead of storing the function pointer directly in the assembly code.
This makes the generated code more independent of the runtime (so easier to
relocate the code), and reduces the generated code size.
2018-10-13 15:16:33 +11:00
..
argcheck.c py: Shorten error messages by using contractions and some rewording. 2018-09-20 14:33:10 +10:00
asmarm.c py/asm*: Support assembling code to jump to a register, and get PC+off. 2018-08-16 13:45:24 +10:00
asmarm.h py/asm*: Remove ASM_MOV_REG_ALIGNED_IMM emit macro, it's no longer used. 2018-09-27 23:39:08 +10:00
asmbase.c py/asmbase: Revert removal of clearing of label offsets for native emit. 2017-12-08 19:07:00 +11:00
asmbase.h py/asm: Remove need for dummy_data when doing initial assembler passes. 2016-12-09 22:50:58 +11:00
asmthumb.c py/asmthumb: Extend asm entry/exit to handle stack larger than 508 bytes 2018-09-30 23:31:17 +10:00
asmthumb.h py/asmthumb: Extend asm entry/exit to handle stack larger than 508 bytes 2018-09-30 23:31:17 +10:00
asmx64.c py/asmx64: Change indirect calls to load fun ptr from the native table. 2018-10-13 15:16:33 +11:00
asmx64.h py/asmx64: Change indirect calls to load fun ptr from the native table. 2018-10-13 15:16:33 +11:00
asmx86.c py/asmx86: Change indirect calls to load fun ptr from the native table. 2018-10-13 15:16:33 +11:00
asmx86.h py/asmx86: Change indirect calls to load fun ptr from the native table. 2018-10-13 15:16:33 +11:00
asmxtensa.c py/asmxtensa: Use proper calculation for const table offset. 2018-10-01 12:34:58 +10:00
asmxtensa.h py/asm*: Remove ASM_MOV_REG_ALIGNED_IMM emit macro, it's no longer used. 2018-09-27 23:39:08 +10:00
bc0.h py: Clean up unary and binary enum list to keep groups together. 2017-10-05 10:49:44 +11:00
bc.c py/bc: Update opcode_format_table to match the bytecode. 2017-10-10 10:37:38 +11:00
bc.h all: Remove inclusion of internal py header files. 2017-10-04 12:37:50 +11:00
binary.c py/objstr: Remove "make_qstr_if_not_already" arg from mp_obj_new_str. 2017-11-16 13:17:51 +11:00
binary.h py/binary: Change internal bytearray typecode from 0 to 1. 2017-08-17 16:19:35 +10:00
builtin.h extmod/moducryptolib: Add ucryptolib module with crypto functions. 2018-06-27 14:54:40 +10:00
builtinevex.c all: Remove inclusion of internal py header files. 2017-10-04 12:37:50 +11:00
builtinhelp.c py: Simplify some cases of accessing the map of module and type dict. 2018-07-08 21:31:09 +10:00
builtinimport.c py/builtinimport: Add compile-time option to disable external imports. 2018-02-20 18:00:44 +11:00
compile.c py/emitnative: Implement yield and yield-from in native emitter. 2018-10-01 13:31:11 +10:00
compile.h py/emit: Move MP_EMIT_OPT_xxx enums from compile.h to emitglue.h. 2018-09-15 12:17:09 +10:00
emit.h py/emit: Completely remove set_native_type, arg type is set in compiler. 2018-09-15 13:00:11 +10:00
emitbc.c py/emit: Completely remove set_native_type, arg type is set in compiler. 2018-09-15 13:00:11 +10:00
emitcommon.c py/emit: Combine name and global into one func for load/store/delete. 2018-05-23 00:22:47 +10:00
emitglue.c py/emitnative: Implement yield and yield-from in native emitter. 2018-10-01 13:31:11 +10:00
emitglue.h py/emit: Move MP_EMIT_OPT_xxx enums from compile.h to emitglue.h. 2018-09-15 12:17:09 +10:00
emitinlinethumb.c py: Shorten error messages by using contractions and some rewording. 2018-09-20 14:33:10 +10:00
emitinlinextensa.c py: Shorten error messages by using contractions and some rewording. 2018-09-20 14:33:10 +10:00
emitnarm.c py/emitnative: Add support for return/break/continue in try and with. 2018-09-04 14:31:28 +10:00
emitnative.c py/asmx86: Change indirect calls to load fun ptr from the native table. 2018-10-13 15:16:33 +11:00
emitnthumb.c py/emitnative: Add support for return/break/continue in try and with. 2018-09-04 14:31:28 +10:00
emitnx64.c py/emitnative: Add support for return/break/continue in try and with. 2018-09-04 14:31:28 +10:00
emitnx86.c py/emitnative: Implement yield and yield-from in native emitter. 2018-10-01 13:31:11 +10:00
emitnxtensa.c py/emitnative: Add support for return/break/continue in try and with. 2018-09-04 14:31:28 +10:00
formatfloat.c py/formatfloat: Fix case where floats could render with negative digits. 2018-03-01 17:00:02 +11:00
formatfloat.h all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
frozenmod.c all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
frozenmod.h all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
gc.c py/gc: In gc_alloc, reset n_free var right before search for free mem. 2018-08-14 16:11:21 +10:00
gc.h py/gc: Add gc_sweep_all() function to run all remaining finalisers. 2018-06-12 11:55:29 +10:00
grammar.h py/compile: Combine expr, xor_expr and and_expr into one function. 2018-06-22 17:00:29 +10:00
lexer.c py/lexer: Add support for underscores in numeric literals. 2018-06-12 12:17:43 +10:00
lexer.h all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
makeqstrdata.py py/modbuiltins: Make built-in dir support the __dir__ special method. 2018-05-10 23:14:23 +10:00
makeqstrdefs.py py/makeqstrdefs.py: Optimise by using compiled re's so it runs faster. 2018-03-16 23:54:06 +11:00
makeversionhdr.py py: Use "GEN" consistently for describing files generated in the build. 2018-02-22 12:48:51 +11:00
malloc.c py/malloc: Give a compile warning if using finaliser without GC. 2018-07-09 14:40:02 +10:00
map.c py: Fix compiling with debug enabled and make more use of DEBUG_printf. 2018-08-02 14:17:24 +10:00
misc.h py/misc.h: Add MP_STATIC_ASSERT macro to do static assertions. 2018-05-18 23:31:00 +10:00
mkenv.mk py/mkenv.mk: Use $(PYTHON) consistently when calling Python tools. 2017-11-15 11:56:58 +11:00
mkrules.mk py/mkrules.mk: Regenerate all qstrs when config files change. 2018-06-12 13:53:43 +10:00
modarray.c all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
modbuiltins.c py/modbuiltins: Make oct/hex work when !MICROPY_PY_BUILTINS_STR_OP_MODULO 2018-09-20 14:41:35 +10:00
modcmath.c py: Change obsolete "///" comment formatting to normal comments. 2017-08-30 21:02:00 +10:00
modcollections.c py/objdeque: Implement ucollections.deque type with fixed size. 2018-02-21 22:39:25 +11:00
modgc.c py: Change obsolete "///" comment formatting to normal comments. 2017-08-30 21:02:00 +10:00
modio.c py/modio: Add uio.IOBase class to allow to define user streams. 2018-06-12 12:29:26 +10:00
modmath.c py/modmath: Add math.factorial, optimised and non-opt implementations. 2018-09-26 15:03:04 +10:00
modmicropython.c py: Don't include mp_optimise_value or opt_level() if compiler disabled. 2018-04-04 14:24:03 +10:00
modstruct.c py/modstruct: Check and prevent buffer-write overflow in struct packing. 2017-09-01 11:11:09 +10:00
modsys.c py: Add checks for stream objects in print() and sys.print_exception(). 2018-06-20 15:57:10 +10:00
modthread.c py: Introduce a Python stack for scoped allocation. 2017-12-11 13:49:09 +11:00
moduerrno.c py/moduerrno: Make list of errno codes configurable. 2017-02-22 12:58:11 +11:00
mpconfig.h py/modmath: Add math.factorial, optimised and non-opt implementations. 2018-09-26 15:03:04 +10:00
mperrno.h py/mperrno: Define MP_EWOULDBLOCK as EWOULDBLOCK, not EAGAIN. 2018-05-01 15:53:25 +10:00
mphal.h all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
mpprint.c py/mpprint: Fix "%x" vs "%X" regression introduced in previous commit. 2017-12-07 10:31:14 +02:00
mpprint.h all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
mpstate.c all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
mpstate.h extmod/uos_dupterm: Use native C stream methods on dupterm object. 2018-06-12 15:06:11 +10:00
mpthread.h all: Unify header guard usage. 2017-07-18 11:57:39 +10:00
mpz.c py/mpz: Avoid undefined behavior at integer overflow in mpz_hash. 2018-05-21 12:48:26 +10:00
mpz.h py/mpz: Simplify handling of borrow and quo adjustment in mpn_div. 2017-12-29 14:05:48 +11:00
nativeglue.c py/emitnative: Implement yield and yield-from in native emitter. 2018-10-01 13:31:11 +10:00
nlr.c py/nlr: Fix missing trailing characters in comments in nlr.c 2017-12-29 22:24:53 +11:00
nlr.h py/nlr: Fix nlr functions for 64bit ports built with gcc on Windows 2017-12-29 22:24:46 +11:00
nlrsetjmp.c py/nlr: Factor out common NLR code to macro and generic funcs in nlr.c. 2017-12-28 16:46:30 +11:00
nlrthumb.c py/nlrthumb: Fix Clang support wrt use of "return 0". 2018-04-27 15:10:42 +10:00
nlrx64.c py/nlr: Fix nlr functions for 64bit ports built with gcc on Windows 2017-12-29 22:24:46 +11:00
nlrx86.c py/nlrx86: Use naked attribute on nlr_push for gcc 8.0 and higher. 2018-05-15 11:17:28 +10:00
nlrxtensa.c py/nlr: Factor out common NLR code to macro and generic funcs in nlr.c. 2017-12-28 16:46:30 +11:00
obj.c py: Shorten error messages by using contractions and some rewording. 2018-09-20 14:33:10 +10:00
obj.h py/obj.h: Use uint64_t instead of mp_int_t in repr-D MP_OBJ_IS_x macros. 2018-10-01 16:36:46 +10:00
objarray.c py/objarray: bytearray: Allow 2nd/3rd arg to constructor. 2018-09-11 15:10:10 +10:00
objarray.h py/objarray: Replace 0x80 with new MP_OBJ_ARRAY_TYPECODE_FLAG_RW macro. 2018-06-18 13:40:53 +10:00
objattrtuple.c all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
objbool.c all: Remove inclusion of internal py header files. 2017-10-04 12:37:50 +11:00
objboundmeth.c py: Convert all uses of alloca() to use new scoped allocation API. 2017-12-11 13:49:09 +11:00
objcell.c all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
objclosure.c all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
objcomplex.c py: Shorten error messages by using contractions and some rewording. 2018-09-20 14:33:10 +10:00
objdeque.c py/objdeque: Fix sign extension bug when computing len of deque object. 2018-05-11 13:44:50 +10:00
objdict.c py/objdict: Reword TODO about inlining mp_obj_dict_get to a note. 2018-09-27 15:14:12 +10:00
objenumerate.c all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
objexcept.c py/objexcept: Make MP_DEFINE_EXCEPTION public so ports can define excs. 2018-03-17 00:31:40 +11:00
objexcept.h py/objexcept: Make MP_DEFINE_EXCEPTION public so ports can define excs. 2018-03-17 00:31:40 +11:00
objfilter.c all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
objfloat.c py/objfloat: Fix abs(-0.0) so it returns 0.0. 2018-09-27 15:21:25 +10:00
objfun.c py/emitnative: Implement yield and yield-from in native emitter. 2018-10-01 13:31:11 +10:00
objfun.h py/objgenerator: Implement __name__ with normal fun attr accessor code. 2018-07-10 16:33:57 +10:00
objgenerator.c py/emitnative: Implement yield and yield-from in native emitter. 2018-10-01 13:31:11 +10:00
objgenerator.h all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
objgetitemiter.c all: Remove inclusion of internal py header files. 2017-10-04 12:37:50 +11:00
objint_longlong.c py: Shorten error messages by using contractions and some rewording. 2018-09-20 14:33:10 +10:00
objint_mpz.c py: Shorten error messages by using contractions and some rewording. 2018-09-20 14:33:10 +10:00
objint.c py/objint: Remove TODO about checking of int() arg types with 2 args. 2018-09-27 15:15:29 +10:00
objint.h py/modbuiltins: Implement abs() by dispatching to MP_UNARY_OP_ABS. 2017-09-18 00:06:43 +03:00
objlist.c all: Use NULL instead of "" when calling mp_raise exception helpers. 2017-10-24 22:39:36 +11:00
objlist.h py/obj.h: Move declaration of mp_obj_list_init to objlist.h. 2018-03-13 14:03:15 +11:00
objmap.c all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
objmodule.c py/objmodule: Remove TODO about checking store attr to a module. 2018-09-27 15:16:24 +10:00
objmodule.h py/objmodule: Factor common code for calling __init__ on builtin module. 2018-02-20 17:56:58 +11:00
objnamedtuple.c py/objnamedtuple: Allow to reuse namedtuple basic functionality. 2017-11-20 09:30:06 +02:00
objnamedtuple.h py/objnamedtuple: Allow to reuse namedtuple basic functionality. 2017-11-20 09:30:06 +02:00
objnone.c all: Remove inclusion of internal py header files. 2017-10-04 12:37:50 +11:00
objobject.c py/objtype: Refactor object's handling of __new__ to not create 2 objs. 2017-12-12 16:53:44 +11:00
objpolyiter.c all: Remove inclusion of internal py header files. 2017-10-04 12:37:50 +11:00
objproperty.c all: Remove inclusion of internal py header files. 2017-10-04 12:37:50 +11:00
objrange.c py/objrange: Implement (in)equality comparison between range objects. 2018-02-14 23:17:06 +11:00
objreversed.c all: Remove inclusion of internal py header files. 2017-10-04 12:37:50 +11:00
objset.c py/objset: Remove unneeded check from set_equal. 2017-12-19 14:01:19 +11:00
objsingleton.c all: Remove inclusion of internal py header files. 2017-10-04 12:37:50 +11:00
objslice.c py/objslice: Remove long-obsolete comment about enhancing slice object. 2018-09-27 11:23:31 +10:00
objstr.c py/objstr: format: Return bytes result for bytes format string. 2018-09-26 15:29:41 +10:00
objstr.h py/objstr: Make mp_obj_new_str_of_type check for existing interned qstr. 2017-11-16 13:53:04 +11:00
objstringio.c py/stream: Switch stream close operation from method to ioctl. 2018-04-10 13:41:32 +10:00
objstringio.h py/objstringio: If created from immutable object, follow copy on write policy. 2017-06-09 17:33:01 +03:00
objstrunicode.c py/unicode: Clean up utf8 funcs and provide non-utf8 inline versions. 2018-02-14 18:19:22 +11:00
objtuple.c all: Remove inclusion of internal py header files. 2017-10-04 12:37:50 +11:00
objtuple.h all: Convert mp_uint_t to mp_unary_op_t/mp_binary_op_t where appropriate 2017-08-29 13:16:30 +10:00
objtype.c py/objtype: Support full object model for get/set/delitem special meths. 2018-09-28 23:22:34 +10:00
objtype.h py/objtype: Don't expose mp_obj_instance_attr(). 2018-06-08 11:48:25 +10:00
objzip.c all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
opmethods.c py/runtime: Add MP_BINARY_OP_CONTAINS as reverse of MP_BINARY_OP_IN. 2017-11-24 14:48:23 +11:00
parse.c py: Shorten error messages by using contractions and some rewording. 2018-09-20 14:33:10 +10:00
parse.h all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
parsenum.c py/parsenum: Avoid rounding errors with negative powers-of-10. 2018-09-20 22:06:41 +10:00
parsenum.h all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
parsenumbase.c all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
parsenumbase.h all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
persistentcode.c py/emitglue: When assigning bytecode only pass bytecode len if needed. 2018-02-14 18:41:17 +11:00
persistentcode.h py: Factor out persistent-code reader into separate files. 2016-11-16 18:13:50 +11:00
py.mk py/py.mk: Build axtls library directly from its source files. 2018-09-08 00:07:23 +10:00
pystack.c py/pystack: Use "pystack exhausted" as error msg for out of pystack mem. 2018-02-19 00:26:14 +11:00
pystack.h py: Introduce a Python stack for scoped allocation. 2017-12-11 13:49:09 +11:00
qstr.c py/qstr: Rewrite find_qstr to make manifest that it returns a valid ptr. 2017-11-29 17:01:39 +11:00
qstr.h py/qstr: Add QSTR_TOTAL() macro to get number of qstrs. 2018-02-19 16:12:44 +11:00
qstrdefs.h py/modbuiltins: Make oct/hex work when !MICROPY_PY_BUILTINS_STR_OP_MODULO 2018-09-20 14:41:35 +10:00
reader.c py/reader: Allow MICROPY_VFS_POSIX to work with MICROPY_READER_POSIX. 2018-06-06 14:28:23 +10:00
reader.h py: Allow lexer to raise exceptions during construction. 2017-03-14 11:52:05 +11:00
repl.c py/repl: Fix handling of unmatched brackets and unfinished quotes. 2018-05-18 15:23:02 +10:00
repl.h all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
ringbuf.h all: Unify header guard usage. 2017-07-18 11:57:39 +10:00
runtime0.h py/emitnative: Implement yield and yield-from in native emitter. 2018-10-01 13:31:11 +10:00
runtime_utils.c py: mp_call_function_*_protected(): Pass-thru return value if possible. 2017-12-05 00:38:41 +02:00
runtime.c py/runtime: Remove comment in mp_import_name about level being 0. 2018-10-01 15:35:10 +10:00
runtime.h py: Fix msvc C++ compiler warnings with MP_OBJ_FUN_MAKE_SIG macro. 2018-09-26 15:34:59 +10:00
scheduler.c py: Add micropython.schedule() function and associated runtime code. 2017-03-20 15:20:26 +11:00
scope.c all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
scope.h py/emitnative: Place const objs for native code in separate const table. 2018-09-27 23:39:08 +10:00
sequence.c all: Remove inclusion of internal py header files. 2017-10-04 12:37:50 +11:00
showbc.c py: Clean up unary and binary enum list to keep groups together. 2017-10-05 10:49:44 +11:00
smallint.c all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
smallint.h py: Extend nan-boxing config to have 47-bit small integers. 2017-12-11 22:39:12 +11:00
stackctrl.c py/runtime: Move mp_exc_recursion_depth to runtime and rename to raise. 2017-12-11 13:49:09 +11:00
stackctrl.h all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
stream.c py/stream: Adjust mp_stream_posix_XXX to take void*, not mp_obj_t. 2018-08-14 17:36:08 +10:00
stream.h py/stream: Adjust mp_stream_posix_XXX to take void*, not mp_obj_t. 2018-08-14 17:36:08 +10:00
unicode.c py/unicode: Clean up utf8 funcs and provide non-utf8 inline versions. 2018-02-14 18:19:22 +11:00
unicode.h py/objstr: Add check for valid UTF-8 when making a str from bytes. 2017-09-06 16:43:09 +10:00
vm.c py/vm: When VM raises exception put exc obj at beginning of func state. 2018-09-29 23:25:08 +10:00
vmentrytable.h py: Clean up unary and binary enum list to keep groups together. 2017-10-05 10:49:44 +11:00
vstr.c py/vstr: Raise a RuntimeError if fixed vstr buffer overflows. 2017-09-21 20:29:41 +10:00
warning.c py: Add config option to print warnings/errors to stderr. 2017-09-26 11:59:11 +10:00