1 #
   2 # Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
   3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4 #
   5 # This code is free software; you can redistribute it and/or modify it
   6 # under the terms of the GNU General Public License version 2 only, as
   7 # published by the Free Software Foundation.
   8 #
   9 # This code is distributed in the hope that it will be useful, but WITHOUT
  10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12 # version 2 for more details (a copy is included in the LICENSE file that
  13 # accompanied this code).
  14 #
  15 # You should have received a copy of the GNU General Public License version
  16 # 2 along with this work; if not, write to the Free Software Foundation,
  17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18 #
  19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20 # or visit www.oracle.com if you need additional information or have any
  21 # questions.
  22 #  
  23 #
  24 
  25 Obj_Files += solaris_sparc.o
  26 ASFLAGS += $(AS_ARCHFLAG)
  27 
  28 ifeq ("${Platform_compiler}", "sparcWorks")
  29 ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \< 505), 1)
  30 # For 5.2 ad_sparc file is compiled with -O2 %%%% remove when adlc is fixed
  31 OPT_CFLAGS/ad_sparc.o = $(OPT_CFLAGS/SLOWER)
  32 OPT_CFLAGS/dfa_sparc.o = $(OPT_CFLAGS/SLOWER)
  33 # CC drops core on systemDictionary.o in -xO4 mode
  34 OPT_CFLAGS/systemDictionary.o = $(OPT_CFLAGS/SLOWER)
  35 # SC5.0 bug 4284168
  36 OPT_CFLAGS/carRememberedSet.o = $(OPT_CFLAGS/O2)
  37 # Temporarily drop the optimization level for compiling
  38 # jniHandles.cpp to O3 from O4; see bug 4309181
  39 OPT_CFLAGS/jniHandles.o = $(OPT_CFLAGS/O2)
  40 # CC brings an US-II to its knees compiling the vmStructs asserts under -xO4
  41 OPT_CFLAGS/vmStructs.o = $(OPT_CFLAGS/O2)
  42 endif # COMPILER_REV_NUMERIC < 505
  43 else
  44 # Options for gcc
  45 OPT_CFLAGS/ad_sparc.o = $(OPT_CFLAGS/SLOWER)
  46 OPT_CFLAGS/dfa_sparc.o = $(OPT_CFLAGS/SLOWER)
  47 OPT_CFLAGS/systemDictionary.o = $(OPT_CFLAGS/SLOWER)
  48 OPT_CFLAGS/carRememberedSet.o = $(OPT_CFLAGS/O2)
  49 OPT_CFLAGS/jniHandles.o = $(OPT_CFLAGS/O2)
  50 OPT_CFLAGS/vmStructs.o = $(OPT_CFLAGS/O2)
  51 endif
  52 
  53 # File-specific adjustments to the PICFLAG, applicable only to SPARC,
  54 # which has a very tight limit on global constant references.
  55 
  56 # Old files which seemed hot at one point or another:
  57 #PICFLAG/runtime.o = $(PICFLAG/BETTER)
  58 #PICFLAG/generateOopMap.o = $(PICFLAG/BETTER)
  59 #PICFLAG/thread.o = $(PICFLAG/BETTER)
  60 #PICFLAG/parse2.o = $(PICFLAG/BETTER)
  61 #PICFLAG/parse1.o = $(PICFLAG/BETTER)
  62 #PICFLAG/universe.o = $(PICFLAG/BETTER)
  63 #PICFLAG/safepoint.o = $(PICFLAG/BETTER)
  64 #PICFLAG/parse3.o = $(PICFLAG/BETTER)
  65 #PICFLAG/compile.o = $(PICFLAG/BETTER)
  66 #PICFLAG/codeBlob.o = $(PICFLAG/BETTER)
  67 #PICFLAG/mutexLocker.o = $(PICFLAG/BETTER)
  68 #PICFLAG/nativeInst_sparc.o = $(PICFLAG/BETTER)
  69 #PICFLAG/methodLiveness.o = $(PICFLAG/BETTER)
  70 #PICFLAG/synchronizer.o = $(PICFLAG/BETTER)
  71 #PICFLAG/method.o = $(PICFLAG/BETTER)
  72 #PICFLAG/space.o = $(PICFLAG/BETTER)
  73 #PICFLAG/interpreterRT_sparc.o = $(PICFLAG/BETTER)
  74 #PICFLAG/generation.o = $(PICFLAG/BETTER)
  75 #PICFLAG/markSweep.o = $(PICFLAG/BETTER)
  76 #PICFLAG/parseHelper.o = $(PICFLAG/BETTER)
  77 
  78 # Confirmed by function-level profiling:
  79 PICFLAG/scavenge.o = $(PICFLAG/BETTER)
  80 PICFLAG/instanceKlass.o = $(PICFLAG/BETTER)
  81 PICFLAG/frame.o = $(PICFLAG/BETTER)
  82 PICFLAG/phaseX.o = $(PICFLAG/BETTER)
  83 PICFLAG/lookupCache.o = $(PICFLAG/BETTER)
  84 PICFLAG/chaitin.o = $(PICFLAG/BETTER)
  85 PICFLAG/type.o = $(PICFLAG/BETTER)
  86 PICFLAG/jvm.o = $(PICFLAG/BETTER)
  87 PICFLAG/jni.o = $(PICFLAG/BETTER)
  88 PICFLAG/matcher.o = $(PICFLAG/BETTER)
  89 
  90 # New from module-level profiling (trustworthy?):
  91 PICFLAG/rememberedSet.o = $(PICFLAG/BETTER)
  92 PICFLAG/frame_sparc.o = $(PICFLAG/BETTER)
  93 PICFLAG/live.o = $(PICFLAG/BETTER)
  94 PICFLAG/vectset.o = $(PICFLAG/BETTER)
  95 PICFLAG/objArrayKlass.o = $(PICFLAG/BETTER)
  96 PICFLAG/do_call.o = $(PICFLAG/BETTER)
  97 PICFLAG/loopnode.o = $(PICFLAG/BETTER)
  98 PICFLAG/cfgnode.o = $(PICFLAG/BETTER)
  99 PICFLAG/ifg.o = $(PICFLAG/BETTER)
 100 PICFLAG/vframe.o = $(PICFLAG/BETTER)
 101 PICFLAG/postaloc.o = $(PICFLAG/BETTER)
 102 PICFLAG/carRememberedSet.o = $(PICFLAG/BETTER)
 103 PICFLAG/gcm.o = $(PICFLAG/BETTER)
 104 PICFLAG/coalesce.o = $(PICFLAG/BETTER)
 105 PICFLAG/oop.o = $(PICFLAG/BETTER)
 106 PICFLAG/oopMap.o = $(PICFLAG/BETTER)
 107 PICFLAG/resourceArea.o = $(PICFLAG/BETTER)
 108 PICFLAG/node.o = $(PICFLAG/BETTER)
 109 PICFLAG/dict.o = $(PICFLAG/BETTER)
 110 PICFLAG/domgraph.o = $(PICFLAG/BETTER)
 111 PICFLAG/dfa_sparc.o = $(PICFLAG/BETTER)
 112 PICFLAG/block.o = $(PICFLAG/BETTER)
 113 PICFLAG/javaClasses.o = $(PICFLAG/BETTER)
 114 
 115 # New hot files:
 116 PICFLAG/classes.o = $(PICFLAG/BETTER)
 117 #PICFLAG/ad_sparc.o = $(PICFLAG/BETTER)
 118 PICFLAG/nmethod.o = $(PICFLAG/BETTER)
 119 PICFLAG/relocInfo.o = $(PICFLAG/BETTER)
 120 PICFLAG/codeBuffer_sparc.o = $(PICFLAG/BETTER)
 121 PICFLAG/callnode.o = $(PICFLAG/BETTER)
 122 PICFLAG/multnode.o = $(PICFLAG/BETTER)
 123 PICFLAG/os_solaris.o = $(PICFLAG/BETTER)
 124 PICFLAG/typeArrayKlass.o = $(PICFLAG/BETTER)