From d003293b6d214e31126b1dde47c755004688ce63 Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Wed, 08 Feb 2017 09:02:36 -0500 Subject: TODO: Add more ctxsw optimization notes --- diff --git a/TODO b/TODO index 45d522d..10f8bda 100644 --- a/TODO +++ b/TODO @@ -8,13 +8,16 @@ Example: array `arr` and index `_ind`: stored as `__arr_arr__x___ind` Example: array `arr_` and index `_ind`: stored as `__arr_arr___x___ind` * Consider ctxsw optimization: - - In backend, prefix parameter names (in assignments and expansions) with TU - and function + - In backend, prefix static parameter names (in assignments and expansions) + and static function names (in definitions and calls) with TU and function + - Replace non-static parameter names with eval to prefix names with SP + - Symbol table needed to track global vs local and static vs non-static + symbols - In eshrt, remove variable updating code - Caveat: breaks variable parameter names in eval - If arrays are implemented, would anyone still need variable parameter names? - - Maybe add -fno-mangle-vars option to eshtrans to disable prefixing and + - Maybe add -fno-mangle-symbols option to eshtrans to disable prefixing and insert a flag in generated code to enable eshrt to update variables * Build system - Pre-built toolchain in source tree -- cgit v0.9.1