summary refs log tree commit diff stats
path: root/results/scraper/fex/documentation/828
diff options
context:
space:
mode:
Diffstat (limited to 'results/scraper/fex/documentation/828')
-rw-r--r--results/scraper/fex/documentation/82828
1 files changed, 28 insertions, 0 deletions
diff --git a/results/scraper/fex/documentation/828 b/results/scraper/fex/documentation/828
new file mode 100644
index 00000000..22e6ef7a
--- /dev/null
+++ b/results/scraper/fex/documentation/828
@@ -0,0 +1,28 @@
+AOT & IR Cache Planning
+This is a high level ticket, to track the work that needs to be done for a fairly complete aot/ir cache setup. Follow up from #47 #693 

+

+## Current state

+- FEXLoader can capture IR to aot files via `--aotircapture`

+- FEXLoader can load IR from aot files via `--aotirload`

+- FEXLoader can  pre-process an entire elf with `--aotirgenerate`

+- IR loading is done per executable file (.so or otherwise)

+- IR loading depends on mmap hooks to detect when binaries are loaded

+- IR is loaded via mmap w/ index

+- Used modules create a .path entry in ~/.fex-emu/aotir/

+- Scripts/FEXUpdateAOTIRCache.sh reads .path files and generates .aotir files for the matching elfs/so files

+ 

+### Multi threaded AOTIR generation

+- There's a POC branch, needs multiple thread contexts and some other tweaks

+

+### Streamable AOTIR generation

+- Move the index to the end of the file

+- Stream writes

+

+### Precompiled binary caching (~ 2-4 weeks to reviewable code)

+- Needs our jit to be relocation-aware

+- Needs our codegen to be relocation-optimized

+- Needs similar logic to mmap-based ir loading for the metadata

+- Needs relocation information to be stored and parsed and applied

+  - Preferably on a per-block use basis, to avoid stutters in large files

+- Should introduce a FEXAOTCompiler to compile IR caches to binary caches

+- Should introduce a new cache loading mode, `--aotbin-load` or such that loads binary caches
\ No newline at end of file