Closed outlandkarasu closed 2 years ago
@kinke LDC regression? I would assume an assembler function should not change between compiler versions.
v1.29 came with an extern(D)
ABI change that was highlighted in the change/release log, especially wrt. naked asm assuming params in specific registers.
Some data on something like 650K lines of D code in one go.
dparseCount -> 73 ms, 701 μs, and 1 hnsec 3619150 tokens
sdcCount -> 75 ms and 67 μs 3568151 tokens
dmdFrontendCount -> 74 ms, 92 μs, and 9 hnsecs 3568151 tokens
dparseCount -> 83 ms, 751 μs, and 9 hnsecs 3619150 tokens
sdcCount -> 76 ms, 621 μs, and 9 hnsecs 3568151 tokens
dmdFrontendCount -> 73 ms, 689 μs, and 2 hnsecs 3568151 tokens
Similar trends on an M1 macbook pro.
We could fix the asm but honestly lexing D code is so much faster than analysing it, it wouldn't hurt to just get rid.
When using
DLexer
withsse42 = true
on not Windows and ldc-1.29.0, DLexer constructor has crashed with exited code -11.Reproducing code is bellow.
This error is not occurred with ldc-1.28.0.
Error location is
skip
function insrc/dparse/lexer.d
.