/hg/icedtea6: 3 new changesets

andrew at icedtea.classpath.org andrew at icedtea.classpath.org
Thu Sep 10 07:44:07 PDT 2009


changeset e2bd3952b822 in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=e2bd3952b822
author: Andrew John Hughes <ahughes at redhat.com>
date: Thu Sep 10 15:44:07 2009 +0100

	Merge.


changeset 161d0ebee520 in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=161d0ebee520
author: Andrew John Hughes <ahughes at redhat.com>
date: Thu Sep 10 15:44:21 2009 +0100

	Merge.


changeset 974ba11065ab in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=974ba11065ab
author: Andrew John Hughes <ahughes at redhat.com>
date: Thu Sep 10 15:46:50 2009 +0100

	Update documentation with recent changes and Shark requirements.

	2009-09-10 Andrew John Hughes <ahughes at redhat.com>

	 * INSTALL: Update documentation to reflect recent changes
	and add Shark requirements.


diffstat:

81 files changed, 2765 insertions(+), 1330 deletions(-)
ChangeLog                                                                |  212 +
INSTALL                                                                  |   13 
Makefile.am                                                              |    3 
patches/icedtea-jar-misc.patch                                           | 1126 ++++++++++
patches/icedtea-zero.patch                                               |  114 -
ports/hotspot/src/cpu/zero/vm/assembler_zero.cpp                         |   36 
ports/hotspot/src/cpu/zero/vm/assembler_zero.hpp                         |    3 
ports/hotspot/src/cpu/zero/vm/assembler_zero.inline.hpp                  |   26 
ports/hotspot/src/cpu/zero/vm/bytecodeInterpreter_zero.cpp               |    3 
ports/hotspot/src/cpu/zero/vm/bytecodeInterpreter_zero.hpp               |   51 
ports/hotspot/src/cpu/zero/vm/bytecodeInterpreter_zero.inline.hpp        |   43 
ports/hotspot/src/cpu/zero/vm/bytecodes_zero.cpp                         |    3 
ports/hotspot/src/cpu/zero/vm/bytecodes_zero.hpp                         |   25 
ports/hotspot/src/cpu/zero/vm/bytes_zero.hpp                             |  145 -
ports/hotspot/src/cpu/zero/vm/codeBuffer_zero.hpp                        |    2 
ports/hotspot/src/cpu/zero/vm/copy_zero.hpp                              |   38 
ports/hotspot/src/cpu/zero/vm/cppInterpreterGenerator_zero.hpp           |    8 
ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp                    |  123 -
ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.hpp                    |    1 
ports/hotspot/src/cpu/zero/vm/debug_zero.cpp                             |    3 
ports/hotspot/src/cpu/zero/vm/deoptimizerFrame_zero.hpp                  |   10 
ports/hotspot/src/cpu/zero/vm/depChecker_zero.cpp                        |   26 
ports/hotspot/src/cpu/zero/vm/depChecker_zero.hpp                        |   26 
ports/hotspot/src/cpu/zero/vm/disassembler_zero.cpp                      |   26 
ports/hotspot/src/cpu/zero/vm/dump_zero.cpp                              |    5 
ports/hotspot/src/cpu/zero/vm/entryFrame_zero.hpp                        |   13 
ports/hotspot/src/cpu/zero/vm/entry_zero.hpp                             |   42 
ports/hotspot/src/cpu/zero/vm/frame_zero.cpp                             |  321 ++
ports/hotspot/src/cpu/zero/vm/frame_zero.hpp                             |   41 
ports/hotspot/src/cpu/zero/vm/frame_zero.inline.hpp                      |   67 
ports/hotspot/src/cpu/zero/vm/globalDefinitions_zero.hpp                 |   26 
ports/hotspot/src/cpu/zero/vm/icBuffer_zero.cpp                          |    9 
ports/hotspot/src/cpu/zero/vm/icache_zero.cpp                            |    8 
ports/hotspot/src/cpu/zero/vm/icache_zero.hpp                            |   11 
ports/hotspot/src/cpu/zero/vm/interp_masm_zero.cpp                       |   26 
ports/hotspot/src/cpu/zero/vm/interpreterFrame_zero.hpp                  |   13 
ports/hotspot/src/cpu/zero/vm/interpreterGenerator_zero.hpp              |    1 
ports/hotspot/src/cpu/zero/vm/interpreterRT_zero.cpp                     |   24 
ports/hotspot/src/cpu/zero/vm/interpreterRT_zero.hpp                     |   51 
ports/hotspot/src/cpu/zero/vm/interpreter_zero.cpp                       |   15 
ports/hotspot/src/cpu/zero/vm/interpreter_zero.hpp                       |   24 
ports/hotspot/src/cpu/zero/vm/javaFrameAnchor_zero.hpp                   |   20 
ports/hotspot/src/cpu/zero/vm/jniFastGetField_zero.cpp                   |   24 
ports/hotspot/src/cpu/zero/vm/nativeInst_zero.cpp                        |    6 
ports/hotspot/src/cpu/zero/vm/nativeInst_zero.hpp                        |  105 
ports/hotspot/src/cpu/zero/vm/registerMap_zero.hpp                       |    2 
ports/hotspot/src/cpu/zero/vm/register_definitions_zero.cpp              |   26 
ports/hotspot/src/cpu/zero/vm/register_zero.hpp                          |   18 
ports/hotspot/src/cpu/zero/vm/relocInfo_zero.cpp                         |   35 
ports/hotspot/src/cpu/zero/vm/relocInfo_zero.hpp                         |    3 
ports/hotspot/src/cpu/zero/vm/sharedRuntime_zero.cpp                     |   28 
ports/hotspot/src/cpu/zero/vm/sharkFrame_zero.hpp                        |   19 
ports/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp                     |    2 
ports/hotspot/src/cpu/zero/vm/stackPrinter_zero.hpp                      |  293 --
ports/hotspot/src/cpu/zero/vm/stack_zero.hpp                             |  102 
ports/hotspot/src/cpu/zero/vm/stubGenerator_zero.cpp                     |   27 
ports/hotspot/src/cpu/zero/vm/stubRoutines_zero.hpp                      |   12 
ports/hotspot/src/cpu/zero/vm/templateInterpreterGenerator_zero.hpp      |   26 
ports/hotspot/src/cpu/zero/vm/templateInterpreter_zero.cpp               |   26 
ports/hotspot/src/cpu/zero/vm/templateInterpreter_zero.hpp               |   26 
ports/hotspot/src/cpu/zero/vm/templateTable_zero.cpp                     |   26 
ports/hotspot/src/cpu/zero/vm/templateTable_zero.hpp                     |   26 
ports/hotspot/src/cpu/zero/vm/vm_version_zero.cpp                        |   26 
ports/hotspot/src/cpu/zero/vm/vm_version_zero.hpp                        |    3 
ports/hotspot/src/cpu/zero/vm/vmreg_zero.cpp                             |   15 
ports/hotspot/src/cpu/zero/vm/vmreg_zero.inline.hpp                      |    8 
ports/hotspot/src/cpu/zero/vm/vtableStubs_zero.cpp                       |   12 
ports/hotspot/src/os_cpu/linux_zero/vm/assembler_linux_zero.cpp          |   26 
ports/hotspot/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp      |   78 
ports/hotspot/src/os_cpu/linux_zero/vm/bytes_linux_zero.inline.hpp       |    9 
ports/hotspot/src/os_cpu/linux_zero/vm/orderAccess_linux_zero.inline.hpp |   27 
ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp                 |  149 -
ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp                 |    3 
ports/hotspot/src/os_cpu/linux_zero/vm/prefetch_linux_zero.inline.hpp    |    6 
ports/hotspot/src/os_cpu/linux_zero/vm/threadLS_linux_zero.cpp           |    9 
ports/hotspot/src/os_cpu/linux_zero/vm/threadLS_linux_zero.hpp           |    6 
ports/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.cpp             |   26 
ports/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp             |   46 
ports/hotspot/src/os_cpu/linux_zero/vm/vm_version_linux_zero.cpp         |   26 
ports/hotspot/src/share/vm/shark/sharkCompiler.cpp                       |    3 
ports/hotspot/src/share/vm/shark/sharkEntry.hpp                          |    2 

diffs (truncated from 6353 to 500 lines):

diff -r 21edcf84dc76 -r 974ba11065ab ChangeLog
--- a/ChangeLog	Mon Aug 31 07:45:07 2009 +0200
+++ b/ChangeLog	Thu Sep 10 15:46:50 2009 +0100
@@ -1,3 +1,215 @@ 2009-08-31  Mark Wielaard  <mjw at redhat.c
+2009-09-10  Andrew John Hughes  <ahughes at redhat.com>
+
+	* INSTALL: Update documentation to reflect recent changes and add
+	Shark requirements.
+
+2009-09-10  Andrew Haley  <aph at redhat.com>
+
+        * Makefile.am, patches/icedtea-jar-misc.patch: Import patch from
+        upstream OpenJDK 6.
+        http://hg.openjdk.java.net/jdk6/jdk6/jdk/rev/b35f1e5075a4
+
+2009-09-09  Gary Benson  <gbenson at redhat.com>
+
+	* ports/hotspot/src/cpu/zero/vm/stack_zero.hpp
+	(ZeroFrame::identify_word): New method.
+	(ZeroFrame::identify_vp_word): Likewise.
+	
+	* ports/hotspot/src/cpu/zero/vm/entryFrame_zero.hpp
+	(EntryFrame::identify_word): New method.
+	* ports/hotspot/src/cpu/zero/vm/interpreterFrame_zero.hpp
+	(InterpreterFrame::identify_word): New method.
+	* ports/hotspot/src/cpu/zero/vm/sharkFrame_zero.hpp
+	(SharkFrame::identify_word): New method.
+	* ports/hotspot/src/cpu/zero/vm/deoptimizerFrame_zero.hpp
+	(DeoptimizerFrame::identify_word): Likewise.
+
+	* ports/hotspot/src/cpu/zero/vm/frame_zero.hpp
+	(frame::frame): Added frame pointer argument.
+	(frame::_fp): New field.
+	(frame::fp): Return the above, instead of a dummy value.
+	(frame::zero_print_on_error): New method.
+	* ports/hotspot/src/cpu/zero/vm/frame_zero.inline.hpp
+	(frame::frame): Initialize frame pointer.
+	* ports/hotspot/src/cpu/zero/vm/frame_zero.cpp
+	(frame::sender_for_entry_frame): Pass frame pointer.
+	(frame::sender_for_interpreter_frame): Likewise.
+	(frame::sender_for_compiled_frame): Likewise.
+	(frame::sender_for_deoptimizer_frame): Likewise.
+	(frame::zero_print_on_error): New method.
+	(ZeroFrame::identify_word): Likewise.
+	(EntryFrame::identify_word): Likewise.
+	(InterpreterFrame::identify_word): Likewise.
+	(SharkFrame::identify_word): Likewise.
+	(ZeroFrame::identify_vp_word): Likewise.
+	(DeoptimizerFrame::identify_word): Likewise.
+
+	* ports/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp
+	(JavaThread::pd_last_frame): Pass frame pointer.
+
+	* ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp
+	(os::current_frame): Implemented.
+	
+	* patches/icedtea-zero.patch
+	(VMError::report): Replace stack printer code.
+	(hotspot/src/share/vm/includeDB_core): Updated.
+
+	* ports/hotspot/src/cpu/zero/vm/stackPrinter_zero.hpp: Removed.
+	
+2009-09-08  Gary Benson  <gbenson at redhat.com>
+
+	* ports/hotspot/src/cpu/zero/vm/stack_zero.hpp: Whitespace changes.
+
+2009-09-08  Gary Benson  <gbenson at redhat.com>
+
+	* ports/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp
+	(JavaThread::pop_zero_frame): Tweak.
+
+2009-09-04  Gary Benson  <gbenson at redhat.com>
+
+	* ports/hotspot/src/cpu/zero/vm/entry_zero.hpp
+	(ZeroEntry::method_entry_t): Renamed as...
+	(ZeroEntry::NormalEntryFunc): New type.
+	(ZeroEntry::osr_entry_t): Renamed as...
+	(ZeroEntry::OSREntryFunc): New type.
+	(ZeroEntry::_entry_point): Changed type.
+	(ZeroEntry::entry_point): Changed signature.
+	(ZeroEntry::set_entry_point): Likewise.
+	(ZeroEntry::invoke): Added cast.
+	(ZeroEntry::invoke_osr): Updated cast.
+
+	* ports/hotspot/src/cpu/zero/vm/cppInterpreterGenerator_zero.hpp
+	(CppInterpreter::generate_entry): Changed signature.
+
+	* ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp
+	(InterpreterGenerator::generate_normal_entry): Added cast.
+	(InterpreterGenerator::generate_native_entry): Likewise.
+	(InterpreterGenerator::generate_accessor_entry): Likewise.
+	(InterpreterGenerator::generate_empty_entry): Likewise.
+	(AbstractInterpreterGenerator::generate_method_entry): Likewise.
+
+	* ports/hotspot/src/share/vm/shark/sharkCompiler.cpp
+	(SharkCompiler::compile_method): Updated cast.
+
+	* ports/hotspot/src/share/vm/shark/sharkEntry.hpp
+	(SharkEntry::code_start): Removed cast.
+
+	* ports/hotspot/src/cpu/zero/vm/nativeInst_zero.cpp
+	(NativeJump::patch_verified_entry): Added cast.
+
+2009-09-04  Gary Benson  <gbenson at redhat.com>
+
+	* ports/hotspot/src/cpu/zero/vm/icache_zero.hpp
+	(ICache::initialize): New method.
+	(ICache::invalidate_word): Likewise.
+	(ICache::invalidate_range): Likewise.
+
+	* ports/hotspot/src/cpu/zero/vm/icache_zero.cpp
+	(ICacheStubGenerator::generate_icache_flush): Replaced with stub.
+
+	* patches/icedtea-zero.patch
+	(AbstractICache::invalidate_range): Removed #ifdef ZERO.
+
+2009-09-03  Gary Benson  <gbenson at redhat.com>
+
+	* ports/hotspot/src/cpu/zero/vm/assembler_zero.cpp: Reformatted
+	with trailing opening braces.
+	* ports/hotspot/src/cpu/zero/vm/assembler_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/bytecodeInterpreter_zero.cpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/bytecodeInterpreter_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/bytecodeInterpreter_zero.inline.hpp:
+	Likewise.
+	* ports/hotspot/src/cpu/zero/vm/bytecodes_zero.cpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/bytes_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/codeBuffer_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/copy_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/cppInterpreterGenerator_zero.hpp:
+	Likewise.
+	* ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/debug_zero.cpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/deoptimizerFrame_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/dump_zero.cpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/entryFrame_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/entry_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/frame_zero.cpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/frame_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/frame_zero.inline.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/icBuffer_zero.cpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/icache_zero.cpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/icache_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/interpreterFrame_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/interpreterGenerator_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/interpreterRT_zero.cpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/interpreterRT_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/interpreter_zero.cpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/interpreter_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/javaFrameAnchor_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/jniFastGetField_zero.cpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/nativeInst_zero.cpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/nativeInst_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/registerMap_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/register_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/relocInfo_zero.cpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/relocInfo_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/sharedRuntime_zero.cpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/sharkFrame_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/stackPrinter_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/stack_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/stubGenerator_zero.cpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/stubRoutines_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/vm_version_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/vmreg_zero.cpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/vmreg_zero.inline.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/vtableStubs_zero.cpp: Likewise.
+	* ports/hotspot/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp:
+	Likewise.
+	* ports/hotspot/src/os_cpu/linux_zero/vm/bytes_linux_zero.inline.hpp:
+	Likewise.
+	* ports/hotspot/src/os_cpu/linux_zero/vm/orderAccess_linux_zero.inline.hpp:
+	Likewise.
+	* ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp: Likewise.
+	* ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp: Likewise.
+	* ports/hotspot/src/os_cpu/linux_zero/vm/prefetch_linux_zero.inline.hpp:
+	Likewise.
+	* ports/hotspot/src/os_cpu/linux_zero/vm/threadLS_linux_zero.cpp:
+	Likewise.
+	* ports/hotspot/src/os_cpu/linux_zero/vm/threadLS_linux_zero.hpp:
+	Likewise.
+	* ports/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp:
+	Likewise.
+
+2009-09-03  Gary Benson  <gbenson at redhat.com>
+
+	* ports/hotspot/src/cpu/zero/vm/bytecodes_zero.hpp
+	Added copyright header.
+	* ports/hotspot/src/cpu/zero/vm/assembler_zero.inline.hpp:
+	Added copyright header and "intentionally empty" message.
+	* ports/hotspot/src/cpu/zero/vm/depChecker_zero.cpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/depChecker_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/disassembler_zero.cpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/globalDefinitions_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/interp_masm_zero.cpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/register_definitions_zero.cpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/templateInterpreterGenerator_zero.hpp:
+	Likewise.
+	* ports/hotspot/src/cpu/zero/vm/templateInterpreter_zero.cpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/templateInterpreter_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/templateTable_zero.cpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/templateTable_zero.hpp: Likewise.
+	* ports/hotspot/src/cpu/zero/vm/vm_version_zero.cpp: Likewise.
+	* ports/hotspot/src/os_cpu/linux_zero/vm/assembler_linux_zero.cpp:
+	Likewise.
+	* ports/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.cpp:
+	Likewise.
+	* ports/hotspot/src/os_cpu/linux_zero/vm/vm_version_linux_zero.cpp:
+	Likewise.
+
+	* ports/hotspot/src/cpu/zero/vm/stackPrinter_zero.hpp
+	(ZeroStackPrinter::print_word): Replaced a couple of "%d"s with
+	INTPTR_FORMAT.
+
 2009-08-31  Mark Wielaard  <mjw at redhat.com>
 	    Keith Seitz  <keiths at redhat.com>
 
diff -r 21edcf84dc76 -r 974ba11065ab INSTALL
--- a/INSTALL	Mon Aug 31 07:45:07 2009 +0200
+++ b/INSTALL	Thu Sep 10 15:46:50 2009 +0100
@@ -39,6 +39,8 @@ netbeans = 6.5
 
 For building the zero-assembler port (see below), you will need libffi.
 
+For building the Shark JIT, you will need LLVM 2.5 or current SVN.
+
 For building with systemtap support (--enable-systemtap), you will need
 systemtap-sdt-devel (available since systemtap 0.9.5). This also needs
 the --with-abs-install-dir configure option to make sure the hotspot.stp.in
@@ -51,21 +53,20 @@ in the tapset/hotspot.stp file. For exam
 
 See ./configure --help if you need to override the defaults.
 
-To bootstrap IcedTea with ecj:
+To bootstrap IcedTea with ecj and a Classpath-based JDK such as GCJ:
 autoreconf
 ./configure 
 make
 
-To build IcedTea with an older version of IcedTea, use:
+To build IcedTea with an older version of IcedTea or OpenJDK, use:
 autoreconf
-./configure --with-icedtea 
-	[default location: /usr/lib/jvm/java-icedtea, 
-		to specifiy location use --with-icedtea-home=/path/to/icedtea]
+./configure --with-openjdk 
+	to specify the location use --with-openjdk=/path/to/icedtea]
 make
 
 There is currently no install target.
 
-IcedTea ends up in openjdk/control/build/<os>-<arch> when the build completes.
+IcedTea ends up in openjdk/build/<os>-<arch> when the build completes.
 Example instantiations of <os>-<arch> include linux-i586, linux-amd64 and linux-ppc64.
 
 Rebuilding The IcedTea Plugs
diff -r 21edcf84dc76 -r 974ba11065ab Makefile.am
--- a/Makefile.am	Mon Aug 31 07:45:07 2009 +0200
+++ b/Makefile.am	Thu Sep 10 15:46:50 2009 +0100
@@ -627,7 +627,8 @@ ICEDTEA_PATCHES = \
 	patches/security/icedtea-6824440.patch \
 	patches/security/icedtea-6830335.patch \
 	patches/security/icedtea-6845701.patch \
-	patches/security/icedtea-6813167.patch
+	patches/security/icedtea-6813167.patch \
+	patches/icedtea-jar-misc.patch
 
 if WITH_ALT_HSBUILD
 ICEDTEA_PATCHES += \
diff -r 21edcf84dc76 -r 974ba11065ab patches/icedtea-jar-misc.patch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/icedtea-jar-misc.patch	Thu Sep 10 15:46:50 2009 +0100
@@ -0,0 +1,1126 @@
+
+# HG changeset patch
+# User martin
+# Date 1246913604 25200
+# Node ID b35f1e5075a42030e8624459b13daa45ffc834f8
+# Parent 1661d42b1c09135b77f039e604878f0985d24255
+6854795: Miscellaneous improvements to "jar"
+6834805: Improve jar -C performance
+6332094: "jar t" and "jar x" should use ZipFile, not ZipInputStream
+6496274: jar seems to use more CPU than it should
+Summary: backport jdk7 jar command (remove use of nio2)
+Reviewed-by: sherman, darcy
+
+--- openjdk/jdk/src/share/classes/sun/tools/jar/Main.java	Thu Jun 25 17:15:18 2009 -0400
++++ openjdk/jdk/src/share/classes/sun/tools/jar/Main.java	Mon Jul 06 13:53:24 2009 -0700
+@@ -32,6 +32,8 @@ import java.util.jar.Manifest;
+ import java.util.jar.Manifest;
+ import java.text.MessageFormat;
+ import sun.misc.JarIndex;
++import static sun.misc.JarIndex.INDEX_NAME;
++import static java.util.jar.JarFile.MANIFEST_NAME;
+ 
+ /**
+  * This class implements a simple utility for creating files in the JAR
+@@ -46,10 +48,18 @@ class Main {
+     String zname = "";
+     String[] files;
+     String rootjar = null;
+-    Hashtable filesTable = new Hashtable();
+-    Vector paths = new Vector();
+-    Vector v;
+-    CRC32 crc32 = new CRC32();
++
++    // An entryName(path)->File map generated during "expand", it helps to
++    // decide whether or not an existing entry in a jar file needs to be
++    // replaced, during the "update" operation.
++    Map<String, File> entryMap = new HashMap<String, File>();
++
++    // All files need to be added/updated.
++    Set<File> entries = new LinkedHashSet<File>();
++
++    // Directories specified by "-C" operation.
++    Set<String> paths = new HashSet<String>();
++
+     /*
+      * cflag: create
+      * uflag: update
+@@ -62,11 +72,8 @@ class Main {
+      */
+     boolean cflag, uflag, xflag, tflag, vflag, flag0, Mflag, iflag;
+ 
+-    static final String MANIFEST = JarFile.MANIFEST_NAME;
+     static final String MANIFEST_DIR = "META-INF/";
+     static final String VERSION = "1.0";
+-    static final char SEPARATOR = File.separatorChar;
+-    static final String INDEX = JarIndex.INDEX_NAME;
+ 
+     private static ResourceBundle rsrc;
+ 
+@@ -118,9 +125,21 @@ class Main {
+         this.program = program;
+     }
+ 
++    /**
++     * Creates a new empty temporary file in the same directory as the
++     * specified file.  A variant of File.createTempFile.
++     */
++    private static File createTempFileInSameDirectoryAs(File file)
++        throws IOException {
++        File dir = file.getParentFile();
++        if (dir == null)
++            dir = new File(".");
++        return File.createTempFile("jartmp", null, dir);
++    }
++
+     private boolean ok;
+ 
+-    /*
++    /**
+      * Starts main program with the specified arguments.
+      */
+     public synchronized boolean run(String args[]) {
+@@ -153,7 +172,7 @@ class Main {
+                     }
+                     addVersion(manifest);
+                     addCreatedBy(manifest);
+-                    if (isAmbigousMainClass(manifest)) {
++                    if (isAmbiguousMainClass(manifest)) {
+                         if (in != null) {
+                             in.close();
+                         }
+@@ -175,7 +194,8 @@ class Main {
+                         vflag = false;
+                     }
+                 }
+-                create(new BufferedOutputStream(out), expand(files), manifest);
++                expand(null, files, false);
++                create(new BufferedOutputStream(out, 4096), manifest);
+                 if (in != null) {
+                     in.close();
+                 }
+@@ -186,9 +206,7 @@ class Main {
+                 FileOutputStream out;
+                 if (fname != null) {
+                     inputFile = new File(fname);
+-                    String path = inputFile.getParent();
+-                    tmpFile = File.createTempFile("tmp", null,
+-                              new File((path == null) ? "." : path));
++                    tmpFile = createTempFileInSameDirectoryAs(inputFile);
+                     in = new FileInputStream(inputFile);
+                     out = new FileOutputStream(tmpFile);
+                 } else {
+@@ -198,8 +216,9 @@ class Main {
+                 }
+                 InputStream manifest = (!Mflag && (mname != null)) ?
+                     (new FileInputStream(mname)) : null;
+-                expand(files);
+-                boolean updateOk = update(in, new BufferedOutputStream(out), manifest);
++                expand(null, files, true);
++                boolean updateOk = update(in, new BufferedOutputStream(out),
++                                          manifest, null);
+                 if (ok) {
+                     ok = updateOk;
+                 }
+@@ -217,19 +236,32 @@ class Main {
+                     }
+                     tmpFile.delete();
+                 }
+-            } else if (xflag || tflag) {
+-                InputStream in;
++            } else if (tflag) {
++                replaceFSC(files);
+                 if (fname != null) {
+-                    in = new FileInputStream(fname);
++                    list(fname, files);
+                 } else {
+-                    in = new FileInputStream(FileDescriptor.in);
+-                }
+-                if (xflag) {
+-                    extract(new BufferedInputStream(in), files);
++                    InputStream in = new FileInputStream(FileDescriptor.in);
++                    try{
++                        list(new BufferedInputStream(in), files);
++                    } finally {
++                        in.close();
++                    }
++                }
++            } else if (xflag) {
++                replaceFSC(files);
++                if (fname != null && files != null) {
++                    extract(fname, files);
+                 } else {
+-                    list(new BufferedInputStream(in), files);
+-                }
+-                in.close();
++                    InputStream in = (fname == null)
++                        ? new FileInputStream(FileDescriptor.in)
++                        : new FileInputStream(fname);
++                    try {
++                        extract(new BufferedInputStream(in), files);
++                    } finally {
++                        in.close();
++                    }
++                }
+             } else if (iflag) {
+                 genIndex(rootjar, files);
+             }
+@@ -248,8 +280,8 @@ class Main {
+         return ok;
+     }
+ 
+-    /*
+-     * Parse command line arguments.
++    /**
++     * Parses command line arguments.
+      */
+     boolean parseArgs(String args[]) {
+         /* Preprocess and expand @file arguments */
+@@ -354,7 +386,7 @@ class Main {
+                         while (dir.indexOf("//") > -1) {
+                             dir = dir.replace("//", "/");
+                         }
+-                        paths.addElement(dir.replace(File.separatorChar, '/'));
++                        paths.add(dir.replace(File.separatorChar, '/'));
+                         nameBuf[k++] = dir + args[++i];
+                     } else {
+                         nameBuf[k++] = args[i];
+@@ -383,21 +415,11 @@ class Main {
+         return true;
+     }
+ 
+-    /*
++    /**
+      * Expands list of files to process into full list of all files that
+      * can be found by recursively descending directories.
+      */
+-    String[] expand(String[] files) {
+-        v = new Vector();
+-        expand(null, files, v, filesTable);
+-        files = new String[v.size()];
+-        for (int i = 0; i < files.length; i++) {
+-            files[i] = ((File)v.elementAt(i)).getPath();
+-        }
+-        return files;
+-    }
+-
+-    void expand(File dir, String[] files, Vector v, Hashtable t) {
++    void expand(File dir, String[] files, boolean isUpdate) {
+         if (files == null) {
+             return;
+         }
+@@ -409,17 +431,20 @@ class Main {
+                 f = new File(dir, files[i]);
+             }
+             if (f.isFile()) {
+-                if (!t.contains(f)) {
+-                    t.put(entryName(f.getPath()), f);
+-                    v.addElement(f);
++                if (entries.add(f)) {
++                    if (isUpdate)
++                        entryMap.put(entryName(f.getPath()), f);
+                 }
+             } else if (f.isDirectory()) {
+-                String dirPath = f.getPath();
+-                dirPath = (dirPath.endsWith(File.separator)) ? dirPath :



More information about the distro-pkg-dev mailing list