Resolve "32-bit ABC code"
Closes #88 (closed)
To do:
-
Implement missing instructions -
Fix 64-bit version of get_double_real
andstore_double_real
in the C target -
Fix printing of DREAL
nodes on 64-bit platforms in debug_curses.c -
Wasm implementation -
Garbage collection for unboxed arrays of DREAL
For a moment it seemed that the Wasm implementation became up to twice slower (compare old vs new, both with 64-bit Clean, both on runner1), but this seems to be a CI artefact; compare these slow-downs compared to native Clean for 64-bit ABC code on WebAssembly mentioned in the IFL'19 paper, on the current master branch, and on this branch:
Benchmark | Paper | master | 32-bit |
---|---|---|---|
brainfuck | 11.0 | 11.1 | |
fsieve | 3.71 | 3.40 | 3.43 |
lqueen | 9.5 | 7.72 | 7.66 |
nfib | 13.3 | 13.4 | 13.1 |
parser | 2.78 | 2.85 | |
prolog | 6.42 | 6.32 | |
reverse | 3.85 | 2.34 | 2.40 |
rfib | 19.8 | 19.9 | |
squeen | 9.78 | 9.98 | |
symsieve | 5.62 | 5.57 | |
tak | 15.1 | 14.5 | 14.5 |
Edited by Clean Importer