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 $?