annotate make/aix/makefiles/ppc64.make @ 18079:605df8463453 jdk8u25-b06

Merge
author asaha
date Wed, 02 Jul 2014 15:42:28 -0700
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