circuitpython/py
Jeff Epler 510890b207
Enable squeezing property storage in flash
.. and enable it on atmel-samd and raspberrypi. On trinket_m0 this saves
96 net bytes of flash. There are 216 bytes actually saved by reducing
the flash storage size of the property descriptors, but added code in
several paths takes back over half of the 'raw savings'.

By organizing the "get-only" and "get-set" (but no delete) properties
each in a different section, we can represent then more efficiently.

Testing performed: that a get-only property can still be gotten but
can't be set or deleted; that a get-set property can sill be gotten or
set but can't be deleted.  Tested on pygamer.

Because this requires linker file support, I only enabled it on two of
the ports.
2022-05-03 08:48:53 -05:00
..
argcheck.c Implement gifio.GifWriter 2021-10-26 08:54:18 -05:00
asmarm.c Merge tag 'v1.16' 2021-06-18 10:54:19 -05:00
asmarm.h Merge tag 'v1.16' 2021-06-18 10:54:19 -05:00
asmbase.c Merge MicroPython 1.12 into CircuitPython 2021-05-03 14:01:18 -07:00
asmbase.h Merge MicroPython 1.12 into CircuitPython 2021-05-03 14:01:18 -07:00
asmthumb.c Merge tag 'v1.16' 2021-06-18 10:54:19 -05:00
asmthumb.h Merge tag 'v1.16' 2021-06-18 10:54:19 -05:00
asmx64.c py/asmx64: Support use of top 8 regs in src_r64 argument. 2021-05-20 23:43:25 +10:00
asmx64.h Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
asmx86.c Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
asmx86.h Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
asmxtensa.c Merge MicroPython 1.12 into CircuitPython 2021-05-03 14:01:18 -07:00
asmxtensa.h Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
bc0.h Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
bc.c Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
bc.h Explicitly ignore unused variables (fixes #6158) 2022-03-15 22:33:10 -07:00
binary.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
binary.h Merge MicroPython 1.12 into CircuitPython 2021-05-03 14:01:18 -07:00
builtin.h Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
builtinevex.c Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
builtinhelp.c Adapt from our FROZEN_MPY_DIRS to manifests, incuding preprocessing 2022-02-16 15:34:00 -06:00
builtinimport.c Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
circuitpy_defns.mk Merge pull request #5852 from jepler/floppy 2022-04-26 11:40:19 -04:00
circuitpy_mpconfig.h Enable squeezing property storage in flash 2022-05-03 08:48:53 -05:00
circuitpy_mpconfig.mk Enable squeezing property storage in flash 2022-05-03 08:48:53 -05:00
compile.c Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
compile.h Merge MicroPython 1.12 into CircuitPython 2021-05-03 14:01:18 -07:00
dynruntime.h Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
dynruntime.mk all: Remove MICROPY_OPT_CACHE_MAP_LOOKUP_IN_BYTECODE. 2021-09-16 16:04:03 +10:00
emit.h Merge MicroPython 1.12 into CircuitPython 2021-05-03 14:01:18 -07:00
emitbc.c Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
emitcommon.c Merge MicroPython 1.10 into CircuitPython 2021-04-21 15:59:17 -07:00
emitglue.c fix compile error on boards with inline asm 2021-06-18 16:59:48 -05:00
emitglue.h Merge MicroPython 1.12 into CircuitPython 2021-05-03 14:01:18 -07:00
emitinlinethumb.c Merge MicroPython 1.14 into CircuitPython 2021-05-11 15:07:40 -07:00
emitinlinextensa.c Merge MicroPython 1.14 into CircuitPython 2021-05-11 15:07:40 -07: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 Merge tag 'v1.18' 2022-02-15 12:36:26 -06: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 Merge MicroPython 1.12 into CircuitPython 2021-05-03 14:01:18 -07:00
emitnxtensa.c py/emitnative: Add support for return/break/continue in try and with. 2018-09-04 14:31:28 +10:00
emitnxtensawin.c Merge MicroPython 1.12 into CircuitPython 2021-05-03 14:01:18 -07:00
enum.c Initial broadcom port for Raspberry Pi 2021-11-22 14:54:44 -08:00
enum.h Initial broadcom port for Raspberry Pi 2021-11-22 14:54:44 -08:00
formatfloat.c Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
formatfloat.h Add license to some obvious files. 2020-07-06 19:16:25 +01:00
frozenmod.c Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
frozenmod.h Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
gc_long_lived.c Initial broadcom port for Raspberry Pi 2021-11-22 14:54:44 -08:00
gc_long_lived.h Introduce a long lived section of the heap. 2018-01-24 10:33:46 -08:00
gc.c Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
gc.h Merge MicroPython v1.15 into CircuitPython 2021-05-12 17:51:42 -07:00
genlast.py genlast: Actually catch errors when preprocessing files 2022-02-17 08:36:29 -06:00
grammar.h Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
ioctl.h Add license to some obvious files. 2020-07-06 19:16:25 +01:00
lexer.c Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
lexer.h Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
makecompresseddata.py py/makecompresseddata.py: Make compression deterministic. 2020-04-20 10:32:49 +10:00
makemoduledefs.py codeformat: Fix handling of ** 2021-04-30 15:30:13 -05:00
makeqstrdata.py Compress word offset table 2021-08-07 09:23:35 -05:00
makeqstrdefs.py Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
makeversionhdr.py ok other waythen 2022-04-08 16:43:15 -04:00
malloc.c Merge MicroPython 1.10 into CircuitPython 2021-04-21 15:59:17 -07:00
map.c Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
misc.h Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
mkenv.mk Always use python3 2021-10-15 15:11:21 -05:00
mkrules.cmake py/mkrules.cmake: Set frozen preprocessor defs early. 2021-12-18 00:05:18 +11:00
mkrules.mk Adapt from our FROZEN_MPY_DIRS to manifests, incuding preprocessing 2022-02-16 15:34:00 -06:00
modarray.c Merge MicroPython v1.11 into CircuitPython 2021-04-26 15:47:41 -07:00
modbuiltins.c Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
modcmath.c Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
modcollections.c codeformat 2021-04-19 22:22:44 -07:00
modgc.c codeformat 2021-04-19 22:22:44 -07:00
modio.c Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
modmath.c Merge MicroPython 1.14 into CircuitPython 2021-05-11 15:07:40 -07:00
modmicropython.c Shrink builds by defining advanced micropython API 2021-08-19 16:49:33 -07:00
modstruct.c Fix board builds and use MP_ERROR_TEXT in py and extmod 2021-05-05 17:51:52 -07:00
modsys.c Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
modthread.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
moduerrno.c Convert all modules to use MP_REGISTER_MODULE 2021-10-05 18:45:44 +05:30
mpconfig.h Enable squeezing property storage in flash 2022-05-03 08:48:53 -05:00
mperrno.h Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
mphal.h Merge MicroPython 1.14 into CircuitPython 2021-05-11 15:07:40 -07:00
mpprint.c Make %p include the 0x prefix 2021-08-29 11:36:29 -05:00
mpprint.h Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
mpstate.c Add license to some obvious files. 2020-07-06 19:16:25 +01:00
mpstate.h Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
mpthread.h Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
mpz.c Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
mpz.h Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
nativeglue.c Fix up all natmod examples 2021-05-08 20:17:16 -05:00
nativeglue.h Fix up all natmod examples 2021-05-08 20:17:16 -05:00
nlr.c codeformat 2021-04-19 22:22:44 -07:00
nlr.h Merge MicroPython v1.15 into CircuitPython 2021-05-12 17:51:42 -07:00
nlraarch64.c Merge tag 'v1.16' 2021-06-18 10:54:19 -05:00
nlrpowerpc.c Merge MicroPython 1.12 into CircuitPython 2021-05-03 14:01:18 -07:00
nlrsetjmp.c Add license to some obvious files. 2020-07-06 19:16:25 +01:00
nlrthumb.c Initial broadcom port for Raspberry Pi 2021-11-22 14:54:44 -08:00
nlrx64.c Merge tag 'v1.16' 2021-06-18 10:54:19 -05:00
nlrx86.c Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
nlrxtensa.c codeformat 2021-04-19 22:22:44 -07:00
obj.c Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
obj.h Make MP_PROPERTY_GETTER / _GETSET fully declare the property 2022-05-03 08:48:53 -05:00
objarray.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objarray.h Merge MicroPython 1.14 into CircuitPython 2021-05-11 15:07:40 -07:00
objattrtuple.c Rename EXTENDED_FIELDS -> MP_TYPE_EXTENDED_FIELDS 2021-07-12 06:57:59 -05:00
objbool.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objboundmeth.c Rename EXTENDED_FIELDS -> MP_TYPE_EXTENDED_FIELDS 2021-07-12 06:57:59 -05:00
objcell.c codeformat 2021-04-19 22:22:44 -07:00
objclosure.c Rename EXTENDED_FIELDS -> MP_TYPE_EXTENDED_FIELDS 2021-07-12 06:57:59 -05:00
objcomplex.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objdeque.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objdict.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objenumerate.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objexcept.c traceback: fix for crash on non-native exceptions 2021-12-15 12:29:21 +05:30
objexcept.h traceback: fix for crash on non-native exceptions 2021-12-15 12:29:21 +05:30
objfilter.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objfloat.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objfun.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objfun.h Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
objgenerator.c Initial broadcom port for Raspberry Pi 2021-11-22 14:54:44 -08:00
objgenerator.h Add license to some obvious files. 2020-07-06 19:16:25 +01:00
objgetitemiter.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objint_longlong.c Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
objint_mpz.c Merge MicroPython 1.14 into CircuitPython 2021-05-11 15:07:40 -07:00
objint.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objint.h Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
objlist.c Initial broadcom port for Raspberry Pi 2021-11-22 14:54:44 -08:00
objlist.h Separate out mp_obj_list_insert for use in display.Group 2021-02-27 21:13:55 +01:00
objmap.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objmodule.c clean up py/objmodule.c for circuitpython 2022-02-24 15:33:12 -05:00
objmodule.h Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
objnamedtuple.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objnamedtuple.h Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objnone.c Rename EXTENDED_FIELDS -> MP_TYPE_EXTENDED_FIELDS 2021-07-12 06:57:59 -05:00
objobject.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objpolyiter.c Rename EXTENDED_FIELDS -> MP_TYPE_EXTENDED_FIELDS 2021-07-12 06:57:59 -05:00
objproperty.c Enable squeezing property storage in flash 2022-05-03 08:48:53 -05:00
objproperty.h Enable squeezing property storage in flash 2022-05-03 08:48:53 -05:00
objrange.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objreversed.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objset.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objsingleton.c Rename EXTENDED_FIELDS -> MP_TYPE_EXTENDED_FIELDS 2021-07-12 06:57:59 -05:00
objslice.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objstr.c str_modulo_format: Make error better match standard python 2021-10-19 10:52:14 -05:00
objstr.h Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objstringio.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objstringio.h Add license to some obvious files. 2020-07-06 19:16:25 +01:00
objstrunicode.c Turn on unicode for FATFS 2021-08-17 17:41:59 -07:00
objtraceback.c objtraceback: merge with an existing message in objtype 2021-08-23 20:23:23 -05:00
objtraceback.h add traceback object 2021-08-04 12:10:57 +05:30
objtuple.c Initial broadcom port for Raspberry Pi 2021-11-22 14:54:44 -08:00
objtuple.h codeformat 2021-04-19 22:22:44 -07:00
objtype.c Enable squeezing property storage in flash 2022-05-03 08:48:53 -05:00
objtype.h Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objzip.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
opmethods.c Rename mp_type_binary_op -> mp_type_get_binary_op_slot 2021-07-12 07:03:52 -05:00
pairheap.c py/pairheap: Properly unlink node on pop and delete. 2020-03-26 01:21:04 +11:00
pairheap.h py/pairheap: Add helper function to initialise a new node. 2020-03-26 01:21:04 +11:00
parse.c Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
parse.h Merge MicroPython 1.14 into CircuitPython 2021-05-11 15:07:40 -07:00
parsenum.c Merge tag 'v1.16' 2021-06-18 10:54:19 -05:00
parsenum.h Add license to some obvious files. 2020-07-06 19:16:25 +01:00
parsenumbase.c codeformat 2021-04-19 22:22:44 -07:00
parsenumbase.h Add license to some obvious files. 2020-07-06 19:16:25 +01:00
persistentcode.c Update comment in persistentcode.c 2021-05-23 08:57:41 +01:00
persistentcode.h Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
profile.c Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
profile.h Merge MicroPython 1.12 into CircuitPython 2021-05-03 14:01:18 -07:00
proto.c Rename mp_type_protocol -> mp_type_get_protocol_slot 2021-07-12 07:04:04 -05:00
proto.h Rename mp_type_protocol -> mp_type_get_protocol_slot 2021-07-12 07:04:04 -05:00
py.cmake add traceback object 2021-08-04 12:10:57 +05:30
py.mk Merge remote-tracking branch 'adafruit/7.2.x' into merge_7.2.2 2022-03-15 13:56:11 -07:00
pystack.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
pystack.h Initial broadcom port for Raspberry Pi 2021-11-22 14:54:44 -08:00
qstr.c Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
qstr.h Merge MicroPython 1.14 into CircuitPython 2021-05-11 15:07:40 -07:00
qstrdefs.h Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
reader.c Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
reader.h Add license to some obvious files. 2020-07-06 19:16:25 +01:00
repl.c restore a redundant NULL-comparison, it silences compiler diagnostics 2021-06-18 11:24:39 -05:00
repl.h Add license to some obvious files. 2020-07-06 19:16:25 +01:00
ringbuf.c Free ringbuf buffer by relying on gc, not gc_free() 2022-04-04 20:34:49 -04:00
ringbuf.h Free ringbuf buffer by relying on gc, not gc_free() 2022-04-04 20:34:49 -04:00
runtime0.h Merge MicroPython 1.12 into CircuitPython 2021-05-03 14:01:18 -07:00
runtime_utils.c WIP: after merge; before testing 2018-07-11 16:45:30 -04:00
runtime.c Enable squeezing property storage in flash 2022-05-03 08:48:53 -05:00
runtime.h Fix build of dynmod with armv7m (lacks floating point) 2022-02-18 08:45:50 -06:00
scheduler.c refactor traceback handling 2021-11-10 20:23:33 +05:30
scope.c Merge MicroPython 1.14 into CircuitPython 2021-05-11 15:07:40 -07:00
scope.h Merge MicroPython 1.14 into CircuitPython 2021-05-11 15:07:40 -07:00
sequence.c Fix board builds and use MP_ERROR_TEXT in py and extmod 2021-05-05 17:51:52 -07:00
showbc.c Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
smallint.c Add license to some obvious files. 2020-07-06 19:16:25 +01:00
smallint.h Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
stackctrl.c codeformat 2021-04-19 22:22:44 -07:00
stackctrl.h Merge tag 'v1.16' 2021-06-18 10:54:19 -05:00
stream.c Fix board builds and use MP_ERROR_TEXT in py and extmod 2021-05-05 17:51:52 -07:00
stream.h Move mp_get_stream non-inline 2021-05-05 11:00:35 -05:00
unicode.c Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
unicode.h Add license to some obvious files. 2020-07-06 19:16:25 +01:00
usermod.cmake rp2: Add support for USER_C_MODULES to CMake build system. 2021-03-31 00:26:01 +11:00
vm.c Merge remote-tracking branch 'origin/7.2.x' into merge-7.2.x 2022-04-05 08:45:13 -05:00
vmentrytable.h Merge MicroPython 1.14 into CircuitPython 2021-05-11 15:07:40 -07:00
vstr.c Merge MicroPython v1.11 into CircuitPython 2021-04-26 15:47:41 -07:00
warning.c Merge MicroPython v1.11 into CircuitPython 2021-04-26 15:47:41 -07:00