/hg/icedtea7-forest/hotspot: 6 new changesets

andrew at icedtea.classpath.org andrew at icedtea.classpath.org
Mon Aug 11 15:40:02 UTC 2014


changeset 7020d6309d02 in /hg/icedtea7-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea7-forest/hotspot?cmd=changeset;node=7020d6309d02
author: goetz
date: Mon Jul 07 08:54:46 2014 +0200

	Merge


changeset 2db9d0890cba in /hg/icedtea7-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea7-forest/hotspot?cmd=changeset;node=2db9d0890cba
author: goetz
date: Mon Jul 07 11:00:50 2014 +0200

	Adapt aix to 8022507


changeset d4b5bb6955d8 in /hg/icedtea7-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea7-forest/hotspot?cmd=changeset;node=d4b5bb6955d8
author: goetz
date: Tue Jul 08 14:15:44 2014 +0200

	Fix aix after 8022507: SIGSEGV at ParMarkBitMap::verify_clear()


changeset 43843e59dcea in /hg/icedtea7-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea7-forest/hotspot?cmd=changeset;node=43843e59dcea
author: mdoerr
date: Thu Jul 17 10:21:31 2014 +0200

	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


changeset 1176e8ff9f90 in /hg/icedtea7-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea7-forest/hotspot?cmd=changeset;node=1176e8ff9f90
author: asmundak
date: Mon Jul 28 10:19:55 2014 +0200

	8050942: PPC64: implement template interpreter for ppc64le
	Reviewed-by: kvn, goetz


changeset e559a0f8f986 in /hg/icedtea7-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea7-forest/hotspot?cmd=changeset;node=e559a0f8f986
author: andrew
date: Mon Aug 11 16:38:33 2014 +0100

	Merge PPC64 port


diffstat:

 .hgtags                                                                              |    76 +
 .jcheck/conf                                                                         |     2 -
 agent/src/os/linux/Makefile                                                          |    11 +-
 agent/src/os/linux/libproc.h                                                         |    14 +-
 agent/src/os/linux/ps_core.c                                                         |    70 +-
 agent/src/os/linux/ps_proc.c                                                         |    52 +-
 agent/src/share/classes/sun/jvm/hotspot/interpreter/Bytecodes.java                   |    10 +-
 agent/src/share/classes/sun/jvm/hotspot/utilities/Hashtable.java                     |     5 +-
 make/bsd/makefiles/arm.make                                                          |     6 +-
 make/bsd/makefiles/buildtree.make                                                    |     4 +-
 make/bsd/makefiles/gcc.make                                                          |     5 +-
 make/bsd/makefiles/vm.make                                                           |     9 +-
 make/defs.make                                                                       |     4 +
 make/hotspot_version                                                                 |     8 +-
 make/jprt.properties                                                                 |    50 +-
 make/linux/makefiles/adlc.make                                                       |     2 +
 make/linux/makefiles/arm.make                                                        |     6 +-
 make/linux/makefiles/buildtree.make                                                  |     8 +-
 make/linux/makefiles/defs.make                                                       |    52 +-
 make/linux/makefiles/gcc.make                                                        |    39 +-
 make/linux/makefiles/jsig.make                                                       |     6 +-
 make/linux/makefiles/rules.make                                                      |    15 +-
 make/linux/makefiles/saproc.make                                                     |     6 +-
 make/linux/makefiles/vm.make                                                         |    65 +-
 make/linux/makefiles/zeroshark.make                                                  |    37 +
 make/linux/platform_ppc64                                                            |     2 +-
 make/linux/platform_zero.in                                                          |     2 +-
 make/solaris/makefiles/adlc.make                                                     |     6 +-
 make/solaris/makefiles/dtrace.make                                                   |    16 +
 make/solaris/makefiles/gcc.make                                                      |     4 +-
 make/solaris/makefiles/jsig.make                                                     |     4 +
 make/solaris/makefiles/rules.make                                                    |    10 -
 make/solaris/makefiles/saproc.make                                                   |     4 +
 make/solaris/makefiles/vm.make                                                       |    12 +
 make/windows/makefiles/trace.make                                                    |     9 +-
 make/windows/makefiles/vm.make                                                       |     8 +
 src/cpu/ppc/vm/assembler_ppc.hpp                                                     |    10 +
 src/cpu/ppc/vm/assembler_ppc.inline.hpp                                              |     6 +
 src/cpu/ppc/vm/interp_masm_ppc_64.cpp                                                |    74 +-
 src/cpu/ppc/vm/interp_masm_ppc_64.hpp                                                |     1 +
 src/cpu/ppc/vm/templateInterpreter_ppc.cpp                                           |    14 +-
 src/cpu/ppc/vm/templateTable_ppc_64.cpp                                              |    98 +-
 src/cpu/sparc/vm/assembler_sparc.cpp                                                 |     8 +-
 src/cpu/sparc/vm/assembler_sparc.hpp                                                 |     2 +-
 src/cpu/sparc/vm/assembler_sparc.inline.hpp                                          |     2 +-
 src/cpu/sparc/vm/c1_Runtime1_sparc.cpp                                               |    11 +-
 src/cpu/sparc/vm/frame_sparc.hpp                                                     |     4 +-
 src/cpu/sparc/vm/frame_sparc.inline.hpp                                              |     7 +
 src/cpu/sparc/vm/sparc.ad                                                            |    31 +-
 src/cpu/sparc/vm/stubGenerator_sparc.cpp                                             |    10 +-
 src/cpu/sparc/vm/templateInterpreter_sparc.cpp                                       |    21 +-
 src/cpu/x86/vm/assembler_x86.cpp                                                     |     9 +-
 src/cpu/x86/vm/c1_LIRAssembler_x86.cpp                                               |    16 +-
 src/cpu/x86/vm/c1_LIRGenerator_x86.cpp                                               |    11 +-
 src/cpu/x86/vm/c1_Runtime1_x86.cpp                                                   |    11 +-
 src/cpu/x86/vm/c2_globals_x86.hpp                                                    |     2 +-
 src/cpu/x86/vm/frame_x86.cpp                                                         |    11 +-
 src/cpu/x86/vm/globals_x86.hpp                                                       |     2 +-
 src/cpu/x86/vm/templateInterpreter_x86_32.cpp                                        |    23 +-
 src/cpu/x86/vm/templateInterpreter_x86_64.cpp                                        |    23 +-
 src/cpu/x86/vm/x86_32.ad                                                             |    17 +-
 src/cpu/x86/vm/x86_64.ad                                                             |    17 +-
 src/cpu/zero/vm/arm_cas.S                                                            |    31 +
 src/cpu/zero/vm/asm_helper.cpp                                                       |   745 +
 src/cpu/zero/vm/bytecodes_arm.def                                                    |  7850 +++++++++
 src/cpu/zero/vm/bytecodes_zero.cpp                                                   |    52 +-
 src/cpu/zero/vm/bytecodes_zero.hpp                                                   |    41 +-
 src/cpu/zero/vm/cppInterpreter_arm.S                                                 |  7384 +++++++++
 src/cpu/zero/vm/cppInterpreter_zero.cpp                                              |    51 +-
 src/cpu/zero/vm/cppInterpreter_zero.hpp                                              |     2 +
 src/cpu/zero/vm/entryFrame_zero.hpp                                                  |     6 +-
 src/cpu/zero/vm/frame_zero.inline.hpp                                                |     4 +-
 src/cpu/zero/vm/methodHandles_zero.hpp                                               |     6 +-
 src/cpu/zero/vm/sharedRuntime_zero.cpp                                               |     4 +-
 src/cpu/zero/vm/thumb2.cpp                                                           |  7985 ++++++++++
 src/cpu/zero/vm/vm_version_zero.hpp                                                  |    11 +
 src/os/aix/vm/os_aix.cpp                                                             |     8 +-
 src/os/bsd/vm/attachListener_bsd.cpp                                                 |     4 +-
 src/os/bsd/vm/os_bsd.cpp                                                             |    35 +-
 src/os/linux/vm/globals_linux.hpp                                                    |     5 +-
 src/os/linux/vm/jsig.c                                                               |    10 +-
 src/os/linux/vm/os_linux.cpp                                                         |   878 +-
 src/os/linux/vm/os_linux.hpp                                                         |    15 +-
 src/os/solaris/vm/os_solaris.cpp                                                     |    12 +-
 src/os/windows/vm/os_windows.cpp                                                     |   138 +-
 src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp                                  |     2 +-
 src/os_cpu/linux_sparc/vm/atomic_linux_sparc.inline.hpp                              |     4 +-
 src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp                                         |    33 +-
 src/os_cpu/linux_x86/vm/os_linux_x86.cpp                                             |    43 +
 src/os_cpu/linux_x86/vm/os_linux_x86.hpp                                             |    13 +
 src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp                                |    14 +
 src/os_cpu/linux_zero/vm/globals_linux_zero.hpp                                      |     8 +-
 src/os_cpu/linux_zero/vm/os_linux_zero.cpp                                           |    47 +-
 src/os_cpu/linux_zero/vm/os_linux_zero.hpp                                           |     6 +
 src/share/tools/hsdis/Makefile                                                       |    10 +-
 src/share/tools/hsdis/hsdis.c                                                        |     5 +
 src/share/vm/asm/codeBuffer.hpp                                                      |     2 +-
 src/share/vm/c1/c1_LinearScan.cpp                                                    |     6 +-
 src/share/vm/c1/c1_Runtime1.cpp                                                      |    26 +-
 src/share/vm/ci/ciTypeFlow.cpp                                                       |     2 +-
 src/share/vm/classfile/classFileParser.cpp                                           |    11 +-
 src/share/vm/classfile/javaClasses.cpp                                               |    30 +-
 src/share/vm/classfile/javaClasses.hpp                                               |    29 +-
 src/share/vm/classfile/symbolTable.cpp                                               |   133 +-
 src/share/vm/classfile/symbolTable.hpp                                               |    41 +-
 src/share/vm/classfile/systemDictionary.cpp                                          |    32 +-
 src/share/vm/classfile/systemDictionary.hpp                                          |     9 +-
 src/share/vm/classfile/vmSymbols.hpp                                                 |     4 +-
 src/share/vm/code/nmethod.cpp                                                        |    37 +-
 src/share/vm/code/nmethod.hpp                                                        |    11 +-
 src/share/vm/compiler/methodLiveness.cpp                                             |    12 +-
 src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp                |    18 +-
 src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp      |     2 +-
 src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp |   304 +-
 src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp |    12 +-
 src/share/vm/gc_implementation/concurrentMarkSweep/vmCMSOperations.cpp               |    10 +-
 src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp                             |    12 +
 src/share/vm/gc_implementation/g1/concurrentG1Refine.hpp                             |     9 +-
 src/share/vm/gc_implementation/g1/concurrentMark.cpp                                 |    98 +-
 src/share/vm/gc_implementation/g1/concurrentMark.hpp                                 |     6 +
 src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp                          |     2 +-
 src/share/vm/gc_implementation/g1/g1CardCounts.cpp                                   |     4 +-
 src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp                                |   790 +-
 src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp                                |   202 +-
 src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp                         |     3 +-
 src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp                              |   114 +-
 src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp                              |    22 +-
 src/share/vm/gc_implementation/g1/g1EvacFailure.hpp                                  |     4 +-
 src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp                                 |    20 +
 src/share/vm/gc_implementation/g1/g1GCPhaseTimes.hpp                                 |    23 +
 src/share/vm/gc_implementation/g1/g1MarkSweep.cpp                                    |    21 +-
 src/share/vm/gc_implementation/g1/g1RemSet.cpp                                       |   168 +-
 src/share/vm/gc_implementation/g1/g1RemSet.hpp                                       |    47 +-
 src/share/vm/gc_implementation/g1/g1RemSetSummary.cpp                                |   354 +
 src/share/vm/gc_implementation/g1/g1RemSetSummary.hpp                                |   118 +
 src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp                        |   100 +-
 src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.hpp                        |    46 +
 src/share/vm/gc_implementation/g1/g1_globals.hpp                                     |    12 +-
 src/share/vm/gc_implementation/g1/heapRegion.cpp                                     |   452 +-
 src/share/vm/gc_implementation/g1/heapRegion.hpp                                     |    23 +-
 src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp                               |   140 +-
 src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp                               |    40 +-
 src/share/vm/gc_implementation/g1/ptrQueue.hpp                                       |     4 +
 src/share/vm/gc_implementation/parNew/parNewGeneration.cpp                           |     6 +-
 src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp                    |     2 +-
 src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp             |    23 +-
 src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.cpp             |    48 +
 src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.hpp             |     7 +-
 src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp                      |    10 +-
 src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp                |    16 +-
 src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp                        |     2 +-
 src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp                       |    28 +-
 src/share/vm/gc_implementation/shared/gcTimer.cpp                                    |    75 +-
 src/share/vm/gc_implementation/shared/gcTimer.hpp                                    |    60 +-
 src/share/vm/gc_implementation/shared/gcTrace.cpp                                    |    24 +-
 src/share/vm/gc_implementation/shared/gcTrace.hpp                                    |    54 +-
 src/share/vm/gc_implementation/shared/gcTraceSend.cpp                                |     2 +
 src/share/vm/gc_implementation/shared/gcTraceTime.cpp                                |    19 +-
 src/share/vm/gc_implementation/shared/gcTraceTime.hpp                                |     3 +-
 src/share/vm/gc_implementation/shared/objectCountEventSender.cpp                     |     6 +-
 src/share/vm/gc_implementation/shared/objectCountEventSender.hpp                     |     3 +-
 src/share/vm/gc_interface/collectedHeap.cpp                                          |     8 +
 src/share/vm/gc_interface/collectedHeap.hpp                                          |     6 +
 src/share/vm/interpreter/bytecodeInterpreter.hpp                                     |    22 +-
 src/share/vm/interpreter/interpreterRuntime.cpp                                      |    23 +-
 src/share/vm/interpreter/interpreterRuntime.hpp                                      |     3 +-
 src/share/vm/memory/cardTableModRefBS.cpp                                            |    54 -
 src/share/vm/memory/cardTableModRefBS.hpp                                            |    24 -
 src/share/vm/memory/collectorPolicy.cpp                                              |    20 +-
 src/share/vm/memory/defNewGeneration.cpp                                             |    17 +-
 src/share/vm/memory/genCollectedHeap.cpp                                             |    55 +-
 src/share/vm/memory/generation.cpp                                                   |     8 +-
 src/share/vm/memory/generation.hpp                                                   |     1 +
 src/share/vm/memory/iterator.cpp                                                     |     2 +-
 src/share/vm/memory/sharedHeap.cpp                                                   |     8 +-
 src/share/vm/memory/sharedHeap.hpp                                                   |     3 +-
 src/share/vm/memory/threadLocalAllocBuffer.cpp                                       |     2 +-
 src/share/vm/memory/universe.cpp                                                     |    19 +-
 src/share/vm/memory/universe.hpp                                                     |    12 +-
 src/share/vm/oops/constantPoolOop.cpp                                                |   241 +-
 src/share/vm/oops/constantPoolOop.hpp                                                |    44 +-
 src/share/vm/oops/instanceKlass.cpp                                                  |    37 +-
 src/share/vm/oops/instanceKlass.hpp                                                  |    10 +-
 src/share/vm/oops/objArrayKlass.cpp                                                  |     2 +-
 src/share/vm/oops/objArrayKlass.inline.hpp                                           |     4 +-
 src/share/vm/opto/compile.cpp                                                        |    74 +-
 src/share/vm/opto/compile.hpp                                                        |    21 +-
 src/share/vm/opto/graphKit.cpp                                                       |    28 +-
 src/share/vm/opto/graphKit.hpp                                                       |     1 +
 src/share/vm/opto/library_call.cpp                                                   |     2 +-
 src/share/vm/opto/loopTransform.cpp                                                  |     3 +-
 src/share/vm/opto/loopnode.cpp                                                       |    31 +-
 src/share/vm/opto/loopopts.cpp                                                       |     1 +
 src/share/vm/opto/matcher.cpp                                                        |    32 +-
 src/share/vm/opto/memnode.cpp                                                        |    32 +-
 src/share/vm/opto/memnode.hpp                                                        |    31 +-
 src/share/vm/opto/node.cpp                                                           |    26 +-
 src/share/vm/opto/output.cpp                                                         |    15 +-
 src/share/vm/opto/runtime.cpp                                                        |     1 +
 src/share/vm/opto/runtime.hpp                                                        |     2 +-
 src/share/vm/opto/superword.cpp                                                      |     3 +-
 src/share/vm/opto/type.hpp                                                           |     2 +
 src/share/vm/prims/jni.cpp                                                           |    14 +-
 src/share/vm/prims/jvm.cpp                                                           |    10 +-
 src/share/vm/prims/jvmtiClassFileReconstituter.cpp                                   |     2 +-
 src/share/vm/prims/jvmtiEnv.cpp                                                      |     3 +
 src/share/vm/prims/jvmtiEnvBase.hpp                                                  |     6 +-
 src/share/vm/prims/jvmtiExport.cpp                                                   |    41 +
 src/share/vm/prims/jvmtiExport.hpp                                                   |     7 +
 src/share/vm/prims/jvmtiRedefineClasses.cpp                                          |   459 +-
 src/share/vm/prims/jvmtiRedefineClasses.hpp                                          |    21 +-
 src/share/vm/prims/methodHandles.cpp                                                 |   197 +-
 src/share/vm/prims/methodHandles.hpp                                                 |    43 +-
 src/share/vm/prims/whitebox.cpp                                                      |    10 +
 src/share/vm/runtime/arguments.cpp                                                   |   168 +-
 src/share/vm/runtime/arguments.hpp                                                   |    10 +
 src/share/vm/runtime/globals.hpp                                                     |    35 +-
 src/share/vm/runtime/mutexLocker.cpp                                                 |     4 +-
 src/share/vm/runtime/mutexLocker.hpp                                                 |     3 +-
 src/share/vm/runtime/objectMonitor.cpp                                               |    64 +-
 src/share/vm/runtime/os.cpp                                                          |    39 +-
 src/share/vm/runtime/os.hpp                                                          |     8 +-
 src/share/vm/runtime/safepoint.cpp                                                   |     4 +-
 src/share/vm/runtime/sweeper.cpp                                                     |    34 +-
 src/share/vm/runtime/sweeper.hpp                                                     |    26 +-
 src/share/vm/runtime/thread.cpp                                                      |    14 +-
 src/share/vm/runtime/virtualspace.cpp                                                |   205 +-
 src/share/vm/runtime/virtualspace.hpp                                                |     1 +
 src/share/vm/runtime/vmThread.cpp                                                    |     5 +-
 src/share/vm/runtime/vm_operations.cpp                                               |     3 +-
 src/share/vm/runtime/vm_operations.hpp                                               |    18 +-
 src/share/vm/services/attachListener.cpp                                             |    14 +
 src/share/vm/services/diagnosticCommand.cpp                                          |    10 +-
 src/share/vm/services/diagnosticCommand.hpp                                          |    12 +-
 src/share/vm/services/heapDumper.cpp                                                 |     2 +-
 src/share/vm/services/management.cpp                                                 |    23 +-
 src/share/vm/services/memTracker.hpp                                                 |     7 +
 src/share/vm/shark/sharkCompiler.cpp                                                 |     6 +-
 src/share/vm/shark/shark_globals.hpp                                                 |    10 +
 src/share/vm/trace/noTraceBackend.hpp                                                |     6 +-
 src/share/vm/trace/trace.dtd                                                         |     3 -
 src/share/vm/trace/trace.xml                                                         |     4 +-
 src/share/vm/trace/traceBackend.hpp                                                  |     9 +-
 src/share/vm/trace/traceEvent.hpp                                                    |    29 +-
 src/share/vm/trace/traceEventClasses.xsl                                             |    32 +-
 src/share/vm/trace/traceEventIds.xsl                                                 |     4 +-
 src/share/vm/trace/traceMacros.hpp                                                   |     2 +-
 src/share/vm/trace/traceTime.hpp                                                     |     5 +-
 src/share/vm/trace/traceTypes.xsl                                                    |    12 +-
 src/share/vm/trace/tracetypes.xml                                                    |    10 +-
 src/share/vm/trace/tracing.hpp                                                       |     2 +-
 src/share/vm/utilities/bitMap.hpp                                                    |     2 +-
 src/share/vm/utilities/bitMap.inline.hpp                                             |    20 +-
 src/share/vm/utilities/globalDefinitions.hpp                                         |    16 +
 src/share/vm/utilities/growableArray.hpp                                             |     8 +
 src/share/vm/utilities/macros.hpp                                                    |     8 +
 src/share/vm/utilities/ostream.cpp                                                   |   407 +-
 src/share/vm/utilities/ostream.hpp                                                   |    31 +-
 src/share/vm/utilities/ticks.cpp                                                     |    68 +
 src/share/vm/utilities/ticks.hpp                                                     |   111 +
 src/share/vm/utilities/ticks.inline.hpp                                              |    97 +
 src/share/vm/utilities/vmError.cpp                                                   |    35 +-
 src/share/vm/utilities/vmError.hpp                                                   |     8 +
 test/compiler/6653795/UnsafeGetAddressTest.java                                      |    68 +
 test/compiler/codegen/LoadWithMask.java                                              |    44 +
 test/compiler/codegen/LoadWithMask2.java                                             |    55 +
 test/compiler/reflection/ArrayNewInstanceOfVoid.java                                 |    44 +
 test/compiler/regalloc/C1ObjectSpillInLogicOp.java                                   |    45 +
 test/gc/8000311/Test8000311.java                                                     |    42 +
 test/gc/TestVerifyBeforeGCDuringStartup.java                                         |    45 -
 test/gc/TestVerifyDuringStartup.java                                                 |    45 +
 test/gc/TestVerifySilently.java                                                      |    84 +
 test/gc/arguments/TestDynMaxHeapFreeRatio.java                                       |    64 +
 test/gc/arguments/TestDynMinHeapFreeRatio.java                                       |    62 +
 test/gc/g1/TestHumongousCodeCacheRoots.java                                          |   143 +
 test/gc/g1/TestPrintGCDetails.java                                                   |    57 +
 test/gc/g1/TestPrintRegionRememberedSetInfo.java                                     |    92 +
 test/gc/g1/TestSummarizeRSetStats.java                                               |    85 +
 test/gc/g1/TestSummarizeRSetStatsPerRegion.java                                      |    55 +
 test/gc/g1/TestSummarizeRSetStatsThreads.java                                        |    83 +
 test/gc/g1/TestSummarizeRSetStatsTools.java                                          |   154 +
 test/gc/heap_inspection/TestG1ConcurrentGCHeapDump.java                              |   108 +
 test/runtime/6929067/Test6929067.sh                                                  |    14 +-
 test/runtime/7020373/GenOOMCrashClass.java                                           |   157 +
 test/runtime/7020373/Test7020373.sh                                                  |     4 +
 test/runtime/7020373/testcase.jar                                                    |   Bin 
 test/runtime/7051189/Xchecksig.sh                                                    |   126 -
 test/runtime/7107135/Test7107135.sh                                                  |    11 +-
 test/runtime/7196045/Test7196045.java                                                |     2 +-
 test/runtime/InitialThreadOverflow/DoOverflow.java                                   |    41 +
 test/runtime/InitialThreadOverflow/invoke.cxx                                        |    70 +
 test/runtime/InitialThreadOverflow/testme.sh                                         |    73 +
 test/runtime/XCheckJniJsig/XCheckJSig.java                                           |    82 +
 test/runtime/jsig/Test8017498.sh                                                     |    94 +
 test/runtime/jsig/TestJNI.c                                                          |    55 +
 test/runtime/jsig/TestJNI.java                                                       |    42 +
 test/runtime/memory/LargePages/TestLargePagesFlags.java                              |   389 +
 test/serviceability/sa/jmap-hashcode/Test8028623.java                                |    74 +
 test/testlibrary/ClassFileInstaller.java                                             |     4 +-
 test/testlibrary/OutputAnalyzerTest.java                                             |   176 -
 test/testlibrary/com/oracle/java/testlibrary/Asserts.java                            |   395 +
 test/testlibrary/com/oracle/java/testlibrary/ByteCodeLoader.java                     |    74 +
 test/testlibrary/com/oracle/java/testlibrary/DynamicVMOptionChecker.java             |   111 +
 test/testlibrary/com/oracle/java/testlibrary/InMemoryJavaCompiler.java               |   154 +
 test/testlibrary/com/oracle/java/testlibrary/InputArguments.java                     |    76 +
 test/testlibrary/com/oracle/java/testlibrary/JDKToolFinder.java                      |    92 +-
 test/testlibrary/com/oracle/java/testlibrary/JDKToolLauncher.java                    |   134 +
 test/testlibrary/com/oracle/java/testlibrary/OutputAnalyzer.java                     |    99 +-
 test/testlibrary/com/oracle/java/testlibrary/PerfCounter.java                        |    70 +
 test/testlibrary/com/oracle/java/testlibrary/PerfCounters.java                       |    69 +
 test/testlibrary/com/oracle/java/testlibrary/Platform.java                           |    95 +-
 test/testlibrary/com/oracle/java/testlibrary/ProcessTools.java                       |    28 +-
 test/testlibrary/com/oracle/java/testlibrary/TestDynamicVMOption.java                |    95 +
 test/testlibrary/whitebox/sun/hotspot/WhiteBox.java                                  |     3 +
 test/testlibrary_tests/AssertsTest.java                                              |   237 +
 test/testlibrary_tests/OutputAnalyzerReportingTest.java                              |   124 +
 test/testlibrary_tests/OutputAnalyzerTest.java                                       |   193 +
 tools/mkbc.c                                                                         |   607 +
 318 files changed, 36399 insertions(+), 2938 deletions(-)

diffs (truncated from 47887 to 500 lines):

diff -r 1fb2b8c1442c -r e559a0f8f986 .hgtags
--- a/.hgtags	Thu May 08 16:16:21 2014 +0200
+++ b/.hgtags	Mon Aug 11 16:38:33 2014 +0100
@@ -50,6 +50,7 @@
 faf94d94786b621f8e13cbcc941ca69c6d967c3f jdk7-b73
 f4b900403d6e4b0af51447bd13bbe23fe3a1dac7 jdk7-b74
 d8dd291a362acb656026a9c0a9da48501505a1e7 jdk7-b75
+b4ab978ce52c41bb7e8ee86285e6c9f28122bbe1 icedtea7-1.12
 9174bb32e934965288121f75394874eeb1fcb649 jdk7-b76
 455105fc81d941482f8f8056afaa7aa0949c9300 jdk7-b77
 e703499b4b51e3af756ae77c3d5e8b3058a14e4e jdk7-b78
@@ -87,6 +88,7 @@
 07226e9eab8f74b37346b32715f829a2ef2c3188 hs18-b01
 e7e7e36ccdb5d56edd47e5744351202d38f3b7ad jdk7-b87
 4b60f23c42231f7ecd62ad1fcb6a9ca26fa57d1b jdk7-b88
+a393ff93e7e54dd94cc4211892605a32f9c77dad icedtea7-1.13
 15836273ac2494f36ef62088bc1cb6f3f011f565 jdk7-b89
 4b60f23c42231f7ecd62ad1fcb6a9ca26fa57d1b hs18-b02
 605c9707a766ff518cd841fc04f9bb4b36a3a30b jdk7-b90
@@ -160,6 +162,7 @@
 b898f0fc3cedc972d884d31a751afd75969531cf hs21-b05
 bd586e392d93b7ed7a1636dcc8da2b6a4203a102 jdk7-b136
 bd586e392d93b7ed7a1636dcc8da2b6a4203a102 hs21-b06
+591c7dc0b2ee879f87a7b5519a5388e0d81520be icedtea-1.14
 2dbcb4a4d8dace5fe78ceb563b134f1fb296cd8f jdk7-b137
 2dbcb4a4d8dace5fe78ceb563b134f1fb296cd8f hs21-b07
 0930dc920c185afbf40fed9a655290b8e5b16783 jdk7-b138
@@ -182,6 +185,7 @@
 38fa55e5e79232d48f1bb8cf27d88bc094c9375a hs21-b16
 81d815b05abb564aa1f4100ae13491c949b9a07e jdk7-b147
 81d815b05abb564aa1f4100ae13491c949b9a07e hs21-b17
+7693eb0fce1f6b484cce96c233ea20bdad8a09e0 icedtea-2.0-branchpoint
 9b0ca45cd756d538c4c30afab280a91868eee1a5 jdk7u2-b01
 0cc8a70952c368e06de2adab1f2649a408f5e577 jdk8-b01
 31e253c1da429124bb87570ab095d9bc89850d0a jdk8-b02
@@ -210,6 +214,7 @@
 3ba0bb2e7c8ddac172f5b995aae57329cdd2dafa hs22-b10
 f17fe2f4b6aacc19cbb8ee39476f2f13a1c4d3cd jdk7u2-b13
 0744602f85c6fe62255326df595785eb2b32166d jdk7u2-b21
+f8f4d3f9b16567b91bcef4caaa8417c8de8015f0 icedtea-2.1-branchpoint
 a40d238623e5b1ab1224ea6b36dc5b23d0a53880 jdk7u3-b02
 6986bfb4c82e00b938c140f2202133350e6e73f8 jdk7u3-b03
 8e6375b46717d74d4885f839b4e72d03f357a45f jdk7u3-b04
@@ -264,6 +269,7 @@
 f92a171cf0071ca6c3fa8231d7d570377f8b2f4d hs23-b16
 f92a171cf0071ca6c3fa8231d7d570377f8b2f4d hs23-b16
 931e5f39e365a0d550d79148ff87a7f9e864d2e1 hs23-b16
+a2c5354863dcb3d147b7b6f55ef514b1bfecf920 icedtea-2.2-branchpoint
 efb5f2662c96c472caa3327090268c75a86dd9c0 jdk7u4-b13
 82e719a2e6416838b4421637646cbfd7104c7716 jdk7u4-b14
 e5f7f95411fb9e837800b4152741c962118e5d7a jdk7u5-b01
@@ -314,6 +320,7 @@
 cefe884c708aa6dfd63aff45f6c698a6bc346791 jdk7u6-b16
 270a40a57b3d05ca64070208dcbb895b5b509d8e hs23.2-b08
 7a37cec9d0d44ae6ea3d26a95407e42d99af6843 jdk7u6-b17
+354cfde7db2f1fd46312d883a63c8a76d5381bab icedtea-2.3-branchpoint
 df0df4ae5af2f40b7f630c53a86e8c3d68ef5b66 jdk7u6-b18
 1257f4373a06f788bd656ae1c7a953a026a285b9 jdk7u6-b19
 a0c2fa4baeb6aad6f33dc87b676b21345794d61e hs23.2-b09
@@ -443,6 +450,7 @@
 4f7ad6299356bfd2cfb448ea4c11e8ce0fbf69f4 jdk7u12-b07
 3bb803664f3d9c831d094cbe22b4ee5757e780c8 jdk7u12-b08
 92e382c3cccc0afbc7f72fccea4f996e05b66b3e jdk7u12-b09
+6e4feb17117d21e0e4360f2d0fbc68397ed3ba80 icedtea-2.4-branchpoint
 7554f9b2bcc72204ac10ba8b08b8e648459504df hs24-b29
 181528fd1e74863a902f171a2ad46270a2fb15e0 jdk7u14-b10
 4008cf63c30133f2fac148a39903552fe7a33cea hs24-b30
@@ -599,6 +607,7 @@
 cc83359f5e5eb46dd9176b0a272390b1a0a51fdc hs24.60-b01
 c373a733d5d5147f99eaa2b91d6b937c28214fc9 jdk7u45-b33
 0bcb43482f2ac5615437541ffb8dc0f79ece3148 jdk7u45-b34
+12ea8d416f105f5971c808c89dddc1006bfc4c53 jdk7u45-b35
 429884602206fcf5314c8b953c06d54d337558ca jdk7u51-b00
 68f03ff066f2341b89b52a6d6e21ae09de008351 jdk7u51-b01
 67910a581eca113847c5320c49436a9816c5d5c6 jdk7u51-b02
@@ -613,3 +622,70 @@
 1f11dff734af98f5bf11d4fceeda221ab1416971 jdk7u51-b11
 dee2a38ef6b26534c44c550ef4da2c3146c612c2 jdk7u51-b12
 6c6a2299029ad02fa2820b8ff8c61c2bbcae799c jdk7u51-b13
+a398ddc79d2310ad37b131cc3794b3cf574f088e jdk7u51-b30
+cf4110c35afb10456d8264c47b7cde1c20150cab jdk7u51-b31
+208419914859dd77abdb5ec755b32c237ee6e4eb jdk7u51-b33
+f8457a75bdb5052f1d8c547027a926f9b755b808 jdk7u51-b34
+dee2a38ef6b26534c44c550ef4da2c3146c612c2 jdk7u55-b00
+ac0063b4452bc724e8648e64f4b2d495054bb308 jdk7u55-b01
+408028d410e316a99495c42df0031018890c22fe jdk7u55-b02
+50fb91504dd8cdf410eb956075442daf3aacf1db jdk7u55-b03
+3be3b8a032a5508646c1c5620cee18d3e69fc708 jdk7u55-b04
+b86119fa2748bd91ae4984ff2264da92b6626f8c jdk7u55-b05
+260d919d52e500a0b20f911fade2a7710474067a jdk7u55-b06
+8cf6e0a3a0651c4132ae034c2b68ddf4eb5c4d88 jdk7u55-b07
+049fd2cef85bf2d557dd7dd8a90a6831a8168ce4 jdk7u55-b08
+9b238ab164e6d1cf9cfb560827d88ef8a7d8c898 jdk7u55-b09
+573d8d080af9eff48aa3b8f0696d8874ce36fbb1 jdk7u55-b09
+36f8bd4dd467ae4183340842fd7158ac3309b826 jdk7u55-b10
+49cada8e39b9215b9fd8b9183743f92625587cfc jdk7u55-b11
+aadc864abd1ced3049bf59ce32786a07997ba190 jdk7u55-b12
+b021fd817a0177b31d1e3d65127a27458e85801e jdk7u55-b13
+d27b468d5f3be3329ff1ff342f3347e6b2e0303b jdk7u55-b30
+dff9147a781672f20bb0577a94233264ea4a95d1 jdk7u55-b14
+8175599864880938d68d0a515fa561043d7d5fd0 jdk7u55-b31
+ae4adc1492d1c90a70bd2d139a939fc0c8329be9 jdk7u60-b00
+af1fc2868a2b919727bfbb0858449bd991bbee4a jdk7u40-b60
+cc83359f5e5eb46dd9176b0a272390b1a0a51fdc hs24.60-b01
+b7d44793cd267b22352c688b0185466741bb7a89 hs24.60-b02
+90cfd4ad3c9263886d876792d72cb24ac0e03a85 hs24.60-b03
+8fd0e931efa57d1579fb1bc8a68ba3924244b99e jdk7u60-b01
+99e96aaac8afc14ce6f9f3d92ef7004cf505b35d hs24.60-b04
+0025a2a965c8f21376278245c2493d8861386fba jdk7u60-b02
+fa59add77d1a8f601a695f137248462fdc68cc2f hs24.60-b05
+a59134ccb1b704b2cd05e157970d425af43e5437 hs24.60-b06
+bc178be7e9d6fcc97e09c909ffe79d96e2305218 icedtea-2.5pre01
+f30e87f16d90f1e659b935515a3fc083ab8a0156 icedtea-2.5pre02
+2c971ed884cec0a9293ccff3def696da81823225 jdk7u60-b03
+1afbeb8cb558429156d432f35e7582716053a9cb hs24.60-b07
+05fe7a87d14908eb3f21a0d29fc72cee2f996b7f jdk7u60-b04
+f52b5452d424545e3b101d808e6d7da763d6f0f3 hs24.60-b08
+462db155547e9bdd7ba26bead42808deb0b10d44 jdk7u60-b05
+0cc4550bd9c57ba3be343bfbfcaf46b9060d5e7d jdk7u60-b06
+2d053c4fd767155b2ac5e3e0a60b08a1bcc73cab jdk7u60-b07
+a198787e7b9bc7b831ad210b67732cdb2be9e46e jdk7u60-b08
+22cae361773d14b467328e8f90cf893550d1d610 jdk7u60-b09
+6f74afd8577eb4b6a0e6f7b25cfef7d6f7d92e5f jdk7u60-b10
+a2ac67a2c1cc867a8d6b525ab1df17204186e636 jdk7u60-b11
+cae50351dcece6e5bf215eabf958c5d669ffff1f jdk7u60-b12
+5853131ba4b448c5d89a3f0aa501fdf07f3b473c jdk7u60-b13
+b226be2040f971855626f5b88cb41a7d5299fea0 jdk7u60-b14
+2871f345b7e5585e20dc7aa91035967fe774cfba jdk7u60-b15
+ec76bacbb5b90efc7988dee5345c656126b97561 jdk7u60-b16
+617a6338e0c4f7699eed5061d7e8f576c3ace029 jdk7u60-b18
+617a6338e0c4f7699eed5061d7e8f576c3ace029 jdk7u60-b17
+361493c7cdb5f75b28efc63389d6cebaaaa43a2c jdk7u60-b19
+b92f390febd01615af4a736b4f830f6052aa1d09 hs24.80-b00
+1448ebfef4f1aae0174eca983ad05507730ca6fd hs24.80-b01
+b1d29549dca7e36a4d050af5a54f8f56963a5c7d hs24.80-b02
+ff18bcebe2943527cdbc094375c38c27ec7f2442 hs24.80-b03
+1b9722b5134a8e565d8b8fe851849e034beff057 hs24.80-b04
+04d6919c44db8c9d811ef0ac4775a579f854cdfc hs24.80-b05
+882a93010fb90f928331bf31a226992755d6cfb2 icedtea-2.6pre01
+ee18e60e7e8da9f1912895af353564de0330a2b1 hs24.80-b06
+138ef7288fd40de0012a3a24839fa7cb3569ab43 icedtea-2.6pre02
+4ab69c6e4c85edf628c01c685bc12c591b9807d9 icedtea-2.6pre03
+b226be2040f971855626f5b88cb41a7d5299fea0 jdk7u60-b14
+2fd819c8b5066a480f9524d901dbd34f2cf563ad icedtea-2.6pre04
+fae3b09fe959294f7a091a6ecaae91daf1cb4f5c icedtea-2.6pre05
+05fe7a87d14908eb3f21a0d29fc72cee2f996b7f jdk7u80-b00
diff -r 1fb2b8c1442c -r e559a0f8f986 .jcheck/conf
--- a/.jcheck/conf	Thu May 08 16:16:21 2014 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-project=jdk7
-bugids=dup
diff -r 1fb2b8c1442c -r e559a0f8f986 agent/src/os/linux/Makefile
--- a/agent/src/os/linux/Makefile	Thu May 08 16:16:21 2014 +0200
+++ b/agent/src/os/linux/Makefile	Mon Aug 11 16:38:33 2014 +0100
@@ -23,7 +23,12 @@
 #
 
 ARCH := $(shell if ([ `uname -m` = "ia64" ])  ; then echo ia64 ; elif ([ `uname -m` = "x86_64" ]) ; then echo amd64; elif ([ `uname -m` = "sparc64" ]) ; then echo sparc; else echo i386 ; fi )
-GCC      = gcc
+
+ifndef BUILD_GCC
+BUILD_GCC = gcc
+endif
+
+GCC      = $(BUILD_GCC)
 
 JAVAH    = ${JAVA_HOME}/bin/javah
 
@@ -40,7 +45,7 @@
 
 LIBS     = -lthread_db
 
-CFLAGS   = -c -fPIC -g -D_GNU_SOURCE -D$(ARCH) $(INCLUDES) -D_FILE_OFFSET_BITS=64
+CFLAGS   = -c -fPIC -g -D_GNU_SOURCE -D_$(ARCH)_ $(if $(filter $(ARCH),alpha),,-D$(ARCH)) $(INCLUDES) -D_FILE_OFFSET_BITS=64
 
 LIBSA = $(ARCH)/libsaproc.so
 
@@ -73,7 +78,7 @@
 	$(GCC) -shared $(LFLAGS_LIBSA) -o $(LIBSA) $(OBJS) $(LIBS)
 
 test.o: test.c
-	$(GCC) -c -o test.o -g -D_GNU_SOURCE -D$(ARCH) $(INCLUDES) test.c
+	$(GCC) -c -o test.o -g -D_GNU_SOURCE -D_$(ARCH)_ $(if $(filter $(ARCH),alpha),,-D$(ARCH)) $(INCLUDES) test.c
 
 test: test.o
 	$(GCC) -o test test.o -L$(ARCH) -lsaproc $(LIBS)
diff -r 1fb2b8c1442c -r e559a0f8f986 agent/src/os/linux/libproc.h
--- a/agent/src/os/linux/libproc.h	Thu May 08 16:16:21 2014 +0200
+++ b/agent/src/os/linux/libproc.h	Mon Aug 11 16:38:33 2014 +0100
@@ -34,19 +34,7 @@
 #include "libproc_md.h"
 #endif
 
-#if defined(sparc) || defined(sparcv9)
-/*
-  If _LP64 is defined ptrace.h should be taken from /usr/include/asm-sparc64
-  otherwise it should be from /usr/include/asm-sparc
-  These two files define pt_regs structure differently
-*/
-#ifdef _LP64
-#include "asm-sparc64/ptrace.h"
-#else
-#include "asm-sparc/ptrace.h"
-#endif
-
-#endif //sparc or sparcv9
+#include <linux/ptrace.h>
 
 /************************************************************************************
 
diff -r 1fb2b8c1442c -r e559a0f8f986 agent/src/os/linux/ps_core.c
--- a/agent/src/os/linux/ps_core.c	Thu May 08 16:16:21 2014 +0200
+++ b/agent/src/os/linux/ps_core.c	Mon Aug 11 16:38:33 2014 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -700,29 +700,61 @@
 
 // read segments of a shared object
 static bool read_lib_segments(struct ps_prochandle* ph, int lib_fd, ELF_EHDR* lib_ehdr, uintptr_t lib_base) {
-   int i = 0;
-   ELF_PHDR* phbuf;
-   ELF_PHDR* lib_php = NULL;
+  int i = 0;
+  ELF_PHDR* phbuf;
+  ELF_PHDR* lib_php = NULL;
 
-   if ((phbuf = read_program_header_table(lib_fd, lib_ehdr)) == NULL)
-      return false;
+  int page_size = sysconf(_SC_PAGE_SIZE);
 
-   // we want to process only PT_LOAD segments that are not writable.
-   // i.e., text segments. The read/write/exec (data) segments would
-   // have been already added from core file segments.
-   for (lib_php = phbuf, i = 0; i < lib_ehdr->e_phnum; i++) {
-      if ((lib_php->p_type == PT_LOAD) && !(lib_php->p_flags & PF_W) && (lib_php->p_filesz != 0)) {
-         if (add_map_info(ph, lib_fd, lib_php->p_offset, lib_php->p_vaddr + lib_base, lib_php->p_filesz) == NULL)
-            goto err;
+  if ((phbuf = read_program_header_table(lib_fd, lib_ehdr)) == NULL) {
+    return false;
+  }
+
+  // we want to process only PT_LOAD segments that are not writable.
+  // i.e., text segments. The read/write/exec (data) segments would
+  // have been already added from core file segments.
+  for (lib_php = phbuf, i = 0; i < lib_ehdr->e_phnum; i++) {
+    if ((lib_php->p_type == PT_LOAD) && !(lib_php->p_flags & PF_W) && (lib_php->p_filesz != 0)) {
+
+      uintptr_t target_vaddr = lib_php->p_vaddr + lib_base;
+      map_info *existing_map = core_lookup(ph, target_vaddr);
+
+      if (existing_map == NULL){
+        if (add_map_info(ph, lib_fd, lib_php->p_offset,
+                          target_vaddr, lib_php->p_memsz) == NULL) {
+          goto err;
+        }
+      } else {
+        // Coredump stores value of p_memsz elf field
+        // rounded up to page boundary.
+
+        if ((existing_map->memsz != page_size) &&
+            (existing_map->fd != lib_fd) &&
+            (ROUNDUP(existing_map->memsz, page_size) != ROUNDUP(lib_php->p_memsz, page_size))) {
+
+          print_debug("address conflict @ 0x%lx (existing map size = %ld, size = %ld, flags = %d)\n",
+                        target_vaddr, existing_map->memsz, lib_php->p_memsz, lib_php->p_flags);
+          goto err;
+        }
+
+        /* replace PT_LOAD segment with library segment */
+        print_debug("overwrote with new address mapping (memsz %ld -> %ld)\n",
+                     existing_map->memsz, ROUNDUP(lib_php->p_memsz, page_size));
+
+        existing_map->fd = lib_fd;
+        existing_map->offset = lib_php->p_offset;
+        existing_map->memsz = ROUNDUP(lib_php->p_memsz, page_size);
       }
-      lib_php++;
-   }
+    }
 
-   free(phbuf);
-   return true;
+    lib_php++;
+  }
+
+  free(phbuf);
+  return true;
 err:
-   free(phbuf);
-   return false;
+  free(phbuf);
+  return false;
 }
 
 // process segments from interpreter (ld.so or ld-linux.so)
diff -r 1fb2b8c1442c -r e559a0f8f986 agent/src/os/linux/ps_proc.c
--- a/agent/src/os/linux/ps_proc.c	Thu May 08 16:16:21 2014 +0200
+++ b/agent/src/os/linux/ps_proc.c	Mon Aug 11 16:38:33 2014 +0100
@@ -261,7 +261,7 @@
 
 static bool read_lib_info(struct ps_prochandle* ph) {
   char fname[32];
-  char buf[256];
+  char buf[PATH_MAX];
   FILE *fp = NULL;
 
   sprintf(fname, "/proc/%d/maps", ph->pid);
@@ -271,10 +271,52 @@
     return false;
   }
 
-  while(fgets_no_cr(buf, 256, fp)){
-    char * word[6];
-    int nwords = split_n_str(buf, 6, word, ' ', '\0');
-    if (nwords > 5 && find_lib(ph, word[5]) == false) {
+  while(fgets_no_cr(buf, PATH_MAX, fp)){
+    char * word[7];
+    int nwords = split_n_str(buf, 7, word, ' ', '\0');
+
+    if (nwords < 6) {
+      // not a shared library entry. ignore.
+      continue;
+    }
+
+    if (word[5][0] == '[') {
+        // not a shared library entry. ignore.
+      if (strncmp(word[5],"[stack",6) == 0) {
+        continue;
+      }
+      if (strncmp(word[5],"[heap]",6) == 0) {
+        continue;
+      }
+
+      // SA don't handle VDSO
+      if (strncmp(word[5],"[vdso]",6) == 0) {
+        continue;
+      }
+      if (strncmp(word[5],"[vsyscall]",6) == 0) {
+        continue;
+      }
+    }
+
+    if (nwords > 6) {
+      // prelink altered mapfile when the program is running.
+      // Entries like one below have to be skipped
+      //  /lib64/libc-2.15.so (deleted)
+      // SO name in entries like one below have to be stripped.
+      //  /lib64/libpthread-2.15.so.#prelink#.EECVts
+      char *s = strstr(word[5],".#prelink#");
+      if (s == NULL) {
+        // No prelink keyword. skip deleted library
+        print_debug("skip shared object %s deleted by prelink\n", word[5]);
+        continue;
+      }
+
+      // Fall through
+      print_debug("rectifing shared object name %s changed by prelink\n", word[5]);
+      *s = 0;
+    }
+
+    if (find_lib(ph, word[5]) == false) {
        intptr_t base;
        lib_info* lib;
 #ifdef _LP64
diff -r 1fb2b8c1442c -r e559a0f8f986 agent/src/share/classes/sun/jvm/hotspot/interpreter/Bytecodes.java
--- a/agent/src/share/classes/sun/jvm/hotspot/interpreter/Bytecodes.java	Thu May 08 16:16:21 2014 +0200
+++ b/agent/src/share/classes/sun/jvm/hotspot/interpreter/Bytecodes.java	Mon Aug 11 16:38:33 2014 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -272,9 +272,10 @@
   public static final int _fast_aldc            = 229;
   public static final int _fast_aldc_w          = 230;
   public static final int _return_register_finalizer = 231;
-  public static final int _shouldnotreachhere   = 232; // For debugging
+  public static final int _invokehandle         = 232;
+  public static final int _shouldnotreachhere   = 233; // For debugging
 
-  public static final int number_of_codes       = 233;
+  public static final int number_of_codes       = 234;
 
   // Flag bits derived from format strings, can_trap, can_rewrite, etc.:
   // semantic flags:
@@ -798,6 +799,9 @@
 
     def(_return_register_finalizer, "return_register_finalizer", "b"    , null    , BasicType.getTVoid()   , 0, true, _return );
 
+    def(_invokehandle        , "invokehandle"        , "bJJ"  , null    , BasicType.getTIllegal(), -1, true, _invokevirtual   );
+
+
     def(_fast_aldc           , "fast_aldc"           , "bj"   , null    , BasicType.getTObject(),   1, true,  _ldc   );
     def(_fast_aldc_w         , "fast_aldc_w"         , "bJJ"  , null    , BasicType.getTObject(),   1, true,  _ldc_w );
 
diff -r 1fb2b8c1442c -r e559a0f8f986 agent/src/share/classes/sun/jvm/hotspot/utilities/Hashtable.java
--- a/agent/src/share/classes/sun/jvm/hotspot/utilities/Hashtable.java	Thu May 08 16:16:21 2014 +0200
+++ b/agent/src/share/classes/sun/jvm/hotspot/utilities/Hashtable.java	Mon Aug 11 16:38:33 2014 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -61,8 +61,9 @@
     long h = 0;
     int s = 0;
     int len = buf.length;
+    // Emulate the unsigned int in java_lang_String::hash_code
     while (len-- > 0) {
-      h = 31*h + (0xFFL & buf[s]);
+      h = 31*h + (0xFFFFFFFFL & buf[s]);
       s++;
     }
     return h & 0xFFFFFFFFL;
diff -r 1fb2b8c1442c -r e559a0f8f986 make/bsd/makefiles/arm.make
--- a/make/bsd/makefiles/arm.make	Thu May 08 16:16:21 2014 +0200
+++ b/make/bsd/makefiles/arm.make	Mon Aug 11 16:38:33 2014 +0100
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -24,6 +24,8 @@
 
 Obj_Files += bsd_arm.o
 
-LIBS += $(EXT_LIBS_PATH)/sflt_glibc.a 
+ifneq ($(EXT_LIBS_PATH),)
+  LIBS += $(EXT_LIBS_PATH)/sflt_glibc.a 
+endif
 
 CFLAGS += -DVM_LITTLE_ENDIAN
diff -r 1fb2b8c1442c -r e559a0f8f986 make/bsd/makefiles/buildtree.make
--- a/make/bsd/makefiles/buildtree.make	Thu May 08 16:16:21 2014 +0200
+++ b/make/bsd/makefiles/buildtree.make	Mon Aug 11 16:38:33 2014 +0100
@@ -1,5 +1,6 @@
 #
 # Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013 Red Hat, Inc.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -59,7 +60,7 @@
 # needs to be set here since this Makefile doesn't include defs.make
 OS_VENDOR:=$(shell uname -s)
 
--include $(SPEC)
+include $(GAMMADIR)/make/defs.make
 include $(GAMMADIR)/make/scm.make
 include $(GAMMADIR)/make/altsrc.make
 
@@ -215,6 +216,7 @@
 	echo "HOTSPOT_BUILD_USER = $(HOTSPOT_BUILD_USER)"; \
 	echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \
 	echo "OPENJDK = $(OPENJDK)"; \
+	echo "ZERO_BUILD = $(ZERO_BUILD)"; \
 	echo; \
 	echo "# Used for platform dispatching"; \
 	echo "TARGET_DEFINES  = -DTARGET_OS_FAMILY_\$$(Platform_os_family)"; \
diff -r 1fb2b8c1442c -r e559a0f8f986 make/bsd/makefiles/gcc.make
--- a/make/bsd/makefiles/gcc.make	Thu May 08 16:16:21 2014 +0200
+++ b/make/bsd/makefiles/gcc.make	Mon Aug 11 16:38:33 2014 +0100
@@ -1,5 +1,6 @@
 #
 # Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013 Red Hat, Inc.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -105,10 +106,10 @@
 VM_PICFLAG/AOUT   =
 VM_PICFLAG        = $(VM_PICFLAG/$(LINK_INTO))
 
-ifeq ($(JVM_VARIANT_ZERO), true)
+ifeq ($(TYPE),ZERO)
   CFLAGS += $(LIBFFI_CFLAGS)
 endif
-ifeq ($(JVM_VARIANT_ZEROSHARK), true)
+ifeq ($(TYPE),SHARK)
   CFLAGS += $(LIBFFI_CFLAGS)
   CFLAGS += $(LLVM_CFLAGS)
 endif
diff -r 1fb2b8c1442c -r e559a0f8f986 make/bsd/makefiles/vm.make
--- a/make/bsd/makefiles/vm.make	Thu May 08 16:16:21 2014 +0200
+++ b/make/bsd/makefiles/vm.make	Mon Aug 11 16:38:33 2014 +0100
@@ -1,5 +1,6 @@
 #
 # Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.


More information about the distro-pkg-dev mailing list