/hg/icedtea: 3 new changesets

andrew at icedtea.classpath.org andrew at icedtea.classpath.org
Mon May 10 10:05:24 PDT 2010


changeset dee31ba1367b in /hg/icedtea
details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=dee31ba1367b
author: Andrew John Hughes <ahughes at redhat.com>
date: Mon May 10 17:16:07 2010 +0100

	Regenerate Shark patch against b89.

	2010-05-10 Andrew John Hughes <ahughes at redhat.com>

	 * patches/hotspot/default/icedtea-shark.patch:
	Recreated against b89.


changeset 81af1ec36e30 in /hg/icedtea
details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=81af1ec36e30
author: Deepak Bhole <dbhole at redhat.com>
date: Mon May 10 18:02:36 2010 +0100

	- Stability imrovements
	- Fix regression introduced with fix for bug# 406
	- Fix to build with Gecko 1.9.1.5
	- Add proper proxy support
	- Update to work with latest chromium builds

	2009-12-02 Deepak Bhole <dbhole at redhat.com>

	 * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc
	(newMessageOnBus): Fix error handling code. Add support for
	NewArray, GetValue, and literal returns (primitives).
	(getValue): New function. Requests the value of a field from Java,
	converted to literal for primitives/boxable types.
	(setSlot): Bypass NPVariant creation. (newArray): New
	function, creates an array of given type on Java side.
	(set): Use value directly instead of NPVariant.
	(setStaticField): Same. (getArrayTypeForJava): New function.
	Given a variant, returns what type of array should be
	created to store that variant on Java side.
	(createJavaObjectFromVariant): Added support for arrays.
	(callStaticMethod): use direct values instead of NPVariants.
	(callMethod): Same.
		* plugin/icedteanp/IcedTeaJavaRequestProcessor.h: Updates as needed by
	changes to IcedTeaJavaRequestProcessor.cc.
		* plugin/icedteanp/IcedTeaNPPlugin.cc (GCJ_Destroy):
	Invalidate all NPObjects related to an instance.
		* plugin/icedteanp/IcedTeaPluginRequestProcessor.cc
	(sendWindow): Use NPVariant address to store windows info on Java
	side, rather than the corresponding NPObject address.
	(call): Use IcedTeaPluginUtilities::javaResultToNPVariant for java
	var to NPVariant conversion, rather than custom conversion.
	(sendString): Use new AyncCallThreadData struct and
	pluginthreadasynccall() for calls that need to be in main thread.
	(setMember): Send value information directly to _setMember, and let
	it sort out how to set values. (convertToNPVariant):
	Moved to utilities class. (sendMember): Deal with NPVariants
	instead of NPObjects. (queue_processor): Add case for
	GetSlot (WIP). (storeVariantInJava): Remove deprecated
	function. (_setMember): Use javaResultToNPVariant to get a
	value loaded into a variant. Deal with NPVariants instead of
	NPObjects. (_getMember): Deal with NPVariants instead of
	NPObjects. (_getString): New function. Returns toString
	values for variables.
		* plugin/icedteanp/IcedTeaPluginRequestProcessor.h: Declare new
	_getString function.
		* plugin/icedteanp/IcedTeaPluginUtils.cc: Move object map from the
	plugin request processor class. (strSplit): For
	efficiency, reserve enough space for strings beforehand.
	(getUTF8String): Same. (printStringVector): Run only if in
	debug. (removeInstanceID): New function to remove mapping
	between an object and an instance.
	(invalidateInstance): New function. Removes all mappings from
	objects to the given instance.
	(getNPObjectFromJavaKey): New function. Given a java object key,
	returns the corresponding JS object, if any.
	(storeObjectMapping): New function. Stores a mapping between Java
	objects and JS objects (peering). (removeObjectMapping): New
	function. Removes peering between JS object and Java object.
	(printStringPtrVector): Run only if in debug.
	(printNPVariant): Same. (NPVariantToString): Store result in
	provided parameter. (javaResultToNPVariant): New function,
	moved from IcedTeaScriptablePluginObject.
	(isObjectJSArray): New function. Returns if given NPObject
	represents an array.
		* plugin/icedteanp/IcedTeaPluginUtils.h: Misc. changes as needed by
	updates to IcedTeaPluginUtils.cc.
		* plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Move object_map
	to utilities class. (getProperty): Supply instance
	id to findClass. (get_scriptable_java_object): Use the new
	getNPObjectFromJavaKey/storeObjectMapping functions in the utilities
	class. Also, create object asynchronously.
	(_createAndRetainJavaObject): New function. Creates a scriptable
	Java object and increments reference count.
	(is_valid_java_object): New function. Returns if the given object is
	still valid. (invalidate): Remove instance and Java
	side object mapping for given object.
	(javaResultToNPVariant): Moved to utilities class. (invoke):
	Create variants peer on Java side before calling
	callMethod/callStaticMethod. (setProperty): Create variant
	peers on Java side before calling setField/setStaticField.
	(construct): Create variant peers on Java side before calling the
	constructor.
		* plugin/icedteanp/IcedTeaScriptablePluginObject.h: Misc. changes as
	needed by updates to IcedTeaScriptablePluginObject.cc.
		* plugin/icedteanp/java/netscape/javascript/JSObject.java: Added a new
	string constructor.
		* plugin/icedteanp/java/sun/applet/MethodOverloadResolver.java
	(getCostAndCastedObject): Add support for array type parameters.
	(isNum): Return true for boolean (booleans are convertible to int as
	per spec). (getNum): Remove case for char/Character.
	(getArrayAsString): New function. For debug only.
		* plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java
	(handleMessage): Add support for getValue. Wire in array creaion
	support. Support a '[System]' source for privileged calls.
	(isInt): New function. Returns if given object is an
	integer/convertible to an int.
		* plugin/icedteanp/java/sun/applet/PluginAppletViewer.java
	(setMember): Send primitive/boxable values as literals.
	(setSlot): Same. (getWindow): Fortify condition for wait
	for panel initialization. (parse): Handle nested objected
	tags, don't allow parameter value overwrite.


changeset 549c87a321e0 in /hg/icedtea
details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=549c87a321e0
author: Matthias Klose <doko at ubuntu.com>
date: Mon May 10 18:05:11 2010 +0100

	Add zero support for Hitachi SH

	2009-01-11 Nobuhiro Iwamatsu <iwamatsu at nigauri.org>
	Matthias Klose <doko at ubuntu.com>

	 * patches/sh4-support.patch: Add zero support for Hitachi
	SH.
	        * Makefile.am (ICEDTEA_PATCHES): Apply the above.
	        * NEWS: Mention SH support.


diffstat:

18 files changed, 1396 insertions(+), 808 deletions(-)
ChangeLog                                                         |  116 ++
Makefile.am                                                       |    3 
NEWS                                                              |    1 
patches/hotspot/default/icedtea-shark.patch                       |  118 --
patches/sh4-support.patch                                         |   63 +
plugin/icedteanp/IcedTeaJavaRequestProcessor.cc                   |  347 ++++--
plugin/icedteanp/IcedTeaJavaRequestProcessor.h                    |   51 
plugin/icedteanp/IcedTeaNPPlugin.cc                               |    4 
plugin/icedteanp/IcedTeaPluginRequestProcessor.cc                 |  551 ++--------
plugin/icedteanp/IcedTeaPluginRequestProcessor.h                  |    1 
plugin/icedteanp/IcedTeaPluginUtils.cc                            |  270 ++++
plugin/icedteanp/IcedTeaPluginUtils.h                             |   58 +
plugin/icedteanp/IcedTeaScriptablePluginObject.cc                 |  254 ++--
plugin/icedteanp/IcedTeaScriptablePluginObject.h                  |   12 
plugin/icedteanp/java/netscape/javascript/JSObject.java           |    7 
plugin/icedteanp/java/sun/applet/MethodOverloadResolver.java      |  139 ++
plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java |  103 +
plugin/icedteanp/java/sun/applet/PluginAppletViewer.java          |  106 +

diffs (truncated from 3516 to 500 lines):

diff -r 22113074838a -r 549c87a321e0 ChangeLog
--- a/ChangeLog	Mon Jan 11 11:43:43 2010 +0000
+++ b/ChangeLog	Mon May 10 18:05:11 2010 +0100
@@ -1,3 +1,119 @@ 2010-01-11  Gary Benson  <gbenson at redhat
+2009-01-11  Nobuhiro Iwamatsu <iwamatsu at nigauri.org>
+	    Matthias Klose  <doko at ubuntu.com>
+
+	* patches/icedtea-sh4-support.patch: Add zero support for Hitachi SH.
+	* Makefile.am (ICEDTEA_PATCHES): Apply the above.
+	* NEWS: Mention SH support.
+
+2010-05-10  Andrew John Hughes  <ahughes at redhat.com>
+
+	* patches/hotspot/default/icedtea-shark.patch:
+	Recreated against b89.
+
+2009-12-02  Deepak Bhole <dbhole at redhat.com>
+
+	* plugin/icedteanp/IcedTeaJavaRequestProcessor.cc
+	(newMessageOnBus): Fix error handling code. Add support for NewArray,
+	GetValue, and literal returns (primitives).
+	(getValue): New function. Requests the value of a field from Java,
+	converted to literal for primitives/boxable types.
+	(setSlot): Bypass NPVariant creation.
+	(newArray): New function, creates an array of given type on Java side.
+	(set): Use value directly instead of NPVariant.
+	(setStaticField): Same.
+	(getArrayTypeForJava): New function. Given a variant, returns what type of
+	array should be created to store that variant on Java side.
+	(createJavaObjectFromVariant): Added support for arrays.
+	(callStaticMethod): use direct values instead of NPVariants.
+	(callMethod): Same.
+	* plugin/icedteanp/IcedTeaJavaRequestProcessor.h: Updates as needed by
+	changes to IcedTeaJavaRequestProcessor.cc.
+	* plugin/icedteanp/IcedTeaNPPlugin.cc
+	(GCJ_Destroy): Invalidate all NPObjects related to an instance.
+	* plugin/icedteanp/IcedTeaPluginRequestProcessor.cc
+	(sendWindow): Use NPVariant address to store windows info on Java side,
+	rather than the corresponding NPObject address.
+	(call): Use IcedTeaPluginUtilities::javaResultToNPVariant for java var to
+	NPVariant conversion, rather than custom conversion.
+	(sendString): Use new AyncCallThreadData struct and
+	pluginthreadasynccall() for calls that need to be in main thread.
+	(setMember): Send value information directly to _setMember, and let it
+	sort out how to set values.
+	(convertToNPVariant): Moved to utilities class.
+	(sendMember): Deal with NPVariants instead of NPObjects.
+	(queue_processor): Add case for GetSlot (WIP).
+	(storeVariantInJava): Remove deprecated function.
+	(_setMember): Use javaResultToNPVariant to get a value loaded into a
+	variant. Deal with NPVariants instead of NPObjects.
+	(_getMember): Deal with NPVariants instead of NPObjects.
+	(_getString): New function. Returns toString values for variables.
+	* plugin/icedteanp/IcedTeaPluginRequestProcessor.h: Declare new _getString
+	function.
+	* plugin/icedteanp/IcedTeaPluginUtils.cc: Move object map from the plugin
+	request processor class.
+	(strSplit): For efficiency, reserve enough space for strings beforehand.
+	(getUTF8String): Same.
+	(printStringVector): Run only if in debug.
+	(removeInstanceID): New function to remove mapping between an object and
+	an instance.
+	(invalidateInstance): New function. Removes all mappings from objects to
+	the given instance.
+	(getNPObjectFromJavaKey): New function. Given a java object key, returns
+	the corresponding JS object, if any.
+	(storeObjectMapping): New function. Stores a mapping between Java
+	objects and JS objects (peering).
+	(removeObjectMapping): New function. Removes peering between JS object and
+	Java object.
+	(printStringPtrVector): Run only if in debug.
+	(printNPVariant): Same.
+	(NPVariantToString): Store result in provided parameter.
+	(javaResultToNPVariant): New function, moved from 
+	IcedTeaScriptablePluginObject.
+	(isObjectJSArray): New function. Returns if given NPObject represents an
+	array.
+	* plugin/icedteanp/IcedTeaPluginUtils.h: Misc. changes as needed by
+	updates to IcedTeaPluginUtils.cc.
+	* plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Move object_map to
+	utilities class.
+	(getProperty): Supply instance id to findClass.
+	(get_scriptable_java_object): Use the new
+	getNPObjectFromJavaKey/storeObjectMapping functions in the utilities
+	class. Also, create object asynchronously.
+	(_createAndRetainJavaObject): New function. Creates a scriptable Java
+	object and increments reference count.
+	(is_valid_java_object): New function. Returns if the given object is still
+	valid.
+	(invalidate): Remove instance and Java side object mapping for given
+	object.
+	(javaResultToNPVariant): Moved to utilities class.
+	(invoke): Create variants peer on Java side before calling
+	callMethod/callStaticMethod.
+	(setProperty): Create variant peers on Java side before calling
+	setField/setStaticField.
+	(construct): Create variant peers on Java side before calling the
+	constructor.
+	* plugin/icedteanp/IcedTeaScriptablePluginObject.h: Misc. changes as
+	needed by updates to IcedTeaScriptablePluginObject.cc.
+	* plugin/icedteanp/java/netscape/javascript/JSObject.java: Added a new
+	string constructor.
+	* plugin/icedteanp/java/sun/applet/MethodOverloadResolver.java
+	(getCostAndCastedObject): Add support for array type parameters.
+	(isNum): Return true for boolean (booleans are convertible to int as per
+	spec).
+	(getNum): Remove case for char/Character.
+	(getArrayAsString): New function. For debug only.
+	* plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java
+	(handleMessage): Add support for getValue. Wire in array creaion support.
+	Support a '[System]' source for privileged calls.
+	(isInt): New function. Returns if given object is an integer/convertible to
+	an int.
+	* plugin/icedteanp/java/sun/applet/PluginAppletViewer.java
+	(setMember): Send primitive/boxable values as literals.
+	(setSlot): Same.
+	(getWindow): Fortify condition for  wait for panel initialization.
+	(parse): Handle nested objected tags, don't allow parameter value
+	overwrite.
+
 2010-01-11  Gary Benson  <gbenson at redhat.com>
 
 	* contrib/checkopts/checkopts: Updated for the above.
diff -r 22113074838a -r 549c87a321e0 Makefile.am
--- a/Makefile.am	Mon Jan 11 11:43:43 2010 +0000
+++ b/Makefile.am	Mon May 10 18:05:11 2010 +0100
@@ -317,7 +317,8 @@ ICEDTEA_PATCHES = \
 	patches/icedtea-disable-intree-ec.patch \
 	patches/icedtea-sources.patch \
 	patches/no-precompiled.patch \
-	patches/parisc.patch
+	patches/parisc.patch \
+	patches/sh4-support.patch
 
 # Conditional patches
 
diff -r 22113074838a -r 549c87a321e0 NEWS
--- a/NEWS	Mon Jan 11 11:43:43 2010 +0000
+++ b/NEWS	Mon May 10 18:05:11 2010 +0100
@@ -26,6 +26,7 @@ New in release 1.13 (2010-XX-XX)
   - 6932480: Crash in CompilerThread/Parser. Unloaded array klass?
 - Added JNI call tracing using systemtap version 1.0+ when
   configuring with --enable-systemtap. See tapset/hotspot_jni.stp.
+- Add support for Zero build on Hitachi SH.
 
 New in release 1.12 (2009-11-17)
 
diff -r 22113074838a -r 549c87a321e0 patches/hotspot/default/icedtea-shark.patch
--- a/patches/hotspot/default/icedtea-shark.patch	Mon Jan 11 11:43:43 2010 +0000
+++ b/patches/hotspot/default/icedtea-shark.patch	Mon May 10 18:05:11 2010 +0100
@@ -1,23 +1,6 @@ diff -Nru openjdk.orig/hotspot/src/share
-diff -Nru openjdk.orig/hotspot/src/share/vm/ci/ciInstanceKlass.cpp openjdk/hotspot/src/share/vm/ci/ciInstanceKlass.cpp
---- openjdk.orig/hotspot/src/share/vm/ci/ciInstanceKlass.cpp	2010-01-25 14:41:05.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/ci/ciInstanceKlass.cpp	2010-02-22 15:15:54.000000000 +0000
-@@ -602,3 +602,4 @@
-   }
-   return impl;
- }
-+
-diff -Nru openjdk.orig/hotspot/src/share/vm/ci/ciInstanceKlass.hpp openjdk/hotspot/src/share/vm/ci/ciInstanceKlass.hpp
---- openjdk.orig/hotspot/src/share/vm/ci/ciInstanceKlass.hpp	2010-01-25 14:41:05.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/ci/ciInstanceKlass.hpp	2010-02-22 15:15:54.000000000 +0000
-@@ -208,4 +208,5 @@
-   // What kind of ciObject is this?
-   bool is_instance_klass() { return true; }
-   bool is_java_klass()     { return true; }
-+
- };
 diff -Nru openjdk.orig/hotspot/src/share/vm/ci/ciMethod.cpp openjdk/hotspot/src/share/vm/ci/ciMethod.cpp
---- openjdk.orig/hotspot/src/share/vm/ci/ciMethod.cpp	2010-02-19 17:14:36.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/ci/ciMethod.cpp	2010-02-22 15:15:54.000000000 +0000
+--- openjdk.orig/hotspot/src/share/vm/ci/ciMethod.cpp	2010-04-28 22:16:22.000000000 +0100
++++ openjdk/hotspot/src/share/vm/ci/ciMethod.cpp	2010-05-10 14:38:13.000000000 +0100
 @@ -56,9 +56,9 @@
    _liveness           = NULL;
    _bcea = NULL;
@@ -103,8 +86,8 @@ diff -Nru openjdk.orig/hotspot/src/share
  
  // ------------------------------------------------------------------
 diff -Nru openjdk.orig/hotspot/src/share/vm/ci/ciMethod.hpp openjdk/hotspot/src/share/vm/ci/ciMethod.hpp
---- openjdk.orig/hotspot/src/share/vm/ci/ciMethod.hpp	2010-01-25 14:41:05.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/ci/ciMethod.hpp	2010-02-22 15:15:54.000000000 +0000
+--- openjdk.orig/hotspot/src/share/vm/ci/ciMethod.hpp	2010-04-28 22:16:22.000000000 +0100
++++ openjdk/hotspot/src/share/vm/ci/ciMethod.hpp	2010-05-10 14:38:13.000000000 +0100
 @@ -71,7 +71,7 @@
  
    // Optional liveness analyzer.
@@ -125,8 +108,8 @@ diff -Nru openjdk.orig/hotspot/src/share
    address       interpreter_entry();
  
 diff -Nru openjdk.orig/hotspot/src/share/vm/code/nmethod.cpp openjdk/hotspot/src/share/vm/code/nmethod.cpp
---- openjdk.orig/hotspot/src/share/vm/code/nmethod.cpp	2010-02-19 17:14:36.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/code/nmethod.cpp	2010-02-22 15:15:54.000000000 +0000
+--- openjdk.orig/hotspot/src/share/vm/code/nmethod.cpp	2010-04-28 22:16:22.000000000 +0100
++++ openjdk/hotspot/src/share/vm/code/nmethod.cpp	2010-05-10 15:00:13.000000000 +0100
 @@ -65,6 +65,11 @@
    if (is_native_method()) return false;
    return compiler()->is_c2();
@@ -139,7 +122,7 @@ diff -Nru openjdk.orig/hotspot/src/share
  
  
  
-@@ -1345,6 +1350,10 @@
+@@ -1346,6 +1351,10 @@
      CodeCache::remove_saved_code(this);
    }
  
@@ -150,23 +133,7 @@ diff -Nru openjdk.orig/hotspot/src/share
    ((CodeBlob*)(this))->flush();
  
    CodeCache::free(this);
-Index: openjdk/hotspot/src/share/vm/utilities/macros.hpp
-===================================================================
---- openjdk.orig/ports/hotspot/src/share/vm/utilities/macros.hpp	2009-11-12 15:17:14.458064088 +0100
-+++ openjdk/hotspot/src/share/vm/utilities/macros.hpp	2009-11-12 15:19:18.097063844 +0100
-@@ -146,9 +146,11 @@
- #if defined(IA32) || defined(AMD64)
- #define X86
- #define X86_ONLY(code) code
-+#define NOT_X86(code)
- #else
- #undef X86
- #define X86_ONLY(code)
-+#define NOT_X86(code) code
- #endif
- 
- #ifdef IA32
-@@ -1736,6 +1745,7 @@
+@@ -1737,6 +1746,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) {
@@ -174,7 +141,7 @@ Index: openjdk/hotspot/src/share/vm/util
    if (!method()->is_native()) {
      SimpleScopeDesc ssd(this, fr.pc());
      Bytecode_invoke* call = Bytecode_invoke_at(ssd.method(), ssd.bci());
-@@ -1743,6 +1753,7 @@
+@@ -1744,6 +1754,7 @@
      symbolOop signature = call->signature();
      fr.oops_compiled_arguments_do(signature, has_receiver, reg_map, f);
    }
@@ -182,7 +149,7 @@ Index: openjdk/hotspot/src/share/vm/util
  }
  
  
-@@ -2242,6 +2253,8 @@
+@@ -2247,6 +2258,8 @@
      tty->print("(c1) ");
    } else if (is_compiled_by_c2()) {
      tty->print("(c2) ");
@@ -192,8 +159,8 @@ Index: openjdk/hotspot/src/share/vm/util
      tty->print("(nm) ");
    }
 diff -Nru openjdk.orig/hotspot/src/share/vm/code/nmethod.hpp openjdk/hotspot/src/share/vm/code/nmethod.hpp
---- openjdk.orig/hotspot/src/share/vm/code/nmethod.hpp	2010-02-19 17:14:37.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/code/nmethod.hpp	2010-02-22 15:15:54.000000000 +0000
+--- openjdk.orig/hotspot/src/share/vm/code/nmethod.hpp	2010-04-28 22:16:22.000000000 +0100
++++ openjdk/hotspot/src/share/vm/code/nmethod.hpp	2010-05-10 14:38:13.000000000 +0100
 @@ -334,6 +334,7 @@
  
    bool is_compiled_by_c1() const;
@@ -203,8 +170,8 @@ diff -Nru openjdk.orig/hotspot/src/share
    // boundaries for different parts
    address code_begin            () const          { return _entry_point; }
 diff -Nru openjdk.orig/hotspot/src/share/vm/compiler/abstractCompiler.hpp openjdk/hotspot/src/share/vm/compiler/abstractCompiler.hpp
---- openjdk.orig/hotspot/src/share/vm/compiler/abstractCompiler.hpp	2009-03-30 17:15:27.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/compiler/abstractCompiler.hpp	2010-02-22 15:15:54.000000000 +0000
+--- openjdk.orig/hotspot/src/share/vm/compiler/abstractCompiler.hpp	2010-04-28 22:16:22.000000000 +0100
++++ openjdk/hotspot/src/share/vm/compiler/abstractCompiler.hpp	2010-05-10 14:38:13.000000000 +0100
 @@ -45,18 +45,26 @@
    // Missing feature tests
    virtual bool supports_native()                 { return true; }
@@ -234,8 +201,8 @@ diff -Nru openjdk.orig/hotspot/src/share
  
    // Customization
 diff -Nru openjdk.orig/hotspot/src/share/vm/compiler/compileBroker.cpp openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp
---- openjdk.orig/hotspot/src/share/vm/compiler/compileBroker.cpp	2010-02-19 17:14:37.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp	2010-02-22 15:15:54.000000000 +0000
+--- openjdk.orig/hotspot/src/share/vm/compiler/compileBroker.cpp	2010-04-28 22:16:22.000000000 +0100
++++ openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp	2010-05-10 14:38:13.000000000 +0100
 @@ -555,6 +555,14 @@
  #endif
  #endif // COMPILER2
@@ -252,8 +219,8 @@ diff -Nru openjdk.orig/hotspot/src/share
    _task_free_list = NULL;
  
 diff -Nru openjdk.orig/hotspot/src/share/vm/memory/cardTableModRefBS.hpp openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp
---- openjdk.orig/hotspot/src/share/vm/memory/cardTableModRefBS.hpp	2009-09-21 17:12:26.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp	2010-02-22 15:15:54.000000000 +0000
+--- openjdk.orig/hotspot/src/share/vm/memory/cardTableModRefBS.hpp	2010-04-28 22:16:22.000000000 +0100
++++ openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp	2010-05-10 14:38:13.000000000 +0100
 @@ -44,6 +44,7 @@
    friend class VMStructs;
    friend class CardTableRS;
@@ -263,8 +230,8 @@ diff -Nru openjdk.orig/hotspot/src/share
    // For debugging.
    friend class GuaranteeNotModClosure;
 diff -Nru openjdk.orig/hotspot/src/share/vm/oops/methodOop.cpp openjdk/hotspot/src/share/vm/oops/methodOop.cpp
---- openjdk.orig/hotspot/src/share/vm/oops/methodOop.cpp	2010-02-19 17:14:37.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/oops/methodOop.cpp	2010-02-22 15:15:54.000000000 +0000
+--- openjdk.orig/hotspot/src/share/vm/oops/methodOop.cpp	2010-04-28 22:16:22.000000000 +0100
++++ openjdk/hotspot/src/share/vm/oops/methodOop.cpp	2010-05-10 14:38:13.000000000 +0100
 @@ -751,10 +751,14 @@
    }
  
@@ -281,9 +248,9 @@ diff -Nru openjdk.orig/hotspot/src/share
  }
  
 diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/deoptimization.cpp openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp
---- openjdk.orig/hotspot/src/share/vm/runtime/deoptimization.cpp	2010-02-19 17:14:39.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp	2010-02-22 15:15:54.000000000 +0000
-@@ -229,6 +229,7 @@
+--- openjdk.orig/hotspot/src/share/vm/runtime/deoptimization.cpp	2010-04-28 22:16:22.000000000 +0100
++++ openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp	2010-05-10 14:38:13.000000000 +0100
+@@ -254,6 +254,7 @@
  
    }
  
@@ -291,7 +258,7 @@ diff -Nru openjdk.orig/hotspot/src/share
    // 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
-@@ -245,6 +246,10 @@
+@@ -270,6 +271,10 @@
    assert(cb->is_deoptimization_stub() || cb->is_uncommon_trap_stub(), "just checking");
    Events::log("fetch unroll sp " INTPTR_FORMAT, unpack_sp);
  #endif
@@ -302,7 +269,7 @@ diff -Nru openjdk.orig/hotspot/src/share
    // 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
-@@ -355,7 +360,9 @@
+@@ -380,7 +385,9 @@
  
    frame_pcs[0] = deopt_sender.raw_pc();
  
@@ -312,7 +279,7 @@ diff -Nru openjdk.orig/hotspot/src/share
  
    UnrollBlock* info = new UnrollBlock(array->frame_size() * BytesPerWord,
                                        caller_adjustment * BytesPerWord,
-@@ -896,7 +903,20 @@
+@@ -921,7 +928,20 @@
    // stuff a C2I adapter we can properly fill in the callee-save
    // register locations.
    frame caller = fr.sender(reg_map);
@@ -333,7 +300,7 @@ diff -Nru openjdk.orig/hotspot/src/share
  
    frame sender = caller;
  
-@@ -1063,7 +1083,7 @@
+@@ -1073,7 +1093,7 @@
  JRT_END
  
  
@@ -342,7 +309,7 @@ diff -Nru openjdk.orig/hotspot/src/share
  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()) {
-@@ -1825,7 +1845,7 @@
+@@ -1835,7 +1855,7 @@
      if (xtty != NULL)  xtty->tail("statistics");
    }
  }
@@ -351,15 +318,15 @@ diff -Nru openjdk.orig/hotspot/src/share
  
  
  // Stubs for C1 only system.
-@@ -1861,4 +1881,4 @@
+@@ -1871,4 +1891,4 @@
    return buf;
  }
  
 -#endif // COMPILER2
 +#endif // COMPILER2 || SHARK
 diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/globals.cpp openjdk/hotspot/src/share/vm/runtime/globals.cpp
---- openjdk.orig/hotspot/src/share/vm/runtime/globals.cpp	2010-01-25 14:41:13.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/runtime/globals.cpp	2010-02-22 15:15:54.000000000 +0000
+--- openjdk.orig/hotspot/src/share/vm/runtime/globals.cpp	2010-04-28 22:16:22.000000000 +0100
++++ openjdk/hotspot/src/share/vm/runtime/globals.cpp	2010-05-10 14:38:13.000000000 +0100
 @@ -181,6 +181,18 @@
    #define C2_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{C2 notproduct}", DEFAULT },
  #endif
@@ -390,8 +357,8 @@ diff -Nru openjdk.orig/hotspot/src/share
  };
  
 diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/globals.hpp openjdk/hotspot/src/share/vm/runtime/globals.hpp
---- openjdk.orig/hotspot/src/share/vm/runtime/globals.hpp	2010-02-22 13:12:35.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/runtime/globals.hpp	2010-02-22 15:15:54.000000000 +0000
+--- openjdk.orig/hotspot/src/share/vm/runtime/globals.hpp	2010-05-10 14:37:37.000000000 +0100
++++ openjdk/hotspot/src/share/vm/runtime/globals.hpp	2010-05-10 14:38:13.000000000 +0100
 @@ -22,7 +22,7 @@
   *
   */
@@ -402,8 +369,8 @@ diff -Nru openjdk.orig/hotspot/src/share
  define_pd_global(bool, UseTLAB,                      false);
  define_pd_global(bool, CICompileOSR,                 false);
 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	2009-10-30 15:58:39.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp	2010-02-22 15:15:54.000000000 +0000
+--- openjdk.orig/hotspot/src/share/vm/runtime/vm_version.cpp	2010-04-28 22:16:22.000000000 +0100
++++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp	2010-05-10 14:38:13.000000000 +0100
 @@ -94,12 +94,16 @@
  #ifdef TIERED
    #define VMTYPE "Server"
@@ -421,3 +388,18 @@ diff -Nru openjdk.orig/hotspot/src/share
  #endif // TIERED
  #endif // KERNEL
  
+diff -Nru openjdk.orig/hotspot/src/share/vm/utilities/macros.hpp openjdk/hotspot/src/share/vm/utilities/macros.hpp
+--- openjdk.orig/hotspot/src/share/vm/utilities/macros.hpp	2010-04-28 22:16:22.000000000 +0100
++++ openjdk/hotspot/src/share/vm/utilities/macros.hpp	2010-05-10 14:38:13.000000000 +0100
+@@ -151,9 +151,11 @@
+ #if defined(IA32) || defined(AMD64)
+ #define X86
+ #define X86_ONLY(code) code
++#define NOT_X86(code)
+ #else
+ #undef X86
+ #define X86_ONLY(code)
++#define NOT_X86(code) code
+ #endif
+ 
+ #ifdef IA32
diff -r 22113074838a -r 549c87a321e0 patches/sh4-support.patch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/sh4-support.patch	Mon May 10 18:05:11 2010 +0100
@@ -0,0 +1,63 @@
+--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp	2009-12-24 14:56:12.000000000 +0900
++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp	2009-12-24 15:02:51.000000000 +0900
+@@ -1753,7 +1753,8 @@
+     {EM_MIPS_RS3_LE, EM_MIPS_RS3_LE, ELFCLASS32, ELFDATA2LSB, (char*)"MIPSel"},
+     {EM_MIPS,        EM_MIPS,    ELFCLASS32, ELFDATA2MSB, (char*)"MIPS"},
+     {EM_PARISC,      EM_PARISC,  ELFCLASS32, ELFDATA2MSB, (char*)"PARISC"},
+-    {EM_68K,         EM_68K,     ELFCLASS32, ELFDATA2MSB, (char*)"M68k"}
++    {EM_68K,         EM_68K,     ELFCLASS32, ELFDATA2MSB, (char*)"M68k"},
++    {EM_SH,          EM_SH,      ELFCLASS32, ELFDATA2LSB, (char*)"SH"} /* Support little endian only*/
+   };
+ 
+   #if  (defined IA32)
+@@ -1784,9 +1785,11 @@
+     static  Elf32_Half running_arch_code=EM_MIPS;
+   #elif  (defined M68K)
+     static  Elf32_Half running_arch_code=EM_68K;
++  #elif  (defined SH)
++    static  Elf32_Half running_arch_code=EM_SH;
+   #else
+     #error Method os::dll_load requires that one of following is defined:\
+-         IA32, AMD64, IA64, __sparc, __powerpc__, ARM, S390, ALPHA, MIPS, MIPSEL, PARISC, M68K
++         IA32, AMD64, IA64, __sparc, __powerpc__, ARM, S390, ALPHA, MIPS, MIPSEL, PARISC, M68K, SH
+   #endif
+ 
+   // Identify compatability class for VM's architecture and library's architecture
+--- openjdk/jdk/src/share/native/com/sun/media/sound/SoundDefs.h	2009-12-24 14:56:10.000000000 +0900
++++ openjdk/jdk/src/share/native/com/sun/media/sound/SoundDefs.h	2009-12-24 15:05:27.000000000 +0900
+@@ -47,7 +47,8 @@
+ #define X_S390X         12
+ #define X_SPARC         13
+ #define X_SPARCV9       14
+-#define X_ZERO          15
++#define X_SH            15
++#define X_ZERO          16
+ 
+ // **********************************
+ // Make sure you set X_PLATFORM and X_ARCH defines correctly.
+--- openjdk/jdk/make/common/shared/Compiler-gcc.gmk	2009-12-24 15:11:52.000000000 +0900
++++ openjdk/jdk/make/common/shared/Compiler-gcc.gmk	2009-12-24 15:12:17.000000000 +0900
+@@ -121,6 +121,11 @@
+     REQUIRED_CC_VER = 4.0
+     REQUIRED_GCC_VER = 4.0.*
+   endif
++  ifneq ("$(findstring sh,$(ARCH))", "")
++    # sh4*, sh3*
++    REQUIRED_CC_VER = 4.0
++    REQUIRED_GCC_VER = 4.0.*
++  endif
+   # Option used to create a shared library
+   SHARED_LIBRARY_FLAG = -shared -mimpure-text
+   SUN_COMP_VER := $(shell $(CC) --verbose 2>&1 )
+--- openjdk/corba/make/common/shared/Platform.gmk	2009-12-24 21:30:38.000000000 +0900
++++ openjdk/corba/make/common/shared/Platform.gmk	2009-12-25 10:17:14.000000000 +0900
+@@ -263,6 +263,9 @@
+       ifeq ($(ARCH), s390x)
+         ARCH_DATA_MODEL=64
+       endif
++      ifeq ($(ARCH), sh)
++        ARCH_DATA_MODEL=32
++      endif
+     endif
+   endif
+ 
diff -r 22113074838a -r 549c87a321e0 plugin/icedteanp/IcedTeaJavaRequestProcessor.cc
--- a/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc	Mon Jan 11 11:43:43 2010 +0000
+++ b/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc	Mon May 10 18:05:11 2010 +0100
@@ -36,6 +36,8 @@ obligated to do so.  If you do not wish 
 obligated to do so.  If you do not wish to do so, delete this
 exception statement from your version. */
 
+#include <typeinfo>
+
 #include "IcedTeaJavaRequestProcessor.h"



More information about the distro-pkg-dev mailing list