summary refs log tree commit diff stats
path: root/results/scraper/fex/1511
diff options
context:
space:
mode:
authorChristian Krinitsin <mail@krinitsin.com>2025-07-17 09:10:43 +0200
committerChristian Krinitsin <mail@krinitsin.com>2025-07-17 09:10:43 +0200
commitf2ec263023649e596c5076df32c2d328bc9393d2 (patch)
tree5dd86caab46e552bd2e62bf9c4fb1a7504a44db4 /results/scraper/fex/1511
parent63d2e9d409831aa8582787234cae4741847504b7 (diff)
downloadqemu-analysis-main.tar.gz
qemu-analysis-main.zip
add downloaded fex bug-reports HEAD main
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