Repository navigation
Windows MinGW support
This release adds initial Windows support with working JIT. libloong now also has shared execute segments, which makes it able to scalable in the engine architecture with many copies of the same program. Finally, the binary translator now has a background compilation mode where the most expensive compilation can happen in another thread while the emulator is running. The result gets live-patched into the execute segment.
Also reached a new CoreMark score with some improvements to binary translator:
$ ./laemu --fast ../tests/programs/coremark.elf
2K performance run parameters for coremark.
CoreMark Size : 666
Total ticks : 12798197
Total time (secs): 12.798197
Iterations/Sec : 15627.201238
Iterations : 200000
Compiler version : GCC14.2.0
Compiler flags : -O3 -DPERFORMANCE_RUN=1
Memory location : Please put data memory location here
(e.g. code in flash, data on heap etc)
seedcrc : 0xe9f5
[0]crclist : 0xe714
[0]crcmatrix : 0x1fd7
[0]crcstate : 0x8e3a
[0]crcfinal : 0x4983
Correct operation validated. See README.md for run and reporting rules.
CoreMark 1.0 : 15627.201238 / GCC14.2.0 -O3 -DPERFORMANCE_RUN=1 / Static
Program exited with code 0It's now at ~38% of native, and gets compiled and applied in the background allowing emulator to start immediately.
Full Changelog: v0.2...v0.3