# HG changeset patch # User kvn # Date 1371855384 25200 # Node ID b5c8a61d7fa041757e85f7d45005544784e6bfda # Parent d2907f74462eb9ec6d13b5075429f3e76e77396f# Parent aaa45012be984b7d153d398495a03302c695e05d Merge diff -r aaa45012be98 -r b5c8a61d7fa0 agent/src/os/linux/libproc.h --- a/agent/src/os/linux/libproc.h Thu Jun 20 10:16:47 2013 -0700 +++ b/agent/src/os/linux/libproc.h Fri Jun 21 15:56:24 2013 -0700 @@ -80,7 +80,7 @@ *************************************************************************************/ -#if defined(sparc) || defined(sparcv9) +#if defined(sparc) || defined(sparcv9) || defined(ppc64) #define user_regs_struct pt_regs #endif diff -r aaa45012be98 -r b5c8a61d7fa0 make/Makefile --- a/make/Makefile Thu Jun 20 10:16:47 2013 -0700 +++ b/make/Makefile Fri Jun 21 15:56:24 2013 -0700 @@ -87,6 +87,7 @@ # Typical C1/C2 targets made available with this Makefile C1_VM_TARGETS=product1 fastdebug1 optimized1 debug1 C2_VM_TARGETS=product fastdebug optimized debug +CORE_VM_TARGETS=productcore fastdebugcore optimizedcore debugcore ZERO_VM_TARGETS=productzero fastdebugzero optimizedzero debugzero SHARK_VM_TARGETS=productshark fastdebugshark optimizedshark debugshark MINIMAL1_VM_TARGETS=productminimal1 fastdebugminimal1 debugminimal1 @@ -136,6 +137,12 @@ all_debugshark: debugshark docs export_debug all_optimizedshark: optimizedshark docs export_optimized +allcore: all_productcore all_fastdebugcore +all_productcore: productcore docs export_product +all_fastdebugcore: fastdebugcore docs export_fastdebug +all_debugcore: debugcore docs export_debug +all_optimizedcore: optimizedcore docs export_optimized + # Do everything world: all create_jdk @@ -154,6 +161,7 @@ # Output directories C1_DIR =$(OUTPUTDIR)/$(VM_PLATFORM)_compiler1 C2_DIR =$(OUTPUTDIR)/$(VM_PLATFORM)_compiler2 +CORE_DIR =$(OUTPUTDIR)/$(VM_PLATFORM)_core MINIMAL1_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_minimal1 ZERO_DIR =$(OUTPUTDIR)/$(VM_PLATFORM)_zero SHARK_DIR =$(OUTPUTDIR)/$(VM_PLATFORM)_shark @@ -167,6 +175,10 @@ $(CD) $(GAMMADIR)/make; \ $(MAKE) BUILD_DIR=$(C2_DIR) BUILD_FLAVOR=$@ VM_TARGET=$@ generic_build2 $(ALT_OUT) +$(CORE_VM_TARGETS): + $(CD) $(GAMMADIR)/make; \ + $(MAKE) BUILD_DIR=$(CORE_DIR) BUILD_FLAVOR=$(@:$core=%) VM_TARGET=$@ generic_buildcore $(ALT_OUT) + $(ZERO_VM_TARGETS): $(CD) $(GAMMADIR)/make; \ $(MAKE) BUILD_DIR=$(ZERO_DIR) BUILD_FLAVOR=$(@:%zero=%) VM_TARGET=$@ generic_buildzero $(ALT_OUT) @@ -228,6 +240,20 @@ $(MAKE_ARGS) $(VM_TARGET) endif +generic_buildcore: $(HOTSPOT_SCRIPT) +ifeq ($(HS_ARCH),ppc) + ifeq ($(ARCH_DATA_MODEL),64) + $(MKDIR) -p $(OUTPUTDIR) + $(CD) $(OUTPUTDIR); \ + $(MAKE) -f $(ABS_OS_MAKEFILE) \ + $(MAKE_ARGS) $(VM_TARGET) + else + @$(ECHO) "No ($(VM_TARGET)) for ppc ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)" + endif +else + @$(ECHO) "No ($(VM_TARGET)) for $(HS_ARCH)" +endif + generic_buildzero: $(HOTSPOT_SCRIPT) $(MKDIR) -p $(OUTPUTDIR) $(CD) $(OUTPUTDIR); \ @@ -287,6 +313,7 @@ DOCS_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_docs C1_BUILD_DIR =$(C1_DIR)/$(BUILD_FLAVOR) C2_BUILD_DIR =$(C2_DIR)/$(BUILD_FLAVOR) +CORE_BUILD_DIR =$(CORE_DIR)/$(BUILD_FLAVOR) MINIMAL1_BUILD_DIR=$(MINIMAL1_DIR)/$(BUILD_FLAVOR) ZERO_BUILD_DIR =$(ZERO_DIR)/$(BUILD_FLAVOR) SHARK_BUILD_DIR =$(SHARK_DIR)/$(BUILD_FLAVOR) @@ -448,6 +475,28 @@ $(install-file) endif +# Core +ifeq ($(JVM_VARIANT_CORE), true) +# Common +$(EXPORT_LIB_DIR)/%.jar: $(CORE_DIR)/../generated/%.jar + $(install-file) +$(EXPORT_INCLUDE_DIR)/%: $(CORE_DIR)/../generated/jvmtifiles/% + $(install-file) +# Unix +$(EXPORT_JRE_LIB_ARCH_DIR)/%.$(LIBRARY_SUFFIX): $(CORE_DIR)/%.$(LIBRARY_SUFFIX) + $(install-file) +$(EXPORT_JRE_LIB_ARCH_DIR)/%.debuginfo: $(CORE_DIR)/%.debuginfo + $(install-file) +$(EXPORT_JRE_LIB_ARCH_DIR)/%.diz: $(CORE_DIR)/%.diz + $(install-file) +$(EXPORT_SERVER_DIR)/%.$(LIBRARY_SUFFIX): $(CORE_DIR)/%.$(LIBRARY_SUFFIX) + $(install-file) +$(EXPORT_SERVER_DIR)/%.debuginfo: $(CORE_DIR)/%.debuginfo + $(install-file) +$(EXPORT_SERVER_DIR)/%.diz: $(CORE_DIR)/%.diz + $(install-file) +endif + # Shark ifeq ($(JVM_VARIANT_ZEROSHARK), true) # Common @@ -510,6 +559,7 @@ clean_build: $(RM) -r $(C1_DIR) $(RM) -r $(C2_DIR) + $(RM) -r $(CORE_DIR) $(RM) -r $(ZERO_DIR) $(RM) -r $(SHARK_DIR) $(RM) -r $(MINIMAL1_DIR) diff -r aaa45012be98 -r b5c8a61d7fa0 make/linux/platform_ppc --- a/make/linux/platform_ppc Thu Jun 20 10:16:47 2013 -0700 +++ b/make/linux/platform_ppc Fri Jun 21 15:56:24 2013 -0700 @@ -2,11 +2,11 @@ arch = ppc -arch_model = ppc +arch_model = ppc_32 os_arch = linux_ppc -os_arch_model = linux_ppc +os_arch_model = linux_ppc_32 lib_arch = ppc @@ -14,4 +14,4 @@ gnu_dis_arch = ppc -sysdefs = -DLINUX -D_GNU_SOURCE -DPPC +sysdefs = -DLINUX -D_GNU_SOURCE -DPPC32 diff -r aaa45012be98 -r b5c8a61d7fa0 src/os/bsd/vm/os_bsd.cpp --- a/src/os/bsd/vm/os_bsd.cpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/os/bsd/vm/os_bsd.cpp Fri Jun 21 15:56:24 2013 -0700 @@ -205,7 +205,7 @@ static char cpu_arch[] = "amd64"; #elif defined(ARM) static char cpu_arch[] = "arm"; -#elif defined(PPC) +#elif defined(PPC32) static char cpu_arch[] = "ppc"; #elif defined(SPARC) # ifdef _LP64 diff -r aaa45012be98 -r b5c8a61d7fa0 src/os/linux/vm/os_linux.cpp --- a/src/os/linux/vm/os_linux.cpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/os/linux/vm/os_linux.cpp Fri Jun 21 15:56:24 2013 -0700 @@ -138,7 +138,7 @@ // For diagnostics to print a message once. see run_periodic_checks static sigset_t check_signal_done; -static bool check_signals = true;; +static bool check_signals = true; static pid_t _initial_pid = 0; @@ -256,8 +256,10 @@ static char cpu_arch[] = "amd64"; #elif defined(ARM) static char cpu_arch[] = "arm"; -#elif defined(PPC) +#elif defined(PPC32) static char cpu_arch[] = "ppc"; +#elif defined(PPC64) +static char cpu_arch[] = "ppc64"; #elif defined(SPARC) # ifdef _LP64 static char cpu_arch[] = "sparcv9"; @@ -4512,7 +4514,7 @@ // the future if the appropriate cleanup code can be added to the // VM_Exit VMOperation's doit method. if (atexit(perfMemory_exit_helper) != 0) { - warning("os::init2 atexit(perfMemory_exit_helper) failed"); + warning("os::init_2 atexit(perfMemory_exit_helper) failed"); } } @@ -4523,8 +4525,7 @@ } // this is called at the end of vm_initialization -void os::init_3(void) -{ +void os::init_3(void) { #ifdef JAVASE_EMBEDDED // Start the MemNotifyThread if (LowMemoryProtection) { diff -r aaa45012be98 -r b5c8a61d7fa0 src/os_cpu/bsd_zero/vm/os_bsd_zero.hpp --- a/src/os_cpu/bsd_zero/vm/os_bsd_zero.hpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/os_cpu/bsd_zero/vm/os_bsd_zero.hpp Fri Jun 21 15:56:24 2013 -0700 @@ -36,7 +36,7 @@ // Atomically copy 64 bits of data static void atomic_copy64(volatile void *src, volatile void *dst) { -#if defined(PPC) && !defined(_LP64) +#if defined(PPC32) double tmp; asm volatile ("lfd %0, 0(%1)\n" "stfd %0, 0(%2)\n" diff -r aaa45012be98 -r b5c8a61d7fa0 src/os_cpu/linux_zero/vm/os_linux_zero.hpp --- a/src/os_cpu/linux_zero/vm/os_linux_zero.hpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/os_cpu/linux_zero/vm/os_linux_zero.hpp Fri Jun 21 15:56:24 2013 -0700 @@ -36,7 +36,7 @@ // Atomically copy 64 bits of data static void atomic_copy64(volatile void *src, volatile void *dst) { -#if defined(PPC) && !defined(_LP64) +#if defined(PPC32) double tmp; asm volatile ("lfd %0, 0(%1)\n" "stfd %0, 0(%2)\n" diff -r aaa45012be98 -r b5c8a61d7fa0 src/share/vm/adlc/main.cpp --- a/src/share/vm/adlc/main.cpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/share/vm/adlc/main.cpp Fri Jun 21 15:56:24 2013 -0700 @@ -243,6 +243,11 @@ AD.addInclude(AD._CPP_file, "nativeInst_arm.hpp"); AD.addInclude(AD._CPP_file, "vmreg_arm.inline.hpp"); #endif +#ifdef TARGET_ARCH_ppc + AD.addInclude(AD._CPP_file, "assembler_ppc.inline.hpp"); + AD.addInclude(AD._CPP_file, "nativeInst_ppc.hpp"); + AD.addInclude(AD._CPP_file, "vmreg_ppc.inline.hpp"); +#endif AD.addInclude(AD._HPP_file, "memory/allocation.hpp"); AD.addInclude(AD._HPP_file, "opto/machnode.hpp"); AD.addInclude(AD._HPP_file, "opto/node.hpp"); diff -r aaa45012be98 -r b5c8a61d7fa0 src/share/vm/code/vmreg.hpp --- a/src/share/vm/code/vmreg.hpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/share/vm/code/vmreg.hpp Fri Jun 21 15:56:24 2013 -0700 @@ -47,8 +47,11 @@ #ifdef TARGET_ARCH_MODEL_arm # include "adfiles/adGlobals_arm.hpp" #endif -#ifdef TARGET_ARCH_MODEL_ppc -# include "adfiles/adGlobals_ppc.hpp" +#ifdef TARGET_ARCH_MODEL_ppc_32 +# include "adfiles/adGlobals_ppc_32.hpp" +#endif +#ifdef TARGET_ARCH_MODEL_ppc_64 +# include "adfiles/adGlobals_ppc_64.hpp" #endif #endif diff -r aaa45012be98 -r b5c8a61d7fa0 src/share/vm/compiler/compileBroker.cpp --- a/src/share/vm/compiler/compileBroker.cpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/share/vm/compiler/compileBroker.cpp Fri Jun 21 15:56:24 2013 -0700 @@ -961,7 +961,7 @@ // Initialize the compilation queue void CompileBroker::init_compiler_threads(int c1_compiler_count, int c2_compiler_count) { EXCEPTION_MARK; -#if !defined(ZERO) && !defined(SHARK) +#if !defined(ZERO) && !defined(SHARK) && !defined(PPC64) assert(c2_compiler_count > 0 || c1_compiler_count > 0, "No compilers?"); #endif // !ZERO && !SHARK if (c2_compiler_count > 0) { diff -r aaa45012be98 -r b5c8a61d7fa0 src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp --- a/src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp Fri Jun 21 15:56:24 2013 -0700 @@ -29,6 +29,7 @@ #include "gc_implementation/g1/g1CollectedHeap.hpp" #include "gc_implementation/g1/g1OopClosures.hpp" #include "gc_implementation/g1/g1RemSet.hpp" +#include "gc_implementation/g1/g1RemSet.inline.hpp" #include "gc_implementation/g1/heapRegionRemSet.hpp" /* diff -r aaa45012be98 -r b5c8a61d7fa0 src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.inline.hpp --- a/src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.inline.hpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.inline.hpp Fri Jun 21 15:56:24 2013 -0700 @@ -28,6 +28,7 @@ #include "gc_implementation/parallelScavenge/psOldGen.hpp" #include "gc_implementation/parallelScavenge/psPromotionManager.hpp" #include "gc_implementation/parallelScavenge/psScavenge.hpp" +#include "oops/oop.psgc.inline.hpp" inline PSPromotionManager* PSPromotionManager::manager_array(int index) { assert(_manager_array != NULL, "access of NULL manager_array"); diff -r aaa45012be98 -r b5c8a61d7fa0 src/share/vm/interpreter/abstractInterpreter.hpp --- a/src/share/vm/interpreter/abstractInterpreter.hpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/share/vm/interpreter/abstractInterpreter.hpp Fri Jun 21 15:56:24 2013 -0700 @@ -45,8 +45,11 @@ #ifdef TARGET_ARCH_MODEL_arm # include "interp_masm_arm.hpp" #endif -#ifdef TARGET_ARCH_MODEL_ppc -# include "interp_masm_ppc.hpp" +#ifdef TARGET_ARCH_MODEL_ppc_32 +# include "interp_masm_ppc_32.hpp" +#endif +#ifdef TARGET_ARCH_MODEL_ppc_64 +# include "interp_masm_ppc_64.hpp" #endif // This file contains the platform-independent parts diff -r aaa45012be98 -r b5c8a61d7fa0 src/share/vm/interpreter/templateTable.hpp --- a/src/share/vm/interpreter/templateTable.hpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/share/vm/interpreter/templateTable.hpp Fri Jun 21 15:56:24 2013 -0700 @@ -43,8 +43,11 @@ #ifdef TARGET_ARCH_MODEL_arm # include "interp_masm_arm.hpp" #endif -#ifdef TARGET_ARCH_MODEL_ppc -# include "interp_masm_ppc.hpp" +#ifdef TARGET_ARCH_MODEL_ppc_32 +# include "interp_masm_ppc_32.hpp" +#endif +#ifdef TARGET_ARCH_MODEL_ppc_64 +# include "interp_masm_ppc_64.hpp" #endif #ifndef CC_INTERP @@ -373,8 +376,8 @@ #ifdef TARGET_ARCH_MODEL_arm # include "templateTable_arm.hpp" #endif -#ifdef TARGET_ARCH_MODEL_ppc -# include "templateTable_ppc.hpp" +#ifdef TARGET_ARCH_MODEL_ppc_32 +# include "templateTable_ppc_32.hpp" #endif }; diff -r aaa45012be98 -r b5c8a61d7fa0 src/share/vm/opto/c2_globals.hpp --- a/src/share/vm/opto/c2_globals.hpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/share/vm/opto/c2_globals.hpp Fri Jun 21 15:56:24 2013 -0700 @@ -35,6 +35,9 @@ #ifdef TARGET_ARCH_arm # include "c2_globals_arm.hpp" #endif +#ifdef TARGET_ARCH_ppc +# include "c2_globals_ppc.hpp" +#endif #ifdef TARGET_OS_FAMILY_linux # include "c2_globals_linux.hpp" #endif diff -r aaa45012be98 -r b5c8a61d7fa0 src/share/vm/opto/c2compiler.cpp --- a/src/share/vm/opto/c2compiler.cpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/share/vm/opto/c2compiler.cpp Fri Jun 21 15:56:24 2013 -0700 @@ -40,8 +40,11 @@ #ifdef TARGET_ARCH_MODEL_arm # include "adfiles/ad_arm.hpp" #endif -#ifdef TARGET_ARCH_MODEL_ppc -# include "adfiles/ad_ppc.hpp" +#ifdef TARGET_ARCH_MODEL_ppc_32 +# include "adfiles/ad_ppc_32.hpp" +#endif +#ifdef TARGET_ARCH_MODEL_ppc_64 +# include "adfiles/ad_ppc_64.hpp" #endif diff -r aaa45012be98 -r b5c8a61d7fa0 src/share/vm/opto/compile.cpp --- a/src/share/vm/opto/compile.cpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/share/vm/opto/compile.cpp Fri Jun 21 15:56:24 2013 -0700 @@ -80,8 +80,11 @@ #ifdef TARGET_ARCH_MODEL_arm # include "adfiles/ad_arm.hpp" #endif -#ifdef TARGET_ARCH_MODEL_ppc -# include "adfiles/ad_ppc.hpp" +#ifdef TARGET_ARCH_MODEL_ppc_32 +# include "adfiles/ad_ppc_32.hpp" +#endif +#ifdef TARGET_ARCH_MODEL_ppc_64 +# include "adfiles/ad_ppc_64.hpp" #endif diff -r aaa45012be98 -r b5c8a61d7fa0 src/share/vm/opto/gcm.cpp --- a/src/share/vm/opto/gcm.cpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/share/vm/opto/gcm.cpp Fri Jun 21 15:56:24 2013 -0700 @@ -50,9 +50,13 @@ #ifdef TARGET_ARCH_MODEL_arm # include "adfiles/ad_arm.hpp" #endif -#ifdef TARGET_ARCH_MODEL_ppc -# include "adfiles/ad_ppc.hpp" +#ifdef TARGET_ARCH_MODEL_ppc_32 +# include "adfiles/ad_ppc_32.hpp" #endif +#ifdef TARGET_ARCH_MODEL_ppc_64 +# include "adfiles/ad_ppc_64.hpp" +#endif + // Portions of code courtesy of Clifford Click diff -r aaa45012be98 -r b5c8a61d7fa0 src/share/vm/opto/lcm.cpp --- a/src/share/vm/opto/lcm.cpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/share/vm/opto/lcm.cpp Fri Jun 21 15:56:24 2013 -0700 @@ -45,8 +45,11 @@ #ifdef TARGET_ARCH_MODEL_arm # include "adfiles/ad_arm.hpp" #endif -#ifdef TARGET_ARCH_MODEL_ppc -# include "adfiles/ad_ppc.hpp" +#ifdef TARGET_ARCH_MODEL_ppc_32 +# include "adfiles/ad_ppc_32.hpp" +#endif +#ifdef TARGET_ARCH_MODEL_ppc_64 +# include "adfiles/ad_ppc_64.hpp" #endif // Optimization - Graph Style diff -r aaa45012be98 -r b5c8a61d7fa0 src/share/vm/opto/locknode.hpp --- a/src/share/vm/opto/locknode.hpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/share/vm/opto/locknode.hpp Fri Jun 21 15:56:24 2013 -0700 @@ -43,8 +43,11 @@ #ifdef TARGET_ARCH_MODEL_arm # include "adfiles/ad_arm.hpp" #endif -#ifdef TARGET_ARCH_MODEL_ppc -# include "adfiles/ad_ppc.hpp" +#ifdef TARGET_ARCH_MODEL_ppc_32 +# include "adfiles/ad_ppc_32.hpp" +#endif +#ifdef TARGET_ARCH_MODEL_ppc_64 +# include "adfiles/ad_ppc_64.hpp" #endif //------------------------------BoxLockNode------------------------------------ diff -r aaa45012be98 -r b5c8a61d7fa0 src/share/vm/opto/matcher.cpp --- a/src/share/vm/opto/matcher.cpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/share/vm/opto/matcher.cpp Fri Jun 21 15:56:24 2013 -0700 @@ -53,8 +53,11 @@ #ifdef TARGET_ARCH_MODEL_arm # include "adfiles/ad_arm.hpp" #endif -#ifdef TARGET_ARCH_MODEL_ppc -# include "adfiles/ad_ppc.hpp" +#ifdef TARGET_ARCH_MODEL_ppc_32 +# include "adfiles/ad_ppc_32.hpp" +#endif +#ifdef TARGET_ARCH_MODEL_ppc_64 +# include "adfiles/ad_ppc_64.hpp" #endif OptoReg::Name OptoReg::c_frame_pointer; diff -r aaa45012be98 -r b5c8a61d7fa0 src/share/vm/opto/output.hpp --- a/src/share/vm/opto/output.hpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/share/vm/opto/output.hpp Fri Jun 21 15:56:24 2013 -0700 @@ -42,8 +42,11 @@ #ifdef TARGET_ARCH_MODEL_arm # include "adfiles/ad_arm.hpp" #endif -#ifdef TARGET_ARCH_MODEL_ppc -# include "adfiles/ad_ppc.hpp" +#ifdef TARGET_ARCH_MODEL_ppc_32 +# include "adfiles/ad_ppc_32.hpp" +#endif +#ifdef TARGET_ARCH_MODEL_ppc_64 +# include "adfiles/ad_ppc_64.hpp" #endif class Arena; diff -r aaa45012be98 -r b5c8a61d7fa0 src/share/vm/opto/regmask.cpp --- a/src/share/vm/opto/regmask.cpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/share/vm/opto/regmask.cpp Fri Jun 21 15:56:24 2013 -0700 @@ -40,8 +40,11 @@ #ifdef TARGET_ARCH_MODEL_arm # include "adfiles/ad_arm.hpp" #endif -#ifdef TARGET_ARCH_MODEL_ppc -# include "adfiles/ad_ppc.hpp" +#ifdef TARGET_ARCH_MODEL_ppc_32 +# include "adfiles/ad_ppc_32.hpp" +#endif +#ifdef TARGET_ARCH_MODEL_ppc_64 +# include "adfiles/ad_ppc_64.hpp" #endif #define RM_SIZE _RM_SIZE /* a constant private to the class RegMask */ diff -r aaa45012be98 -r b5c8a61d7fa0 src/share/vm/opto/regmask.hpp --- a/src/share/vm/opto/regmask.hpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/share/vm/opto/regmask.hpp Fri Jun 21 15:56:24 2013 -0700 @@ -43,8 +43,11 @@ #ifdef TARGET_ARCH_MODEL_arm # include "adfiles/adGlobals_arm.hpp" #endif -#ifdef TARGET_ARCH_MODEL_ppc -# include "adfiles/adGlobals_ppc.hpp" +#ifdef TARGET_ARCH_MODEL_ppc_32 +# include "adfiles/adGlobals_ppc_32.hpp" +#endif +#ifdef TARGET_ARCH_MODEL_ppc_64 +# include "adfiles/adGlobals_ppc_64.hpp" #endif // Some fun naming (textual) substitutions: diff -r aaa45012be98 -r b5c8a61d7fa0 src/share/vm/opto/runtime.cpp --- a/src/share/vm/opto/runtime.cpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/share/vm/opto/runtime.cpp Fri Jun 21 15:56:24 2013 -0700 @@ -83,8 +83,11 @@ #ifdef TARGET_ARCH_MODEL_arm # include "adfiles/ad_arm.hpp" #endif -#ifdef TARGET_ARCH_MODEL_ppc -# include "adfiles/ad_ppc.hpp" +#ifdef TARGET_ARCH_MODEL_ppc_32 +# include "adfiles/ad_ppc_32.hpp" +#endif +#ifdef TARGET_ARCH_MODEL_ppc_64 +# include "adfiles/ad_ppc_64.hpp" #endif @@ -977,7 +980,7 @@ nm = CodeCache::find_nmethod(pc); assert(nm != NULL, "No NMethod found"); if (nm->is_native_method()) { - fatal("Native mathod should not have path to exception handling"); + fatal("Native method should not have path to exception handling"); } else { // we are switching to old paradigm: search for exception handler in caller_frame // instead in exception handler of caller_frame.sender() @@ -1006,7 +1009,7 @@ } // If we are forcing an unwind because of stack overflow then deopt is - // irrelevant sice we are throwing the frame away anyway. + // irrelevant since we are throwing the frame away anyway. if (deopting && !force_unwind) { handler_address = SharedRuntime::deopt_blob()->unpack_with_exception(); @@ -1049,7 +1052,7 @@ // Note we enter without the usual JRT wrapper. We will call a helper routine that // will do the normal VM entry. We do it this way so that we can see if the nmethod // we looked up the handler for has been deoptimized in the meantime. If it has been -// we must not use the handler and instread return the deopt blob. +// we must not use the handler and instead return the deopt blob. address OptoRuntime::handle_exception_C(JavaThread* thread) { // // We are in Java not VM and in debug mode we have a NoHandleMark diff -r aaa45012be98 -r b5c8a61d7fa0 src/share/vm/runtime/deoptimization.cpp --- a/src/share/vm/runtime/deoptimization.cpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/share/vm/runtime/deoptimization.cpp Fri Jun 21 15:56:24 2013 -0700 @@ -81,10 +81,13 @@ #ifdef TARGET_ARCH_MODEL_arm # include "adfiles/ad_arm.hpp" #endif -#ifdef TARGET_ARCH_MODEL_ppc -# include "adfiles/ad_ppc.hpp" +#ifdef TARGET_ARCH_MODEL_ppc_32 +# include "adfiles/ad_ppc_32.hpp" #endif +#ifdef TARGET_ARCH_MODEL_ppc_64 +# include "adfiles/ad_ppc_64.hpp" #endif +#endif // COMPILER2 bool DeoptimizationMarker::_is_active = false; diff -r aaa45012be98 -r b5c8a61d7fa0 src/share/vm/runtime/frame.cpp --- a/src/share/vm/runtime/frame.cpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/share/vm/runtime/frame.cpp Fri Jun 21 15:56:24 2013 -0700 @@ -918,7 +918,7 @@ cld_f->do_cld(m->method_holder()->class_loader_data()); } -#if !defined(PPC) || defined(ZERO) +#if !defined(PPC32) || defined(ZERO) if (m->is_native()) { #ifdef CC_INTERP interpreterState istate = get_interpreterState(); @@ -927,11 +927,11 @@ f->do_oop((oop*)( fp() + interpreter_frame_oop_temp_offset )); #endif /* CC_INTERP */ } -#else // PPC +#else // PPC32 if (m->is_native() && m->is_static()) { f->do_oop(interpreter_frame_mirror_addr()); } -#endif // PPC +#endif // PPC32 int max_locals = m->is_native() ? m->size_of_parameters() : m->max_locals(); diff -r aaa45012be98 -r b5c8a61d7fa0 src/share/vm/runtime/frame.hpp --- a/src/share/vm/runtime/frame.hpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/share/vm/runtime/frame.hpp Fri Jun 21 15:56:24 2013 -0700 @@ -46,10 +46,13 @@ #ifdef TARGET_ARCH_MODEL_arm # include "adfiles/adGlobals_arm.hpp" #endif -#ifdef TARGET_ARCH_MODEL_ppc -# include "adfiles/adGlobals_ppc.hpp" +#ifdef TARGET_ARCH_MODEL_ppc_32 +# include "adfiles/adGlobals_ppc_32.hpp" #endif +#ifdef TARGET_ARCH_MODEL_ppc_64 +# include "adfiles/adGlobals_ppc_64.hpp" #endif +#endif // COMPILER2 #ifdef ZERO #ifdef TARGET_ARCH_zero # include "stack_zero.hpp" @@ -347,7 +350,7 @@ void interpreter_frame_set_method(Method* method); Method** interpreter_frame_method_addr() const; ConstantPoolCache** interpreter_frame_cache_addr() const; -#ifdef PPC +#ifdef PPC32 oop* interpreter_frame_mirror_addr() const; #endif diff -r aaa45012be98 -r b5c8a61d7fa0 src/share/vm/runtime/globals.hpp --- a/src/share/vm/runtime/globals.hpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/share/vm/runtime/globals.hpp Fri Jun 21 15:56:24 2013 -0700 @@ -167,7 +167,6 @@ define_pd_global(intx, OnStackReplacePercentage, 0); define_pd_global(bool, ResizeTLAB, false); define_pd_global(intx, FreqInlineSize, 0); -define_pd_global(intx, InlineSmallCode, 0); define_pd_global(intx, NewSizeThreadIncrease, 4*K); define_pd_global(intx, InlineClassNatives, true); define_pd_global(intx, InlineUnsafeOps, true); @@ -3147,7 +3146,8 @@ "disable this feature") \ \ /* code cache parameters */ \ - develop(uintx, CodeCacheSegmentSize, 64, \ + /* ppc64 has large code-entry alignment. */ \ + develop(uintx, CodeCacheSegmentSize, 64 PPC64_ONLY(+64), \ "Code cache segment size (in bytes) - smallest unit of " \ "allocation") \ \ @@ -3609,7 +3609,7 @@ NOT_LP64(LINUX_ONLY(2*G) NOT_LINUX(0)), \ "Address to allocate shared memory region for class data") \ \ - diagnostic(bool, EnableInvokeDynamic, true, \ + diagnostic(bool, EnableInvokeDynamic, true PPC64_ONLY(&& false), \ "support JSR 292 (method handles, invokedynamic, " \ "anonymous classes") \ \ diff -r aaa45012be98 -r b5c8a61d7fa0 src/share/vm/runtime/sharedRuntime.cpp --- a/src/share/vm/runtime/sharedRuntime.cpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/share/vm/runtime/sharedRuntime.cpp Fri Jun 21 15:56:24 2013 -0700 @@ -406,7 +406,7 @@ #endif -#if defined(__SOFTFP__) || defined(PPC) +#if defined(__SOFTFP__) || defined(PPC32) double SharedRuntime::dsqrt(double f) { return sqrt(f); } diff -r aaa45012be98 -r b5c8a61d7fa0 src/share/vm/runtime/sharedRuntime.hpp --- a/src/share/vm/runtime/sharedRuntime.hpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/share/vm/runtime/sharedRuntime.hpp Fri Jun 21 15:56:24 2013 -0700 @@ -140,7 +140,7 @@ static double dabs(double f); #endif -#if defined(__SOFTFP__) || defined(PPC) +#if defined(__SOFTFP__) || defined(PPC32) static double dsqrt(double f); #endif diff -r aaa45012be98 -r b5c8a61d7fa0 src/share/vm/runtime/stubRoutines.hpp --- a/src/share/vm/runtime/stubRoutines.hpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/share/vm/runtime/stubRoutines.hpp Fri Jun 21 15:56:24 2013 -0700 @@ -114,8 +114,11 @@ #ifdef TARGET_ARCH_MODEL_arm # include "stubRoutines_arm.hpp" #endif -#ifdef TARGET_ARCH_MODEL_ppc -# include "stubRoutines_ppc.hpp" +#ifdef TARGET_ARCH_MODEL_ppc_32 +# include "stubRoutines_ppc_32.hpp" +#endif +#ifdef TARGET_ARCH_MODEL_ppc_64 +# include "stubRoutines_ppc_64.hpp" #endif diff -r aaa45012be98 -r b5c8a61d7fa0 src/share/vm/runtime/vmStructs.cpp --- a/src/share/vm/runtime/vmStructs.cpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/share/vm/runtime/vmStructs.cpp Fri Jun 21 15:56:24 2013 -0700 @@ -198,10 +198,13 @@ #ifdef TARGET_ARCH_MODEL_arm # include "adfiles/adGlobals_arm.hpp" #endif -#ifdef TARGET_ARCH_MODEL_ppc -# include "adfiles/adGlobals_ppc.hpp" +#ifdef TARGET_ARCH_MODEL_ppc_32 +# include "adfiles/adGlobals_ppc_32.hpp" #endif +#ifdef TARGET_ARCH_MODEL_ppc_64 +# include "adfiles/adGlobals_ppc_64.hpp" #endif +#endif // COMPILER2 // Note: the cross-product of (c1, c2, product, nonproduct, ...), // (nonstatic, static), and (unchecked, checked) has not been taken. diff -r aaa45012be98 -r b5c8a61d7fa0 src/share/vm/runtime/vm_version.cpp --- a/src/share/vm/runtime/vm_version.cpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/share/vm/runtime/vm_version.cpp Fri Jun 21 15:56:24 2013 -0700 @@ -186,7 +186,8 @@ IA64_ONLY("ia64") \ AMD64_ONLY("amd64") \ ARM_ONLY("arm") \ - PPC_ONLY("ppc") \ + PPC32_ONLY("ppc") \ + PPC64_ONLY("ppc64") \ SPARC_ONLY("sparc") #endif // ZERO @@ -248,7 +249,7 @@ #define FLOAT_ARCH_STR "-e500v2" #elif defined(ARM) #define FLOAT_ARCH_STR "-vfp" - #elif defined(PPC) + #elif defined(PPC32) #define FLOAT_ARCH_STR "-hflt" #else #define FLOAT_ARCH_STR "" diff -r aaa45012be98 -r b5c8a61d7fa0 src/share/vm/utilities/macros.hpp --- a/src/share/vm/utilities/macros.hpp Thu Jun 20 10:16:47 2013 -0700 +++ b/src/share/vm/utilities/macros.hpp Fri Jun 21 15:56:24 2013 -0700 @@ -344,14 +344,34 @@ #define NOT_SPARC(code) code #endif -#ifdef PPC +#if defined(PPC32) || defined(PPC64) +#ifndef PPC +#define PPC +#endif #define PPC_ONLY(code) code #define NOT_PPC(code) #else +#undef PPC #define PPC_ONLY(code) #define NOT_PPC(code) code #endif +#ifdef PPC32 +#define PPC32_ONLY(code) code +#define NOT_PPC32(code) +#else +#define PPC32_ONLY(code) +#define NOT_PPC32(code) code +#endif + +#ifdef PPC64 +#define PPC64_ONLY(code) code +#define NOT_PPC64(code) +#else +#define PPC64_ONLY(code) +#define NOT_PPC64(code) code +#endif + #ifdef E500V2 #define E500V2_ONLY(code) code #define NOT_E500V2(code)