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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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