diff options
Diffstat (limited to 'results/scraper/box64/2041')
| -rw-r--r-- | results/scraper/box64/2041 | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/results/scraper/box64/2041 b/results/scraper/box64/2041 new file mode 100644 index 000000000..ad9fadc13 --- /dev/null +++ b/results/scraper/box64/2041 @@ -0,0 +1,33 @@ +[DYNAREC] BOX64_DYNAREC_STRONGMEM tuning for libjvm +Hi, + +The weak memory model architectures[1] reproduced less memory barrier related issue after tuning `BOX64_DYNAREC_STRONGMEM` to bigger one: + +| BOX64_DYNAREC_STRONGMEM | SPECjvm2008[2] derby Reproduced SIGSEGV (run 10 times) smaller is better | +| ------------------------------------------------ | ------------------------------------------------------------------------------------------------------- | +| 1 | 80% | +| 3 | 20% | + +So is it OK tuning `BOX64_DYNAREC_STRONGMEM` to bigger one for libjvm? + +``` +diff --git a/src/librarian/library.c b/src/librarian/library.c +index bf922d60..c206d365 100644 +--- a/src/librarian/library.c ++++ b/src/librarian/library.c +@@ -371,7 +371,7 @@ static int loadEmulatedLib(const char* libname, library_t *lib, box64context_t* + #ifdef DYNAREC + printf_dump(LOG_INFO, "libjvm detected, disable Dynarec BigBlock and enable Dynarec StrongMem, hide SSE 4.2\n"); + box64_dynarec_bigblock = 0; +- box64_dynarec_strongmem = 1; ++ box64_dynarec_strongmem = 3; + #else + printf_dump(LOG_INFO, "libjvm detected, hide SSE 4.2\n"); + #endif +``` + +[1] Synchronization Overview and Case Study on Arm Architecture https://community.arm.com/arm-community-blogs/b/infrastructure-solutions-blog/posts/synchronization-overview-and-case-study-on-arm-architecture-563085493 +[2] SPECjvm2008 https://www.spec.org/jvm2008/ + +Thanks, +Leslie Zhai \ No newline at end of file |