Mercurial > hg > truffle
annotate make/aix/makefiles/ppc64.make @ 14649:f6301b007a16
6498581: ThreadInterruptTest3 produces wrong output on Windows
Summary: There is race condition between os::interrupt and os::is_interrupted on Windows. In JVM_Sleep(Thread.sleep), check if thread gets interrupted, it may see interrupted but not really interrupted so cause spurious waking up (early return from sleep). Fix by checking if interrupt event really gets set thus prevent false return. For intrinsic of _isInterrupted, on Windows, go fastpath only on bit not set.
Reviewed-by: acorn, kvn
Contributed-by: david.holmes@oracle.com, yumin.qi@oracle.com
author | minqi |
---|---|
date | Wed, 26 Feb 2014 15:20:41 -0800 |
parents | b83f7d608548 |
children |
rev | line source |
---|---|
14414
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
1 # |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
2 # Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
3 # Copyright 2012, 2013 SAP AG. All rights reserved. |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
4 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
5 # |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
6 # This code is free software; you can redistribute it and/or modify it |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
7 # under the terms of the GNU General Public License version 2 only, as |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
8 # published by the Free Software Foundation. |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
9 # |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
10 # This code is distributed in the hope that it will be useful, but WITHOUT |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
12 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
13 # version 2 for more details (a copy is included in the LICENSE file that |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
14 # accompanied this code). |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
15 # |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
16 # You should have received a copy of the GNU General Public License version |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
17 # 2 along with this work; if not, write to the Free Software Foundation, |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
18 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
19 # |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
20 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
21 # or visit www.oracle.com if you need additional information or have any |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
22 # questions. |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
23 # |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
24 # |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
25 |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
26 # Produce 64 bits object files. |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
27 CFLAGS += -q64 |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
28 |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
29 # Balanced tuning for recent versions of the POWER architecture (if supported by xlc). |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
30 QTUNE=$(if $(CXX_SUPPORTS_BALANCED_TUNING),balanced,pwr5) |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
31 |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
32 # Try to speed up the interpreter: use ppc64 instructions and inline |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
33 # glue code for external functions. |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
34 OPT_CFLAGS += -qarch=ppc64 -qtune=$(QTUNE) -qinlglue |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
35 |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
36 # We need variable length arrays |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
37 CFLAGS += -qlanglvl=c99vla |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
38 # Just to check for unwanted macro redefinitions |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
39 CFLAGS += -qlanglvl=noredefmac |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
40 |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
41 # Suppress those "implicit private" warnings xlc gives. |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
42 # - The omitted keyword "private" is assumed for base class "...". |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
43 CFLAGS += -qsuppress=1540-0198 |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
44 |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
45 # Suppress the following numerous warning: |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
46 # - 1540-1090 (I) The destructor of "..." might not be called. |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
47 # - 1500-010: (W) WARNING in ...: Infinite loop. Program may not stop. |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
48 # There are several infinite loops in the vm, suppress. |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
49 CFLAGS += -qsuppress=1540-1090 -qsuppress=1500-010 |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
50 |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
51 # Suppress |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
52 # - 540-1088 (W) The exception specification is being ignored. |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
53 # caused by throw() in declaration of new() in nmethod.hpp. |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
54 CFLAGS += -qsuppress=1540-1088 |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
55 |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
56 # Turn off floating-point optimizations that may alter program semantics |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
57 OPT_CFLAGS += -qstrict |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
58 |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
59 # Disable aggressive optimizations for functions in sharedRuntimeTrig.cpp |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
60 # and sharedRuntimeTrans.cpp on ppc64. |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
61 # -qstrict turns off the following optimizations: |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
62 # * Performing code motion and scheduling on computations such as loads |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
63 # and floating-point computations that may trigger an exception. |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
64 # * Relaxing conformance to IEEE rules. |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
65 # * Reassociating floating-point expressions. |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
66 # When using '-qstrict' there still remains one problem |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
67 # in javasoft.sqe.tests.api.java.lang.Math.sin5Tests when run in compile-all |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
68 # mode, so don't optimize sharedRuntimeTrig.cpp at all. |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
69 OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
70 OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT) |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
71 |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
72 # xlc 10.01 parameters for ipa compile. |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
73 QIPA_COMPILE=$(if $(CXX_IS_V10),-qipa) |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
74 |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
75 # Xlc 10.1 parameters for aggressive optimization: |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
76 # - qhot=level=1: Most aggressive loop optimizations. |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
77 # - qignerrno: Assume errno is not modified by system calls. |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
78 # - qinline: Inline method calls. No suboptions for c++ compiles. |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
79 # - qxflag=ASMMIDCOALFIX: Activate fix for -O3 problem in interpreter loop. |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
80 # - qxflag=asmfastsync: Activate fix for performance problem with inline assembler with memory clobber. |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
81 QV10_OPT=$(if $(CXX_IS_V10),-qxflag=ASMMIDCOALFIX -qxflag=asmfastsync) |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
82 QV10_OPT_AGGRESSIVE=$(if $(CXX_IS_V10),-qhot=level=1 -qignerrno -qinline) |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
83 QV10_OPT_CONSERVATIVE=$(if $(CXX_IS_V10),-qhot=level=1 -qignerrno -qinline) |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
84 |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
85 # Disallow inlining for synchronizer.cpp, but perform O3 optimizations. |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
86 OPT_CFLAGS/synchronizer.o = $(OPT_CFLAGS) -qnoinline |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
87 |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
88 # Set all the xlC V10.1 options here. |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
89 OPT_CFLAGS += $(QIPA_COMPILE) $(QV10_OPT) $(QV10_OPT_AGGRESSIVE) |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
90 |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
91 export OBJECT_MODE=64 |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
92 |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
93 # Also build launcher as 64 bit executable. |
b83f7d608548
8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
simonis
parents:
diff
changeset
|
94 LAUNCHERFLAGS += -q64 |