Mercurial > hg > release > icedtea7-forest-2.0 > hotspot
changeset 2634:6844f4ba31ea
Merge
author | andrew |
---|---|
date | Mon, 11 Jul 2011 22:05:46 +0100 |
parents | f7e8b10f51c6 (diff) 9b0ca45cd756 (current diff) |
children | 5d5c6ef3435d 658d513412c7 |
files | .hgtags src/cpu/zero/vm/cppInterpreter_zero.cpp src/share/vm/ci/ciEnv.cpp src/share/vm/classfile/systemDictionary.cpp src/share/vm/compiler/compileBroker.cpp src/share/vm/opto/cfgnode.cpp src/share/vm/opto/library_call.cpp src/share/vm/runtime/globals.hpp |
diffstat | 12 files changed, 135 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgtags Tue Jun 28 10:57:38 2011 -0700 +++ b/.hgtags Mon Jul 11 22:05:46 2011 +0100 @@ -50,6 +50,7 @@ faf94d94786b621f8e13cbcc941ca69c6d967c3f jdk7-b73 f4b900403d6e4b0af51447bd13bbe23fe3a1dac7 jdk7-b74 d8dd291a362acb656026a9c0a9da48501505a1e7 jdk7-b75 +b4ab978ce52c41bb7e8ee86285e6c9f28122bbe1 icedtea7-1.12 9174bb32e934965288121f75394874eeb1fcb649 jdk7-b76 455105fc81d941482f8f8056afaa7aa0949c9300 jdk7-b77 e703499b4b51e3af756ae77c3d5e8b3058a14e4e jdk7-b78 @@ -87,6 +88,7 @@ 07226e9eab8f74b37346b32715f829a2ef2c3188 hs18-b01 e7e7e36ccdb5d56edd47e5744351202d38f3b7ad jdk7-b87 4b60f23c42231f7ecd62ad1fcb6a9ca26fa57d1b jdk7-b88 +a393ff93e7e54dd94cc4211892605a32f9c77dad icedtea7-1.13 15836273ac2494f36ef62088bc1cb6f3f011f565 jdk7-b89 4b60f23c42231f7ecd62ad1fcb6a9ca26fa57d1b hs18-b02 605c9707a766ff518cd841fc04f9bb4b36a3a30b jdk7-b90 @@ -160,6 +162,7 @@ b898f0fc3cedc972d884d31a751afd75969531cf hs21-b05 bd586e392d93b7ed7a1636dcc8da2b6a4203a102 jdk7-b136 bd586e392d93b7ed7a1636dcc8da2b6a4203a102 hs21-b06 +591c7dc0b2ee879f87a7b5519a5388e0d81520be icedtea-1.14 2dbcb4a4d8dace5fe78ceb563b134f1fb296cd8f jdk7-b137 2dbcb4a4d8dace5fe78ceb563b134f1fb296cd8f hs21-b07 0930dc920c185afbf40fed9a655290b8e5b16783 jdk7-b138
--- a/make/linux/Makefile Tue Jun 28 10:57:38 2011 -0700 +++ b/make/linux/Makefile Mon Jul 11 22:05:46 2011 +0100 @@ -230,7 +230,7 @@ # Solaris 2.5.1, 2.6). # Disable this check by setting DISABLE_HOTSPOT_OS_VERSION_CHECK=ok. -SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 2.7% +SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 3% OS_VERSION := $(shell uname -r) EMPTY_IF_NOT_SUPPORTED = $(filter $(SUPPORTED_OS_VERSION),$(OS_VERSION))
--- a/make/linux/makefiles/vm.make Tue Jun 28 10:57:38 2011 -0700 +++ b/make/linux/makefiles/vm.make Mon Jul 11 22:05:46 2011 +0100 @@ -92,6 +92,14 @@ ${JRE_VERSION} \ ${VM_DISTRO} +ifdef DERIVATIVE_ID +CPPFLAGS += -DDERIVATIVE_ID="\"$(DERIVATIVE_ID)\"" +endif + +ifdef DISTRIBUTION_ID +CPPFLAGS += -DDISTRIBUTION_ID="\"$(DISTRIBUTION_ID)\"" +endif + # CFLAGS_WARN holds compiler options to suppress/enable warnings. CFLAGS += $(CFLAGS_WARN/BYFILE) @@ -213,13 +221,15 @@ vm.def: $(Res_Files) $(Obj_Files) sh $(GAMMADIR)/make/linux/makefiles/build_vm_def.sh *.o > $@ -ifeq ($(SHARK_BUILD), true) - STATIC_CXX = false -else - ifeq ($(ZERO_LIBARCH), ppc64) +ifeq ($(STATIC_CXX),) + ifeq ($(SHARK_BUILD), true) STATIC_CXX = false else - STATIC_CXX = true + ifeq ($(ZERO_LIBARCH), ppc64) + STATIC_CXX = false + else + STATIC_CXX = true + endif endif endif
--- a/make/solaris/makefiles/vm.make Tue Jun 28 10:57:38 2011 -0700 +++ b/make/solaris/makefiles/vm.make Mon Jul 11 22:05:46 2011 +0100 @@ -79,6 +79,14 @@ ${JRE_VERSION} \ ${VM_DISTRO} +ifdef DERIVATIVE_ID +CPPFLAGS += -DDERIVATIVE_ID="\"$(DERIVATIVE_ID)\"" +endif + +ifdef DISTRIBUTION_ID +CPPFLAGS += -DDISTRIBUTION_ID="\"$(DISTRIBUTION_ID)\"" +endif + # CFLAGS_WARN holds compiler options to suppress/enable warnings. CFLAGS += $(CFLAGS_WARN)
--- a/make/windows/makefiles/vm.make Tue Jun 28 10:57:38 2011 -0700 +++ b/make/windows/makefiles/vm.make Mon Jul 11 22:05:46 2011 +0100 @@ -79,6 +79,14 @@ # Define that so jni.h is on correct side CPP_FLAGS=$(CPP_FLAGS) /D "_JNI_IMPLEMENTATION_" +!ifdef DERIVATIVE_ID +CPP_FLAGS = $(CPP_FLAGS) /D "DERIVATIVE_ID=\"$(DERIVATIVE_ID)\"" +!endif + +!ifdef DISTRIBUTION_ID +CPP_FLAGS = $(CPP_FLAGS) /D "DISTRIBUTION_ID=\"$(DISTRIBUTION_ID)\"" +!endif + !if "$(BUILDARCH)" == "ia64" STACK_SIZE="/STACK:1048576,262144" !else
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/cpu/zero/vm/deoptimizerFrame_zero.hpp Mon Jul 11 22:05:46 2011 +0100 @@ -0,0 +1,53 @@ +/* + * Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2008 Red Hat, Inc. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + * + */ + +// | ... | +// +--------------------+ ------------------ +// | frame_type | low addresses +// | next_frame | high addresses +// +--------------------+ ------------------ +// | ... | + +class DeoptimizerFrame : public ZeroFrame { + private: + DeoptimizerFrame() : ZeroFrame() { + ShouldNotCallThis(); + } + + protected: + enum Layout { + header_words = jf_header_words + }; + + public: + static DeoptimizerFrame *build(ZeroStack* stack); + + public: + void identify_word(int frame_index, + int offset, + char* fieldbuf, + char* valuebuf, + int buflen) const; +};
--- a/src/share/vm/classfile/systemDictionary.cpp Tue Jun 28 10:57:38 2011 -0700 +++ b/src/share/vm/classfile/systemDictionary.cpp Mon Jul 11 22:05:46 2011 +0100 @@ -2225,7 +2225,6 @@ // Better never do a GC while we're holding these oops No_Safepoint_Verifier nosafepoint; - klassOop klass1 = find_class(d_index1, d_hash1, constraint_name, class_loader1); klassOop klass2 = find_class(d_index2, d_hash2, constraint_name, class_loader2); return constraints()->add_entry(constraint_name, klass1, class_loader1,
--- a/src/share/vm/opto/cfgnode.cpp Tue Jun 28 10:57:38 2011 -0700 +++ b/src/share/vm/opto/cfgnode.cpp Mon Jul 11 22:05:46 2011 +0100 @@ -938,6 +938,8 @@ { assert(ft == _type, ""); } // Uplift to interface else if( !t->empty() && ttkp && ttkp->is_loaded() && ttkp->klass()->is_interface() ) { assert(ft == _type, ""); } // Uplift to interface + else if( !t->empty() && ttkp && ttkp->is_loaded() && ttkp->klass()->is_interface() ) + { assert(ft == _type, ""); } // Uplift to interface // Otherwise it's something stupid like non-overlapping int ranges // found on dying counted loops. else
--- a/src/share/vm/opto/type.cpp Tue Jun 28 10:57:38 2011 -0700 +++ b/src/share/vm/opto/type.cpp Mon Jul 11 22:05:46 2011 +0100 @@ -2573,6 +2573,8 @@ return kills; // Uplift to interface if (!empty() && ktkp != NULL && ktkp->klass()->is_loaded() && ktkp->klass()->is_interface()) return kills; // Uplift to interface + if (!empty() && ktkp != NULL && ktkp->klass()->is_loaded() && ktkp->klass()->is_interface()) + return kills; // Uplift to interface return Type::TOP; // Canonical empty value }
--- a/src/share/vm/runtime/arguments.cpp Tue Jun 28 10:57:38 2011 -0700 +++ b/src/share/vm/runtime/arguments.cpp Mon Jul 11 22:05:46 2011 +0100 @@ -59,8 +59,7 @@ #include "gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp" #endif -// Note: This is a special bug reporting site for the JVM -#define DEFAULT_VENDOR_URL_BUG "http://bugreport.sun.com/bugreport/crash.jsp" +#define DEFAULT_VENDOR_URL_BUG "http://icedtea.classpath.org/bugzilla" #define DEFAULT_JAVA_LAUNCHER "generic" char** Arguments::_jvm_flags_array = NULL;
--- a/src/share/vm/utilities/vmError.cpp Tue Jun 28 10:57:38 2011 -0700 +++ b/src/share/vm/utilities/vmError.cpp Mon Jul 11 22:05:46 2011 +0100 @@ -186,7 +186,8 @@ static void print_bug_submit_message(outputStream *out, Thread *thread) { if (out == NULL) return; - out->print_raw_cr("# If you would like to submit a bug report, please visit:"); + out->print_raw_cr("# If you would like to submit a bug report, please include"); + out->print_raw_cr("# instructions on how to reproduce the bug and visit:"); out->print_raw ("# "); out->print_raw_cr(Arguments::java_vendor_url_bug()); // If the crash is in native code, encourage user to submit a bug to the @@ -452,6 +453,13 @@ UseCompressedOops ? "compressed oops" : "" ); +#ifdef DERIVATIVE_ID + st->print_cr("# Derivative: %s", DERIVATIVE_ID); +#endif +#ifdef DISTRIBUTION_ID + st->print_cr("# Distribution: %s", DISTRIBUTION_ID); +#endif + STEP(60, "(printing problematic frame)") // Print current frame if we have a context (i.e. it's a crash)
--- a/test/runtime/6929067/Test6929067.sh Tue Jun 28 10:57:38 2011 -0700 +++ b/test/runtime/6929067/Test6929067.sh Mon Jul 11 22:05:46 2011 +0100 @@ -42,7 +42,31 @@ ;; esac -LD_LIBRARY_PATH=.:${TESTJAVA}/jre/lib/i386/client:/usr/openwin/lib:/usr/dt/lib:/usr/lib:$LD_LIBRARY_PATH +COMP_FLAG="-m32" + +# Test if JDK is 32 or 64 bits +${TESTJAVA}/bin/java -d64 -version 2> /dev/null + +if [ $? -eq 0 ] +then + COMP_FLAG="-m64" +fi + +# Get ARCH specifics +ARCH=`uname -m` +case "$ARCH" in + x86_64) + ARCH=amd64 + ;; + i586) + ARCH=i386 + ;; + i686) + ARCH=i386 +esac + +LD_LIBRARY_PATH=.:${TESTJAVA}/jre/lib/${ARCH}/client:${TESTJAVA}/jre/lib/${ARCH}/server:/usr/openwin/lib:/usr/dt/lib:/usr/lib:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH THIS_DIR=`pwd` @@ -55,6 +79,13 @@ ${TESTJAVA}${FS}bin${FS}javac T.java -gcc -o invoke -I${TESTJAVA}/include -I${TESTJAVA}/include/linux invoke.c ${TESTJAVA}/jre/lib/i386/client/libjvm.so +echo "Architecture: ${ARCH}" +echo "Compilation flag: ${COMP_FLAG}" + +gcc ${COMP_FLAG} -o invoke \ +-L${TESTJAVA}/jre/lib/${ARCH}/client \ +-L${TESTJAVA}/jre/lib/${ARCH}/server \ +-ljvm -lpthread -I${TESTJAVA}/include -I${TESTJAVA}/include/linux invoke.c + ./invoke exit $?