summary refs log tree commit diff stats
path: root/results/scraper/fex/1511
diff options
context:
space:
mode:
Diffstat (limited to 'results/scraper/fex/1511')
-rw-r--r--results/scraper/fex/151126
1 files changed, 26 insertions, 0 deletions
diff --git a/results/scraper/fex/1511 b/results/scraper/fex/1511
new file mode 100644
index 000000000..fbee94a2f
--- /dev/null
+++ b/results/scraper/fex/1511
@@ -0,0 +1,26 @@
+IREmitter can't fail gracefully on large code blocks
+If a code block overruns the 16MB(8MB times two) of temporary IR space we allocate per thread then FEX throws an assert and doesn't fallback gracefully.

+

+Investigate how we can fail gracefully.

+Reject superblock and force upper limit on superblock size?

+Expand the working IR size?

+

+16MB is fairly large already and if we supported resizing the temp space then this could be quite a bit nicer on memory consumption.

+8MB goes to OrderedNode tracking, which gives 524288 possible IR ops.

+The other 8MB goes to the OpData tracking, which obviously can't get anywhere near that 524k number.

+

+Simple asm test to trigger this case. Make sure to set blocksize to -1 to allow infinite block size.

+```asm

+%ifdef CONFIG

+{

+}

+%endif

+

+mov eax, 0

+

+%rep 65537

+and eax, 0

+%endrep

+

+hlt

+```
\ No newline at end of file