changeset 16084:23e1be1fef19

Merge
author asaha
date Fri, 26 Oct 2012 10:01:13 -0700
parents a042f1412a78 74815e335fa9
children 1389ac1d3a5f
files hotspot/agent/make/ClosureFinder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/TestDebugger.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/AbstractInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/Address.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/Arithmetic.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/ArithmeticInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/BaseIndexScaleDispAddress.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/BranchInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/CPUHelper.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/CallInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/DirectAddress.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/Immediate.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/IndirectAddress.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/Instruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/LoadInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/LogicInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/MemoryInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/MoveInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/PCRelativeAddress.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/RTLDataTypes.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/RTLOperations.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/ReturnInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/ShiftInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/StoreInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/amd64/AMD64FloatRegisters.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/amd64/AMD64Helper.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/amd64/AMD64Register.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/amd64/AMD64Registers.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/ia64/IA64FloatRegister.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/ia64/IA64FloatRegisters.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/ia64/IA64Helper.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/ia64/IA64Register.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/ia64/IA64Registers.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/AlternateSpaceLdstubDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/AlternateSpaceLoadDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/AlternateSpaceStoreDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/AlternateSpaceSwapDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/ArithmeticDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/BranchDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/CallDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/CoprocessorBranchDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/CoprocessorDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FP2RegisterDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FPArithmeticDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FPMoveDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FPopDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FloatBranchDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FloatDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FlushDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/Format3ADecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/IllegalInstructionDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/InstructionDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/IntegerBranchDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/JmplDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/LdstubDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/LoadDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/LogicDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/MemoryInstructionDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/ReadDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/ReadWriteDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/RegisterDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/RestoreDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/RettDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCArithmeticInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCAtomicLoadStoreInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCBranchInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCCallInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCDisassembler.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFP2RegisterInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFPArithmeticInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFPMoveInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFloatRegister.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFloatRegisters.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFlushInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFormat3AInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCHelper.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCIllegalInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCIndirectCallInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCInstructionFactory.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCInstructionFactoryImpl.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCJmplInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCLdstubInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCLoadInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCLogicInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCMemoryInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCMoveInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCNoopInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCOpcodes.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCReadInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCRegisterIndirectAddress.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCRestoreInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCRettInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCReturnInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSaveInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSethiInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCShiftInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSpecialLoadInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSpecialRegisterInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSpecialRegisters.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSpecialStoreInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCStbarInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCStoreInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSwapInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCTrapInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCUnimpInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV8Disassembler.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9BranchInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9CasInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9ConditionFlags.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9Disassembler.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9DoneInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9FMOVccInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9FMOVrInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9FlushwInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9IlltrapInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9ImpdepInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9Instruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9InstructionFactory.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9InstructionFactoryImpl.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9MOVccInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9MOVrInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9MembarInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9Opcodes.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9PopcInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9PrefetchInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9PrivilegedRegisterInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9PrivilegedRegisters.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9RdprInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9ReadInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9RegisterBranchInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9RegisterIndirectAddress.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9RestoredInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9RetryInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9ReturnInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9SavedInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9SirInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9SpecialRegisterInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9SpecialRegisters.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9WriteInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9WrprInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCWriteInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SaveDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SethiDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/ShiftDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SpecialLoadDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SpecialLoadStoreDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SpecialStoreDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/StoreDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SwapDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/TrapDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/UnimpDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V8FPop1Decoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V8FPop2Decoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpaceDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpaceLdstubDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpaceLoadDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpacePrefetchDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpaceStoreDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpaceSwapDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9BranchDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9CCBranchDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9CMoveDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9CasDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9DoneRetryDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FMOVccDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FMOVrDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FPop1Decoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FPop2Decoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FloatBranchDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FlushwDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9InstructionDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9IntRegisterBranchDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9IntegerBranchDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9MOVccDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9MOVrDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9PopcDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9PrefetchDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9PrivilegedReadWriteDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9RdprDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9ReadDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9RegisterBranchDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9SavedRestoredDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9ShiftDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9SpecialLoadDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9SpecialStoreDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9WriteDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9WrprDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/WriteDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/ArithmeticDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/BranchDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/CallDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/ConditionalJmpDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/FPArithmeticDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/FPInstructionDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/FPLoadDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/FPStoreDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/FloatDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/FloatGRPDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/GRPDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/InstructionDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/JmpDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/LogicalDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/MoveDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/RotateDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/SSEArithmeticDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/SSEInstructionDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/SSELogicalDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/SSEMoveDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/SSEShiftDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/ShiftDecoder.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86ArithmeticInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86BranchInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86CallInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86CondJmpInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86DirectAddress.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86Disassembler.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FPArithmeticInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FPInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FPLoadInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FPStoreInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FloatRegister.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FloatRegisters.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86GeneralInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86Helper.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86IllegalInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86Instruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86InstructionFactory.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86InstructionFactoryImpl.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86JmpInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86LogicInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MMXRegister.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MMXRegisters.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MemoryIndirectAddress.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MemoryInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MoveInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MoveLoadInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MoveStoreInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86Opcodes.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86PCRelativeAddress.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86Register.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86RegisterDirectAddress.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86RegisterIndirectAddress.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86RegisterPart.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86Registers.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86RotateInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86SegmentRegister.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86SegmentRegisterAddress.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86SegmentRegisters.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86ShiftInstruction.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86XMMRegister.java hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86XMMRegisters.java hotspot/agent/src/share/classes/sun/jvm/hotspot/ci/ciArrayKlassKlass.java hotspot/agent/src/share/classes/sun/jvm/hotspot/ci/ciInstanceKlassKlass.java hotspot/agent/src/share/classes/sun/jvm/hotspot/ci/ciKlassKlass.java hotspot/agent/src/share/classes/sun/jvm/hotspot/ci/ciMethodKlass.java hotspot/agent/src/share/classes/sun/jvm/hotspot/ci/ciObjArrayKlassKlass.java hotspot/agent/src/share/classes/sun/jvm/hotspot/ci/ciTypeArrayKlassKlass.java hotspot/agent/src/share/classes/sun/jvm/hotspot/gc_implementation/parallelScavenge/PSPermGen.java hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/CMSPermGen.java hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/CMSPermGenGen.java hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/CompactingPermGen.java hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/CompactingPermGenGen.java hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/ContigPermSpace.java hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/PermGen.java hotspot/agent/src/share/classes/sun/jvm/hotspot/oops/ArrayKlassKlass.java hotspot/agent/src/share/classes/sun/jvm/hotspot/oops/CompiledICHolderKlass.java hotspot/agent/src/share/classes/sun/jvm/hotspot/oops/ConstMethodKlass.java hotspot/agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPoolCacheKlass.java hotspot/agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPoolKlass.java hotspot/agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlassKlass.java hotspot/agent/src/share/classes/sun/jvm/hotspot/oops/KlassKlass.java hotspot/agent/src/share/classes/sun/jvm/hotspot/oops/MethodDataKlass.java hotspot/agent/src/share/classes/sun/jvm/hotspot/oops/MethodKlass.java hotspot/agent/src/share/classes/sun/jvm/hotspot/oops/ObjArrayKlassKlass.java hotspot/agent/src/share/classes/sun/jvm/hotspot/oops/TypeArrayKlassKlass.java hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/ia64/IA64CurrentFrameGuess.java hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/ia64/IA64Frame.java hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/ia64/IA64JavaCallWrapper.java hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/ia64/IA64RegisterMap.java hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/ia64/cInterpreter.java hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/linux_ia64/LinuxIA64JavaThreadPDAccess.java hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/win32_ia64/Win32IA64JavaThreadPDAccess.java hotspot/agent/src/share/classes/sun/jvm/hotspot/ui/tree/BadOopTreeNodeAdapter.java hotspot/make/solaris/makefiles/reorder_COMPILER1_amd64 hotspot/make/solaris/makefiles/reorder_COMPILER1_i486 hotspot/make/solaris/makefiles/reorder_COMPILER1_sparc hotspot/make/solaris/makefiles/reorder_COMPILER1_sparcv9 hotspot/make/solaris/makefiles/reorder_COMPILER2_amd64 hotspot/make/solaris/makefiles/reorder_COMPILER2_i486 hotspot/make/solaris/makefiles/reorder_COMPILER2_sparc hotspot/make/solaris/makefiles/reorder_COMPILER2_sparcv9 hotspot/make/solaris/makefiles/reorder_CORE_i486 hotspot/make/solaris/makefiles/reorder_CORE_sparc hotspot/make/solaris/makefiles/reorder_CORE_sparcv9 hotspot/make/solaris/makefiles/reorder_TIERED_amd64 hotspot/make/solaris/makefiles/reorder_TIERED_i486 hotspot/make/solaris/makefiles/reorder_TIERED_sparc hotspot/make/solaris/makefiles/reorder_TIERED_sparcv9 hotspot/make/solaris/reorder.sh hotspot/src/cpu/sparc/vm/dump_sparc.cpp hotspot/src/cpu/x86/vm/dump_x86_32.cpp hotspot/src/cpu/x86/vm/dump_x86_64.cpp hotspot/src/cpu/zero/vm/dump_zero.cpp hotspot/src/share/tools/ProjectCreator/DirectoryTree.java hotspot/src/share/tools/ProjectCreator/DirectoryTreeNode.java hotspot/src/share/tools/ProjectCreator/FileFormatException.java hotspot/src/share/tools/ProjectCreator/WinGammaPlatformVC6.java hotspot/src/share/vm/ci/ciArrayKlassKlass.hpp hotspot/src/share/vm/ci/ciCPCache.cpp hotspot/src/share/vm/ci/ciCPCache.hpp hotspot/src/share/vm/ci/ciInstanceKlassKlass.cpp hotspot/src/share/vm/ci/ciInstanceKlassKlass.hpp hotspot/src/share/vm/ci/ciKlassKlass.cpp hotspot/src/share/vm/ci/ciKlassKlass.hpp hotspot/src/share/vm/ci/ciMethodKlass.cpp hotspot/src/share/vm/ci/ciMethodKlass.hpp hotspot/src/share/vm/ci/ciObjArrayKlassKlass.cpp hotspot/src/share/vm/ci/ciObjArrayKlassKlass.hpp hotspot/src/share/vm/ci/ciTypeArrayKlassKlass.cpp hotspot/src/share/vm/ci/ciTypeArrayKlassKlass.hpp hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsPermGen.cpp hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsPermGen.hpp hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.hpp hotspot/src/share/vm/memory/classify.cpp hotspot/src/share/vm/memory/classify.hpp hotspot/src/share/vm/memory/compactPermGen.hpp hotspot/src/share/vm/memory/compactingPermGenGen.cpp hotspot/src/share/vm/memory/compactingPermGenGen.hpp hotspot/src/share/vm/memory/dump.cpp hotspot/src/share/vm/memory/permGen.cpp hotspot/src/share/vm/memory/permGen.hpp hotspot/src/share/vm/memory/restore.cpp hotspot/src/share/vm/memory/serialize.cpp hotspot/src/share/vm/oops/arrayKlassKlass.cpp hotspot/src/share/vm/oops/arrayKlassKlass.hpp hotspot/src/share/vm/oops/compiledICHolderKlass.cpp hotspot/src/share/vm/oops/compiledICHolderKlass.hpp hotspot/src/share/vm/oops/compiledICHolderOop.cpp hotspot/src/share/vm/oops/compiledICHolderOop.hpp hotspot/src/share/vm/oops/constMethodKlass.cpp hotspot/src/share/vm/oops/constMethodKlass.hpp hotspot/src/share/vm/oops/constMethodOop.cpp hotspot/src/share/vm/oops/constMethodOop.hpp hotspot/src/share/vm/oops/constantPoolKlass.cpp hotspot/src/share/vm/oops/constantPoolKlass.hpp hotspot/src/share/vm/oops/constantPoolOop.cpp hotspot/src/share/vm/oops/constantPoolOop.hpp hotspot/src/share/vm/oops/cpCacheKlass.cpp hotspot/src/share/vm/oops/cpCacheKlass.hpp hotspot/src/share/vm/oops/cpCacheOop.cpp hotspot/src/share/vm/oops/cpCacheOop.hpp hotspot/src/share/vm/oops/instanceKlassKlass.cpp hotspot/src/share/vm/oops/instanceKlassKlass.hpp hotspot/src/share/vm/oops/klassKlass.cpp hotspot/src/share/vm/oops/klassKlass.hpp hotspot/src/share/vm/oops/klassOop.cpp hotspot/src/share/vm/oops/klassOop.hpp hotspot/src/share/vm/oops/methodDataKlass.cpp hotspot/src/share/vm/oops/methodDataKlass.hpp hotspot/src/share/vm/oops/methodDataOop.cpp hotspot/src/share/vm/oops/methodDataOop.hpp hotspot/src/share/vm/oops/methodKlass.cpp hotspot/src/share/vm/oops/methodKlass.hpp hotspot/src/share/vm/oops/methodOop.cpp hotspot/src/share/vm/oops/methodOop.hpp hotspot/src/share/vm/oops/objArrayKlassKlass.cpp hotspot/src/share/vm/oops/objArrayKlassKlass.hpp hotspot/src/share/vm/oops/typeArrayKlassKlass.cpp hotspot/src/share/vm/oops/typeArrayKlassKlass.hpp jdk/src/macosx/classes/sun/awt/SunToolkitSubclass.java jdk/src/share/classes/java/io/FilePermission.java jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java jdk/src/share/classes/java/lang/invoke/MethodHandleStatics.java jdk/src/share/classes/java/util/ServiceLoader.java jdk/src/share/classes/sun/invoke/util/ValueConversions.java jdk/src/share/classes/sun/management/LockDataConverter.java jdk/src/share/classes/sun/management/LockDataConverterMXBean.java jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java jdk/src/share/classes/sun/security/x509/CertificateIssuerUniqueIdentity.java jdk/src/share/classes/sun/security/x509/CertificateSubjectUniqueIdentity.java jdk/src/share/classes/sun/util/xml/XMLUtils.java jdk/src/share/test/pack200/pack.conf jdk/test/sun/misc/URLClassPath/ClassnameCharTest.sh jdk/test/sun/net/www/httptest/HttpServer.java jdk/test/sun/security/ssl/sun/net/www/httpstest/HttpServer.java
diffstat 2165 files changed, 120643 insertions(+), 126803 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Wed Sep 19 12:58:43 2012 +0800
+++ b/.hgtags	Fri Oct 26 10:01:13 2012 -0700
@@ -178,3 +178,8 @@
 7c6aa31ff1b2ae48c1c686ebe1aadf0c3da5be15 jdk8-b54
 319f583f66db47395fa86127dd3ddb729eb7c64f jdk8-b55
 ffe6bce5a521be40146af2ac03c509b7bac30595 jdk8-b56
+2c21c080b11b93efb3851e39e1363e45da805943 jdk8-b57
+479d3302a26d7607ba271d66973e59ebf58825b6 jdk8-b58
+3bd874584fc01aae92fbc8827e2bd04d8b6ace04 jdk8-b59
+5e3adc681779037a2d33b7be6f75680619085492 jdk8-b60
+cdaa6122185f9bf512dcd6600f56bfccc4824e8c jdk8-b61
--- a/.hgtags-top-repo	Wed Sep 19 12:58:43 2012 +0800
+++ b/.hgtags-top-repo	Fri Oct 26 10:01:13 2012 -0700
@@ -178,3 +178,8 @@
 c1a277c6022affbc6855bdfb039511e73fbe2395 jdk8-b54
 b85b44cced2406792cfb9baab1377ff03e7001d8 jdk8-b55
 76844579fa4b30929731115b237e477181a82394 jdk8-b56
+522dfac8ca4d07c0b74025d4ac3b6e5feefbb829 jdk8-b57
+9367024804874faf8e958adeb333682bab1c0c47 jdk8-b58
+dae9821589ccd2611bdf7084269b98e819091770 jdk8-b59
+e07f499b9dccb529ecf74172cf6ac11a195ec57a jdk8-b60
+20ff117b509075c3aec4ee3a57990ecd5db5df9c jdk8-b61
--- a/README-builds.html	Wed Sep 19 12:58:43 2012 +0800
+++ b/README-builds.html	Fri Oct 26 10:01:13 2012 -0700
@@ -96,7 +96,8 @@
                                 </li>
                                 <li>Windows only:
                                     <ul>
-                                        <li>Unix Command Tools (<a href="#cygwin">CYGWIN</a>)</li>
+                                        <li>Unix Command Tools (<a href="#cygwin">CYGWIN</a>) <strong>or</strong></li>
+                                        <li>Minimalist GNU for Windows (<a href="#msys">MinGW/MSYS</a>)</li>
                                         <li><a href="#dxsdk">DirectX 9.0 SDK</a> </li>
                                     </ul>
                                 </li>
@@ -161,7 +162,7 @@
         <blockquote>
             This file often describes specific requirements for what we call the
             "minimum build environments" (MBE) for this 
-	    specific release of the JDK,
+            specific release of the JDK,
             Building with the MBE will generate the most compatible
             bits that install on, and run correctly on, the most variations
             of the same base OS and hardware architecture.
@@ -241,16 +242,16 @@
                 </tbody>
             </table>
             <p>
-	    These same sources do indeed build on many more systems than the
-	    above older generation systems, again the above is just a minimum.
+            These same sources do indeed build on many more systems than the
+            above older generation systems, again the above is just a minimum.
             <p>
-	    Compilation problems with newer or different C/C++ compilers is a
-	    common problem.
-	    Similarly, compilation problems related to changes to the
+            Compilation problems with newer or different C/C++ compilers is a
+            common problem.
+            Similarly, compilation problems related to changes to the
                 <tt>/usr/include</tt> or system header files is also a
-	    common problem with newer or unreleased OS versions.
-	    Please report these types of problems as bugs so that they
-	    can be dealt with accordingly.
+            common problem with newer or unreleased OS versions.
+            Please report these types of problems as bugs so that they
+            can be dealt with accordingly.
         </blockquote>
         <!-- ------------------------------------------------------ -->
         <hr>
@@ -266,15 +267,15 @@
             <p>
             <blockquote>
                 After installing <a href="http://fedoraproject.org">Fedora</a> 9
-	      you need to install several build dependencies. The simplest
-	      way to do it is to execute the following commands as user 
+              you need to install several build dependencies. The simplest
+              way to do it is to execute the following commands as user 
                 <tt>root</tt>:
                 <p/>
                 <code>yum-builddep java-1.6.0-openjdk</code>
                 <p/>
                 <code>yum install gcc gcc-c++</code>
                 <p/>
-	      In addition, it's necessary to set a few environment variables for the build:
+              In addition, it's necessary to set a few environment variables for the build:
 
                 <p/>
                 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-openjdk</code>
@@ -283,15 +284,15 @@
             <p>
             <blockquote>
                 After installing <a href="http://fedoraproject.org">Fedora</a> 10
-	      you need to install several build dependencies. The simplest
-	      way to do it is to execute the following commands as user 
+              you need to install several build dependencies. The simplest
+              way to do it is to execute the following commands as user 
                 <tt>root</tt>:
                 <p/>
                 <code>yum-builddep java-1.6.0-openjdk</code>
                 <p/>
                 <code>yum install gcc gcc-c++</code>
                 <p/>
-	      In addition, it's necessary to set a few environment variables for the build:
+              In addition, it's necessary to set a few environment variables for the build:
 
                 <p/>
                 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-openjdk</code>
@@ -300,15 +301,15 @@
             <p>
             <blockquote>
                 After installing <a href="http://fedoraproject.org">Fedora</a> 11
-	      you need to install several build dependencies. The simplest
-	      way to do it is to execute the following commands as user 
+              you need to install several build dependencies. The simplest
+              way to do it is to execute the following commands as user 
                 <tt>root</tt>:
                 <p/>
                 <code>yum-builddep java-1.6.0-openjdk</code>
                 <p/>
                 <code>yum install gcc gcc-c++</code>
                 <p/>
-	      In addition, it's necessary to set a few environment variables for the build:
+              In addition, it's necessary to set a few environment variables for the build:
 
                 <p/>
                 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-openjdk</code>
@@ -360,16 +361,16 @@
             <h4>Debian 5.0 (Lenny)</h4>
             <p>
             <blockquote>
-		After installing <a href="http://debian.org">Debian</a> 5 
-		you need to install several build dependencies. 
-		The simplest way to install the build dependencies is to 
-		execute the following commands as user <tt>root</tt>:
+                After installing <a href="http://debian.org">Debian</a> 5 
+                you need to install several build dependencies. 
+                The simplest way to install the build dependencies is to 
+                execute the following commands as user <tt>root</tt>:
                 <p/>
                 <code>aptitude build-dep openjdk-6</code>
                 <p/>
                 <code>aptitude install openjdk-6-jdk libmotif-dev</code>
                 <p/>
-		In addition, it's necessary to set a few environment variables for the build:
+                In addition, it's necessary to set a few environment variables for the build:
                 <p/>
                 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk</code>
             </blockquote>
@@ -380,52 +381,52 @@
             <h4>Ubuntu 8.04</h4>
             <p>
             <blockquote>
-		After installing <a href="http://ubuntu.org">Ubuntu</a> 8.04 
-		you need to install several build dependencies. 
+                After installing <a href="http://ubuntu.org">Ubuntu</a> 8.04 
+                you need to install several build dependencies. 
                 <p/>
-		First, you need to enable the universe repository in the 
-		Software Sources application and reload the repository 
-		information. The Software Sources application is available 
-		under the System/Administration menu. 
+                First, you need to enable the universe repository in the 
+                Software Sources application and reload the repository 
+                information. The Software Sources application is available 
+                under the System/Administration menu. 
                 <p/>
-		The simplest way to install the build dependencies is to 
-		execute the following commands:
+                The simplest way to install the build dependencies is to 
+                execute the following commands:
                 <p/>
                 <code>sudo aptitude build-dep openjdk-6</code>
                 <p/>
                 <code>sudo aptitude install openjdk-6-jdk</code>
                 <p/>
-		In addition, it's necessary to set a few environment variables for the build:
+                In addition, it's necessary to set a few environment variables for the build:
                 <p/>
                 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk</code>
             </blockquote>
             <h4>Ubuntu 8.10</h4>
             <p>
             <blockquote>
-		After installing <a href="http://ubuntu.org">Ubuntu</a> 8.10 
-		you need to install several build dependencies. The simplest
-		way to do it is to execute the following commands:
+                After installing <a href="http://ubuntu.org">Ubuntu</a> 8.10 
+                you need to install several build dependencies. The simplest
+                way to do it is to execute the following commands:
                 <p/>
                 <code>sudo aptitude build-dep openjdk-6</code>
                 <p/>
                 <code>sudo aptitude install openjdk-6-jdk</code>
                 <p/>
-		In addition, it's necessary to set a few environment variables for the build:
+                In addition, it's necessary to set a few environment variables for the build:
                 <p/>
                 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk</code>
             </blockquote>
             <h4>Ubuntu 9.04</h4>
             <p>
             <blockquote>
-		After installing <a href="http://ubuntu.org">Ubuntu</a> 9.04 
-		you need to install several build dependencies. The simplest
-		way to do it is to execute the following commands:
+                After installing <a href="http://ubuntu.org">Ubuntu</a> 9.04 
+                you need to install several build dependencies. The simplest
+                way to do it is to execute the following commands:
                 <p/>
                 <code>sudo aptitude build-dep openjdk-6</code>
                 <p/>
                 <code>sudo aptitude install openjdk-6-jdk</code>
                 <p/>
-		In addition, it's necessary to set a few environment variables for the build:
+                In addition, it's necessary to set a few environment variables for the build:
                 <p/>
                 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk</code>
             </blockquote>
@@ -436,20 +437,20 @@
             <h4>OpenSUSE 11.1</h4>
             <p>
             <blockquote>
-		After installing <a href="http://opensuse.org">OpenSUSE</a> 11.1 
-		you need to install several build dependencies. 
-		The simplest way to install the build dependencies is to 
-		execute the following commands:
+                After installing <a href="http://opensuse.org">OpenSUSE</a> 11.1 
+                you need to install several build dependencies. 
+                The simplest way to install the build dependencies is to 
+                execute the following commands:
                 <p/>
                 <code>sudo zypper source-install -d java-1_6_0-openjdk</code>
                 <p/>
                 <code>sudo zypper install make</code>
                 <p/>
-		In addition, it is necessary to set a few environment variables for the build:
+                In addition, it is necessary to set a few environment variables for the build:
                 <p/>
                 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-1.6.0-openjdk</code>
                 <p/>
-		Finally, you need to unset the <code>JAVA_HOME</code> environment variable:
+                Finally, you need to unset the <code>JAVA_HOME</code> environment variable:
                 <p/>
                 <code>export -n JAVA_HOME</code>
             </blockquote>
@@ -460,14 +461,14 @@
             <h4>Mandriva Linux One 2009 Spring</h4>
             <p>
             <blockquote>
-		After installing <a href="http://mandriva.org">Mandriva</a> Linux One 2009 Spring 
-		you need to install several build dependencies. 
-		The simplest way to install the build dependencies is to 
-		execute the following commands as user <tt>root</tt>:
+                After installing <a href="http://mandriva.org">Mandriva</a> Linux One 2009 Spring 
+                you need to install several build dependencies. 
+                The simplest way to install the build dependencies is to 
+                execute the following commands as user <tt>root</tt>:
                 <p/>
                 <code>urpmi java-1.6.0-openjdk-devel ant make gcc gcc-c++ freetype-devel zip unzip libcups2-devel libxrender1-devel libalsa2-devel libstc++-static-devel libxtst6-devel libxi-devel</code>
                 <p/>
-		In addition, it is necessary to set a few environment variables for the build:
+                In addition, it is necessary to set a few environment variables for the build:
                 <p/>
                 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-1.6.0-openjdk</code>
             </blockquote>
@@ -478,18 +479,18 @@
             <h4>OpenSolaris 2009.06</h4>
             <p>
             <blockquote>
-		After installing <a href="http://opensolaris.org">OpenSolaris</a> 2009.06 
-		you need to install several build dependencies. 
-		The simplest way to install the build dependencies is to 
-		execute the following commands:
+                After installing <a href="http://opensolaris.org">OpenSolaris</a> 2009.06 
+                you need to install several build dependencies. 
+                The simplest way to install the build dependencies is to 
+                execute the following commands:
                 <p/>
                 <code>pfexec pkg install SUNWgmake SUNWj6dev SUNWant sunstudioexpress SUNWcups SUNWzip SUNWunzip SUNWxwhl SUNWxorg-headers SUNWaudh SUNWfreetype2</code>
                 <p/>
-		In addition, it is necessary to set a few environment variables for the build:
+                In addition, it is necessary to set a few environment variables for the build:
                 <p/>
                 <code>export LANG=C ALT_COMPILER_PATH=/opt/SunStudioExpress/bin/ ALT_CUPS_HEADERS_PATH=/usr/include/</code>
                 <p/>
-		Finally, you need to make sure that the build process can find the Sun Studio compilers:
+                Finally, you need to make sure that the build process can find the Sun Studio compilers:
                 <p/>
                 <code>export PATH=$PATH:/opt/SunStudioExpress/bin/</code>
             </blockquote>
@@ -687,31 +688,20 @@
                 </li>
                 <li>
                     <strong>Windows:</strong>
-                    Make sure you start your build inside a bash/sh/ksh shell
-                    and are using a <tt>make.exe</tt> utility built for that
-                    environment (a cygwin <tt>make.exe</tt> is not the same
-                    as a <tt>make.exe</tt> built for something like
-                    <a href="http://www.mkssoftware.com/">MKS</a>). 
-                    <br>
-                    <b>WARNING:</b> Watch out on some make 3.81 versions, it may
-                    not work due to a lack of support for MS-DOS drive letter paths
-                    like <tt>C:/</tt> or <tt>C:\</tt>.
-                    <br>
-                    You may be able to use the information at the
-                    <a href="http://developer.mozilla.org/en/docs/Windows_build_prerequisites_using_cygwin#make" target="_blank">
-                        mozilla developer center</a>
-                    on this topic.
-                    <br>
-                    It's hoped that when make 3.82 starts shipping in a future cygwin
-                    release that this MS-DOS path issue will be fixed.
-                    <br>
-                    It may be possible to download the version at
-                    <a href="http://www.cmake.org/files/cygwin/make.exe">
-                        www.cmake.org make.exe</a>.
-                    <br>
-                    It might be necessary for you to build your own GNU make 3.81,
-                    see the <a href="#buildgmake">"Building GNU make"</a> section
-                    in that case.
+                    Make sure you start your build inside a bash/sh/ksh shell and are
+                    using a <tt>make.exe</tt> utility built for that environment.<br/>
+                    <strong>MKS</strong> builds need a native Windows version of GNU make
+                    (see <a href="#buildgmake">Building GNU make</a>).<br/>
+                    <strong>Cygwin</strong> builds need
+                    a make version which was specially compiled for the Cygwin environment
+                    (see <a href="#buildgmake">Building GNU make</a>). <strong>WARNING:</strong>
+                    the OpenJDK build with the make utility provided by Cygwin will <strong>not</strong>
+                    work because it does not support drive letters in paths. Make sure that
+                    your version of make will be found before the Cygwins default make by 
+                    setting an appropriate <tt>PATH</tt> environment variable or by removing
+                    Cygwin's make after you built your own make version.<br/>
+                    <strong>MinGW/MSYS</strong> builds can use the default make which 
+                    comes with the environment.
                 </li>
             </ul>
             <p>
@@ -727,7 +717,7 @@
             <!-- ------------------------------------------------------ -->
             <h4><a name="buildgmake">Building GNU make</a></h4>
             <blockquote>
-                First step is to get the GNU make 3.81 source from
+                First step is to get the GNU make 3.81 (or newer) source from
                 <a href="http://ftp.gnu.org/pub/gnu/make/" target="_blank">
                     ftp.gnu.org/pub/gnu/make/</a>.
                 Building is a little different depending on the OS and unix toolset
@@ -742,12 +732,24 @@
                         <tt>./configure && gmake CC=gcc</tt>
                     </li>
                     <li>
-                        <strong>Windows for CYGWIN:</strong>
-                        <tt>./configure && make</tt>
+                        <strong>Windows for CYGWIN:</strong><br/>
+                        <tt>./configure</tt><br/>
+                        Add the line <tt>#define HAVE_CYGWIN_SHELL 1</tt> to the end of <tt>config.h</tt><br/>
+                        <tt>make</tt><br/>
+                        <br/>
+                        This should produce <tt>make.exe</tt> in the current directory.
                     </li>
                     <li>
-                        <strong>Windows for MKS: (CYGWIN is recommended)</strong>
-                        <tt>./configure && make -f Makefile.win32</tt>
+                        <strong>Windows for MKS:</strong><br/>
+                        Edit <tt>config.h.W32</tt> and uncomment the line <tt>#define HAVE_MKS_SHELL 1</tt><br/>
+                        Set the environment for your native compiler (e.g. by calling:<br/>
+                        <tt>"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /Release /xp /x64)</tt>
+                        <tt>nmake -f NMakefile.win32</tt>
+                        <br/>
+                        This should produce <tt>WinDebug/make.exe</tt> and <tt>WinRel/make.exe</tt>
+                        <br/>
+                        If you get the error: <tt>NMAKE : fatal error U1045: spawn failed : Permission denied</tt>
+                        you have to set the <tt>Read &amp; execute</tt> permission for the file <tt>subproc.bat</tt>.
                     </li>
                 </ul>
             </blockquote>
@@ -894,39 +896,135 @@
         <h4><a name="paths">Windows Paths</a></h4>
         <blockquote>
             <strong>Windows:</strong>
-            Note that GNU make is a historic utility and is based very
-            heavily on shell scripting, so it does not tolerate the Windows habit
+            Note that GNU make, the shell and other Unix-tools required during the build
+            do not tolerate the Windows habit
             of having spaces in pathnames or the use of the <tt>\</tt>characters in pathnames.
-            Luckily on most Windows systems, you can use <tt>/</tt>instead of \, and
-            there is always a 'short' pathname without spaces for any path that 
-            contains spaces.
-            Unfortunately, this short pathname can be somewhat dynamic and the
-            formula is difficult to explain.
-            You can use <tt>cygpath</tt> utility to map pathnames with spaces
-            or the <tt>\</tt>character into the <tt>C:/</tt> style of pathname
-            (called 'mixed'), e.g.
-            <tt>cygpath -s -m "<i>path</i>"</tt>.
+            Luckily on most Windows systems, you can use <tt>/</tt>instead of <tt>\</tt>, and
+            there is always a short <a href="http://en.wikipedia.org/wiki/8.3_filename">
+	    "8.3" pathname</a> without spaces for any path that contains spaces.
+            Unfortunately, this short pathname is somewhat dynamic (i.e. dependant on the
+            other files and directories inside a given directory) and can not be 
+            algorithmicly calculated by only looking at a specific path name.
             <p>
                 The makefiles will try to translate any pathnames supplied
                 to it into the <tt>C:/</tt> style automatically.
+            </p>
             <p>
-                Note that use of CYGWIN creates a unique problem with regards to
+                Special care has to be taken if native Windows applications
+                like <tt>nmake</tt> or <tt>cl</tt> are called with file arguments processed
+                by Unix-tools like <tt>make</tt> or <tt>sh</tt>!
+            </p>
+        </blockquote>
+        <!-- ------------------------------------------------------ -->
+        <h4><a name="paths">Windows build environments</a></h4>
+        <blockquote>
+            Building on Windows requires a Unix-like environment, notably a Unix-like shell.
+            There are several such environments available of which 
+            <a href="http://www.mkssoftware.com/products/tk/ds_tkdev.asp">MKS</a>, 
+            <a href="http://www.cygwin.com/">Cygwin</a> and 
+            <a href="http://www.mingw.org/wiki/MSYS">MinGW/MSYS</a> are currently supported for
+            the OpenJDK build. One of the differences of these three systems is the way
+            they handle Windows path names, particularly path names which contain
+            spaces, backslashes as path separators and possibly drive letters. Depending
+            on the use case and the specifics of each environment these path problems can
+            be solved by a combination of quoting whole paths, translating backslashes to
+            forward slashes, escaping backslashes with additional backslashes and
+            translating the path names to their <a href="http://en.wikipedia.org/wiki/8.3_filename">
+	    "8.3" version</a>.
+            <p>
+                As of this writing (MKS ver. 9.4, Cygwin ver. 1.7.9, MinGW/MSYS 1.0.17),
+                MKS builds are known to be the fastest Windows builds while MingGW/MSYS
+                builds are slightly slower (about 10%) than MKS builds and Cygwin builds
+                require nearly twice the time (about 180%) of MKS builds (e.g. on a
+                DualCore i7 notebook with 8GB of RAM, HDD and 64-bit Windows 7 operating system
+                the complete OpenJDK 8 product build takes about 49min with MKS, 54min with
+                MinGW/MSYS and 88min with Cygwin).
+            </p>
+            <p>
+                Mixing tools from the different Unix emulation environments is not a good
+                idea and will probably not work!
+            </p>
+            <p>
+                <strong>MKS:</strong> is a commercial product which includes
+                all the Unix utilities which are required to build the OpenJDK except GNU
+                make. In pre-OpenJDK times it was the only supported build environment on
+                Windows. The MKS tools support Windows paths with drive letters and
+                forward slashes as path separator. Paths in environment variables like (for
+                example) <tt>PATH</tt> are separated by semicolon '<tt>;</tt>'.
+            </p>
+            <p>
+                Recent versions of MKS provide the <tt>dosname</tt> utility to convert paths
+                with spaces to short (8.3) path names,e .g.
+                <tt>dosname -s "<i>path</i>"</tt>.   
+            </p>
+            <p>
+                If you are using the MKS environment, you need a native Windows version
+                of Gnu make <a href="#buildgmake">which you can easily build yourself</a>. 
+            </p>
+            <p>
+                <strong>Cygwin:</strong>
+                is an open source, Linux-like environment which tries to emulate
+                a complete POSIX layer on Windows. It tries to be smart about path names
+                and can usually handle all kinds of paths if they are correctly quoted
+                or escaped although internally it maps drive letters <tt>&lt;drive&gt;:</tt> 
+                to a virtual directory <tt>/cygdrive/&lt;drive&gt;</tt>.
+            </p>
+            <p>
+                You can always use the <tt>cygpath</tt> utility to map pathnames with spaces
+                or the backslash character into the <tt>C:/</tt> style of pathname
+                (called 'mixed'), e.g. <tt>cygpath -s -m "<i>path</i>"</tt>.
+            </p>
+            <p>
+                Note that the use of CYGWIN creates a unique problem with regards to
                 setting <a href="#path"><tt>PATH</tt></a>. Normally on Windows
                 the <tt>PATH</tt> variable contains directories
-                separated with the ";" character (Solaris and Linux uses ":").
+                separated with the ";" character (Solaris and Linux use ":").
                 With CYGWIN, it uses ":", but that means that paths like "C:/path"
                 cannot be placed in the CYGWIN version  of <tt>PATH</tt> and
                 instead CYGWIN uses something like <tt>/cygdrive/c/path</tt>
                 which CYGWIN understands, but only CYGWIN understands.
-                So be careful with paths on Windows.
+            </p>
+            <p>
+                If you are using the Cygwin environment, you need to 
+                <a href="#buildgmake">compile your own version</a>
+                of GNU make because the default Cygwin make can not handle drive letters in paths. 
+            </p>
+            <p>
+                <strong>MinGW/MSYS:</strong> 
+                MinGW ("Minimalist GNU for Windows") is a collection of free Windows
+                specific header files and import libraries combined with GNU toolsets that
+                allow one to produce native Windows programs that do not rely on any
+                3rd-party C runtime DLLs. MSYS is a supplement to MinGW which allows building
+                applications and programs which rely on traditional UNIX tools to
+                be present. Among others this includes tools like <tt>bash</tt> and <tt>make</tt>.
+            </p>
+            <p>
+                Like Cygwin, MinGW/MSYS can handle different types of path formats. They
+                are internally converted to paths with forward slashes and drive letters
+                <tt>&lt;drive&gt;:</tt> replaced by a virtual
+                directory <tt>/&lt;drive&gt;</tt>.  Additionally, MSYS automatically
+                detects binaries compiled for the MSYS environment and feeds them with the
+                internal, Unix-style path names. If native Windows applications are called
+                from within MSYS programs their path arguments are automatically converted
+                back to Windows style path names with drive letters and backslashes as
+                path separators. This may cause problems for Windows applications which
+                use forward slashes as parameter separator (e.g. <tt>cl /nologo /I</tt>)
+                because MSYS may wrongly <a href="http://mingw.org/wiki/Posix_path_conversion">
+                replace such parameters by drive letters</a>.
+            </p>
+            <p>
+                If you are using the MinGW/MSYS system you can use the default make
+                version supplied by the environment.
+            </p>
         </blockquote>
         <!-- ------------------------------------------------------ -->
         <h4><a name="windows_checklist">Basic Windows Check List</a></h4>
         <blockquote>
             <ol>
                 <li>
-                    Install the
-                    <a href="#cygwin">CYGWIN product</a>. 
+                    Install one of the 
+                    <a href="#cygwin">CYGWIN</a>, <a href="#msys">MinGW/MSYS</a> or 
+                    <a href="http://www.mkssoftware.com/products/tk/ds_tkdev.asp">MKS</a> environments. 
                 </li>
                 <li>
                     Install the 
@@ -1097,9 +1195,9 @@
                     <a href="http://www.oracle.com/technetwork/server-storage/solarisstudio/downloads/index.htm" target="_blank">
                         Sun Studio 12 Update 1 Compilers</a>
                     (containing version 5.10 of the C and C++ compilers) is required,
-		    including specific patches.
+                    including specific patches.
                     <p>
-		    The Solaris SPARC patch list is:
+                    The Solaris SPARC patch list is:
                     <ul>
                         <li>
                             118683-05: SunOS 5.10: Patch for profiling libraries and assembler
@@ -1286,7 +1384,8 @@
                     The XRender header file is included with the other X11 header files
                     in the package <strong>SFWxwinc</strong> on new enough versions of
                     Solaris and will be installed in
-                    <tt>/usr/X11/include/X11/extensions/Xrender.h</tt>
+                    <tt>/usr/X11/include/X11/extensions/Xrender.h</tt> or
+                    <tt>/usr/openwin/share/include/X11/extensions/Xrender.h</tt>
                 </p><p>
                     <strong>Linux:</strong>
                     XRender header files are required for building the
@@ -1456,7 +1555,9 @@
                                 <td>Devel</td>
                                 <td>make</td>
                                 <td>The GNU version of the 'make' utility built for CYGWIN.<br>
-                                    <b>NOTE</b>: See <a href="#gmake">the GNU make section</a></td>
+                                    <b>NOTE</b>: the Cygwin make can not be used to build the 
+                                    OpenJDK.  You only need it to build your own version of make 
+                                    (see <a href="#gmake">the GNU make section</a>)</td>
                             </tr>
                             <tr>
                                 <td>m4.exe</td>
@@ -1521,6 +1622,21 @@
                     So it's important that the Visual Studio paths in PATH preceed
                     the CYGWIN path <tt>/usr/bin</tt>.
             </blockquote>
+            <strong> Minimalist GNU for Windows (<a name="msys">MinGW/MSYS</a>)</strong>
+            <blockquote> 
+                Alternatively, the set of unix command tools for the OpenJDK build on 
+                Windows can be supplied by 
+                <a href="http://www.mingw.org/wiki/MSYS" target="_blank">MinGW/MSYS</a>.
+                <p>
+                    In addition to the tools which will be installed by default, you have
+                    to manually install the <tt>msys-zip</tt> and <tt>msys-unzip</tt> packages.
+                    This can be easily done with the MinGW command line installer:<br/>
+                    <tt><br/>
+                        mingw-get.exe install msys-zip<br/>
+                        mingw-get.exe install msys-unzip<br/>
+                    </tt>
+                </p>
+            </blockquote>
             <strong><a name="dxsdk">Microsoft DirectX 9.0 SDK header files and libraries</a></strong>
             <blockquote>
                 Microsoft DirectX 9.0 SDK (Summer 2004)
@@ -1781,10 +1897,10 @@
                 </dd>
                 <dt><a name="ALT_OPENWIN_HOME"><tt>ALT_OPENWIN_HOME</tt></a></dt>
                 <dd>
-		    The top-level directory of the libraries and include files for the platform's 
-		    graphical programming environment. The default location is platform specific. 
-		    For example, on Linux it defaults to <tt>/usr/X11R6/</tt>.
-		</dd>
+                    The top-level directory of the libraries and include files for the platform's 
+                    graphical programming environment. The default location is platform specific. 
+                    For example, on Linux it defaults to <tt>/usr/X11R6/</tt>.
+                </dd>
                 <dt><strong>Windows specific:</strong></dt>
                 <dd>
                     <dl>
@@ -1792,9 +1908,9 @@
                         <dd>
                             The location of the 
                             Microsoft Windows SDK where some tools will be
-			    located.
-			    The default is whatever WINDOWSSDKDIR is set to
-			    (or WindowsSdkDir) or the path
+                            located.
+                            The default is whatever WINDOWSSDKDIR is set to
+                            (or WindowsSdkDir) or the path
                             <br>
                             <tt>c:\Program Files\Microsoft SDKs\Windows\v7.0a</tt>
                         </dd>
@@ -1823,17 +1939,17 @@
                             is that <a href="#ALT_COMPILER_PATH"><tt>ALT_COMPILER_PATH</tt></a> is set
                             to point to the cross-compiler and that any cross-compilation specific flags
                             are passed using <a href="#EXTRA_CFLAGS"><tt>EXTRA_CFLAGS</tt></a>.
-			    The <a href="#ALT_OPENWIN_HOME"><tt>ALT_OPENWIN_HOME</tt></a> variable should 
-			    also be set to point to the graphical header files (e.g. X11) provided with 
-			    the cross-compiler.
+                            The <a href="#ALT_OPENWIN_HOME"><tt>ALT_OPENWIN_HOME</tt></a> variable should 
+                            also be set to point to the graphical header files (e.g. X11) provided with 
+                            the cross-compiler.
                             When cross-compiling we skip execution of any demos etc that may be built, and
                             also skip binary-file verification.
                         </dd>
                         <dt><tt><a name="EXTRA_CFLAGS">EXTRA_CFLAGS</a></tt> </dt>
                         <dd>
-			   Used to pass cross-compilation options to the cross-compiler.
+                           Used to pass cross-compilation options to the cross-compiler.
                            These are added to the <tt>CFLAGS</tt> and <tt>CXXFLAGS</tt> variables. 
-			</dd>
+                        </dd>
                         <dt><tt><a name="USE_ONLY_BOOTDIR_TOOLS">USE_ONLY_BOOTDIR_TOOLS</a></tt> </dt>
                         <dd>
                             Used primarily for cross-compilation builds (and always set in that case)
@@ -1868,23 +1984,23 @@
                         <dt><tt><a name="BUILD_HEADLESS_ONLY"></a>BUILD_HEADLESS_ONLY</tt> </dt>
                         <dd>
                             Used when the build environment has no graphical capabilities at all. This
-			    excludes building anything that requires graphical libraries to be available.
+                            excludes building anything that requires graphical libraries to be available.
                         </dd>
                         <dt><tt><a name="JAVASE_EMBEDDED"></a>JAVASE_EMBEDDED</tt> </dt>
                         <dd>
-			    Used to indicate this is a build of the Oracle Java SE Embedded product. 
-			    This will enable the directives included in the SE-Embedded specific build 
-			    files.
+                            Used to indicate this is a build of the Oracle Java SE Embedded product. 
+                            This will enable the directives included in the SE-Embedded specific build 
+                            files.
                         </dd>
                         <dt><tt><a name="LIBZIP_CAN_USE_MMAP">LIBZIP_CAN_USE_MMAP</a></tt> </dt>
                         <dd>
-			    If set to false, disables the use of mmap by the zip utility. Otherwise,
-	                    mmap will be used.
+                            If set to false, disables the use of mmap by the zip utility. Otherwise,
+                            mmap will be used.
                         </dd>
                         <dt><tt><a name="COMPRESS_JARS"></a>COMPRESS_JARS</tt> </dt>
                         <dd>
-			  If set to true, causes certain jar files that would otherwise be built without
-			  compression, to use compression.
+                          If set to true, causes certain jar files that would otherwise be built without
+                          compression, to use compression.
                         </dd>
                     </dl>
                 </dd>
--- a/corba/.hgtags	Wed Sep 19 12:58:43 2012 +0800
+++ b/corba/.hgtags	Fri Oct 26 10:01:13 2012 -0700
@@ -178,3 +178,8 @@
 16c82fc74695bab9b9e0fb05c086a5a08ba0082f jdk8-b54
 e8a0e84383d6fbd303ce44bd355fb25972b13286 jdk8-b55
 bf1bb47414e178beff67dc255fc3b97bf401f679 jdk8-b56
+f3ab4163ae012965fc8acdfc25ce0fece8d6906d jdk8-b57
+18462a19f7bd66d38015f61ea549a5e0c0c889a3 jdk8-b58
+d54dc53e223ed9ce7d5f4d2cd02ad9d5def3c2db jdk8-b59
+207ef43ba69ead6cbbab415d81834545e4d46747 jdk8-b60
+0e08ba7648fb3faa0986cb217887d7c4990977f3 jdk8-b61
--- a/corba/make/common/shared/Defs-utils.gmk	Wed Sep 19 12:58:43 2012 +0800
+++ b/corba/make/common/shared/Defs-utils.gmk	Fri Oct 26 10:01:13 2012 -0700
@@ -151,16 +151,26 @@
 ifeq ($(PLATFORM),windows)
   ifdef USING_CYGWIN
     # Intrinsic unix command, with backslash-escaped character interpretation
-    ECHO = $(UNIXCOMMAND_PATH)echo -e
-    ZIPEXE = $(UNIXCOMMAND_PATH)zip
-    UNZIP  = $(UNIXCOMMAND_PATH)unzip
+    ECHO     = $(UNIXCOMMAND_PATH)echo -e
+    ZIPEXE   = $(UNIXCOMMAND_PATH)zip
+    UNZIP    = $(UNIXCOMMAND_PATH)unzip
+    # Some CYGWIN nawk versions require BINMODE=w for proper '\r' interpretation
+    NAWK     = $(UNIXCOMMAND_PATH)awk -v BINMODE=w
   else
-    ZIPEXE = $(UTILS_DEVTOOL_PATH)zip
-    UNZIP  = $(UTILS_DEVTOOL_PATH)unzip
+    ifdef USING_MSYS
+      ECHO   = $(UTILS_COMMAND_PATH)echo -e
+      ZIPEXE = $(UTILS_DEVTOOL_PATH)zip
+      UNZIP  = $(UTILS_DEVTOOL_PATH)unzip
+      NAWK   = $(UNIXCOMMAND_PATH)awk
+    else
+      ZIPEXE = $(UTILS_DEVTOOL_PATH)zip
+      UNZIP  = $(UTILS_DEVTOOL_PATH)unzip
+      NAWK   = $(UNIXCOMMAND_PATH)awk
+    endif
   endif
   # Re-define some utilities
   LEX            =# override GNU Make intrinsic: no lex on windows
-  NAWK           = $(UNIXCOMMAND_PATH)awk
+  SHA1SUM        = $(UNIXCOMMAND_PATH)openssl sha1
 endif
 
 # Linux specific
--- a/corba/make/common/shared/Defs-windows.gmk	Wed Sep 19 12:58:43 2012 +0800
+++ b/corba/make/common/shared/Defs-windows.gmk	Fri Oct 26 10:01:13 2012 -0700
@@ -91,6 +91,15 @@
 $(shell if [ "$1" != "" -a -d "$1" ]; then $(CYGPATH_CMD) "$1"; else echo "$1"; fi)
 endef
 else
+ifdef USING_MSYS
+DOSPATH_CMD:=$(shell cd $(JDK_TOPDIR) 2> $(DEV_NULL) && pwd)/make/tools/msys_build_scripts/dospath.sh
+define FullPath
+$(subst \,/,$(shell $(DOSPATH_CMD) $1))
+endef
+define OptFullPath
+$(shell if [ "$1" != "" -a -d "$1" ]; then (cd $1 && pwd); else echo "$1"; fi)
+endef
+else
 # Temporary until we upgrade to MKS 8.7, MKS pwd returns mixed mode path
 define FullPath
 $(shell cd $1 2> $(DEV_NULL) && pwd)
@@ -99,6 +108,7 @@
 $(shell if [ "$1" != "" -a -d "$1" ]; then (cd $1 && pwd); else echo "$1"; fi)
 endef
 endif
+endif
 
 # System drive
 ifdef SYSTEMDRIVE
@@ -112,14 +122,21 @@
 
 # UNIXCOMMAND_PATH: path to where the most common Unix commands are.
 #  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifndef UNIXCOMMAND_PATH
-  ifdef ALT_UNIXCOMMAND_PATH
+#        With cygwin, use this as is; don't use FullPath on it.
+ifdef ALT_UNIXCOMMAND_PATH
+  ifdef USING_CYGWIN
+    UNIXCOMMAND_PATH       :=$(call PrefixPath,$(ALT_UNIXCOMMAND_PATH))
+  else
     xALT_UNIXCOMMAND_PATH  :="$(subst \,/,$(ALT_UNIXCOMMAND_PATH))"
     fxALT_UNIXCOMMAND_PATH :=$(call FullPath,$(xALT_UNIXCOMMAND_PATH))
     UNIXCOMMAND_PATH       :=$(call PrefixPath,$(fxALT_UNIXCOMMAND_PATH))
+  endif
+else
+  ifdef USING_CYGWIN
+    UNIXCOMMAND_PATH :=$(call PrefixPath,/usr/bin)
   else
-    ifdef USING_CYGWIN
-      UNIXCOMMAND_PATH :=$(call PrefixPath,/usr/bin)
+    ifdef USING_MSYS
+      UNIXCOMMAND_PATH :=$(call PrefixPath,/bin)
     else
       ifdef ROOTDIR
         xROOTDIR :="$(subst \,/,$(ROOTDIR))"
@@ -131,41 +148,35 @@
       ifneq ($(_rootdir),)
         UNIXCOMMAND_PATH :=$(call PrefixPath,$(_rootdir)/mksnt)
       endif
-    endif
-  endif
-  UNIXCOMMAND_PATH:=$(call AltCheckSpaces,UNIXCOMMAND_PATH)
-  export UNIXCOMMAND_PATH
+    endif # USING_MSYS
+  endif # USING_CYGWIN
 endif
+UNIXCOMMAND_PATH:=$(call AltCheckSpaces,UNIXCOMMAND_PATH)
+export UNIXCOMMAND_PATH
 
 # Get version of MKS or CYGWIN
-ifdef USING_CYGWIN
-  ifndef CYGWIN_VER
-    _CYGWIN_VER :=$(shell $(UNAME))
-    CYGWIN_VER  :=$(call GetVersion,$(_CYGWIN_VER))
-    export CYGWIN_VER
+ifdef USING_MKS
+  _MKS_VER :=$(shell $(MKSINFO) 2>&1 | $(GREP) Release | $(TAIL) -1 | $(SED) -e 's@.*\(Release.*\)@\1@')
+  MKS_VER  :=$(call GetVersion,$(_MKS_VER))
+  # At this point, we can re-define FullPath to use DOSNAME_CMD
+  CHECK_MKS87:=$(call CheckVersions,$(MKS_VER),8.7)
+  TRY_DOSNAME:=false
+  ifeq ($(CHECK_MKS87),same)
+    TRY_DOSNAME:=true
   endif
-else # MKS
-_MKS_VER :=$(shell $(MKSINFO) 2>&1 | $(GREP) Release | $(TAIL) -1 | $(SED) -e 's@.*\(Release.*\)@\1@')
-MKS_VER  :=$(call GetVersion,$(_MKS_VER))
-# At this point, we can re-define FullPath to use DOSNAME_CMD
-CHECK_MKS87:=$(call CheckVersions,$(MKS_VER),8.7)
-TRY_DOSNAME:=false
-ifeq ($(CHECK_MKS87),same)
-TRY_DOSNAME:=true
-endif
-# Newer should be ok
-ifeq ($(CHECK_MKS87),newer)
-TRY_DOSNAME:=true
-endif
-ifeq ($(TRY_DOSNAME),true)
-ifeq ($(shell $(UNIXCOMMAND_PATH)dosname -s $(_system_drive)/ 2> $(DEV_NULL)),$(_system_drive)/)
-_DOSNAME=$(UNIXCOMMAND_PATH)dosname
-DOSNAME_CMD:=$(_DOSNAME) -s
+  # Newer should be ok
+  ifeq ($(CHECK_MKS87),newer)
+    TRY_DOSNAME:=true
+  endif
+  ifeq ($(TRY_DOSNAME),true)
+    ifeq ($(shell $(UNIXCOMMAND_PATH)dosname -s $(_system_drive)/ 2> $(DEV_NULL)),$(_system_drive)/)
+      _DOSNAME=$(UNIXCOMMAND_PATH)dosname
+      DOSNAME_CMD:=$(_DOSNAME) -s
 define FullPath
 $(subst //,/,$(shell echo $1 | $(DOSNAME_CMD) 2> $(DEV_NULL)))
 endef
-endif # test dosname -s
-endif # TRY_DOSNAME
+    endif # test dosname -s
+  endif # TRY_DOSNAME
 endif # MKS
 
 # We try to get references to what we need via the default component
@@ -240,6 +251,8 @@
 # DEVTOOLS_PATH: for other tools required for building (such as zip, etc.)
 #  NOTE: Must end with / so that it could be empty, allowing PATH usage.
 ifndef DEVTOOLS_PATH
+  # DEVTOOLS_PATH: for other tools required for building (such as zip, etc.)
+  #  NOTE: Must end with / so that it could be empty, allowing PATH usage.
   ifdef ALT_DEVTOOLS_PATH
     xALT_DEVTOOLS_PATH  :="$(subst \,/,$(ALT_DEVTOOLS_PATH))"
     fxALT_DEVTOOLS_PATH :=$(call FullPath,$(xALT_DEVTOOLS_PATH))
@@ -248,10 +261,14 @@
     ifdef USING_CYGWIN
       DEVTOOLS_PATH :=$(UNIXCOMMAND_PATH)
     else
-      xDEVTOOLS_PATH  :="$(_system_drive)/utils"
-      fxDEVTOOLS_PATH :=$(call FullPath,$(xDEVTOOLS_PATH))
-      DEVTOOLS_PATH  :=$(call PrefixPath,$(fxDEVTOOLS_PATH))
-    endif
+      ifdef USING_MSYS
+        DEVTOOLS_PATH :=$(UNIXCOMMAND_PATH)
+      else
+        xDEVTOOLS_PATH  :="$(_system_drive)/utils"
+        fxDEVTOOLS_PATH :=$(call FullPath,$(xDEVTOOLS_PATH))
+        DEVTOOLS_PATH  :=$(call PrefixPath,$(fxDEVTOOLS_PATH))
+      endif # USING_MSYS
+    endif # USING_CYGWIN
   endif
   DEVTOOLS_PATH:=$(call AltCheckSpaces,DEVTOOLS_PATH)
   export DEVTOOLS_PATH
--- a/corba/make/common/shared/Platform.gmk	Wed Sep 19 12:58:43 2012 +0800
+++ b/corba/make/common/shared/Platform.gmk	Fri Oct 26 10:01:13 2012 -0700
@@ -65,6 +65,8 @@
 #     REQUIRED_WINDOWS_NAME       windows only: basic name of windows
 #     REQUIRED_WINDOWS_VERSION    windows only: specific version of windows
 #     USING_CYGWIN                windows only: true or false
+#     USING_MSYS                  windows only: true or false
+#     USING_MKS                   windows only: true or false
 #     WINDOWS_NT_VERSION_STRING   windows only: long version name
 #     REQUIRED_OS_VERSION         required OS version, e.g. 5.10, 2.4
 #     REQUIRED_FREE_SPACE         minimum disk space needed for outputdir
@@ -327,6 +329,8 @@
 # Windows with and without CYGWIN will be slightly different
 ifeq ($(SYSTEM_UNAME), Windows_NT)
   PLATFORM = windows
+  USING_MKS = true
+  export USING_MKS
   OS_VERSION := $(shell uname -r)
   WINDOWS_NT_VERSION_STRING=Windows_NT
   REQUIRED_MKS_VER=6.1
@@ -339,6 +343,11 @@
   WINDOWS_NT_VERSION_STRING=CYGWIN_NT
   REQUIRED_CYGWIN_VER=4.0
 endif
+ifneq (,$(findstring MINGW,$(SYSTEM_UNAME)))
+  PLATFORM = windows
+  USING_MSYS = true
+  export USING_MSYS
+endif
 
 # Platform settings specific to Windows
 ifeq ($(PLATFORM), windows)
--- a/corba/src/share/classes/sun/rmi/rmic/iiop/StubGenerator.java	Wed Sep 19 12:58:43 2012 +0800
+++ b/corba/src/share/classes/sun/rmi/rmic/iiop/StubGenerator.java	Fri Oct 26 10:01:13 2012 -0700
@@ -1631,7 +1631,7 @@
 
         // Write data members...
         p.pln();
-        p.pln("private " + getName(theType) + " target = null;");
+        p.pln("volatile private " + getName(theType) + " target = null;");
         p.pln();
 
         // Write the ids...
@@ -1695,6 +1695,10 @@
 
         if (remoteMethods.length > 0) {
             p.plnI("try {");
+            p.pln(getName(theType) + " target = this.target;");
+            p.plnI("if (target == null) {");
+            p.pln("throw new java.io.IOException();");
+            p.pOln("}");
             p.plnI(idExtInputStream + " "+in+" = ");
             p.pln("(" + idExtInputStream + ") "+_in+";");
             p.pO();
--- a/hotspot/.hgtags	Wed Sep 19 12:58:43 2012 +0800
+++ b/hotspot/.hgtags	Fri Oct 26 10:01:13 2012 -0700
@@ -276,3 +276,14 @@
 09ea7e0752b306b8ae74713aeb4eb6263e1c6836 hs24-b22
 af0c8a0808516317333dcf9af15567cdd52761ce jdk8-b55
 6124ff4218296c91e4a72f1a76c064892d39d61b jdk8-b56
+9b076bc3ab67d42d1d02144ef8dcd6006a7fc0d6 hs25-b01
+d70102c4cb73158902acaa6016f47c7bc14e0d67 jdk8-b57
+5f54277c67f755a377999bff904ab48aa63ddaf9 hs25-b02
+6bb378c50828e9d76fb2653d1712c66ea8fc47db jdk8-b58
+f2e12eb74117c917c0bb264694c02de4a6a15a10 hs25-b03
+8a1a6b9b4f20fd2f6a12441d638e51f19a82db19 jdk8-b59
+1cc7a2a11d00832e3d07f81f3744a6883422db7e hs25-b04
+3cfd05b2219a29649741a52637696f06acf24a4e jdk8-b60
+b261523fe66c40a02968f0aa7e73602491bb3386 hs25-b05
+4547dc71db765276e027b0c2780b724bae0a07d3 jdk8-b61
+d0337c31c8be7716369b4e7c3bd5f352983c6a06 hs25-b06
--- a/hotspot/agent/doc/clhsdb.html	Wed Sep 19 12:58:43 2012 +0800
+++ b/hotspot/agent/doc/clhsdb.html	Fri Oct 26 10:01:13 2012 -0700
@@ -38,10 +38,10 @@
   assert true | false <font color="red">turn on/off asserts in SA code</font>
   attach pid | exec core  <font color="red">attach SA to a process or core</font>
   class name <font color="red">find a Java class from debuggee and print oop</font>
-  classes <font color="red">print all loaded Java classes with klassOop</font>
+  classes <font color="red">print all loaded Java classes with Klass*</font>
   detach <font color="red">detach SA from current target</font>
   dis address [ length ]  <font color="red">disassemble (sparc/x86) specified number of instructions from given address</font>
-  dumpclass { address | name } [ directory ] <font color="red">dump .class file for given klassOop or class name</font>
+  dumpclass { address | name } [ directory ] <font color="red">dump .class file for given Klass* or class name</font>
   dumpheap [ file ] <font color="red">dump heap in hprof binary format</font>
   echo [ true | false ] <font color="red">turn on/off command echo mode</font>
   examine [ address/count ] | [ address,address] <font color="red">show contents of memory from given address</font>
@@ -51,7 +51,7 @@
   help [ command ] <font color="red">print help message for all commands or just given command</font>
   history <font color="red">show command history. usual !command-number syntax works.</font>
   inspect expression <font color="red">inspect a given oop</font>
-  jdis address <font color="red">show bytecode disassembly of a given methodOop</font>
+  jdis address <font color="red">show bytecode disassembly of a given Method*</font>
   jhisto <font color="red">show Java heap histogram</font>
   jseval script <font color="red">evaluate a given string as JavaScript code</font>
   jsload file <font color="red">load and evaluate a JavaScript file</font>
@@ -59,7 +59,7 @@
   livenmethods <font color="red">show all live nmethods</font>
   mem address [ length ] <font color="red">show contents of memory -- also shows closest ELF/COFF symbol if found</font>
   pmap <font color="red">show Solaris pmap-like output</font>
-  print expression <font color="red">print given klassOop, methodOop or arbitrary address</font>
+  print expression <font color="red">print given Klass*, Method* or arbitrary address</font>
   printas type expression <font color="red">print given address as given HotSpot type. eg. print JavaThread &lt;address&gt;</font>
   printstatics [ type ] <font color="red">print static fields of given HotSpot type (or all types if none specified)</font>
   pstack [-v] <font color="red">show mixed mode stack trace for all Java, non-Java threads. -v is verbose mode</font>
--- a/hotspot/agent/make/ClosureFinder.java	Wed Sep 19 12:58:43 2012 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,254 +0,0 @@
-/*
- * Copyright (c) 2003, 2004, 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
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- *
- */
-
-import java.io.*;
-import java.util.*;
-
-
-/**
-<p> This class finds transitive closure of dependencies from a given
-root set of classes. If your project has lots of .class files and you
-want to ship only those .class files which are used (transitively)
-from a root set of classes, then you can use this utility.  </p> <p>
-How does it work?</p>
-
-<p> We walk through all constant pool entries of a given class and
-find all modified UTF-8 entries. Anything that looks like a class name is
-considered as a class and we search for that class in the given
-classpath. If we find a .class of that name, then we add that class to
-list.</p>
-
-<p> We could have used CONSTANT_ClassInfo type constants only. But
-that will miss classes used through Class.forName or xyz.class
-construct.  But, if you refer to a class name in some other string we
-would include it as dependency :(. But this is quite unlikely
-anyway. To look for exact Class.forName argument(s) would involve
-bytecode analysis. Also, we handle only simple reflection. If you
-accept name of a class from externally (for eg properties file or
-command line args for example, this utility will not be able to find
-that dependency. In such cases, include those classes in the root set.
-</p>
-*/
-
-public class ClosureFinder {
-    private Collection roots;            // root class names Collection<String>
-    private Map        visitedClasses;   // set of all dependencies as a Map
-    private String     classPath;        // classpath to look for .class files
-    private String[]   pathComponents;   // classpath components
-    private static final boolean isWindows = File.separatorChar != '/';
-
-    public ClosureFinder(Collection roots, String classPath) {
-        this.roots = roots;
-        this.classPath = classPath;
-        parseClassPath();
-    }
-
-    // parse classPath into pathComponents array
-    private void parseClassPath() {
-        List paths = new ArrayList();
-        StringTokenizer st = new StringTokenizer(classPath, File.pathSeparator);
-        while (st.hasMoreTokens())
-            paths.add(st.nextToken());
-
-        Object[] arr = paths.toArray();
-        pathComponents = new String[arr.length];
-        System.arraycopy(arr, 0, pathComponents, 0, arr.length);
-    }
-
-    // if output is aleady not computed, compute it now
-    // result is a map from class file name to base path where the .class was found
-    public Map find() {
-        if (visitedClasses == null) {
-            visitedClasses = new HashMap();
-            computeClosure();
-        }
-        return visitedClasses;
-    }
-
-    // compute closure for all given root classes
-    private void computeClosure() {
-        for (Iterator rootsItr = roots.iterator(); rootsItr.hasNext();) {
-            String name = (String) rootsItr.next();
-            name = name.substring(0, name.indexOf(".class"));
-            computeClosure(name);
-        }
-    }
-
-
-    // looks up for .class in pathComponents and returns
-    // base path if found, else returns null
-    private String lookupClassFile(String classNameAsPath) {
-        for (int i = 0; i < pathComponents.length; i++) {
-            File f =  new File(pathComponents[i] + File.separator +
-                               classNameAsPath + ".class");
-            if (f.exists()) {
-                if (isWindows) {
-                    String name = f.getName();
-                    // Windows reports special devices AUX,NUL,CON as files
-                    // under any directory. It does not care about file extention :-(
-                    if (name.compareToIgnoreCase("AUX.class") == 0 ||
-                        name.compareToIgnoreCase("NUL.class") == 0 ||
-                        name.compareToIgnoreCase("CON.class") == 0) {
-                        return null;
-                    }
-                }
-                return pathComponents[i];
-            }
-        }
-        return null;
-    }
-
-
-    // from JVM spec. 2'nd edition section 4.4
-    private static final int CONSTANT_Class = 7;
-    private static final int CONSTANT_FieldRef = 9;
-    private static final int CONSTANT_MethodRef = 10;
-    private static final int CONSTANT_InterfaceMethodRef = 11;
-    private static final int CONSTANT_String = 8;
-    private static final int CONSTANT_Integer = 3;
-    private static final int CONSTANT_Float = 4;
-    private static final int CONSTANT_Long = 5;
-    private static final int CONSTANT_Double = 6;
-    private static final int CONSTANT_NameAndType = 12;
-    private static final int CONSTANT_Utf8 = 1;
-
-    // whether a given string may be a class name?
-    private boolean mayBeClassName(String internalClassName) {
-        int len = internalClassName.length();
-        for (int s = 0; s < len; s++) {
-            char c = internalClassName.charAt(s);
-            if (!Character.isJavaIdentifierPart(c) && c != '/')
-                return false;
-        }
-        return true;
-    }
-
-    // compute closure for a given class
-    private void computeClosure(String className) {
-        if (visitedClasses.get(className) != null) return;
-        String basePath = lookupClassFile(className);
-        if (basePath != null) {
-            visitedClasses.put(className, basePath);
-            try {
-                File classFile = new File(basePath + File.separator + className + ".class");
-                FileInputStream fis = new FileInputStream(classFile);
-                DataInputStream dis = new DataInputStream(fis);
-                // look for .class signature
-                if (dis.readInt() != 0xcafebabe) {
-                    System.err.println(classFile.getAbsolutePath() + " is not a valid .class file");
-                    return;
-                }
-
-                // ignore major and minor version numbers
-                dis.readShort();
-                dis.readShort();
-
-                // read number of constant pool constants
-                int numConsts = (int) dis.readShort();
-                String[] strings = new String[numConsts];
-
-                // zero'th entry is unused
-                for (int cpIndex = 1; cpIndex < numConsts; cpIndex++) {
-                    int constType = (int) dis.readByte();
-                    switch (constType) {
-                    case CONSTANT_Class:
-                    case CONSTANT_String:
-                        dis.readShort(); // string name index;
-                        break;
-
-                    case CONSTANT_FieldRef:
-                    case CONSTANT_MethodRef:
-                    case CONSTANT_InterfaceMethodRef:
-                    case CONSTANT_NameAndType:
-                    case CONSTANT_Integer:
-                    case CONSTANT_Float:
-                        // all these are 4 byte constants
-                        dis.readInt();
-                        break;
-
-                    case CONSTANT_Long:
-                    case CONSTANT_Double:
-                        // 8 byte constants
-                        dis.readLong();
-                        // occupies 2 cp entries
-                        cpIndex++;
-                        break;
-
-
-                    case CONSTANT_Utf8: {
-                        strings[cpIndex] = dis.readUTF();
-                        break;
-                    }
-
-                    default:
-                        System.err.println("invalid constant pool entry");
-                        return;
-                    }
-                }
-
-            // now walk thru the string constants and look for class names
-            for (int s = 0; s < numConsts; s++) {
-                if (strings[s] != null && mayBeClassName(strings[s]))
-                    computeClosure(strings[s].replace('/', File.separatorChar));
-            }
-
-            } catch (IOException exp) {
-                // ignore for now
-            }
-
-        }
-    }
-
-    // a sample main that accepts roots classes in a file and classpath as args
-    public static void main(String[] args) {
-        if (args.length != 2) {
-            System.err.println("Usage: ClosureFinder <root class file> <class path>");
-            System.exit(1);
-        }
-
-        List roots = new ArrayList();
-        try {
-            FileInputStream fis = new FileInputStream(args[0]);
-            DataInputStream dis = new DataInputStream(fis);
-            String line = null;
-            while ((line = dis.readLine()) != null) {
-                if (isWindows) {
-                    line = line.replace('/', File.separatorChar);
-                }
-                roots.add(line);
-            }
-        } catch (IOException exp) {
-            System.err.println(exp.getMessage());
-            System.exit(2);
-        }
-
-        ClosureFinder cf = new ClosureFinder(roots, args[1]);
-        Map out = cf.find();
-        Iterator res = out.keySet().iterator();
-        for(; res.hasNext(); ) {
-            String className = (String) res.next();
-            System.out.println(className + ".class");
-        }
-    }
-}
--- a/hotspot/agent/make/Makefile	Wed Sep 19 12:58:43 2012 +0800
+++ b/hotspot/agent/make/Makefile	Fri Oct 26 10:01:13 2012 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2012, 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
@@ -41,10 +41,7 @@
 PKGLIST = \
 sun.jvm.hotspot \
 sun.jvm.hotspot.asm \
-sun.jvm.hotspot.asm.amd64 \
-sun.jvm.hotspot.asm.ia64 \
 sun.jvm.hotspot.asm.sparc \
-sun.jvm.hotspot.asm.x86 \
 sun.jvm.hotspot.bugspot \
 sun.jvm.hotspot.bugspot.tree \
 sun.jvm.hotspot.c1 \
@@ -138,10 +135,7 @@
 FILELIST = \
 sun/jvm/hotspot/*.java \
 sun/jvm/hotspot/asm/*.java \
-sun/jvm/hotspot/asm/amd64/*.java \
-sun/jvm/hotspot/asm/ia64/*.java \
 sun/jvm/hotspot/asm/sparc/*.java \
-sun/jvm/hotspot/asm/x86/*.java \
 sun/jvm/hotspot/bugspot/*.java \
 sun/jvm/hotspot/bugspot/tree/*.java \
 sun/jvm/hotspot/c1/*.java \
--- a/hotspot/agent/make/saenv.sh	Wed Sep 19 12:58:43 2012 +0800
+++ b/hotspot/agent/make/saenv.sh	Fri Oct 26 10:01:13 2012 -0700
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# Copyright (c) 2003, 2009, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2003, 2012, 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
--- a/hotspot/agent/make/start-debug-server-proc.sh	Wed Sep 19 12:58:43 2012 +0800
+++ b/hotspot/agent/make/start-debug-server-proc.sh	Fri Oct 26 10:01:13 2012 -0700
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2002, 2012, 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
--- a/hotspot/agent/src/os/bsd/MacosxDebuggerLocal.m	Wed Sep 19 12:58:43 2012 +0800
+++ b/hotspot/agent/src/os/bsd/MacosxDebuggerLocal.m	Fri Oct 26 10:01:13 2012 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2012, 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
@@ -31,7 +31,13 @@
 #import <mach/mach.h>
 #import <mach/mach_types.h>
 #import <sys/sysctl.h>
+#import <stdio.h>
+#import <stdarg.h>
 #import <stdlib.h>
+#import <strings.h>
+#import <dlfcn.h>
+#import <limits.h>
+#import <errno.h>
 
 jboolean debug = JNI_FALSE;
 
@@ -60,6 +66,9 @@
 #define CHECK_EXCEPTION if ((*env)->ExceptionOccurred(env)) { return;}
 #define THROW_NEW_DEBUGGER_EXCEPTION_(str, value) { throw_new_debugger_exception(env, str); return value; }
 #define THROW_NEW_DEBUGGER_EXCEPTION(str) { throw_new_debugger_exception(env, str); return;}
+#define CHECK_EXCEPTION_CLEAR if ((*env)->ExceptionOccurred(env)) { (*env)->ExceptionClear(env); } 
+#define CHECK_EXCEPTION_CLEAR_VOID if ((*env)->ExceptionOccurred(env)) { (*env)->ExceptionClear(env); return; } 
+#define CHECK_EXCEPTION_CLEAR_(value) if ((*env)->ExceptionOccurred(env)) { (*env)->ExceptionClear(env); return value; } 
 
 static void throw_new_debugger_exception(JNIEnv* env, const char* errMsg) {
   (*env)->ThrowNew(env, (*env)->FindClass(env, "sun/jvm/hotspot/debugger/DebuggerException"), errMsg);
@@ -404,3 +413,164 @@
   }
 JNF_COCOA_EXIT(env);
 }
+
+/*
+ * Class:     sun_jvm_hotspot_asm_Disassembler
+ * Method:    load_library
+ * Signature: (Ljava/lang/String;)L
+ */
+JNIEXPORT jlong JNICALL Java_sun_jvm_hotspot_asm_Disassembler_load_1library(JNIEnv * env,
+                                                                           jclass disclass,
+                                                                           jstring jrepath_s,
+                                                                           jstring libname_s) {
+  uintptr_t func = 0;
+  const char* error_message = NULL;
+  const char* java_home;
+  jboolean isCopy;
+  uintptr_t *handle = NULL;
+
+  const char * jrepath = (*env)->GetStringUTFChars(env, jrepath_s, &isCopy); // like $JAVA_HOME/jre/lib/sparc/
+  const char * libname = (*env)->GetStringUTFChars(env, libname_s, &isCopy);
+  char buffer[128];
+
+  /* Load the hsdis library */
+  void* hsdis_handle;
+  hsdis_handle = dlopen(libname, RTLD_LAZY | RTLD_GLOBAL);
+  if (hsdis_handle == NULL) {
+    snprintf(buffer, sizeof(buffer), "%s%s", jrepath, libname);
+    hsdis_handle = dlopen(buffer, RTLD_LAZY | RTLD_GLOBAL);
+  }
+  if (hsdis_handle != NULL) {
+    func = (uintptr_t)dlsym(hsdis_handle, "decode_instructions_virtual");
+  }
+  if (func == 0) {
+    error_message = dlerror();
+    fprintf(stderr, "%s\n", error_message);
+  }
+
+  (*env)->ReleaseStringUTFChars(env, libname_s, libname);
+  (*env)->ReleaseStringUTFChars(env, jrepath_s, jrepath);
+
+  if (func == 0) {
+    /* Couldn't find entry point.  error_message should contain some
+     * platform dependent error message.
+     */
+    THROW_NEW_DEBUGGER_EXCEPTION(error_message);
+  }
+  return (jlong)func;
+}
+
+/* signature of decode_instructions_virtual from hsdis.h */
+typedef void* (*decode_func)(uintptr_t start_va, uintptr_t end_va,
+                             unsigned char* start, uintptr_t length,
+                             void* (*event_callback)(void*, const char*, void*),
+                             void* event_stream,
+                             int (*printf_callback)(void*, const char*, ...),
+                             void* printf_stream,
+                             const char* options);
+
+/* container for call back state when decoding instructions */
+typedef struct {
+  JNIEnv* env;
+  jobject dis;
+  jobject visitor;
+  jmethodID handle_event;
+  jmethodID raw_print;
+  char buffer[4096];
+} decode_env;
+
+
+/* event callback binding to Disassembler.handleEvent */
+static void* event_to_env(void* env_pv, const char* event, void* arg) {
+  decode_env* denv = (decode_env*)env_pv;
+  JNIEnv* env = denv->env;
+  jstring event_string = (*env)->NewStringUTF(env, event);
+  jlong result = (*env)->CallLongMethod(env, denv->dis, denv->handle_event, denv->visitor,
+                                        event_string, (jlong) (uintptr_t)arg);
+  /* ignore exceptions for now */
+  CHECK_EXCEPTION_CLEAR_((void *)0);
+  return (void*)(uintptr_t)result;
+}
+
+/* printing callback binding to Disassembler.rawPrint */
+static int printf_to_env(void* env_pv, const char* format, ...) {
+  jstring output;
+  va_list ap;
+  int cnt;
+  decode_env* denv = (decode_env*)env_pv;
+  JNIEnv* env = denv->env;
+  size_t flen = strlen(format);
+  const char* raw = NULL;
+
+  if (flen == 0)  return 0;
+  if (flen < 2 ||
+      strchr(format, '%') == NULL) {
+    raw = format;
+  } else if (format[0] == '%' && format[1] == '%' &&
+             strchr(format+2, '%') == NULL) {
+    // happens a lot on machines with names like %foo
+    flen--;
+    raw = format+1;
+  }
+  if (raw != NULL) {
+    jstring output = (*env)->NewStringUTF(env, raw);
+    (*env)->CallVoidMethod(env, denv->dis, denv->raw_print, denv->visitor, output);
+    CHECK_EXCEPTION_CLEAR;
+    return (int) flen;
+  }
+  va_start(ap, format);
+  cnt = vsnprintf(denv->buffer, sizeof(denv->buffer), format, ap);
+  va_end(ap);
+
+  output = (*env)->NewStringUTF(env, denv->buffer);
+  (*env)->CallVoidMethod(env, denv->dis, denv->raw_print, denv->visitor, output);
+  CHECK_EXCEPTION_CLEAR;
+  return cnt;
+}
+
+/*
+ * Class:     sun_jvm_hotspot_asm_Disassembler
+ * Method:    decode
+ * Signature: (Lsun/jvm/hotspot/asm/InstructionVisitor;J[BLjava/lang/String;J)V
+ */
+JNIEXPORT void JNICALL Java_sun_jvm_hotspot_asm_Disassembler_decode(JNIEnv * env,
+                                                                    jobject dis,
+                                                                    jobject visitor,
+                                                                    jlong startPc,
+                                                                    jbyteArray code,
+                                                                    jstring options_s,
+                                                                    jlong decode_instructions_virtual) {
+  jboolean isCopy;
+  jbyte* start = (*env)->GetByteArrayElements(env, code, &isCopy);
+  jbyte* end = start + (*env)->GetArrayLength(env, code);
+  const char * options = (*env)->GetStringUTFChars(env, options_s, &isCopy);
+  jclass disclass = (*env)->GetObjectClass(env, dis);
+
+  decode_env denv;
+  denv.env = env;
+  denv.dis = dis;
+  denv.visitor = visitor;
+
+  /* find Disassembler.handleEvent callback */
+  denv.handle_event = (*env)->GetMethodID(env, disclass, "handleEvent",
+                                          "(Lsun/jvm/hotspot/asm/InstructionVisitor;Ljava/lang/String;J)J");
+  CHECK_EXCEPTION_CLEAR_VOID
+
+  /* find Disassembler.rawPrint callback */
+  denv.raw_print = (*env)->GetMethodID(env, disclass, "rawPrint",
+                                       "(Lsun/jvm/hotspot/asm/InstructionVisitor;Ljava/lang/String;)V");
+  CHECK_EXCEPTION_CLEAR_VOID
+
+  /* decode the buffer */
+  (*(decode_func)(uintptr_t)decode_instructions_virtual)(startPc,
+                                                         startPc + end - start,
+                                                         (unsigned char*)start,
+                                                         end - start,
+                                                         &event_to_env,  (void*) &denv,
+                                                         &printf_to_env, (void*) &denv,
+                                                         options);
+
+  /* cleanup */
+  (*env)->ReleaseByteArrayElements(env, code, start, JNI_ABORT);
+  (*env)->ReleaseStringUTFChars(env, options_s, options);
+}
--- a/hotspot/agent/src/os/bsd/ps_core.c	Wed Sep 19 12:58:43 2012 +0800
+++ b/hotspot/agent/src/os/bsd/ps_core.c	Fri Oct 26 10:01:13 2012 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2012, 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
@@ -210,7 +210,6 @@
 // mapped.  This structure gets written to a file.  It is not a class,
 // so that the compilers don't add any compiler-private data to it.
 
-// Refer to CompactingPermGenGen::n_regions in compactingPermGenGen.hpp
 #define NUM_SHARED_MAPS 4
 
 // Refer to FileMapInfo::_current_version in filemap.hpp
@@ -234,7 +233,7 @@
     char   _read_only;       // read only space?
     char   _allow_exec;      // executable code in space?
 
-  } _space[NUM_SHARED_MAPS]; // was _space[CompactingPermGenGen::n_regions];
+  } _space[NUM_SHARED_MAPS];
 
   // Ignore the rest of the FileMapHeader. We don't need those fields here.
 };
--- a/hotspot/agent/src/os/linux/Makefile	Wed Sep 19 12:58:43 2012 +0800
+++ b/hotspot/agent/src/os/linux/Makefile	Fri Oct 26 10:01:13 2012 -0700
@@ -36,25 +36,33 @@
 
 INCLUDES = -I${JAVA_HOME}/include -I${JAVA_HOME}/include/linux 
 
-OBJS     = $(SOURCES:.c=.o)
+OBJS     = $(SOURCES:%.c=$(ARCH)/%.o) $(ARCH)/sadis.o
 
 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) $(INCLUDES) -I$(ARCH)
 
 LIBSA = $(ARCH)/libsaproc.so
 
 all: $(LIBSA)
 
-LinuxDebuggerLocal.o: LinuxDebuggerLocal.c
-	$(JAVAH) -jni -classpath ../../../build/classes  \
+$(ARCH):
+       mkdir $(ARCH)
+
+$(ARCH)/LinuxDebuggerLocal.o: LinuxDebuggerLocal.c
+        $(JAVAH) -jni -classpath ../../../build/classes -d $(ARCH) \
 		sun.jvm.hotspot.debugger.x86.X86ThreadContext \
 		sun.jvm.hotspot.debugger.sparc.SPARCThreadContext \
 		sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext 
-	$(GCC) $(CFLAGS) $<
+        $(GCC) $(CFLAGS) $< -o $@
 
-.c.obj:
-	$(GCC) $(CFLAGS)
+$(ARCH)/sadis.o:  ../../share/native/sadis.c
+        $(JAVAH) -jni -classpath ../../../build/classes -d $(ARCH) \
+                sun.jvm.hotspot.asm.Disassembler
+        $(GCC) $(CFLAGS) $< -o $@
+ 
+$(ARCH)/%.o: %.c
+        $(GCC) $(CFLAGS) $< -o $@
 
 ifndef LDNOMAP
   LFLAGS_LIBSA = -Xlinker --version-script=mapfile
@@ -68,9 +76,8 @@
 endif
 LFLAGS_LIBSA += $(LDFLAGS_HASH_STYLE)
 
-$(LIBSA): $(OBJS) mapfile
-	if [ ! -d $(ARCH) ] ; then mkdir $(ARCH) ; fi
-	$(GCC) -shared $(LFLAGS_LIBSA) -o $(LIBSA) $(OBJS) $(LIBS)
+$(LIBSA): $(ARCH) $(OBJS) mapfile
+        $(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
@@ -79,7 +86,4 @@
 	$(GCC) -o test test.o -L$(ARCH) -lsaproc $(LIBS)
 
 clean:
-	rm -rf $(LIBSA)
-	rm -rf $(OBJS)
-	rmdir $(ARCH)
-
+        rm -fr $(ARCH)
--- a/hotspot/agent/src/os/linux/mapfile	Wed Sep 19 12:58:43 2012 +0800
+++ b/hotspot/agent/src/os/linux/mapfile	Fri Oct 26 10:01:13 2012 -0700
@@ -1,7 +1,5 @@
 #
-
-#
-# Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2003, 2012, 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
@@ -22,7 +20,6 @@
 # or visit www.oracle.com if you need additional information or have any
 # questions.
 #  
-#
 
 # Define public interface.
 
@@ -40,6 +37,10 @@
 		Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal_readBytesFromProcess0;
 		Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal_getThreadIntegerRegisterSet0;
 	
+                # Disassembler interface
+                Java_sun_jvm_hotspot_asm_Disassembler_decode;
+                Java_sun_jvm_hotspot_asm_Disassembler_load_1library;
+
 		# proc_service.h functions - to be used by libthread_db
 		ps_getpid;
 		ps_pglobal_lookup;
--- a/hotspot/agent/src/os/linux/ps_core.c	Wed Sep 19 12:58:43 2012 +0800
+++ b/hotspot/agent/src/os/linux/ps_core.c	Fri Oct 26 10:01:13 2012 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2012, 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
@@ -209,7 +209,6 @@
 // mapped.  This structure gets written to a file.  It is not a class,
 // so that the compilers don't add any compiler-private data to it.
 
-// Refer to CompactingPermGenGen::n_regions in compactingPermGenGen.hpp
 #define NUM_SHARED_MAPS 4
 
 // Refer to FileMapInfo::_current_version in filemap.hpp
@@ -233,7 +232,7 @@
     char   _read_only;       // read only space?
     char   _allow_exec;      // executable code in space?
 
-  } _space[NUM_SHARED_MAPS]; // was _space[CompactingPermGenGen::n_regions];
+  } _space[NUM_SHARED_MAPS];
 
   // Ignore the rest of the FileMapHeader. We don't need those fields here.
 };
--- a/hotspot/agent/src/os/solaris/proc/Makefile	Wed Sep 19 12:58:43 2012 +0800
+++ b/hotspot/agent/src/os/solaris/proc/Makefile	Fri Oct 26 10:01:13 2012 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2002, 2009, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2002, 2012, 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
@@ -27,7 +27,7 @@
 #   sparcv9:  Build the 64 bit sparcv9 version in ./sparcv9
 #   i386:     Build the 32 bit i386 version in ./i386
 
-.PHONY: sparc sparcv9 i386
+.PHONY: sparc sparcv9 i386 amd64
 
 ARCH_ORIG = $(shell uname -p)
 
@@ -36,6 +36,8 @@
 MKDIRS := /usr/bin/mkdir -p
 
 CLASSES_DIR = ../../../../build/classes
+SAPROC_INCLUDES=-I${JAVA_HOME}/include -I${JAVA_HOME}/include/solaris
+SADIS=../../../share/native/sadis.c
 
 ifeq "$(ARCH_ORIG)" "i386"
  ALL_TARGET = i386 $(filter amd64,$(shell isalist))
@@ -43,6 +45,11 @@
  ALL_TARGET = sparc sparcv9
 endif
 
+CFLAGS/i386   =
+CFLAGS/amd64  = -xarch=amd64
+CFLAGS/sparc  = -xarch=v8
+CFLAGS/sparv9 = -xarch=v9
+
 all:: $(ALL_TARGET)
 
 javahomecheck::
@@ -51,34 +58,13 @@
 	  exit 1 ; \
         fi
 
-i386:: javahomecheck
+i386 amd64 sparc sparcv9:: javahomecheck
 	$(MKDIRS) $@
-	@javah -classpath $(CLASSES_DIR) -jni sun.jvm.hotspot.debugger.proc.ProcDebuggerLocal
-	CC -G -KPIC -I${JAVA_HOME}/include -I${JAVA_HOME}/include/solaris saproc.cpp \
-           -M mapfile -o $@/libsaproc.so -ldemangle
-	CC -o $@/libsaproc_audit.so -G -Kpic -z defs saproc_audit.cpp -lmapmalloc -ldl -lc 
-
-amd64:: javahomecheck
-	$(MKDIRS) $@
-	@javah -classpath $(CLASSES_DIR) -jni sun.jvm.hotspot.debugger.proc.ProcDebuggerLocal
-	CC -G -KPIC -xarch=amd64 -I${JAVA_HOME}/include -I${JAVA_HOME}/include/solaris saproc.cpp \
-           -M mapfile -o $@/libsaproc.so -ldemangle
-	CC -xarch=amd64 -o $@/libsaproc_audit.so -G -Kpic -z defs saproc_audit.cpp -lmapmalloc -ldl -lc 
-
-sparc:: javahomecheck
-	$(MKDIRS) $@
-	@javah -classpath $(CLASSES_DIR) -jni sun.jvm.hotspot.debugger.proc.ProcDebuggerLocal
-	CC -G -KPIC -xarch=v8  -I${JAVA_HOME}/include -I${JAVA_HOME}/include/solaris saproc.cpp \
-           -M mapfile -o $@/libsaproc.so -ldemangle
-	CC -xarch=v8 -o $@/libsaproc_audit.so -G -Kpic -z defs saproc_audit.cpp -lmapmalloc -ldl -lc 
-
-sparcv9:: javahomecheck
-	$(MKDIRS) $@
-	@javah -classpath $(CLASSES_DIR) -jni sun.jvm.hotspot.debugger.proc.ProcDebuggerLocal
-	CC -G -KPIC -xarch=v9 -I${JAVA_HOME}/include -I${JAVA_HOME}/include/solaris saproc.cpp \
-           -M mapfile -o $@/libsaproc.so -ldemangle
-	CC -xarch=v9 -o $@/libsaproc_audit.so -G -Kpic -z defs saproc_audit.cpp -lmapmalloc -ldl -lc 
+	@$(JAVA_HOME)/bin/javah -classpath $(CLASSES_DIR) -d $@ -jni sun.jvm.hotspot.asm.Disassembler sun.jvm.hotspot.debugger.proc.ProcDebuggerLocal
+	CC $(CFLAGS/$@) -c -g -Kpic ${SAPROC_INCLUDES} -I$@ saproc.cpp -o $@/saproc.o
+	cc $(CFLAGS/$@) -c -g -Kpic ${SAPROC_INCLUDES} -I$@ $(SADIS) -o $@/sadis.o
+	CC $(CFLAGS/$@) -g -G -Kpic $@/saproc.o $@/sadis.o -M mapfile -o $@/libsaproc.so -ldemangle
+	CC $(CFLAGS/$@) -o $@/libsaproc_audit.so -G -Kpic -z defs saproc_audit.cpp -lmapmalloc -ldl -lc 
 
 clean::
-	$(RM) -rf sun_jvm_hotspot_debugger_proc_ProcDebuggerLocal.h
-	$(RM) -rf sparc sparcv9 i386
+	$(RM) -rf sparc sparcv9 i386 amd64
--- a/hotspot/agent/src/os/solaris/proc/mapfile	Wed Sep 19 12:58:43 2012 +0800
+++ b/hotspot/agent/src/os/solaris/proc/mapfile	Fri Oct 26 10:01:13 2012 -0700
@@ -1,7 +1,5 @@
 #
-
-#
-# Copyright (c) 2003, 2009, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2003, 2012, 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
@@ -22,10 +20,8 @@
 # or visit www.oracle.com if you need additional information or have any
 # questions.
 #  
-#
 
 # Define public interface.
-
 SUNWprivate_1.1 {
 	global:
 		Java_sun_jvm_hotspot_debugger_proc_ProcDebuggerLocal_attach0__Ljava_lang_String_2;
@@ -47,6 +43,9 @@
 		Java_sun_jvm_hotspot_debugger_proc_ProcDebuggerLocal_writeBytesToProcess0;