# HG changeset patch # User coleenp # Date 1291246370 18000 # Node ID 3c205c4f1cda1b1f71c1752440c5e0771e607d33 # Parent 01c0559441c85473184ed74431d2daec40466028# Parent 828eafbd85cc26d575f2c398420fbd301df892de Merge diff -r 828eafbd85cc -r 3c205c4f1cda make/defs.make --- a/make/defs.make Wed Dec 01 18:26:32 2010 -0500 +++ b/make/defs.make Wed Dec 01 18:32:50 2010 -0500 @@ -101,15 +101,14 @@ endif ifdef HOTSPOT_BUILD_VERSION -# specified in command line (PRT build) +# specified in command line else - ifdef JPRT_BUILD_VERSION -# JPR build - HOTSPOT_BUILD_VERSION=$(JPRT_BUILD_VERSION) + ifdef COOKED_BUILD_NUMBER +# JRE build + HOTSPOT_BUILD_VERSION= else - ifdef COOKED_BUILD_NUMBER -# JRE build - HOTSPOT_BUILD_VERSION= + ifdef USER_RELEASE_SUFFIX + HOTSPOT_BUILD_VERSION=internal-$(USER_RELEASE_SUFFIX) else HOTSPOT_BUILD_VERSION=internal endif diff -r 828eafbd85cc -r 3c205c4f1cda make/jprt.gmk --- a/make/jprt.gmk Wed Dec 01 18:26:32 2010 -0500 +++ b/make/jprt.gmk Wed Dec 01 18:32:50 2010 -0500 @@ -25,9 +25,6 @@ # JPRT rule to build this workspace JPRT_ARCHIVE_BUNDLE=$(ABS_OUTPUTDIR)/$(JPRT_BUILD_FLAVOR)-bundle.zip -ifdef JPRT_BUILD_VERSION - MILESTONE=$(JPRT_BUILD_VERSION) -endif ifeq ($(OSNAME),windows) ZIPFLAGS=-q diff -r 828eafbd85cc -r 3c205c4f1cda make/linux/makefiles/buildtree.make --- a/make/linux/makefiles/buildtree.make Wed Dec 01 18:26:32 2010 -0500 +++ b/make/linux/makefiles/buildtree.make Wed Dec 01 18:32:50 2010 -0500 @@ -37,7 +37,7 @@ # OS_FAMILY - operating system # VARIANT - core, compiler1, compiler2, or tiered # HOTSPOT_RELEASE_VERSION - .-b (11.0-b07) -# HOTSPOT_BUILD_VERSION - internal, PRTjob ID, JPRTjob ID +# HOTSPOT_BUILD_VERSION - internal, internal-$(USER_RELEASE_SUFFIX) or empty # JRE_RELEASE_VERSION - .. (1.7.0) # # Builds the directory trees with makefiles plus some convenience files in diff -r 828eafbd85cc -r 3c205c4f1cda make/solaris/makefiles/buildtree.make --- a/make/solaris/makefiles/buildtree.make Wed Dec 01 18:26:32 2010 -0500 +++ b/make/solaris/makefiles/buildtree.make Wed Dec 01 18:32:50 2010 -0500 @@ -37,7 +37,7 @@ # OS_FAMILY - operating system # VARIANT - core, compiler1, compiler2, or tiered # HOTSPOT_RELEASE_VERSION - .-b (11.0-b07) -# HOTSPOT_BUILD_VERSION - internal, PRTjob ID, JPRTjob ID +# HOTSPOT_BUILD_VERSION - internal, internal-$(USER_RELEASE_SUFFIX) or empty # JRE_RELEASE_VERSION - .. (1.7.0) # # Builds the directory trees with makefiles plus some convenience files in diff -r 828eafbd85cc -r 3c205c4f1cda make/windows/makefiles/adlc.make --- a/make/windows/makefiles/adlc.make Wed Dec 01 18:26:32 2010 -0500 +++ b/make/windows/makefiles/adlc.make Wed Dec 01 18:32:50 2010 -0500 @@ -46,7 +46,15 @@ ADLCFLAGS=-q -T -U_LP64 !endif -CPP_FLAGS=$(CPP_FLAGS) /D _CRT_SECURE_NO_WARNINGS /D _CRT_SECURE_NO_DEPRECATE +CPP_FLAGS=$(CPP_FLAGS) \ + /D TARGET_OS_FAMILY_windows \ + /D TARGET_ARCH_$(Platform_arch) \ + /D TARGET_ARCH_MODEL_$(Platform_arch_model) \ + /D TARGET_OS_ARCH_windows_$(Platform_arch) \ + /D TARGET_OS_ARCH_MODEL_windows_$(Platform_arch_model) \ + /D TARGET_COMPILER_visCPP + +CPP_FLAGS=$(CPP_FLAGS) /D _CRT_SECURE_NO_WARNINGS /D _CRT_SECURE_NO_DEPRECATE CPP_INCLUDE_DIRS=\ /I "..\generated" \ diff -r 828eafbd85cc -r 3c205c4f1cda make/windows/projectfiles/common/Makefile --- a/make/windows/projectfiles/common/Makefile Wed Dec 01 18:26:32 2010 -0500 +++ b/make/windows/projectfiles/common/Makefile Wed Dec 01 18:32:50 2010 -0500 @@ -65,7 +65,11 @@ !else HOTSPOT_RELEASE_VERSION="$(HS_MAJOR_VER).$(HS_MINOR_VER)-b$(HS_BUILD_NUMBER)" !endif +!if "$(USER_RELEASE_SUFFIX)" != "" +HOTSPOT_BUILD_VERSION$(HOTSPOT_BUILD_VERSION) = internal-$(USER_RELEASE_SUFFIX) +!else HOTSPOT_BUILD_VERSION$(HOTSPOT_BUILD_VERSION) = internal +!endif !if "$(HOTSPOT_BUILD_VERSION)" != "" HOTSPOT_RELEASE_VERSION="$(HOTSPOT_RELEASE_VERSION)-$(HOTSPOT_BUILD_VERSION)" !endif diff -r 828eafbd85cc -r 3c205c4f1cda src/cpu/x86/vm/assembler_x86.cpp --- a/src/cpu/x86/vm/assembler_x86.cpp Wed Dec 01 18:26:32 2010 -0500 +++ b/src/cpu/x86/vm/assembler_x86.cpp Wed Dec 01 18:32:50 2010 -0500 @@ -5538,17 +5538,14 @@ } void MacroAssembler::warn(const char* msg) { - push(r12); - movq(r12, rsp); + push(rsp); andq(rsp, -16); // align stack as required by push_CPU_state and call push_CPU_state(); // keeps alignment at 16 bytes lea(c_rarg0, ExternalAddress((address) msg)); call_VM_leaf(CAST_FROM_FN_PTR(address, warning), c_rarg0); pop_CPU_state(); - - movq(rsp, r12); - pop(r12); + pop(rsp); } #ifndef PRODUCT @@ -5860,6 +5857,10 @@ // debugging support assert(number_of_arguments >= 0 , "cannot have negative number of arguments"); LP64_ONLY(assert(java_thread == r15_thread, "unexpected register")); +#ifdef ASSERT + LP64_ONLY(if (UseCompressedOops) verify_heapbase("call_VM_base");) +#endif // ASSERT + assert(java_thread != oop_result , "cannot use the same register for java_thread & oop_result"); assert(java_thread != last_java_sp, "cannot use the same register for java_thread & last_java_sp"); diff -r 828eafbd85cc -r 3c205c4f1cda src/cpu/x86/vm/interp_masm_x86_64.cpp --- a/src/cpu/x86/vm/interp_masm_x86_64.cpp Wed Dec 01 18:26:32 2010 -0500 +++ b/src/cpu/x86/vm/interp_masm_x86_64.cpp Wed Dec 01 18:32:50 2010 -0500 @@ -449,10 +449,9 @@ // JVMTI events, such as single-stepping, are implemented partly by avoiding running // compiled code in threads for which the event is enabled. Check here for // interp_only_mode if these events CAN be enabled. - get_thread(temp); // interp_only is an int, on little endian it is sufficient to test the byte only - // Is a cmpl faster (ce - cmpb(Address(temp, JavaThread::interp_only_mode_offset()), 0); + // Is a cmpl faster? + cmpb(Address(r15_thread, JavaThread::interp_only_mode_offset()), 0); jcc(Assembler::zero, run_compiled_code); jmp(Address(method, methodOopDesc::interpreter_entry_offset())); bind(run_compiled_code); diff -r 828eafbd85cc -r 3c205c4f1cda src/cpu/x86/vm/templateInterpreter_x86_64.cpp --- a/src/cpu/x86/vm/templateInterpreter_x86_64.cpp Wed Dec 01 18:26:32 2010 -0500 +++ b/src/cpu/x86/vm/templateInterpreter_x86_64.cpp Wed Dec 01 18:32:50 2010 -0500 @@ -1069,7 +1069,7 @@ // runtime call by hand. // __ mov(c_rarg0, r15_thread); - __ mov(r12, rsp); // remember sp + __ mov(r12, rsp); // remember sp (can only use r12 if not using call_VM) __ subptr(rsp, frame::arg_reg_save_area_bytes); // windows __ andptr(rsp, -16); // align stack as required by ABI __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, JavaThread::check_special_condition_for_native_trans))); @@ -1116,7 +1116,7 @@ __ jcc(Assembler::notEqual, no_reguard); __ pusha(); // XXX only save smashed registers - __ mov(r12, rsp); // remember sp + __ mov(r12, rsp); // remember sp (can only use r12 if not using call_VM) __ subptr(rsp, frame::arg_reg_save_area_bytes); // windows __ andptr(rsp, -16); // align stack as required by ABI __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, SharedRuntime::reguard_yellow_pages))); @@ -1907,7 +1907,7 @@ assert(Interpreter::trace_code(t->tos_in()) != NULL, "entry must have been generated"); - __ mov(r12, rsp); // remember sp + __ mov(r12, rsp); // remember sp (can only use r12 if not using call_VM) __ andptr(rsp, -16); // align stack as required by ABI __ call(RuntimeAddress(Interpreter::trace_code(t->tos_in()))); __ mov(rsp, r12); // restore sp diff -r 828eafbd85cc -r 3c205c4f1cda src/cpu/x86/vm/templateTable_x86_64.cpp --- a/src/cpu/x86/vm/templateTable_x86_64.cpp Wed Dec 01 18:26:32 2010 -0500 +++ b/src/cpu/x86/vm/templateTable_x86_64.cpp Wed Dec 01 18:32:50 2010 -0500 @@ -2762,7 +2762,7 @@ // access constant pool cache entry __ get_cache_entry_pointer_at_bcp(c_rarg2, rcx, 1); __ verify_oop(rax); - __ mov(r12, rax); // save object pointer before call_VM() clobbers it + __ push_ptr(rax); // save object pointer before call_VM() clobbers it __ mov(c_rarg1, rax); // c_rarg1: object pointer copied above // c_rarg2: cache entry pointer @@ -2770,8 +2770,7 @@ CAST_FROM_FN_PTR(address, InterpreterRuntime::post_field_access), c_rarg1, c_rarg2); - __ mov(rax, r12); // restore object pointer - __ reinit_heapbase(); + __ pop_ptr(rax); // restore object pointer __ bind(L1); } @@ -3365,10 +3364,7 @@ JVM_CONSTANT_Class); __ jcc(Assembler::equal, quicked); __ push(atos); // save receiver for result, and for GC - __ mov(r12, rcx); // save rcx XXX call_VM(rax, CAST_FROM_FN_PTR(address, InterpreterRuntime::quicken_io_cc)); - __ movq(rcx, r12); // restore rcx XXX - __ reinit_heapbase(); __ pop_ptr(rdx); // restore receiver __ jmpb(resolved); @@ -3422,11 +3418,9 @@ __ jcc(Assembler::equal, quicked); __ push(atos); // save receiver for result, and for GC - __ mov(r12, rcx); // save rcx call_VM(rax, CAST_FROM_FN_PTR(address, InterpreterRuntime::quicken_io_cc)); - __ movq(rcx, r12); // restore rcx - __ reinit_heapbase(); __ pop_ptr(rdx); // restore receiver + __ verify_oop(rdx); __ load_klass(rdx, rdx); __ jmpb(resolved);