changeset 22680:1179ab4c25fa

Disable instruction scheduling in cpCache.o on SPARC/Linux
author Stefan Anzinger <stefan.anzinger@oracle.com>
date Tue, 13 Oct 2015 17:59:52 +0200
parents 4688478ecb7b
children c278790fa252
files make/linux/makefiles/sparcv9.make mx.jvmci/mx_jvmci.py src/share/vm/oops/cpCache.cpp
diffstat 3 files changed, 1 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/make/linux/makefiles/sparcv9.make	Tue Oct 13 17:07:59 2015 +0200
+++ b/make/linux/makefiles/sparcv9.make	Tue Oct 13 17:59:52 2015 +0200
@@ -24,7 +24,4 @@
 # gcc 4.0 miscompiles this code in -m64
 OPT_CFLAGS/macro.o = -O0
 
-# gcc 4.9.1 optimizes templateInterpreter.cpp copy_table with memcpy which does not work on SPARC
-OPT_FLAGS += -fno-tree-loop-distribute-patterns
-
 CFLAGS += -D_LP64=1
--- a/mx.jvmci/mx_jvmci.py	Tue Oct 13 17:07:59 2015 +0200
+++ b/mx.jvmci/mx_jvmci.py	Tue Oct 13 17:59:52 2015 +0200
@@ -924,7 +924,7 @@
             if mx.get_os() == 'linux' and platform.processor() == 'sparc64':
                 # SPARC/Linux
                 setMakeVar("DEBUG_BINARIES", "true", env=env)
-                setMakeVar("EXTRA_CFLAGS", "-Wno-conversion-null -Wno-int-to-pointer-cast -Wno-unused-function -fno-tree-loop-distribute-patterns", env=env)
+                setMakeVar("EXTRA_CFLAGS", "-Wno-conversion-null -Wno-int-to-pointer-cast -Wno-unused-function -fno-tree-loop-distribute-patterns -fno-schedule-insns", env=env)
 
             setMakeVar('MAKE_VERBOSE', 'y' if mx._opts.verbose else '')
             if self.vm.endswith('nojvmci'):
--- a/src/share/vm/oops/cpCache.cpp	Tue Oct 13 17:07:59 2015 +0200
+++ b/src/share/vm/oops/cpCache.cpp	Tue Oct 13 17:59:52 2015 +0200
@@ -120,7 +120,6 @@
                   ((is_volatile ? 1 : 0) << is_volatile_shift) |
                   ((is_final    ? 1 : 0) << is_final_shift),
                   field_index);
-  OrderAccess::storestore();
   set_bytecode_1(get_code);
   set_bytecode_2(put_code);
   NOT_PRODUCT(verify(tty));