# HG changeset patch # User kvn # Date 1286399912 25200 # Node ID 22e4420d19f7d600bcb28f4d68a16f3a084ac7f0 # Parent 1c52033222eba5387abffc0405d84cc5b512c4fe# Parent a50abfc67f31d8b38efc1dcb9770628cd2edab3a Merge diff -r a50abfc67f31 -r 22e4420d19f7 .hgtags --- a/.hgtags Tue Oct 05 17:38:40 2010 -0700 +++ b/.hgtags Wed Oct 06 14:18:32 2010 -0700 @@ -117,3 +117,9 @@ bf496cbe9b74dda5975a1559da7ecfdd313e509e jdk7-b107 0000000000000000000000000000000000000000 hs19-b06 6c43216df13513a0f96532aa06f213066c49e27b hs19-b06 +e44a93947ccbfce712b51725f313163606f15486 jdk7-b108 +cc4bb3022b3144dc5db0805b9ef6c7eff2aa3b81 jdk7-b109 +2f25f2b8de2700a1822463b1bd3d02b5e218018f jdk7-b110 +07b042e13dde4f3479ba9ec55120fcd5e8623323 jdk7-b111 +5511edd5d719f3fc9fdd04879482026a3d2c8652 jdk7-b112 +5511edd5d719f3fc9fdd04879482026a3d2c8652 hs20-b01 diff -r a50abfc67f31 -r 22e4420d19f7 make/linux/makefiles/sa.make --- a/make/linux/makefiles/sa.make Tue Oct 05 17:38:40 2010 -0700 +++ b/make/linux/makefiles/sa.make Wed Oct 06 14:18:32 2010 -0700 @@ -68,7 +68,7 @@ $(MAKE) -f sa.make $(GENERATED)/sa-jdi.jar; \ fi -$(GENERATED)/sa-jdi.jar: $(AGENT_FILES1) $(AGENT_FILES2) agent_files_preclean +$(GENERATED)/sa-jdi.jar: $(AGENT_FILES1) $(AGENT_FILES2) $(QUIETLY) echo "Making $@" $(QUIETLY) if [ "$(BOOT_JAVA_HOME)" = "" ]; then \ echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \ @@ -83,6 +83,17 @@ mkdir -p $(SA_CLASSDIR); \ fi +# Note: When indented, make tries to execute the '$(shell' comment. +# In some environments, cmd processors have limited line length. +# To prevent the javac invocation in the next block from using +# a very long cmd line, we use javac's @file-list option. We +# generate the file lists using make's built-in 'foreach' control +# flow which also avoids cmd processor line length issues. Since +# the 'foreach' is done as part of make's macro expansion phase, +# the initialization of the lists is also done in the same phase +# using '$(shell rm ...' instead of using the more traditional +# 'rm ...' rule. + $(shell rm -rf $(AGENT_FILES1_LIST) $(AGENT_FILES2_LIST)) $(foreach file,$(AGENT_FILES1),$(shell echo $(file) >> $(AGENT_FILES1_LIST))) $(foreach file,$(AGENT_FILES2),$(shell echo $(file) >> $(AGENT_FILES2_LIST))) @@ -104,9 +115,6 @@ $(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext $(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.sparc.SPARCThreadContext -agent_files_preclean: - rm -rf $(AGENT_FILES1_LIST) $(AGENT_FILES2_LIST) - clean: rm -rf $(SA_CLASSDIR) rm -rf $(GENERATED)/sa-jdi.jar diff -r a50abfc67f31 -r 22e4420d19f7 make/solaris/makefiles/dtrace.make --- a/make/solaris/makefiles/dtrace.make Tue Oct 05 17:38:40 2010 -0700 +++ b/make/solaris/makefiles/dtrace.make Wed Oct 06 14:18:32 2010 -0700 @@ -165,7 +165,7 @@ $(DTRACE.o): $(DTRACE).d $(JVMOFFS).h $(JVMOFFS)Index.h $(DTraced_Files) @echo Compiling $(DTRACE).d - $(QUIETLY) $(DTRACE_PROG) $(DTRACE_OPTS) -C -I. -G -o $@ -s $(DTRACE).d \ + $(QUIETLY) $(DTRACE_PROG) $(DTRACE_OPTS) -C -I. -G -xlazyload -o $@ -s $(DTRACE).d \ $(DTraced_Files) ||\ STATUS=$$?;\ if [ x"$$STATUS" = x"1" -a \ diff -r a50abfc67f31 -r 22e4420d19f7 make/solaris/makefiles/sa.make --- a/make/solaris/makefiles/sa.make Tue Oct 05 17:38:40 2010 -0700 +++ b/make/solaris/makefiles/sa.make Wed Oct 06 14:18:32 2010 -0700 @@ -59,7 +59,7 @@ $(MAKE) -f sa.make $(GENERATED)/sa-jdi.jar; \ fi -$(GENERATED)/sa-jdi.jar: $(AGENT_FILES1) $(AGENT_FILES2) agent_files_preclean +$(GENERATED)/sa-jdi.jar: $(AGENT_FILES1) $(AGENT_FILES2) $(QUIETLY) echo "Making $@"; $(QUIETLY) if [ "$(BOOT_JAVA_HOME)" = "" ]; then \ echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \ @@ -74,6 +74,17 @@ mkdir -p $(SA_CLASSDIR); \ fi +# Note: When indented, make tries to execute the '$(shell' comment. +# In some environments, cmd processors have limited line length. +# To prevent the javac invocation in the next block from using +# a very long cmd line, we use javac's @file-list option. We +# generate the file lists using make's built-in 'foreach' control +# flow which also avoids cmd processor line length issues. Since +# the 'foreach' is done as part of make's macro expansion phase, +# the initialization of the lists is also done in the same phase +# using '$(shell rm ...' instead of using the more traditional +# 'rm ...' rule. + $(shell rm -rf $(AGENT_FILES1_LIST) $(AGENT_FILES2_LIST)) $(foreach file,$(AGENT_FILES1),$(shell echo $(file) >> $(AGENT_FILES1_LIST))) $(foreach file,$(AGENT_FILES2),$(shell echo $(file) >> $(AGENT_FILES2_LIST))) @@ -92,9 +103,6 @@ $(QUIETLY) $(RUN.JAR) uf $@ -C $(AGENT_SRC_DIR) META-INF/services/com.sun.jdi.connect.Connector $(QUIETLY) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.proc.ProcDebuggerLocal -agent_files_preclean: - rm -rf $(AGENT_FILES1_LIST) $(AGENT_FILES2_LIST) - clean: rm -rf $(SA_CLASSDIR) rm -rf $(GENERATED)/sa-jdi.jar diff -r a50abfc67f31 -r 22e4420d19f7 make/templates/bsd-header --- a/make/templates/bsd-header Tue Oct 05 17:38:40 2010 -0700 +++ b/make/templates/bsd-header Wed Oct 06 14:18:32 2010 -0700 @@ -1,4 +1,4 @@ -Copyright %YEARS% Oracle and/or its affiliates. All rights reserved. +Copyright (c) %YEARS%, Oracle and/or its affiliates. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions diff -r a50abfc67f31 -r 22e4420d19f7 make/templates/gpl-cp-header --- a/make/templates/gpl-cp-header Tue Oct 05 17:38:40 2010 -0700 +++ b/make/templates/gpl-cp-header Wed Oct 06 14:18:32 2010 -0700 @@ -1,4 +1,4 @@ -Copyright %YEARS% Oracle and/or its affiliates. All rights reserved. +Copyright (c) %YEARS%, 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 diff -r a50abfc67f31 -r 22e4420d19f7 make/templates/gpl-header --- a/make/templates/gpl-header Tue Oct 05 17:38:40 2010 -0700 +++ b/make/templates/gpl-header Wed Oct 06 14:18:32 2010 -0700 @@ -1,4 +1,4 @@ -Copyright %YEARS% Oracle and/or its affiliates. All rights reserved. +Copyright (c) %YEARS%, 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 diff -r a50abfc67f31 -r 22e4420d19f7 src/cpu/x86/vm/c1_LIRAssembler_x86.cpp --- a/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp Tue Oct 05 17:38:40 2010 -0700 +++ b/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp Wed Oct 06 14:18:32 2010 -0700 @@ -1618,8 +1618,7 @@ void LIR_Assembler::type_profile_helper(Register mdo, ciMethodData *md, ciProfileData *data, Register recv, Label* update_done) { - uint i; - for (i = 0; i < ReceiverTypeData::row_limit(); i++) { + for (uint i = 0; i < ReceiverTypeData::row_limit(); i++) { Label next_test; // See if the receiver is receiver[n]. __ cmpptr(recv, Address(mdo, md->byte_offset_of_slot(data, ReceiverTypeData::receiver_offset(i)))); @@ -1631,7 +1630,7 @@ } // Didn't find receiver; find next empty slot and fill it in - for (i = 0; i < ReceiverTypeData::row_limit(); i++) { + for (uint i = 0; i < ReceiverTypeData::row_limit(); i++) { Label next_test; Address recv_addr(mdo, md->byte_offset_of_slot(data, ReceiverTypeData::receiver_offset(i))); __ cmpptr(recv_addr, (intptr_t)NULL_WORD); diff -r a50abfc67f31 -r 22e4420d19f7 src/share/vm/classfile/verificationType.cpp --- a/src/share/vm/classfile/verificationType.cpp Tue Oct 05 17:38:40 2010 -0700 +++ b/src/share/vm/classfile/verificationType.cpp Wed Oct 06 14:18:32 2010 -0700 @@ -54,10 +54,12 @@ // any object or array is assignable to java.lang.Object return true; } - klassOop this_class = SystemDictionary::resolve_or_fail( + klassOop obj = SystemDictionary::resolve_or_fail( name_handle(), Handle(THREAD, context->class_loader()), Handle(THREAD, context->protection_domain()), true, CHECK_false); - if (this_class->klass_part()->is_interface()) { + KlassHandle this_class(THREAD, obj); + + if (this_class->is_interface()) { // We treat interfaces as java.lang.Object, including // java.lang.Cloneable and java.io.Serializable return true; @@ -65,7 +67,7 @@ klassOop from_class = SystemDictionary::resolve_or_fail( from.name_handle(), Handle(THREAD, context->class_loader()), Handle(THREAD, context->protection_domain()), true, CHECK_false); - return instanceKlass::cast(from_class)->is_subclass_of(this_class); + return instanceKlass::cast(from_class)->is_subclass_of(this_class()); } } else if (is_array() && from.is_array()) { VerificationType comp_this = get_component(CHECK_false); diff -r a50abfc67f31 -r 22e4420d19f7 src/share/vm/runtime/arguments.cpp --- a/src/share/vm/runtime/arguments.cpp Tue Oct 05 17:38:40 2010 -0700 +++ b/src/share/vm/runtime/arguments.cpp Wed Oct 06 14:18:32 2010 -0700 @@ -120,7 +120,7 @@ PropertyList_add(&_system_properties, new SystemProperty("java.vm.specification.name", "Java Virtual Machine Specification", false)); PropertyList_add(&_system_properties, new SystemProperty("java.vm.specification.vendor", - "Sun Microsystems Inc.", false)); + JDK_Version::is_gte_jdk17x_version() ? "Oracle Corporation" : "Sun Microsystems Inc.", false)); PropertyList_add(&_system_properties, new SystemProperty("java.vm.version", VM_Version::vm_release(), false)); PropertyList_add(&_system_properties, new SystemProperty("java.vm.name", VM_Version::vm_name(), false)); PropertyList_add(&_system_properties, new SystemProperty("java.vm.vendor", VM_Version::vm_vendor(), false)); diff -r a50abfc67f31 -r 22e4420d19f7 src/share/vm/runtime/vm_version.cpp --- a/src/share/vm/runtime/vm_version.cpp Tue Oct 05 17:38:40 2010 -0700 +++ b/src/share/vm/runtime/vm_version.cpp Wed Oct 06 14:18:32 2010 -0700 @@ -121,7 +121,8 @@ #ifdef VENDOR return XSTR(VENDOR); #else - return "Sun Microsystems Inc."; + return JDK_Version::is_gte_jdk17x_version() ? + "Oracle Corporation" : "Sun Microsystems Inc."; #endif } diff -r a50abfc67f31 -r 22e4420d19f7 test/runtime/6626217/Test6626217.sh --- a/test/runtime/6626217/Test6626217.sh Tue Oct 05 17:38:40 2010 -0700 +++ b/test/runtime/6626217/Test6626217.sh Wed Oct 06 14:18:32 2010 -0700 @@ -1,9 +1,27 @@ -# -# Copyright 2009 Sun Microsystems, Inc. All rights reserved. -# SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. -# +# +# Copyright (c) 1998, 2010, 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. +# -# + # @test @(#)Test6626217.sh # @bug 6626217 # @summary Loader-constraint table allows arrays instead of only the base-classes @@ -96,6 +114,6 @@ ${RM} many_loader.java ${JAVA} ${BIT_FLAG} -Xverify -Xint -cp . bug_21227 >test.out 2>&1 -grep "violates loader constraints" test.out +grep "loader constraint" test.out exit $?