changeset 222:f3d7307b0ee3

Bug 3342: Replace LDDQU instruction for uncached memory regions Reviewed-by: yasuenag https://github.com/HeapStats/heapstats/pull/87
author KUBOTA Yuji <kubota.yuji@lab.ntt.co.jp>
date Sat, 25 Mar 2017 23:42:22 +0900
parents aba6d9899517
children 2412c90533d0
files ChangeLog agent/src/heapstats-engines/arch/x86/avx/jvmInfo.inline.hpp agent/src/heapstats-engines/arch/x86/sse3/jvmInfo.inline.hpp
diffstat 3 files changed, 12 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Mon Feb 27 19:22:39 2017 +0900
+++ b/ChangeLog	Sat Mar 25 23:42:22 2017 +0900
@@ -1,3 +1,7 @@
+2017-03-25 KUBOTA Yuji <kubota.yuji@lab.ntt.co.jp>
+
+	* Bug 3342: Replace LDDQU instruction for uncached memory regions
+
 2017-02-27  Yasumasa Suenaga <yasuenag@gmail.com>
 
 	* Bug 3331: Refactoring for memory management in HeapStats Agent
--- a/agent/src/heapstats-engines/arch/x86/avx/jvmInfo.inline.hpp	Mon Feb 27 19:22:39 2017 +0900
+++ b/agent/src/heapstats-engines/arch/x86/avx/jvmInfo.inline.hpp	Sat Mar 25 23:42:22 2017 +0900
@@ -35,10 +35,10 @@
    *     Code Name Sandy Bridge
    */
   asm volatile(
-    "vlddqu    (%0), %%ymm0;"
-    "vlddqu  32(%0), %%ymm1;"
+    "vmovdqu   (%0), %%ymm0;"
+    "vmovdqu 32(%0), %%ymm1;"
     "vmovdqa %%ymm0,   (%1);"
-    "vlddqu  64(%0), %%xmm0;"
+    "vmovdqu 64(%0), %%xmm0;"
     "vmovdqa %%ymm1, 32(%1);"
     "vmovdqa %%xmm0, 64(%1);"
     :
--- a/agent/src/heapstats-engines/arch/x86/sse3/jvmInfo.inline.hpp	Mon Feb 27 19:22:39 2017 +0900
+++ b/agent/src/heapstats-engines/arch/x86/sse3/jvmInfo.inline.hpp	Sat Mar 25 23:42:22 2017 +0900
@@ -35,13 +35,13 @@
    *     Code Name Sandy Bridge
    */
   asm volatile(
-    "lddqu    (%0), %%xmm0;"
-    "lddqu  16(%0), %%xmm1;"
+    "movdqu   (%0), %%xmm0;"
+    "movdqu 16(%0), %%xmm1;"
     "movdqa %%xmm0,   (%1);"
-    "lddqu  32(%0), %%xmm0;"
-    "lddqu  48(%0), %%xmm2;"
+    "movdqu 32(%0), %%xmm0;"
+    "movdqu 48(%0), %%xmm2;"
     "movdqa %%xmm1, 16(%1);"
-    "lddqu  64(%0), %%xmm1;"
+    "movdqu 64(%0), %%xmm1;"
     "movdqa %%xmm0, 32(%1);"
     "movdqa %%xmm2, 48(%1);"
     "movdqa %%xmm1, 64(%1);"