Mercurial > hg > release > icedtea6-1.6
view patches/icedtea-rhino.patch @ 1716:9ad8a3d44a67
Fix a number of issues and enable the Rhino rewriter in the build.
2010-02-17 Andrew John Hughes <ahughes@redhat.com>
PR icedtea/179
* ChangeLog: Remove rogue whitespace highlighted
by emacs.
* Makefile.am:
(REWRITER_SRCS): Sources for class file rewriter.
Only set RHINO_JAR when WITH_RHINO is set. Point
to rewritten JAR file in build directory. Add
rewriter and license to EXTRA_DIST. Make icedtea,
icedtea-debug and icedtea-ecj depend on rewrite-rhino.stamp.
(stamps/rewriter.stamp): Build the class file rewriter.
(stamps/rewrite-rhino.stamp): Rewrite the system Rhino JAR
file to use the sun.org.mozilla namespace to avoid conflicts.
(rewriter): New alias for stamps/rewriter.stamp.
(rewrite-rhino): Likewise for stamps/rewrite-rhino.stamp.
* patches/icedtea-rhino.patch:
Copy rather than symlink the JAR file. Only drop the
internal suffix on the javascript package names.
* rewriter/com/redhat/rewriter/ClassRewriter.java:
(executor): Use a single threaded executor when
debugging is enabled.
(tasks): Store the Futures returned by the executor
for later checking.
(main(String[])): Log what happens when processFile
returns and handle any exceptions using Futures.
(call()): Ensure srcDir/destDir replacement always
matches with a trailing slash to avoid odd rewrites.
Loop directory creation to avoid possible race issues.
Increase logging and fix a number of issues with the rewrite:
* Fix off-by-one loop bug so final entry is inspected.
* Handle double entries which occur with 8-byte entries
(doubles and longs):
http://java.sun.com/docs/books/jvms/second_edition/html/ClassFile.doc.html#16628
author | Andrew John Hughes <ahughes@redhat.com> |
---|---|
date | Thu, 18 Mar 2010 14:56:35 +0000 |
parents | c8712800dc87 |
children |
line wrap: on
line source
--- openjdk/hotspot/src/share/vm/runtime/os.cpp.orig 2008-11-22 00:11:18.000000000 +0000 +++ openjdk/hotspot/src/share/vm/runtime/os.cpp 2008-12-03 21:16:14.000000000 +0000 @@ -886,6 +886,7 @@ "%/lib/jsse.jar:" "%/lib/jce.jar:" "%/lib/charsets.jar:" + "%/lib/rhino.jar:" "%/classes"; char* sysclasspath = format_boot_path(classpath_format, home, home_len, fileSep, pathSep); if (sysclasspath == NULL) return false; --- openjdk/jdk/make/com/sun/script/Makefile.orig 2008-11-25 09:01:10.000000000 +0000 +++ openjdk/jdk/make/com/sun/script/Makefile 2008-12-03 21:13:14.000000000 +0000 @@ -31,6 +31,8 @@ AUTO_FILES_JAVA_DIRS = com/sun/script +OTHER_JAVACFLAGS = -classpath $(RHINO_JAR) + # # Files that need to be copied # --- openjdk/jdk/make/com/sun/Makefile.orig 2008-11-25 09:01:09.000000000 +0000 +++ openjdk/jdk/make/com/sun/Makefile 2008-12-03 21:14:36.000000000 +0000 @@ -31,15 +31,8 @@ PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk -ifndef OPENJDK - ORG_EXISTS := $(call DirExists,$(CLOSED_SRC)/share/classes/sun/org,,) - ifneq ("$(ORG_EXISTS)", "") - SCRIPT_SUBDIR = script - endif -endif - # Omit mirror since it's built with the apt tool. -SUBDIRS = $(SCRIPT_SUBDIR) image security crypto/provider jndi jmx \ +SUBDIRS = script image security crypto/provider jndi jmx \ java inputmethods org rowset net/httpserver net/ssl demo \ tools jarsigner --- openjdk/jdk/make/common/Release.gmk.orig 2008-12-03 21:12:23.000000000 +0000 +++ openjdk/jdk/make/common/Release.gmk 2008-12-03 21:13:14.000000000 +0000 @@ -772,6 +772,7 @@ $(CP) $(RT_JAR) $(JRE_IMAGE_DIR)/lib/rt.jar $(CP) $(RESOURCES_JAR) $(JRE_IMAGE_DIR)/lib/resources.jar $(CP) $(JSSE_JAR) $(JRE_IMAGE_DIR)/lib/jsse.jar + $(CP) $(RHINO_JAR) $(JRE_IMAGE_DIR)/lib/rhino.jar @# Generate meta-index to make boot and extension class loaders lazier $(CD) $(JRE_IMAGE_DIR)/lib && \ $(BOOT_JAVA_CMD) -jar $(BUILDMETAINDEX_JARFILE) \ --- openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoTopLevel.java.orig 2008-11-25 09:02:56.000000000 +0000 +++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoTopLevel.java 2008-12-03 21:13:13.000000000 +0000 @@ -25,7 +25,7 @@ package com.sun.script.javascript; -import sun.org.mozilla.javascript.internal.*; +import sun.org.mozilla.javascript.*; import javax.script.*; /** --- openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java.orig 2008-11-25 09:02:56.000000000 +0000 +++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java 2008-12-03 21:13:05.000000000 +0000 @@ -26,7 +26,7 @@ package com.sun.script.javascript; import javax.script.*; import java.util.*; -import sun.org.mozilla.javascript.internal.*; +import sun.org.mozilla.javascript.*; import com.sun.script.util.*; /** --- openjdk/jdk/src/share/classes/com/sun/script/javascript/ExternalScriptable.java.orig 2008-11-25 09:02:56.000000000 +0000 +++ openjdk/jdk/src/share/classes/com/sun/script/javascript/ExternalScriptable.java 2008-12-03 21:13:14.000000000 +0000 @@ -24,7 +24,7 @@ */ package com.sun.script.javascript; -import sun.org.mozilla.javascript.internal.*; +import sun.org.mozilla.javascript.*; import javax.script.*; import java.util.*; --- openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java.orig 2008-11-25 09:02:56.000000000 +0000 +++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java 2008-12-03 21:13:05.000000000 +0000 @@ -26,7 +26,7 @@ package com.sun.script.javascript; import com.sun.script.util.*; import javax.script.*; -import sun.org.mozilla.javascript.internal.*; +import sun.org.mozilla.javascript.*; import java.lang.reflect.Method; import java.io.*; import java.util.*; --- openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoClassShutter.java.orig 2008-11-25 09:02:56.000000000 +0000 +++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoClassShutter.java 2008-12-03 21:13:05.000000000 +0000 @@ -26,7 +26,7 @@ package com.sun.script.javascript; import java.util.*; -import sun.org.mozilla.javascript.internal.*; +import sun.org.mozilla.javascript.*; /** * This class prevents script access to certain sensitive classes. --- openjdk/jdk/src/share/classes/com/sun/script/javascript/JavaAdapter.java.orig 2008-11-25 09:02:56.000000000 +0000 +++ openjdk/jdk/src/share/classes/com/sun/script/javascript/JavaAdapter.java 2008-12-03 21:13:14.000000000 +0000 @@ -26,7 +26,7 @@ package com.sun.script.javascript; import javax.script.Invocable; -import sun.org.mozilla.javascript.internal.*; +import sun.org.mozilla.javascript.*; /** * This class implements Rhino-like JavaAdapter to help implement a Java --- openjdk/jdk/src/share/classes/com/sun/script/javascript/JSAdapter.java.orig 2008-11-25 09:02:56.000000000 +0000 +++ openjdk/jdk/src/share/classes/com/sun/script/javascript/JSAdapter.java 2008-12-03 21:13:05.000000000 +0000 @@ -25,7 +25,7 @@ package com.sun.script.javascript; -import sun.org.mozilla.javascript.internal.*; +import sun.org.mozilla.javascript.*; import java.util.*; /** --- openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java.orig 2008-11-25 09:02:56.000000000 +0000 +++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java 2008-12-03 21:13:14.000000000 +0000 @@ -27,7 +27,7 @@ import java.lang.reflect.*; import static sun.security.util.SecurityConstants.*; -import sun.org.mozilla.javascript.internal.*; +import sun.org.mozilla.javascript.*; /** * This wrap factory is used for security reasons. JSR 223 script --- openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java.orig 2008-11-25 09:02:56.000000000 +0000 +++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java 2008-12-03 21:13:05.000000000 +0000 @@ -25,7 +25,7 @@ package com.sun.script.javascript; import javax.script.*; -import sun.org.mozilla.javascript.internal.*; +import sun.org.mozilla.javascript.*; /** * Represents compiled JavaScript code.