micropython/py
Damien George 593faf14c4 py/map: Store key/value in earliest possible slot in hash table.
This change makes the code behave how it was supposed to work when first
written.  The avail_slot variable is set to the first free slot when
looking for a key (which would come from deleting an entry).  So it's
more efficient (for subsequent lookups) to insert a new key into such a
slot, rather than the very last slot that was searched.
2015-11-19 01:27:28 +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 MICROPY_PERSISTENT_CODE_LOAD/SAVE to load/save bytecode. 2015-11-13 12:49:18 +00:00
bc.h py: Add MICROPY_PERSISTENT_CODE_LOAD/SAVE to load/save 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 py: Check for valid file when creating lexer for execfile. 2015-02-15 00:02:27 +00:00
builtinimport.c py: Allow to import compiled bytecode files. 2015-11-13 12:49:18 +00:00
compile.c py: Implement default and star args for lambdas. 2015-11-17 14:00:14 +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_LOAD/SAVE to load/save bytecode. 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 MICROPY_PERSISTENT_CODE_LOAD/SAVE to load/save bytecode. 2015-11-13 12:49:18 +00:00
emitglue.h py: Add MICROPY_PERSISTENT_CODE_LOAD/SAVE to load/save 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 py: Implement very simple frozen modules support. 2015-01-20 11:52:12 +02:00
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: Implement default and star args for lambdas. 2015-11-17 14:00:14 +00: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 py: Use m_{new,renew,del} consistently. 2015-02-27 09:34:51 +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: 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/map: Store key/value in earliest possible slot in hash table. 2015-11-19 01:27:28 +00: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 py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
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/modmath: Make log2, log10 and hyperbolic funcs be SPECIAL_FUNCTIONS. 2015-11-17 14:10:13 +00:00
modcollections.c py: Implement core of OrderedDict type. 2015-03-20 17:26:10 +00:00
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 py: Use TextIOWrapper only if PY_IO_FILEIO def'd; cast size_t for print. 2015-02-15 13:17:11 +00:00
modmath.c py/modmath: Make log2, log10 and hyperbolic funcs be SPECIAL_FUNCTIONS. 2015-11-17 14:10:13 +00: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_LOAD/SAVE to load/save bytecode. 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 py: Put all global state together in state structures. 2015-01-07 20:33:00 +00:00
mpstate.h py/mpstate: Make mp_pending_exception volatile. 2015-11-17 14:27:21 +00: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 py: Guard against redef of nlr_push with DEBUG + MICROPY_NLR_SETJMP. 2015-03-03 14:34:40 +00:00
nlrsetjmp.c py: Put all global state together in state structures. 2015-01-07 20:33:00 +00:00
nlrthumb.S py/nlrthumb: Make compatible with Cortex-M0 (ARMv6M instr set). 2015-10-20 13:26:34 +01:00
nlrx64.S py: Fix nlr mp_state_ctx symbol error for Mac. 2015-01-08 16:24:44 +00:00
nlrx86.S py: Put all global state together in state structures. 2015-01-07 20:33:00 +00:00
nlrxtensa.S py: Put all global state together in state structures. 2015-01-07 20:33:00 +00:00
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 py: Fix adding of traceback so that it appends to existing info. 2015-02-27 00:36:39 +00:00
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 py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
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 py: Fix adding of traceback so that it appends to existing info. 2015-02-27 00:36:39 +00:00
objmap.c py: Use mp_arg_check_num in some _make_new functions. 2015-01-20 14:11:27 +00:00
objmodule.c extmod/modlwip: slip: Use stream protocol and be port-independent. 2015-10-27 00:04:59 +03:00
objmodule.h py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
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 py, unix: Allow to compile with -Wunused-parameter. 2015-01-20 12:47:20 +00:00
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 py, unix: Allow to compile with -Wunused-parameter. 2015-01-20 12:47:20 +00:00
opmethods.c py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
parse.c py: Implement default and star args for lambdas. 2015-11-17 14:00:14 +00: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 py: Parse big-int/float/imag constants directly in parser. 2015-02-08 01:57:40 +00:00
parsenumbase.c py: Parse big-int/float/imag constants directly in parser. 2015-02-08 01:57:40 +00:00
parsenumbase.h py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
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 py/modmath: Make log2, log10 and hyperbolic funcs be SPECIAL_FUNCTIONS. 2015-11-17 14:10:13 +00: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 py, unix: Allow to compile with -Wunused-parameter. 2015-01-20 12:47:20 +00:00
showbc.c py: Add MICROPY_PERSISTENT_CODE so code can persist beyond the runtime. 2015-11-13 12:49:18 +00:00
smallint.c py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
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 vm: Support strict stackless mode, with proper exception reporting. 2015-04-03 00:26:47 +03:00
stackctrl.h py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
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 py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
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