Changeset: de5e8c8a9b87 Author: andrew Date: 2016-09-10 21:36 +0100 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/de5e8c8a9b87
8165807: PPC64: Backport PPC64 port to OpenJDK 7 Summary: Backport initial PPC64 port changes without bug IDs Reviewed-by: goetz ! agent/src/os/linux/libproc.h ! make/Makefile + make/aix/Makefile + make/aix/adlc_updater + make/aix/build.sh + make/aix/makefiles/adjust-mflags.sh + make/aix/makefiles/adlc.make + make/aix/makefiles/build_vm_def.sh + make/aix/makefiles/buildtree.make + make/aix/makefiles/compiler2.make + make/aix/makefiles/core.make + make/aix/makefiles/defs.make + make/aix/makefiles/dtrace.make + make/aix/makefiles/fastdebug.make + make/aix/makefiles/jsig.make + make/aix/makefiles/jvmg.make + make/aix/makefiles/jvmti.make + make/aix/makefiles/launcher.make + make/aix/makefiles/mapfile-vers-debug + make/aix/makefiles/mapfile-vers-jsig + make/aix/makefiles/mapfile-vers-product + make/aix/makefiles/ppc64.make + make/aix/makefiles/product.make + make/aix/makefiles/rules.make + make/aix/makefiles/sa.make + make/aix/makefiles/saproc.make + make/aix/makefiles/top.make + make/aix/makefiles/trace.make + make/aix/makefiles/vm.make + make/aix/makefiles/xlc.make + make/aix/platform_ppc64 ! make/defs.make ! make/linux/makefiles/buildtree.make ! make/linux/makefiles/defs.make ! make/linux/makefiles/gcc.make + make/linux/makefiles/ppc64.make ! make/linux/makefiles/vm.make + make/linux/platform_ppc64 + src/cpu/ppc/vm/assembler_ppc.cpp + src/cpu/ppc/vm/assembler_ppc.hpp + src/cpu/ppc/vm/assembler_ppc.inline.hpp + src/cpu/ppc/vm/bytecodeInterpreter_ppc.hpp + src/cpu/ppc/vm/bytecodeInterpreter_ppc.inline.hpp + src/cpu/ppc/vm/bytecodes_ppc.cpp + src/cpu/ppc/vm/bytecodes_ppc.hpp + src/cpu/ppc/vm/bytes_ppc.hpp + src/cpu/ppc/vm/c2_globals_ppc.hpp + src/cpu/ppc/vm/c2_init_ppc.cpp + src/cpu/ppc/vm/codeBuffer_ppc.hpp + src/cpu/ppc/vm/compile_ppc.cpp + src/cpu/ppc/vm/compile_ppc.hpp + src/cpu/ppc/vm/copy_ppc.hpp + src/cpu/ppc/vm/cppInterpreterGenerator_ppc.hpp + src/cpu/ppc/vm/cppInterpreter_ppc.cpp + src/cpu/ppc/vm/cppInterpreter_ppc.hpp + src/cpu/ppc/vm/debug_ppc.cpp + src/cpu/ppc/vm/depChecker_ppc.hpp + src/cpu/ppc/vm/disassembler_ppc.hpp + src/cpu/ppc/vm/dump_ppc.cpp + src/cpu/ppc/vm/frame_ppc.cpp + src/cpu/ppc/vm/frame_ppc.hpp + src/cpu/ppc/vm/frame_ppc.inline.hpp + src/cpu/ppc/vm/globalDefinitions_ppc.hpp + src/cpu/ppc/vm/globals_ppc.hpp + src/cpu/ppc/vm/icBuffer_ppc.cpp + src/cpu/ppc/vm/icache_ppc.cpp + src/cpu/ppc/vm/icache_ppc.hpp + src/cpu/ppc/vm/interp_masm_ppc_64.cpp + src/cpu/ppc/vm/interp_masm_ppc_64.hpp + src/cpu/ppc/vm/interpreterGenerator_ppc.hpp + src/cpu/ppc/vm/interpreterRT_ppc.cpp + src/cpu/ppc/vm/interpreterRT_ppc.hpp + src/cpu/ppc/vm/interpreter_ppc.cpp + src/cpu/ppc/vm/interpreter_ppc.hpp + src/cpu/ppc/vm/javaFrameAnchor_ppc.hpp + src/cpu/ppc/vm/jniFastGetField_ppc.cpp + src/cpu/ppc/vm/jniTypes_ppc.hpp + src/cpu/ppc/vm/jni_ppc.h + src/cpu/ppc/vm/macroAssembler_ppc.cpp + src/cpu/ppc/vm/macroAssembler_ppc.hpp + src/cpu/ppc/vm/macroAssembler_ppc.inline.hpp + src/cpu/ppc/vm/methodHandles_ppc.cpp + src/cpu/ppc/vm/methodHandles_ppc.hpp + src/cpu/ppc/vm/nativeInst_ppc.cpp + src/cpu/ppc/vm/nativeInst_ppc.hpp + src/cpu/ppc/vm/ppc.ad + src/cpu/ppc/vm/ppc_64.ad + src/cpu/ppc/vm/registerMap_ppc.hpp + src/cpu/ppc/vm/register_definitions_ppc.cpp + src/cpu/ppc/vm/register_ppc.cpp + src/cpu/ppc/vm/register_ppc.hpp + src/cpu/ppc/vm/relocInfo_ppc.cpp + src/cpu/ppc/vm/relocInfo_ppc.hpp + src/cpu/ppc/vm/runtime_ppc.cpp + src/cpu/ppc/vm/sharedRuntime_ppc.cpp + src/cpu/ppc/vm/stubGenerator_ppc.cpp + src/cpu/ppc/vm/stubRoutines_ppc_64.cpp + src/cpu/ppc/vm/stubRoutines_ppc_64.hpp + src/cpu/ppc/vm/vmStructs_ppc.hpp + src/cpu/ppc/vm/vm_version_ppc.cpp + src/cpu/ppc/vm/vm_version_ppc.hpp + src/cpu/ppc/vm/vmreg_ppc.cpp + src/cpu/ppc/vm/vmreg_ppc.hpp + src/cpu/ppc/vm/vmreg_ppc.inline.hpp + src/cpu/ppc/vm/vtableStubs_ppc_64.cpp + src/cpu/sparc/vm/compile_sparc.hpp ! src/cpu/sparc/vm/globals_sparc.hpp ! src/cpu/sparc/vm/methodHandles_sparc.hpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/sparc/vm/sparc.ad + src/cpu/x86/vm/compile_x86.hpp ! src/cpu/x86/vm/globals_x86.hpp ! src/cpu/x86/vm/methodHandles_x86.hpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad + src/cpu/zero/vm/compile_zero.hpp ! src/cpu/zero/vm/globals_zero.hpp ! src/cpu/zero/vm/methodHandles_zero.hpp ! src/cpu/zero/vm/sharedRuntime_zero.cpp + src/os/aix/vm/attachListener_aix.cpp + src/os/aix/vm/c2_globals_aix.hpp + src/os/aix/vm/chaitin_aix.cpp + src/os/aix/vm/decoder_aix.hpp + src/os/aix/vm/globals_aix.hpp + src/os/aix/vm/interfaceSupport_aix.hpp + src/os/aix/vm/jsig.c + src/os/aix/vm/jvm_aix.cpp + src/os/aix/vm/jvm_aix.h + src/os/aix/vm/libperfstat_aix.cpp + src/os/aix/vm/libperfstat_aix.hpp + src/os/aix/vm/loadlib_aix.cpp + src/os/aix/vm/loadlib_aix.hpp + src/os/aix/vm/mutex_aix.inline.hpp + src/os/aix/vm/osThread_aix.cpp + src/os/aix/vm/osThread_aix.hpp + src/os/aix/vm/os_aix.cpp + src/os/aix/vm/os_aix.hpp + src/os/aix/vm/os_aix.inline.hpp + src/os/aix/vm/os_share_aix.hpp + src/os/aix/vm/perfMemory_aix.cpp + src/os/aix/vm/porting_aix.cpp + src/os/aix/vm/porting_aix.hpp + src/os/aix/vm/threadCritical_aix.cpp + src/os/aix/vm/thread_aix.inline.hpp + src/os/aix/vm/vmError_aix.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/os_linux.hpp ! src/os/posix/launcher/java_md.c ! src/os/posix/vm/os_posix.cpp ! src/os/posix/vm/os_posix.hpp ! src/os/solaris/vm/os_solaris.hpp ! src/os/windows/vm/os_windows.hpp + src/os_cpu/aix_ppc/vm/aix_ppc_64.ad + src/os_cpu/aix_ppc/vm/atomic_aix_ppc.inline.hpp + src/os_cpu/aix_ppc/vm/globals_aix_ppc.hpp + src/os_cpu/aix_ppc/vm/orderAccess_aix_ppc.inline.hpp + src/os_cpu/aix_ppc/vm/os_aix_ppc.cpp + src/os_cpu/aix_ppc/vm/os_aix_ppc.hpp + src/os_cpu/aix_ppc/vm/prefetch_aix_ppc.inline.hpp + src/os_cpu/aix_ppc/vm/threadLS_aix_ppc.cpp + src/os_cpu/aix_ppc/vm/threadLS_aix_ppc.hpp + src/os_cpu/aix_ppc/vm/thread_aix_ppc.cpp + src/os_cpu/aix_ppc/vm/thread_aix_ppc.hpp + src/os_cpu/aix_ppc/vm/vmStructs_aix_ppc.hpp + src/os_cpu/linux_ppc/vm/atomic_linux_ppc.inline.hpp + src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp + src/os_cpu/linux_ppc/vm/linux_ppc_64.ad + src/os_cpu/linux_ppc/vm/orderAccess_linux_ppc.inline.hpp + src/os_cpu/linux_ppc/vm/os_linux_ppc.cpp + src/os_cpu/linux_ppc/vm/os_linux_ppc.hpp + src/os_cpu/linux_ppc/vm/prefetch_linux_ppc.inline.hpp + src/os_cpu/linux_ppc/vm/threadLS_linux_ppc.cpp + src/os_cpu/linux_ppc/vm/threadLS_linux_ppc.hpp + src/os_cpu/linux_ppc/vm/thread_linux_ppc.cpp + src/os_cpu/linux_ppc/vm/thread_linux_ppc.hpp + src/os_cpu/linux_ppc/vm/vmStructs_linux_ppc.hpp ! src/share/tools/hsdis/Makefile ! src/share/tools/hsdis/hsdis-demo.c ! src/share/tools/hsdis/hsdis.c ! src/share/vm/adlc/adlparse.cpp ! src/share/vm/adlc/adlparse.hpp ! src/share/vm/adlc/archDesc.hpp ! src/share/vm/adlc/formssel.cpp ! src/share/vm/adlc/formssel.hpp ! src/share/vm/adlc/main.cpp ! src/share/vm/adlc/output_c.cpp ! src/share/vm/adlc/output_h.cpp ! src/share/vm/asm/assembler.cpp ! src/share/vm/asm/assembler.hpp ! src/share/vm/asm/codeBuffer.cpp ! src/share/vm/asm/codeBuffer.hpp ! src/share/vm/c1/c1_FrameMap.cpp ! src/share/vm/c1/c1_globals.hpp ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/code/compiledIC.cpp ! src/share/vm/code/compiledIC.hpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/relocInfo.cpp ! src/share/vm/code/relocInfo.hpp ! src/share/vm/code/stubs.hpp ! src/share/vm/code/vmreg.hpp ! src/share/vm/compiler/disassembler.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.hpp ! src/share/vm/gc_implementation/g1/dirtyCardQueue.cpp ! src/share/vm/gc_implementation/g1/g1AllocRegion.hpp ! src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp ! src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp ! src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.hpp ! src/share/vm/gc_implementation/g1/ptrQueue.cpp ! src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp ! src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.inline.hpp ! src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.cpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp ! src/share/vm/gc_interface/collectedHeap.cpp ! src/share/vm/gc_interface/collectedHeap.inline.hpp ! src/share/vm/interpreter/abstractInterpreter.hpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/interpreter/bytecodeInterpreter.hpp + src/share/vm/interpreter/bytecodeInterpreterProfiling.hpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/interpreter/interpreterRuntime.hpp ! src/share/vm/interpreter/invocationCounter.hpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/libadt/port.hpp ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/barrierSet.hpp ! src/share/vm/memory/barrierSet.inline.hpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableModRefBS.hpp ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/memory/defNewGeneration.cpp ! src/share/vm/memory/gcLocker.hpp ! src/share/vm/memory/genMarkSweep.cpp ! src/share/vm/memory/modRefBarrierSet.hpp ! src/share/vm/memory/resourceArea.cpp ! src/share/vm/memory/resourceArea.hpp ! src/share/vm/memory/space.hpp ! src/share/vm/memory/threadLocalAllocBuffer.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/constantPoolKlass.cpp ! src/share/vm/oops/cpCacheOop.cpp ! src/share/vm/oops/cpCacheOop.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/markOop.cpp ! src/share/vm/oops/methodDataOop.cpp ! src/share/vm/oops/methodDataOop.hpp ! src/share/vm/oops/methodOop.hpp ! src/share/vm/oops/oop.cpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/oops/oopsHierarchy.cpp ! src/share/vm/oops/typeArrayOop.hpp ! src/share/vm/opto/block.cpp ! src/share/vm/opto/block.hpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/c2compiler.cpp ! src/share/vm/opto/callGenerator.cpp ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/chaitin.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/gcm.cpp ! src/share/vm/opto/generateOptoStub.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/graphKit.hpp ! src/share/vm/opto/idealGraphPrinter.cpp ! src/share/vm/opto/idealKit.cpp ! src/share/vm/opto/idealKit.hpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/locknode.hpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/machnode.cpp ! src/share/vm/opto/machnode.hpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/opto/matcher.hpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/node.hpp ! src/share/vm/opto/output.cpp ! src/share/vm/opto/output.hpp ! src/share/vm/opto/parse.hpp ! src/share/vm/opto/parse1.cpp ! src/share/vm/opto/parse2.cpp ! src/share/vm/opto/parse3.cpp ! src/share/vm/opto/postaloc.cpp ! src/share/vm/opto/regalloc.cpp ! src/share/vm/opto/regmask.cpp ! src/share/vm/opto/regmask.hpp ! src/share/vm/opto/runtime.cpp ! src/share/vm/opto/type.cpp ! src/share/vm/opto/type.hpp ! src/share/vm/opto/vectornode.hpp ! src/share/vm/prims/forte.cpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h ! src/share/vm/prims/jvmtiEnv.cpp ! src/share/vm/prims/jvmtiImpl.cpp ! src/share/vm/prims/jvmtiManageCapabilities.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/nativeLookup.cpp ! src/share/vm/prims/unsafe.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/atomic.cpp ! src/share/vm/runtime/biasedLocking.cpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/fprofiler.hpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/frame.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/handles.cpp ! src/share/vm/runtime/handles.inline.hpp ! src/share/vm/runtime/interfaceSupport.hpp ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/javaCalls.cpp ! src/share/vm/runtime/javaCalls.hpp ! src/share/vm/runtime/javaFrameAnchor.hpp ! src/share/vm/runtime/jniHandles.cpp ! src/share/vm/runtime/memprofiler.cpp ! src/share/vm/runtime/mutex.cpp ! src/share/vm/runtime/mutexLocker.cpp ! src/share/vm/runtime/mutexLocker.hpp ! src/share/vm/runtime/objectMonitor.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/runtime/osThread.hpp ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp ! src/share/vm/runtime/sharedRuntimeTrans.cpp ! src/share/vm/runtime/sharedRuntimeTrig.cpp ! src/share/vm/runtime/stubRoutines.cpp ! src/share/vm/runtime/stubRoutines.hpp ! src/share/vm/runtime/sweeper.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/task.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/runtime/threadLocalStorage.cpp ! src/share/vm/runtime/threadLocalStorage.hpp ! src/share/vm/runtime/timer.cpp ! src/share/vm/runtime/virtualspace.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/runtime/vmThread.cpp ! src/share/vm/runtime/vmThread.hpp ! src/share/vm/runtime/vm_operations.cpp ! src/share/vm/runtime/vm_version.cpp ! src/share/vm/utilities/accessFlags.cpp ! src/share/vm/utilities/array.cpp ! src/share/vm/utilities/bitMap.cpp ! src/share/vm/utilities/debug.cpp ! src/share/vm/utilities/debug.hpp ! src/share/vm/utilities/decoder.cpp ! src/share/vm/utilities/elfFile.cpp ! src/share/vm/utilities/elfFile.hpp ! src/share/vm/utilities/elfSymbolTable.cpp ! src/share/vm/utilities/elfSymbolTable.hpp ! src/share/vm/utilities/events.cpp ! src/share/vm/utilities/exceptions.cpp ! src/share/vm/utilities/globalDefinitions.hpp + src/share/vm/utilities/globalDefinitions_xlc.hpp ! src/share/vm/utilities/growableArray.cpp ! src/share/vm/utilities/histogram.hpp ! src/share/vm/utilities/macros.hpp ! src/share/vm/utilities/ostream.cpp ! src/share/vm/utilities/preserveException.hpp ! src/share/vm/utilities/taskqueue.cpp ! src/share/vm/utilities/taskqueue.hpp ! src/share/vm/utilities/workgroup.hpp Changeset: ccb68f77d07a Author: goetz Date: 2014-02-07 14:57 +0100 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/ccb68f77d07a 8016491: PPC64 (part 2): Clean up PPC defines. Summary: Distinguish PPC, PPC64 and PPC32. PPC should guard code needed on any PPC system. PPC32 and PPC64 should guard code needed in a port for the ppc64 or ppc32 instruction set. Reviewed-by: andrew ! make/linux/platform_ppc ! src/os/bsd/vm/os_bsd.cpp ! src/os_cpu/bsd_zero/vm/os_bsd_zero.hpp ! src/os_cpu/linux_zero/vm/os_linux_zero.hpp ! src/share/vm/utilities/macros.hpp Changeset: ccc95eb5ca55 Author: goetz Date: 2014-02-07 15:08 +0100 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/ccc95eb5ca55 8016586: PPC64 (part 3): basic changes for PPC64 Summary: added #includes needed for ppc64 port. Renamed _MODEL_ppc to_MODEL_ppc_32 and renamed corresponding old _ppc files to _ppc_32. Reviewed-by: dholmes, kvn ! make/linux/platform_ppc ! src/cpu/ppc/vm/stubRoutines_ppc_64.hpp ! src/share/vm/interpreter/abstractInterpreter.hpp ! src/share/vm/interpreter/templateTable.hpp ! src/share/vm/runtime/stubRoutines.hpp Changeset: f2f5a053bd0d Author: goetz Date: 2014-02-07 16:07 +0100 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/f2f5a053bd0d 8017313: PPC64 (part 6): stack handling improvements Summary: Precompute limit for stack overflow check Reviewed-by: kvn, coleenp ! src/cpu/ppc/vm/cppInterpreter_ppc.cpp ! src/os_cpu/aix_ppc/vm/os_aix_ppc.cpp ! src/os_cpu/linux_ppc/vm/os_linux_ppc.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp Changeset: 53986bf097ad Author: goetz Date: 2014-02-07 16:18 +0100 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/53986bf097ad 8016696: PPC64 (part 4): add relocation for trampoline stubs Summary: A trampoline allows to encode a small branch in the code, even if there is the chance that this branch can not reach all possible code locations. If the relocation finds that a branch is too far for the instruction in the code, it can patch it to jump to the trampoline where is sufficient space for a far branch. Needed on PPC. Reviewed-by: kvn, bdelsart, jrose ! src/share/vm/code/relocInfo.cpp ! src/share/vm/code/relocInfo.hpp Changeset: 33e70139574f Author: goetz Date: 2014-02-10 10:34 +0100 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/33e70139574f 8019517: PPC64 (part 102): cppInterpreter: implement G1 support 8019518: PPC64 (part 103): cppInterpreter: implement support for compressed Oops 8019519: PPC64 (part 105): C interpreter: implement support for jvmti early return. 8020121: PPC64: fix build in cppInterpreter after 8019519 Reviewed-by: kvn, coleenp, sspitsyn ! src/share/vm/interpreter/bytecodeInterpreter.cpp Changeset: 4b0ce9977f3c Author: goetz Date: 2014-02-10 10:47 +0100 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/4b0ce9977f3c 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. Summary: On AIX 7.1 systemcfg.h defines IA64 unconditionally, so test for !AIX where IA64 is used. Reviewed-by: dholmes, kvn ! src/share/vm/opto/generateOptoStub.cpp ! src/share/vm/prims/forte.cpp ! src/share/vm/runtime/os.cpp Changeset: e37038685e3f Author: goetz Date: 2014-02-10 11:09 +0100 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/e37038685e3f 8019929: PPC64 (part 107): Extend ELF-decoder to support PPC64 function descriptor tables Summary: Extend ELF-decoder to support PPC64 function descriptor tables Reviewed-by: kvn, zgu ! make/aix/makefiles/vm.make ! src/os/linux/vm/decoder_linux.cpp ! src/share/vm/utilities/decoder_elf.cpp ! src/share/vm/utilities/decoder_elf.hpp ! src/share/vm/utilities/elfFile.cpp ! src/share/vm/utilities/elfFile.hpp + src/share/vm/utilities/elfFuncDescTable.cpp + src/share/vm/utilities/elfFuncDescTable.hpp ! src/share/vm/utilities/elfStringTable.cpp ! src/share/vm/utilities/elfStringTable.hpp ! src/share/vm/utilities/elfSymbolTable.cpp ! src/share/vm/utilities/elfSymbolTable.hpp Changeset: dfc4a5d5995b Author: goetz Date: 2014-02-10 11:52 +0100 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/dfc4a5d5995b 8017317: PPC64 (part 7): cppInterpreter: implement support for biased locking 8024469: PPC64 (part 202): cppInterpreter: support for OSR. 8029957: PPC64 (part 213): cppInterpreter: memory ordering for object initialization Reviewed-by: kvn, dholmes ! src/share/vm/interpreter/bytecodeInterpreter.cpp Changeset: f6f8694a17b9 Author: goetz Date: 2014-02-10 12:33 +0100 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/f6f8694a17b9 8024468: PPC64 (part 201): cppInterpreter: implement bytecode profiling Summary: Implement profiling for c2 jit compilation. Reviewed-by: kvn ! src/cpu/zero/vm/cppInterpreter_zero.cpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/interpreter/bytecodeInterpreterProfiling.hpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/interpreter/interpreterRuntime.hpp ! src/share/vm/interpreter/invocationCounter.hpp ! src/share/vm/oops/methodDataOop.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: 3e9fd1cbb698 Author: goetz Date: 2014-02-10 12:48 +0100 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/3e9fd1cbb698 8024344: PPC64 (part 112): C argument in register AND stack slot. Summary: On PPC, the first 13 floating point arguments to C calls are passed in floating point registers. Also, all but the first 8 arguments are passed on the stack. So there can be floating point arguments that are passed on the stack and in a register. We duplicate the regs datastructure in c_calling_convention() to represent this. Reviewed-by: kvn, cjplummer ! src/cpu/zero/vm/globals_zero.hpp ! src/cpu/zero/vm/shark_globals_zero.hpp Changeset: d57b4ca4f74c Author: goetz Date: 2014-02-17 10:25 +0100 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/d57b4ca4f74c 8033168: PPC64: gcc 4.8 warning in output_c.cpp Summary: fix warnings Reviewed-by: kvn ! src/share/vm/adlc/output_c.cpp Changeset: efa0681495c5 Author: goetz Date: 2014-02-17 14:17 +0100 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/efa0681495c5 8035647: PPC64: Support for elf v2 abi. Summary: ELFv2 ABI used by the little endian PowerPC64 on Linux. Reviewed-by: kvn Contributed-by: asmun...@google.com ! src/cpu/ppc/vm/assembler_ppc.hpp ! src/cpu/ppc/vm/assembler_ppc.inline.hpp ! src/cpu/ppc/vm/cppInterpreter_ppc.cpp ! src/cpu/ppc/vm/frame_ppc.hpp ! src/cpu/ppc/vm/interpreterRT_ppc.cpp ! src/cpu/ppc/vm/interpreter_ppc.cpp ! src/cpu/ppc/vm/macroAssembler_ppc.cpp ! src/cpu/ppc/vm/macroAssembler_ppc.hpp ! src/cpu/ppc/vm/macroAssembler_ppc.inline.hpp ! src/cpu/ppc/vm/methodHandles_ppc.cpp ! src/cpu/ppc/vm/ppc.ad ! src/cpu/ppc/vm/runtime_ppc.cpp ! src/cpu/ppc/vm/sharedRuntime_ppc.cpp ! src/cpu/ppc/vm/stubGenerator_ppc.cpp ! src/cpu/ppc/vm/vm_version_ppc.cpp ! src/share/vm/utilities/elfFile.cpp Changeset: ee679e75ed23 Author: goetz Date: 2014-03-21 21:01 +0100 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/ee679e75ed23 8035396: Introduce accessor for tmp_oop in frame. Summary: Avoid #ifs by introducing the accessor function interpreter_frame_temp_oop_addr(). Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/frame_sparc.inline.hpp ! src/cpu/x86/vm/frame_x86.inline.hpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/frame.hpp ! src/share/vm/runtime/frame.inline.hpp Changeset: 807f61aed46a Author: goetz Date: 2014-03-28 15:05 +0100 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/807f61aed46a 8036976: PPC64: implement the template interpreter Reviewed-by: kvn, coleenp Contributed-by: axel.siebenb...@sap.com, martin.do...@sap.com ! make/aix/Makefile ! make/linux/Makefile ! src/cpu/ppc/vm/cppInterpreter_ppc.cpp ! src/cpu/ppc/vm/frame_ppc.cpp ! src/cpu/ppc/vm/frame_ppc.hpp ! src/cpu/ppc/vm/frame_ppc.inline.hpp ! src/cpu/ppc/vm/interp_masm_ppc_64.cpp ! src/cpu/ppc/vm/interp_masm_ppc_64.hpp ! src/cpu/ppc/vm/interpreter_ppc.cpp ! src/cpu/ppc/vm/interpreter_ppc.hpp ! src/cpu/ppc/vm/javaFrameAnchor_ppc.hpp ! src/cpu/ppc/vm/macroAssembler_ppc.cpp ! src/cpu/ppc/vm/macroAssembler_ppc.hpp ! src/cpu/ppc/vm/macroAssembler_ppc.inline.hpp ! src/cpu/ppc/vm/register_ppc.hpp ! src/cpu/ppc/vm/sharedRuntime_ppc.cpp ! src/cpu/ppc/vm/stubGenerator_ppc.cpp + src/cpu/ppc/vm/templateInterpreterGenerator_ppc.hpp + src/cpu/ppc/vm/templateInterpreter_ppc.cpp + src/cpu/ppc/vm/templateInterpreter_ppc.hpp + src/cpu/ppc/vm/templateTable_ppc_64.cpp + src/cpu/ppc/vm/templateTable_ppc_64.hpp ! src/cpu/ppc/vm/vtableStubs_ppc_64.cpp ! src/share/vm/interpreter/templateTable.hpp Changeset: 7b278d190877 Author: goetz Date: 2014-03-31 12:51 +0200 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/7b278d190877 8037915: PPC64/AIX: Several smaller fixes Reviewed-by: kvn ! src/cpu/ppc/vm/assembler_ppc.cpp ! src/cpu/ppc/vm/assembler_ppc.inline.hpp ! src/cpu/ppc/vm/methodHandles_ppc.cpp ! src/cpu/ppc/vm/stubRoutines_ppc_64.cpp ! src/cpu/ppc/vm/vm_version_ppc.cpp ! src/cpu/ppc/vm/vm_version_ppc.hpp ! src/os/aix/vm/mutex_aix.inline.hpp ! src/os_cpu/aix_ppc/vm/threadLS_aix_ppc.cpp ! src/os_cpu/aix_ppc/vm/thread_aix_ppc.cpp ! src/os_cpu/linux_ppc/vm/thread_linux_ppc.cpp Changeset: 5d31d3750e8c Author: asmundak Date: 2016-10-04 23:11 +0100 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/5d31d3750e8c 8036767: PPC64: Support for little endian execution model Reviewed-by: simonis ! make/linux/Makefile ! make/linux/makefiles/buildtree.make ! make/linux/makefiles/defs.make ! make/linux/makefiles/ppc64.make ! src/cpu/ppc/vm/assembler_ppc.hpp ! src/cpu/ppc/vm/bytes_ppc.hpp ! src/os/linux/vm/os_linux.cpp + src/os_cpu/linux_ppc/vm/bytes_linux_ppc.inline.hpp Changeset: a739212dcef9 Author: goetz Date: 2014-05-08 16:16 +0200 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/a739212dcef9 8042309: Some bugfixes for the ppc64 port Reviewed-by: kvn ! src/cpu/ppc/vm/frame_ppc.inline.hpp ! src/cpu/ppc/vm/interpreterRT_ppc.cpp ! src/cpu/ppc/vm/jniFastGetField_ppc.cpp ! src/cpu/ppc/vm/ppc.ad ! src/cpu/ppc/vm/templateInterpreter_ppc.cpp ! src/cpu/ppc/vm/templateTable_ppc_64.cpp Changeset: 26cc28fac375 Author: goetz Date: 2014-07-08 14:15 +0200 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/26cc28fac375 8167144: Fix aix after 8022507: SIGSEGV at ParMarkBitMap::verify_clear() Reviewed-by: andrew ! src/os/aix/vm/os_aix.cpp Changeset: ca381ff70dd9 Author: mdoerr Date: 2014-07-17 10:21 +0200 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/ca381ff70dd9 8050972: Concurrency problem in PcDesc cache Summary: The entries of the PcDesc cache in nmethods are not declared as volatile, but they are accessed and modified by several threads concurrently. Reviewed-by: kvn, dholmes ! src/share/vm/code/nmethod.hpp Changeset: b11238ed5526 Author: asmundak Date: 2014-07-28 10:19 +0200 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/b11238ed5526 8050942: PPC64: implement template interpreter for ppc64le Reviewed-by: kvn, goetz ! src/cpu/ppc/vm/assembler_ppc.hpp ! src/cpu/ppc/vm/assembler_ppc.inline.hpp ! src/cpu/ppc/vm/interp_masm_ppc_64.cpp ! src/cpu/ppc/vm/interp_masm_ppc_64.hpp ! src/cpu/ppc/vm/templateInterpreter_ppc.cpp ! src/cpu/ppc/vm/templateTable_ppc_64.cpp Changeset: 3760cef47599 Author: goetz Date: 2015-01-21 15:02 +0100 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/3760cef47599 8167198: Changes to make AIX compile after the merge Reviewed-by: andrew ! src/os/aix/vm/os_aix.cpp ! src/share/vm/utilities/vmError.cpp Changeset: f63bd8d2d523 Author: goetz Date: 2015-02-03 11:32 +0100 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/f63bd8d2d523 8069590: AIX port of "8050807: Better performing performance data handling" Reviewed-by: simonis, goetz Contributed-by: matthias.baes...@sap.com, martin.do...@sap.com ! src/os/aix/vm/perfMemory_aix.cpp Changeset: 0397689c9d28 Author: goetz Date: 2015-04-27 10:59 +0200 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/0397689c9d28 8078482: ppc: pass thread to throw_AbstractMethodError Summary: Also improve check for Safepoints in signal handler. Reviewed-by: kvn, simonis ! src/cpu/ppc/vm/interpreter_ppc.cpp ! src/os_cpu/linux_ppc/vm/os_linux_ppc.cpp Changeset: 2197bb9f9d14 Author: simonis Date: 2015-05-19 11:06 +0200 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/2197bb9f9d14 8080190: PPC64: Fix wrong rotate instructions in the .ad file Reviewed-by: kvn ! src/cpu/ppc/vm/ppc.ad + test/compiler/codegen/IntRotateWithImmediate.java Changeset: 5f801a6bfcfd Author: goetz Date: 2014-02-19 14:03 -0800 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/5f801a6bfcfd 8034797: AIX: Fix os::naked_short_sleep() in os_aix.cpp after 8028280 Summary: imlements os::naked_short_sleep(jlong ms) on AIX Reviewed-by: dholmes, kvn ! src/os/aix/vm/os_aix.cpp Changeset: e806d32ca07a Author: mdoerr Date: 2015-10-12 12:20 +0200 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/e806d32ca07a 8139421: PPC64LE: MacroAssembler::bxx64_patchable kill register R12 Summary: Register R12 must be preserved for stub calls (e.g. deopt handler). Reviewed-by: goetz ! src/cpu/ppc/vm/macroAssembler_ppc.cpp Changeset: 237e197452b9 Author: goetz Date: 2015-11-17 08:59 +0100 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/237e197452b9 8139258: PPC64LE: argument passing problem when passing 15 floats in native call Reviewed-by: mdoerr, goetz Contributed-by: asmun...@google.com ! src/cpu/ppc/vm/interpreter_ppc.cpp ! src/cpu/ppc/vm/sharedRuntime_ppc.cpp Changeset: dcbd95fc5cc6 Author: simonis Date: 2016-01-27 15:01 +0100 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/dcbd95fc5cc6 8148487: PPC64: Better byte behavior Reviewed-by: goetz, mdoerr ! src/cpu/ppc/vm/interp_masm_ppc_64.cpp ! src/cpu/ppc/vm/interp_masm_ppc_64.hpp ! src/cpu/ppc/vm/interpreter_ppc.cpp ! src/cpu/ppc/vm/templateInterpreter_ppc.cpp ! src/cpu/ppc/vm/templateTable_ppc_64.cpp Changeset: e9ee147de712 Author: simonis Date: 2016-06-14 19:48 +0200 URL: http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/e9ee147de712 8158260: PPC64: unaligned Unsafe.getInt can lead to the generation of illegal instructions Summary: Adjust instruction generation. Reviewed-by: goetz Contributed-by: grom...@linux.vnet.ibm.com, ho...@jp.ibm.com ! src/cpu/ppc/vm/ppc.ad