circuitpython/tools
Scott Shawcroft dd71ae10b9
Slim down stack frames
This reduces the stack frame size of mp_builtin___import__ by
limiting the support path length of files from 256 to 96. This
function can be called recursively for nested imports so it adds up.

Also reduce mp_execute_bytecode (vm.c) from 206 a bc call to 124.
This too is recursive and adds up. It is reduced by preventing
some inlining. It may decrease performance slightly when importing
and unpacking.

Adds two new scripts for debugging. One is used from gdb to print
frame sizes in a backtrace. The other prints what pcs use a
particular stack offset. This helps find infrequently used stack
space.

Fixes #8053.
2023-06-06 16:20:47 -07:00
..
adabot@f879b24c5f update tools/adabot submodule 2021-08-11 23:14:58 -04:00
autobuild Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
bitmap_font@62dd78abdd Hook up the terminal based on the first display. 2019-01-31 11:42:14 -08:00
fonts Fix number of chars in default font to make it valid bdf. 2021-08-15 14:31:58 -05:00
huffman@27b1bba761 Compress all translated strings with Huffman coding. 2018-08-16 17:40:57 -07:00
python-semver@2001c62d1a merge from 2.2.0 + fix up board defs 2018-01-02 21:25:41 -05:00
Tecate-bitmap-fonts@6f52a7ca08 Begin font parsing and packing for terminal 2019-01-31 11:42:13 -08:00
uf2@1421ca7fe7 Updated to latest uf2 commit where file permissions are corrected. 2022-01-07 10:04:11 +01:00
.gitattributes micropython-upip: Mark as binary file and re-commit. 2015-06-06 23:09:23 +03:00
.gitignore tools: check-in errordeveloper/tinytest@eb2dbc858f 2014-05-08 01:41:21 +03:00
analyze_heap_dump.py fix typos (partial) detected by codepell 2023-03-18 22:17:02 +07:00
analyze_mpy.py run code formatting script 2021-03-15 19:27:36 +05:30
black_bindings.py Tweak black_bindings 2022-09-30 11:18:13 -05:00
build_board_info.py sort new boards & new languages lists in circuitpython.org update PR 2023-03-30 15:39:25 -05:00
build_memory_info.py conditionally build all languages 2023-03-04 15:08:54 +05:30
build_release_files.py conditionally build all languages 2023-03-04 15:08:54 +05:30
build-stm-latest.sh tools: Remove obsolete build-stm-latest.sh script. 2021-06-23 16:59:20 +10:00
cc1 tools: Add C middle-processor to make builtin tables proper hash tables. 2015-12-31 00:24:33 +00:00
chart_code_size.py update to py tests and scripts due to black 22.1.0 2022-01-29 17:14:01 -05:00
check_translations.py Add license to some obvious files. 2020-07-06 19:16:25 +01:00
ci_changes_per_commit.py explicitly check for failure of certain jobs 2023-03-10 16:41:13 +05:30
ci_check_duplicate_usb_vid_pid.py YD_ESP32_S3 2023-04-07 18:34:10 +03:00
ci_fetch_deps.py Fix windows CI 2023-04-19 16:02:01 -07:00
ci_set_matrix.py change condition to run all jobs 2023-03-21 22:33:13 +05:30
codeformat.py run updated pre-commit 2023-02-01 13:38:41 +05:30
codestats.sh Add license to some obvious files. 2020-07-06 19:16:25 +01:00
convert_release_notes.py Fix and revise convert-release-notes.py 2022-02-11 16:21:20 -05:00
cortex-m-fault-gdb.py Add Pimoroni Inky Frame 5.7 2023-05-11 12:12:34 -07:00
cpboard.py Fix .bin, .hex and .uf2 with new linker sections 2023-03-20 14:02:57 -07:00
describe cache common submodules and share cp version 2023-01-14 10:58:04 +05:30
dfu.py Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
diff_nm_sizes.py Shrink bluemicro833 build 2022-03-11 16:04:12 -08:00
extract_pyi.py run updated pre-commit 2023-02-01 13:38:41 +05:30
file2h.py codeformat 2021-04-19 22:22:44 -07:00
fixup_translations.py run code formatting script 2021-03-15 19:27:36 +05:30
fwsizes.py add tool to parse out firmware sizes for comparison 2021-07-10 19:11:47 -05:00
gc_activity_between_collects.py run code formatting script 2021-03-15 19:27:36 +05:30
gc_activity.html Add heap analysis scripts based on GDB breakpoint logs. 2016-11-23 17:31:53 -08:00
gc_activity.md Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
gc_activity.py run code formatting script 2021-03-15 19:27:36 +05:30
gdb-stack-size.py Slim down stack frames 2023-06-06 16:20:47 -07:00
gen_crt_bundle.py run updated pre-commit 2023-02-01 13:38:41 +05:30
gen_display_resources.py Improve iMX RT performance 2023-03-14 12:30:58 -07:00
gen_ld_files.py run code formatting script 2021-03-15 19:27:36 +05:30
gen_nvm_devices.py Switch devices.h to nvm.toml data 2021-03-25 09:57:18 -07:00
gen_web_workflow_static.py add back /edit/ handler and specify ES6 quote chars for jsmin 2022-07-15 19:49:03 -05:00
gen-changelog.sh Add license to some obvious files. 2020-07-06 19:16:25 +01:00
gendoc.py fix typos (partial) detected by codepell 2023-03-18 22:17:02 +07:00
git-checkout-latest-tag.sh Add license to some obvious files. 2020-07-06 19:16:25 +01:00
insert-usb-ids.py Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
join_bins.py Add license to some obvious files. 2020-07-06 19:16:25 +01:00
make-frozen.py tools/makemanifest.py: Merge make-frozen.py. 2021-12-17 23:54:05 +11:00
makemanifest.py fix typos (partial) detected by codepell 2023-03-18 22:17:02 +07:00
merge_micropython.py Don't remove all micropython examples, we want natmod and usercmodule 2022-02-15 10:14:47 -06:00
metrics.py tools/metrics.py: Add rp2 port to table of ports that can be built. 2021-04-20 21:39:53 +10:00
mpconfig_category_reader.py run code formatting script 2021-03-15 19:27:36 +05:30
mpy_bin2res.py Add license to some obvious files. 2020-07-06 19:16:25 +01:00
mpy_cross_all.py Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
mpy_ld.py Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
mpy-tool.py run updated pre-commit 2023-02-01 13:38:41 +05:30
msgfmt.py use python based msgfmt 2023-02-13 11:22:35 +05:30
output_gc_until_repl.txt Update gc tracking instructions and gdb commands. 2020-02-11 17:05:43 -08:00
preprocess_frozen_modules.py Touch up 2023-03-23 09:24:11 -04:00
print_status.py run code formatting script 2021-03-15 19:27:36 +05:30
pyboard.py Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
pydfu.py fix typos (partial) detected by codepell 2023-03-18 22:17:02 +07:00
safe_mode_finder.py Add ability to disable BLE workflow 2021-08-02 18:37:19 -07:00
stack-loc-to-pc.py Slim down stack frames 2023-06-06 16:20:47 -07:00
swo_function_trace.py Improve iMX RT performance 2023-03-14 12:30:58 -07:00
swo_viewer.py Improve iMX RT performance 2023-03-14 12:30:58 -07:00
test-stubs.sh Add build to pio install command 2023-05-09 22:31:24 -04:00
tinytest-codegen.py py/formatfloat: Format all whole-number floats exactly. 2022-08-09 13:43:47 -04:00
uncrustify.cfg fix typos (partial) detected by codepell 2023-03-18 22:17:02 +07:00
upip_utarfile.py codeformat 2021-04-19 22:22:44 -07:00
upip.py Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
verifygitlog.py fix typos (partial) detected by codepell 2023-03-18 22:17:02 +07:00