Mercurial > hg > openjdk > jdk6 > hotspot
changeset 3812:6b0f17814138 jdk7u6-b14
Merge
author | amurillo |
---|---|
date | Fri, 08 Jun 2012 13:16:34 -0700 |
parents | 25ed7b390a12 (current diff) f681327b10b6 (diff) |
children | 55e66d61e481 |
files | .hgtags make/hotspot_version src/os/windows/vm/os_windows.cpp |
diffstat | 7 files changed, 35 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgtags Wed Jun 06 18:39:20 2012 -0700 +++ b/.hgtags Fri Jun 08 13:16:34 2012 -0700 @@ -294,3 +294,4 @@ f08a3a0e60c32cb0e8350e72fdc54849759096a4 jdk7u6-b12 7a8d3cd6562170f4c262e962270f679ac503f456 hs23.2-b04 28746e6d615f27816f483485a53b790c7a463f0c jdk7u6-b13 +202880d633e646d4936798d0fba6efc0cab04dc8 hs23.2-b05
--- a/make/hotspot_version Wed Jun 06 18:39:20 2012 -0700 +++ b/make/hotspot_version Fri Jun 08 13:16:34 2012 -0700 @@ -35,7 +35,7 @@ HS_MAJOR_VER=23 HS_MINOR_VER=2 -HS_BUILD_NUMBER=04 +HS_BUILD_NUMBER=05 JDK_MAJOR_VER=1 JDK_MINOR_VER=7
--- a/make/jprt.properties Wed Jun 06 18:39:20 2012 -0700 +++ b/make/jprt.properties Fri Jun 08 13:16:34 2012 -0700 @@ -356,12 +356,12 @@ ${jprt.my.macosx.x64}-{product|fastdebug}-c2-GCOld_ParNewGC, \ ${jprt.my.macosx.x64}-{product|fastdebug}-c2-GCOld_CMS, \ ${jprt.my.macosx.x64}-{product|fastdebug}-c2-GCOld_G1, \ - ${jprt.my.macosx.x64}-{product|fastdebug}-c2-GCOld_ParOldGC -# ${jprt.my.macosx.x64}-{product|fastdebug}-c2-jbb_default, \ -# ${jprt.my.macosx.x64}-{product|fastdebug}-c2-jbb_default_tiered, \ -# ${jprt.my.macosx.x64}-{product|fastdebug}-c2-jbb_ParallelGC, \ -# ${jprt.my.macosx.x64}-{product|fastdebug}-c2-jbb_G1, \ -# ${jprt.my.macosx.x64}-{product|fastdebug}-c2-jbb_ParOldGC + ${jprt.my.macosx.x64}-{product|fastdebug}-c2-GCOld_ParOldGC, \ + ${jprt.my.macosx.x64}-{product|fastdebug}-c2-jbb_default, \ + ${jprt.my.macosx.x64}-{product|fastdebug}-c2-jbb_default_nontiered, \ + ${jprt.my.macosx.x64}-{product|fastdebug}-c2-jbb_ParallelGC, \ + ${jprt.my.macosx.x64}-{product|fastdebug}-c2-jbb_G1, \ + ${jprt.my.macosx.x64}-{product|fastdebug}-c2-jbb_ParOldGC jprt.my.windows.i586.test.targets = \ ${jprt.my.windows.i586}-{product|fastdebug}-{c1|c2}-jvm98, \ @@ -505,3 +505,6 @@ jprt.make.rule.test.targets.jdk7u6=${jprt.make.rule.test.targets.jdk7} jprt.make.rule.test.targets=${jprt.make.rule.test.targets.${jprt.tools.default.release}} +# 7155453: Work-around to prevent popups on OSX from blocking test completion +# but the work-around is added to all platforms to be consistent +jprt.jbb.options=-Djava.awt.headless=true
--- a/src/os/windows/vm/os_windows.cpp Wed Jun 06 18:39:20 2012 -0700 +++ b/src/os/windows/vm/os_windows.cpp Fri Jun 08 13:16:34 2012 -0700 @@ -1601,7 +1601,8 @@ case 5001: st->print(" Windows XP"); break; case 5002: case 6000: - case 6001: { + case 6001: + case 6002: { // Retrieve SYSTEM_INFO from GetNativeSystemInfo call so that we could // find out whether we are running on 64 bit processor or not. SYSTEM_INFO si; @@ -1633,6 +1634,14 @@ } if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64) st->print(" , 64 bit"); + } else if (os_vers == 6002) { + if (osvi.wProductType == VER_NT_WORKSTATION) { + st->print(" Windows 8"); + } else { + st->print(" Windows Server 2012"); + } + if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64) + st->print(" , 64 bit"); } else { // future os // Unrecognized windows, print out its major and minor versions st->print(" Windows NT %d.%d", osvi.dwMajorVersion, osvi.dwMinorVersion);
--- a/src/share/vm/c1/c1_ValueMap.hpp Wed Jun 06 18:39:20 2012 -0700 +++ b/src/share/vm/c1/c1_ValueMap.hpp Fri Jun 08 13:16:34 2012 -0700 @@ -141,8 +141,11 @@ // visitor functions void do_StoreField (StoreField* x) { - if (x->is_init_point()) { - // putstatic is an initialization point so treat it as a wide kill + if (x->is_init_point() || // putstatic is an initialization point so treat it as a wide kill + // This is actually too strict and the JMM doesn't require + // this in all cases (e.g. load a; volatile store b; load a) + // but possible future optimizations might require this. + x->field()->is_volatile()) { kill_memory(); } else { kill_field(x->field()); @@ -160,8 +163,8 @@ void do_Local (Local* x) { /* nothing to do */ } void do_Constant (Constant* x) { /* nothing to do */ } void do_LoadField (LoadField* x) { - if (x->is_init_point()) { - // getstatic is an initialization point so treat it as a wide kill + if (x->is_init_point() || // getstatic is an initialization point so treat it as a wide kill + x->field()->is_volatile()) { // the JMM requires this kill_memory(); } }
--- a/src/share/vm/classfile/verifier.cpp Wed Jun 06 18:39:20 2012 -0700 +++ b/src/share/vm/classfile/verifier.cpp Fri Jun 08 13:16:34 2012 -0700 @@ -1738,10 +1738,14 @@ int target = bci + default_offset; stackmap_table->check_jump_target(current_frame, target, CHECK_VERIFY(this)); for (int i = 0; i < keys; i++) { + // Because check_jump_target() may safepoint, the bytecode could have + // moved, which means 'aligned_bcp' is no good and needs to be recalculated. + aligned_bcp = (address)round_to((intptr_t)(bcs->bcp() + 1), jintSize); target = bci + (jint)Bytes::get_Java_u4(aligned_bcp+(3+i*delta)*jintSize); stackmap_table->check_jump_target( current_frame, target, CHECK_VERIFY(this)); } + NOT_PRODUCT(aligned_bcp = NULL); // no longer valid at this point } bool ClassVerifier::name_in_supers(
--- a/src/share/vm/prims/jni.cpp Wed Jun 06 18:39:20 2012 -0700 +++ b/src/share/vm/prims/jni.cpp Fri Jun 08 13:16:34 2012 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 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 @@ -378,6 +378,7 @@ jclass cls = NULL; DT_RETURN_MARK(DefineClass, jclass, (const jclass&)cls); + TempNewSymbol class_name = NULL; // Since exceptions can be thrown, class initialization can take place // if name is NULL no check for class name in .class stream has to be made. if (name != NULL) { @@ -387,9 +388,8 @@ // into the constant pool. THROW_MSG_0(vmSymbols::java_lang_NoClassDefFoundError(), name); } + class_name = SymbolTable::new_symbol(name, CHECK_NULL); } - TempNewSymbol class_name = SymbolTable::new_symbol(name, THREAD); - ResourceMark rm(THREAD); ClassFileStream st((u1*) buf, bufLen, NULL); Handle class_loader (THREAD, JNIHandles::resolve(loaderRef));