make/hotspot/lib/JvmOverrideFiles.gmk
branchihse-targettest-branch
changeset 57145 ceaa243112bd
parent 52925 9c18c9d839d3
child 54380 e297c7bb6469
equal deleted inserted replaced
57144:fff0653622aa 57145:ceaa243112bd
    49 # by using -ffp-contract=off on GCC/Clang platforms.
    49 # by using -ffp-contract=off on GCC/Clang platforms.
    50 ifneq ($(FDLIBM_CFLAGS), )
    50 ifneq ($(FDLIBM_CFLAGS), )
    51   LIBJVM_FDLIBM_COPY_OPT_FLAG := $(CXX_O_FLAG_NORM)
    51   LIBJVM_FDLIBM_COPY_OPT_FLAG := $(CXX_O_FLAG_NORM)
    52 endif
    52 endif
    53 
    53 
    54 ifeq ($(OPENJDK_TARGET_OS), linux)
    54 ifeq ($(call isTargetOs, linux), true)
    55   BUILD_LIBJVM_ostream.cpp_CXXFLAGS := -D_FILE_OFFSET_BITS=64
    55   BUILD_LIBJVM_ostream.cpp_CXXFLAGS := -D_FILE_OFFSET_BITS=64
    56   BUILD_LIBJVM_logFileOutput.cpp_CXXFLAGS := -D_FILE_OFFSET_BITS=64
    56   BUILD_LIBJVM_logFileOutput.cpp_CXXFLAGS := -D_FILE_OFFSET_BITS=64
    57 
    57 
    58   BUILD_LIBJVM_sharedRuntimeTrig.cpp_CXXFLAGS := -DNO_PCH $(FDLIBM_CFLAGS) $(LIBJVM_FDLIBM_COPY_OPT_FLAG)
    58   BUILD_LIBJVM_sharedRuntimeTrig.cpp_CXXFLAGS := -DNO_PCH $(FDLIBM_CFLAGS) $(LIBJVM_FDLIBM_COPY_OPT_FLAG)
    59   BUILD_LIBJVM_sharedRuntimeTrans.cpp_CXXFLAGS := -DNO_PCH $(FDLIBM_CFLAGS) $(LIBJVM_FDLIBM_COPY_OPT_FLAG)
    59   BUILD_LIBJVM_sharedRuntimeTrans.cpp_CXXFLAGS := -DNO_PCH $(FDLIBM_CFLAGS) $(LIBJVM_FDLIBM_COPY_OPT_FLAG)
    63 	sharedRuntimeTrig.cpp \
    63 	sharedRuntimeTrig.cpp \
    64 	sharedRuntimeTrans.cpp \
    64 	sharedRuntimeTrans.cpp \
    65 	#
    65 	#
    66   endif
    66   endif
    67 
    67 
    68   ifeq ($(OPENJDK_TARGET_CPU), x86)
    68   ifeq ($(call isTargetCpu, x86), true)
    69     # Performance measurements show that by compiling GC related code, we could
    69     # Performance measurements show that by compiling GC related code, we could
    70     # significantly reduce the GC pause time on 32 bit Linux/Unix platforms by
    70     # significantly reduce the GC pause time on 32 bit Linux/Unix platforms by
    71     # compiling without the PIC flag (-fPIC on linux).
    71     # compiling without the PIC flag (-fPIC on linux).
    72     # See 6454213 for more details.
    72     # See 6454213 for more details.
    73     ALL_SRC := $(filter %.cpp, $(call CacheFind, $(TOPDIR)/src/hotspot/share))
    73     ALL_SRC := $(filter %.cpp, $(call CacheFind, $(TOPDIR)/src/hotspot/share))
    81     # BUILD_JVM_<srcfile>_CXXFLAGS := -fno-PIC
    81     # BUILD_JVM_<srcfile>_CXXFLAGS := -fno-PIC
    82     # This will get implicitly picked up by SetupNativeCompilation below.
    82     # This will get implicitly picked up by SetupNativeCompilation below.
    83     $(foreach s, $(NONPIC_SRC), $(eval BUILD_LIBJVM_$(notdir $s)_CXXFLAGS := -fno-PIC))
    83     $(foreach s, $(NONPIC_SRC), $(eval BUILD_LIBJVM_$(notdir $s)_CXXFLAGS := -fno-PIC))
    84   endif
    84   endif
    85 
    85 
    86 else ifeq ($(OPENJDK_TARGET_OS), solaris)
    86 else ifeq ($(call isTargetOs, solaris), true)
    87   ifneq ($(DEBUG_LEVEL), slowdebug)
    87   ifneq ($(DEBUG_LEVEL), slowdebug)
    88     # dev studio 12.6 workaround
    88     # dev studio 12.6 workaround
    89     BUILD_LIBJVM_arguments.cpp_OPTIMIZATION := LOW
    89     BUILD_LIBJVM_arguments.cpp_OPTIMIZATION := LOW
    90     # Workaround for a bug in dtrace.  If ciEnv::post_compiled_method_load_event()
    90     # Workaround for a bug in dtrace.  If ciEnv::post_compiled_method_load_event()
    91     # is inlined, the resulting dtrace object file needs a reference to this
    91     # is inlined, the resulting dtrace object file needs a reference to this
    95         -xinline=no%__1cFciEnvbFpost_compiled_method_load_event6MpnHnmethod__v_
    95         -xinline=no%__1cFciEnvbFpost_compiled_method_load_event6MpnHnmethod__v_
    96     # dtrace cannot handle tail call optimization (6672627, 6693876)
    96     # dtrace cannot handle tail call optimization (6672627, 6693876)
    97     BUILD_LIBJVM_jni.cpp_CXXFLAGS := -Qoption ube -O~yz
    97     BUILD_LIBJVM_jni.cpp_CXXFLAGS := -Qoption ube -O~yz
    98     BUILD_LIBJVM_stubGenerator_$(HOTSPOT_TARGET_CPU).cpp_CXXFLAGS := -xspace
    98     BUILD_LIBJVM_stubGenerator_$(HOTSPOT_TARGET_CPU).cpp_CXXFLAGS := -xspace
    99 
    99 
   100     ifeq ($(OPENJDK_TARGET_CPU), x86_64)
   100     ifeq ($(call isTargetCpu, x86_64), true)
   101       # Temporary until SS10 C++ compiler is fixed
   101       # Temporary until SS10 C++ compiler is fixed
   102       BUILD_LIBJVM_generateOptoStub.cpp_CXXFLAGS := -xO2
   102       BUILD_LIBJVM_generateOptoStub.cpp_CXXFLAGS := -xO2
   103       # Temporary util SS12u1 C++ compiler is fixed
   103       # Temporary util SS12u1 C++ compiler is fixed
   104       BUILD_LIBJVM_c1_LinearScan.cpp_CXXFLAGS := -xO2
   104       BUILD_LIBJVM_c1_LinearScan.cpp_CXXFLAGS := -xO2
   105     endif
   105     endif
   116 
   116 
   117     # Frame size > 100k  if we allow inlining via -g0!
   117     # Frame size > 100k  if we allow inlining via -g0!
   118     BUILD_LIBJVM_bytecodeInterpreter.cpp_CXXFLAGS := +d
   118     BUILD_LIBJVM_bytecodeInterpreter.cpp_CXXFLAGS := +d
   119     BUILD_LIBJVM_bytecodeInterpreterWithChecks.cpp_CXXFLAGS := +d
   119     BUILD_LIBJVM_bytecodeInterpreterWithChecks.cpp_CXXFLAGS := +d
   120 
   120 
   121     ifeq ($(OPENJDK_TARGET_CPU_ARCH), x86)
   121     ifeq ($(call isTargetCpuArch, x86), true)
   122       # ube explodes on x86
   122       # ube explodes on x86
   123       BUILD_LIBJVM_bytecodeInterpreter.cpp_CXXFLAGS += -xO1
   123       BUILD_LIBJVM_bytecodeInterpreter.cpp_CXXFLAGS += -xO1
   124       BUILD_LIBJVM_bytecodeInterpreterWithChecks.cpp_CXXFLAGS += -xO1
   124       BUILD_LIBJVM_bytecodeInterpreterWithChecks.cpp_CXXFLAGS += -xO1
   125     endif
   125     endif
   126 
   126 
   127   endif
   127   endif
   128 
   128 
   129   # Workaround for jvmciCompilerToVM.cpp long compilation time
   129   # Workaround for jvmciCompilerToVM.cpp long compilation time
   130   BUILD_LIBJVM_jvmciCompilerToVMInit.cpp_OPTIMIZATION := NONE
   130   BUILD_LIBJVM_jvmciCompilerToVMInit.cpp_OPTIMIZATION := NONE
   131 
   131 
   132 else ifeq ($(OPENJDK_TARGET_OS), macosx)
   132 else ifeq ($(call isTargetOs, macosx), true)
   133   # The copied fdlibm routines in these files must not be optimized
   133   # The copied fdlibm routines in these files must not be optimized
   134   BUILD_LIBJVM_sharedRuntimeTrig.cpp_CXXFLAGS := $(FDLIBM_CFLAGS) $(LIBJVM_FDLIBM_COPY_OPT_FLAG)
   134   BUILD_LIBJVM_sharedRuntimeTrig.cpp_CXXFLAGS := $(FDLIBM_CFLAGS) $(LIBJVM_FDLIBM_COPY_OPT_FLAG)
   135   BUILD_LIBJVM_sharedRuntimeTrans.cpp_CXXFLAGS := $(FDLIBM_CFLAGS) $(LIBJVM_FDLIBM_COPY_OPT_FLAG)
   135   BUILD_LIBJVM_sharedRuntimeTrans.cpp_CXXFLAGS := $(FDLIBM_CFLAGS) $(LIBJVM_FDLIBM_COPY_OPT_FLAG)
   136   ifeq ($(TOOLCHAIN_TYPE), clang)
   136   ifeq ($(TOOLCHAIN_TYPE), clang)
   137     # NOTE: The old build tested clang version to make sure this workaround
   137     # NOTE: The old build tested clang version to make sure this workaround
   158         unsafe.cpp \
   158         unsafe.cpp \
   159         jvmciCompilerToVM.cpp \
   159         jvmciCompilerToVM.cpp \
   160         #
   160         #
   161   endif
   161   endif
   162 
   162 
   163 else ifeq ($(OPENJDK_TARGET_OS), aix)
   163 else ifeq ($(call isTargetOs, aix), true)
   164   BUILD_LIBJVM_synchronizer.cpp_CXXFLAGS := -qnoinline
   164   BUILD_LIBJVM_synchronizer.cpp_CXXFLAGS := -qnoinline
   165   BUILD_LIBJVM_sharedRuntimeTrans.cpp_CXXFLAGS := $(CXX_O_FLAG_NONE)
   165   BUILD_LIBJVM_sharedRuntimeTrans.cpp_CXXFLAGS := $(CXX_O_FLAG_NONE)
   166   # Disable aggressive optimizations for functions in sharedRuntimeTrig.cpp
   166   # Disable aggressive optimizations for functions in sharedRuntimeTrig.cpp
   167   # and sharedRuntimeTrans.cpp on ppc64.
   167   # and sharedRuntimeTrans.cpp on ppc64.
   168   # -qstrict turns off the following optimizations:
   168   # -qstrict turns off the following optimizations:
   183   endif
   183   endif
   184 
   184 
   185   # Disable ELF decoder on AIX (AIX uses XCOFF).
   185   # Disable ELF decoder on AIX (AIX uses XCOFF).
   186   JVM_EXCLUDE_PATTERNS += elf
   186   JVM_EXCLUDE_PATTERNS += elf
   187 
   187 
   188 else ifeq ($(OPENJDK_TARGET_OS), windows)
   188 else ifeq ($(call isTargetOs, windows), true)
   189   JVM_PRECOMPILED_HEADER_EXCLUDE := \
   189   JVM_PRECOMPILED_HEADER_EXCLUDE := \
   190       bytecodeInterpreter.cpp \
   190       bytecodeInterpreter.cpp \
   191       bytecodeInterpreterWithChecks.cpp \
   191       bytecodeInterpreterWithChecks.cpp \
   192       opcodes.cpp \
   192       opcodes.cpp \
   193       os_windows.cpp \
   193       os_windows.cpp \