Mercurial > hg > icedtea12
changeset 1658:c5e17bb7fead
Merge.
author | Andrew John Hughes <ahughes@redhat.com> |
---|---|
date | Fri, 20 Feb 2009 12:42:30 +0000 |
parents | f1fad53c5ab1 (current diff) 92c4cc753f06 (diff) |
children | 30c6aac0bf08 |
files | ChangeLog configure.ac patches/hotspot/default/14.0b08/icedtea-6791168.patch patches/hotspot/default/14.0b08/icedtea-bytecodeInterpreter.patch patches/hotspot/default/14.0b08/icedtea-core-build.patch patches/hotspot/default/14.0b08/icedtea-debuginfo.patch patches/hotspot/default/14.0b08/icedtea-format.patch patches/hotspot/default/14.0b08/icedtea-gcc-4.3.patch patches/hotspot/default/14.0b08/icedtea-gcc-suffix.patch patches/hotspot/default/14.0b08/icedtea-headers.patch patches/hotspot/default/14.0b08/icedtea-includedb.patch patches/hotspot/default/14.0b08/icedtea-memory-limits.patch patches/hotspot/default/14.0b08/icedtea-no-precompiled.patch patches/hotspot/default/14.0b08/icedtea-params-cast-size_t.patch patches/hotspot/default/14.0b08/icedtea-parisc-opt.patch patches/hotspot/default/14.0b08/icedtea-shark-build.patch patches/hotspot/default/14.0b08/icedtea-shark.patch patches/hotspot/default/14.0b08/icedtea-sparc-buildfixes.patch patches/hotspot/default/14.0b08/icedtea-sparc-ptracefix.patch patches/hotspot/default/14.0b08/icedtea-sparc-trapsfix.patch patches/hotspot/default/14.0b08/icedtea-sparc64-linux.patch patches/hotspot/default/14.0b08/icedtea-static-libstdc++.patch patches/hotspot/default/14.0b08/icedtea-text-relocations.patch patches/hotspot/default/14.0b08/icedtea-use-idx_t.patch patches/hotspot/default/14.0b08/icedtea-version.patch patches/hotspot/default/14.0b08/icedtea-zero-build.patch |
diffstat | 70 files changed, 2132 insertions(+), 1908 deletions(-) [+] |
line wrap: on
line diff
--- a/AUTHORS Fri Feb 20 12:41:09 2009 +0000 +++ b/AUTHORS Fri Feb 20 12:42:30 2009 +0000 @@ -2,26 +2,38 @@ Please keep this list in alphabetical order. Lillian Angel <langel@redhat.com> +Alon Bar-Lev <alon.barlev@gmail.com> Gary Benson <gbenson@redhat.com> Tania Bento <tbento@redhat.com> +Deepak Bhole <dbhole@redhat.com> +Tom Callaway <tcallawa@redhat.com> +Pablo del Campo <pablogdc@gmail.com> Thomas Fitzsimmons <fitzsim@redhat.com> Matthew Flaschen <matthew.flaschen@gatech.edu> Kyle Galloway <kgallowa@redhat.com> +Dennis Gilmore <dgilmore@redhat.com> Andrew Haley <aph@redhat.com> -Andrew John Hughes <gnu_andrew@member.fsf.org> +Andrew John Hughes <ahughes@redhat.com> +Tomas Hurka <tomas.hurka@sun.com> +Ioana Ivan <iivan@redhat.com> Matthias Klose <doko@ubuntu.com> Francis Kung <fkung@redhat.com> DJ Lucas <dj@linuxfromscratch.org> +Omair Majid <omajid@redhat.com> Casey Marshall <csm@gnu.org> Dan Munckton <lists@munckfish.net> Raif Naffah <admin@naffah-raif.name> +Parag Nemade <pnemade@redhat.com> +Xerxes RÄnby <xerxes@zafena.se> Bernhard RosenkrÀnzer <bero@arklinux.org> Marc Schoenefeld <mschoene@redhat.com> Keith Seitz <keiths@redhat.com> Joshua Sumali <jsumali@redhat.com> Christian Thalinger <twisti@complang.tuwien.ac.at> Dalibor Topic <robilad@kaffe.org> +Arnaud Vandyck <avdyk@debian.org> Mark Wielaard <mark@klomp.org> +Yi Zhan <yi.zhan@intel.com> This project also includes code from the following projects:
--- a/ChangeLog Fri Feb 20 12:41:09 2009 +0000 +++ b/ChangeLog Fri Feb 20 12:42:30 2009 +0000 @@ -2,7 +2,55 @@ * configure.ac: Disable NIO2 by default. - + +2009-02-19 Gary Benson <gbenson@redhat.com> + + * ports/hotspot/src/cpu/zero/vm/disassembler_zero.cpp: + Deleted contents (was all comment). + +2009-02-19 Mark Wielaard <mark@klomp.org> + + * AUTHORS: Fix my email address. + +2009-02-18 Lillian Angel <langel@redhat.com> + + * AUTHORS: Updated. + +2009-02-18 Lillian Angel <langel@redhat.com> + Tomas Hurka <tomas.hurka@sun.com> + + * INSTALL: Updated requirements. + * Makefile.am: Added building support for VisualVM with NetBeans 6.5. + * acinclude.m4: Added check for NetBeans. + * configure.ac: Added --enable-visualvm option. + * visualvm.desktop: New file. + +2009-02-17 Gary Benson <gbenson@redhat.com> + + * ports/hotspot/src/cpu/zero/vm/stack_zero.hpp: Updated copyright year. + * ports/hotspot/src/os_cpu/linux_zero/vm/orderAccess_linux_zero.inline.hpp: + Likewise. + * ports/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp: + Likewise. + * ports/hotspot/src/share/vm/includeDB_shark + * ports/hotspot/src/share/vm/shark/llvmHeaders.hpp: Likewise. + * ports/hotspot/src/share/vm/shark/sharkBuilder.cpp: Likewise. + * ports/hotspot/src/share/vm/shark/sharkBuilder.hpp: Likewise. + * ports/hotspot/src/share/vm/shark/sharkBytecodeTracer.cpp: Likewise. + * ports/hotspot/src/share/vm/shark/sharkEntry.cpp: Likewise. + * ports/hotspot/src/share/vm/shark/sharkEntry.hpp: Likewise. + * ports/hotspot/src/share/vm/shark/sharkFunction.cpp: Likewise. + * ports/hotspot/src/share/vm/shark/sharkFunction.hpp: Likewise. + * ports/hotspot/src/share/vm/shark/shark_globals.hpp: Likewise. + + * ports/hotspot/src/cpu/zero/vm/bytecodes_zero.hpp: + Deleted contents (was all comment). + +2009-02-15 Mark Wielaard <mark@klomp.org> + + * patches/hotspot/default/14.0b08/*: Moved to ... + patches/hotspot/default/*. + 2009-02-12 Andrew John Hughes <ahughes@redhat.com> * acinclude.m4:
--- a/INSTALL Fri Feb 20 12:41:09 2009 +0000 +++ b/INSTALL Fri Feb 20 12:42:30 2009 +0000 @@ -35,6 +35,9 @@ pulseaudio-libs-devel >= 0.9.11 pulseaudio >= 0.9.11 +For building VisualVM, you will need +netbeans = 6.5 + For building the zero-assembler port (see below), you will need libffi. See ./configure --help if you need to override the defaults.
--- a/Makefile.am Fri Feb 20 12:41:09 2009 +0000 +++ b/Makefile.am Fri Feb 20 12:42:30 2009 +0000 @@ -5,6 +5,9 @@ CACAO_VERSION = 0.99.3 CACAO_MD5SUM = 80de3ad344c1a20c086ec5f1390bd1b8 +NETBEANS_PROFILER_MD5SUM = 35f9dc474dfc19ed3713f362139b099a +VISUALVM_MD5SUM = 1174486e82a65840b44c47166d79f212 + if ENABLE_GCJWEBPLUGIN GCJWEBPLUGIN_CLEAN = clean-gcjwebplugin GCJWEBPLUGIN_TARGET = gcjwebplugin.so @@ -48,7 +51,7 @@ all-local: icedtea-against-icedtea -distclean-local: clean-copy clean-jtreg clean-jtreg-reports clean-pulse-java +distclean-local: clean-copy clean-jtreg clean-jtreg-reports clean-pulse-java rm -rf stamps rm -f rt-source-files.txt \ hotspot-tools-source-files.txt \ @@ -60,6 +63,8 @@ rm -rf openjdk rm -rf hotspot-tools rm -rf rt/netscape + rm -rf visualvm + rm -rf netbeans if ENABLE_PLUGIN rm -f IcedTeaPlugin.o IcedTeaPlugin.so else @@ -78,7 +83,7 @@ clean-bootstrap-directory-symlink clean-bootstrap-directory-ecj \ clean-bootstrap-directory-symlink-ecj icedtea icedtea-debug \ clean-icedtea icedtea-against-icedtea clean-icedtea-ecj clean-plugs \ - clean-tools-jar clean-shared-objects \ + clean-tools-jar clean-shared-objects clean-visualvm clean-nbplatform \ clean-copy clean-hotspot-tools clean-rt $(GCJWEBPLUGIN_CLEAN) \ $(ICEDTEAPLUGIN_CLEAN) hotspot hotspot-helper clean-extra \ clean-jtreg clean-jtreg-reports @@ -87,7 +92,7 @@ patches/* \ gcjwebplugin.cc tools-copy contrib ports \ extra overlays \ - javaws.png javaws.desktop \ + javaws.png javaws.desktop visualvm.desktop \ jconsole.desktop policytool.desktop \ test/jtreg \ IcedTeaPlugin.cc \ @@ -304,6 +309,14 @@ CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.gz endif +# VisualVM sources. Alternatives cannot be used here. +NETBEANS_PROFILER_URL = http://icedtea.classpath.org/visualvm/ +NETBEANS_PROFILER_SRC_ZIP = netbeans-profiler-visualvm_release65_mod.tar.gz + +VISUALVM_URL = https://visualvm.dev.java.net/files/documents/7163/127067/ +VISUALVM_SRC_ZIP = visualvm-11-src.tar.gz + + stamps/hgforest.stamp: if OPENJDK_SRC_DIR_FOUND else @@ -381,6 +394,29 @@ endif endif endif +if WITH_VISUALVM + if ! echo "$(NETBEANS_PROFILER_MD5SUM) $(NETBEANS_PROFILER_SRC_ZIP)" \ + | $(MD5SUM) --check ; \ + then \ + if [ $(NETBEANS_PROFILER_SRC_ZIP) ] ; \ + then \ + mv $(NETBEANS_PROFILER_SRC_ZIP) $(NETBEANS_PROFILER_SRC_ZIP).old ; \ + fi ; \ + $(WGET) $(NETBEANS_PROFILER_URL)$(NETBEANS_PROFILER_SRC_ZIP) \ + -O $(NETBEANS_PROFILER_SRC_ZIP) ; \ + fi + + if ! echo "$(VISUALVM_MD5SUM) $(VISUALVM_SRC_ZIP)" \ + | $(MD5SUM) --check ; \ + then \ + if [ $(VISUALVM_SRC_ZIP) ] ; \ + then \ + mv $(VISUALVM_SRC_ZIP) $(VISUALVM_SRC_ZIP).old ; \ + fi ; \ + $(WGET) $(VISUALVM_URL)$(VISUALVM_SRC_ZIP) \ + -O $(VISUALVM_SRC_ZIP) ; \ + fi +endif mkdir -p stamps touch stamps/download.stamp @@ -393,6 +429,10 @@ if WITH_CACAO rm -f $(CACAO_SRC_ZIP) endif +if WITH_VISUALVM + rm -f $(VISUALVM_SRC_ZIP) + rm -f $(NETBEANS_PROFILER_SRC_ZIP) +endif # Link ports sources into tree stamps/ports.stamp: stamps/extract.stamp @@ -659,6 +699,18 @@ fi endif endif +if WITH_VISUALVM + if ! test -d netbeans ; \ + then \ + mkdir netbeans ; \ + $(TAR) xf $(NETBEANS_PROFILER_SRC_ZIP) -C netbeans ; \ + fi + + if ! test -d visualvm ; \ + then \ + $(TAR) xf $(VISUALVM_SRC_ZIP) ; \ + fi +endif if [ ! -e $(abs_top_builddir)/generated ]; then \ cp -a $(abs_top_srcdir)/generated $(abs_top_builddir); \ find $(abs_top_builddir)/generated -type f -exec chmod 640 '{}' ';' \ @@ -1028,7 +1080,7 @@ stamps/hotspot-tools.stamp stamps/plugs.stamp \ stamps/ports.stamp stamps/patch.stamp stamps/overlay.stamp \ $(GCJWEBPLUGIN_TARGET) $(ICEDTEAPLUGIN_TARGET) \ - extra-lib/about.jar stamps/cacao.stamp \ + extra-lib/about.jar stamps/cacao.stamp stamps/visualvm.stamp \ stamps/pulse-java.stamp $(ARCH_PREFIX) $(MAKE) \ $(ICEDTEA_ENV) \ @@ -1057,6 +1109,26 @@ cp -pPRf pulse-java.jar \ $(BUILD_OUTPUT_DIR)/j2re-image/lib/ext endif +if WITH_VISUALVM + mkdir -p $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/etc ; \ + mkdir -p $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/visualvm ; \ + sed "s/APPNAME=\`basename.*\`/APPNAME=visualvm/" \ + visualvm/launcher/visualvm >> \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/jvisualvm ; \ + chmod a+x $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/jvisualvm ; \ + cp visualvm/launcher/visualvm.conf \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/etc ; \ + echo visualvm >> \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/etc/visualvm.clusters ; \ + echo profiler3 >> \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/etc/visualvm.clusters ; \ + cp -r visualvm/build/cluster/* \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/visualvm ; \ + cp -r netbeans/nbbuild/netbeans_visualvm/platform9 \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm ; \ + cp -r netbeans/nbbuild/netbeans_visualvm/profiler3 \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm +endif cp $(abs_top_srcdir)/rt/net/sourceforge/jnlp/resources/about.jnlp \ extra-lib/about.jar \ $(BUILD_OUTPUT_DIR)/j2re-image/lib ; \ @@ -1071,7 +1143,7 @@ stamps/hotspot-tools.stamp stamps/plugs.stamp \ stamps/ports.stamp stamps/patch.stamp stamps/overlay.stamp \ $(GCJWEBPLUGIN_TARGET) $(ICEDTEAPLUGIN_TARGET) \ - extra-lib/about.jar stamps/cacao.stamp \ + extra-lib/about.jar stamps/cacao.stamp stamps/visualvm.stamp \ stamps/pulse-java.stamp $(ARCH_PREFIX) $(MAKE) \ $(ICEDTEA_ENV) \ @@ -1100,6 +1172,26 @@ cp -pPRf pulse-java.jar \ $(BUILD_OUTPUT_DIR)-debug/j2re-image/lib/ext endif +if WITH_VISUALVM + mkdir -p $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/etc ; \ + mkdir -p $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/visualvm ; \ + sed "s/APPNAME=\`basename.*\`/APPNAME=visualvm/" \ + visualvm/launcher/visualvm >> \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/jvisualvm ; \ + chmod a+x $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/jvisualvm ; \ + cp visualvm/launcher/visualvm.conf \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/etc ; \ + echo visualvm >> \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/etc/visualvm.clusters ; \ + echo profiler3 >> \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/etc/visualvm.clusters ; \ + cp -r visualvm/build/cluster/* \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/visualvm ; \ + cp -r netbeans/nbbuild/netbeans_visualvm/platform9 \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm ; \ + cp -r netbeans/nbbuild/netbeans_visualvm/profiler3 \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm +endif cp $(abs_top_srcdir)/rt/net/sourceforge/jnlp/resources/default.jnlp \ extra-lib/about.jar \ $(BUILD_OUTPUT_DIR)-debug/j2re-image/lib ; \ @@ -1666,6 +1758,59 @@ check-local: jtregcheck +# VisualVM + +stamps/visualvm.stamp: $(BOOTSTRAP_DIRECTORY_STAMP) stamps/download.stamp \ + stamps/extract.stamp stamps/nbplatform.stamp +if WITH_VISUALVM + cd visualvm ; \ + ln -s $(abs_top_srcdir)/netbeans/nbbuild/netbeans_visualvm netbeans ; \ + JAVA_HOME=$(ICEDTEA_HOME) $(ANT) build +endif + mkdir -p stamps + touch $@ + +clean-visualvm: + rm -rf visualvm + rm -f stamps/visualvm.stamp + +stamps/nbplatform.stamp: $(BOOTSTRAP_DIRECTORY_STAMP) stamps/extract.stamp \ + stamps/download.stamp +if WITH_VISUALVM + mkdir netbeans ; \ + cd netbeans ; \ + rm nbbuild/external/binaries-list ; \ + rm -r lib.profiler/release/lib/deployed ; \ + mkdir -p lib.profiler/release/lib/deployed/jdk15/linux ; \ + mkdir -p lib.profiler/release/lib/deployed/jdk16/linux ; \ + mkdir -p ./nbbuild/netbeans_visualvm/ ; \ + ln -s $(SYSTEM_NETBEANS_DIR)/platform9/ ./nbbuild/netbeans_visualvm/platform9 ; \ + ln -s $(SYSTEM_NETBEANS_DIR)/apisupport1/ ./nbbuild/netbeans_visualvm/apisupport1 ; \ + ln -s $(SYSTEM_NETBEANS_DIR)/harness/ ./nbbuild/netbeans_visualvm/harness ; \ + cd lib.profiler/native/build ; \ + if ! (uname -a | grep x86_64) ; then \ + buildscript=./buildnative-linux-15.sh ; \ + else \ + buildscript=./buildnative-linux64-15.sh ; \ + fi ; \ + JAVA_HOME_15=$(ICEDTEA_HOME) JAVA_HOME_16=$(ICEDTEA_HOME) \ + $$buildscript ; \ + cd ../../.. ; \ + JAVA_HOME=$(ICEDTEA_HOME) $(ANT) -Dpermit.jdk6.builds=true \ + -f nbbuild/build.xml bootstrap ; \ + for dir in lib.profiler lib.profiler.ui lib.profiler.common profiler ; do \ + JAVA_HOME=$(ICEDTEA_HOME) $(ANT) -Dpermit.jdk6.builds=true -Dbuildnumber=081204 \ + -Dnetbeans.dest.dir=../nbbuild/netbeans_visualvm \ + -f $$dir/build.xml ; \ + done +endif + mkdir -p stamps + touch $@ + +clean-nbplatform: + rm -rf netbeans + rm -f stamps/nbplatform.stamp + # fsg-tarball # Creates archive of openjdk that is compliant with Free Software guidelines. @@ -1685,6 +1830,10 @@ cacao: stamps/cacao.stamp +visualvm: stamps/visualvm.stamp + +nbplatform: stamps/nbplatform.stamp + copy-source-files: stamps/copy-source-files.stamp download: stamps/download.stamp
--- a/acinclude.m4 Fri Feb 20 12:41:09 2009 +0000 +++ b/acinclude.m4 Fri Feb 20 12:42:30 2009 +0000 @@ -557,6 +557,31 @@ AC_SUBST(XERCES2_JAR) ]) +AC_DEFUN([FIND_NETBEANS], +[ + AC_ARG_WITH([netbeans], + [AS_HELP_STRING(--with-netbeans,specify location of netbeans)], + [ + if test -f "${withval}"; then + AC_MSG_CHECKING(netbeans) + NETBEANS="${withval}" + AC_MSG_RESULT(${withval}) + else + AC_PATH_PROG(NETBEANS, "${withval}") + fi + ], + [ + NETBEANS= + ]) + if test -z "${NETBEANS}"; then + AC_PATH_PROG(NETBEANS, "netbeans") + fi + if test -z "${NETBEANS}"; then + AC_MSG_ERROR("NetBeans was not found.") + fi + AC_SUBST(NETBEANS) +]) + AC_DEFUN([FIND_RHINO_JAR], [ AC_MSG_CHECKING(whether to include Javascript support via Rhino)
--- a/configure.ac Fri Feb 20 12:41:09 2009 +0000 +++ b/configure.ac Fri Feb 20 12:42:30 2009 +0000 @@ -55,6 +55,24 @@ AM_CONDITIONAL(WITH_ICEDTEA, test "${with_icedtea}" = true) AC_MSG_RESULT(${with_icedtea}) +AC_MSG_CHECKING([for a NetBeans installation]) +AC_ARG_WITH([netbeans-home], + [AS_HELP_STRING([--with-netbeans-home], + [NetBeans home directory (default is /usr/share/netbeans)])], + [ + if test "x${withval}" = x + then + SYSTEM_NETBEANS_DIR=/usr/share/netbeans + else + SYSTEM_NETBEANS_DIR=${withval} + fi + ], + [ + SYSTEM_NETBEANS_DIR=/usr/share/netbeans + ]) +AC_MSG_RESULT([${SYSTEM_NETBEANS_DIR}]) +AC_SUBST(SYSTEM_NETBEANS_DIR) + AC_MSG_CHECKING([whether to build using an existing installation of OpenJDK]) AC_ARG_WITH([openjdk], [AS_HELP_STRING([--with-openjdk], @@ -91,6 +109,14 @@ AC_SUBST(SYSTEM_ANT_DIR) AC_MSG_RESULT(${SYSTEM_ANT_DIR}) +AC_MSG_CHECKING(whether to build VisualVM) +AC_ARG_ENABLE([visualvm], + [AS_HELP_STRING([--enable-visualvm], + [Enable compilation of visualvm.])], + [enable_visualvm="${enableval}"], [enable_visualvm="no"]) +AM_CONDITIONAL(WITH_VISUALVM, test "x${enable_visualvm}" = "xyes") +AC_MSG_RESULT(${enable_visualvm}) + AC_MSG_CHECKING([whether to build the LiveConnect plugin]) AC_ARG_ENABLE([liveconnect], [AS_HELP_STRING([--disable-liveconnect], @@ -239,6 +265,11 @@ ENABLE_HG AC_CHECK_WITH_HG_REVISION +if test "x${enable_visualvm}" = "xyes" +then + FIND_NETBEANS +fi + if test "x${enable_pulse_java}" = "xyes" then FIND_PULSEAUDIO
--- a/patches/hotspot/default/14.0b08/icedtea-6791168.patch Fri Feb 20 12:41:09 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,230 +0,0 @@ ---- openjdk/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp.orig 2009-01-13 10:15:42.000000000 +0000 -+++ openjdk/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp 2009-01-13 10:17:05.000000000 +0000 -@@ -594,7 +594,7 @@ - __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::frequency_counter_overflow), rax); - - // for c++ interpreter can rsi really be munged? -- __ lea(state, Address(rbp, -sizeof(BytecodeInterpreter))); // restore state -+ __ lea(state, Address(rbp, -(int)sizeof(BytecodeInterpreter))); // restore state - __ movptr(rbx, Address(state, byte_offset_of(BytecodeInterpreter, _method))); // restore method - __ movptr(rdi, Address(state, byte_offset_of(BytecodeInterpreter, _locals))); // get locals pointer - -@@ -658,7 +658,7 @@ - const Address size_of_stack (rbx, methodOopDesc::max_stack_offset()); - // Always give one monitor to allow us to start interp if sync method. - // Any additional monitors need a check when moving the expression stack -- const one_monitor = frame::interpreter_frame_monitor_size() * wordSize; -+ const int one_monitor = frame::interpreter_frame_monitor_size() * wordSize; - __ load_unsigned_word(rax, size_of_stack); // get size of expression stack in words - __ lea(rax, Address(noreg, rax, Interpreter::stackElementScale(), one_monitor)); - __ lea(rax, Address(rax, rdx, Interpreter::stackElementScale(), overhead_size)); -@@ -1829,7 +1829,7 @@ - Label unwind_and_forward; - - // restore state pointer. -- __ lea(state, Address(rbp, -sizeof(BytecodeInterpreter))); -+ __ lea(state, Address(rbp, -(int)sizeof(BytecodeInterpreter))); - - __ movptr(rbx, STATE(_method)); // get method - #ifdef _LP64 -@@ -1877,14 +1877,14 @@ - - // The FPU stack is clean if UseSSE >= 2 but must be cleaned in other cases - if (UseSSE < 2) { -- __ lea(state, Address(rbp, -sizeof(BytecodeInterpreter))); -+ __ lea(state, Address(rbp, -(int)sizeof(BytecodeInterpreter))); - __ movptr(rbx, STATE(_result._to_call._callee)); // get method just executed - __ movl(rcx, Address(rbx, methodOopDesc::result_index_offset())); - __ cmpl(rcx, AbstractInterpreter::BasicType_as_index(T_FLOAT)); // Result stub address array index - __ jcc(Assembler::equal, do_float); - __ cmpl(rcx, AbstractInterpreter::BasicType_as_index(T_DOUBLE)); // Result stub address array index - __ jcc(Assembler::equal, do_double); --#ifdef COMPILER2 -+#if !defined(_LP64) || defined(COMPILER1) || !defined(COMPILER2) - __ empty_FPU_stack(); - #endif // COMPILER2 - __ jmp(done_conv); -@@ -1928,7 +1928,7 @@ - - // Restore rsi/r13 as compiled code may not preserve it - -- __ lea(state, Address(rbp, -sizeof(BytecodeInterpreter))); -+ __ lea(state, Address(rbp, -(int)sizeof(BytecodeInterpreter))); - - // restore stack to what we had when we left (in case i2c extended it) - -@@ -1942,7 +1942,7 @@ - #else - __ movptr(rcx, STATE(_thread)); // get thread - __ cmpptr(Address(rcx, Thread::pending_exception_offset()), (int32_t)NULL_WORD); --#endif / __LP64 -+#endif // _LP64 - __ jcc(Assembler::notZero, return_with_exception); - - // get method just executed ---- openjdk/hotspot/src/cpu/x86/vm/frame_x86.inline.hpp.orig 2009-01-13 10:15:42.000000000 +0000 -+++ openjdk/hotspot/src/cpu/x86/vm/frame_x86.inline.hpp 2009-01-13 10:17:05.000000000 +0000 -@@ -139,7 +139,7 @@ - #ifdef CC_INTERP - - inline interpreterState frame::get_interpreterState() const { -- return ((interpreterState)addr_at( -sizeof(BytecodeInterpreter)/wordSize )); -+ return ((interpreterState)addr_at( -((int)sizeof(BytecodeInterpreter))/wordSize )); - } - - inline intptr_t* frame::sender_sp() const { ---- openjdk/hotspot/src/cpu/x86/vm/assembler_x86.cpp.orig 2009-01-13 10:15:42.000000000 +0000 -+++ openjdk/hotspot/src/cpu/x86/vm/assembler_x86.cpp 2009-01-13 10:17:05.000000000 +0000 -@@ -6943,29 +6943,32 @@ - - Label slow_case, done; - -- // x ?<= pi/4 -- fld_d(ExternalAddress((address)&pi_4)); -- fld_s(1); // Stack: X PI/4 X -- fabs(); // Stack: |X| PI/4 X -- fcmp(tmp); -- jcc(Assembler::above, slow_case); -- -- // fastest case: -pi/4 <= x <= pi/4 -- switch(trig) { -- case 's': -- fsin(); -- break; -- case 'c': -- fcos(); -- break; -- case 't': -- ftan(); -- break; -- default: -- assert(false, "bad intrinsic"); -- break; -+ ExternalAddress pi4_adr = (address)&pi_4; -+ if (reachable(pi4_adr)) { -+ // x ?<= pi/4 -+ fld_d(pi4_adr); // ExternalAddress((address)&pi_4)); -+ fld_s(1); // Stack: X PI/4 X -+ fabs(); // Stack: |X| PI/4 X -+ fcmp(tmp); -+ jcc(Assembler::above, slow_case); -+ -+ // fastest case: -pi/4 <= x <= pi/4 -+ switch(trig) { -+ case 's': -+ fsin(); -+ break; -+ case 'c': -+ fcos(); -+ break; -+ case 't': -+ ftan(); -+ break; -+ default: -+ assert(false, "bad intrinsic"); -+ break; -+ } -+ jmp(done); - } -- jmp(done); - - // slow case: runtime call - bind(slow_case); ---- openjdk/hotspot/src/cpu/x86/vm/sharedRuntime_x86_64.cpp.orig 2009-01-13 10:15:42.000000000 +0000 -+++ openjdk/hotspot/src/cpu/x86/vm/sharedRuntime_x86_64.cpp 2009-01-13 10:17:05.000000000 +0000 -@@ -2954,10 +2954,16 @@ - __ pushptr(Address(rcx, 0)); // Save return address - __ enter(); // Save old & set new rbp - __ subptr(rsp, rbx); // Prolog -+#ifdef CC_INTERP -+ __ movptr(Address(rbp, -+ -(sizeof(BytecodeInterpreter)) + in_bytes(byte_offset_of(BytecodeInterpreter, _sender_sp))), -+ sender_sp); // Make it walkable -+#else // CC_INTERP - __ movptr(Address(rbp, frame::interpreter_frame_sender_sp_offset * wordSize), - sender_sp); // Make it walkable - // This value is corrected by layout_activation_impl - __ movptr(Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize), (int32_t)NULL_WORD ); -+#endif // CC_INTERP - __ mov(sender_sp, rsp); // Pass sender_sp to next frame - __ addptr(rsi, wordSize); // Bump array pointer (sizes) - __ addptr(rcx, wordSize); // Bump array pointer (pcs) ---- openjdk/hotspot/src/cpu/x86/vm/bytecodeInterpreter_x86.inline.hpp.orig 2009-01-13 10:15:42.000000000 +0000 -+++ openjdk/hotspot/src/cpu/x86/vm/bytecodeInterpreter_x86.inline.hpp 2009-01-13 10:17:05.000000000 +0000 -@@ -213,7 +213,7 @@ - - inline jint BytecodeInterpreter::VMintDiv(jint op1, jint op2) { - /* it's possible we could catch this special case implicitly */ -- if (op1 == 0x80000000 && op2 == -1) return op1; -+ if ((juint)op1 == 0x80000000 && op2 == -1) return op1; - else return op1 / op2; - } - -@@ -231,7 +231,7 @@ - - inline jint BytecodeInterpreter::VMintRem(jint op1, jint op2) { - /* it's possible we could catch this special case implicitly */ -- if (op1 == 0x80000000 && op2 == -1) return 0; -+ if ((juint)op1 == 0x80000000 && op2 == -1) return 0; - else return op1 % op2; - } - ---- openjdk/hotspot/src/cpu/x86/vm/interp_masm_x86_64.cpp.orig 2009-01-13 10:15:42.000000000 +0000 -+++ openjdk/hotspot/src/cpu/x86/vm/interp_masm_x86_64.cpp 2009-01-13 10:17:05.000000000 +0000 -@@ -30,7 +30,7 @@ - - #ifdef CC_INTERP - void InterpreterMacroAssembler::get_method(Register reg) { -- movptr(reg, Address(rbp, -(sizeof(BytecodeInterpreter) + 2 * wordSize))); -+ movptr(reg, Address(rbp, -((int)sizeof(BytecodeInterpreter) + 2 * wordSize))); - movptr(reg, Address(reg, byte_offset_of(BytecodeInterpreter, _method))); - } - #endif // CC_INTERP ---- openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp.orig 2009-01-13 10:16:45.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp 2009-01-13 10:17:05.000000000 +0000 -@@ -163,7 +163,7 @@ - #ifdef USELABELS - // Have to do this dispatch this way in C++ because otherwise gcc complains about crossing an - // initialization (which is is the initialization of the table pointer...) --#define DISPATCH(opcode) goto *dispatch_table[opcode] -+#define DISPATCH(opcode) goto *(void*)dispatch_table[opcode] - #define CONTINUE { \ - opcode = *pc; \ - DO_UPDATE_INSTRUCTION_COUNT(opcode); \ -@@ -341,7 +341,7 @@ - */ - #undef CHECK_NULL - #define CHECK_NULL(obj_) \ -- if ((obj_) == 0) { \ -+ if ((obj_) == NULL) { \ - VM_JAVA_ERROR(vmSymbols::java_lang_NullPointerException(), ""); \ - } - -@@ -1362,7 +1362,7 @@ - - #define NULL_COMPARISON_NOT_OP(name) \ - CASE(_if##name): { \ -- int skip = (!(STACK_OBJECT(-1) == 0)) \ -+ int skip = (!(STACK_OBJECT(-1) == NULL)) \ - ? (int16_t)Bytes::get_Java_u2(pc + 1) : 3; \ - address branch_pc = pc; \ - UPDATE_PC_AND_TOS(skip, -1); \ -@@ -1372,7 +1372,7 @@ - - #define NULL_COMPARISON_OP(name) \ - CASE(_if##name): { \ -- int skip = ((STACK_OBJECT(-1) == 0)) \ -+ int skip = ((STACK_OBJECT(-1) == NULL)) \ - ? (int16_t)Bytes::get_Java_u2(pc + 1) : 3; \ - address branch_pc = pc; \ - UPDATE_PC_AND_TOS(skip, -1); \ ---- openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp.orig 2009-01-13 10:15:42.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp 2009-01-13 10:17:05.000000000 +0000 -@@ -66,7 +66,6 @@ - friend class InterpreterGenerator; - friend class InterpreterMacroAssembler; - friend class frame; --friend class SharedRuntime; - friend class VMStructs; - - public:
--- a/patches/hotspot/default/14.0b08/icedtea-bytecodeInterpreter.patch Fri Feb 20 12:41:09 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -diff -Nru openjdk.orig/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp ---- openjdk.orig/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp 2008-10-23 08:41:04.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp 2008-10-30 15:48:48.000000000 +0000 -@@ -60,7 +60,6 @@ - }; - - class BytecodeInterpreter : StackObj { --friend class SharedRuntime; - friend class AbstractInterpreterGenerator; - friend class CppInterpreterGenerator; - friend class InterpreterGenerator;
--- a/patches/hotspot/default/14.0b08/icedtea-core-build.patch Fri Feb 20 12:41:09 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,108 +0,0 @@ -diff -Nru openjdk.orig/hotspot/make/linux/makefiles/defs.make openjdk/hotspot/make/linux/makefiles/defs.make ---- openjdk.orig/hotspot/make/linux/makefiles/defs.make 2008-05-27 22:28:29.000000000 +0100 -+++ openjdk/hotspot/make/linux/makefiles/defs.make 2008-06-22 03:10:05.000000000 +0100 -@@ -97,6 +97,7 @@ - EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt - EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjsig.so - EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.so -+ifndef ICEDTEA_CORE_BUILD - ifeq ($(ARCH_DATA_MODEL), 32) - EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client - EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt -@@ -111,3 +112,4 @@ - EXPORT_LIST += $(EXPORT_LIB_DIR)/sa-jdi.jar - endif - endif -+endif -diff -Nru openjdk.orig/hotspot/make/Makefile openjdk/hotspot/make/Makefile ---- openjdk.orig/hotspot/make/Makefile 2008-05-27 22:28:29.000000000 +0100 -+++ openjdk/hotspot/make/Makefile 2008-06-22 03:10:05.000000000 +0100 -@@ -91,6 +91,15 @@ - all_debug: jvmg jvmg1 jvmgkernel docs export_debug - all_optimized: optimized optimized1 optimizedkernel docs export_optimized - -+# Core (non-compiler) targets made available with this Makefile -+CORE_VM_TARGETS=productcore fastdebugcore optimizedcore jvmgcore -+ -+allcore: all_productcore all_fastdebugcore -+all_productcore: productcore docs export_product -+all_fastdebugcore: fastdebugcore docs export_fastdebug -+all_debugcore: jvmgcore docs export_debug -+all_optimizedcore: optimizedcore docs export_optimized -+ - # Do everything - world: all create_jdk - -@@ -113,6 +122,10 @@ - $(CD) $(GAMMADIR)/make; \ - $(MAKE) VM_TARGET=$@ generic_build2 $(ALT_OUT) - -+$(CORE_VM_TARGETS): -+ $(CD) $(GAMMADIR)/make; \ -+ $(MAKE) VM_TARGET=$@ generic_buildcore $(ALT_OUT) -+ - $(KERNEL_VM_TARGETS): - $(CD) $(GAMMADIR)/make; \ - $(MAKE) VM_TARGET=$@ generic_buildkernel $(ALT_OUT) -@@ -159,6 +172,12 @@ - $(MAKE_ARGS) $(VM_TARGET) - endif - -+generic_buildcore: -+ $(MKDIR) -p $(OUTPUTDIR) -+ $(CD) $(OUTPUTDIR); \ -+ $(MAKE) -f $(ABS_OS_MAKEFILE) \ -+ $(MAKE_ARGS) $(VM_TARGET) -+ - generic_buildkernel: - $(MKDIR) -p $(OUTPUTDIR) - ifeq ($(OSNAME),windows) -@@ -205,13 +224,21 @@ - XUSAGE=$(HS_SRC_DIR)/share/vm/Xusage.txt - DOCS_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_docs - C1_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler1 -+ifdef ICEDTEA_CORE_BUILD -+C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_core -+else - C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler2 -+endif - KERNEL_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_kernel - C1_DIR=$(C1_BASE_DIR)/$(VM_SUBDIR) - C2_DIR=$(C2_BASE_DIR)/$(VM_SUBDIR) - KERNEL_DIR=$(KERNEL_BASE_DIR)/$(VM_SUBDIR) - - # Misc files and generated files need to come from C1 or C2 area -+ifdef ICEDTEA_CORE_BUILD -+ MISC_DIR=$(C2_DIR) -+ GEN_DIR=$(C2_BASE_DIR)/generated -+else - ifeq ($(ARCH_DATA_MODEL), 32) - MISC_DIR=$(C1_DIR) - GEN_DIR=$(C1_BASE_DIR)/generated -@@ -219,6 +246,7 @@ - MISC_DIR=$(C2_DIR) - GEN_DIR=$(C2_BASE_DIR)/generated - endif -+endif - - # Bin files (windows) - ifeq ($(OSNAME),windows) -diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/vm_version.cpp openjdk/hotspot/src/share/vm/runtime/vm_version.cpp ---- openjdk.orig/hotspot/src/share/vm/runtime/vm_version.cpp 2008-05-27 22:28:30.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp 2008-06-22 03:10:05.000000000 +0100 -@@ -94,8 +94,12 @@ - #ifdef TIERED - #define VMTYPE "Server" - #else -- #define VMTYPE COMPILER1_PRESENT("Client") \ -- COMPILER2_PRESENT("Server") -+#if defined(COMPILER1) || defined(COMPILER2) -+ #define VMTYPE COMPILER1_PRESENT("Client") \ -+ COMPILER2_PRESENT("Server") -+#else -+ #define VMTYPE "Core" -+#endif // COMPILER1 || COMPILER2 - #endif // TIERED - #endif // KERNEL - -
--- a/patches/hotspot/default/14.0b08/icedtea-debuginfo.patch Fri Feb 20 12:41:09 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,15 +0,0 @@ -diff -Nru openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make ---- openjdk.orig/hotspot/make/linux/makefiles/gcc.make 2008-08-20 22:58:22.000000000 +0100 -+++ openjdk/hotspot/make/linux/makefiles/gcc.make 2008-08-20 23:01:45.000000000 +0100 -@@ -62,6 +62,10 @@ - CFLAGS += -D_REENTRANT - CFLAGS += -fcheck-new - -+# Always generate full debuginfo on Linux. It'll be in a separate -+# debuginfo package when building RPMs. -+CFLAGS += -g -+ - ARCHFLAG = $(ARCHFLAG/$(BUILDARCH)) - ARCHFLAG/i486 = -m32 -march=i586 - ARCHFLAG/amd64 = -m64 -
--- a/patches/hotspot/default/14.0b08/icedtea-format.patch Fri Feb 20 12:41:09 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ -diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp openjdk/hotspot/src/share/vm/runtime/arguments.cpp ---- openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp 2009-02-03 18:08:09.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2009-02-03 18:32:59.000000000 +0000 -@@ -1361,7 +1361,7 @@ - - // Feed the cache size setting into the JDK - char buffer[1024]; -- sprintf(buffer, "java.lang.Integer.IntegerCache.high=%d", AutoBoxCacheMax); -+ sprintf(buffer, "java.lang.Integer.IntegerCache.high=" INTX_FORMAT, AutoBoxCacheMax); - add_property(buffer); - } - if (AggressiveOpts && FLAG_IS_DEFAULT(DoEscapeAnalysis)) { -diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/safepoint.cpp openjdk/hotspot/src/share/vm/runtime/safepoint.cpp ---- openjdk.orig/hotspot/src/share/vm/runtime/safepoint.cpp 2009-01-29 15:03:07.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/runtime/safepoint.cpp 2009-02-03 18:30:55.000000000 +0000 -@@ -730,7 +730,7 @@ - if (DieOnSafepointTimeout) { - char msg[1024]; - VM_Operation *op = VMThread::vm_operation(); -- sprintf(msg, "Safepoint sync time longer than %d ms detected when executing %s.", -+ sprintf(msg, "Safepoint sync time longer than " INTX_FORMAT " ms detected when executing %s.", - SafepointTimeoutDelay, - op != NULL ? op->name() : "no vm operation"); - fatal(msg); -diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/synchronizer.cpp openjdk/hotspot/src/share/vm/runtime/synchronizer.cpp ---- openjdk.orig/hotspot/src/share/vm/runtime/synchronizer.cpp 2009-01-29 15:03:07.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/runtime/synchronizer.cpp 2009-02-03 19:32:30.000000000 +0000 -@@ -424,7 +424,7 @@ - // asserts is that error message -- often something about negative array - // indices -- is opaque. - --#define CTASSERT(x) { int tag[1-(2*!(x))]; printf ("Tag @%X\n", tag); } -+#define CTASSERT(x) { int tag[1-(2*!(x))]; printf ("Tag @%p\n", tag); } - - void ObjectMonitor::ctAsserts() { - CTASSERT(offset_of (ObjectMonitor, _header) == 0); -diff -Nru openjdk.orig/hotspot/src/share/vm/utilities/vmError.cpp openjdk/hotspot/src/share/vm/utilities/vmError.cpp ---- openjdk.orig/hotspot/src/share/vm/utilities/vmError.cpp 2009-02-03 19:10:58.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/utilities/vmError.cpp 2009-02-03 19:29:15.000000000 +0000 -@@ -307,7 +307,7 @@ - - strncpy(buf, file, buflen); - if (len + 10 < buflen) { -- sprintf(buf + len, ":" SIZE_FORMAT, _lineno); -+ sprintf(buf + len, ":%d", _lineno); - } - st->print(" (%s)", buf); - } else {
--- a/patches/hotspot/default/14.0b08/icedtea-gcc-4.3.patch Fri Feb 20 12:41:09 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -diff -Nru openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make ---- openjdk.orig/hotspot/make/linux/makefiles/gcc.make 2008-12-01 12:06:51.000000000 +0000 -+++ openjdk/hotspot/make/linux/makefiles/gcc.make 2008-12-01 12:27:08.000000000 +0000 -@@ -98,7 +98,7 @@ - endif - - # Compiler warnings are treated as errors --WARNINGS_ARE_ERRORS = -Werror -+# WARNINGS_ARE_ERRORS = -Werror - - # Except for a few acceptable ones - # Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit -diff -Nru openjdk.orig/hotspot/make/solaris/makefiles/gcc.make openjdk/hotspot/make/solaris/makefiles/gcc.make ---- openjdk.orig/hotspot/make/solaris/makefiles/gcc.make 2008-11-22 00:11:18.000000000 +0000 -+++ openjdk/hotspot/make/solaris/makefiles/gcc.make 2008-12-01 12:25:10.000000000 +0000 -@@ -109,7 +109,8 @@ - - - # Compiler warnings are treated as errors --WARNINGS_ARE_ERRORS = -Werror -+# Commented out for now because of gcc 4.3 warnings OpenJDK isn't ready for -+# WARNINGS_ARE_ERRORS = -Werror - # Enable these warnings. See 'info gcc' about details on these options - ADDITIONAL_WARNINGS = -Wpointer-arith -Wconversion -Wsign-compare - CFLAGS_WARN/DEFAULT = $(WARNINGS_ARE_ERRORS) $(ADDITIONAL_WARNINGS) -diff -Nru openjdk.orig/hotspot/src/share/vm/adlc/filebuff.cpp openjdk/hotspot/src/share/vm/adlc/filebuff.cpp ---- openjdk.orig/hotspot/src/share/vm/adlc/filebuff.cpp 2008-11-22 00:11:18.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/adlc/filebuff.cpp 2008-12-01 12:25:10.000000000 +0000 -@@ -25,6 +25,8 @@ - // FILEBUFF.CPP - Routines for handling a parser file buffer - #include "adlc.hpp" - -+using namespace std; -+ - //------------------------------FileBuff--------------------------------------- - // Create a new parsing buffer - FileBuff::FileBuff( BufferedFile *fptr, ArchDesc& archDesc) : _fp(fptr), _AD(archDesc) { -diff -Nru openjdk.orig/hotspot/src/share/vm/adlc/filebuff.hpp openjdk/hotspot/src/share/vm/adlc/filebuff.hpp ---- openjdk.orig/hotspot/src/share/vm/adlc/filebuff.hpp 2008-11-22 00:11:18.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/adlc/filebuff.hpp 2008-12-01 12:25:10.000000000 +0000 -@@ -94,8 +94,11 @@ - FileBuffRegion *copy(); // Deep copy - FileBuffRegion *merge(FileBuffRegion*); // Merge 2 regions; delete input - --// void print(std::ostream&); --// friend std::ostream& operator<< (std::ostream&, FileBuffRegion&); -+#if defined(__GNUC__) && __GNUC__ >= 3 -+ void print(std::ostream&); -+ friend std::ostream& operator<< (std::ostream&, FileBuffRegion&); -+#else - void print(ostream&); - friend ostream& operator<< (ostream&, FileBuffRegion&); -+#endif - };
--- a/patches/hotspot/default/14.0b08/icedtea-gcc-suffix.patch Fri Feb 20 12:41:09 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ ---- openjdk/hotspot/agent/src/os/linux/Makefile~ 2007-08-02 09:16:50.000000000 +0200 -+++ openjdk/hotspot/agent/src/os/linux/Makefile 2007-08-08 17:00:11.204338801 +0200 -@@ -23,7 +23,7 @@ - # - - ARCH := $(shell if ([ `uname -m` = "ia64" ]) ; then echo ia64 ; elif ([ `uname -m` = "x86_64" ]) ; then echo amd64; elif ([ `uname -m` = "sparc64" ]) ; then echo sparc; else echo i386 ; fi ) --GCC = gcc -+GCC = gcc$(GCC_SUFFIX) - - JAVAH = ${JAVA_HOME}/bin/javah - ---- openjdk/hotspot/make/linux/makefiles/gcc.make~ 2007-08-08 16:13:12.281815996 +0200 -+++ openjdk/hotspot/make/linux/makefiles/gcc.make 2007-08-08 16:36:52.573240769 +0200 -@@ -25,8 +25,8 @@ - #------------------------------------------------------------------------ - # CC, CPP & AS - --CPP = g++ --CC = gcc -+CPP = g++$(GCC_SUFFIX) -+CC = gcc$(GCC_SUFFIX) - AS = $(CC) -c - - # -dumpversion in gcc-2.91 shows "egcs-2.91.66". In later version, it only -
--- a/patches/hotspot/default/14.0b08/icedtea-headers.patch Fri Feb 20 12:41:09 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13 +0,0 @@ -diff -Nru openjdk.orig/hotspot/make/linux/makefiles/jvmti.make openjdk/hotspot/make/linux/makefiles/jvmti.make ---- openjdk.orig/hotspot/make/linux/makefiles/jvmti.make 2008-05-23 20:51:14.000000000 +0100 -+++ openjdk/hotspot/make/linux/makefiles/jvmti.make 2008-05-23 20:54:13.000000000 +0100 -@@ -59,7 +59,7 @@ - - JvmtiGeneratedFiles = $(JvmtiGeneratedNames:%=$(JvmtiOutDir)/%) - --XSLT = $(QUIETLY) $(REMOTE) $(RUN.JAVA) -classpath $(JvmtiOutDir) jvmtiGen -+XSLT = $(QUIETLY) $(REMOTE) $(RUN.JAVA) $(ENDORSED) -classpath $(JvmtiOutDir) jvmtiGen - - .PHONY: all jvmtidocs clean cleanall - -
--- a/patches/hotspot/default/14.0b08/icedtea-includedb.patch Fri Feb 20 12:41:09 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,97 +0,0 @@ ---- openjdk/hotspot/src/share/vm/includeDB_compiler2.orig 2009-01-13 10:10:44.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/includeDB_compiler2 2009-01-13 10:11:17.000000000 +0000 -@@ -140,6 +140,7 @@ - c2_globals_<os_family>.hpp macros.hpp - - c2_init_<arch>.cpp compile.hpp -+c2_init_<arch>.cpp node.hpp - - c2compiler.cpp ad_<arch_model>.hpp - c2compiler.cpp c2compiler.hpp -@@ -839,6 +840,7 @@ - phase.cpp compile.hpp - phase.cpp compileBroker.hpp - phase.cpp nmethod.hpp -+phase.cpp node.hpp - phase.cpp phase.hpp - - phase.hpp port.hpp ---- openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_g1.orig 2009-01-13 10:10:44.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_g1 2009-01-13 10:11:17.000000000 +0000 -@@ -34,6 +34,7 @@ - collectionSetChooser.cpp g1CollectedHeap.hpp - collectionSetChooser.cpp g1CollectorPolicy.hpp - collectionSetChooser.cpp collectionSetChooser.hpp -+collectionSetChooser.cpp space.inline.hpp - - collectionSetChooser.hpp heapRegion.hpp - collectionSetChooser.hpp growableArray.hpp -@@ -44,6 +45,7 @@ - concurrentG1Refine.cpp copy.hpp - concurrentG1Refine.cpp g1CollectedHeap.hpp - concurrentG1Refine.cpp g1RemSet.hpp -+concurrentG1Refine.cpp space.inline.hpp - - concurrentG1Refine.hpp globalDefinitions.hpp - -@@ -264,7 +266,7 @@ - heapRegion.cpp iterator.hpp - heapRegion.cpp oop.inline.hpp - --heapRegion.hpp space.hpp -+heapRegion.hpp space.inline.hpp - heapRegion.hpp spaceDecorator.hpp - heapRegion.hpp g1BlockOffsetTable.inline.hpp - heapRegion.hpp watermark.hpp ---- openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_parallelScavenge.orig 2009-01-13 10:10:44.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_parallelScavenge 2009-01-13 10:11:17.000000000 +0000 -@@ -306,6 +306,8 @@ - psPermGen.cpp psMarkSweepDecorator.hpp - psPermGen.cpp psParallelCompact.hpp - psPermGen.cpp psPermGen.hpp -+psPermGen.cpp markOop.inline.hpp -+psPermGen.cpp markSweep.inline.hpp - - psPermGen.hpp psOldGen.hpp - ---- openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep.orig 2009-01-13 10:10:44.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep 2009-01-13 10:11:17.000000000 +0000 -@@ -28,6 +28,7 @@ - binaryTreeDictionary.cpp binaryTreeDictionary.hpp - binaryTreeDictionary.cpp globals.hpp - binaryTreeDictionary.cpp ostream.hpp -+binaryTreeDictionary.cpp space.inline.hpp - binaryTreeDictionary.cpp spaceDecorator.hpp - - binaryTreeDictionary.hpp freeBlockDictionary.hpp ---- openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_parNew.orig 2009-01-13 10:10:44.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_parNew 2009-01-13 10:11:17.000000000 +0000 -@@ -29,6 +29,8 @@ - asParNewGeneration.cpp cmsAdaptiveSizePolicy.hpp - asParNewGeneration.cpp cmsGCAdaptivePolicyCounters.hpp - asParNewGeneration.cpp defNewGeneration.inline.hpp -+asParNewGeneration.cpp markOop.inline.hpp -+asParNewGeneration.cpp markSweep.inline.hpp - asParNewGeneration.cpp oop.pcgc.inline.hpp - asParNewGeneration.cpp parNewGeneration.hpp - asParNewGeneration.cpp referencePolicy.hpp -@@ -40,7 +42,7 @@ - parCardTableModRefBS.cpp java.hpp - parCardTableModRefBS.cpp mutexLocker.hpp - parCardTableModRefBS.cpp sharedHeap.hpp --parCardTableModRefBS.cpp space.hpp -+parCardTableModRefBS.cpp space.inline.hpp - parCardTableModRefBS.cpp universe.hpp - parCardTableModRefBS.cpp virtualspace.hpp - ---- openjdk/hotspot/src/share/vm/includeDB_features.orig 2009-01-13 10:10:44.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/includeDB_features 2009-01-13 10:11:17.000000000 +0000 -@@ -59,6 +59,8 @@ - - dump_<arch_model>.cpp assembler_<arch>.inline.hpp - dump_<arch_model>.cpp compactingPermGenGen.hpp -+dump_<arch_model>.cpp generation.inline.hpp -+dump_<arch_model>.cpp space.inline.hpp - - forte.cpp collectedHeap.inline.hpp - forte.cpp debugInfoRec.hpp
--- a/patches/hotspot/default/14.0b08/icedtea-memory-limits.patch Fri Feb 20 12:41:09 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ -diff -Nru openjdk.orig/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp openjdk/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp ---- openjdk.orig/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp 2008-05-23 22:30:44.000000000 +0100 -+++ openjdk/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp 2008-05-23 22:30:59.000000000 +0100 -@@ -98,7 +98,7 @@ - - // Heap related flags - define_pd_global(uintx, PermSize, ScaleForWordSize(16*M)); --define_pd_global(uintx, MaxPermSize, ScaleForWordSize(64*M)); -+define_pd_global(uintx, MaxPermSize, ScaleForWordSize(128*M)); - - // Ergonomics related flags - define_pd_global(bool, NeverActAsServerClassMachine, false); ---- penjdk6/hotspot/src/share/vm/runtime/globals.hpp 2008-02-12 04:14:24.000000000 -0500 -+++ openjdk/hotspot/src/share/vm/runtime/globals.hpp 2008-02-14 16:34:00.000000000 -0500 -@@ -2606,7 +2606,7 @@ - "an OS lock") \ - \ - /* gc parameters */ \ -- product(uintx, MaxHeapSize, ScaleForWordSize(64*M), \ -+ product(uintx, MaxHeapSize, ScaleForWordSize(512*M), \ - "Default maximum size for object heap (in bytes)") \ - \ - product_pd(uintx, NewSize, \
--- a/patches/hotspot/default/14.0b08/icedtea-no-precompiled.patch Fri Feb 20 12:41:09 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ ---- openjdk/hotspot/make/linux/makefiles/gcc.make.orig 2009-01-04 13:51:38.000000000 +0000 -+++ openjdk/hotspot/make/linux/makefiles/gcc.make 2009-01-04 13:53:34.000000000 +0000 -@@ -34,13 +34,6 @@ - CC_VER_MAJOR := $(shell $(CC) -dumpversion | sed 's/egcs-//' | cut -d'.' -f1) - CC_VER_MINOR := $(shell $(CC) -dumpversion | sed 's/egcs-//' | cut -d'.' -f2) - --# check for precompiled headers support --ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) \| \( \( $(CC_VER_MAJOR) = 3 \) \& \( $(CC_VER_MINOR) \>= 4 \) \))" "0" --USE_PRECOMPILED_HEADER=1 --PRECOMPILED_HEADER_DIR=. --PRECOMPILED_HEADER=$(PRECOMPILED_HEADER_DIR)/incls/_precompiled.incl.gch --endif -- - - #------------------------------------------------------------------------ - # Compiler flags ---- openjdk/hotspot/make/solaris/makefiles/gcc.make.orig 2009-01-04 14:44:12.000000000 +0000 -+++ openjdk/hotspot/make/solaris/makefiles/gcc.make 2009-01-04 17:06:50.000000000 +0000 -@@ -45,13 +45,6 @@ - $(shell $(CC) -dumpversion | sed 's/egcs-//' | cut -d'.' -f2) - - --# check for precompiled headers support --ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) \| \( \( $(CC_VER_MAJOR) = 3 \) \& \( $(CC_VER_MINOR) \>= 4 \) \))" "0" --USE_PRECOMPILED_HEADER=1 --PRECOMPILED_HEADER_DIR=. --PRECOMPILED_HEADER=$(PRECOMPILED_HEADER_DIR)/incls/_precompiled.incl.gch --endif -- - - #------------------------------------------------------------------------ - # Compiler flags
--- a/patches/hotspot/default/14.0b08/icedtea-params-cast-size_t.patch Fri Feb 20 12:41:09 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,121 +0,0 @@ -diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ---- openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp 2008-09-01 01:47:18.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp 2008-09-01 01:53:31.000000000 +0100 -@@ -938,7 +938,7 @@ - if (free_percentage < desired_free_percentage) { - size_t desired_capacity = (size_t)(used() / ((double) 1 - desired_free_percentage)); - assert(desired_capacity >= capacity(), "invalid expansion size"); -- expand_bytes = MAX2(desired_capacity - capacity(), MinHeapDeltaBytes); -+ expand_bytes = MAX2((long unsigned int) (desired_capacity - capacity()), (long unsigned int) MinHeapDeltaBytes); - } - if (expand_bytes > 0) { - if (PrintGCDetails && Verbose) { -@@ -6044,7 +6044,7 @@ - HeapWord* curAddr = _markBitMap.startWord(); - while (curAddr < _markBitMap.endWord()) { - size_t remaining = pointer_delta(_markBitMap.endWord(), curAddr); -- MemRegion chunk(curAddr, MIN2(CMSBitMapYieldQuantum, remaining)); -+ MemRegion chunk(curAddr, MIN2((size_t) CMSBitMapYieldQuantum, remaining)); - _markBitMap.clear_large_range(chunk); - if (ConcurrentMarkSweepThread::should_yield() && - !foregroundGCIsActive() && -@@ -6332,7 +6332,7 @@ - return; - } - // Double capacity if possible -- size_t new_capacity = MIN2(_capacity*2, CMSMarkStackSizeMax); -+ size_t new_capacity = MIN2((size_t) (_capacity*2), (size_t) CMSMarkStackSizeMax); - // Do not give up existing stack until we have managed to - // get the double capacity that we desired. - ReservedSpace rs(ReservedSpace::allocation_align_size_up( -diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ---- openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp 2008-08-14 08:40:10.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp 2008-09-01 01:49:59.000000000 +0100 -@@ -904,8 +904,8 @@ - void PSParallelCompact::initialize_dead_wood_limiter() - { - const size_t max = 100; -- _dwl_mean = double(MIN2(ParallelOldDeadWoodLimiterMean, max)) / 100.0; -- _dwl_std_dev = double(MIN2(ParallelOldDeadWoodLimiterStdDev, max)) / 100.0; -+ _dwl_mean = double(MIN2((size_t) ParallelOldDeadWoodLimiterMean, max)) / 100.0; -+ _dwl_std_dev = double(MIN2((size_t) ParallelOldDeadWoodLimiterStdDev, max)) / 100.0; - _dwl_first_term = 1.0 / (sqrt(2.0 * M_PI) * _dwl_std_dev); - DEBUG_ONLY(_dwl_initialized = true;) - _dwl_adjustment = normal_distribution(1.0); -diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp ---- openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp 2008-08-14 08:40:10.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp 2008-09-01 01:52:42.000000000 +0100 -@@ -63,7 +63,7 @@ - _last_used = current_live; - - // We have different alignment constraints than the rest of the heap. -- const size_t alignment = MAX2(MinPermHeapExpansion, -+ const size_t alignment = MAX2((size_t) MinPermHeapExpansion, - virtual_space()->alignment()); - - // Compute the desired size: -diff -Nru openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp ---- openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp 2008-08-14 08:40:10.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp 2008-09-01 02:58:03.000000000 +0100 -@@ -287,7 +287,7 @@ - // yield a size that is too small) and bound it by MaxNewSize above. - // Ergonomics plays here by previously calculating the desired - // NewSize and MaxNewSize. -- max_new_size = MIN2(MAX2(max_new_size, NewSize), MaxNewSize); -+ max_new_size = MIN2(MAX2(max_new_size, (size_t) NewSize), (size_t) MaxNewSize); - } - assert(max_new_size > 0, "All paths should set max_new_size"); - -diff -Nru openjdk.orig/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp openjdk/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp ---- openjdk.orig/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp 2008-08-14 08:40:11.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp 2008-09-01 01:49:59.000000000 +0100 -@@ -222,7 +222,7 @@ - size_t init_sz; - - if (TLABSize > 0) { -- init_sz = MIN2(TLABSize / HeapWordSize, max_size()); -+ init_sz = MIN2((size_t) (TLABSize / HeapWordSize), max_size()); - } else if (global_stats() == NULL) { - // Startup issue - main thread initialized before heap initialized. - init_sz = min_size(); -diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp openjdk/hotspot/src/share/vm/runtime/arguments.cpp ---- openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp 2008-09-01 01:47:17.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2008-09-01 01:58:01.000000000 +0100 -@@ -1025,7 +1025,7 @@ - // for "short" pauses ~ 4M*ParallelGCThreads - if (FLAG_IS_DEFAULT(MaxNewSize)) { // MaxNewSize not set at command-line - if (!FLAG_IS_DEFAULT(NewSize)) { // NewSize explicitly set at command-line -- FLAG_SET_ERGO(uintx, MaxNewSize, MAX2(NewSize, preferred_max_new_size)); -+ FLAG_SET_ERGO(uintx, MaxNewSize, MAX2((size_t) NewSize, preferred_max_new_size)); - } else { - FLAG_SET_ERGO(uintx, MaxNewSize, preferred_max_new_size); - } -@@ -1038,7 +1038,7 @@ - // Old to Young gen size so as to shift the collection load - // to the old generation concurrent collector - if (FLAG_IS_DEFAULT(NewRatio)) { -- FLAG_SET_ERGO(intx, NewRatio, MAX2(NewRatio, new_ratio)); -+ FLAG_SET_ERGO(intx, NewRatio, MAX2((intx) NewRatio, new_ratio)); - - size_t min_new = align_size_up(ScaleForWordSize(min_new_default), os::vm_page_size()); - size_t prev_initial_size = initial_heap_size(); -@@ -1067,8 +1067,8 @@ - // Unless explicitly requested otherwise, make young gen - // at least min_new, and at most preferred_max_new_size. - if (FLAG_IS_DEFAULT(NewSize)) { -- FLAG_SET_ERGO(uintx, NewSize, MAX2(NewSize, min_new)); -- FLAG_SET_ERGO(uintx, NewSize, MIN2(preferred_max_new_size, NewSize)); -+ FLAG_SET_ERGO(uintx, NewSize, MAX2((size_t) NewSize, min_new)); -+ FLAG_SET_ERGO(uintx, NewSize, MIN2(preferred_max_new_size, (size_t) NewSize)); - if(PrintGCDetails && Verbose) { - // Too early to use gclog_or_tty - tty->print_cr("Ergo set NewSize: " SIZE_FORMAT, NewSize); -@@ -1079,7 +1079,7 @@ - // later NewRatio will decide how it grows; see above. - if (FLAG_IS_DEFAULT(OldSize)) { - if (max_heap > NewSize) { -- FLAG_SET_ERGO(uintx, OldSize, MIN2(3*NewSize, max_heap - NewSize)); -+ FLAG_SET_ERGO(uintx, OldSize, MIN2((size_t) (3*NewSize), max_heap - (size_t) NewSize)); - if(PrintGCDetails && Verbose) { - // Too early to use gclog_or_tty - tty->print_cr("Ergo set OldSize: " SIZE_FORMAT, OldSize);
--- a/patches/hotspot/default/14.0b08/icedtea-parisc-opt.patch Fri Feb 20 12:41:09 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ ---- openjdk/hotspot/make/linux/makefiles/product.make.orig 2008-12-10 19:02:31.000000000 +0100 -+++ openjdk/hotspot/make/linux/makefiles/product.make 2008-12-10 19:24:53.000000000 +0100 -@@ -25,6 +25,11 @@ - # Sets make macros for making optimized version of Gamma VM - # (This is the "product", not the "release" version.) - -+# work around an ICE in gcc-4.1 and gcc-4.3 on parisc-linux -+ifeq ($(BUILDARCH)-$(ZERO_LIBARCH), zero-parisc) -+ OPT_CFLAGS/codeBlob.o = $(OPT_CFLAGS/NOOPT) -+endif -+ - # Compiler specific OPT_CFLAGS are passed in from gcc.make, sparcWorks.make - OPT_CFLAGS/DEFAULT= $(OPT_CFLAGS) - OPT_CFLAGS/BYFILE = $(OPT_CFLAGS/$@)$(OPT_CFLAGS/DEFAULT$(OPT_CFLAGS/$@)) ---- openjdk/hotspot/make/linux/makefiles/optimized.make.orig 2008-12-10 19:02:22.000000000 +0100 -+++ openjdk/hotspot/make/linux/makefiles/optimized.make 2008-12-10 19:24:24.000000000 +0100 -@@ -25,6 +25,11 @@ - # Sets make macros for making optimized version of Gamma VM - # (This is the "product", not the "release" version.) - -+# work around an ICE in gcc-4.1 and gcc-4.3 on parisc-linux -+ifeq ($(BUILDARCH)-$(ZERO_LIBARCH), zero-parisc) -+ OPT_CFLAGS/codeBlob.o = $(OPT_CFLAGS/NOOPT) -+endif -+ - # Compiler specific OPT_CFLAGS are passed in from gcc.make, sparcWorks.make - OPT_CFLAGS/DEFAULT= $(OPT_CFLAGS) - OPT_CFLAGS/BYFILE = $(OPT_CFLAGS/$@)$(OPT_CFLAGS/DEFAULT$(OPT_CFLAGS/$@))
--- a/patches/hotspot/default/14.0b08/icedtea-shark-build.patch Fri Feb 20 12:41:09 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,233 +0,0 @@ -diff -Nru openjdk.orig/hotspot/make/linux/Makefile openjdk/hotspot/make/linux/Makefile ---- openjdk.orig/hotspot/make/linux/Makefile 2008-07-03 08:39:52.000000000 +0100 -+++ openjdk/hotspot/make/linux/Makefile 2008-07-13 00:59:03.000000000 +0100 -@@ -158,6 +158,13 @@ - # profiledcore core <os>_<arch>_core/profiled - # productcore core <os>_<arch>_core/product - # -+# debugshark shark <os>_<arch>_shark/debug -+# fastdebugshark shark <os>_<arch>_shark/fastdebug -+# jvmgshark shark <os>_<arch>_shark/jvmg -+# optimizedshark shark <os>_<arch>_shark/optimized -+# profiledshark shark <os>_<arch>_shark/profiled -+# productshark shark <os>_<arch>_shark/product -+# - # What you get with each target: - # - # debug* - "thin" libjvm_g - debug info linked into the gamma_g launcher -@@ -176,11 +183,13 @@ - SUBDIRS_C2 = $(addprefix $(OSNAME)_$(BUILDARCH)_compiler2/,$(TARGETS)) - SUBDIRS_TIERED = $(addprefix $(OSNAME)_$(BUILDARCH)_tiered/,$(TARGETS)) - SUBDIRS_CORE = $(addprefix $(OSNAME)_$(BUILDARCH)_core/,$(TARGETS)) -+SUBDIRS_SHARK = $(addprefix $(OSNAME)_$(BUILDARCH)_shark/,$(TARGETS)) - - TARGETS_C2 = $(TARGETS) - TARGETS_C1 = $(addsuffix 1,$(TARGETS)) - TARGETS_TIERED = $(addsuffix tiered,$(TARGETS)) - TARGETS_CORE = $(addsuffix core,$(TARGETS)) -+TARGETS_SHARK = $(addsuffix shark,$(TARGETS)) - - BUILDTREE_MAKE = $(GAMMADIR)/make/$(OSNAME)/makefiles/buildtree.make - BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) ARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) -@@ -196,6 +205,7 @@ - @echo " $(TARGETS_C2)" - @echo " $(TARGETS_C1)" - @echo " $(TARGETS_CORE)" -+ @echo " $(TARGETS_SHARK)" - - checks: check_os_version check_j2se_version - -@@ -245,6 +255,10 @@ - $(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks - $(BUILDTREE) VARIANT=core - -+$(SUBDIRS_SHARK): $(BUILDTREE_MAKE) -+ $(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks -+ $(BUILDTREE) VARIANT=shark -+ - # Define INSTALL=y at command line to automatically copy JVM into JAVA_HOME - - $(TARGETS_C2): $(SUBDIRS_C2) -@@ -275,6 +289,12 @@ - cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && $(MAKE) $(MFLAGS) install - endif - -+$(TARGETS_SHARK): $(SUBDIRS_SHARK) -+ cd $(OSNAME)_$(BUILDARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS) -+ifdef INSTALL -+ cd $(OSNAME)_$(BUILDARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS) install -+endif -+ - # Just build the tree, and nothing else: - tree: $(SUBDIRS_C2) - tree1: $(SUBDIRS_C1) -@@ -305,7 +325,7 @@ - - #------------------------------------------------------------------------------- - --.PHONY: $(TARGETS_C2) $(TARGETS_C1) $(TARGETS_CORE) -+.PHONY: $(TARGETS_C2) $(TARGETS_C1) $(TARGETS_CORE) $(TARGETS_SHARK) - .PHONY: tree tree1 treecore - .PHONY: all compiler1 compiler2 core - .PHONY: clean clean_compiler1 clean_compiler2 clean_core docs clean_docs -diff -Nru openjdk.orig/hotspot/make/linux/makefiles/buildtree.make openjdk/hotspot/make/linux/makefiles/buildtree.make ---- openjdk.orig/hotspot/make/linux/makefiles/buildtree.make 2008-07-13 00:38:03.000000000 +0100 -+++ openjdk/hotspot/make/linux/makefiles/buildtree.make 2008-07-13 00:59:03.000000000 +0100 -@@ -215,8 +215,8 @@ - - ../shared_dirs.lst: $(BUILDTREE_MAKE) $(GAMMADIR)/src/share/vm - @echo Creating directory list $@ -- $(QUIETLY) find $(GAMMADIR)/src/share/vm/* -prune \ -- -type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find {} \ -+ $(QUIETLY) find -L $(GAMMADIR)/src/share/vm/* -prune \ -+ -type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find -L {} \ - \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; > $@ - - Makefile: $(BUILDTREE_MAKE) -diff -Nru openjdk.orig/hotspot/make/linux/makefiles/defs.make openjdk/hotspot/make/linux/makefiles/defs.make ---- openjdk.orig/hotspot/make/linux/makefiles/defs.make 2008-07-13 00:38:03.000000000 +0100 -+++ openjdk/hotspot/make/linux/makefiles/defs.make 2008-07-13 00:59:03.000000000 +0100 -@@ -118,6 +118,7 @@ - EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjsig.so - EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.so - ifndef ICEDTEA_CORE_BUILD -+ifndef ICEDTEA_SHARK_BUILD - ifeq ($(ARCH_DATA_MODEL), 32) - EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client - EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt -@@ -133,3 +134,4 @@ - endif - endif - endif -+endif -diff -Nru openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make ---- openjdk.orig/hotspot/make/linux/makefiles/gcc.make 2008-07-13 00:38:03.000000000 +0100 -+++ openjdk/hotspot/make/linux/makefiles/gcc.make 2008-07-13 00:59:03.000000000 +0100 -@@ -64,6 +64,9 @@ - ifdef ICEDTEA_ZERO_BUILD - CFLAGS += $(LIBFFI_CFLAGS) - endif -+ifdef ICEDTEA_SHARK_BUILD -+CFLAGS += $(LLVM_CFLAGS) -+endif - CFLAGS += $(VM_PICFLAG) - CFLAGS += -fno-rtti - CFLAGS += -fno-exceptions -diff -Nru openjdk.orig/hotspot/make/linux/makefiles/top.make openjdk/hotspot/make/linux/makefiles/top.make ---- openjdk.orig/hotspot/make/linux/makefiles/top.make 2008-07-03 08:39:53.000000000 +0100 -+++ openjdk/hotspot/make/linux/makefiles/top.make 2008-07-13 00:59:03.000000000 +0100 -@@ -73,6 +73,7 @@ - Include_DBs/COMPILER1 = $(Include_DBs/CORE) $(VM)/includeDB_compiler1 - Include_DBs/COMPILER2 = $(Include_DBs/CORE) $(VM)/includeDB_compiler2 - Include_DBs/TIERED = $(Include_DBs/CORE) $(VM)/includeDB_compiler1 $(VM)/includeDB_compiler2 -+Include_DBs/SHARK = $(Include_DBs/CORE) $(VM)/includeDB_shark - Include_DBs = $(Include_DBs/$(TYPE)) - - Cached_plat = $(GENERATED)/platform.current -diff -Nru openjdk.orig/hotspot/make/linux/makefiles/vm.make openjdk/hotspot/make/linux/makefiles/vm.make ---- openjdk.orig/hotspot/make/linux/makefiles/vm.make 2008-07-13 00:38:03.000000000 +0100 -+++ openjdk/hotspot/make/linux/makefiles/vm.make 2008-07-13 00:59:03.000000000 +0100 -@@ -126,10 +126,14 @@ - - STATIC_CXX = true - --ifeq ($(ZERO_LIBARCH), ppc64) -+ifdef ICEDTEA_SHARK_BUILD - STATIC_CXX = false - else -- STATIC_CXX = true -+ ifeq ($(ZERO_LIBARCH), ppc64) -+ STATIC_CXX = false -+ else -+ STATIC_CXX = true -+ endif - endif - - ifeq ($(LINK_INTO),AOUT) -@@ -157,6 +161,10 @@ - ifdef ICEDTEA_ZERO_BUILD - LIBS_VM += $(LIBFFI_LIBS) - endif -+ifdef ICEDTEA_SHARK_BUILD -+LFLAGS_VM += $(LLVM_LDFLAGS) -+LIBS_VM += $(LLVM_LIBS) -+endif - - LINK_VM = $(LINK_LIB.c) - -diff -Nru openjdk.orig/hotspot/make/Makefile openjdk/hotspot/make/Makefile ---- openjdk.orig/hotspot/make/Makefile 2008-07-13 00:38:02.000000000 +0100 -+++ openjdk/hotspot/make/Makefile 2008-07-13 00:59:03.000000000 +0100 -@@ -103,6 +103,15 @@ - all_debugcore: jvmgcore docs export_debug - all_optimizedcore: optimizedcore docs export_optimized - -+# Shark (C0) targets made available with this Makefile -+SHARK_VM_TARGETS=productshark fastdebugshark optimizedshark jvmgshark -+ -+allshark: all_productshark all_fastdebugshark -+all_productshark: productshark docs export_product -+all_fastdebugshark: fastdebugshark docs export_fastdebug -+all_debugshark: jvmgshark docs export_debug -+all_optimizedshark: optimizedshark docs export_optimized -+ - # Do everything - world: all create_jdk - -@@ -129,6 +138,10 @@ - $(CD) $(GAMMADIR)/make; \ - $(MAKE) VM_TARGET=$@ generic_buildcore $(ALT_OUT) - -+$(SHARK_VM_TARGETS): -+ $(CD) $(GAMMADIR)/make; \ -+ $(MAKE) VM_TARGET=$@ generic_buildshark $(ALT_OUT) -+ - $(KERNEL_VM_TARGETS): - $(CD) $(GAMMADIR)/make; \ - $(MAKE) VM_TARGET=$@ generic_buildkernel $(ALT_OUT) -@@ -181,6 +194,12 @@ - $(MAKE) -f $(ABS_OS_MAKEFILE) \ - $(MAKE_ARGS) $(VM_TARGET) - -+generic_buildshark: -+ $(MKDIR) -p $(OUTPUTDIR) -+ $(CD) $(OUTPUTDIR); \ -+ $(MAKE) -f $(ABS_OS_MAKEFILE) \ -+ $(MAKE_ARGS) $(VM_TARGET) -+ - generic_buildkernel: - $(MKDIR) -p $(OUTPUTDIR) - ifeq ($(OSNAME),windows) -@@ -230,8 +249,12 @@ - ifdef ICEDTEA_CORE_BUILD - C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_core - else -+ifdef ICEDTEA_SHARK_BUILD -+C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_shark -+else - C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler2 - endif -+endif - KERNEL_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_kernel - C1_DIR=$(C1_BASE_DIR)/$(VM_SUBDIR) - C2_DIR=$(C2_BASE_DIR)/$(VM_SUBDIR) -@@ -242,6 +265,10 @@ - MISC_DIR=$(C2_DIR) - GEN_DIR=$(C2_BASE_DIR)/generated - else -+ifdef ICEDTEA_SHARK_BUILD -+ MISC_DIR=$(C2_DIR) -+ GEN_DIR=$(C2_BASE_DIR)/generated -+else - ifeq ($(ARCH_DATA_MODEL), 32) - MISC_DIR=$(C1_DIR) - GEN_DIR=$(C1_BASE_DIR)/generated -@@ -250,6 +277,7 @@ - GEN_DIR=$(C2_BASE_DIR)/generated - endif - endif -+endif - - # Bin files (windows) - ifeq ($(OSNAME),windows) -
--- a/patches/hotspot/default/14.0b08/icedtea-shark.patch Fri Feb 20 12:41:09 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,366 +0,0 @@ ---- openjdk/hotspot/src/share/vm/oops/methodOop.cpp.orig 2008-11-22 00:11:18.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/oops/methodOop.cpp 2008-12-03 14:33:48.000000000 +0000 -@@ -727,10 +727,14 @@ - } - - OrderAccess::storestore(); -+#ifdef SHARK -+ mh->_from_interpreted_entry = code->instructions_begin(); -+#else - mh->_from_compiled_entry = code->verified_entry_point(); - OrderAccess::storestore(); - // Instantly compiled code can execute. - mh->_from_interpreted_entry = mh->get_i2c_entry(); -+#endif // SHARK - - } - ---- openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp.orig 2008-11-22 00:11:18.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp 2008-12-03 14:33:48.000000000 +0000 -@@ -44,6 +44,7 @@ - friend class VMStructs; - friend class CardTableRS; - friend class CheckForUnmarkedOops; // Needs access to raw card bytes. -+ friend class SharkBuilder; - #ifndef PRODUCT - // For debugging. - friend class GuaranteeNotModClosure; ---- openjdk/hotspot/src/share/vm/runtime/globals.cpp.orig 2008-11-22 00:11:18.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/runtime/globals.cpp 2008-12-03 14:33:48.000000000 +0000 -@@ -176,6 +176,18 @@ - #define C2_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{C2 notproduct}", DEFAULT }, - #endif - -+#define SHARK_PRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{Shark product}", DEFAULT }, -+#define SHARK_PD_PRODUCT_FLAG_STRUCT(type, name, doc) { #type, XSTR(name), &name, "{Shark pd product}", DEFAULT }, -+#define SHARK_DIAGNOSTIC_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{Shark diagnostic}", DEFAULT }, -+#ifdef PRODUCT -+ #define SHARK_DEVELOP_FLAG_STRUCT(type, name, value, doc) /* flag is constant */ -+ #define SHARK_PD_DEVELOP_FLAG_STRUCT(type, name, doc) /* flag is constant */ -+ #define SHARK_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc) -+#else -+ #define SHARK_DEVELOP_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{Shark}", DEFAULT }, -+ #define SHARK_PD_DEVELOP_FLAG_STRUCT(type, name, doc) { #type, XSTR(name), &name, "{Shark pd}", DEFAULT }, -+ #define SHARK_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{Shark notproduct}", DEFAULT }, -+#endif - - static Flag flagTable[] = { - RUNTIME_FLAGS(RUNTIME_DEVELOP_FLAG_STRUCT, RUNTIME_PD_DEVELOP_FLAG_STRUCT, RUNTIME_PRODUCT_FLAG_STRUCT, RUNTIME_PD_PRODUCT_FLAG_STRUCT, RUNTIME_DIAGNOSTIC_FLAG_STRUCT, RUNTIME_EXPERIMENTAL_FLAG_STRUCT, RUNTIME_NOTPRODUCT_FLAG_STRUCT, RUNTIME_MANAGEABLE_FLAG_STRUCT, RUNTIME_PRODUCT_RW_FLAG_STRUCT, RUNTIME_LP64_PRODUCT_FLAG_STRUCT) -@@ -189,6 +201,9 @@ - #ifdef COMPILER2 - C2_FLAGS(C2_DEVELOP_FLAG_STRUCT, C2_PD_DEVELOP_FLAG_STRUCT, C2_PRODUCT_FLAG_STRUCT, C2_PD_PRODUCT_FLAG_STRUCT, C2_DIAGNOSTIC_FLAG_STRUCT, C2_NOTPRODUCT_FLAG_STRUCT) - #endif -+#ifdef SHARK -+ SHARK_FLAGS(SHARK_DEVELOP_FLAG_STRUCT, SHARK_PD_DEVELOP_FLAG_STRUCT, SHARK_PRODUCT_FLAG_STRUCT, SHARK_PD_PRODUCT_FLAG_STRUCT, SHARK_DIAGNOSTIC_FLAG_STRUCT, SHARK_NOTPRODUCT_FLAG_STRUCT) -+#endif - {0, NULL, NULL} - }; - ---- openjdk/hotspot/src/share/vm/runtime/vframeArray.cpp.orig 2008-11-22 00:11:18.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/runtime/vframeArray.cpp 2008-12-03 14:33:49.000000000 +0000 -@@ -64,6 +64,11 @@ - assert(monitor->owner() == NULL || (!monitor->owner()->is_unlocked() && !monitor->owner()->has_bias_pattern()), "object must be null or locked, and unbiased"); - BasicObjectLock* dest = _monitors->at(index); - dest->set_obj(monitor->owner()); -+#ifdef SHARK -+ // XXX This can be removed when Shark knows -+ // which monitors are in use. -+ if (monitor->owner()) -+#endif // SHARK - monitor->lock()->move_to(monitor->owner(), dest->lock()); - } - } -@@ -262,6 +267,11 @@ - top = iframe()->previous_monitor_in_interpreter_frame(top); - BasicObjectLock* src = _monitors->at(index); - top->set_obj(src->obj()); -+#ifdef SHARK -+ // XXX This can be removed when Shark knows -+ // which monitors are in use. -+ if (src->obj()) -+#endif // SHARK - src->lock()->move_to(src->obj(), top->lock()); - } - if (ProfileInterpreter) { ---- openjdk/hotspot/src/share/vm/runtime/vm_version.cpp.orig 2008-12-03 14:23:37.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp 2008-12-03 14:33:48.000000000 +0000 -@@ -94,12 +94,16 @@ - #ifdef TIERED - #define VMTYPE "Server" - #else -+#ifdef SHARK -+ #define VMTYPE "Shark" -+#else - #if defined(COMPILER1) || defined(COMPILER2) -- #define VMTYPE COMPILER1_PRESENT("Client") \ -- COMPILER2_PRESENT("Server") -+ #define VMTYPE COMPILER1_PRESENT("Client") \ -+ COMPILER2_PRESENT("Server") - #else - #define VMTYPE "Core" - #endif // COMPILER1 || COMPILER2 -+#endif // SHARK - #endif // TIERED - #endif // KERNEL - ---- openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp.orig 2008-11-22 00:11:18.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp 2008-12-03 14:33:48.000000000 +0000 -@@ -229,6 +229,7 @@ - - } - -+#ifndef SHARK - // Compute the caller frame based on the sender sp of stub_frame and stored frame sizes info. - CodeBlob* cb = stub_frame.cb(); - // Verify we have the right vframeArray -@@ -239,6 +240,10 @@ - assert(cb->is_deoptimization_stub() || cb->is_uncommon_trap_stub(), "just checking"); - Events::log("fetch unroll sp " INTPTR_FORMAT, unpack_sp); - #endif -+#else -+ intptr_t* unpack_sp = stub_frame.sender(&dummy_map).unextended_sp(); -+#endif // !SHARK -+ - // This is a guarantee instead of an assert because if vframe doesn't match - // we will unpack the wrong deoptimized frame and wind up in strange places - // where it will be very difficult to figure out what went wrong. Better -@@ -349,7 +354,9 @@ - - frame_pcs[0] = deopt_sender.raw_pc(); - -+#ifndef SHARK - assert(CodeCache::find_blob_unsafe(frame_pcs[0]) != NULL, "bad pc"); -+#endif // SHARK - - UnrollBlock* info = new UnrollBlock(array->frame_size() * BytesPerWord, - caller_adjustment * BytesPerWord, -@@ -890,7 +897,20 @@ - // stuff a C2I adapter we can properly fill in the callee-save - // register locations. - frame caller = fr.sender(reg_map); -+#ifdef ZERO -+ int frame_size; -+ { -+ // In zero, frame::sp() is the *end* of the frame, so -+ // caller.sp() - fr.sp() is the size of the *caller*. -+ RegisterMap dummy_map(thread, false); -+ frame frame_1 = thread->last_frame(); -+ frame frame_2 = frame_1.sender(&dummy_map); -+ assert(frame_2.sp() == fr.sp(), "should be"); -+ frame_size = frame_2.sp() - frame_1.sp(); -+ } -+#else - int frame_size = caller.sp() - fr.sp(); -+#endif // ZERO - - frame sender = caller; - -@@ -1057,7 +1077,7 @@ - JRT_END - - --#ifdef COMPILER2 -+#if defined(COMPILER2) || defined(SHARK) - void Deoptimization::load_class_by_index(constantPoolHandle constant_pool, int index, TRAPS) { - // in case of an unresolved klass entry, load the class. - if (constant_pool->tag_at(index).is_unresolved_klass()) { -@@ -1808,7 +1828,7 @@ - if (xtty != NULL) xtty->tail("statistics"); - } - } --#else // COMPILER2 -+#else // COMPILER2 || SHARK - - - // Stubs for C1 only system. -@@ -1844,4 +1864,4 @@ - return buf; - } - --#endif // COMPILER2 -+#endif // COMPILER2 || SHARK ---- openjdk/hotspot/src/share/vm/runtime/globals.hpp.orig 2008-12-03 14:22:17.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/runtime/globals.hpp 2008-12-03 14:33:48.000000000 +0000 -@@ -22,7 +22,7 @@ - * - */ - --#if !defined(COMPILER1) && !defined(COMPILER2) -+#if !defined(COMPILER1) && !defined(COMPILER2) && !defined(SHARK) - define_pd_global(bool, BackgroundCompilation, false); - define_pd_global(bool, UseTLAB, false); - define_pd_global(bool, CICompileOSR, false); ---- openjdk/hotspot/src/share/vm/code/nmethod.hpp.orig 2008-11-22 00:11:18.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/code/nmethod.hpp 2008-12-03 14:33:48.000000000 +0000 -@@ -318,6 +318,7 @@ - - bool is_compiled_by_c1() const; - bool is_compiled_by_c2() const; -+ bool is_compiled_by_shark() const; - - // boundaries for different parts - address code_begin () const { return _entry_point; } ---- openjdk/hotspot/src/share/vm/code/nmethod.cpp.orig 2008-11-22 00:11:18.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/code/nmethod.cpp 2008-12-03 14:33:48.000000000 +0000 -@@ -65,6 +65,11 @@ - assert(compiler() != NULL, "must be"); - return compiler()->is_c2(); - } -+bool nmethod::is_compiled_by_shark() const { -+ if (is_native_method()) return false; -+ assert(compiler() != NULL, "must be"); -+ return compiler()->is_shark(); -+} - - - -@@ -1567,6 +1572,7 @@ - // Method that knows how to preserve outgoing arguments at call. This method must be - // called with a frame corresponding to a Java invoke - void nmethod::preserve_callee_argument_oops(frame fr, const RegisterMap *reg_map, OopClosure* f) { -+#ifndef SHARK - if (!method()->is_native()) { - SimpleScopeDesc ssd(this, fr.pc()); - Bytecode_invoke* call = Bytecode_invoke_at(ssd.method(), ssd.bci()); -@@ -1574,6 +1580,7 @@ - symbolOop signature = call->signature(); - fr.oops_compiled_arguments_do(signature, is_static, reg_map, f); - } -+#endif // !SHARK - } - - -@@ -2003,6 +2010,8 @@ - tty->print("(c1) "); - } else if (is_compiled_by_c2()) { - tty->print("(c2) "); -+ } else if (is_compiled_by_shark()) { -+ tty->print("(shark) "); - } else { - tty->print("(nm) "); - } ---- openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp.orig 2008-11-22 00:11:18.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp 2008-12-03 14:33:48.000000000 +0000 -@@ -554,6 +554,14 @@ - #endif - #endif // COMPILER2 - -+#ifdef SHARK -+#if defined(COMPILER1) || defined(COMPILER2) -+#error "Can't use COMPILER1 or COMPILER2 with shark" -+#endif -+ _compilers[0] = new SharkCompiler(); -+ _compilers[1] = _compilers[0]; -+#endif -+ - // Initialize the CompileTask free list - _task_free_list = NULL; - ---- openjdk/hotspot/src/share/vm/compiler/abstractCompiler.hpp.orig 2008-11-22 00:11:18.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/compiler/abstractCompiler.hpp 2008-12-03 14:33:48.000000000 +0000 -@@ -45,18 +45,26 @@ - // Missing feature tests - virtual bool supports_native() { return true; } - virtual bool supports_osr () { return true; } --#if defined(TIERED) || ( !defined(COMPILER1) && !defined(COMPILER2)) -+#if defined(TIERED) || ( !defined(COMPILER1) && !defined(COMPILER2) && !defined(SHARK)) - virtual bool is_c1 () { return false; } - virtual bool is_c2 () { return false; } -+ virtual bool is_shark() { return false; } - #else - #ifdef COMPILER1 - bool is_c1 () { return true; } - bool is_c2 () { return false; } -+ bool is_shark() { return false; } - #endif // COMPILER1 - #ifdef COMPILER2 - bool is_c1 () { return false; } - bool is_c2 () { return true; } -+ bool is_shark() { return false; } - #endif // COMPILER2 -+#ifdef SHARK -+ bool is_c1 () { return false; } -+ bool is_c2 () { return false; } -+ bool is_shark() { return true; } -+#endif // SHARK - #endif // TIERED - - // Customization ---- openjdk/hotspot/src/share/vm/ci/ciMethod.hpp.orig 2008-11-22 00:11:18.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/ci/ciMethod.hpp 2008-12-03 14:33:48.000000000 +0000 -@@ -69,7 +69,7 @@ - - // Optional liveness analyzer. - MethodLiveness* _liveness; --#ifdef COMPILER2 -+#if defined(COMPILER2) || defined(SHARK) - ciTypeFlow* _flow; - #endif - ---- openjdk/hotspot/src/share/vm/ci/ciMethod.cpp.orig 2008-11-22 00:11:18.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/ci/ciMethod.cpp 2008-12-03 14:33:48.000000000 +0000 -@@ -56,9 +56,9 @@ - _liveness = NULL; - _bcea = NULL; - _method_blocks = NULL; --#ifdef COMPILER2 -+#if defined(COMPILER2) || defined(SHARK) - _flow = NULL; --#endif // COMPILER2 -+#endif // COMPILER2 || SHARK - - if (JvmtiExport::can_hotswap_or_post_breakpoint() && _is_compilable) { - // 6328518 check hotswap conditions under the right lock. -@@ -124,9 +124,9 @@ - _bcea = NULL; - _method_blocks = NULL; - _method_data = NULL; --#ifdef COMPILER2 -+#if defined(COMPILER2) || defined(SHARK) - _flow = NULL; --#endif // COMPILER2 -+#endif // COMPILER2 || SHARK - } - - -@@ -294,34 +294,34 @@ - // ------------------------------------------------------------------ - // ciMethod::get_flow_analysis - ciTypeFlow* ciMethod::get_flow_analysis() { --#ifdef COMPILER2 -+#if defined(COMPILER2) || defined(SHARK) - if (_flow == NULL) { - ciEnv* env = CURRENT_ENV; - _flow = new (env->arena()) ciTypeFlow(env, this); - _flow->do_flow(); - } - return _flow; --#else // COMPILER2 -+#else // COMPILER2 || SHARK - ShouldNotReachHere(); - return NULL; --#endif // COMPILER2 -+#endif // COMPILER2 || SHARK - } - - - // ------------------------------------------------------------------ - // ciMethod::get_osr_flow_analysis - ciTypeFlow* ciMethod::get_osr_flow_analysis(int osr_bci) { --#ifdef COMPILER2 -+#if defined(COMPILER2) || defined(SHARK) - // OSR entry points are always place after a call bytecode of some sort - assert(osr_bci >= 0, "must supply valid OSR entry point"); - ciEnv* env = CURRENT_ENV; - ciTypeFlow* flow = new (env->arena()) ciTypeFlow(env, this, osr_bci); - flow->do_flow(); - return flow; --#else // COMPILER2 -+#else // COMPILER2 || SHARK - ShouldNotReachHere(); - return NULL; --#endif // COMPILER2 -+#endif // COMPILER2 || SHARK - } - - // ------------------------------------------------------------------
--- a/patches/hotspot/default/14.0b08/icedtea-sparc-buildfixes.patch Fri Feb 20 12:41:09 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ ---- openjdk/hotspot/make/linux/makefiles/gcc.make.orig 2008-12-04 20:29:08.000000000 +0000 -+++ openjdk/hotspot/make/linux/makefiles/gcc.make 2008-12-04 20:32:54.000000000 +0000 -@@ -52,6 +52,10 @@ - PICFLAG = -fpic - endif - -+ifneq ($(filter sparc sparcv9,$(BUILDARCH)),) -+PICFLAG = -fPIC -+endif -+ - VM_PICFLAG/LIBJVM = $(PICFLAG) - VM_PICFLAG/AOUT = - VM_PICFLAG = $(VM_PICFLAG/$(LINK_INTO)) ---- openjdk/hotspot/make/linux/makefiles/defs.make.orig 2008-12-04 20:29:04.000000000 +0000 -+++ openjdk/hotspot/make/linux/makefiles/defs.make 2008-12-04 20:32:54.000000000 +0000 -@@ -59,7 +59,7 @@ - endif - - # sparc --ifeq ($(ARCH), sparc64) -+ifneq (,$(filter $(ARCH), sparc sparc64)) - ifeq ($(ARCH_DATA_MODEL), 64) - ARCH_DATA_MODEL = 64 - MAKE_ARGS += LP64=1 ---- openjdk/hotspot/src/cpu/sparc/vm/frame_sparc.hpp.orig 2008-12-04 20:32:19.000000000 +0000 -+++ openjdk/hotspot/src/cpu/sparc/vm/frame_sparc.hpp 2008-12-04 20:32:54.000000000 +0000 -@@ -264,7 +264,7 @@ - - private: - -- constantPoolCacheOop* frame::interpreter_frame_cpoolcache_addr() const; -+ constantPoolCacheOop* interpreter_frame_cpoolcache_addr() const; - - #ifndef CC_INTERP -
--- a/patches/hotspot/default/14.0b08/icedtea-sparc-ptracefix.patch Fri Feb 20 12:41:09 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ -diff -up openjdk/hotspot/agent/src/os/linux/libproc.h.BAD openjdk/hotspot/agent/src/os/linux/libproc.h ---- openjdk/hotspot/agent/src/os/linux/libproc.h.BAD 2008-05-29 19:03:34.000000000 -0400 -+++ openjdk/hotspot/agent/src/os/linux/libproc.h 2008-05-29 19:01:45.000000000 -0400 -@@ -34,14 +34,25 @@ - - #if defined(sparc) || defined(sparcv9) - /* -- If _LP64 is defined ptrace.h should be taken from /usr/include/asm-sparc64 -- otherwise it should be from /usr/include/asm-sparc -- These two files define pt_regs structure differently -+ Taken from asm-sparc/ptrace.h and asm-sparc64/ptrace.h - */ - #ifdef _LP64 --#include "asm-sparc64/ptrace.h" -+struct pt_regs { -+ unsigned long u_regs[16]; /* globals and ins */ -+ unsigned long tstate; -+ unsigned long tpc; -+ unsigned long tnpc; -+ unsigned int y; -+ unsigned int fprs; -+}; - #else --#include "asm-sparc/ptrace.h" -+struct pt_regs { -+ unsigned long psr; -+ unsigned long pc; -+ unsigned long npc; -+ unsigned long y; -+ unsigned long u_regs[16]; /* globals and ins */ -+}; - #endif - - #endif //sparc or sparcv9
--- a/patches/hotspot/default/14.0b08/icedtea-sparc-trapsfix.patch Fri Feb 20 12:41:09 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ -diff -Nru openjdk.orig/hotspot/src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp openjdk/hotspot/src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp ---- openjdk.orig/hotspot/src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp 2008-08-04 08:40:18.000000000 +0100 -+++ openjdk/hotspot/src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp 2008-08-09 01:29:51.000000000 +0100 -@@ -25,7 +25,16 @@ - #include "incls/_precompiled.incl" - #include "incls/_assembler_linux_sparc.cpp.incl" - --#include <asm-sparc/traps.h> -+/* Headers for 32bit sparc with a 32bit userland end up in asm/ -+ * Headers for 32bit sparc with a 64bit userland end up in asm-sparc/ -+ * There is no traps.h in asm-sparc64/ -+ */ -+ -+#if defined(__sparc__) && defined(__arch64__) -+# include <asm-sparc/traps.h> -+#else -+# include <asm/traps.h> -+#endif - - void MacroAssembler::read_ccr_trap(Register ccr_save) { - // No implementation
--- a/patches/hotspot/default/14.0b08/icedtea-sparc64-linux.patch Fri Feb 20 12:41:09 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ -diff -Nru openjdk.orig/hotspot/make/linux/makefiles/defs.make openjdk/hotspot/make/linux/makefiles/defs.make ---- openjdk.orig/hotspot/make/linux/makefiles/defs.make 2008-06-22 22:28:06.000000000 +0100 -+++ openjdk/hotspot/make/linux/makefiles/defs.make 2008-06-22 22:35:27.000000000 +0100 -@@ -73,6 +73,14 @@ - HS_ARCH = sparc - endif - -+# sparc -+ifeq ($(ARCH), sparc) -+ ARCH_DATA_MODEL = 32 -+ PLATFORM = linux-sparc -+ VM_PLATFORM = linux_sparc -+ HS_ARCH = sparc -+endif -+ - # x86_64 - ifeq ($(ARCH), x86_64) - ifeq ($(ARCH_DATA_MODEL), 64) -diff -Nru openjdk.orig/hotspot/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp openjdk/hotspot/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp ---- openjdk.orig/hotspot/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp 2008-06-22 20:44:41.000000000 +0100 -+++ openjdk/hotspot/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp 2008-06-22 22:35:27.000000000 +0100 -@@ -1112,20 +1112,12 @@ - - void LIRGenerator::volatile_field_store(LIR_Opr value, LIR_Address* address, - CodeEmitInfo* info) { --#ifdef _LP64 -- __ store(value, address, info); --#else - __ volatile_store_mem_reg(value, address, info); --#endif - } - - void LIRGenerator::volatile_field_load(LIR_Address* address, LIR_Opr result, - CodeEmitInfo* info) { --#ifdef _LP64 -- __ load(address, result, info); --#else - __ volatile_load_mem_reg(address, result, info); --#endif - } - -
--- a/patches/hotspot/default/14.0b08/icedtea-static-libstdc++.patch Fri Feb 20 12:41:09 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,16 +0,0 @@ -diff -Nru openjdk.orig/hotspot/make/linux/makefiles/vm.make openjdk/hotspot/make/linux/makefiles/vm.make ---- openjdk.orig/hotspot/make/linux/makefiles/vm.make 2008-05-16 22:13:31.000000000 +0100 -+++ openjdk/hotspot/make/linux/makefiles/vm.make 2008-05-23 23:25:47.000000000 +0100 -@@ -124,6 +124,12 @@ - - STATIC_CXX = true - -+ifeq ($(ZERO_LIBARCH), ppc64) -+ STATIC_CXX = false -+else -+ STATIC_CXX = true -+endif -+ - ifeq ($(LINK_INTO),AOUT) - LIBJVM.o = - LIBJVM_MAPFILE =
--- a/patches/hotspot/default/14.0b08/icedtea-text-relocations.patch Fri Feb 20 12:41:09 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +0,0 @@ -diff -Nru openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make ---- openjdk.orig/hotspot/make/linux/makefiles/gcc.make 2008-07-17 08:40:27.000000000 +0100 -+++ openjdk/hotspot/make/linux/makefiles/gcc.make 2008-07-21 23:10:50.000000000 +0100 -@@ -46,7 +46,11 @@ - # Compiler flags - - # position-independent code -+ifneq ($(filter parisc ppc ppc64 s390 s390x sparc sparc64 sparcv9,$(ZERO_LIBARCH)),) - PICFLAG = -fPIC -+else -+PICFLAG = -fpic -+endif - - VM_PICFLAG/LIBJVM = $(PICFLAG) - VM_PICFLAG/AOUT = ---- rules.make.orig 2008-12-12 11:23:31.000000000 -0500 -+++ openjdk/hotspot/make/linux/makefiles/rules.make 2008-12-12 11:32:26.000000000 -0500 -@@ -138,20 +138,10 @@ - include $(GAMMADIR)/make/pic.make - endif - --# The non-PIC object files are only generated for 32 bit platforms. --ifdef LP64 - %.o: %.cpp - @echo Compiling $< - $(QUIETLY) $(REMOVE_TARGET) - $(QUIETLY) $(COMPILE.CC) -o $@ $< $(COMPILE_DONE) --else --%.o: %.cpp -- @echo Compiling $< -- $(QUIETLY) $(REMOVE_TARGET) -- $(QUIETLY) $(if $(findstring $@, $(NONPIC_OBJ_FILES)), \ -- $(subst $(VM_PICFLAG), ,$(COMPILE.CC)) -o $@ $< $(COMPILE_DONE), \ -- $(COMPILE.CC) -o $@ $< $(COMPILE_DONE)) --endif - - %.o: %.s - @echo Assembling $< ---- rules.make.orig 2008-12-12 11:42:55.000000000 -0500 -+++ openjdk/hotspot/make/solaris/makefiles/rules.make 2008-12-12 11:44:01.000000000 -0500 -@@ -138,20 +138,10 @@ - include $(GAMMADIR)/make/pic.make - endif - --# Sun compiler for 64 bit Solaris does not support building non-PIC object files. --ifdef LP64 - %.o: %.cpp - @echo Compiling $< - $(QUIETLY) $(REMOVE_TARGET) - $(QUIETLY) $(COMPILE.CC) -o $@ $< $(COMPILE_DONE) --else --%.o: %.cpp -- @echo Compiling $< -- $(QUIETLY) $(REMOVE_TARGET) -- $(QUIETLY) $(if $(findstring $@, $(NONPIC_OBJ_FILES)), \ -- $(subst $(VM_PICFLAG), ,$(COMPILE.CC)) -o $@ $< $(COMPILE_DONE), \ -- $(COMPILE.CC) -o $@ $< $(COMPILE_DONE)) --endif - - %.o: %.s - @echo Assembling $<
--- a/patches/hotspot/default/14.0b08/icedtea-use-idx_t.patch Fri Feb 20 12:41:09 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +0,0 @@ -diff -Nru openjdk.orig/hotspot/src/share/vm/compiler/methodLiveness.cpp openjdk/hotspot/src/share/vm/compiler/methodLiveness.cpp ---- openjdk.orig/hotspot/src/share/vm/compiler/methodLiveness.cpp 2008-11-06 08:40:55.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/compiler/methodLiveness.cpp 2008-11-10 00:55:09.000000000 +0000 -@@ -567,15 +567,15 @@ - - - MethodLiveness::BasicBlock::BasicBlock(MethodLiveness *analyzer, int start, int limit) : -- _gen((uintptr_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), -+ _gen((size_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), - analyzer->bit_map_size_bits()), -- _kill((uintptr_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), -+ _kill((size_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), - analyzer->bit_map_size_bits()), -- _entry((uintptr_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), -+ _entry((size_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), - analyzer->bit_map_size_bits()), -- _normal_exit((uintptr_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), -+ _normal_exit((size_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), - analyzer->bit_map_size_bits()), -- _exception_exit((uintptr_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), -+ _exception_exit((size_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), - analyzer->bit_map_size_bits()), - _last_bci(-1) { - _analyzer = analyzer; -@@ -992,7 +992,7 @@ - } - - MethodLivenessResult MethodLiveness::BasicBlock::get_liveness_at(ciMethod* method, int bci) { -- MethodLivenessResult answer(NEW_RESOURCE_ARRAY(uintptr_t, _analyzer->bit_map_size_words()), -+ MethodLivenessResult answer(NEW_RESOURCE_ARRAY(size_t, _analyzer->bit_map_size_words()), - _analyzer->bit_map_size_bits()); - answer.set_is_valid(); - -diff -Nru openjdk.orig/hotspot/src/share/vm/utilities/bitMap.hpp openjdk/hotspot/src/share/vm/utilities/bitMap.hpp ---- openjdk.orig/hotspot/src/share/vm/utilities/bitMap.hpp 2008-11-06 08:40:58.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/utilities/bitMap.hpp 2008-11-10 00:57:20.000000000 +0000 -@@ -73,7 +73,7 @@ - - // Set a word to a specified value or to all ones; clear a word. - void set_word (idx_t word, bm_word_t val) { _map[word] = val; } -- void set_word (idx_t word) { set_word(word, ~(uintptr_t)0); } -+ void set_word (idx_t word) { set_word(word, ~(idx_t)0); } - void clear_word(idx_t word) { _map[word] = 0; } - - // Utilities for ranges of bits. Ranges are half-open [beg, end).
--- a/patches/hotspot/default/14.0b08/icedtea-version.patch Fri Feb 20 12:41:09 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ -diff -Nru openjdk.orig/hotspot/make/linux/makefiles/vm.make openjdk/hotspot/make/linux/makefiles/vm.make ---- openjdk.orig/hotspot/make/linux/makefiles/vm.make 2008-11-06 08:40:50.000000000 +0000 -+++ openjdk/hotspot/make/linux/makefiles/vm.make 2008-11-19 12:15:54.000000000 +0000 -@@ -86,6 +86,10 @@ - ${JRE_VERSION} \ - ${VM_DISTRO} - -+ifdef DISTRIBUTION_ID -+CPPFLAGS += -DDISTRIBUTION_ID="\"$(DISTRIBUTION_ID)\"" -+endif -+ - # CFLAGS_WARN holds compiler options to suppress/enable warnings. - CFLAGS += $(CFLAGS_WARN/BYFILE) - -diff -Nru openjdk.orig/hotspot/src/share/vm/utilities/vmError.cpp openjdk/hotspot/src/share/vm/utilities/vmError.cpp ---- openjdk.orig/hotspot/src/share/vm/utilities/vmError.cpp 2008-11-06 08:40:58.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/utilities/vmError.cpp 2008-11-19 12:15:54.000000000 +0000 -@@ -165,7 +165,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 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 -@@ -339,6 +340,9 @@ - Abstract_VM_Version::vm_platform_string(), - UseCompressedOops ? "compressed oops" : "" - ); -+#ifdef DISTRIBUTION_ID -+ st->print_cr("# Distribution: %s", DISTRIBUTION_ID); -+#endif - - STEP(60, "(printing problematic frame)") - ---- arguments.cpp 2008-12-15 12:25:14.000000000 -0500 -+++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2008-12-15 12:25:32.000000000 -0500 -@@ -25,7 +25,7 @@ - #include "incls/_precompiled.incl" - #include "incls/_arguments.cpp.incl" - --#define DEFAULT_VENDOR_URL_BUG "http://java.sun.com/webapps/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/patches/hotspot/default/14.0b08/icedtea-zero-build.patch Fri Feb 20 12:41:09 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,129 +0,0 @@ -diff -Nru openjdk.orig/hotspot/make/defs.make openjdk/hotspot/make/defs.make ---- openjdk.orig/hotspot/make/defs.make 2008-11-22 00:11:18.000000000 +0000 -+++ openjdk/hotspot/make/defs.make 2008-11-29 02:14:15.000000000 +0000 -@@ -192,13 +192,14 @@ - - # Use uname output for SRCARCH, but deal with platform differences. If ARCH - # is not explicitly listed below, it is treated as x86. -- SRCARCH = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64,$(ARCH))) -+ SRCARCH = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 zero,$(ARCH))) - ARCH/ = x86 - ARCH/sparc = sparc - ARCH/sparc64= sparc - ARCH/ia64 = ia64 - ARCH/amd64 = x86 - ARCH/x86_64 = x86 -+ ARCH/zero = zero - - # BUILDARCH is usually the same as SRCARCH, except for sparcv9 - BUILDARCH = $(SRCARCH) -@@ -222,8 +223,9 @@ - LIBARCH/sparc = sparc - LIBARCH/sparcv9 = sparcv9 - LIBARCH/ia64 = ia64 -+ LIBARCH/zero = $(ZERO_LIBARCH) - -- LP64_ARCH = sparcv9 amd64 ia64 -+ LP64_ARCH = sparcv9 amd64 ia64 zero - endif - - # Required make macro settings for all platforms -diff -Nru openjdk.orig/hotspot/make/linux/makefiles/buildtree.make openjdk/hotspot/make/linux/makefiles/buildtree.make ---- openjdk.orig/hotspot/make/linux/makefiles/buildtree.make 2008-11-22 00:11:18.000000000 +0000 -+++ openjdk/hotspot/make/linux/makefiles/buildtree.make 2008-11-29 02:14:15.000000000 +0000 -@@ -321,6 +321,7 @@ - DATA_MODE/sparcv9 = 64 - DATA_MODE/amd64 = 64 - DATA_MODE/ia64 = 64 -+DATA_MODE/zero = $(ZERO_BITSPERWORD) - - JAVA_FLAG/32 = -d32 - JAVA_FLAG/64 = -d64 -diff -Nru openjdk.orig/hotspot/make/linux/makefiles/defs.make openjdk/hotspot/make/linux/makefiles/defs.make ---- openjdk.orig/hotspot/make/linux/makefiles/defs.make 2008-11-29 01:55:52.000000000 +0000 -+++ openjdk/hotspot/make/linux/makefiles/defs.make 2008-11-29 02:14:15.000000000 +0000 -@@ -37,6 +37,18 @@ - ARCH_DATA_MODEL ?= 32 - endif - -+# zero -+ifdef ICEDTEA_ZERO_BUILD -+ ARCH_DATA_MODEL = $(ZERO_BITSPERWORD) -+ ifeq ($(ARCH_DATA_MODEL), 64) -+ MAKE_ARGS += LP64=1 -+ endif -+ PLATFORM = linux-zero -+ VM_PLATFORM = linux_zero -+ HS_ARCH = zero -+ ARCH = zero -+endif -+ - # ia64 - ifeq ($(ARCH), ia64) - ARCH_DATA_MODEL = 64 -diff -Nru openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make ---- openjdk.orig/hotspot/make/linux/makefiles/gcc.make 2008-11-29 01:55:52.000000000 +0000 -+++ openjdk/hotspot/make/linux/makefiles/gcc.make 2008-11-29 02:14:15.000000000 +0000 -@@ -56,6 +56,9 @@ - VM_PICFLAG/AOUT = - VM_PICFLAG = $(VM_PICFLAG/$(LINK_INTO)) - -+ifdef ICEDTEA_ZERO_BUILD -+CFLAGS += $(LIBFFI_CFLAGS) -+endif - CFLAGS += $(VM_PICFLAG) - CFLAGS += -fno-rtti - CFLAGS += -fno-exceptions -@@ -72,6 +75,7 @@ - ARCHFLAG/ia64 = - ARCHFLAG/sparc = -m32 -mcpu=v9 - ARCHFLAG/sparcv9 = -m64 -mcpu=v9 -+ARCHFLAG/zero = $(ZERO_ARCHFLAG) - - CFLAGS += $(ARCHFLAG) - AOUT_FLAGS += $(ARCHFLAG) -diff -Nru openjdk.orig/hotspot/make/linux/makefiles/sa.make openjdk/hotspot/make/linux/makefiles/sa.make ---- openjdk.orig/hotspot/make/linux/makefiles/sa.make 2008-11-22 00:11:18.000000000 +0000 -+++ openjdk/hotspot/make/linux/makefiles/sa.make 2008-11-29 02:14:15.000000000 +0000 -@@ -52,10 +52,10 @@ - SA_PROPERTIES = $(SA_CLASSDIR)/sa.properties - - # if $(AGENT_DIR) does not exist, we don't build SA --# also, we don't build SA on Itanium. -+# also, we don't build SA on Itanium or zero. - - all: -- if [ -d $(AGENT_DIR) -a "$(SRCARCH)" != "ia64" ] ; then \ -+ if [ -d $(AGENT_DIR) -a "$(SRCARCH)" != "ia64" -a "$(SRCARCH)" != "zero" ] ; then \ - $(MAKE) -f sa.make $(GENERATED)/sa-jdi.jar; \ - fi - -diff -Nru openjdk.orig/hotspot/make/linux/makefiles/saproc.make openjdk/hotspot/make/linux/makefiles/saproc.make ---- openjdk.orig/hotspot/make/linux/makefiles/saproc.make 2008-11-22 00:11:18.000000000 +0000 -+++ openjdk/hotspot/make/linux/makefiles/saproc.make 2008-11-29 02:14:15.000000000 +0000 -@@ -44,10 +44,10 @@ - DEST_SAPROC = $(JDK_LIBDIR)/$(LIBSAPROC) - - # if $(AGENT_DIR) does not exist, we don't build SA --# also, we don't build SA on Itanium. -+# also, we don't build SA on Itanium or zero. - - checkAndBuildSA: -- $(QUIETLY) if [ -d $(AGENT_DIR) -a "$(SRCARCH)" != "ia64" ] ; then \ -+ $(QUIETLY) if [ -d $(AGENT_DIR) -a "$(SRCARCH)" != "ia64" -a "$(SRCARCH)" != "zero" ] ; then \ - $(MAKE) -f vm.make $(LIBSAPROC); \ - fi - -diff -Nru openjdk.orig/hotspot/make/linux/makefiles/vm.make openjdk/hotspot/make/linux/makefiles/vm.make ---- openjdk.orig/hotspot/make/linux/makefiles/vm.make 2008-11-29 01:55:52.000000000 +0000 -+++ openjdk/hotspot/make/linux/makefiles/vm.make 2008-11-29 02:14:15.000000000 +0000 -@@ -158,6 +158,9 @@ - - LIBS_VM += $(LIBS) - endif -+ifdef ICEDTEA_ZERO_BUILD -+LIBS_VM += $(LIBFFI_LIBS) -+endif - - LINK_VM = $(LINK_LIB.c) -
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/default/icedtea-6791168.patch Fri Feb 20 12:42:30 2009 +0000 @@ -0,0 +1,230 @@ +--- openjdk/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp.orig 2009-01-13 10:15:42.000000000 +0000 ++++ openjdk/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp 2009-01-13 10:17:05.000000000 +0000 +@@ -594,7 +594,7 @@ + __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::frequency_counter_overflow), rax); + + // for c++ interpreter can rsi really be munged? +- __ lea(state, Address(rbp, -sizeof(BytecodeInterpreter))); // restore state ++ __ lea(state, Address(rbp, -(int)sizeof(BytecodeInterpreter))); // restore state + __ movptr(rbx, Address(state, byte_offset_of(BytecodeInterpreter, _method))); // restore method + __ movptr(rdi, Address(state, byte_offset_of(BytecodeInterpreter, _locals))); // get locals pointer + +@@ -658,7 +658,7 @@ + const Address size_of_stack (rbx, methodOopDesc::max_stack_offset()); + // Always give one monitor to allow us to start interp if sync method. + // Any additional monitors need a check when moving the expression stack +- const one_monitor = frame::interpreter_frame_monitor_size() * wordSize; ++ const int one_monitor = frame::interpreter_frame_monitor_size() * wordSize; + __ load_unsigned_word(rax, size_of_stack); // get size of expression stack in words + __ lea(rax, Address(noreg, rax, Interpreter::stackElementScale(), one_monitor)); + __ lea(rax, Address(rax, rdx, Interpreter::stackElementScale(), overhead_size)); +@@ -1829,7 +1829,7 @@ + Label unwind_and_forward; + + // restore state pointer. +- __ lea(state, Address(rbp, -sizeof(BytecodeInterpreter))); ++ __ lea(state, Address(rbp, -(int)sizeof(BytecodeInterpreter))); + + __ movptr(rbx, STATE(_method)); // get method + #ifdef _LP64 +@@ -1877,14 +1877,14 @@ + + // The FPU stack is clean if UseSSE >= 2 but must be cleaned in other cases + if (UseSSE < 2) { +- __ lea(state, Address(rbp, -sizeof(BytecodeInterpreter))); ++ __ lea(state, Address(rbp, -(int)sizeof(BytecodeInterpreter))); + __ movptr(rbx, STATE(_result._to_call._callee)); // get method just executed + __ movl(rcx, Address(rbx, methodOopDesc::result_index_offset())); + __ cmpl(rcx, AbstractInterpreter::BasicType_as_index(T_FLOAT)); // Result stub address array index + __ jcc(Assembler::equal, do_float); + __ cmpl(rcx, AbstractInterpreter::BasicType_as_index(T_DOUBLE)); // Result stub address array index + __ jcc(Assembler::equal, do_double); +-#ifdef COMPILER2 ++#if !defined(_LP64) || defined(COMPILER1) || !defined(COMPILER2) + __ empty_FPU_stack(); + #endif // COMPILER2 + __ jmp(done_conv); +@@ -1928,7 +1928,7 @@ + + // Restore rsi/r13 as compiled code may not preserve it + +- __ lea(state, Address(rbp, -sizeof(BytecodeInterpreter))); ++ __ lea(state, Address(rbp, -(int)sizeof(BytecodeInterpreter))); + + // restore stack to what we had when we left (in case i2c extended it) + +@@ -1942,7 +1942,7 @@ + #else + __ movptr(rcx, STATE(_thread)); // get thread + __ cmpptr(Address(rcx, Thread::pending_exception_offset()), (int32_t)NULL_WORD); +-#endif / __LP64 ++#endif // _LP64 + __ jcc(Assembler::notZero, return_with_exception); + + // get method just executed +--- openjdk/hotspot/src/cpu/x86/vm/frame_x86.inline.hpp.orig 2009-01-13 10:15:42.000000000 +0000 ++++ openjdk/hotspot/src/cpu/x86/vm/frame_x86.inline.hpp 2009-01-13 10:17:05.000000000 +0000 +@@ -139,7 +139,7 @@ + #ifdef CC_INTERP + + inline interpreterState frame::get_interpreterState() const { +- return ((interpreterState)addr_at( -sizeof(BytecodeInterpreter)/wordSize )); ++ return ((interpreterState)addr_at( -((int)sizeof(BytecodeInterpreter))/wordSize )); + } + + inline intptr_t* frame::sender_sp() const { +--- openjdk/hotspot/src/cpu/x86/vm/assembler_x86.cpp.orig 2009-01-13 10:15:42.000000000 +0000 ++++ openjdk/hotspot/src/cpu/x86/vm/assembler_x86.cpp 2009-01-13 10:17:05.000000000 +0000 +@@ -6943,29 +6943,32 @@ + + Label slow_case, done; + +- // x ?<= pi/4 +- fld_d(ExternalAddress((address)&pi_4)); +- fld_s(1); // Stack: X PI/4 X +- fabs(); // Stack: |X| PI/4 X +- fcmp(tmp); +- jcc(Assembler::above, slow_case); +- +- // fastest case: -pi/4 <= x <= pi/4 +- switch(trig) { +- case 's': +- fsin(); +- break; +- case 'c': +- fcos(); +- break; +- case 't': +- ftan(); +- break; +- default: +- assert(false, "bad intrinsic"); +- break; ++ ExternalAddress pi4_adr = (address)&pi_4; ++ if (reachable(pi4_adr)) { ++ // x ?<= pi/4 ++ fld_d(pi4_adr); // ExternalAddress((address)&pi_4)); ++ fld_s(1); // Stack: X PI/4 X ++ fabs(); // Stack: |X| PI/4 X ++ fcmp(tmp); ++ jcc(Assembler::above, slow_case); ++ ++ // fastest case: -pi/4 <= x <= pi/4 ++ switch(trig) { ++ case 's': ++ fsin(); ++ break; ++ case 'c': ++ fcos(); ++ break; ++ case 't': ++ ftan(); ++ break; ++ default: ++ assert(false, "bad intrinsic"); ++ break; ++ } ++ jmp(done); + } +- jmp(done); + + // slow case: runtime call + bind(slow_case); +--- openjdk/hotspot/src/cpu/x86/vm/sharedRuntime_x86_64.cpp.orig 2009-01-13 10:15:42.000000000 +0000 ++++ openjdk/hotspot/src/cpu/x86/vm/sharedRuntime_x86_64.cpp 2009-01-13 10:17:05.000000000 +0000 +@@ -2954,10 +2954,16 @@ + __ pushptr(Address(rcx, 0)); // Save return address + __ enter(); // Save old & set new rbp + __ subptr(rsp, rbx); // Prolog ++#ifdef CC_INTERP ++ __ movptr(Address(rbp, ++ -(sizeof(BytecodeInterpreter)) + in_bytes(byte_offset_of(BytecodeInterpreter, _sender_sp))), ++ sender_sp); // Make it walkable ++#else // CC_INTERP + __ movptr(Address(rbp, frame::interpreter_frame_sender_sp_offset * wordSize), + sender_sp); // Make it walkable + // This value is corrected by layout_activation_impl + __ movptr(Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize), (int32_t)NULL_WORD ); ++#endif // CC_INTERP + __ mov(sender_sp, rsp); // Pass sender_sp to next frame + __ addptr(rsi, wordSize); // Bump array pointer (sizes) + __ addptr(rcx, wordSize); // Bump array pointer (pcs) +--- openjdk/hotspot/src/cpu/x86/vm/bytecodeInterpreter_x86.inline.hpp.orig 2009-01-13 10:15:42.000000000 +0000 ++++ openjdk/hotspot/src/cpu/x86/vm/bytecodeInterpreter_x86.inline.hpp 2009-01-13 10:17:05.000000000 +0000 +@@ -213,7 +213,7 @@ + + inline jint BytecodeInterpreter::VMintDiv(jint op1, jint op2) { + /* it's possible we could catch this special case implicitly */ +- if (op1 == 0x80000000 && op2 == -1) return op1; ++ if ((juint)op1 == 0x80000000 && op2 == -1) return op1; + else return op1 / op2; + } + +@@ -231,7 +231,7 @@ + + inline jint BytecodeInterpreter::VMintRem(jint op1, jint op2) { + /* it's possible we could catch this special case implicitly */ +- if (op1 == 0x80000000 && op2 == -1) return 0; ++ if ((juint)op1 == 0x80000000 && op2 == -1) return 0; + else return op1 % op2; + } + +--- openjdk/hotspot/src/cpu/x86/vm/interp_masm_x86_64.cpp.orig 2009-01-13 10:15:42.000000000 +0000 ++++ openjdk/hotspot/src/cpu/x86/vm/interp_masm_x86_64.cpp 2009-01-13 10:17:05.000000000 +0000 +@@ -30,7 +30,7 @@ + + #ifdef CC_INTERP + void InterpreterMacroAssembler::get_method(Register reg) { +- movptr(reg, Address(rbp, -(sizeof(BytecodeInterpreter) + 2 * wordSize))); ++ movptr(reg, Address(rbp, -((int)sizeof(BytecodeInterpreter) + 2 * wordSize))); + movptr(reg, Address(reg, byte_offset_of(BytecodeInterpreter, _method))); + } + #endif // CC_INTERP +--- openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp.orig 2009-01-13 10:16:45.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp 2009-01-13 10:17:05.000000000 +0000 +@@ -163,7 +163,7 @@ + #ifdef USELABELS + // Have to do this dispatch this way in C++ because otherwise gcc complains about crossing an + // initialization (which is is the initialization of the table pointer...) +-#define DISPATCH(opcode) goto *dispatch_table[opcode] ++#define DISPATCH(opcode) goto *(void*)dispatch_table[opcode] + #define CONTINUE { \ + opcode = *pc; \ + DO_UPDATE_INSTRUCTION_COUNT(opcode); \ +@@ -341,7 +341,7 @@ + */ + #undef CHECK_NULL + #define CHECK_NULL(obj_) \ +- if ((obj_) == 0) { \ ++ if ((obj_) == NULL) { \ + VM_JAVA_ERROR(vmSymbols::java_lang_NullPointerException(), ""); \ + } + +@@ -1362,7 +1362,7 @@ + + #define NULL_COMPARISON_NOT_OP(name) \ + CASE(_if##name): { \ +- int skip = (!(STACK_OBJECT(-1) == 0)) \ ++ int skip = (!(STACK_OBJECT(-1) == NULL)) \ + ? (int16_t)Bytes::get_Java_u2(pc + 1) : 3; \ + address branch_pc = pc; \ + UPDATE_PC_AND_TOS(skip, -1); \ +@@ -1372,7 +1372,7 @@ + + #define NULL_COMPARISON_OP(name) \ + CASE(_if##name): { \ +- int skip = ((STACK_OBJECT(-1) == 0)) \ ++ int skip = ((STACK_OBJECT(-1) == NULL)) \ + ? (int16_t)Bytes::get_Java_u2(pc + 1) : 3; \ + address branch_pc = pc; \ + UPDATE_PC_AND_TOS(skip, -1); \ +--- openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp.orig 2009-01-13 10:15:42.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp 2009-01-13 10:17:05.000000000 +0000 +@@ -66,7 +66,6 @@ + friend class InterpreterGenerator; + friend class InterpreterMacroAssembler; + friend class frame; +-friend class SharedRuntime; + friend class VMStructs; + + public:
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/default/icedtea-bytecodeInterpreter.patch Fri Feb 20 12:42:30 2009 +0000 @@ -0,0 +1,11 @@ +diff -Nru openjdk.orig/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp +--- openjdk.orig/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp 2008-10-23 08:41:04.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp 2008-10-30 15:48:48.000000000 +0000 +@@ -60,7 +60,6 @@ + }; + + class BytecodeInterpreter : StackObj { +-friend class SharedRuntime; + friend class AbstractInterpreterGenerator; + friend class CppInterpreterGenerator; + friend class InterpreterGenerator;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/default/icedtea-core-build.patch Fri Feb 20 12:42:30 2009 +0000 @@ -0,0 +1,108 @@ +diff -Nru openjdk.orig/hotspot/make/linux/makefiles/defs.make openjdk/hotspot/make/linux/makefiles/defs.make +--- openjdk.orig/hotspot/make/linux/makefiles/defs.make 2008-05-27 22:28:29.000000000 +0100 ++++ openjdk/hotspot/make/linux/makefiles/defs.make 2008-06-22 03:10:05.000000000 +0100 +@@ -97,6 +97,7 @@ + EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt + EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjsig.so + EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.so ++ifndef ICEDTEA_CORE_BUILD + ifeq ($(ARCH_DATA_MODEL), 32) + EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client + EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt +@@ -111,3 +112,4 @@ + EXPORT_LIST += $(EXPORT_LIB_DIR)/sa-jdi.jar + endif + endif ++endif +diff -Nru openjdk.orig/hotspot/make/Makefile openjdk/hotspot/make/Makefile +--- openjdk.orig/hotspot/make/Makefile 2008-05-27 22:28:29.000000000 +0100 ++++ openjdk/hotspot/make/Makefile 2008-06-22 03:10:05.000000000 +0100 +@@ -91,6 +91,15 @@ + all_debug: jvmg jvmg1 jvmgkernel docs export_debug + all_optimized: optimized optimized1 optimizedkernel docs export_optimized + ++# Core (non-compiler) targets made available with this Makefile ++CORE_VM_TARGETS=productcore fastdebugcore optimizedcore jvmgcore ++ ++allcore: all_productcore all_fastdebugcore ++all_productcore: productcore docs export_product ++all_fastdebugcore: fastdebugcore docs export_fastdebug ++all_debugcore: jvmgcore docs export_debug ++all_optimizedcore: optimizedcore docs export_optimized ++ + # Do everything + world: all create_jdk + +@@ -113,6 +122,10 @@ + $(CD) $(GAMMADIR)/make; \ + $(MAKE) VM_TARGET=$@ generic_build2 $(ALT_OUT) + ++$(CORE_VM_TARGETS): ++ $(CD) $(GAMMADIR)/make; \ ++ $(MAKE) VM_TARGET=$@ generic_buildcore $(ALT_OUT) ++ + $(KERNEL_VM_TARGETS): + $(CD) $(GAMMADIR)/make; \ + $(MAKE) VM_TARGET=$@ generic_buildkernel $(ALT_OUT) +@@ -159,6 +172,12 @@ + $(MAKE_ARGS) $(VM_TARGET) + endif + ++generic_buildcore: ++ $(MKDIR) -p $(OUTPUTDIR) ++ $(CD) $(OUTPUTDIR); \ ++ $(MAKE) -f $(ABS_OS_MAKEFILE) \ ++ $(MAKE_ARGS) $(VM_TARGET) ++ + generic_buildkernel: + $(MKDIR) -p $(OUTPUTDIR) + ifeq ($(OSNAME),windows) +@@ -205,13 +224,21 @@ + XUSAGE=$(HS_SRC_DIR)/share/vm/Xusage.txt + DOCS_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_docs + C1_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler1 ++ifdef ICEDTEA_CORE_BUILD ++C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_core ++else + C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler2 ++endif + KERNEL_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_kernel + C1_DIR=$(C1_BASE_DIR)/$(VM_SUBDIR) + C2_DIR=$(C2_BASE_DIR)/$(VM_SUBDIR) + KERNEL_DIR=$(KERNEL_BASE_DIR)/$(VM_SUBDIR) + + # Misc files and generated files need to come from C1 or C2 area ++ifdef ICEDTEA_CORE_BUILD ++ MISC_DIR=$(C2_DIR) ++ GEN_DIR=$(C2_BASE_DIR)/generated ++else + ifeq ($(ARCH_DATA_MODEL), 32) + MISC_DIR=$(C1_DIR) + GEN_DIR=$(C1_BASE_DIR)/generated +@@ -219,6 +246,7 @@ + MISC_DIR=$(C2_DIR) + GEN_DIR=$(C2_BASE_DIR)/generated + endif ++endif + + # Bin files (windows) + ifeq ($(OSNAME),windows) +diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/vm_version.cpp openjdk/hotspot/src/share/vm/runtime/vm_version.cpp +--- openjdk.orig/hotspot/src/share/vm/runtime/vm_version.cpp 2008-05-27 22:28:30.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp 2008-06-22 03:10:05.000000000 +0100 +@@ -94,8 +94,12 @@ + #ifdef TIERED + #define VMTYPE "Server" + #else +- #define VMTYPE COMPILER1_PRESENT("Client") \ +- COMPILER2_PRESENT("Server") ++#if defined(COMPILER1) || defined(COMPILER2) ++ #define VMTYPE COMPILER1_PRESENT("Client") \ ++ COMPILER2_PRESENT("Server") ++#else ++ #define VMTYPE "Core" ++#endif // COMPILER1 || COMPILER2 + #endif // TIERED + #endif // KERNEL + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/default/icedtea-debuginfo.patch Fri Feb 20 12:42:30 2009 +0000 @@ -0,0 +1,15 @@ +diff -Nru openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make +--- openjdk.orig/hotspot/make/linux/makefiles/gcc.make 2008-08-20 22:58:22.000000000 +0100 ++++ openjdk/hotspot/make/linux/makefiles/gcc.make 2008-08-20 23:01:45.000000000 +0100 +@@ -62,6 +62,10 @@ + CFLAGS += -D_REENTRANT + CFLAGS += -fcheck-new + ++# Always generate full debuginfo on Linux. It'll be in a separate ++# debuginfo package when building RPMs. ++CFLAGS += -g ++ + ARCHFLAG = $(ARCHFLAG/$(BUILDARCH)) + ARCHFLAG/i486 = -m32 -march=i586 + ARCHFLAG/amd64 = -m64 +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/default/icedtea-format.patch Fri Feb 20 12:42:30 2009 +0000 @@ -0,0 +1,48 @@ +diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp openjdk/hotspot/src/share/vm/runtime/arguments.cpp +--- openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp 2009-02-03 18:08:09.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2009-02-03 18:32:59.000000000 +0000 +@@ -1361,7 +1361,7 @@ + + // Feed the cache size setting into the JDK + char buffer[1024]; +- sprintf(buffer, "java.lang.Integer.IntegerCache.high=%d", AutoBoxCacheMax); ++ sprintf(buffer, "java.lang.Integer.IntegerCache.high=" INTX_FORMAT, AutoBoxCacheMax); + add_property(buffer); + } + if (AggressiveOpts && FLAG_IS_DEFAULT(DoEscapeAnalysis)) { +diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/safepoint.cpp openjdk/hotspot/src/share/vm/runtime/safepoint.cpp +--- openjdk.orig/hotspot/src/share/vm/runtime/safepoint.cpp 2009-01-29 15:03:07.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/safepoint.cpp 2009-02-03 18:30:55.000000000 +0000 +@@ -730,7 +730,7 @@ + if (DieOnSafepointTimeout) { + char msg[1024]; + VM_Operation *op = VMThread::vm_operation(); +- sprintf(msg, "Safepoint sync time longer than %d ms detected when executing %s.", ++ sprintf(msg, "Safepoint sync time longer than " INTX_FORMAT " ms detected when executing %s.", + SafepointTimeoutDelay, + op != NULL ? op->name() : "no vm operation"); + fatal(msg); +diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/synchronizer.cpp openjdk/hotspot/src/share/vm/runtime/synchronizer.cpp +--- openjdk.orig/hotspot/src/share/vm/runtime/synchronizer.cpp 2009-01-29 15:03:07.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/synchronizer.cpp 2009-02-03 19:32:30.000000000 +0000 +@@ -424,7 +424,7 @@ + // asserts is that error message -- often something about negative array + // indices -- is opaque. + +-#define CTASSERT(x) { int tag[1-(2*!(x))]; printf ("Tag @%X\n", tag); } ++#define CTASSERT(x) { int tag[1-(2*!(x))]; printf ("Tag @%p\n", tag); } + + void ObjectMonitor::ctAsserts() { + CTASSERT(offset_of (ObjectMonitor, _header) == 0); +diff -Nru openjdk.orig/hotspot/src/share/vm/utilities/vmError.cpp openjdk/hotspot/src/share/vm/utilities/vmError.cpp +--- openjdk.orig/hotspot/src/share/vm/utilities/vmError.cpp 2009-02-03 19:10:58.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/utilities/vmError.cpp 2009-02-03 19:29:15.000000000 +0000 +@@ -307,7 +307,7 @@ + + strncpy(buf, file, buflen); + if (len + 10 < buflen) { +- sprintf(buf + len, ":" SIZE_FORMAT, _lineno); ++ sprintf(buf + len, ":%d", _lineno); + } + st->print(" (%s)", buf); + } else {
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/default/icedtea-gcc-4.3.patch Fri Feb 20 12:42:30 2009 +0000 @@ -0,0 +1,54 @@ +diff -Nru openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make +--- openjdk.orig/hotspot/make/linux/makefiles/gcc.make 2008-12-01 12:06:51.000000000 +0000 ++++ openjdk/hotspot/make/linux/makefiles/gcc.make 2008-12-01 12:27:08.000000000 +0000 +@@ -98,7 +98,7 @@ + endif + + # Compiler warnings are treated as errors +-WARNINGS_ARE_ERRORS = -Werror ++# WARNINGS_ARE_ERRORS = -Werror + + # Except for a few acceptable ones + # Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit +diff -Nru openjdk.orig/hotspot/make/solaris/makefiles/gcc.make openjdk/hotspot/make/solaris/makefiles/gcc.make +--- openjdk.orig/hotspot/make/solaris/makefiles/gcc.make 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/make/solaris/makefiles/gcc.make 2008-12-01 12:25:10.000000000 +0000 +@@ -109,7 +109,8 @@ + + + # Compiler warnings are treated as errors +-WARNINGS_ARE_ERRORS = -Werror ++# Commented out for now because of gcc 4.3 warnings OpenJDK isn't ready for ++# WARNINGS_ARE_ERRORS = -Werror + # Enable these warnings. See 'info gcc' about details on these options + ADDITIONAL_WARNINGS = -Wpointer-arith -Wconversion -Wsign-compare + CFLAGS_WARN/DEFAULT = $(WARNINGS_ARE_ERRORS) $(ADDITIONAL_WARNINGS) +diff -Nru openjdk.orig/hotspot/src/share/vm/adlc/filebuff.cpp openjdk/hotspot/src/share/vm/adlc/filebuff.cpp +--- openjdk.orig/hotspot/src/share/vm/adlc/filebuff.cpp 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/adlc/filebuff.cpp 2008-12-01 12:25:10.000000000 +0000 +@@ -25,6 +25,8 @@ + // FILEBUFF.CPP - Routines for handling a parser file buffer + #include "adlc.hpp" + ++using namespace std; ++ + //------------------------------FileBuff--------------------------------------- + // Create a new parsing buffer + FileBuff::FileBuff( BufferedFile *fptr, ArchDesc& archDesc) : _fp(fptr), _AD(archDesc) { +diff -Nru openjdk.orig/hotspot/src/share/vm/adlc/filebuff.hpp openjdk/hotspot/src/share/vm/adlc/filebuff.hpp +--- openjdk.orig/hotspot/src/share/vm/adlc/filebuff.hpp 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/adlc/filebuff.hpp 2008-12-01 12:25:10.000000000 +0000 +@@ -94,8 +94,11 @@ + FileBuffRegion *copy(); // Deep copy + FileBuffRegion *merge(FileBuffRegion*); // Merge 2 regions; delete input + +-// void print(std::ostream&); +-// friend std::ostream& operator<< (std::ostream&, FileBuffRegion&); ++#if defined(__GNUC__) && __GNUC__ >= 3 ++ void print(std::ostream&); ++ friend std::ostream& operator<< (std::ostream&, FileBuffRegion&); ++#else + void print(ostream&); + friend ostream& operator<< (ostream&, FileBuffRegion&); ++#endif + };
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/default/icedtea-gcc-suffix.patch Fri Feb 20 12:42:30 2009 +0000 @@ -0,0 +1,25 @@ +--- openjdk/hotspot/agent/src/os/linux/Makefile~ 2007-08-02 09:16:50.000000000 +0200 ++++ openjdk/hotspot/agent/src/os/linux/Makefile 2007-08-08 17:00:11.204338801 +0200 +@@ -23,7 +23,7 @@ + # + + ARCH := $(shell if ([ `uname -m` = "ia64" ]) ; then echo ia64 ; elif ([ `uname -m` = "x86_64" ]) ; then echo amd64; elif ([ `uname -m` = "sparc64" ]) ; then echo sparc; else echo i386 ; fi ) +-GCC = gcc ++GCC = gcc$(GCC_SUFFIX) + + JAVAH = ${JAVA_HOME}/bin/javah + +--- openjdk/hotspot/make/linux/makefiles/gcc.make~ 2007-08-08 16:13:12.281815996 +0200 ++++ openjdk/hotspot/make/linux/makefiles/gcc.make 2007-08-08 16:36:52.573240769 +0200 +@@ -25,8 +25,8 @@ + #------------------------------------------------------------------------ + # CC, CPP & AS + +-CPP = g++ +-CC = gcc ++CPP = g++$(GCC_SUFFIX) ++CC = gcc$(GCC_SUFFIX) + AS = $(CC) -c + + # -dumpversion in gcc-2.91 shows "egcs-2.91.66". In later version, it only +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/default/icedtea-headers.patch Fri Feb 20 12:42:30 2009 +0000 @@ -0,0 +1,13 @@ +diff -Nru openjdk.orig/hotspot/make/linux/makefiles/jvmti.make openjdk/hotspot/make/linux/makefiles/jvmti.make +--- openjdk.orig/hotspot/make/linux/makefiles/jvmti.make 2008-05-23 20:51:14.000000000 +0100 ++++ openjdk/hotspot/make/linux/makefiles/jvmti.make 2008-05-23 20:54:13.000000000 +0100 +@@ -59,7 +59,7 @@ + + JvmtiGeneratedFiles = $(JvmtiGeneratedNames:%=$(JvmtiOutDir)/%) + +-XSLT = $(QUIETLY) $(REMOTE) $(RUN.JAVA) -classpath $(JvmtiOutDir) jvmtiGen ++XSLT = $(QUIETLY) $(REMOTE) $(RUN.JAVA) $(ENDORSED) -classpath $(JvmtiOutDir) jvmtiGen + + .PHONY: all jvmtidocs clean cleanall + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/default/icedtea-includedb.patch Fri Feb 20 12:42:30 2009 +0000 @@ -0,0 +1,97 @@ +--- openjdk/hotspot/src/share/vm/includeDB_compiler2.orig 2009-01-13 10:10:44.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/includeDB_compiler2 2009-01-13 10:11:17.000000000 +0000 +@@ -140,6 +140,7 @@ + c2_globals_<os_family>.hpp macros.hpp + + c2_init_<arch>.cpp compile.hpp ++c2_init_<arch>.cpp node.hpp + + c2compiler.cpp ad_<arch_model>.hpp + c2compiler.cpp c2compiler.hpp +@@ -839,6 +840,7 @@ + phase.cpp compile.hpp + phase.cpp compileBroker.hpp + phase.cpp nmethod.hpp ++phase.cpp node.hpp + phase.cpp phase.hpp + + phase.hpp port.hpp +--- openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_g1.orig 2009-01-13 10:10:44.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_g1 2009-01-13 10:11:17.000000000 +0000 +@@ -34,6 +34,7 @@ + collectionSetChooser.cpp g1CollectedHeap.hpp + collectionSetChooser.cpp g1CollectorPolicy.hpp + collectionSetChooser.cpp collectionSetChooser.hpp ++collectionSetChooser.cpp space.inline.hpp + + collectionSetChooser.hpp heapRegion.hpp + collectionSetChooser.hpp growableArray.hpp +@@ -44,6 +45,7 @@ + concurrentG1Refine.cpp copy.hpp + concurrentG1Refine.cpp g1CollectedHeap.hpp + concurrentG1Refine.cpp g1RemSet.hpp ++concurrentG1Refine.cpp space.inline.hpp + + concurrentG1Refine.hpp globalDefinitions.hpp + +@@ -264,7 +266,7 @@ + heapRegion.cpp iterator.hpp + heapRegion.cpp oop.inline.hpp + +-heapRegion.hpp space.hpp ++heapRegion.hpp space.inline.hpp + heapRegion.hpp spaceDecorator.hpp + heapRegion.hpp g1BlockOffsetTable.inline.hpp + heapRegion.hpp watermark.hpp +--- openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_parallelScavenge.orig 2009-01-13 10:10:44.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_parallelScavenge 2009-01-13 10:11:17.000000000 +0000 +@@ -306,6 +306,8 @@ + psPermGen.cpp psMarkSweepDecorator.hpp + psPermGen.cpp psParallelCompact.hpp + psPermGen.cpp psPermGen.hpp ++psPermGen.cpp markOop.inline.hpp ++psPermGen.cpp markSweep.inline.hpp + + psPermGen.hpp psOldGen.hpp + +--- openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep.orig 2009-01-13 10:10:44.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep 2009-01-13 10:11:17.000000000 +0000 +@@ -28,6 +28,7 @@ + binaryTreeDictionary.cpp binaryTreeDictionary.hpp + binaryTreeDictionary.cpp globals.hpp + binaryTreeDictionary.cpp ostream.hpp ++binaryTreeDictionary.cpp space.inline.hpp + binaryTreeDictionary.cpp spaceDecorator.hpp + + binaryTreeDictionary.hpp freeBlockDictionary.hpp +--- openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_parNew.orig 2009-01-13 10:10:44.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_parNew 2009-01-13 10:11:17.000000000 +0000 +@@ -29,6 +29,8 @@ + asParNewGeneration.cpp cmsAdaptiveSizePolicy.hpp + asParNewGeneration.cpp cmsGCAdaptivePolicyCounters.hpp + asParNewGeneration.cpp defNewGeneration.inline.hpp ++asParNewGeneration.cpp markOop.inline.hpp ++asParNewGeneration.cpp markSweep.inline.hpp + asParNewGeneration.cpp oop.pcgc.inline.hpp + asParNewGeneration.cpp parNewGeneration.hpp + asParNewGeneration.cpp referencePolicy.hpp +@@ -40,7 +42,7 @@ + parCardTableModRefBS.cpp java.hpp + parCardTableModRefBS.cpp mutexLocker.hpp + parCardTableModRefBS.cpp sharedHeap.hpp +-parCardTableModRefBS.cpp space.hpp ++parCardTableModRefBS.cpp space.inline.hpp + parCardTableModRefBS.cpp universe.hpp + parCardTableModRefBS.cpp virtualspace.hpp + +--- openjdk/hotspot/src/share/vm/includeDB_features.orig 2009-01-13 10:10:44.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/includeDB_features 2009-01-13 10:11:17.000000000 +0000 +@@ -59,6 +59,8 @@ + + dump_<arch_model>.cpp assembler_<arch>.inline.hpp + dump_<arch_model>.cpp compactingPermGenGen.hpp ++dump_<arch_model>.cpp generation.inline.hpp ++dump_<arch_model>.cpp space.inline.hpp + + forte.cpp collectedHeap.inline.hpp + forte.cpp debugInfoRec.hpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/default/icedtea-memory-limits.patch Fri Feb 20 12:42:30 2009 +0000 @@ -0,0 +1,23 @@ +diff -Nru openjdk.orig/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp openjdk/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp +--- openjdk.orig/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp 2008-05-23 22:30:44.000000000 +0100 ++++ openjdk/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp 2008-05-23 22:30:59.000000000 +0100 +@@ -98,7 +98,7 @@ + + // Heap related flags + define_pd_global(uintx, PermSize, ScaleForWordSize(16*M)); +-define_pd_global(uintx, MaxPermSize, ScaleForWordSize(64*M)); ++define_pd_global(uintx, MaxPermSize, ScaleForWordSize(128*M)); + + // Ergonomics related flags + define_pd_global(bool, NeverActAsServerClassMachine, false); +--- penjdk6/hotspot/src/share/vm/runtime/globals.hpp 2008-02-12 04:14:24.000000000 -0500 ++++ openjdk/hotspot/src/share/vm/runtime/globals.hpp 2008-02-14 16:34:00.000000000 -0500 +@@ -2606,7 +2606,7 @@ + "an OS lock") \ + \ + /* gc parameters */ \ +- product(uintx, MaxHeapSize, ScaleForWordSize(64*M), \ ++ product(uintx, MaxHeapSize, ScaleForWordSize(512*M), \ + "Default maximum size for object heap (in bytes)") \ + \ + product_pd(uintx, NewSize, \
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/default/icedtea-no-precompiled.patch Fri Feb 20 12:42:30 2009 +0000 @@ -0,0 +1,32 @@ +--- openjdk/hotspot/make/linux/makefiles/gcc.make.orig 2009-01-04 13:51:38.000000000 +0000 ++++ openjdk/hotspot/make/linux/makefiles/gcc.make 2009-01-04 13:53:34.000000000 +0000 +@@ -34,13 +34,6 @@ + CC_VER_MAJOR := $(shell $(CC) -dumpversion | sed 's/egcs-//' | cut -d'.' -f1) + CC_VER_MINOR := $(shell $(CC) -dumpversion | sed 's/egcs-//' | cut -d'.' -f2) + +-# check for precompiled headers support +-ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) \| \( \( $(CC_VER_MAJOR) = 3 \) \& \( $(CC_VER_MINOR) \>= 4 \) \))" "0" +-USE_PRECOMPILED_HEADER=1 +-PRECOMPILED_HEADER_DIR=. +-PRECOMPILED_HEADER=$(PRECOMPILED_HEADER_DIR)/incls/_precompiled.incl.gch +-endif +- + + #------------------------------------------------------------------------ + # Compiler flags +--- openjdk/hotspot/make/solaris/makefiles/gcc.make.orig 2009-01-04 14:44:12.000000000 +0000 ++++ openjdk/hotspot/make/solaris/makefiles/gcc.make 2009-01-04 17:06:50.000000000 +0000 +@@ -45,13 +45,6 @@ + $(shell $(CC) -dumpversion | sed 's/egcs-//' | cut -d'.' -f2) + + +-# check for precompiled headers support +-ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) \| \( \( $(CC_VER_MAJOR) = 3 \) \& \( $(CC_VER_MINOR) \>= 4 \) \))" "0" +-USE_PRECOMPILED_HEADER=1 +-PRECOMPILED_HEADER_DIR=. +-PRECOMPILED_HEADER=$(PRECOMPILED_HEADER_DIR)/incls/_precompiled.incl.gch +-endif +- + + #------------------------------------------------------------------------ + # Compiler flags
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/default/icedtea-params-cast-size_t.patch Fri Feb 20 12:42:30 2009 +0000 @@ -0,0 +1,121 @@ +diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp 2008-09-01 01:47:18.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp 2008-09-01 01:53:31.000000000 +0100 +@@ -938,7 +938,7 @@ + if (free_percentage < desired_free_percentage) { + size_t desired_capacity = (size_t)(used() / ((double) 1 - desired_free_percentage)); + assert(desired_capacity >= capacity(), "invalid expansion size"); +- expand_bytes = MAX2(desired_capacity - capacity(), MinHeapDeltaBytes); ++ expand_bytes = MAX2((long unsigned int) (desired_capacity - capacity()), (long unsigned int) MinHeapDeltaBytes); + } + if (expand_bytes > 0) { + if (PrintGCDetails && Verbose) { +@@ -6044,7 +6044,7 @@ + HeapWord* curAddr = _markBitMap.startWord(); + while (curAddr < _markBitMap.endWord()) { + size_t remaining = pointer_delta(_markBitMap.endWord(), curAddr); +- MemRegion chunk(curAddr, MIN2(CMSBitMapYieldQuantum, remaining)); ++ MemRegion chunk(curAddr, MIN2((size_t) CMSBitMapYieldQuantum, remaining)); + _markBitMap.clear_large_range(chunk); + if (ConcurrentMarkSweepThread::should_yield() && + !foregroundGCIsActive() && +@@ -6332,7 +6332,7 @@ + return; + } + // Double capacity if possible +- size_t new_capacity = MIN2(_capacity*2, CMSMarkStackSizeMax); ++ size_t new_capacity = MIN2((size_t) (_capacity*2), (size_t) CMSMarkStackSizeMax); + // Do not give up existing stack until we have managed to + // get the double capacity that we desired. + ReservedSpace rs(ReservedSpace::allocation_align_size_up( +diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp 2008-08-14 08:40:10.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp 2008-09-01 01:49:59.000000000 +0100 +@@ -904,8 +904,8 @@ + void PSParallelCompact::initialize_dead_wood_limiter() + { + const size_t max = 100; +- _dwl_mean = double(MIN2(ParallelOldDeadWoodLimiterMean, max)) / 100.0; +- _dwl_std_dev = double(MIN2(ParallelOldDeadWoodLimiterStdDev, max)) / 100.0; ++ _dwl_mean = double(MIN2((size_t) ParallelOldDeadWoodLimiterMean, max)) / 100.0; ++ _dwl_std_dev = double(MIN2((size_t) ParallelOldDeadWoodLimiterStdDev, max)) / 100.0; + _dwl_first_term = 1.0 / (sqrt(2.0 * M_PI) * _dwl_std_dev); + DEBUG_ONLY(_dwl_initialized = true;) + _dwl_adjustment = normal_distribution(1.0); +diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp 2008-08-14 08:40:10.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp 2008-09-01 01:52:42.000000000 +0100 +@@ -63,7 +63,7 @@ + _last_used = current_live; + + // We have different alignment constraints than the rest of the heap. +- const size_t alignment = MAX2(MinPermHeapExpansion, ++ const size_t alignment = MAX2((size_t) MinPermHeapExpansion, + virtual_space()->alignment()); + + // Compute the desired size: +diff -Nru openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp +--- openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp 2008-08-14 08:40:10.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp 2008-09-01 02:58:03.000000000 +0100 +@@ -287,7 +287,7 @@ + // yield a size that is too small) and bound it by MaxNewSize above. + // Ergonomics plays here by previously calculating the desired + // NewSize and MaxNewSize. +- max_new_size = MIN2(MAX2(max_new_size, NewSize), MaxNewSize); ++ max_new_size = MIN2(MAX2(max_new_size, (size_t) NewSize), (size_t) MaxNewSize); + } + assert(max_new_size > 0, "All paths should set max_new_size"); + +diff -Nru openjdk.orig/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp openjdk/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp +--- openjdk.orig/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp 2008-08-14 08:40:11.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp 2008-09-01 01:49:59.000000000 +0100 +@@ -222,7 +222,7 @@ + size_t init_sz; + + if (TLABSize > 0) { +- init_sz = MIN2(TLABSize / HeapWordSize, max_size()); ++ init_sz = MIN2((size_t) (TLABSize / HeapWordSize), max_size()); + } else if (global_stats() == NULL) { + // Startup issue - main thread initialized before heap initialized. + init_sz = min_size(); +diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp openjdk/hotspot/src/share/vm/runtime/arguments.cpp +--- openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp 2008-09-01 01:47:17.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2008-09-01 01:58:01.000000000 +0100 +@@ -1025,7 +1025,7 @@ + // for "short" pauses ~ 4M*ParallelGCThreads + if (FLAG_IS_DEFAULT(MaxNewSize)) { // MaxNewSize not set at command-line + if (!FLAG_IS_DEFAULT(NewSize)) { // NewSize explicitly set at command-line +- FLAG_SET_ERGO(uintx, MaxNewSize, MAX2(NewSize, preferred_max_new_size)); ++ FLAG_SET_ERGO(uintx, MaxNewSize, MAX2((size_t) NewSize, preferred_max_new_size)); + } else { + FLAG_SET_ERGO(uintx, MaxNewSize, preferred_max_new_size); + } +@@ -1038,7 +1038,7 @@ + // Old to Young gen size so as to shift the collection load + // to the old generation concurrent collector + if (FLAG_IS_DEFAULT(NewRatio)) { +- FLAG_SET_ERGO(intx, NewRatio, MAX2(NewRatio, new_ratio)); ++ FLAG_SET_ERGO(intx, NewRatio, MAX2((intx) NewRatio, new_ratio)); + + size_t min_new = align_size_up(ScaleForWordSize(min_new_default), os::vm_page_size()); + size_t prev_initial_size = initial_heap_size(); +@@ -1067,8 +1067,8 @@ + // Unless explicitly requested otherwise, make young gen + // at least min_new, and at most preferred_max_new_size. + if (FLAG_IS_DEFAULT(NewSize)) { +- FLAG_SET_ERGO(uintx, NewSize, MAX2(NewSize, min_new)); +- FLAG_SET_ERGO(uintx, NewSize, MIN2(preferred_max_new_size, NewSize)); ++ FLAG_SET_ERGO(uintx, NewSize, MAX2((size_t) NewSize, min_new)); ++ FLAG_SET_ERGO(uintx, NewSize, MIN2(preferred_max_new_size, (size_t) NewSize)); + if(PrintGCDetails && Verbose) { + // Too early to use gclog_or_tty + tty->print_cr("Ergo set NewSize: " SIZE_FORMAT, NewSize); +@@ -1079,7 +1079,7 @@ + // later NewRatio will decide how it grows; see above. + if (FLAG_IS_DEFAULT(OldSize)) { + if (max_heap > NewSize) { +- FLAG_SET_ERGO(uintx, OldSize, MIN2(3*NewSize, max_heap - NewSize)); ++ FLAG_SET_ERGO(uintx, OldSize, MIN2((size_t) (3*NewSize), max_heap - (size_t) NewSize)); + if(PrintGCDetails && Verbose) { + // Too early to use gclog_or_tty + tty->print_cr("Ergo set OldSize: " SIZE_FORMAT, OldSize);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/default/icedtea-parisc-opt.patch Fri Feb 20 12:42:30 2009 +0000 @@ -0,0 +1,28 @@ +--- openjdk/hotspot/make/linux/makefiles/product.make.orig 2008-12-10 19:02:31.000000000 +0100 ++++ openjdk/hotspot/make/linux/makefiles/product.make 2008-12-10 19:24:53.000000000 +0100 +@@ -25,6 +25,11 @@ + # Sets make macros for making optimized version of Gamma VM + # (This is the "product", not the "release" version.) + ++# work around an ICE in gcc-4.1 and gcc-4.3 on parisc-linux ++ifeq ($(BUILDARCH)-$(ZERO_LIBARCH), zero-parisc) ++ OPT_CFLAGS/codeBlob.o = $(OPT_CFLAGS/NOOPT) ++endif ++ + # Compiler specific OPT_CFLAGS are passed in from gcc.make, sparcWorks.make + OPT_CFLAGS/DEFAULT= $(OPT_CFLAGS) + OPT_CFLAGS/BYFILE = $(OPT_CFLAGS/$@)$(OPT_CFLAGS/DEFAULT$(OPT_CFLAGS/$@)) +--- openjdk/hotspot/make/linux/makefiles/optimized.make.orig 2008-12-10 19:02:22.000000000 +0100 ++++ openjdk/hotspot/make/linux/makefiles/optimized.make 2008-12-10 19:24:24.000000000 +0100 +@@ -25,6 +25,11 @@ + # Sets make macros for making optimized version of Gamma VM + # (This is the "product", not the "release" version.) + ++# work around an ICE in gcc-4.1 and gcc-4.3 on parisc-linux ++ifeq ($(BUILDARCH)-$(ZERO_LIBARCH), zero-parisc) ++ OPT_CFLAGS/codeBlob.o = $(OPT_CFLAGS/NOOPT) ++endif ++ + # Compiler specific OPT_CFLAGS are passed in from gcc.make, sparcWorks.make + OPT_CFLAGS/DEFAULT= $(OPT_CFLAGS) + OPT_CFLAGS/BYFILE = $(OPT_CFLAGS/$@)$(OPT_CFLAGS/DEFAULT$(OPT_CFLAGS/$@))
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/default/icedtea-shark-build.patch Fri Feb 20 12:42:30 2009 +0000 @@ -0,0 +1,233 @@ +diff -Nru openjdk.orig/hotspot/make/linux/Makefile openjdk/hotspot/make/linux/Makefile +--- openjdk.orig/hotspot/make/linux/Makefile 2008-07-03 08:39:52.000000000 +0100 ++++ openjdk/hotspot/make/linux/Makefile 2008-07-13 00:59:03.000000000 +0100 +@@ -158,6 +158,13 @@ + # profiledcore core <os>_<arch>_core/profiled + # productcore core <os>_<arch>_core/product + # ++# debugshark shark <os>_<arch>_shark/debug ++# fastdebugshark shark <os>_<arch>_shark/fastdebug ++# jvmgshark shark <os>_<arch>_shark/jvmg ++# optimizedshark shark <os>_<arch>_shark/optimized ++# profiledshark shark <os>_<arch>_shark/profiled ++# productshark shark <os>_<arch>_shark/product ++# + # What you get with each target: + # + # debug* - "thin" libjvm_g - debug info linked into the gamma_g launcher +@@ -176,11 +183,13 @@ + SUBDIRS_C2 = $(addprefix $(OSNAME)_$(BUILDARCH)_compiler2/,$(TARGETS)) + SUBDIRS_TIERED = $(addprefix $(OSNAME)_$(BUILDARCH)_tiered/,$(TARGETS)) + SUBDIRS_CORE = $(addprefix $(OSNAME)_$(BUILDARCH)_core/,$(TARGETS)) ++SUBDIRS_SHARK = $(addprefix $(OSNAME)_$(BUILDARCH)_shark/,$(TARGETS)) + + TARGETS_C2 = $(TARGETS) + TARGETS_C1 = $(addsuffix 1,$(TARGETS)) + TARGETS_TIERED = $(addsuffix tiered,$(TARGETS)) + TARGETS_CORE = $(addsuffix core,$(TARGETS)) ++TARGETS_SHARK = $(addsuffix shark,$(TARGETS)) + + BUILDTREE_MAKE = $(GAMMADIR)/make/$(OSNAME)/makefiles/buildtree.make + BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) ARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) +@@ -196,6 +205,7 @@ + @echo " $(TARGETS_C2)" + @echo " $(TARGETS_C1)" + @echo " $(TARGETS_CORE)" ++ @echo " $(TARGETS_SHARK)" + + checks: check_os_version check_j2se_version + +@@ -245,6 +255,10 @@ + $(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks + $(BUILDTREE) VARIANT=core + ++$(SUBDIRS_SHARK): $(BUILDTREE_MAKE) ++ $(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks ++ $(BUILDTREE) VARIANT=shark ++ + # Define INSTALL=y at command line to automatically copy JVM into JAVA_HOME + + $(TARGETS_C2): $(SUBDIRS_C2) +@@ -275,6 +289,12 @@ + cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && $(MAKE) $(MFLAGS) install + endif + ++$(TARGETS_SHARK): $(SUBDIRS_SHARK) ++ cd $(OSNAME)_$(BUILDARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS) ++ifdef INSTALL ++ cd $(OSNAME)_$(BUILDARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS) install ++endif ++ + # Just build the tree, and nothing else: + tree: $(SUBDIRS_C2) + tree1: $(SUBDIRS_C1) +@@ -305,7 +325,7 @@ + + #------------------------------------------------------------------------------- + +-.PHONY: $(TARGETS_C2) $(TARGETS_C1) $(TARGETS_CORE) ++.PHONY: $(TARGETS_C2) $(TARGETS_C1) $(TARGETS_CORE) $(TARGETS_SHARK) + .PHONY: tree tree1 treecore + .PHONY: all compiler1 compiler2 core + .PHONY: clean clean_compiler1 clean_compiler2 clean_core docs clean_docs +diff -Nru openjdk.orig/hotspot/make/linux/makefiles/buildtree.make openjdk/hotspot/make/linux/makefiles/buildtree.make +--- openjdk.orig/hotspot/make/linux/makefiles/buildtree.make 2008-07-13 00:38:03.000000000 +0100 ++++ openjdk/hotspot/make/linux/makefiles/buildtree.make 2008-07-13 00:59:03.000000000 +0100 +@@ -215,8 +215,8 @@ + + ../shared_dirs.lst: $(BUILDTREE_MAKE) $(GAMMADIR)/src/share/vm + @echo Creating directory list $@ +- $(QUIETLY) find $(GAMMADIR)/src/share/vm/* -prune \ +- -type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find {} \ ++ $(QUIETLY) find -L $(GAMMADIR)/src/share/vm/* -prune \ ++ -type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find -L {} \ + \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; > $@ + + Makefile: $(BUILDTREE_MAKE) +diff -Nru openjdk.orig/hotspot/make/linux/makefiles/defs.make openjdk/hotspot/make/linux/makefiles/defs.make +--- openjdk.orig/hotspot/make/linux/makefiles/defs.make 2008-07-13 00:38:03.000000000 +0100 ++++ openjdk/hotspot/make/linux/makefiles/defs.make 2008-07-13 00:59:03.000000000 +0100 +@@ -118,6 +118,7 @@ + EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjsig.so + EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.so + ifndef ICEDTEA_CORE_BUILD ++ifndef ICEDTEA_SHARK_BUILD + ifeq ($(ARCH_DATA_MODEL), 32) + EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client + EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt +@@ -133,3 +134,4 @@ + endif + endif + endif ++endif +diff -Nru openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make +--- openjdk.orig/hotspot/make/linux/makefiles/gcc.make 2008-07-13 00:38:03.000000000 +0100 ++++ openjdk/hotspot/make/linux/makefiles/gcc.make 2008-07-13 00:59:03.000000000 +0100 +@@ -64,6 +64,9 @@ + ifdef ICEDTEA_ZERO_BUILD + CFLAGS += $(LIBFFI_CFLAGS) + endif ++ifdef ICEDTEA_SHARK_BUILD ++CFLAGS += $(LLVM_CFLAGS) ++endif + CFLAGS += $(VM_PICFLAG) + CFLAGS += -fno-rtti + CFLAGS += -fno-exceptions +diff -Nru openjdk.orig/hotspot/make/linux/makefiles/top.make openjdk/hotspot/make/linux/makefiles/top.make +--- openjdk.orig/hotspot/make/linux/makefiles/top.make 2008-07-03 08:39:53.000000000 +0100 ++++ openjdk/hotspot/make/linux/makefiles/top.make 2008-07-13 00:59:03.000000000 +0100 +@@ -73,6 +73,7 @@ + Include_DBs/COMPILER1 = $(Include_DBs/CORE) $(VM)/includeDB_compiler1 + Include_DBs/COMPILER2 = $(Include_DBs/CORE) $(VM)/includeDB_compiler2 + Include_DBs/TIERED = $(Include_DBs/CORE) $(VM)/includeDB_compiler1 $(VM)/includeDB_compiler2 ++Include_DBs/SHARK = $(Include_DBs/CORE) $(VM)/includeDB_shark + Include_DBs = $(Include_DBs/$(TYPE)) + + Cached_plat = $(GENERATED)/platform.current +diff -Nru openjdk.orig/hotspot/make/linux/makefiles/vm.make openjdk/hotspot/make/linux/makefiles/vm.make +--- openjdk.orig/hotspot/make/linux/makefiles/vm.make 2008-07-13 00:38:03.000000000 +0100 ++++ openjdk/hotspot/make/linux/makefiles/vm.make 2008-07-13 00:59:03.000000000 +0100 +@@ -126,10 +126,14 @@ + + STATIC_CXX = true + +-ifeq ($(ZERO_LIBARCH), ppc64) ++ifdef ICEDTEA_SHARK_BUILD + STATIC_CXX = false + else +- STATIC_CXX = true ++ ifeq ($(ZERO_LIBARCH), ppc64) ++ STATIC_CXX = false ++ else ++ STATIC_CXX = true ++ endif + endif + + ifeq ($(LINK_INTO),AOUT) +@@ -157,6 +161,10 @@ + ifdef ICEDTEA_ZERO_BUILD + LIBS_VM += $(LIBFFI_LIBS) + endif ++ifdef ICEDTEA_SHARK_BUILD ++LFLAGS_VM += $(LLVM_LDFLAGS) ++LIBS_VM += $(LLVM_LIBS) ++endif + + LINK_VM = $(LINK_LIB.c) + +diff -Nru openjdk.orig/hotspot/make/Makefile openjdk/hotspot/make/Makefile +--- openjdk.orig/hotspot/make/Makefile 2008-07-13 00:38:02.000000000 +0100 ++++ openjdk/hotspot/make/Makefile 2008-07-13 00:59:03.000000000 +0100 +@@ -103,6 +103,15 @@ + all_debugcore: jvmgcore docs export_debug + all_optimizedcore: optimizedcore docs export_optimized + ++# Shark (C0) targets made available with this Makefile ++SHARK_VM_TARGETS=productshark fastdebugshark optimizedshark jvmgshark ++ ++allshark: all_productshark all_fastdebugshark ++all_productshark: productshark docs export_product ++all_fastdebugshark: fastdebugshark docs export_fastdebug ++all_debugshark: jvmgshark docs export_debug ++all_optimizedshark: optimizedshark docs export_optimized ++ + # Do everything + world: all create_jdk + +@@ -129,6 +138,10 @@ + $(CD) $(GAMMADIR)/make; \ + $(MAKE) VM_TARGET=$@ generic_buildcore $(ALT_OUT) + ++$(SHARK_VM_TARGETS): ++ $(CD) $(GAMMADIR)/make; \ ++ $(MAKE) VM_TARGET=$@ generic_buildshark $(ALT_OUT) ++ + $(KERNEL_VM_TARGETS): + $(CD) $(GAMMADIR)/make; \ + $(MAKE) VM_TARGET=$@ generic_buildkernel $(ALT_OUT) +@@ -181,6 +194,12 @@ + $(MAKE) -f $(ABS_OS_MAKEFILE) \ + $(MAKE_ARGS) $(VM_TARGET) + ++generic_buildshark: ++ $(MKDIR) -p $(OUTPUTDIR) ++ $(CD) $(OUTPUTDIR); \ ++ $(MAKE) -f $(ABS_OS_MAKEFILE) \ ++ $(MAKE_ARGS) $(VM_TARGET) ++ + generic_buildkernel: + $(MKDIR) -p $(OUTPUTDIR) + ifeq ($(OSNAME),windows) +@@ -230,8 +249,12 @@ + ifdef ICEDTEA_CORE_BUILD + C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_core + else ++ifdef ICEDTEA_SHARK_BUILD ++C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_shark ++else + C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler2 + endif ++endif + KERNEL_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_kernel + C1_DIR=$(C1_BASE_DIR)/$(VM_SUBDIR) + C2_DIR=$(C2_BASE_DIR)/$(VM_SUBDIR) +@@ -242,6 +265,10 @@ + MISC_DIR=$(C2_DIR) + GEN_DIR=$(C2_BASE_DIR)/generated + else ++ifdef ICEDTEA_SHARK_BUILD ++ MISC_DIR=$(C2_DIR) ++ GEN_DIR=$(C2_BASE_DIR)/generated ++else + ifeq ($(ARCH_DATA_MODEL), 32) + MISC_DIR=$(C1_DIR) + GEN_DIR=$(C1_BASE_DIR)/generated +@@ -250,6 +277,7 @@ + GEN_DIR=$(C2_BASE_DIR)/generated + endif + endif ++endif + + # Bin files (windows) + ifeq ($(OSNAME),windows) +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/default/icedtea-shark.patch Fri Feb 20 12:42:30 2009 +0000 @@ -0,0 +1,366 @@ +--- openjdk/hotspot/src/share/vm/oops/methodOop.cpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/oops/methodOop.cpp 2008-12-03 14:33:48.000000000 +0000 +@@ -727,10 +727,14 @@ + } + + OrderAccess::storestore(); ++#ifdef SHARK ++ mh->_from_interpreted_entry = code->instructions_begin(); ++#else + mh->_from_compiled_entry = code->verified_entry_point(); + OrderAccess::storestore(); + // Instantly compiled code can execute. + mh->_from_interpreted_entry = mh->get_i2c_entry(); ++#endif // SHARK + + } + +--- openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp 2008-12-03 14:33:48.000000000 +0000 +@@ -44,6 +44,7 @@ + friend class VMStructs; + friend class CardTableRS; + friend class CheckForUnmarkedOops; // Needs access to raw card bytes. ++ friend class SharkBuilder; + #ifndef PRODUCT + // For debugging. + friend class GuaranteeNotModClosure; +--- openjdk/hotspot/src/share/vm/runtime/globals.cpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/globals.cpp 2008-12-03 14:33:48.000000000 +0000 +@@ -176,6 +176,18 @@ + #define C2_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{C2 notproduct}", DEFAULT }, + #endif + ++#define SHARK_PRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{Shark product}", DEFAULT }, ++#define SHARK_PD_PRODUCT_FLAG_STRUCT(type, name, doc) { #type, XSTR(name), &name, "{Shark pd product}", DEFAULT }, ++#define SHARK_DIAGNOSTIC_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{Shark diagnostic}", DEFAULT }, ++#ifdef PRODUCT ++ #define SHARK_DEVELOP_FLAG_STRUCT(type, name, value, doc) /* flag is constant */ ++ #define SHARK_PD_DEVELOP_FLAG_STRUCT(type, name, doc) /* flag is constant */ ++ #define SHARK_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc) ++#else ++ #define SHARK_DEVELOP_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{Shark}", DEFAULT }, ++ #define SHARK_PD_DEVELOP_FLAG_STRUCT(type, name, doc) { #type, XSTR(name), &name, "{Shark pd}", DEFAULT }, ++ #define SHARK_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{Shark notproduct}", DEFAULT }, ++#endif + + static Flag flagTable[] = { + RUNTIME_FLAGS(RUNTIME_DEVELOP_FLAG_STRUCT, RUNTIME_PD_DEVELOP_FLAG_STRUCT, RUNTIME_PRODUCT_FLAG_STRUCT, RUNTIME_PD_PRODUCT_FLAG_STRUCT, RUNTIME_DIAGNOSTIC_FLAG_STRUCT, RUNTIME_EXPERIMENTAL_FLAG_STRUCT, RUNTIME_NOTPRODUCT_FLAG_STRUCT, RUNTIME_MANAGEABLE_FLAG_STRUCT, RUNTIME_PRODUCT_RW_FLAG_STRUCT, RUNTIME_LP64_PRODUCT_FLAG_STRUCT) +@@ -189,6 +201,9 @@ + #ifdef COMPILER2 + C2_FLAGS(C2_DEVELOP_FLAG_STRUCT, C2_PD_DEVELOP_FLAG_STRUCT, C2_PRODUCT_FLAG_STRUCT, C2_PD_PRODUCT_FLAG_STRUCT, C2_DIAGNOSTIC_FLAG_STRUCT, C2_NOTPRODUCT_FLAG_STRUCT) + #endif ++#ifdef SHARK ++ SHARK_FLAGS(SHARK_DEVELOP_FLAG_STRUCT, SHARK_PD_DEVELOP_FLAG_STRUCT, SHARK_PRODUCT_FLAG_STRUCT, SHARK_PD_PRODUCT_FLAG_STRUCT, SHARK_DIAGNOSTIC_FLAG_STRUCT, SHARK_NOTPRODUCT_FLAG_STRUCT) ++#endif + {0, NULL, NULL} + }; + +--- openjdk/hotspot/src/share/vm/runtime/vframeArray.cpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/vframeArray.cpp 2008-12-03 14:33:49.000000000 +0000 +@@ -64,6 +64,11 @@ + assert(monitor->owner() == NULL || (!monitor->owner()->is_unlocked() && !monitor->owner()->has_bias_pattern()), "object must be null or locked, and unbiased"); + BasicObjectLock* dest = _monitors->at(index); + dest->set_obj(monitor->owner()); ++#ifdef SHARK ++ // XXX This can be removed when Shark knows ++ // which monitors are in use. ++ if (monitor->owner()) ++#endif // SHARK + monitor->lock()->move_to(monitor->owner(), dest->lock()); + } + } +@@ -262,6 +267,11 @@ + top = iframe()->previous_monitor_in_interpreter_frame(top); + BasicObjectLock* src = _monitors->at(index); + top->set_obj(src->obj()); ++#ifdef SHARK ++ // XXX This can be removed when Shark knows ++ // which monitors are in use. ++ if (src->obj()) ++#endif // SHARK + src->lock()->move_to(src->obj(), top->lock()); + } + if (ProfileInterpreter) { +--- openjdk/hotspot/src/share/vm/runtime/vm_version.cpp.orig 2008-12-03 14:23:37.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp 2008-12-03 14:33:48.000000000 +0000 +@@ -94,12 +94,16 @@ + #ifdef TIERED + #define VMTYPE "Server" + #else ++#ifdef SHARK ++ #define VMTYPE "Shark" ++#else + #if defined(COMPILER1) || defined(COMPILER2) +- #define VMTYPE COMPILER1_PRESENT("Client") \ +- COMPILER2_PRESENT("Server") ++ #define VMTYPE COMPILER1_PRESENT("Client") \ ++ COMPILER2_PRESENT("Server") + #else + #define VMTYPE "Core" + #endif // COMPILER1 || COMPILER2 ++#endif // SHARK + #endif // TIERED + #endif // KERNEL + +--- openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp 2008-12-03 14:33:48.000000000 +0000 +@@ -229,6 +229,7 @@ + + } + ++#ifndef SHARK + // Compute the caller frame based on the sender sp of stub_frame and stored frame sizes info. + CodeBlob* cb = stub_frame.cb(); + // Verify we have the right vframeArray +@@ -239,6 +240,10 @@ + assert(cb->is_deoptimization_stub() || cb->is_uncommon_trap_stub(), "just checking"); + Events::log("fetch unroll sp " INTPTR_FORMAT, unpack_sp); + #endif ++#else ++ intptr_t* unpack_sp = stub_frame.sender(&dummy_map).unextended_sp(); ++#endif // !SHARK ++ + // This is a guarantee instead of an assert because if vframe doesn't match + // we will unpack the wrong deoptimized frame and wind up in strange places + // where it will be very difficult to figure out what went wrong. Better +@@ -349,7 +354,9 @@ + + frame_pcs[0] = deopt_sender.raw_pc(); + ++#ifndef SHARK + assert(CodeCache::find_blob_unsafe(frame_pcs[0]) != NULL, "bad pc"); ++#endif // SHARK + + UnrollBlock* info = new UnrollBlock(array->frame_size() * BytesPerWord, + caller_adjustment * BytesPerWord, +@@ -890,7 +897,20 @@ + // stuff a C2I adapter we can properly fill in the callee-save + // register locations. + frame caller = fr.sender(reg_map); ++#ifdef ZERO ++ int frame_size; ++ { ++ // In zero, frame::sp() is the *end* of the frame, so ++ // caller.sp() - fr.sp() is the size of the *caller*. ++ RegisterMap dummy_map(thread, false); ++ frame frame_1 = thread->last_frame(); ++ frame frame_2 = frame_1.sender(&dummy_map); ++ assert(frame_2.sp() == fr.sp(), "should be"); ++ frame_size = frame_2.sp() - frame_1.sp(); ++ } ++#else + int frame_size = caller.sp() - fr.sp(); ++#endif // ZERO + + frame sender = caller; + +@@ -1057,7 +1077,7 @@ + JRT_END + + +-#ifdef COMPILER2 ++#if defined(COMPILER2) || defined(SHARK) + void Deoptimization::load_class_by_index(constantPoolHandle constant_pool, int index, TRAPS) { + // in case of an unresolved klass entry, load the class. + if (constant_pool->tag_at(index).is_unresolved_klass()) { +@@ -1808,7 +1828,7 @@ + if (xtty != NULL) xtty->tail("statistics"); + } + } +-#else // COMPILER2 ++#else // COMPILER2 || SHARK + + + // Stubs for C1 only system. +@@ -1844,4 +1864,4 @@ + return buf; + } + +-#endif // COMPILER2 ++#endif // COMPILER2 || SHARK +--- openjdk/hotspot/src/share/vm/runtime/globals.hpp.orig 2008-12-03 14:22:17.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/globals.hpp 2008-12-03 14:33:48.000000000 +0000 +@@ -22,7 +22,7 @@ + * + */ + +-#if !defined(COMPILER1) && !defined(COMPILER2) ++#if !defined(COMPILER1) && !defined(COMPILER2) && !defined(SHARK) + define_pd_global(bool, BackgroundCompilation, false); + define_pd_global(bool, UseTLAB, false); + define_pd_global(bool, CICompileOSR, false); +--- openjdk/hotspot/src/share/vm/code/nmethod.hpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/code/nmethod.hpp 2008-12-03 14:33:48.000000000 +0000 +@@ -318,6 +318,7 @@ + + bool is_compiled_by_c1() const; + bool is_compiled_by_c2() const; ++ bool is_compiled_by_shark() const; + + // boundaries for different parts + address code_begin () const { return _entry_point; } +--- openjdk/hotspot/src/share/vm/code/nmethod.cpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/code/nmethod.cpp 2008-12-03 14:33:48.000000000 +0000 +@@ -65,6 +65,11 @@ + assert(compiler() != NULL, "must be"); + return compiler()->is_c2(); + } ++bool nmethod::is_compiled_by_shark() const { ++ if (is_native_method()) return false; ++ assert(compiler() != NULL, "must be"); ++ return compiler()->is_shark(); ++} + + + +@@ -1567,6 +1572,7 @@ + // Method that knows how to preserve outgoing arguments at call. This method must be + // called with a frame corresponding to a Java invoke + void nmethod::preserve_callee_argument_oops(frame fr, const RegisterMap *reg_map, OopClosure* f) { ++#ifndef SHARK + if (!method()->is_native()) { + SimpleScopeDesc ssd(this, fr.pc()); + Bytecode_invoke* call = Bytecode_invoke_at(ssd.method(), ssd.bci()); +@@ -1574,6 +1580,7 @@ + symbolOop signature = call->signature(); + fr.oops_compiled_arguments_do(signature, is_static, reg_map, f); + } ++#endif // !SHARK + } + + +@@ -2003,6 +2010,8 @@ + tty->print("(c1) "); + } else if (is_compiled_by_c2()) { + tty->print("(c2) "); ++ } else if (is_compiled_by_shark()) { ++ tty->print("(shark) "); + } else { + tty->print("(nm) "); + } +--- openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp 2008-12-03 14:33:48.000000000 +0000 +@@ -554,6 +554,14 @@ + #endif + #endif // COMPILER2 + ++#ifdef SHARK ++#if defined(COMPILER1) || defined(COMPILER2) ++#error "Can't use COMPILER1 or COMPILER2 with shark" ++#endif ++ _compilers[0] = new SharkCompiler(); ++ _compilers[1] = _compilers[0]; ++#endif ++ + // Initialize the CompileTask free list + _task_free_list = NULL; + +--- openjdk/hotspot/src/share/vm/compiler/abstractCompiler.hpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/compiler/abstractCompiler.hpp 2008-12-03 14:33:48.000000000 +0000 +@@ -45,18 +45,26 @@ + // Missing feature tests + virtual bool supports_native() { return true; } + virtual bool supports_osr () { return true; } +-#if defined(TIERED) || ( !defined(COMPILER1) && !defined(COMPILER2)) ++#if defined(TIERED) || ( !defined(COMPILER1) && !defined(COMPILER2) && !defined(SHARK)) + virtual bool is_c1 () { return false; } + virtual bool is_c2 () { return false; } ++ virtual bool is_shark() { return false; } + #else + #ifdef COMPILER1 + bool is_c1 () { return true; } + bool is_c2 () { return false; } ++ bool is_shark() { return false; } + #endif // COMPILER1 + #ifdef COMPILER2 + bool is_c1 () { return false; } + bool is_c2 () { return true; } ++ bool is_shark() { return false; } + #endif // COMPILER2 ++#ifdef SHARK ++ bool is_c1 () { return false; } ++ bool is_c2 () { return false; } ++ bool is_shark() { return true; } ++#endif // SHARK + #endif // TIERED + + // Customization +--- openjdk/hotspot/src/share/vm/ci/ciMethod.hpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/ci/ciMethod.hpp 2008-12-03 14:33:48.000000000 +0000 +@@ -69,7 +69,7 @@ + + // Optional liveness analyzer. + MethodLiveness* _liveness; +-#ifdef COMPILER2 ++#if defined(COMPILER2) || defined(SHARK) + ciTypeFlow* _flow; + #endif + +--- openjdk/hotspot/src/share/vm/ci/ciMethod.cpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/ci/ciMethod.cpp 2008-12-03 14:33:48.000000000 +0000 +@@ -56,9 +56,9 @@ + _liveness = NULL; + _bcea = NULL; + _method_blocks = NULL; +-#ifdef COMPILER2 ++#if defined(COMPILER2) || defined(SHARK) + _flow = NULL; +-#endif // COMPILER2 ++#endif // COMPILER2 || SHARK + + if (JvmtiExport::can_hotswap_or_post_breakpoint() && _is_compilable) { + // 6328518 check hotswap conditions under the right lock. +@@ -124,9 +124,9 @@ + _bcea = NULL; + _method_blocks = NULL; + _method_data = NULL; +-#ifdef COMPILER2 ++#if defined(COMPILER2) || defined(SHARK) + _flow = NULL; +-#endif // COMPILER2 ++#endif // COMPILER2 || SHARK + } + + +@@ -294,34 +294,34 @@ + // ------------------------------------------------------------------ + // ciMethod::get_flow_analysis + ciTypeFlow* ciMethod::get_flow_analysis() { +-#ifdef COMPILER2 ++#if defined(COMPILER2) || defined(SHARK) + if (_flow == NULL) { + ciEnv* env = CURRENT_ENV; + _flow = new (env->arena()) ciTypeFlow(env, this); + _flow->do_flow(); + } + return _flow; +-#else // COMPILER2 ++#else // COMPILER2 || SHARK + ShouldNotReachHere(); + return NULL; +-#endif // COMPILER2 ++#endif // COMPILER2 || SHARK + } + + + // ------------------------------------------------------------------ + // ciMethod::get_osr_flow_analysis + ciTypeFlow* ciMethod::get_osr_flow_analysis(int osr_bci) { +-#ifdef COMPILER2 ++#if defined(COMPILER2) || defined(SHARK) + // OSR entry points are always place after a call bytecode of some sort + assert(osr_bci >= 0, "must supply valid OSR entry point"); + ciEnv* env = CURRENT_ENV; + ciTypeFlow* flow = new (env->arena()) ciTypeFlow(env, this, osr_bci); + flow->do_flow(); + return flow; +-#else // COMPILER2 ++#else // COMPILER2 || SHARK + ShouldNotReachHere(); + return NULL; +-#endif // COMPILER2 ++#endif // COMPILER2 || SHARK + } + + // ------------------------------------------------------------------
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/default/icedtea-sparc-buildfixes.patch Fri Feb 20 12:42:30 2009 +0000 @@ -0,0 +1,35 @@ +--- openjdk/hotspot/make/linux/makefiles/gcc.make.orig 2008-12-04 20:29:08.000000000 +0000 ++++ openjdk/hotspot/make/linux/makefiles/gcc.make 2008-12-04 20:32:54.000000000 +0000 +@@ -52,6 +52,10 @@ + PICFLAG = -fpic + endif + ++ifneq ($(filter sparc sparcv9,$(BUILDARCH)),) ++PICFLAG = -fPIC ++endif ++ + VM_PICFLAG/LIBJVM = $(PICFLAG) + VM_PICFLAG/AOUT = + VM_PICFLAG = $(VM_PICFLAG/$(LINK_INTO)) +--- openjdk/hotspot/make/linux/makefiles/defs.make.orig 2008-12-04 20:29:04.000000000 +0000 ++++ openjdk/hotspot/make/linux/makefiles/defs.make 2008-12-04 20:32:54.000000000 +0000 +@@ -59,7 +59,7 @@ + endif + + # sparc +-ifeq ($(ARCH), sparc64) ++ifneq (,$(filter $(ARCH), sparc sparc64)) + ifeq ($(ARCH_DATA_MODEL), 64) + ARCH_DATA_MODEL = 64 + MAKE_ARGS += LP64=1 +--- openjdk/hotspot/src/cpu/sparc/vm/frame_sparc.hpp.orig 2008-12-04 20:32:19.000000000 +0000 ++++ openjdk/hotspot/src/cpu/sparc/vm/frame_sparc.hpp 2008-12-04 20:32:54.000000000 +0000 +@@ -264,7 +264,7 @@ + + private: + +- constantPoolCacheOop* frame::interpreter_frame_cpoolcache_addr() const; ++ constantPoolCacheOop* interpreter_frame_cpoolcache_addr() const; + + #ifndef CC_INTERP +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/default/icedtea-sparc-ptracefix.patch Fri Feb 20 12:42:30 2009 +0000 @@ -0,0 +1,34 @@ +diff -up openjdk/hotspot/agent/src/os/linux/libproc.h.BAD openjdk/hotspot/agent/src/os/linux/libproc.h +--- openjdk/hotspot/agent/src/os/linux/libproc.h.BAD 2008-05-29 19:03:34.000000000 -0400 ++++ openjdk/hotspot/agent/src/os/linux/libproc.h 2008-05-29 19:01:45.000000000 -0400 +@@ -34,14 +34,25 @@ + + #if defined(sparc) || defined(sparcv9) + /* +- If _LP64 is defined ptrace.h should be taken from /usr/include/asm-sparc64 +- otherwise it should be from /usr/include/asm-sparc +- These two files define pt_regs structure differently ++ Taken from asm-sparc/ptrace.h and asm-sparc64/ptrace.h + */ + #ifdef _LP64 +-#include "asm-sparc64/ptrace.h" ++struct pt_regs { ++ unsigned long u_regs[16]; /* globals and ins */ ++ unsigned long tstate; ++ unsigned long tpc; ++ unsigned long tnpc; ++ unsigned int y; ++ unsigned int fprs; ++}; + #else +-#include "asm-sparc/ptrace.h" ++struct pt_regs { ++ unsigned long psr; ++ unsigned long pc; ++ unsigned long npc; ++ unsigned long y; ++ unsigned long u_regs[16]; /* globals and ins */ ++}; + #endif + + #endif //sparc or sparcv9
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/default/icedtea-sparc-trapsfix.patch Fri Feb 20 12:42:30 2009 +0000 @@ -0,0 +1,21 @@ +diff -Nru openjdk.orig/hotspot/src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp openjdk/hotspot/src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp +--- openjdk.orig/hotspot/src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp 2008-08-04 08:40:18.000000000 +0100 ++++ openjdk/hotspot/src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp 2008-08-09 01:29:51.000000000 +0100 +@@ -25,7 +25,16 @@ + #include "incls/_precompiled.incl" + #include "incls/_assembler_linux_sparc.cpp.incl" + +-#include <asm-sparc/traps.h> ++/* Headers for 32bit sparc with a 32bit userland end up in asm/ ++ * Headers for 32bit sparc with a 64bit userland end up in asm-sparc/ ++ * There is no traps.h in asm-sparc64/ ++ */ ++ ++#if defined(__sparc__) && defined(__arch64__) ++# include <asm-sparc/traps.h> ++#else ++# include <asm/traps.h> ++#endif + + void MacroAssembler::read_ccr_trap(Register ccr_save) { + // No implementation
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/default/icedtea-sparc64-linux.patch Fri Feb 20 12:42:30 2009 +0000 @@ -0,0 +1,42 @@ +diff -Nru openjdk.orig/hotspot/make/linux/makefiles/defs.make openjdk/hotspot/make/linux/makefiles/defs.make +--- openjdk.orig/hotspot/make/linux/makefiles/defs.make 2008-06-22 22:28:06.000000000 +0100 ++++ openjdk/hotspot/make/linux/makefiles/defs.make 2008-06-22 22:35:27.000000000 +0100 +@@ -73,6 +73,14 @@ + HS_ARCH = sparc + endif + ++# sparc ++ifeq ($(ARCH), sparc) ++ ARCH_DATA_MODEL = 32 ++ PLATFORM = linux-sparc ++ VM_PLATFORM = linux_sparc ++ HS_ARCH = sparc ++endif ++ + # x86_64 + ifeq ($(ARCH), x86_64) + ifeq ($(ARCH_DATA_MODEL), 64) +diff -Nru openjdk.orig/hotspot/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp openjdk/hotspot/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp +--- openjdk.orig/hotspot/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp 2008-06-22 20:44:41.000000000 +0100 ++++ openjdk/hotspot/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp 2008-06-22 22:35:27.000000000 +0100 +@@ -1112,20 +1112,12 @@ + + void LIRGenerator::volatile_field_store(LIR_Opr value, LIR_Address* address, + CodeEmitInfo* info) { +-#ifdef _LP64 +- __ store(value, address, info); +-#else + __ volatile_store_mem_reg(value, address, info); +-#endif + } + + void LIRGenerator::volatile_field_load(LIR_Address* address, LIR_Opr result, + CodeEmitInfo* info) { +-#ifdef _LP64 +- __ load(address, result, info); +-#else + __ volatile_load_mem_reg(address, result, info); +-#endif + } + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/default/icedtea-static-libstdc++.patch Fri Feb 20 12:42:30 2009 +0000 @@ -0,0 +1,16 @@ +diff -Nru openjdk.orig/hotspot/make/linux/makefiles/vm.make openjdk/hotspot/make/linux/makefiles/vm.make +--- openjdk.orig/hotspot/make/linux/makefiles/vm.make 2008-05-16 22:13:31.000000000 +0100 ++++ openjdk/hotspot/make/linux/makefiles/vm.make 2008-05-23 23:25:47.000000000 +0100 +@@ -124,6 +124,12 @@ + + STATIC_CXX = true + ++ifeq ($(ZERO_LIBARCH), ppc64) ++ STATIC_CXX = false ++else ++ STATIC_CXX = true ++endif ++ + ifeq ($(LINK_INTO),AOUT) + LIBJVM.o = + LIBJVM_MAPFILE =
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/default/icedtea-text-relocations.patch Fri Feb 20 12:42:30 2009 +0000 @@ -0,0 +1,61 @@ +diff -Nru openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make +--- openjdk.orig/hotspot/make/linux/makefiles/gcc.make 2008-07-17 08:40:27.000000000 +0100 ++++ openjdk/hotspot/make/linux/makefiles/gcc.make 2008-07-21 23:10:50.000000000 +0100 +@@ -46,7 +46,11 @@ + # Compiler flags + + # position-independent code ++ifneq ($(filter parisc ppc ppc64 s390 s390x sparc sparc64 sparcv9,$(ZERO_LIBARCH)),) + PICFLAG = -fPIC ++else ++PICFLAG = -fpic ++endif + + VM_PICFLAG/LIBJVM = $(PICFLAG) + VM_PICFLAG/AOUT = +--- rules.make.orig 2008-12-12 11:23:31.000000000 -0500 ++++ openjdk/hotspot/make/linux/makefiles/rules.make 2008-12-12 11:32:26.000000000 -0500 +@@ -138,20 +138,10 @@ + include $(GAMMADIR)/make/pic.make + endif + +-# The non-PIC object files are only generated for 32 bit platforms. +-ifdef LP64 + %.o: %.cpp + @echo Compiling $< + $(QUIETLY) $(REMOVE_TARGET) + $(QUIETLY) $(COMPILE.CC) -o $@ $< $(COMPILE_DONE) +-else +-%.o: %.cpp +- @echo Compiling $< +- $(QUIETLY) $(REMOVE_TARGET) +- $(QUIETLY) $(if $(findstring $@, $(NONPIC_OBJ_FILES)), \ +- $(subst $(VM_PICFLAG), ,$(COMPILE.CC)) -o $@ $< $(COMPILE_DONE), \ +- $(COMPILE.CC) -o $@ $< $(COMPILE_DONE)) +-endif + + %.o: %.s + @echo Assembling $< +--- rules.make.orig 2008-12-12 11:42:55.000000000 -0500 ++++ openjdk/hotspot/make/solaris/makefiles/rules.make 2008-12-12 11:44:01.000000000 -0500 +@@ -138,20 +138,10 @@ + include $(GAMMADIR)/make/pic.make + endif + +-# Sun compiler for 64 bit Solaris does not support building non-PIC object files. +-ifdef LP64 + %.o: %.cpp + @echo Compiling $< + $(QUIETLY) $(REMOVE_TARGET) + $(QUIETLY) $(COMPILE.CC) -o $@ $< $(COMPILE_DONE) +-else +-%.o: %.cpp +- @echo Compiling $< +- $(QUIETLY) $(REMOVE_TARGET) +- $(QUIETLY) $(if $(findstring $@, $(NONPIC_OBJ_FILES)), \ +- $(subst $(VM_PICFLAG), ,$(COMPILE.CC)) -o $@ $< $(COMPILE_DONE), \ +- $(COMPILE.CC) -o $@ $< $(COMPILE_DONE)) +-endif + + %.o: %.s + @echo Assembling $<
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/default/icedtea-use-idx_t.patch Fri Feb 20 12:42:30 2009 +0000 @@ -0,0 +1,45 @@ +diff -Nru openjdk.orig/hotspot/src/share/vm/compiler/methodLiveness.cpp openjdk/hotspot/src/share/vm/compiler/methodLiveness.cpp +--- openjdk.orig/hotspot/src/share/vm/compiler/methodLiveness.cpp 2008-11-06 08:40:55.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/compiler/methodLiveness.cpp 2008-11-10 00:55:09.000000000 +0000 +@@ -567,15 +567,15 @@ + + + MethodLiveness::BasicBlock::BasicBlock(MethodLiveness *analyzer, int start, int limit) : +- _gen((uintptr_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), ++ _gen((size_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), + analyzer->bit_map_size_bits()), +- _kill((uintptr_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), ++ _kill((size_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), + analyzer->bit_map_size_bits()), +- _entry((uintptr_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), ++ _entry((size_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), + analyzer->bit_map_size_bits()), +- _normal_exit((uintptr_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), ++ _normal_exit((size_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), + analyzer->bit_map_size_bits()), +- _exception_exit((uintptr_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), ++ _exception_exit((size_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), + analyzer->bit_map_size_bits()), + _last_bci(-1) { + _analyzer = analyzer; +@@ -992,7 +992,7 @@ + } + + MethodLivenessResult MethodLiveness::BasicBlock::get_liveness_at(ciMethod* method, int bci) { +- MethodLivenessResult answer(NEW_RESOURCE_ARRAY(uintptr_t, _analyzer->bit_map_size_words()), ++ MethodLivenessResult answer(NEW_RESOURCE_ARRAY(size_t, _analyzer->bit_map_size_words()), + _analyzer->bit_map_size_bits()); + answer.set_is_valid(); + +diff -Nru openjdk.orig/hotspot/src/share/vm/utilities/bitMap.hpp openjdk/hotspot/src/share/vm/utilities/bitMap.hpp +--- openjdk.orig/hotspot/src/share/vm/utilities/bitMap.hpp 2008-11-06 08:40:58.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/utilities/bitMap.hpp 2008-11-10 00:57:20.000000000 +0000 +@@ -73,7 +73,7 @@ + + // Set a word to a specified value or to all ones; clear a word. + void set_word (idx_t word, bm_word_t val) { _map[word] = val; } +- void set_word (idx_t word) { set_word(word, ~(uintptr_t)0); } ++ void set_word (idx_t word) { set_word(word, ~(idx_t)0); } + void clear_word(idx_t word) { _map[word] = 0; } + + // Utilities for ranges of bits. Ranges are half-open [beg, end).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/default/icedtea-version.patch Fri Feb 20 12:42:30 2009 +0000 @@ -0,0 +1,48 @@ +diff -Nru openjdk.orig/hotspot/make/linux/makefiles/vm.make openjdk/hotspot/make/linux/makefiles/vm.make +--- openjdk.orig/hotspot/make/linux/makefiles/vm.make 2008-11-06 08:40:50.000000000 +0000 ++++ openjdk/hotspot/make/linux/makefiles/vm.make 2008-11-19 12:15:54.000000000 +0000 +@@ -86,6 +86,10 @@ + ${JRE_VERSION} \ + ${VM_DISTRO} + ++ifdef DISTRIBUTION_ID ++CPPFLAGS += -DDISTRIBUTION_ID="\"$(DISTRIBUTION_ID)\"" ++endif ++ + # CFLAGS_WARN holds compiler options to suppress/enable warnings. + CFLAGS += $(CFLAGS_WARN/BYFILE) + +diff -Nru openjdk.orig/hotspot/src/share/vm/utilities/vmError.cpp openjdk/hotspot/src/share/vm/utilities/vmError.cpp +--- openjdk.orig/hotspot/src/share/vm/utilities/vmError.cpp 2008-11-06 08:40:58.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/utilities/vmError.cpp 2008-11-19 12:15:54.000000000 +0000 +@@ -165,7 +165,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 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 +@@ -339,6 +340,9 @@ + Abstract_VM_Version::vm_platform_string(), + UseCompressedOops ? "compressed oops" : "" + ); ++#ifdef DISTRIBUTION_ID ++ st->print_cr("# Distribution: %s", DISTRIBUTION_ID); ++#endif + + STEP(60, "(printing problematic frame)") + +--- arguments.cpp 2008-12-15 12:25:14.000000000 -0500 ++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2008-12-15 12:25:32.000000000 -0500 +@@ -25,7 +25,7 @@ + #include "incls/_precompiled.incl" + #include "incls/_arguments.cpp.incl" + +-#define DEFAULT_VENDOR_URL_BUG "http://java.sun.com/webapps/bugreport/crash.jsp" ++#define DEFAULT_VENDOR_URL_BUG "http://icedtea.classpath.org/bugzilla" + #define DEFAULT_JAVA_LAUNCHER "generic" + + char** Arguments::_jvm_flags_array = NULL;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/default/icedtea-zero-build.patch Fri Feb 20 12:42:30 2009 +0000 @@ -0,0 +1,129 @@ +diff -Nru openjdk.orig/hotspot/make/defs.make openjdk/hotspot/make/defs.make +--- openjdk.orig/hotspot/make/defs.make 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/make/defs.make 2008-11-29 02:14:15.000000000 +0000 +@@ -192,13 +192,14 @@ + + # Use uname output for SRCARCH, but deal with platform differences. If ARCH + # is not explicitly listed below, it is treated as x86. +- SRCARCH = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64,$(ARCH))) ++ SRCARCH = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 zero,$(ARCH))) + ARCH/ = x86 + ARCH/sparc = sparc + ARCH/sparc64= sparc + ARCH/ia64 = ia64 + ARCH/amd64 = x86 + ARCH/x86_64 = x86 ++ ARCH/zero = zero + + # BUILDARCH is usually the same as SRCARCH, except for sparcv9 + BUILDARCH = $(SRCARCH) +@@ -222,8 +223,9 @@ + LIBARCH/sparc = sparc + LIBARCH/sparcv9 = sparcv9 + LIBARCH/ia64 = ia64 ++ LIBARCH/zero = $(ZERO_LIBARCH) + +- LP64_ARCH = sparcv9 amd64 ia64 ++ LP64_ARCH = sparcv9 amd64 ia64 zero + endif + + # Required make macro settings for all platforms +diff -Nru openjdk.orig/hotspot/make/linux/makefiles/buildtree.make openjdk/hotspot/make/linux/makefiles/buildtree.make +--- openjdk.orig/hotspot/make/linux/makefiles/buildtree.make 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/make/linux/makefiles/buildtree.make 2008-11-29 02:14:15.000000000 +0000 +@@ -321,6 +321,7 @@ + DATA_MODE/sparcv9 = 64 + DATA_MODE/amd64 = 64 + DATA_MODE/ia64 = 64 ++DATA_MODE/zero = $(ZERO_BITSPERWORD) + + JAVA_FLAG/32 = -d32 + JAVA_FLAG/64 = -d64 +diff -Nru openjdk.orig/hotspot/make/linux/makefiles/defs.make openjdk/hotspot/make/linux/makefiles/defs.make +--- openjdk.orig/hotspot/make/linux/makefiles/defs.make 2008-11-29 01:55:52.000000000 +0000 ++++ openjdk/hotspot/make/linux/makefiles/defs.make 2008-11-29 02:14:15.000000000 +0000 +@@ -37,6 +37,18 @@ + ARCH_DATA_MODEL ?= 32 + endif + ++# zero ++ifdef ICEDTEA_ZERO_BUILD ++ ARCH_DATA_MODEL = $(ZERO_BITSPERWORD) ++ ifeq ($(ARCH_DATA_MODEL), 64) ++ MAKE_ARGS += LP64=1 ++ endif ++ PLATFORM = linux-zero ++ VM_PLATFORM = linux_zero ++ HS_ARCH = zero ++ ARCH = zero ++endif ++ + # ia64 + ifeq ($(ARCH), ia64) + ARCH_DATA_MODEL = 64 +diff -Nru openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make +--- openjdk.orig/hotspot/make/linux/makefiles/gcc.make 2008-11-29 01:55:52.000000000 +0000 ++++ openjdk/hotspot/make/linux/makefiles/gcc.make 2008-11-29 02:14:15.000000000 +0000 +@@ -56,6 +56,9 @@ + VM_PICFLAG/AOUT = + VM_PICFLAG = $(VM_PICFLAG/$(LINK_INTO)) + ++ifdef ICEDTEA_ZERO_BUILD ++CFLAGS += $(LIBFFI_CFLAGS) ++endif + CFLAGS += $(VM_PICFLAG) + CFLAGS += -fno-rtti + CFLAGS += -fno-exceptions +@@ -72,6 +75,7 @@ + ARCHFLAG/ia64 = + ARCHFLAG/sparc = -m32 -mcpu=v9 + ARCHFLAG/sparcv9 = -m64 -mcpu=v9 ++ARCHFLAG/zero = $(ZERO_ARCHFLAG) + + CFLAGS += $(ARCHFLAG) + AOUT_FLAGS += $(ARCHFLAG) +diff -Nru openjdk.orig/hotspot/make/linux/makefiles/sa.make openjdk/hotspot/make/linux/makefiles/sa.make +--- openjdk.orig/hotspot/make/linux/makefiles/sa.make 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/make/linux/makefiles/sa.make 2008-11-29 02:14:15.000000000 +0000 +@@ -52,10 +52,10 @@ + SA_PROPERTIES = $(SA_CLASSDIR)/sa.properties + + # if $(AGENT_DIR) does not exist, we don't build SA +-# also, we don't build SA on Itanium. ++# also, we don't build SA on Itanium or zero. + + all: +- if [ -d $(AGENT_DIR) -a "$(SRCARCH)" != "ia64" ] ; then \ ++ if [ -d $(AGENT_DIR) -a "$(SRCARCH)" != "ia64" -a "$(SRCARCH)" != "zero" ] ; then \ + $(MAKE) -f sa.make $(GENERATED)/sa-jdi.jar; \ + fi + +diff -Nru openjdk.orig/hotspot/make/linux/makefiles/saproc.make openjdk/hotspot/make/linux/makefiles/saproc.make +--- openjdk.orig/hotspot/make/linux/makefiles/saproc.make 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/make/linux/makefiles/saproc.make 2008-11-29 02:14:15.000000000 +0000 +@@ -44,10 +44,10 @@ + DEST_SAPROC = $(JDK_LIBDIR)/$(LIBSAPROC) + + # if $(AGENT_DIR) does not exist, we don't build SA +-# also, we don't build SA on Itanium. ++# also, we don't build SA on Itanium or zero. + + checkAndBuildSA: +- $(QUIETLY) if [ -d $(AGENT_DIR) -a "$(SRCARCH)" != "ia64" ] ; then \ ++ $(QUIETLY) if [ -d $(AGENT_DIR) -a "$(SRCARCH)" != "ia64" -a "$(SRCARCH)" != "zero" ] ; then \ + $(MAKE) -f vm.make $(LIBSAPROC); \ + fi + +diff -Nru openjdk.orig/hotspot/make/linux/makefiles/vm.make openjdk/hotspot/make/linux/makefiles/vm.make +--- openjdk.orig/hotspot/make/linux/makefiles/vm.make 2008-11-29 01:55:52.000000000 +0000 ++++ openjdk/hotspot/make/linux/makefiles/vm.make 2008-11-29 02:14:15.000000000 +0000 +@@ -158,6 +158,9 @@ + + LIBS_VM += $(LIBS) + endif ++ifdef ICEDTEA_ZERO_BUILD ++LIBS_VM += $(LIBFFI_LIBS) ++endif + + LINK_VM = $(LINK_LIB.c) +
--- a/ports/hotspot/src/cpu/zero/vm/bytecodes_zero.hpp Fri Feb 20 12:41:09 2009 +0000 +++ b/ports/hotspot/src/cpu/zero/vm/bytecodes_zero.hpp Fri Feb 20 12:42:30 2009 +0000 @@ -1,25 +0,0 @@ -/* - * Copyright 2003 Sun Microsystems, Inc. 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 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. - * - */ - -// No zero specific bytecodes
--- a/ports/hotspot/src/cpu/zero/vm/disassembler_zero.cpp Fri Feb 20 12:41:09 2009 +0000 +++ b/ports/hotspot/src/cpu/zero/vm/disassembler_zero.cpp Fri Feb 20 12:42:30 2009 +0000 @@ -1,28 +0,0 @@ -/* - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2007 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. - * - */ - -#include "incls/_precompiled.incl" -#include "incls/_disassembler_zero.cpp.incl" -
--- a/ports/hotspot/src/cpu/zero/vm/stack_zero.hpp Fri Feb 20 12:41:09 2009 +0000 +++ b/ports/hotspot/src/cpu/zero/vm/stack_zero.hpp Fri Feb 20 12:42:30 2009 +0000 @@ -1,6 +1,6 @@ /* * Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2008 Red Hat, Inc. + * Copyright 2008, 2009 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
--- a/ports/hotspot/src/os_cpu/linux_zero/vm/orderAccess_linux_zero.inline.hpp Fri Feb 20 12:41:09 2009 +0000 +++ b/ports/hotspot/src/os_cpu/linux_zero/vm/orderAccess_linux_zero.inline.hpp Fri Feb 20 12:42:30 2009 +0000 @@ -1,6 +1,6 @@ /* * Copyright 2003 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2007 Red Hat, Inc. + * Copyright 2007, 2008, 2009 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
--- a/ports/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp Fri Feb 20 12:41:09 2009 +0000 +++ b/ports/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp Fri Feb 20 12:42:30 2009 +0000 @@ -1,6 +1,6 @@ /* * Copyright 2000-2007 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2007, 2008 Red Hat, Inc. + * Copyright 2007, 2008, 2009 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
--- a/ports/hotspot/src/share/vm/includeDB_shark Fri Feb 20 12:41:09 2009 +0000 +++ b/ports/hotspot/src/share/vm/includeDB_shark Fri Feb 20 12:42:30 2009 +0000 @@ -1,6 +1,6 @@ // // Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved. -// Copyright 2008 Red Hat, Inc. +// Copyright 2008, 2009 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
--- a/ports/hotspot/src/share/vm/shark/llvmHeaders.hpp Fri Feb 20 12:41:09 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/llvmHeaders.hpp Fri Feb 20 12:42:30 2009 +0000 @@ -1,6 +1,6 @@ /* * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2008 Red Hat, Inc. + * Copyright 2008, 2009 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
--- a/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp Fri Feb 20 12:41:09 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp Fri Feb 20 12:42:30 2009 +0000 @@ -1,6 +1,6 @@ /* * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2008 Red Hat, Inc. + * Copyright 2008, 2009 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
--- a/ports/hotspot/src/share/vm/shark/sharkBuilder.hpp Fri Feb 20 12:41:09 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkBuilder.hpp Fri Feb 20 12:42:30 2009 +0000 @@ -1,6 +1,6 @@ /* * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2008 Red Hat, Inc. + * Copyright 2008, 2009 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
--- a/ports/hotspot/src/share/vm/shark/sharkBytecodeTracer.cpp Fri Feb 20 12:41:09 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkBytecodeTracer.cpp Fri Feb 20 12:42:30 2009 +0000 @@ -1,6 +1,6 @@ /* * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2008 Red Hat, Inc. + * Copyright 2008, 2009 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
--- a/ports/hotspot/src/share/vm/shark/sharkEntry.cpp Fri Feb 20 12:41:09 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkEntry.cpp Fri Feb 20 12:42:30 2009 +0000 @@ -1,6 +1,6 @@ /* * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2008 Red Hat, Inc. + * Copyright 2008, 2009 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
--- a/ports/hotspot/src/share/vm/shark/sharkEntry.hpp Fri Feb 20 12:41:09 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkEntry.hpp Fri Feb 20 12:42:30 2009 +0000 @@ -1,6 +1,6 @@ /* * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2008 Red Hat, Inc. + * Copyright 2008, 2009 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
--- a/ports/hotspot/src/share/vm/shark/sharkFunction.cpp Fri Feb 20 12:41:09 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkFunction.cpp Fri Feb 20 12:42:30 2009 +0000 @@ -1,6 +1,6 @@ /* * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2008 Red Hat, Inc. + * Copyright 2008, 2009 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
--- a/ports/hotspot/src/share/vm/shark/sharkFunction.hpp Fri Feb 20 12:41:09 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkFunction.hpp Fri Feb 20 12:42:30 2009 +0000 @@ -1,6 +1,6 @@ /* * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2008 Red Hat, Inc. + * Copyright 2008, 2009 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
--- a/ports/hotspot/src/share/vm/shark/shark_globals.hpp Fri Feb 20 12:41:09 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/shark_globals.hpp Fri Feb 20 12:42:30 2009 +0000 @@ -1,6 +1,6 @@ /* * Copyright 2000-2007 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2008 Red Hat, Inc. + * Copyright 2008, 2009 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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/visualvm.desktop Fri Feb 20 12:42:30 2009 +0000 @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=OpenJDK VisualVM +Comment=Integrates commandline JDK tools and profiling capabilites. +Exec=/usr/bin/jvisualvm +Icon=java +Terminal=false +Type=Application +Categories=Development;Java; +Version=1.0