From doko at ubuntu.com Sat Jan 2 07:02:47 2010 From: doko at ubuntu.com (Matthias Klose) Date: Sat, 02 Jan 2010 16:02:47 +0100 Subject: build problems on sparc64-linux Message-ID: <4B3F6017.9000009@ubuntu.com> I see a build failure of current 6b17 from the IcedTea6 branch on sparc64-linux using the original hotspot, but not on sparc-linux (32bit). The build fails building abstractCompiler.cpp in build/linux-sparcv9/hotspot/outputdir/linux_sparcv9_compiler2/product .../hotspot/src/cpu/sparc/vm/assembler_sparc.hpp:1069: error: inline function 'void Assembler::emit_long(int)' used but never defined .../hotspot/src/cpu/sparc/vm/assembler_sparc.hpp:1083: error: inline function 'void Assembler::add(RegisterImpl*, int, RegisterImpl*, relocInfo::relocType)' used but never defined .../hotspot/src/cpu/sparc/vm/assembler_sparc.hpp:1514: error: inline function 'void Assembler::stb(RegisterImpl*, const Address&, int)' used but never defined .../hotspot/src/cpu/sparc/vm/assembler_sparc.hpp:1291: error: inline function 'void Assembler::ldsb(const Address&, RegisterImpl*, int)' used but never defined .../hotspot/src/cpu/sparc/vm/assembler_sparc.hpp:1507: error: inline function 'void Assembler::st(RegisterImpl*, RegisterImpl*, RegisterImpl*)' used but never defined these are all defined in assembler_sparc.inline.hpp. not using precompiled headers and -save-temps shows that assembler_sparc.inline.hpp is not included in the saved .ii file. I currently fail to see how assembler_x86.inline.hpp and assembler_zero.inline.hpp are included (or assembler_sparc.inline.hpp on sparc 32bit). Any hints? patches/icedtea-sparc-trapsfix.patch is patched to include asm/traps.h instead of asm-sparc/traps.h only for one sparc architecture. I don't see asm-sparc/traps.h anymore with recent kernel headers. maybe this should be build configure check depending on the kernel headers used? the fedora packaging repository does have two sparc patches not found in IcedTea. Are these still applied? Does the fedora build acctually build and work in it's current state? Thanks, Matthias From gbenson at icedtea.classpath.org Tue Jan 5 02:03:47 2010 From: gbenson at icedtea.classpath.org (gbenson at icedtea.classpath.org) Date: Tue, 05 Jan 2010 10:03:47 +0000 Subject: /hg/icedtea6: 2010-01-05 Gary Benson Message-ID: changeset c99b9280fdcf in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=c99b9280fdcf author: Gary Benson date: Tue Jan 05 10:09:26 2010 +0000 2010-01-05 Gary Benson * patches/zero/6909153.patch: New file. * patches/zero/6913869.patch: Likewise. * Makefile.am (ICEDTEA_PATCHES): Added the above. diffstat: 4 files changed, 60 insertions(+) ChangeLog | 6 ++++++ Makefile.am | 2 ++ patches/zero/6909153.patch | 40 ++++++++++++++++++++++++++++++++++++++++ patches/zero/6913869.patch | 12 ++++++++++++ diffs (85 lines): diff -r 5e600a55ee80 -r c99b9280fdcf ChangeLog --- a/ChangeLog Thu Dec 24 14:00:06 2009 -0500 +++ b/ChangeLog Tue Jan 05 10:09:26 2010 +0000 @@ -1,3 +1,9 @@ 2009-12-24 Deepak Bhole + + * patches/zero/6909153.patch: New file. + * patches/zero/6913869.patch: Likewise. + * Makefile.am (ICEDTEA_PATCHES): Added the above. + 2009-12-24 Deepak Bhole * Makefile.am: Define XP_UNIX, without which critical plugin API diff -r 5e600a55ee80 -r c99b9280fdcf Makefile.am --- a/Makefile.am Thu Dec 24 14:00:06 2009 -0500 +++ b/Makefile.am Tue Jan 05 10:09:26 2010 +0000 @@ -199,6 +199,8 @@ ICEDTEA_PATCHES = \ patches/zero/6891677.patch \ patches/zero/6896043.patch \ patches/zero/6903453.patch \ + patches/zero/6909153.patch \ + patches/zero/6913869.patch \ patches/icedtea-notice-safepoints.patch \ patches/icedtea-parisc-opt.patch \ patches/icedtea-lucene-crash.patch \ diff -r 5e600a55ee80 -r c99b9280fdcf patches/zero/6909153.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/zero/6909153.patch Tue Jan 05 10:09:26 2010 +0000 @@ -0,0 +1,40 @@ +diff -r 1ea456c6f2b7 -r 40e7c1d24e4a src/share/vm/compiler/compileBroker.cpp +--- openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp Tue Dec 22 17:56:03 2009 -0800 ++++ openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp Mon Jan 04 00:22:57 2010 -0800 +@@ -1820,9 +1820,11 @@ + CompileBroker::_t_standard_compilation.seconds(), + CompileBroker::_t_standard_compilation.seconds() / CompileBroker::_total_standard_compile_count); + tty->print_cr(" On stack replacement : %6.3f s, Average : %2.3f", CompileBroker::_t_osr_compilation.seconds(), CompileBroker::_t_osr_compilation.seconds() / CompileBroker::_total_osr_compile_count); +- compiler(CompLevel_fast_compile)->print_timers(); +- if (compiler(CompLevel_fast_compile) != compiler(CompLevel_highest_tier)) { +- compiler(CompLevel_highest_tier)->print_timers(); ++ ++ if (compiler(CompLevel_fast_compile)) { ++ compiler(CompLevel_fast_compile)->print_timers(); ++ if (compiler(CompLevel_fast_compile) != compiler(CompLevel_highest_tier)) ++ compiler(CompLevel_highest_tier)->print_timers(); + } + + tty->cr(); +diff -r 1ea456c6f2b7 -r 40e7c1d24e4a src/share/vm/runtime/arguments.cpp +--- openjdk/hotspot/src/share/vm/runtime/arguments.cpp Tue Dec 22 17:56:03 2009 -0800 ++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp Mon Jan 04 00:22:57 2010 -0800 +@@ -2756,9 +2756,16 @@ + set_aggressive_opts_flags(); + + #ifdef CC_INTERP +- // Biased locking is not implemented with c++ interpreter ++ // Clear flags not supported by the C++ interpreter ++ FLAG_SET_DEFAULT(ProfileInterpreter, false); + FLAG_SET_DEFAULT(UseBiasedLocking, false); +-#endif /* CC_INTERP */ ++ LP64_ONLY(FLAG_SET_DEFAULT(UseCompressedOops, false)); ++#endif // CC_INTERP ++ ++#ifdef ZERO ++ // Clear flags not supported by Zero ++ FLAG_SET_DEFAULT(TaggedStackInterpreter, false); ++#endif // ZERO + + #ifdef COMPILER2 + if (!UseBiasedLocking || EmitSync != 0) { diff -r 5e600a55ee80 -r c99b9280fdcf patches/zero/6913869.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/zero/6913869.patch Tue Jan 05 10:09:26 2010 +0000 @@ -0,0 +1,12 @@ +diff -r 40e7c1d24e4a -r 896da934748c src/share/vm/prims/jni.cpp +--- openjdk/hotspot/src/share/vm/prims/jni.cpp Mon Jan 04 00:22:57 2010 -0800 ++++ openjdk/hotspot/src/share/vm/prims/jni.cpp Mon Jan 04 03:34:40 2010 -0800 +@@ -3241,7 +3241,7 @@ + jint b = Atomic::xchg(0xdeadbeef, &a); + void *c = &a; + void *d = Atomic::xchg_ptr(&b, &c); +- assert(a == 0xdeadbeef && b == (jint) 0xcafebabe, "Atomic::xchg() works"); ++ assert(a == (jint) 0xdeadbeef && b == (jint) 0xcafebabe, "Atomic::xchg() works"); + assert(c == &b && d == &a, "Atomic::xchg_ptr() works"); + } + #endif // ZERO && ASSERT From bugzilla-daemon at icedtea.classpath.org Tue Jan 5 08:45:38 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 05 Jan 2010 16:45:38 +0000 Subject: [Bug 423] New: Iced tea openjdk1.6 and jdk1.7 crashes in remote x server (cygwin) environment Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=423 Summary: Iced tea openjdk1.6 and jdk1.7 crashes in remote x server (cygwin) environment Product: IcedTea Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: balajiraman at ge.com A simple java application crashes in remote x server environment for both openjdk1.6 and jdk1.7 when xrendering pipeline is enabled. Both the jvm and the xserver crashes. The remote x server uses NX (www.nomachine.com) technology for compression of X traffic. Some interesting findings: The xrendering pipeline does not crash in remote x server environment if we change the look feel to one of our custom look and feel. The xrendering pipeline does not crash for any look and feel in LOCAL X SERVER environment on Cent 0S 5.3. There are no crash logs, but while running the JGears demo using a debugger we found that a crash occured during a call to sun.java2d.SunGraphics2D. I am not quite sure whether it is a java issue, or x server issue or NX issue. OS version: SUSE Linux Enterprise Server 11 x86_64 VERSION = 11 PATCHLEVEL=0 JDK Version 1.6 java version "1.6.0_0" OpenJDK Runtime Environment (IcedTea6 1.6) (suse-33.2-x86_64) OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode) JDK Version 1.7 java version "1.7.0_0-icedtea" OpenJDK Runtime Environment (IcedTea7 1.11) (build 1.7.0_0-icedtea-b66) OpenJDK 64-Bit Server VM (build 16.0-b06, mixed mode) X server version Vendor: The Cygwin/X Project Release: 6.8.2.0-0 JAVA CODE: import java.awt.Container; import java.awt.Dimension; import javax.swing.JButton; import javax.swing.JFrame; public class TestSwing{ public static void main(String[] args) { JFrame f = new JFrame("This is a test"); System.out.println("THis is a test"); Container content = f.getContentPane(); content.add(new JButton("Button 1")); f.setSize(new Dimension(500,500)); f.setVisible(true); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jan 5 08:48:00 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 05 Jan 2010 16:48:00 +0000 Subject: [Bug 423] Iced tea openjdk1.6 and jdk1.7 crashes in remote x server (cygwin) environment Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=423 ------- Comment #1 from aph at redhat.com 2010-01-05 16:48 ------- Have you got any kind of backtrace for this, or a crash dump? -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From gnu_andrew at member.fsf.org Tue Jan 5 10:02:12 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 5 Jan 2010 18:02:12 +0000 Subject: /hg/icedtea6: 2010-01-05 Gary Benson In-Reply-To: References: Message-ID: <17c6771e1001051002j18231f5bi57052cf77c0af5a1@mail.gmail.com> 2010/1/5 : > changeset c99b9280fdcf in /hg/icedtea6 > details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=c99b9280fdcf > author: Gary Benson > date: Tue Jan 05 10:09:26 2010 +0000 > > ? ? ? ?2010-01-05 Gary Benson > > ? ? ? ? * patches/zero/6909153.patch: New file. > ? ? ? ? ? ? ? ?* patches/zero/6913869.patch: Likewise. > ? ? ? ? ? ? ? ?* Makefile.am (ICEDTEA_PATCHES): Added the above. > > Err... these are probably great and all, but I don't know what they are without looking up the Sun bug reports. This ChangeLog is pretty unhelpful in working out what these do and I didn't see a mail to the list. or anything on the wiki. It's just I'm well aware of what a pain this can be when patches later break or need to be dropped. Cheers, -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From Thomas.Rodriguez at Sun.COM Tue Jan 5 10:13:17 2010 From: Thomas.Rodriguez at Sun.COM (Tom Rodriguez) Date: Tue, 05 Jan 2010 10:13:17 -0800 Subject: State of openjdk on hppa In-Reply-To: <4B1D338C.703@ubuntu.com> References: <4B1D338C.703@ubuntu.com> Message-ID: <87D52094-A310-44C9-945E-7FF3E39592BB@sun.com> > openjdk builds on hppa, but doesn't run (yet). Andrew Haley once debugged it and found out at least one things which would need to be fixed: the assumption in the C++ interpreter that the stack always grows downwards, and not upwards as on hppa. > > please could one of the hotspot developers sched some light on this, how easy this might to be fix, and if there are other assumptions? Could you give more detail on where exactly the direction of growth is being assumed? I know there's an accessor in frame that's supposed to describe the direction of growth of the expression stack which is used a few places in the code: // expression stack (may go up or down, direction == 1 or -1) public: intptr_t* interpreter_frame_expression_stack() const; static jint interpreter_frame_expression_stack_direction(); I would think this has to be set correctly for HPPA to work. Is it? It's possible that the C++ interpreter would also need to consult this when pushing values for it to work correctly. tom > > thanks, Matthias From aph at redhat.com Tue Jan 5 10:17:01 2010 From: aph at redhat.com (Andrew Haley) Date: Tue, 05 Jan 2010 18:17:01 +0000 Subject: State of openjdk on hppa In-Reply-To: <87D52094-A310-44C9-945E-7FF3E39592BB@sun.com> References: <4B1D338C.703@ubuntu.com> <87D52094-A310-44C9-945E-7FF3E39592BB@sun.com> Message-ID: <4B43821D.3000406@redhat.com> On 01/05/2010 06:13 PM, Tom Rodriguez wrote: >> openjdk builds on hppa, but doesn't run (yet). Andrew Haley once >> debugged it and found out at least one things which would need to >> be fixed: the assumption in the C++ interpreter that the stack >> always grows downwards, and not upwards as on hppa. >> >> please could one of the hotspot developers sched some light on >> this, how easy this might to be fix, and if there are other >> assumptions? > > Could you give more detail on where exactly the direction of growth > is being assumed? I know there's an accessor in frame that's > supposed to describe the direction of growth of the expression stack > which is used a few places in the code: > > // expression stack (may go up or down, direction == 1 or -1) > public: > intptr_t* interpreter_frame_expression_stack() const; > static jint interpreter_frame_expression_stack_direction(); > > I would think this has to be set correctly for HPPA to work. Is it? > It's possible that the C++ interpreter would also need to consult > this when pushing values for it to work correctly. I didn't get very far. The first crash happens when the runtime write-protects some of the stack pages, which immediately segfaults. Andrew. From bugzilla-daemon at icedtea.classpath.org Tue Jan 5 10:45:04 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 05 Jan 2010 18:45:04 +0000 Subject: [Bug 424] New: Error: guarantee(get_thread_slow() == thread, "must be the same thread, slowly") Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=424 Summary: Error: guarantee(get_thread_slow() == thread,"must be the same thread, slowly") Product: IcedTea Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P3 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: wizardofki at gmail.com Hi, I just installed Gentoo KDE4, and I had 15 copies of this error message in my home folder. I'm not sure if it's related to Anaconda complaining or wrong permissions. Other than that, I'm not sure how to reproduce this bug. file:///home/jason/hs_err_pid12549.log: # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (threadLocalStorage.cpp:41), pid=12549, tid=2660719504 # Error: guarantee(get_thread_slow() == thread,"must be the same thread, slowly") # # JRE version: 6.0-b16 # Java VM: OpenJDK Client VM (14.0-b16 mixed mode linux-x86 ) # Distribution: Custom build (Wed Nov 11 23:17:16 CET 2009) # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # --------------- T H R E A D --------------- Current thread is native thread Stack: [0x9e925000,0x9e976000], sp=0x9e974e60, free space=319k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) V [libjvm.so+0x391b7d] V [libjvm.so+0x391ef7] V [libjvm.so+0x15554b] V [libjvm.so+0x36b2c6] V [libjvm.so+0x2c8077] C [libpthread.so.0+0x613f] --------------- P R O C E S S --------------- VM state:not at safepoint (normal execution) VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event]) [0x08131458] Threads_lock - owner thread: 0x08132000 Heap def new generation total 18176K, used 9898K [0x9ef60000, 0xa0310000, 0xa0310000) eden space 16192K, 61% used [0x9ef60000, 0x9f90a8e0, 0x9ff30000) from space 1984K, 0% used [0x9ff30000, 0x9ff30000, 0xa0120000) to space 1984K, 0% used [0xa0120000, 0xa0120000, 0xa0310000) tenured generation total 241984K, used 0K [0xa0310000, 0xaef60000, 0xaef60000) the space 241984K, 0% used [0xa0310000, 0xa0310000, 0xa0310200, 0xaef60000) compacting perm gen total 12288K, used 4004K [0xaef60000, 0xafb60000, 0xb2f60000) the space 12288K, 32% used [0xaef60000, 0xaf349130, 0xaf349200, 0xafb60000) No shared spaces configured. Dynamic libraries: 08048000-0804d000 r-xp 00000000 03:41 540142 /usr/bin/nepomukservicestub 0804d000-0804e000 r--p 00004000 03:41 540142 /usr/bin/nepomukservicestub 0804e000-0804f000 rw-p 00005000 03:41 540142 /usr/bin/nepomukservicestub 0804f000-0850f000 rw-p 00000000 00:00 0 [heap] 9e925000-9e928000 rwxp 00000000 00:00 0 9e928000-9e976000 rwxp 00000000 00:00 0 9e976000-9e998000 r--s 00174000 03:41 507841 /usr/share/soprano/sesame2/openrdf-sesame-2.2.4-onejar.jar 9e998000-9e999000 ---p 00000000 00:00 0 9e999000-9ea19000 rwxp 00000000 00:00 0 9ea19000-9ea1c000 ---p 00000000 00:00 0 9ea1c000-9ea6a000 rwxp 00000000 00:00 0 9ea6a000-9ea6d000 ---p 00000000 00:00 0 9ea6d000-9eaeb000 rwxp 00000000 00:00 0 9eaeb000-9eaee000 ---p 00000000 00:00 0 9eaee000-9eb3c000 rwxp 00000000 00:00 0 9eb3c000-9eb3f000 ---p 00000000 00:00 0 9eb3f000-9eb8d000 rwxp 00000000 00:00 0 9eb8d000-9eb90000 ---p 00000000 00:00 0 9eb90000-9ebde000 rwxp 00000000 00:00 0 9ebde000-9ebdf000 ---p 00000000 00:00 0 9ebdf000-9ec5f000 rwxp 00000000 00:00 0 9ec5f000-9ec92000 rw-p 00000000 00:00 0 9ec92000-9ee27000 r--s 038ce000 03:41 490922 /opt/icedtea6-bin-1.6.2/jre/lib/rt.jar 9ee27000-9ee2e000 rwxp 00000000 00:00 0 9ee2e000-9ee48000 rwxp 00000000 00:00 0 9ee48000-9ef45000 rwxp 00000000 00:00 0 9ef45000-9ef5f000 rwxp 00000000 00:00 0 9ef5f000-afb60000 rwxp 00000000 00:00 0 afb60000-b2f60000 rwxp 00000000 00:00 0 b2f6a000-b2f6e000 r--s 00079000 03:41 490827 /opt/icedtea6-bin-1.6.2/jre/lib/jsse.jar b2f6e000-b2f71000 rwxp 00000000 00:00 0 b2f71000-b2fee000 rwxp 00000000 00:00 0 b2fee000-b309e000 rwxp 00000000 00:00 0 b309e000-b4fee000 rwxp 00000000 00:00 0 b4fee000-b4ff5000 r-xp 00000000 03:41 490879 /opt/icedtea6-bin-1.6.2/jre/lib/i386/libzip.so b4ff5000-b4ff6000 r--p 00006000 03:41 490879 /opt/icedtea6-bin-1.6.2/jre/lib/i386/libzip.so b4ff6000-b4ff7000 rw-p 00007000 03:41 490879 /opt/icedtea6-bin-1.6.2/jre/lib/i386/libzip.so b4ff7000-b4fff000 rw-s 00000000 03:41 1071106 /tmp/hsperfdata_jason/12549 b4fff000-b5023000 r-xp 00000000 03:41 490906 /opt/icedtea6-bin-1.6.2/jre/lib/i386/libjava.so b5023000-b5024000 r--p 00023000 03:41 490906 /opt/icedtea6-bin-1.6.2/jre/lib/i386/libjava.so b5024000-b5026000 rw-p 00024000 03:41 490906 /opt/icedtea6-bin-1.6.2/jre/lib/i386/libjava.so b5026000-b541a000 r-xp 00000000 03:41 490882 /opt/icedtea6-bin-1.6.2/jre/lib/i386/client/libjvm.so b541a000-b5430000 r--p 003f4000 03:41 490882 /opt/icedtea6-bin-1.6.2/jre/lib/i386/client/libjvm.so b5430000-b543c000 rw-p 0040a000 03:41 490882 /opt/icedtea6-bin-1.6.2/jre/lib/i386/client/libjvm.so b543c000-b585b000 rw-p 00000000 00:00 0 b585b000-b587c000 r-xp 00000000 03:41 507875 /usr/lib/soprano/libsoprano_sesame2backend.so b587c000-b587d000 r--p 00020000 03:41 507875 /usr/lib/soprano/libsoprano_sesame2backend.so b587d000-b587e000 rw-p 00021000 03:41 507875 /usr/lib/soprano/libsoprano_sesame2backend.so b587e000-b58b0000 r-xp 00000000 03:41 412372 /usr/lib/libxslt.so.1.1.26 b58b0000-b58b1000 r--p 00031000 03:41 412372 /usr/lib/libxslt.so.1.1.26 b58b1000-b58b2000 rw-p 00032000 03:41 412372 /usr/lib/libxslt.so.1.1.26 b58b3000-b58ba000 r-xp 00000000 03:41 490901 /opt/icedtea6-bin-1.6.2/jre/lib/i386/native_threads/libhpi.so b58ba000-b58bb000 r--p 00006000 03:41 490901 /opt/icedtea6-bin-1.6.2/jre/lib/i386/native_threads/libhpi.so b58bb000-b58bc000 rw-p 00007000 03:41 490901 /opt/icedtea6-bin-1.6.2/jre/lib/i386/native_threads/libhpi.so b58bc000-b58c8000 r-xp 00000000 03:41 490904 /opt/icedtea6-bin-1.6.2/jre/lib/i386/libverify.so b58c8000-b58c9000 r--p 0000c000 03:41 490904 /opt/icedtea6-bin-1.6.2/jre/lib/i386/libverify.so b58c9000-b58ca000 rw-p 0000d000 03:41 490904 /opt/icedtea6-bin-1.6.2/jre/lib/i386/libverify.so b58ca000-b591d000 r-xp 00000000 03:41 458552 /usr/lib/libraptor.so.1.2.0 b591d000-b591f000 r--p 00053000 03:41 458552 /usr/lib/libraptor.so.1.2.0 b591f000-b5920000 rw-p 00055000 03:41 458552 /usr/lib/libraptor.so.1.2.0 b5920000-b5927000 r-xp 00000000 03:41 507446 /usr/lib/soprano/libsoprano_raptorparser.so b5927000-b5928000 r--p 00006000 03:41 507446 /usr/lib/soprano/libsoprano_raptorparser.so b5928000-b5929000 rw-p 00007000 03:41 507446 /usr/lib/soprano/libsoprano_raptorparser.so b5929000-b5932000 r-xp 00000000 03:41 359839 /lib/libnss_files-2.9.so b5932000-b5933000 r--p 00008000 03:41 359839 /lib/libnss_files-2.9.so b5933000-b5934000 rw-p 00009000 03:41 359839 /lib/libnss_files-2.9.so b5934000-b593d000 r-xp 00000000 03:41 359991 /lib/libnss_nis-2.9.so b593d000-b593e000 r--p 00008000 03:41 359991 /lib/libnss_nis-2.9.so b593e000-b593f000 rw-p 00009000 03:41 359991 /lib/libnss_nis-2.9.so b593f000-b5945000 r-xp 00000000 03:41 359974 /lib/libnss_compat-2.9.so b5945000-b5946000 r--p 00006000 03:41 359974 /lib/libnss_compat-2.9.so b5946000-b5947000 rw-p 00007000 03:41 359974 /lib/libnss_compat-2.9.so b5947000-b5948000 r--s 00001000 03:41 507846 /usr/share/soprano/sesame2/slf4j-simple-1.5.5.jar b5948000-b594a000 r--s 00004000 03:41 507842 /usr/share/soprano/sesame2/slf4j-api-1.5.5.jar b594a000-b594b000 rw-p 00000000 00:00 0 b594b000-b595d000 r-xp 00000000 03:41 540767 /usr/lib/kde4/nepomukontologyloader.so b595d000-b595e000 r--p 00011000 03:41 540767 /usr/lib/kde4/nepomukontologyloader.so b595e000-b595f000 rw-p 00012000 03:41 540767 /usr/lib/kde4/nepomukontologyloader.so b595f000-b5aab000 r--s 00000000 03:41 273826 /var/tmp/kdecache-jason/ksycoca4 b5aab000-b5bdb000 r-xp 00000000 03:41 1262151 /usr/lib/libxml2.so.2.7.3 b5bdb000-b5bdf000 r--p 00130000 03:41 1262151 /usr/lib/libxml2.so.2.7.3 b5bdf000-b5be0000 rw-p 00134000 03:41 1262151 /usr/lib/libxml2.so.2.7.3 b5be0000-b5be1000 rw-p 00000000 00:00 0 b5be1000-b5be5000 r-xp 00000000 03:41 359976 /lib/libattr.so.1.1.0 b5be5000-b5be6000 r--p 00003000 03:41 359976 /lib/libattr.so.1.1.0 b5be6000-b5be7000 rw-p 00004000 03:41 359976 /lib/libattr.so.1.1.0 b5be7000-b5bed000 r-xp 00000000 03:41 359834 /lib/libacl.so.1.1.0 b5bed000-b5bee000 r--p 00006000 03:41 359834 /lib/libacl.so.1.1.0 b5bee000-b5bef000 rw-p 00007000 03:41 359834 /lib/libacl.so.1.1.0 b5bef000-b5c54000 r-xp 00000000 03:41 339053 /usr/lib/libsolid.so.4.3.0 b5c54000-b5c5b000 r--p 00064000 03:41 339053 /usr/lib/libsolid.so.4.3.0 b5c5b000-b5c5c000 rw-p 0006b000 03:41 339053 /usr/lib/libsolid.so.4.3.0 b5c5c000-b5c93000 r-xp 00000000 03:41 412557 /usr/lib/libstreams.so.0.7.0 b5c93000-b5c94000 r--p 00037000 03:41 412557 /usr/lib/libstreams.so.0.7.0 b5c94000-b5c95000 rw-p 00038000 03:41 412557 /usr/lib/libstreams.so.0.7.0 b5c95000-b5cfe000 r-xp 00000000 03:41 412576 /usr/lib/libstreamanalyzer.so.0.7.0 b5cfe000-b5d00000 r--p 00068000 03:41 412576 /usr/lib/libstreamanalyzer.so.0.7.0 b5d00000-b5d01000 rw-p 0006a000 03:41 412576 /usr/lib/libstreamanalyzer.so.0.7.0 b5d01000-b5f5b000 r-xp 00000000 03:41 339102 /usr/lib/libkio.so.5.3.0 b5f5b000-b5f63000 r--p 0025a000 03:41 339102 /usr/lib/libkio.so.5.3.0 b5f63000-b5f67000 rw-p 00262000 03:41 339102 /usr/lib/libkio.so.5.3.0 b5f67000-b5f68000 rw-p 00000000 00:00 0 b5f68000-b5f98000 r-xp 00000000 03:41 615561 /usr/lib/kde4/plugins/styles/oxygen.so b5f98000-b5f99000 r--p 0002f000 03:41 615561 /usr/lib/kde4/plugins/styles/oxygen.so b5f99000-b5f9a000 rw-p 00030000 03:41 615561 /usr/lib/kde4/plugins/styles/oxygen.so b5f9a000-b5fa2000 r-xp 00000000 03:41 354875 /usr/lib/libXi.so.6.0.0 b5fa2000-b5fa3000 r--p 00007000 03:41 354875 /usr/lib/libXi.so.6.0.0 b5fa3000-b5fa4000 rw-p 00008000 03:41 354875 /usr/lib/libXi.so.6.0.0 b5fa4000-b5fa5000 r--p 00000000 00:00 0 b5fa5000-b5fb8000 r-xp 00000000 03:41 359889 /lib/libnsl-2.9.so b5fb8000-b5fb9000 r--p 00012000 03:41 359889 /lib/libnsl-2.9.so b5fb9000-b5fba000 rw-p 00013000 03:41 359889 /lib/libnsl-2.9.so b5fba000-b5fbf000 rw-p 00000000 00:00 0 b5fbf000-b5fe3000 r-xp 00000000 03:41 1262120 /usr/lib/libexpat.so.1.5.2 b5fe3000-b5fe5000 r--p 00023000 03:41 1262120 /usr/lib/libexpat.so.1.5.2 b5fe5000-b5fe6000 rw-p 00025000 03:41 1262120 /usr/lib/libexpat.so.1.5.2 b5fe6000-b5ffe000 r-xp 00000000 03:41 330300 /usr/lib/libxcb.so.1.1.0 b5ffe000-b5fff000 r--p 00017000 03:41 330300 /usr/lib/libxcb.so.1.1.0 b5fff000-b6000000 rw-p 00018000 03:41 330300 /usr/lib/libxcb.so.1.1.0 b6000000-b6003000 r-xp 00000000 03:41 359769 /lib/libuuid.so.1.3.0 b6003000-b6004000 r--p 00002000 03:41 359769 /lib/libuuid.so.1.3.0 b6004000-b6005000 rw-p 00003000 03:41 359769 /lib/libuuid.so.1.3.0 b6005000-b6006000 rw-p 00000000 00:00 0 b6006000-b6058000 r-xp 00000000 03:41 507869 /usr/lib/libsopranoclient.so.1.1.0 b6058000-b6059000 r--p 00052000 03:41 507869 /usr/lib/libsopranoclient.so.1.1.0 b6059000-b605a000 rw-p 00053000 03:41 507869 /usr/lib/libsopranoclient.so.1.1.0 b605a000-b605e000 r-xp 00000000 03:41 322282 /usr/lib/libXfixes.so.3.1.0 b605e000-b605f000 r--p 00003000 03:41 322282 /usr/lib/libXfixes.so.3.1.0 b605f000-b6060000 rw-p 00004000 03:41 322282 /usr/lib/libXfixes.so.3.1.0 b6060000-b6068000 r-xp 00000000 03:41 442228 /usr/lib/libXcursor.so.1.0.2 b6068000-b6069000 r--p 00007000 03:41 442228 /usr/lib/libXcursor.so.1.0.2 b6069000-b606a000 rw-p 00008000 03:41 442228 /usr/lib/libXcursor.so.1.0.2 b606a000-b606e000 r-xp 00000000 03:41 452368 /usr/lib/libXtst.so.6.1.0 b606e000-b606f000 r--p 00003000 03:41 452368 /usr/lib/libXtst.so.6.1.0 b606f000-b6070000 rw-p 00004000 03:41 452368 /usr/lib/libXtst.so.6.1.0 b6070000-b6071000 rw-p 00000000 00:00 0 b6071000-b6080000 r-xp 00000000 03:41 404046 /usr/lib/libXpm.so.4.11.0 b6080000-b6081000 r--p 0000e000 03:41 404046 /usr/lib/libXpm.so.4.11.0 b6081000-b6082000 rw-p 0000f000 03:41 404046 /usr/lib/libXpm.so.4.11.0 b6082000-b6086000 r-xp 00000000 03:41 322283 /usr/lib/libXdmcp.so.6.0.0 b6086000-b6087000 r--p 00003000 03:41 322283 /usr/lib/libXdmcp.so.6.0.0 b6087000-b6088000 rw-p 00004000 03:41 322283 /usr/lib/libXdmcp.so.6.0.0 b6088000-b608a000 r-xp 00000000 03:41 322198 /usr/lib/libXau.so.6.0.0 b608a000-b608b000 r--p 00001000 03:41 322198 /usr/lib/libXau.so.6.0.0 b608b000-b608c000 rw-p 00002000 03:41 322198 /usr/lib/libXau.so.6.0.0 b608c000-b609e000 r-xp 00000000 03:41 476087 /usr/lib/libXft.so.2.1.13 b609e000-b609f000 r--p 00011000 03:41 476087 /usr/lib/libXft.so.2.1.13 b609f000-b60a0000 rw-p 00012000 03:41 476087 /usr/lib/libXft.so.2.1.13 b60a0000-b60b0000 r-xp 00000000 03:41 359782 /lib/libresolv-2.9.so b60b0000-b60b1000 r--p 00010000 03:41 359782 /lib/libresolv-2.9.so b60b1000-b60b2000 rw-p 00011000 03:41 359782 /lib/libresolv-2.9.so b60b2000-b60b5000 rw-p 00000000 00:00 0 b60b5000-b60c4000 r-xp 00000000 03:41 359981 /lib/libbz2.so.1.0.5 b60c4000-b60c5000 r--p 0000e000 03:41 359981 /lib/libbz2.so.1.0.5 b60c5000-b60c6000 rw-p 0000f000 03:41 359981 /lib/libbz2.so.1.0.5 b60c6000-b6195000 r-xp 00000000 03:41 491896 /usr/lib/qt4/libQtNetwork.so.4.5.3 b6195000-b6198000 r--p 000ce000 03:41 491896 /usr/lib/qt4/libQtNetwork.so.4.5.3 b6198000-b6199000 rw-p 000d1000 03:41 491896 /usr/lib/qt4/libQtNetwork.so.4.5.3 b6199000-b61c8000 r-xp 00000000 03:41 491895 /usr/lib/qt4/libQtXml.so.4.5.3 b61c8000-b61c9000 r--p 0002f000 03:41 491895 /usr/lib/qt4/libQtXml.so.4.5.3 b61c9000-b61ca000 rw-p 00030000 03:41 491895 /usr/lib/qt4/libQtXml.so.4.5.3 b61ca000-b61fd000 r-xp 00000000 03:41 420038 /usr/lib/libdbus-1.so.3.4.0 b61fd000-b61fe000 r--p 00032000 03:41 420038 /usr/lib/libdbus-1.so.3.4.0 b61fe000-b61ff000 rw-p 00033000 03:41 420038 /usr/lib/libdbus-1.so.3.4.0 b61ff000-b630f000 r-xp 00000000 03:41 419905 /usr/lib/libX11.so.6.2.0 b630f000-b6310000 r--p 00110000 03:41 419905 /usr/lib/libX11.so.6.2.0 b6310000-b6313000 rw-p 00111000 03:41 419905 /usr/lib/libX11.so.6.2.0 b6313000-b6314000 rw-p 00000000 00:00 0 b6314000-b6321000 r-xp 00000000 03:41 338589 /usr/lib/libXext.so.6.4.0 b6321000-b6322000 r--p 0000c000 03:41 338589 /usr/lib/libXext.so.6.4.0 b6322000-b6323000 rw-p 0000d000 03:41 338589 /usr/lib/libXext.so.6.4.0 b6323000-b634c000 r-xp 00000000 03:41 483800 /usr/lib/libfontconfig.so.1.3.0 b634c000-b634d000 r--p 00028000 03:41 483800 /usr/lib/libfontconfig.so.1.3.0 b634d000-b634e000 rw-p 00029000 03:41 483800 /usr/lib/libfontconfig.so.1.3.0 b634e000-b6354000 r-xp 00000000 03:41 338684 /usr/lib/libXrandr.so.2.2.0 b6354000-b6355000 r--p 00005000 03:41 338684 /usr/lib/libXrandr.so.2.2.0 b6355000-b6356000 rw-p 00006000 03:41 338684 /usr/lib/libXrandr.so.2.2.0 b6356000-b635d000 r-xp 00000000 03:41 338632 /usr/lib/libXrender.so.1.3.0 b635d000-b635e000 r--p 00007000 03:41 338632 /usr/lib/libXrender.so.1.3.0 b635e000-b635f000 rw-p 00008000 03:41 338632 /usr/lib/libXrender.so.1.3.0 b635f000-b6373000 r-xp 00000000 03:41 322226 /usr/lib/libICE.so.6.3.0 b6373000-b6374000 r--p 00014000 03:41 322226 /usr/lib/libICE.so.6.3.0 b6374000-b6375000 rw-p 00015000 03:41 322226 /usr/lib/libICE.so.6.3.0 b6375000-b6377000 rw-p 00000000 00:00 0 b6377000-b637e000 r-xp 00000000 03:41 322246 /usr/lib/libSM.so.6.0.1 b637e000-b637f000 r--p 00006000 03:41 322246 /usr/lib/libSM.so.6.0.1 b637f000-b6380000 rw-p 00007000 03:41 322246 /usr/lib/libSM.so.6.0.1 b6380000-b6381000 rw-p 00000000 00:00 0 b6381000-b63b8000 r-xp 00000000 03:41 443076 /usr/lib/libgobject-2.0.so.0.2000.5 b63b8000-b63b9000 r--p 00037000 03:41 443076 /usr/lib/libgobject-2.0.so.0.2000.5 b63b9000-b63ba000 rw-p 00038000 03:41 443076 /usr/lib/libgobject-2.0.so.0.2000.5 b63ba000-b6436000 r-xp 00000000 03:41 450024 /usr/lib/libfreetype.so.6.3.20 b6436000-b643a000 r--p 0007b000 03:41 450024 /usr/lib/libfreetype.so.6.3.20 b643a000-b643b000 rw-p 0007f000 03:41 450024 /usr/lib/libfreetype.so.6.3.20 b643b000-b645c000 r-xp 00000000 03:41 322238 /usr/lib/libpng12.so.0.40.0 b645c000-b645d000 r--p 00020000 03:41 322238 /usr/lib/libpng12.so.0.40.0 b645d000-b645e000 rw-p 00021000 03:41 322238 /usr/lib/libpng12.so.0.40.0 b645e000-b6460000 r-xp 00000000 03:41 359904 /lib/libdl-2.9.so b6460000-b6461000 r--p 00001000 03:41 359904 /lib/libdl-2.9.so b6461000-b6462000 rw-p 00002000 03:41 359904 /lib/libdl-2.9.so b6462000-b652f000 r-xp 00000000 03:41 443257 /usr/lib/libglib-2.0.so.0.2000.5 b652f000-b6530000 r--p 000cc000 03:41 443257 /usr/lib/libglib-2.0.so.0.2000.5 b6530000-b6531000 rw-p 000cd000 03:41 443257 /usr/lib/libglib-2.0.so.0.2000.5 b6531000-b6532000 rw-p 00000000 00:00 0 b6532000-b6539000 r-xp 00000000 03:41 359831 /lib/librt-2.9.so b6539000-b653a000 r--p 00006000 03:41 359831 /lib/librt-2.9.so b653a000-b653b000 rw-p 00007000 03:41 359831 /lib/librt-2.9.so b653b000-b653e000 r-xp 00000000 03:41 443698 /usr/lib/libgthread-2.0.so.0.2000.5 b653e000-b653f000 r--p 00003000 03:41 443698 /usr/lib/libgthread-2.0.so.0.2000.5 b653f000-b6540000 rw-p 00004000 03:41 443698 /usr/lib/libgthread-2.0.so.0.2000.5 b6540000-b6552000 r-xp 00000000 03:41 359773 /lib/libz.so.1.2.3 b6552000-b6553000 r--p 00011000 03:41 359773 /lib/libz.so.1.2.3 b6553000-b6554000 rw-p 00012000 03:41 359773 /lib/libz.so.1.2.3 b6554000-b6690000 r-xp 00000000 03:41 359905 /lib/libc-2.9.so b6690000-b6692000 r--p 0013c000 03:41 359905 /lib/libc-2.9.so b6692000-b6693000 rw-p 0013e000 03:41 359905 /lib/libc-2.9.so b6693000-b6696000 rw-p 00000000 00:00 0 b6696000-b66a1000 r-xp 00000000 03:41 322856 /usr/lib/gcc/i686-pc-linux-gnu/4.3.4/libgcc_s.so.1 b66a1000-b66a2000 r--p 0000a000 03:41 322856 /usr/lib/gcc/i686-pc-linux-gnu/4.3.4/libgcc_s.so.1 b66a2000-b66a3000 rw-p 0000b000 03:41 322856 /usr/lib/gcc/i686-pc-linux-gnu/4.3.4/libgcc_s.so.1 b66a3000-b66c7000 r-xp 00000000 03:41 359765 /lib/libm-2.9.so b66c7000-b66c8000 r--p 00023000 03:41 359765 /lib/libm-2.9.so b66c8000-b66c9000 rw-p 00024000 03:41 359765 /lib/libm-2.9.so b66c9000-b66ca000 rw-p 00000000 00:00 0 b66ca000-b67a3000 r-xp 00000000 03:41 322846 /usr/lib/gcc/i686-pc-linux-gnu/4.3.4/libstdc++.so.6.0.10 b67a3000-b67a7000 r--p 000d8000 03:41 322846 /usr/lib/gcc/i686-pc-linux-gnu/4.3.4/libstdc++.so.6.0.10 b67a7000-b67a8000 rw-p 000dc000 03:41 322846 /usr/lib/gcc/i686-pc-linux-gnu/4.3.4/libstdc++.so.6.0.10 b67a8000-b67ae000 rw-p 00000000 00:00 0 b67ae000-b67ea000 r-xp 00000000 03:41 330823 /usr/lib/qt4/libQtSvg.so.4.5.3 b67ea000-b67eb000 r--p 0003c000 03:41 330823 /usr/lib/qt4/libQtSvg.so.4.5.3 b67eb000-b67ec000 rw-p 0003d000 03:41 330823 /usr/lib/qt4/libQtSvg.so.4.5.3 b67ec000-b68d6000 r-xp 00000000 03:41 507881 /usr/lib/libsoprano.so.4.2.0 b68d6000-b68d9000 r--p 000e9000 03:41 507881 /usr/lib/libsoprano.so.4.2.0 b68d9000-b68da000 rw-p 000ec000 03:41 507881 /usr/lib/libsoprano.so.4.2.0 b68da000-b68db000 rw-p 00000000 00:00 0 b68db000-b693b000 r-xp 00000000 03:41 339242 /usr/lib/libnepomuk.so.4.3.0 b693b000-b693c000 r--p 00060000 03:41 339242 /usr/lib/libnepomuk.so.4.3.0 b693c000-b693d000 rw-p 00061000 03:41 339242 /usr/lib/libnepomuk.so.4.3.0 b693d000-b6c86000 r-xp 00000000 03:41 339105 /usr/lib/libkdeui.so.5.3.0 b6c86000-b6c99000 r--p 00348000 03:41 339105 /usr/lib/libkdeui.so.5.3.0 b6c99000-b6c9f000 rw-p 0035b000 03:41 339105 /usr/lib/libkdeui.so.5.3.0 b6c9f000-b6ca1000 rw-p 00000000 00:00 0 b6ca1000-b6ebb000 r-xp 00000000 03:41 339060 /usr/lib/libkdecore.so.5.3.0 b6ebb000-b6ec2000 r--p 0021a000 03:41 339060 /usr/lib/libkdecore.so.5.3.0 b6ec2000-b6ec6000 rw-p 00221000 03:41 339060 /usr/lib/libkdecore.so.5.3.0 b6ec6000-b6f13000 r-xp 00000000 03:41 484632 /usr/lib/qt4/libQtDBus.so.4.5.3 b6f13000-b6f14000 r--p 0004d000 03:41 484632 /usr/lib/qt4/libQtDBus.so.4.5.3 b6f14000-b6f15000 rw-p 0004e000 03:41 484632 /usr/lib/qt4/libQtDBus.so.4.5.3 b6f15000-b7684000 r-xp 00000000 03:41 363762 /usr/lib/qt4/libQtGui.so.4.5.3 b7684000-b76a2000 r--p 0076f000 03:41 363762 /usr/lib/qt4/libQtGui.so.4.5.3 b76a2000-b76a5000 rw-p 0078d000 03:41 363762 /usr/lib/qt4/libQtGui.so.4.5.3 b76a5000-b76a7000 rw-p 00000000 00:00 0 b76a7000-b76bb000 r-xp 00000000 03:41 359761 /lib/libpthread-2.9.so b76bb000-b76bc000 r--p 00013000 03:41 359761 /lib/libpthread-2.9.so b76bc000-b76bd000 rw-p 00014000 03:41 359761 /lib/libpthread-2.9.so b76bd000-b76bf000 rw-p 00000000 00:00 0 b76bf000-b76c4000 r-xp 00000000 03:41 412023 /usr/lib/libfam.so.0.0.0 b76c4000-b76c5000 r--p 00004000 03:41 412023 /usr/lib/libfam.so.0.0.0 b76c5000-b76c6000 rw-p 00005000 03:41 412023 /usr/lib/libfam.so.0.0.0 b76c6000-b76cc000 r--s 00000000 03:41 483834 /var/cache/fontconfig/87f5e051180a7a75f16eb6fe7dbd3749-x86.cache-2 b76cc000-b76ce000 r-xp 00000000 03:41 33538 /usr/lib/gconv/UTF-16.so b76ce000-b76cf000 r--p 00001000 03:41 33538 /usr/lib/gconv/UTF-16.so b76cf000-b76d0000 rw-p 00002000 03:41 33538 /usr/lib/gconv/UTF-16.so b76d0000-b76d7000 r--s 00000000 03:41 33635 /usr/lib/gconv/gconv-modules.cache b76d7000-b7893000 r-xp 00000000 03:41 491908 /usr/lib/qt4/libQtCore.so.4.5.3 b7893000-b7899000 r--p 001bb000 03:41 491908 /usr/lib/qt4/libQtCore.so.4.5.3 b7899000-b789a000 rw-p 001c1000 03:41 491908 /usr/lib/qt4/libQtCore.so.4.5.3 b789a000-b789c000 rw-p 00000000 00:00 0 b789c000-b78b8000 r-xp 00000000 03:41 359908 /lib/ld-2.9.so b78b8000-b78b9000 r--p 0001b000 03:41 359908 /lib/ld-2.9.so b78b9000-b78ba000 rw-p 0001c000 03:41 359908 /lib/ld-2.9.so bfb98000-bfb9b000 ---p 00000000 00:00 0 bfb9b000-bfbe8000 rwxp 00000000 00:00 0 [stack] ffffe000-fffff000 r-xp 00000000 00:00 0 [vdso] VM Arguments: jvm_args: -verbose:jni,gc,class -Xms256m -Xmx256m java_command: Launcher Type: generic Environment Variables: JAVA_HOME=/etc/java-config-2/current-system-vm PATH=/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.3.4 SHELL=/bin/bash DISPLAY=:0 Signal Handlers: SIGSEGV: [libjvm.so+0x392830], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGBUS: [libjvm.so+0x392830], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGFPE: [libjvm.so+0x2c4dc0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGPIPE: [libjvm.so+0x2c4dc0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGXFSZ: [libjvm.so+0x2c4dc0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGILL: [libjvm.so+0x2c4dc0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000 SIGUSR2: [libjvm.so+0x2c4530], sa_mask[0]=0x00000000, sa_flags=0x10000004 SIGHUP: [libjvm.so+0x2c6920], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGINT: [libjvm.so+0x2c6920], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGTERM: [libjvm.so+0x2c6920], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGQUIT: [libjvm.so+0x2c6920], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 --------------- S Y S T E M --------------- OS:Gentoo Base System release 1.12.13 uname:Linux 2.6.31-gentoo-r6 #1 SMP Sun Jan 3 00:38:47 MST 2010 i686 libc:glibc 2.9 NPTL 2.9 rlimit: STACK 8192k, CORE 0k, NPROC 16383, NOFILE 1024, AS infinity load average:2.38 0.75 0.71 CPU:total 1 (1 cores per cpu, 1 threads per core) family 15 model 4 stepping 1, cmov, cx8, fxsr, mmx, sse, sse2, sse3 Memory: 4k page, physical 1034176k(20296k free), swap 3445932k(3445932k free) vm_info: OpenJDK Client VM (14.0-b16) for linux-x86 JRE (1.6.0_0-b16), built on Nov 11 2009 23:41:28 by "root" with gcc 4.3.4 time: Mon Jan 4 22:02:22 2010 elapsed time: 8 seconds Thanks, Jason Ash -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jan 5 10:51:22 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 05 Jan 2010 18:51:22 +0000 Subject: [Bug 423] Iced tea openjdk1.6 and jdk1.7 crashes in remote x server (cygwin) environment Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=423 ------- Comment #2 from balajiraman at ge.com 2010-01-05 18:51 ------- I just wanted to add one more thing based on my current investigation. The crash happens only with remote X-server + NX. It does not happen when running cygwin X server remotely. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From gbenson at redhat.com Wed Jan 6 02:06:39 2010 From: gbenson at redhat.com (Gary Benson) Date: Wed, 6 Jan 2010 10:06:39 +0000 Subject: /hg/icedtea6: 2010-01-05 Gary Benson In-Reply-To: <17c6771e1001051002j18231f5bi57052cf77c0af5a1@mail.gmail.com> References: <17c6771e1001051002j18231f5bi57052cf77c0af5a1@mail.gmail.com> Message-ID: <20100106100639.GB3312@redhat.com> Andrew John Hughes wrote: > 2010/1/5 : > > changeset c99b9280fdcf in /hg/icedtea6 > > details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=c99b9280fdcf > > author: Gary Benson > > date: Tue Jan 05 10:09:26 2010 +0000 > > > > 2010-01-05 Gary Benson > > > > * patches/zero/6909153.patch: New file. > > * patches/zero/6913869.patch: Likewise. > > * Makefile.am (ICEDTEA_PATCHES): Added the above. > > Err... these are probably great and all, but I don't know what > they are without looking up the Sun bug reports. This ChangeLog > is pretty unhelpful in working out what these do and I didn't > see a mail to the list. or anything on the wiki. It's just I'm > well aware of what a pain this can be when patches later break > or need to be dropped. The point of that directory is that every patch in there is in upstream OpenJDK, so, no patch in there should ever be ported to icedtea7 (because that already has them, or will do very shortly) and if one fails to apply it's almost certainly because it has filtered into the HotSpot tarball we're using. Cheers, Gary -- http://gbenson.net/ From bugzilla-daemon at icedtea.classpath.org Wed Jan 6 02:28:49 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 06 Jan 2010 10:28:49 +0000 Subject: [Bug 425] New: JAXP fails to build on ARM due to compliance level Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=425 Summary: JAXP fails to build on ARM due to compliance level Product: IcedTea Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: steffen at s-bondorf.de I tried to build the latest versions of IcedTea6-1.6 (5e600a55ee80 & c99b9280fdcf) on an ARM-based SoC (Marvell SheevaPlug) running Gentoo. I followed the instructions I found in the Wiki, but all attempts ended with the same error. When trying to compile the JAXP component the build breaks with the message: "Compliance level '1.4' is incompatible with target level '1.5'. A compliance level '1.5' or better is required" Here is my configure-command: ./configure --build=armv5tel-softfloat-linux-gnueabi \ --host=armv5tel-softfloat-linux-gnueabi \ --with-ecj-jar=/usr/share/eclipse-ecj-3.4/lib/ecj.jar \ --with-gcj-home=/usr/lib/jvm/gcj-jdk \ --with-parallel-jobs=2 \ --disable-cacao \ --with-java=/usr/lib/jvm/gcj-jdk/bin/java \ --with-javac=/usr/lib/jvm/gcj-jdk/bin/javac \ --with-javah=/usr/lib/jvm/gcj-jdk/bin/javah \ --with-pkgversion=Gentoo \ --enable-optimizations \ --disable-docs \ --disable-plugin \ --without-rhino \ --enable-zero \ --disable-pulse-java \ --disable-xrender \ --disable-systemtap \ --disable-nio2 As you can see I am using ecj-3.4 which should be java 1.5 compliant (/usr/lib/jvm/gcj-jdk/bin/javac is a symlink pointing to ecj-3.4). gcj-jdk version is 4.3. Just before this part is compiled JAVA_HOME was set to icedtea6-c99b9280fdcf/bootstrap/jdk1.6.0 which points to icedtea6-c99b9280fdcf/openjdk-ecj/build/linux-arm/j2sdk-image/ at this time. icedtea6-c99b9280fdcf/bootstrap/jdk1.6.0/java -version java version "1.6.0_17" OpenJDK Runtime Environment (IcedTea6 1.8pre) (Gentoo) OpenJDK Zero VM (build 14.0-b16, interpreted mode) icedtea6-c99b9280fdcf/bootstrap/jdk1.6.0/bin/javac -version javac 1.6.0_17 icedtea6-c99b9280fdcf/bootstrap/jdk1.6.0/bin/javah -version javah version "1.6.0_17" Here's some additional information to check everything is up to date the environment is set up right: /usr/lib/jvm/gcj-jdk/bin/javac -version Eclipse Java Compiler 0.883_R34x, 3.4.1 release /usr/lib/jvm/gcj-jdk/bin/java -version java version "1.5.0" gij (GNU libgcj) version 4.4.2 gcj --verision gcj-4.4.2 (Gentoo 4.4.2 p1.0) 4.4.2 /usr/lib/jvm/gcj-jdk/bin/javah -version javah (GNU Classpath) 0.98 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From carlos at systemhalted.org Wed Jan 6 06:59:44 2010 From: carlos at systemhalted.org (Carlos O'Donell) Date: Wed, 6 Jan 2010 09:59:44 -0500 Subject: State of openjdk on hppa In-Reply-To: <87D52094-A310-44C9-945E-7FF3E39592BB@sun.com> References: <4B1D338C.703@ubuntu.com> <87D52094-A310-44C9-945E-7FF3E39592BB@sun.com> Message-ID: <119aab441001060659k7c58f2bam4ca0c661ec2deb@mail.gmail.com> On Tue, Jan 5, 2010 at 1:13 PM, Tom Rodriguez wrote: >> please could one of the hotspot developers sched some light on this, how easy this might to be fix, and if there are other assumptions? > > Could you give more detail on where exactly the direction of growth is being assumed? ?I know there's an accessor in frame that's supposed to describe the direction of growth of the expression stack which is used a few places in the code: The usual problem faced by HPPA is that it is one of the few stack-grows-up targets, therefore it is the *missing* calls to interpreter_frame_expression_stack_direction() that a porter has to determine. There is no easy way to know this other than debugging a failed application and determining that a section of code is assuming stack-grows-down and should instead call the appropriate accessor function to determine stack growth. I don't know if there are any such instances in the hotspot code. > ?// expression stack (may go up or down, direction == 1 or -1) > ?public: > ?intptr_t* interpreter_frame_expression_stack() const; > ?static ?jint ?interpreter_frame_expression_stack_direction(); > > I would think this has to be set correctly for HPPA to work. ?Is it? ?It's possible that the C++ interpreter would also need to consult this when pushing values for it to work correctly. Given that HPPA is a stack-grows-up target, is the value of this constant 1? All interpreters that manually manipulate the stack must know the direction of stack growth (and alignment of stack). Cheers, Carlos. From doko at ubuntu.com Wed Jan 6 07:16:34 2010 From: doko at ubuntu.com (Matthias Klose) Date: Wed, 06 Jan 2010 16:16:34 +0100 Subject: State of openjdk on hppa In-Reply-To: <87D52094-A310-44C9-945E-7FF3E39592BB@sun.com> References: <4B1D338C.703@ubuntu.com> <87D52094-A310-44C9-945E-7FF3E39592BB@sun.com> Message-ID: <4B44A952.4080807@ubuntu.com> On 05.01.2010 19:13, Tom Rodriguez wrote: >> openjdk builds on hppa, but doesn't run (yet). Andrew Haley once debugged it and found out at least one things which would need to be fixed: the assumption in the C++ interpreter that the stack always grows downwards, and not upwards as on hppa. >> >> please could one of the hotspot developers sched some light on this, how easy this might to be fix, and if there are other assumptions? > > Could you give more detail on where exactly the direction of growth is being assumed? I know there's an accessor in frame that's supposed to describe the direction of growth of the expression stack which is used a few places in the code: > > // expression stack (may go up or down, direction == 1 or -1) > public: > intptr_t* interpreter_frame_expression_stack() const; > static jint interpreter_frame_expression_stack_direction(); > > I would think this has to be set correctly for HPPA to work. Is it? It's possible that the C++ interpreter would also need to consult this when pushing values for it to work correctly. thanks for the pointer. zero sets this independently of the architecture. now checking the obvious fix. Matthias From gbenson at redhat.com Wed Jan 6 08:08:13 2010 From: gbenson at redhat.com (Gary Benson) Date: Wed, 6 Jan 2010 16:08:13 +0000 Subject: State of openjdk on hppa In-Reply-To: <87D52094-A310-44C9-945E-7FF3E39592BB@sun.com> References: <4B1D338C.703@ubuntu.com> <87D52094-A310-44C9-945E-7FF3E39592BB@sun.com> Message-ID: <20100106160813.GE3312@redhat.com> Tom Rodriguez wrote: > Someone wrote: > > openjdk builds on hppa, but doesn't run (yet). Andrew Haley once > > debugged it and found out at least one things which would need to > > be fixed: the assumption in the C++ interpreter that the stack > > always grows downwards, and not upwards as on hppa. > > > > please could one of the hotspot developers sched some light on > > this, how easy this might to be fix, and if there are other > > assumptions? > > Could you give more detail on where exactly the direction of growth > is being assumed? I know there's an accessor in frame that's > supposed to describe the direction of growth of the expression stack > which is used a few places in the code: > > // expression stack (may go up or down, direction == 1 or -1) > public: > intptr_t* interpreter_frame_expression_stack() const; > static jint interpreter_frame_expression_stack_direction(); > > I would think this has to be set correctly for HPPA to work. Is it? > It's possible that the C++ interpreter would also need to consult > this when pushing values for it to work correctly. I'm not 100% sure what the correct value of this would be for HPPA. The ABI stack grows upwards, but the stack Zero maintains still grows downwards. If interpreter_frame_expression_stack_direction is used for both of these stacks then something will need changing (either a separate accessor, or Zero's stack direction changing to match the ABI stack.) Cheers, Gary -- http://gbenson.net/ From Thomas.Rodriguez at Sun.COM Wed Jan 6 08:47:27 2010 From: Thomas.Rodriguez at Sun.COM (Tom Rodriguez) Date: Wed, 06 Jan 2010 08:47:27 -0800 Subject: State of openjdk on hppa In-Reply-To: <20100106160813.GE3312@redhat.com> References: <4B1D338C.703@ubuntu.com> <87D52094-A310-44C9-945E-7FF3E39592BB@sun.com> <20100106160813.GE3312@redhat.com> Message-ID: <7D583646-E851-4241-9688-CDF14FBC59C1@Sun.COM> > I'm not 100% sure what the correct value of this would be for HPPA. > The ABI stack grows upwards, but the stack Zero maintains still grows > downwards. If interpreter_frame_expression_stack_direction is used > for both of these stacks then something will need changing (either a > separate accessor, or Zero's stack direction changing to match the > ABI stack.) I don't really think hotspot cares which direction the ABI stack grows. It only cares what direction the expression stack grows and that's only for frame code that it was walking over the contents of the expression stack.. I was assuming that the expression stack would follow the ABI but I guess there's no reason it must. It's just the responsibility of the C++ intepreter to deal with that properly. It would be nice to know what exact problem led to the initial conclusion that direction of stack growth was the problem. tom > > Cheers, > Gary > > -- > http://gbenson.net/ From aph at redhat.com Wed Jan 6 08:53:50 2010 From: aph at redhat.com (Andrew Haley) Date: Wed, 06 Jan 2010 16:53:50 +0000 Subject: State of openjdk on hppa In-Reply-To: <7D583646-E851-4241-9688-CDF14FBC59C1@Sun.COM> References: <4B1D338C.703@ubuntu.com> <87D52094-A310-44C9-945E-7FF3E39592BB@sun.com> <20100106160813.GE3312@redhat.com> <7D583646-E851-4241-9688-CDF14FBC59C1@Sun.COM> Message-ID: <4B44C01E.3030105@redhat.com> On 01/06/2010 04:47 PM, Tom Rodriguez wrote: >> I'm not 100% sure what the correct value of this would be for HPPA. >> The ABI stack grows upwards, but the stack Zero maintains still grows >> downwards. If interpreter_frame_expression_stack_direction is used >> for both of these stacks then something will need changing (either a >> separate accessor, or Zero's stack direction changing to match the >> ABI stack.) > > I don't really think hotspot cares which direction the ABI stack > grows. It only cares what direction the expression stack grows and > that's only for frame code that it was walking over the contents of > the expression stack.. I was assuming that the expression stack > would follow the ABI but I guess there's no reason it must. It's > just the responsibility of the C++ intepreter to deal with that > properly. It would be nice to know what exact problem led to the > initial conclusion that direction of stack growth was the problem. Did you not see my reply? The runtime write protects the guard pages of the stack, and this immediately causes a segfault since the stack being used is now unwritable, Andrew. From Thomas.Rodriguez at Sun.COM Wed Jan 6 09:26:00 2010 From: Thomas.Rodriguez at Sun.COM (Tom Rodriguez) Date: Wed, 06 Jan 2010 09:26:00 -0800 Subject: State of openjdk on hppa In-Reply-To: <4B44C01E.3030105@redhat.com> References: <4B1D338C.703@ubuntu.com> <87D52094-A310-44C9-945E-7FF3E39592BB@sun.com> <20100106160813.GE3312@redhat.com> <7D583646-E851-4241-9688-CDF14FBC59C1@Sun.COM> <4B44C01E.3030105@redhat.com> Message-ID: <9C8C32DC-CEAD-473D-ACB3-63CC52D4F75C@Sun.COM> No I didn't see it. If it was only on the icedtea list then I wouldn't have seen it as hotspot-dev is the only one of these aliases that I'm on. By the way, I restored the other aliases to my reply so they would get it too. So the computation of the location of the guard pages is wrong because of the direction of growth? For instance this line obviously won't work right: address low_addr = stack_base() - stack_size(); There's also some code in os_linux_zero.cpp that does math on the stack that would need to take into account the real ABI direction. I think we probably need something like "int os::stack_direction()" to deal with this in shared code. All the guard logic in Thread needs to check it as does is_in_stack and is_lock_owned. There might be some logic in frame that needs to check it too but hopefully that will all be platform dependent logic. tom On Jan 6, 2010, at 8:53 AM, Andrew Haley wrote: > On 01/06/2010 04:47 PM, Tom Rodriguez wrote: >>> I'm not 100% sure what the correct value of this would be for HPPA. >>> The ABI stack grows upwards, but the stack Zero maintains still grows >>> downwards. If interpreter_frame_expression_stack_direction is used >>> for both of these stacks then something will need changing (either a >>> separate accessor, or Zero's stack direction changing to match the >>> ABI stack.) >> >> I don't really think hotspot cares which direction the ABI stack >> grows. It only cares what direction the expression stack grows and >> that's only for frame code that it was walking over the contents of >> the expression stack.. I was assuming that the expression stack >> would follow the ABI but I guess there's no reason it must. It's >> just the responsibility of the C++ intepreter to deal with that >> properly. It would be nice to know what exact problem led to the >> initial conclusion that direction of stack growth was the problem. > > Did you not see my reply? The runtime write protects the guard pages > of the stack, and this immediately causes a segfault since the stack > being used is now unwritable, > > Andrew. From aph at redhat.com Wed Jan 6 09:29:52 2010 From: aph at redhat.com (Andrew Haley) Date: Wed, 06 Jan 2010 17:29:52 +0000 Subject: State of openjdk on hppa In-Reply-To: <9C8C32DC-CEAD-473D-ACB3-63CC52D4F75C@Sun.COM> References: <4B1D338C.703@ubuntu.com> <87D52094-A310-44C9-945E-7FF3E39592BB@sun.com> <20100106160813.GE3312@redhat.com> <7D583646-E851-4241-9688-CDF14FBC59C1@Sun.COM> <4B44C01E.3030105@redhat.com> <9C8C32DC-CEAD-473D-ACB3-63CC52D4F75C@Sun.COM> Message-ID: <4B44C890.2060507@redhat.com> On 01/06/2010 05:26 PM, Tom Rodriguez wrote: > No I didn't see it. If it was only on the icedtea list then I > wouldn't have seen it as hotspot-dev is the only one of these > aliases that I'm on. Oh darn, my mistake. The shiny new Reply List button on Thunderbird 3 didn't quite do what I expected... > By the way, I restored the other aliases to my reply so they would > get it too. So the computation of the location of the guard pages > is wrong because of the direction of growth? For instance this line > obviously won't work right: > > address low_addr = stack_base() - stack_size(); Right, that's it. > There's also some code in os_linux_zero.cpp that does math on the > stack that would need to take into account the real ABI direction. > I think we probably need something like "int os::stack_direction()" > to deal with this in shared code. All the guard logic in Thread > needs to check it as does is_in_stack and is_lock_owned. There > might be some logic in frame that needs to check it too but > hopefully that will all be platform dependent logic. Andrew. From dbhole at icedtea.classpath.org Wed Jan 6 14:48:02 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Wed, 06 Jan 2010 22:48:02 +0000 Subject: /hg/icedtea6: 2 new changesets Message-ID: changeset a249e1431ca3 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=a249e1431ca3 author: Deepak Bhole date: Tue Jan 05 16:08:59 2010 -0500 - Removed dependence on libxul-unstable for NP plugin - Fixed some regressions caused by the way Firefox >= 3.5 supplies URLs changeset 175b5c7ee4c7 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=175b5c7ee4c7 author: Deepak Bhole date: Wed Jan 06 16:40:43 2010 -0500 2010-01-06 Deepak Bhole * plugin/icedteanp/IcedTeaNPPlugin.h: Remove debug specific line from code. diffstat: 5 files changed, 21 insertions(+), 8 deletions(-) ChangeLog | 15 ++++++++++++++ configure.ac | 2 - plugin/icedtea/sun/applet/PluginAppletViewer.java | 8 +++---- plugin/icedteanp/IcedTeaNPPlugin.h | 2 - plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 2 - diffs (97 lines): diff -r c99b9280fdcf -r 175b5c7ee4c7 ChangeLog --- a/ChangeLog Tue Jan 05 10:09:26 2010 +0000 +++ b/ChangeLog Wed Jan 06 16:40:43 2010 -0500 @@ -1,3 +1,18 @@ 2010-01-05 Gary Benson + + * plugin/icedteanp/IcedTeaNPPlugin.h: Remove debug specific line from + code. + +2010-01-05 Deepak Bhole + + * configure.ac: Use libxul instead of libxul-unstable for the new NP + plugin. + * plugin/icedtea/sun/applet/PluginAppletViewer.java + (handleMessage): Decode URL before setting documentbase. + (parse): Port over parser fixes from NP plugin tree. + * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java + (handleMessage): Decode URL before setting documentbase. + 2010-01-05 Gary Benson * patches/zero/6909153.patch: New file. diff -r c99b9280fdcf -r 175b5c7ee4c7 configure.ac --- a/configure.ac Tue Jan 05 10:09:26 2010 +0000 +++ b/configure.ac Wed Jan 06 16:40:43 2010 -0500 @@ -471,7 +471,7 @@ if test "x${enable_npplugin}" = "xyes" if test "x${enable_npplugin}" = "xyes" then PKG_CHECK_MODULES(MOZILLA, \ - mozilla-plugin libxul-unstable) + mozilla-plugin libxul) PKG_CHECK_MODULES(GTK, gtk+-2.0) PKG_CHECK_MODULES(GLIB, glib-2.0) diff -r c99b9280fdcf -r 175b5c7ee4c7 plugin/icedtea/sun/applet/PluginAppletViewer.java --- a/plugin/icedtea/sun/applet/PluginAppletViewer.java Tue Jan 05 10:09:26 2010 +0000 +++ b/plugin/icedtea/sun/applet/PluginAppletViewer.java Wed Jan 06 16:40:43 2010 -0500 @@ -402,7 +402,7 @@ import com.sun.jndi.toolkit.url.UrlUtil; } int index = message.indexOf(' ', "tag".length() + 1); request.documentbase = - message.substring("tag".length() + 1, index); + UrlUtil.decode(message.substring("tag".length() + 1, index)); request.tag = message.substring(index + 1); PluginDebug.debug ("REQUEST TAG: " + request.tag + " " + Thread.currentThread()); @@ -1788,7 +1788,7 @@ import com.sun.jndi.toolkit.url.UrlUtil; atts = scanTag(in); // If there is a classid and no code tag present, transform it to code tag - if (atts.get("code") == null && atts.get("classid") != null && ((String) atts.get("classid")).endsWith(".class")) { + if (atts.get("code") == null && atts.get("classid") != null && !((String) atts.get("classid")).startsWith("clsid:")) { atts.put("code", atts.get("classid")); } @@ -1830,7 +1830,7 @@ import com.sun.jndi.toolkit.url.UrlUtil; } // If there is a classid and no code tag present, transform it to code tag - if (atts.get("code") == null && atts.get("classid") != null && ((String) atts.get("classid")).endsWith(".class")) { + if (atts.get("code") == null && atts.get("classid") != null && !((String) atts.get("classid")).startsWith("clsid:")) { atts.put("code", atts.get("classid")); } @@ -1888,7 +1888,7 @@ import com.sun.jndi.toolkit.url.UrlUtil; atts = scanTag(in); // If there is a classid and no code tag present, transform it to code tag - if (atts.get("code") == null && atts.get("classid") != null && ((String) atts.get("classid")).endsWith(".class")) { + if (atts.get("code") == null && atts.get("classid") != null && !((String) atts.get("classid")).startsWith("clsid:")) { atts.put("code", atts.get("classid")); } diff -r c99b9280fdcf -r 175b5c7ee4c7 plugin/icedteanp/IcedTeaNPPlugin.h --- a/plugin/icedteanp/IcedTeaNPPlugin.h Tue Jan 05 10:09:26 2010 +0000 +++ b/plugin/icedteanp/IcedTeaNPPlugin.h Wed Jan 06 16:40:43 2010 -0500 @@ -38,8 +38,6 @@ exception statement from your version. * #ifndef __ICEDTEANPPLUGIN_H__ #define __ICEDTEANPPLUGIN_H__ - -#define MOZILLA_VERSION_COLLAPSED 1090105 #if MOZILLA_VERSION_COLLAPSED < 1090100 #include diff -r c99b9280fdcf -r 175b5c7ee4c7 plugin/icedteanp/java/sun/applet/PluginAppletViewer.java --- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Tue Jan 05 10:09:26 2010 +0000 +++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Wed Jan 06 16:40:43 2010 -0500 @@ -424,7 +424,7 @@ import com.sun.jndi.toolkit.url.UrlUtil; } int index = message.indexOf(' ', "tag".length() + 1); request.documentbase = - message.substring("tag".length() + 1, index); + UrlUtil.decode(message.substring("tag".length() + 1, index)); request.tag = message.substring(index + 1); PluginDebug.debug ("REQUEST TAG: " + request.tag + " " + Thread.currentThread()); From dbhole at icedtea.classpath.org Wed Jan 6 14:51:07 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Wed, 06 Jan 2010 22:51:07 +0000 Subject: /hg/release/icedtea6-1.7: Ported over regression fixes from HEAD. Message-ID: changeset 3132bad1a11b in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=3132bad1a11b author: Deepak Bhole date: Wed Jan 06 17:56:50 2010 -0500 Ported over regression fixes from HEAD. diffstat: 5 files changed, 18 insertions(+), 8 deletions(-) ChangeLog | 12 ++++++++++++ configure.ac | 2 +- plugin/icedtea/sun/applet/PluginAppletViewer.java | 8 ++++---- plugin/icedteanp/IcedTeaNPPlugin.h | 2 -- plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 2 +- diffs (94 lines): diff -r a0f8cf8cf432 -r 3132bad1a11b ChangeLog --- a/ChangeLog Thu Dec 24 14:06:38 2009 -0500 +++ b/ChangeLog Wed Jan 06 17:56:50 2010 -0500 @@ -1,3 +1,15 @@ 2009-12-24 Deepak Bhole + + * configure.ac: Use libxul instead of libxul-unstable for the new NP + plugin. + * plugin/icedteanp/IcedTeaNPPlugin.h: Remove debug specific line from + code. + * plugin/icedtea/sun/applet/PluginAppletViewer.java + (handleMessage): Decode URL before setting documentbase. + (parse): Port over parser fixes from NP plugin tree. + * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java + (handleMessage): Decode URL before setting documentbase. + 2009-12-24 Deepak Bhole * Makefile.am: Define XP_UNIX, without which critical plugin API diff -r a0f8cf8cf432 -r 3132bad1a11b configure.ac --- a/configure.ac Thu Dec 24 14:06:38 2009 -0500 +++ b/configure.ac Wed Jan 06 17:56:50 2010 -0500 @@ -471,7 +471,7 @@ if test "x${enable_npplugin}" = "xyes" if test "x${enable_npplugin}" = "xyes" then PKG_CHECK_MODULES(MOZILLA, \ - mozilla-plugin libxul-unstable) + mozilla-plugin libxul) PKG_CHECK_MODULES(GTK, gtk+-2.0) PKG_CHECK_MODULES(GLIB, glib-2.0) diff -r a0f8cf8cf432 -r 3132bad1a11b plugin/icedtea/sun/applet/PluginAppletViewer.java --- a/plugin/icedtea/sun/applet/PluginAppletViewer.java Thu Dec 24 14:06:38 2009 -0500 +++ b/plugin/icedtea/sun/applet/PluginAppletViewer.java Wed Jan 06 17:56:50 2010 -0500 @@ -402,7 +402,7 @@ import com.sun.jndi.toolkit.url.UrlUtil; } int index = message.indexOf(' ', "tag".length() + 1); request.documentbase = - message.substring("tag".length() + 1, index); + UrlUtil.decode(message.substring("tag".length() + 1, index)); request.tag = message.substring(index + 1); PluginDebug.debug ("REQUEST TAG: " + request.tag + " " + Thread.currentThread()); @@ -1788,7 +1788,7 @@ import com.sun.jndi.toolkit.url.UrlUtil; atts = scanTag(in); // If there is a classid and no code tag present, transform it to code tag - if (atts.get("code") == null && atts.get("classid") != null && ((String) atts.get("classid")).endsWith(".class")) { + if (atts.get("code") == null && atts.get("classid") != null && !((String) atts.get("classid")).startsWith("clsid:")) { atts.put("code", atts.get("classid")); } @@ -1830,7 +1830,7 @@ import com.sun.jndi.toolkit.url.UrlUtil; } // If there is a classid and no code tag present, transform it to code tag - if (atts.get("code") == null && atts.get("classid") != null && ((String) atts.get("classid")).endsWith(".class")) { + if (atts.get("code") == null && atts.get("classid") != null && !((String) atts.get("classid")).startsWith("clsid:")) { atts.put("code", atts.get("classid")); } @@ -1888,7 +1888,7 @@ import com.sun.jndi.toolkit.url.UrlUtil; atts = scanTag(in); // If there is a classid and no code tag present, transform it to code tag - if (atts.get("code") == null && atts.get("classid") != null && ((String) atts.get("classid")).endsWith(".class")) { + if (atts.get("code") == null && atts.get("classid") != null && !((String) atts.get("classid")).startsWith("clsid:")) { atts.put("code", atts.get("classid")); } diff -r a0f8cf8cf432 -r 3132bad1a11b plugin/icedteanp/IcedTeaNPPlugin.h --- a/plugin/icedteanp/IcedTeaNPPlugin.h Thu Dec 24 14:06:38 2009 -0500 +++ b/plugin/icedteanp/IcedTeaNPPlugin.h Wed Jan 06 17:56:50 2010 -0500 @@ -38,8 +38,6 @@ exception statement from your version. * #ifndef __ICEDTEANPPLUGIN_H__ #define __ICEDTEANPPLUGIN_H__ - -#define MOZILLA_VERSION_COLLAPSED 1090105 #if MOZILLA_VERSION_COLLAPSED < 1090100 #include diff -r a0f8cf8cf432 -r 3132bad1a11b plugin/icedteanp/java/sun/applet/PluginAppletViewer.java --- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Thu Dec 24 14:06:38 2009 -0500 +++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Wed Jan 06 17:56:50 2010 -0500 @@ -424,7 +424,7 @@ import com.sun.jndi.toolkit.url.UrlUtil; } int index = message.indexOf(' ', "tag".length() + 1); request.documentbase = - message.substring("tag".length() + 1, index); + UrlUtil.decode(message.substring("tag".length() + 1, index)); request.tag = message.substring(index + 1); PluginDebug.debug ("REQUEST TAG: " + request.tag + " " + Thread.currentThread()); From dbhole at icedtea.classpath.org Wed Jan 6 14:58:27 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Wed, 06 Jan 2010 22:58:27 +0000 Subject: /hg/icedtea: Ported over NP plugin fixes from IcedTea 1.6 branch Message-ID: changeset 6cd33d5c844d in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=6cd33d5c844d author: Deepak Bhole date: Wed Jan 06 18:04:10 2010 -0500 Ported over NP plugin fixes from IcedTea 1.6 branch diffstat: 4 files changed, 11 insertions(+), 4 deletions(-) ChangeLog | 9 +++++++++ configure.ac | 2 +- plugin/icedteanp/IcedTeaNPPlugin.h | 2 -- plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 2 +- diffs (52 lines): diff -r 316dbf49f070 -r 6cd33d5c844d ChangeLog --- a/ChangeLog Thu Dec 24 14:05:23 2009 -0500 +++ b/ChangeLog Wed Jan 06 18:04:10 2010 -0500 @@ -1,3 +1,12 @@ 2009-12-24 Deepak Bhole + + * configure.ac: Use libxul instead of libxul-unstable for the new NP + plugin. + * plugin/icedteanp/IcedTeaNPPlugin.h: Remove debug specific line from + code. + * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java + (handleMessage): Decode URL before setting documentbase. + 2009-12-24 Deepak Bhole * plugin/icedeanp/*: Blanket merge with icedtea6 branch. diff -r 316dbf49f070 -r 6cd33d5c844d configure.ac --- a/configure.ac Thu Dec 24 14:05:23 2009 -0500 +++ b/configure.ac Wed Jan 06 18:04:10 2010 -0500 @@ -421,7 +421,7 @@ if test "x${enable_npplugin}" = "xyes" if test "x${enable_npplugin}" = "xyes" then PKG_CHECK_MODULES(MOZILLA, \ - mozilla-plugin libxul-unstable) + mozilla-plugin libxul) PKG_CHECK_MODULES(GTK, gtk+-2.0) PKG_CHECK_MODULES(GLIB, glib-2.0) diff -r 316dbf49f070 -r 6cd33d5c844d plugin/icedteanp/IcedTeaNPPlugin.h --- a/plugin/icedteanp/IcedTeaNPPlugin.h Thu Dec 24 14:05:23 2009 -0500 +++ b/plugin/icedteanp/IcedTeaNPPlugin.h Wed Jan 06 18:04:10 2010 -0500 @@ -38,8 +38,6 @@ exception statement from your version. * #ifndef __ICEDTEANPPLUGIN_H__ #define __ICEDTEANPPLUGIN_H__ - -#define MOZILLA_VERSION_COLLAPSED 1090105 #if MOZILLA_VERSION_COLLAPSED < 1090100 #include diff -r 316dbf49f070 -r 6cd33d5c844d plugin/icedteanp/java/sun/applet/PluginAppletViewer.java --- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Thu Dec 24 14:05:23 2009 -0500 +++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Wed Jan 06 18:04:10 2010 -0500 @@ -424,7 +424,7 @@ import com.sun.jndi.toolkit.url.UrlUtil; } int index = message.indexOf(' ', "tag".length() + 1); request.documentbase = - message.substring("tag".length() + 1, index); + UrlUtil.decode(message.substring("tag".length() + 1, index)); request.tag = message.substring(index + 1); PluginDebug.debug ("REQUEST TAG: " + request.tag + " " + Thread.currentThread()); From bugzilla-daemon at icedtea.classpath.org Thu Jan 7 06:26:55 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 07 Jan 2010 14:26:55 +0000 Subject: [Bug 388] Compile of gcc hangs at fortran/intrinsic.o Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=388 ------- Comment #12 from jlpoole at pon.net 2010-01-07 14:26 ------- I got gcj to compile a HelloWorld.java file into HelloWorld.o, see Bug 42409 referenced in Comment #11. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 7 08:59:45 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 07 Jan 2010 16:59:45 +0000 Subject: [Bug 387] circular dependencies for install of Gentoo ARM5 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=387 ------- Comment #3 from jlpoole at pon.net 2010-01-07 16:59 ------- Regarding Comment #1, I installed gcj and believe to work. Then I focused on Ant and learned from http://ant.apache.org/manual/index.html that: Note: The bootstrap process of Ant requires a greedy compiler like Sun's javac or jikes. It does not work with gcj or kjc. I'll give compiling Ant a try, but the manual's caveat does not portend well. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 7 09:12:19 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 07 Jan 2010 17:12:19 +0000 Subject: [Bug 387] circular dependencies for install of Gentoo ARM5 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=387 ------- Comment #4 from gnu_andrew at member.fsf.org 2010-01-07 17:12 ------- gcj and ant are both packaged on Gentoo, but I don't know if they work on arm. We could certainly find a way round it. There is an ebuild for IcedTea6 in the java-overlay: svn co https://overlays.gentoo.org/svn/proj/java/java-overlay/ That warning from the Ant manual sounds hugely outdated. It doesn't mention ecj for one thing, which is what gcj now uses as its compiler. I think the mailing lists (distro-pkg-dev at openjdk.java.net) may be a better place for this discussion, as it's not a bug that you don't know how to compile it and that should reach a wider audience. You may also find some help with Gentoo related questions on the IRC channel #gentoo-java on the FreeNode network. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 7 09:12:35 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 07 Jan 2010 17:12:35 +0000 Subject: [Bug 387] circular dependencies for install of Gentoo ARM5 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=387 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 7 09:17:46 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 07 Jan 2010 17:17:46 +0000 Subject: [Bug 387] circular dependencies for install of Gentoo ARM5 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=387 ------- Comment #5 from aph at redhat.com 2010-01-07 17:17 ------- gcj is fine on ARM. People bootstrap OpenJDK with it. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From andrew at icedtea.classpath.org Thu Jan 7 11:36:12 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 07 Jan 2010 19:36:12 +0000 Subject: /hg/icedtea: Bump to b78. Message-ID: changeset 7e9ed32b98d7 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=7e9ed32b98d7 author: Andrew John Hughes date: Thu Jan 07 19:41:31 2010 +0000 Bump to b78. 2010-01-07 Andrew John Hughes Bump to b78. * patches/icedtea-alsa-default-device.patch: Dropped, applied upstream. * patches/icedtea-jdk-docs-target.patch: Revised and recreated upstream. * Makefile.am: Bump to b78. * javac.in: Ignore -implicit:none option when using ecj. * patches/boot/icedteart.patch: Drop langtools patch. * patches/icedtea-override-redirect-metacity.patch: Reduced to just the Metacity workaround. diffstat: 7 files changed, 40 insertions(+), 81 deletions(-) ChangeLog | 14 ++++++++ Makefile.am | 36 ++++++++++------------ javac.in | 4 +- patches/boot/icedteart.patch | 19 ----------- patches/icedtea-alsa-default-device.patch | 17 ---------- patches/icedtea-jdk-docs-target.patch | 16 --------- patches/icedtea-override-redirect-metacity.patch | 15 ++++----- diffs (191 lines): diff -r 6cd33d5c844d -r 7e9ed32b98d7 ChangeLog --- a/ChangeLog Wed Jan 06 18:04:10 2010 -0500 +++ b/ChangeLog Thu Jan 07 19:41:31 2010 +0000 @@ -1,3 +1,17 @@ 2010-01-06 Deepak Bhole + + Bump to b78. + * patches/icedtea-alsa-default-device.patch: + Dropped, applied upstream. + * patches/icedtea-jdk-docs-target.patch: + Revised and recreated upstream. + * Makefile.am: Bump to b78. + * javac.in: Ignore -implicit:none option when + using ecj. + * patches/boot/icedteart.patch: Drop langtools patch. + * patches/icedtea-override-redirect-metacity.patch: + Reduced to just the Metacity workaround. + 2010-01-06 Deepak Bhole * configure.ac: Use libxul instead of libxul-unstable for the new NP diff -r 6cd33d5c844d -r 7e9ed32b98d7 Makefile.am --- a/Makefile.am Wed Jan 06 18:04:10 2010 -0500 +++ b/Makefile.am Thu Jan 07 19:41:31 2010 +0000 @@ -1,22 +1,22 @@ # Dependencies -OPENJDK_VERSION = b77 - -CORBA_CHANGESET = e12a2cc2d9b5 -HOTSPOT_CHANGESET = 6b9522825101 -JAXP_CHANGESET = 3aeb520849db -JAXWS_CHANGESET = 85d8e6e69be0 -JDK_CHANGESET = d3b07a3dd0da -LANGTOOLS_CHANGESET = a2ad734c54f9 -OPENJDK_CHANGESET = 3430bb12a9a5 - -CORBA_SHA256SUM = 40069a50a17c9e39a59cc9da5ad0e3db23747192ed900309bc6cf0d5a2969446 -HOTSPOT_SHA256SUM = 951efc3e173660a6ec47aba0609a476931fdc46fb6180235f92a85cd98365b83 -JAXP_SHA256SUM = e0405c0fe2f28a2ab8f77c6c5d2430357c0b62999a62e4da4315439a042bc0f3 -JAXWS_SHA256SUM = f59a4dc9c5c0f06cff7d14dbfb87c251b581f8700c01535cbd5f461c26d1d54d -JDK_SHA256SUM = bac95b945892d15889f96a089a00baf96971950c4c2dbd74ef3b12fae1c32ada -LANGTOOLS_SHA256SUM = d4f7763087532975cf106a23700e19cb668142e960f337ffcc4f83f8053a567d -OPENJDK_SHA256SUM = b42e70c5fbeed6db9cac51897ab825c69d90ff26e5b38726d59ed27ed3a4db68 +OPENJDK_VERSION = b78 + +CORBA_CHANGESET = 89141a0869e3 +HOTSPOT_CHANGESET = 54dde9f9887d +JAXP_CHANGESET = f0f127b93c9e +JAXWS_CHANGESET = 4ca731fe3154 +JDK_CHANGESET = 35224dd04ddb +LANGTOOLS_CHANGESET = 21591a03bfbe +OPENJDK_CHANGESET = f1cf9e78bbad + +CORBA_SHA256SUM = 0d41c7f3c3571cc95eae4fb4c0faf8dbbcc61846a4591f70b6870d7b4c2c0857 +HOTSPOT_SHA256SUM = 1127102aa1230d26da6b73118576aef872fb2e86d0d946797da737e64c91d6fc +JAXP_SHA256SUM = 89f002ed4e6e4b6449e453284b31c4cbe466dedddeeb20249415c6edb10b52cb +JAXWS_SHA256SUM = 62059bb48e5dad09060bcb79539562f596c77df48345bb35f0e26e815d1cfa6b +JDK_SHA256SUM = b817bc7703acae21abc57d75eb16ac47d724da25253156aebc90f75c92a267a4 +LANGTOOLS_SHA256SUM = 4bff3af10a14048419bd144a39af2daa82756ca8ec226950d05b91ff99b1d0cc +OPENJDK_SHA256SUM = df47020bf65614156e363a2170ee96f2959e08e62f9eaedacd3591147f858c00 CACAO_VERSION = 0.99.4 CACAO_SHA256SUM = c6090c1d2ed3c60acda0076b62563598267be8dab270ce49ee1035002a2510cf @@ -268,7 +268,6 @@ ICEDTEA_PATCHES = \ patches/icedtea-shark-build.patch \ patches/hotspot/$(HSBUILD)/icedtea-shark-build.patch \ patches/icedtea-security-updates.patch \ - patches/icedtea-jdk-docs-target.patch \ patches/icedtea-hotspot-gcc-pr36917.patch \ patches/icedtea-alpha-fixes.patch \ patches/icedtea-alt-jar.patch \ @@ -283,7 +282,6 @@ ICEDTEA_PATCHES = \ patches/icedtea-lc_ctype.patch \ patches/icedtea-tests-jdk.patch \ patches/icedtea-stroker-finish.patch \ - patches/icedtea-alsa-default-device.patch \ patches/icedtea-linker-libs-order.patch \ patches/icedtea-testenv.patch \ patches/icedtea-samejvm-safe.patch \ diff -r 6cd33d5c844d -r 7e9ed32b98d7 javac.in --- a/javac.in Wed Jan 06 18:04:10 2010 -0500 +++ b/javac.in Thu Jan 07 19:41:31 2010 +0000 @@ -1,7 +1,7 @@ #!/usr/bin/perl -w use strict; use constant NO_DUP_ARGS => qw(-source -target -d -encoding); -use constant STRIP_ARGS => qw(-Werror); +use constant STRIP_ARGS => qw(-Werror -implicit:none); my ($ECJ_WARNINGS, $JAVAC_WARNINGS); @@ -22,7 +22,7 @@ my @ecj_parms = ($ECJ_WARNINGS, @bcoptio my @ecj_parms = ($ECJ_WARNINGS, @bcoption); # Work around ecj's inability to handle duplicate command-line -# options. +# options and unknown javac options. sub gen_ecj_opts { my @new_args = @{$_[0]}; diff -r 6cd33d5c844d -r 7e9ed32b98d7 patches/boot/icedteart.patch --- a/patches/boot/icedteart.patch Wed Jan 06 18:04:10 2010 -0500 +++ b/patches/boot/icedteart.patch Thu Jan 07 19:41:31 2010 +0000 @@ -39,22 +39,3 @@ diff -Nru openjdk-boot.orig/jdk/make/sun @$(java-vm-cleanup) $(INSTALLDIR)/$(MAPFILE): $(WORKDIR)/$(MAPFILE) -diff -Nru openjdk-boot.orig/langtools/make/build.xml openjdk-boot/langtools/make/build.xml ---- openjdk-boot.orig/langtools/make/build.xml 2009-10-21 16:40:37.000000000 +0100 -+++ openjdk-boot/langtools/make/build.xml 2009-12-13 20:16:48.000000000 +0000 -@@ -524,6 +524,7 @@ - includeAntRuntime="no" - source="@{javac.source}" - target="@{javac.target}"> -+ - - - -@@ -540,6 +541,7 @@ - target="@{javac.target}" - debug="${javac.debug}" - debuglevel="${javac.debuglevel}"> -+ - - - diff -r 6cd33d5c844d -r 7e9ed32b98d7 patches/icedtea-alsa-default-device.patch --- a/patches/icedtea-alsa-default-device.patch Wed Jan 06 18:04:10 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ -diff -uNr openjdk-orig/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCM.c openjdk/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCM.c ---- openjdk-orig/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCM.c 2008-11-03 15:02:16.000000000 -0500 -+++ openjdk/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCM.c 2008-11-03 15:08:07.000000000 -0500 -@@ -143,8 +143,12 @@ - ERROR1("snd_pcm_hw_params_malloc returned error %d\n", ret); - } else { - ret = snd_pcm_hw_params_any(handle, hwParams); -- if (ret != 0) { -+ /* snd_pcm_hw_params_any can return a positive value on success too */ -+ if (ret < 0) { - ERROR1("snd_pcm_hw_params_any returned error %d\n", ret); -+ } else { -+ /* for the logic following this code, set ret to 0 to indicate success */ -+ ret = 0; - } - } - snd_pcm_hw_params_get_format_mask(hwParams, formatMask); diff -r 6cd33d5c844d -r 7e9ed32b98d7 patches/icedtea-jdk-docs-target.patch --- a/patches/icedtea-jdk-docs-target.patch Wed Jan 06 18:04:10 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,16 +0,0 @@ ---- openjdk/make/jdk-rules.gmk 2008-06-29 10:09:47.002591764 +0000 -+++ openjdk/make/jdk-rules.gmk 2008-06-29 15:04:01.228901751 +0000 -@@ -36,12 +36,7 @@ - IMAGES_TARGET = images - endif - --# No DOCS build when JDK_UPDATE_VERSION set --ifdef JDK_UPDATE_VERSION -- DOCS_TARGET = --else -- DOCS_TARGET = docs --endif -+DOCS_TARGET = docs - - # NO_DOCS may be set in conjunction with DEV_ONLY - ifdef NO_DOCS diff -r 6cd33d5c844d -r 7e9ed32b98d7 patches/icedtea-override-redirect-metacity.patch --- a/patches/icedtea-override-redirect-metacity.patch Wed Jan 06 18:04:10 2010 -0500 +++ b/patches/icedtea-override-redirect-metacity.patch Thu Jan 07 19:41:31 2010 +0000 @@ -1,12 +1,11 @@ diff -Nru openjdk.orig/jdk/src/solaris/c diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java ---- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java 2008-09-25 08:44:19.000000000 +0100 -+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java 2008-09-26 21:13:18.000000000 +0100 -@@ -1118,6 +1118,8 @@ +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java 2010-01-04 16:57:29.000000000 +0000 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java 2010-01-04 19:47:57.000000000 +0000 +@@ -1142,6 +1142,7 @@ boolean isOverrideRedirect() { - return (XWM.getWMID() == XWM.OPENLOOK_WM ? true : false) || -+ (XWM.getWMID() == XWM.METACITY_WM ? true : false) || -+ target.getName().equals("###overrideRedirect###") || - ((XToolkit)Toolkit.getDefaultToolkit()).isOverrideRedirect((Window)target) || - XTrayIconPeer.isTrayIconStuffWindow((Window)target); + return XWM.getWMID() == XWM.OPENLOOK_WM || ++ XWM.getWMID() == XWM.METACITY_WM || + Window.Type.POPUP.equals(getWindowType()); } + From bugzilla-daemon at icedtea.classpath.org Fri Jan 8 06:02:30 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 08 Jan 2010 14:02:30 +0000 Subject: [Bug 426] New: normal Eclipse update crash (SIGSEGV) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=426 Summary: normal Eclipse update crash (SIGSEGV) Product: IcedTea Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: critical Priority: P2 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: kariuki at posintra.fi # # An unexpected error has been detected by Java Runtime Environment: # # SIGSEGV (0xb) at pc=0xb759f7a0, pid=2069, tid=2345282448 # # Java VM: OpenJDK Server VM (1.6.0_0-b11 mixed mode linux-x86) # Problematic frame: # V [libjvm.so+0x1dc7a0] # # If you would like to submit a bug report, please visit: # http://icedtea.classpath.org/bugzilla # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # --------------- T H R E A D --------------- Current thread (0x8bf00800): JavaThread "CompilerThread1" daemon [_thread_in_native, id=2078, stack(0x8bc22000,0x8bca3000)] siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x0000000f Registers: EAX=0x099bab00, EBX=0xb79e354c, ECX=0xb79e354c, EDX=0x0000000e ESP=0x8bca0ff0, EBP=0x8bca1018, ESI=0xffffffff, EDI=0x0a93a8cc EIP=0xb759f7a0, CR2=0x0000000f, EFLAGS=0x00010246 Top of Stack: (sp=0x8bca0ff0) 0x8bca0ff0: 0a93a8cc 099bab30 00000000 b79e354c 0x8bca1000: 09d9bd88 00000001 8bca1028 b79e354c 0x8bca1010: 00000001 ffffffff 8bca1058 b759fa36 0x8bca1020: ffffffff 0a93a8cc 09d9bd88 b75a264c 0x8bca1030: 09d9bd88 00000016 01d9c1f0 ffffffff 0x8bca1040: 0a93a8cc 099bc190 00000004 b79e354c 0x8bca1050: 09d9c280 00000000 8bca1088 b759fd2d 0x8bca1060: 09d9c320 09d9c280 09ca0698 00000002 Instructions: (pc=0xb759f7a0) 0xb759f790: 44 24 04 e8 58 8b ff ff 84 c0 0f 85 a8 00 00 00 0xb759f7a0: 8b 46 10 83 f8 0c 0f 84 ac 00 00 00 83 f8 0d 90 Stack: [0x8bc22000,0x8bca3000], sp=0x8bca0ff0, free space=507k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) V [libjvm.so+0x1dc7a0] V [libjvm.so+0x1dca36] V [libjvm.so+0x1dcd2d] V [libjvm.so+0x1e07b8] V [libjvm.so+0x1e0d19] V [libjvm.so+0x1e0d92] V [libjvm.so+0x1cc79d] V [libjvm.so+0x1aed0c] V [libjvm.so+0x1aedef] V [libjvm.so+0x27bd7a] V [libjvm.so+0x27c378] V [libjvm.so+0x48db2a] V [libjvm.so+0x4810db] V [libjvm.so+0x481397] V [libjvm.so+0x481438] V [libjvm.so+0x4833fd] V [libjvm.so+0x1aeec0] V [libjvm.so+0x213dcf] V [libjvm.so+0x1adccd] V [libjvm.so+0x2186d8] V [libjvm.so+0x218dc0] V [libjvm.so+0x53e147] V [libjvm.so+0x542c06] V [libjvm.so+0x542cb2] V [libjvm.so+0x468037] C [libpthread.so.0+0x64c0] Current CompileTask: C2:525 ! org.eclipse.update.internal.core.UpdateManagerUtils.copy(Ljava/io/InputStream;Ljava/io/OutputStream;Lorg/eclipse/update/core/InstallMonitor;J)J (238 bytes) --------------- P R O C E S S --------------- Java Threads: ( => current thread ) 0x09c9b800 JavaThread "Keep-Alive-Timer" daemon [_thread_blocked, id=2264, stack(0x8a4a4000,0x8a4f5000)] 0x09ab9400 JavaThread "Worker-6" [_thread_blocked, id=2227, stack(0x89e32000,0x89e83000)] 0x09cac800 JavaThread "Worker-3" [_thread_in_native, id=2107, stack(0x8a65e000,0x8a6af000)] 0x89743800 JavaThread "org.eclipse.jface.text.reconciler.MonoReconciler" daemon [_thread_blocked, id=2098, stack(0x8a404000,0x8a455000)] 0x09c79800 JavaThread "Worker-1" [_thread_blocked, id=2089, stack(0x8a6af000,0x8a700000)] 0x8bf76800 JavaThread "Start Level Event Dispatcher" daemon [_thread_blocked, id=2085, stack(0x8b9ff000,0x8ba50000)] 0x8bf53000 JavaThread "Framework Event Dispatcher" daemon [_thread_blocked, id=2084, stack(0x8ba50000,0x8baa1000)] 0x8bf1dc00 JavaThread "State Data Manager" daemon [_thread_blocked, id=2083, stack(0x8baa1000,0x8baf2000)] 0x8bf02800 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=2079, stack(0x8bbd1000,0x8bc22000)] =>0x8bf00800 JavaThread "CompilerThread1" daemon [_thread_in_native, id=2078, stack(0x8bc22000,0x8bca3000)] 0x09a1a400 JavaThread "CompilerThread0" daemon [_thread_blocked, id=2077, stack(0x8bca3000,0x8bd24000)] 0x09a19000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=2076, stack(0x8bd24000,0x8bd75000)] 0x099ffc00 JavaThread "Finalizer" daemon [_thread_blocked, id=2075, stack(0x8beaf000,0x8bf00000)] 0x099fb800 JavaThread "Reference Handler" daemon [_thread_blocked, id=2074, stack(0x8c009000,0x8c05a000)] 0x0996ec00 JavaThread "main" [_thread_in_native, id=2070, stack(0xb734c000,0xb739d000)] Other Threads: 0x099f8400 VMThread [stack: 0x8c05a000,0x8c0db000] [id=2073] 0x8bf04400 WatcherThread [stack: 0x8bb50000,0x8bbd1000] [id=2080] VM state:not at safepoint (normal execution) VM Mutex/Monitor currently owned by a thread: None Heap PSYoungGen total 54464K, used 24886K [0xb0990000, 0xb41c0000, 0xb4200000) eden space 53440K, 46% used [0xb0990000,0xb21dd8f8,0xb3dc0000) from space 1024K, 0% used [0xb3dc0000,0xb3dc0000,0xb3ec0000) to space 2048K, 0% used [0xb3fc0000,0xb3fc0000,0xb41c0000) PSOldGen total 28864K, used 16636K [0x94600000, 0x96230000, 0xb0990000) object space 28864K, 57% used [0x94600000,0x9563f148,0x96230000) PSPermGen total 63488K, used 30865K [0x8c600000, 0x90400000, 0x94600000) object space 63488K, 48% used [0x8c600000,0x8e424678,0x90400000) Dynamic libraries: 08048000-08050000 r-xp 00000000 fd:01 25837572 /usr/lib/jvm/java-6-openjdk/jre/bin/java 08050000-08051000 rw-p 00008000 fd:01 25837572 /usr/lib/jvm/java-6-openjdk/jre/bin/java 09968000-0ada6000 rw-p 09968000 00:00 0 [heap] 88f00000-88ff9000 rw-p 88f00000 00:00 0 88ff9000-89000000 ---p 88ff9000 00:00 0 89100000-891fc000 rw-p 89100000 00:00 0 891fc000-89200000 ---p 891fc000 00:00 0 89200000-892fb000 rw-p 89200000 00:00 0 892fb000-89300000 ---p 892fb000 00:00 0 89300000-893f6000 rw-p 89300000 00:00 0 893f6000-89400000 ---p 893f6000 00:00 0 89400000-894fc000 rw-p 89400000 00:00 0 894fc000-89500000 ---p 894fc000 00:00 0 89500000-895fe000 rw-p 89500000 00:00 0 895fe000-89600000 ---p 895fe000 00:00 0 896af000-896b2000 rwxp 896af000 00:00 0 896b2000-89700000 rwxp 896b2000 00:00 0 89700000-897fe000 rw-p 89700000 00:00 0 897fe000-89800000 ---p 897fe000 00:00 0 89822000-89825000 rwxp 89822000 00:00 0 89825000-89873000 rwxp 89825000 00:00 0 89873000-89876000 rwxp 89873000 00:00 0 89876000-898c4000 rwxp 89876000 00:00 0 898c4000-89900000 r--s 00309000 fd:01 56937926 /usr/lib/eclipse/plugins/org.eclipse.pde.ui_3.2.1.v20060816-0800.jar 89900000-899f5000 rw-p 89900000 00:00 0 899f5000-89a00000 ---p 899f5000 00:00 0 89a00000-89af8000 rw-p 89a00000 00:00 0 89af8000-89b00000 ---p 89af8000 00:00 0 89b00000-89bec000 rw-p 89b00000 00:00 0 89bec000-89c00000 ---p 89bec000 00:00 0 89c00000-89cc1000 rw-p 89c00000 00:00 0 89cc1000-89d00000 ---p 89cc1000 00:00 0 89d00000-89dc1000 rw-p 89d00000 00:00 0 89dc1000-89e00000 ---p 89dc1000 00:00 0 89e32000-89e35000 ---p 89e32000 00:00 0 89e35000-89e83000 rwxp 89e35000 00:00 0 89e83000-89f00000 r--p 00000000 fd:01 56541510 /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-BoldOblique.ttf 89f00000-89ffe000 rw-p 89f00000 00:00 0 89ffe000-8a000000 ---p 89ffe000 00:00 0 8a003000-8a037000 r--p 00000000 fd:01 56541503 /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono-BoldOblique.ttf 8a037000-8a06d000 r--p 00000000 fd:01 56541501 /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono-Oblique.ttf 8a06d000-8a0b4000 r--p 00000000 fd:01 56541485 /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono-Bold.ttf 8a0b4000-8a100000 r--p 00000000 fd:01 56541483 /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono.ttf 8a100000-8a1fc000 rw-p 8a100000 00:00 0 8a1fc000-8a200000 ---p 8a1fc000 00:00 0 8a202000-8a212000 r-xp 00000000 fd:01 43745536 /lib/i686/cmov/libresolv-2.7.so 8a212000-8a214000 rw-p 0000f000 fd:01 43745536 /lib/i686/cmov/libresolv-2.7.so 8a214000-8a216000 rw-p 8a214000 00:00 0 8a216000-8a218000 r-xp 00000000 fd:01 43745417 /lib/libnss_mdns4_minimal.so.2 8a218000-8a219000 rw-p 00001000 fd:01 43745417 /lib/libnss_mdns4_minimal.so.2 8a22d000-8a22f000 r--s 00005000 fd:01 13239183 /tmp/46911889/eclipse/.update/1262952502868/1262952502874/eclipse8559437863730093196.tmp 8a22f000-8a230000 r--s 00005000 fd:01 13239842 /tmp/46911889/eclipse/.update/1262952502868/1262952502958/eclipse5305003507035572503.tmp 8a230000-8a231000 r--s 00005000 fd:01 13239833 /tmp/46911889/eclipse/.update/1262952502868/1262952502957/eclipse4811147577775621037.tmp 8a231000-8a232000 r--s 00005000 fd:01 13239824 /tmp/46911889/eclipse/.update/1262952502868/1262952502956/eclipse6027303544481298721.tmp 8a232000-8a2af000 r--p 00000000 fd:01 56541506 /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Oblique.ttf 8a2af000-8a2b2000 rwxp 8a2af000 00:00 0 8a2b2000-8a300000 rwxp 8a2b2000 00:00 0 8a300000-8a3fb000 rw-p 8a300000 00:00 0 8a3fb000-8a400000 ---p 8a3fb000 00:00 0 8a400000-8a401000 r--s 00005000 fd:01 13239815 /tmp/46911889/eclipse/.update/1262952502868/1262952502955/eclipse1450485152832276305.tmp 8a401000-8a402000 r--s 00005000 fd:01 13239806 /tmp/46911889/eclipse/.update/1262952502868/1262952502954/eclipse8917764009890206561.tmp 8a402000-8a403000 r--s 00005000 fd:01 13239797 /tmp/46911889/eclipse/.update/1262952502868/1262952502953/eclipse936458013988920217.tmp 8a403000-8a404000 r--s 00005000 fd:01 13239788 /tmp/46911889/eclipse/.update/1262952502868/1262952502952/eclipse7015667081550187378.tmp 8a404000-8a407000 ---p 8a404000 00:00 0 8a407000-8a455000 rwxp 8a407000 00:00 0 8a455000-8a45e000 r--s 0008d000 fd:01 56938012 /usr/lib/eclipse/plugins/org.eclipse.cdt.managedbuilder.core_3.1.2.200805011458.jar 8a45e000-8a45f000 r--s 00005000 fd:01 13239779 /tmp/46911889/eclipse/.update/1262952502868/1262952502951/eclipse1026429439173524386.tmp 8a45f000-8a460000 r--s 00005000 fd:01 13239770 /tmp/46911889/eclipse/.update/1262952502868/1262952502950/eclipse6791037177257007994.tmp 8a460000-8a461000 r--s 00005000 fd:01 13239761 /tmp/46911889/eclipse/.update/1262952502868/1262952502949/eclipse6105400649508964468.tmp 8a461000-8a462000 r--s 00005000 fd:01 13239752 /tmp/46911889/eclipse/.update/1262952502868/1262952502948/eclipse2184121947316733807.tmp 8a462000-8a463000 r--s 00005000 fd:01 13239743 /tmp/46911889/eclipse/.update/1262952502868/1262952502947/eclipse2304204668286248000.tmp 8a463000-8a464000 r--s 00005000 fd:01 13239734 /tmp/46911889/eclipse/.update/1262952502868/1262952502946/eclipse1739771320654016038.tmp 8a464000-8a465000 r--s 00005000 fd:01 13239727 /tmp/46911889/eclipse/.update/1262952502868/1262952502945/eclipse1056369243341506130.tmp 8a465000-8a467000 r--s 00005000 fd:01 13239201 /tmp/46911889/eclipse/.update/1262952502868/1262952502876/eclipse8173742196137558138.tmp 8a467000-8a469000 r--s 00005000 fd:01 13239192 /tmp/46911889/eclipse/.update/1262952502868/1262952502875/eclipse2026286676658020359.tmp 8a469000-8a46a000 r-xp 00000000 fd:01 57917487 /usr/lib/eclipse/configuration/org.eclipse.osgi/bundles/31/1/.cp/os/linux/x86/libupdate.so 8a46a000-8a46b000 rw-p 00000000 fd:01 57917487 /usr/lib/eclipse/configuration/org.eclipse.osgi/bundles/31/1/.cp/os/linux/x86/libupdate.so 8a46b000-8a46f000 r-xp 00000000 fd:01 43745519 /lib/i686/cmov/libnss_dns-2.7.so 8a46f000-8a471000 rw-p 00003000 fd:01 43745519 /lib/i686/cmov/libnss_dns-2.7.so 8a471000-8a47a000 r--s 0006f000 fd:01 56937895 /usr/lib/eclipse/plugins/org.eclipse.update.ui_3.2.2.R32x_v20070111.jar 8a47a000-8a47c000 r--s 00000000 fd:01 56937909 /usr/lib/eclipse/plugins/org.eclipse.update.core.linux_3.2.0.v20060605.jar 8a47c000-8a485000 r--s 00085000 fd:01 56937887 /usr/lib/eclipse/plugins/org.eclipse.update.core_3.2.3.R32x_v20070118.jar 8a485000-8a487000 r--s 00005000 fd:01 56937902 /usr/lib/eclipse/plugins/org.eclipse.update.scheduler_3.2.2.R32x_v20061214.jar 8a487000-8a48a000 r--s 0001c000 fd:01 56938015 /usr/lib/eclipse/plugins/org.eclipse.cdt.launch_3.1.2.200805011458.jar 8a48a000-8a493000 r--s 00047000 fd:01 56938025 /usr/lib/eclipse/plugins/org.eclipse.cdt.debug.core_3.1.2.200805011458.jar 8a493000-8a499000 r--s 00035000 fd:01 56937906 /usr/lib/eclipse/plugins/org.eclipse.debug.core_3.2.1.v20060823.jar 8a499000-8a49d000 r--s 0001e000 fd:01 56937863 /usr/lib/eclipse/plugins/org.eclipse.ui.console_3.1.100.v20060605.jar 8a49d000-8a4a2000 r--s 00036000 fd:01 56937860 /usr/lib/eclipse/plugins/org.eclipse.ui.forms_3.2.0.v20060602.jar 8a4a2000-8a4a4000 r--s 00005000 fd:01 56937858 /usr/lib/eclipse/plugins/org.eclipse.core.variables_3.1.100.v20060605.jar 8a4a4000-8a4a7000 ---p 8a4a4000 00:00 0 8a4a7000-8a4f5000 rwxp 8a4a7000 00:00 0 8a4f5000-8a4f8000 r-xp 00000000 fd:01 56983770 /usr/lib/eclipse/plugins/org.eclipse.cdt.core.linux.x86_3.1.2.200805011458/os/linux/x86/libspawner.so 8a4f8000-8a4f9000 rw-p 00002000 fd:01 56983770 /usr/lib/eclipse/plugins/org.eclipse.cdt.core.linux.x86_3.1.2.200805011458/os/linux/x86/libspawner.so 8a4f9000-8a501000 r--s 00048000 fd:01 56938013 /usr/lib/eclipse/plugins/org.eclipse.cdt.make.core_3.1.2.200805011458.jar 8a501000-8a532000 r--s 0023f000 fd:01 56938018 /usr/lib/eclipse/plugins/org.eclipse.cdt.core_3.1.2.200805011458.jar 8a532000-8a543000 r--s 000ae000 fd:01 56937892 /usr/lib/eclipse/plugins/org.eclipse.jface.text_3.2.2.r322_v20070104.jar 8a543000-8a54a000 r--s 000fd000 fd:01 56886392 /usr/lib/jvm/java-6-openjdk/jre/lib/resources.jar 8a54a000-8a562000 r--s 00306000 fd:01 56937861 /usr/lib/eclipse/plugins/com.ibm.icu_3.4.5.20061213.jar 8a562000-8a566000 r--s 0001b000 fd:01 56938023 /usr/lib/eclipse/plugins/org.eclipse.cdt.debug.mi.ui_3.1.2.200805011458.jar 8a566000-8a57d000 r--s 000fd000 fd:01 56937923 /usr/lib/eclipse/plugins/org.eclipse.jdt.debug.ui_3.2.2.r322_v20061205.jar 8a57d000-8a585000 r--s 00052000 fd:01 56938021 /usr/lib/eclipse/plugins/org.eclipse.cdt.managedbuilder.ui_3.1.2.200805011458.jar 8a585000-8a596000 r--s 000f4000 fd:01 56937918 /usr/lib/eclipse/plugins/org.eclipse.ant.ui_3.2.1.r321_v20060828.jar 8a596000-8a5b7000 r--s 00194000 fd:01 56938026 /usr/lib/eclipse/plugins/org.eclipse.cdt.ui_3.1.2.200805011458.jar 8a5b7000-8a637000 r--s 0074f000 fd:01 56937921 /usr/lib/eclipse/plugins/org.eclipse.jdt.ui_3.2.2.r322_v20070124.jar 8a637000-8a65e000 r--s 001a0000 fd:01 56937893 /usr/lib/eclipse/plugins/org.eclipse.debug.ui_3.2.2.r322_v20070202.jar 8a65e000-8a661000 ---p 8a65e000 00:00 0 8a661000-8a6af000 rwxp 8a661000 00:00 0 8a6af000-8a6b2000 ---p 8a6af000 00:00 0 8a6b2000-8a700000 rwxp 8a6b2000 00:00 0 8a700000-8a7fe000 rw-p 8a700000 00:00 0 8a7fe000-8a800000 ---p 8a7fe000 00:00 0 8a800000-8a803000 r--s 00014000 fd:01 56937908 /usr/lib/eclipse/plugins/org.eclipse.core.filebuffers_3.2.1.r321_v20060721.jar 8a803000-8a806000 r--s 0000e000 fd:01 56937882 /usr/lib/eclipse/plugins/org.eclipse.ui.views_3.2.1.M20060906-0800.jar 8a806000-8a822000 r--s 00155000 fd:01 56937910 /usr/lib/eclipse/plugins/org.eclipse.team.cvs.ui_3.2.2.M20061121.jar 8a822000-8a825000 rwxp 8a822000 00:00 0 8a825000-8a873000 rwxp 8a825000 00:00 0 8a873000-8a977000 rw-p 8a873000 00:00 0 8a977000-8aa00000 r--p 00000000 fd:01 56541484 /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf 8aa00000-8aaff000 rw-p 8aa00000 00:00 0 8aaff000-8ab00000 ---p 8aaff000 00:00 0 8ab00000-8ab01000 r--s 00005000 fd:01 13239720 /tmp/46911889/eclipse/.update/1262952502868/1262952502944/eclipse1029115061150276878.tmp 8ab01000-8ab0c000 r-xp 00000000 fd:01 56952368 /usr/lib/eclipse/configuration/org.eclipse.osgi/bundles/58/1/.cp/libswt-cairo-gtk-3236.so 8ab0c000-8ab0d000 rw-p 0000a000 fd:01 56952368 /usr/lib/eclipse/configuration/org.eclipse.osgi/bundles/58/1/.cp/libswt-cairo-gtk-3236.so 8ab0d000-8ab13000 r-xp 00000000 fd:01 56952366 /usr/lib/eclipse/configuration/org.eclipse.osgi/bundles/58/1/.cp/libswt-atk-gtk-3236.so 8ab13000-8ab14000 rw-p 00006000 fd:01 56952366 /usr/lib/eclipse/configuration/org.eclipse.osgi/bundles/58/1/.cp/libswt-atk-gtk-3236.so 8ab14000-8ab1e000 r--s 00066000 fd:01 56937872 /usr/lib/eclipse/plugins/org.eclipse.ui.editors_3.2.1.r321_v20060721.jar 8ab1e000-8ab34000 r--s 000f0000 fd:01 56937898 /usr/lib/eclipse/plugins/org.eclipse.team.ui_3.2.1.M200608151725.jar 8ab34000-8ab3d000 r--s 00064000 fd:01 56937900 /usr/lib/eclipse/plugins/org.eclipse.search_3.2.1.r321_v20060726.jar 8ab3d000-8ad00000 rw-p 8ab3d000 00:00 0 8ad00000-8ad01000 r--s 00005000 fd:01 13239711 /tmp/46911889/eclipse/.update/1262952502868/1262952502943/eclipse8778977004608364202.tmp 8ad01000-8ad06000 r--s 00030000 fd:01 56937907 /usr/lib/eclipse/plugins/org.eclipse.text_3.2.0.v20060605-1400.jar 8ad06000-8ad0f000 r--s 00060000 fd:01 56937870 /usr/lib/eclipse/plugins/org.eclipse.ui.workbench.texteditor_3.2.0.v20060605-1400.jar 8ad0f000-8ad18000 r--s 0004f000 fd:01 56938022 /usr/lib/eclipse/plugins/org.eclipse.cdt.make.ui_3.1.2.200805011458.jar 8ad18000-8ad1c000 r--s 0001d000 fd:01 56937875 /usr/lib/eclipse/plugins/org.eclipse.ui.externaltools_3.1.101.r321_v20060802.jar 8ad1c000-8ad2a000 r--s 0007c000 fd:01 56938024 /usr/lib/eclipse/plugins/org.eclipse.cdt.debug.ui_3.1.2.200805011458.jar 8ad2a000-8ad6b000 rw-p 8ad2a000 00:00 0 8ad6b000-8ae00000 r--p 00000000 fd:01 56541486 /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf 8ae00000-8aef0000 rw-p 8ae00000 00:00 0 8aef0000-8af00000 ---p 8aef0000 00:00 0 8af00000-8af01000 r--s 00005000 fd:01 13239702 /tmp/46911889/eclipse/.update/1262952502868/1262952502942/eclipse4202588223870022240.tmp 8af01000-8af04000 r--s 0001b000 fd:01 56936541 /usr/lib/eclipse/plugins/org.eclipse.help_3.2.2.R322_v20061213.jar 8af04000-8af0b000 r--s 00041000 fd:01 56937880 /usr/lib/eclipse/plugins/org.eclipse.ui.cheatsheets_3.2.1.R321_v20060720.jar 8af0b000-8af10000 r--s 00026000 fd:01 56937905 /usr/lib/eclipse/plugins/org.eclipse.ui.browser_3.2.0.v20060602.jar 8af10000-8af19000 r--s 0004f000 fd:01 56937859 /usr/lib/eclipse/plugins/org.eclipse.team.core_3.2.2.M20061114.jar 8af19000-8af1b000 r--s 0000e000 fd:01 56936542 /usr/lib/eclipse/plugins/org.eclipse.core.expressions_3.2.2.r322_v20070109a.jar 8af1b000-8af1d000 r--s 00011000 fd:01 56937857 /usr/lib/eclipse/plugins/org.eclipse.core.contenttype_3.2.0.v20060603.jar 8af1d000-8af1f000 r-xp 00000000 fd:01 57806459 /usr/lib/eclipse/configuration/org.eclipse.osgi/bundles/85/1/.cp/os/linux/x86/liblocalfile_1_0_0.so 8af1f000-8af20000 rw-p 00001000 fd:01 57806459 /usr/lib/eclipse/configuration/org.eclipse.osgi/bundles/85/1/.cp/os/linux/x86/liblocalfile_1_0_0.so 8af20000-8af21000 r--s 00003000 fd:01 56937879 /usr/lib/eclipse/plugins/org.eclipse.core.filesystem.linux.x86_1.0.0.v20060603.jar 8af21000-8af23000 r--s 00007000 fd:01 56937855 /usr/lib/eclipse/plugins/org.eclipse.core.filesystem_1.0.0.v20060603.jar 8af23000-8af26000 r--s 0001a000 fd:01 56937912 /usr/lib/eclipse/plugins/org.eclipse.core.resources.compatibility_3.2.0.v20060603.jar 8af26000-8af30000 r--s 00097000 fd:01 56937864 /usr/lib/eclipse/plugins/org.eclipse.core.resources_3.2.2.R32x_v20061218.jar 8af30000-8af32000 r-xp 00000000 fd:01 56296824 /usr/lib/pango/1.6.0/modules/pango-basic-fc.so 8af32000-8af33000 rw-p 00001000 fd:01 56296824 /usr/lib/pango/1.6.0/modules/pango-basic-fc.so 8af33000-8af39000 r--s 00000000 fd:01 23331166 /var/cache/fontconfig/945677eb7aeaf62f1d50efc3fb3ec7d8-x86.cache-2 8af39000-8af3a000 r--s 00000000 fd:01 23331164 /var/cache/fontconfig/fd9505950c048a77dc4b710eb6a628ed-x86.cache-2 8af3a000-8af3d000 r--s 00000000 fd:01 23331161 /var/cache/fontconfig/ddc79d3ea06a7c6ffa86ede85f3bb5df-x86.cache-2 8af3d000-8af3e000 r--s 00000000 fd:01 23331163 /var/cache/fontconfig/e7071f4a29fa870f4323321c154eba04-x86.cache-2 8af3e000-8af3f000 r--s 00000000 fd:01 23331020 /var/cache/fontconfig/a2ab74764b07279e7c36ddb1d302cf26-x86.cache-2 8af3f000-8af41000 r--s 00000000 fd:01 23331048 /var/cache/fontconfig/c69f04ab05004e31a6d5e715764f16d8-x86.cache-2 8af41000-8af44000 r--s 00000000 fd:01 23331162 /var/cache/fontconfig/6eb3985aa4124903f6ff08ba781cd364-x86.cache-2 8af44000-8af46000 r--s 00000000 fd:01 23331016 /var/cache/fontconfig/646addb8444faa74ee138aa00ab0b6a0-x86.cache-2 8af46000-8af48000 r--s 00000000 fd:01 23331160 /var/cache/fontconfig/20bd79ad97094406f7d1b9654bfbd926-x86.cache-2 8af48000-8af4b000 r--s 00000000 fd:01 23331159 /var/cache/fontconfig/9c0624108b9a2ae8552f664125be8356-x86.cache-2 8af4b000-8af52000 r--s 00000000 fd:01 23331052 /var/cache/fontconfig/6d41288fd70b0be22e8c3a91e032eec0-x86.cache-2 8af52000-8af54000 r--s 00000000 fd:01 23331036 /var/cache/fontconfig/da1bd5ca8443ffe22927a23ce431d198-x86.cache-2 8af54000-8af56000 r--s 00000000 fd:01 23331169 /var/cache/fontconfig/ddd4086aec35a5275babba44bb759c3c-x86.cache-2 8af56000-8af78000 r--s 00000000 fd:01 23331034 /var/cache/fontconfig/365b55f210c0a22e9a19e35191240f32-x86.cache-2 8af78000-8afb0000 r-xp 00000000 fd:01 56952367 /usr/lib/eclipse/configuration/org.eclipse.osgi/bundles/58/1/.cp/libswt-gtk-3236.so 8afb0000-8afb2000 rw-p 00037000 fd:01 56952367 /usr/lib/eclipse/configuration/org.eclipse.osgi/bundles/58/1/.cp/libswt-gtk-3236.so 8afb2000-8afb3000 rw-p 8afb2000 00:00 0 8afb3000-8afb7000 r-xp 00000000 fd:01 56052980 /usr/lib/libXdmcp.so.6.0.0 8afb7000-8afb8000 rw-p 00003000 fd:01 56052980 /usr/lib/libXdmcp.so.6.0.0 8afb8000-8afdc000 r-xp 00000000 fd:01 56050951 /usr/lib/libexpat.so.1.5.2 8afdc000-8afde000 rw-p 00023000 fd:01 56050951 /usr/lib/libexpat.so.1.5.2 8afde000-8afe0000 r-xp 00000000 fd:01 56054651 /usr/lib/libXau.so.6.0.0 8afe0000-8afe1000 rw-p 00001000 fd:01 56054651 /usr/lib/libXau.so.6.0.0 8afe1000-8b009000 r-xp 00000000 fd:01 56055560 /usr/lib/libpixman-1.so.0.10.0 8b009000-8b00a000 rw-p 00027000 fd:01 56055560 /usr/lib/libpixman-1.so.0.10.0 8b00a000-8b010000 r-xp 00000000 fd:01 56063116 /usr/lib/libxcb-render.so.0.0.0 8b010000-8b011000 rw-p 00005000 fd:01 56063116 /usr/lib/libxcb-render.so.0.0.0 8b011000-8b014000 r-xp 00000000 fd:01 56056252 /usr/lib/libxcb-render-util.so.0.0.0 8b014000-8b015000 rw-p 00002000 fd:01 56056252 /usr/lib/libxcb-render-util.so.0.0.0 8b015000-8b038000 r-xp 00000000 fd:01 56054708 /usr/lib/libpng12.so.0.27.0 8b038000-8b039000 rw-p 00023000 fd:01 56054708 /usr/lib/libpng12.so.0.27.0 8b039000-8b04c000 r-xp 00000000 fd:01 56054732 /usr/lib/libdirect-1.0.so.0.1.0 8b04c000-8b04d000 rw-p 00012000 fd:01 56054732 /usr/lib/libdirect-1.0.so.0.1.0 8b04d000-8b054000 r-xp 00000000 fd:01 56054736 /usr/lib/libfusion-1.0.so.0.1.0 8b054000-8b055000 rw-p 00006000 fd:01 56054736 /usr/lib/libfusion-1.0.so.0.1.0 8b055000-8b0ba000 r-xp 00000000 fd:01 56054734 /usr/lib/libdirectfb-1.0.so.0.1.0 8b0ba000-8b0bc000 rw-p 00065000 fd:01 56054734 /usr/lib/libdirectfb-1.0.so.0.1.0 8b0bc000-8b0e4000 r-xp 00000000 fd:01 56051218 /usr/lib/libpcre.so.3.12.1 8b0e4000-8b0e5000 rw-p 00027000 fd:01 56051218 /usr/lib/libpcre.so.3.12.1 8b0e5000-8b0fc000 r-xp 00000000 fd:01 56063105 /usr/lib/libxcb.so.1.0.0 8b0fc000-8b0fd000 rw-p 00017000 fd:01 56063105 /usr/lib/libxcb.so.1.0.0 8b0fd000-8b0fe000 r-xp 00000000 fd:01 56051103 /usr/lib/libxcb-xlib.so.0.0.0 8b0fe000-8b0ff000 rw-p 00000000 fd:01 56051103 /usr/lib/libxcb-xlib.so.0.0.0 8b0ff000-8b170000 r-xp 00000000 fd:01 56051091 /usr/lib/libfreetype.so.6.3.18 8b170000-8b174000 rw-p 00070000 fd:01 56051091 /usr/lib/libfreetype.so.6.3.18 8b174000-8b19a000 r-xp 00000000 fd:01 56054967 /usr/lib/libpangoft2-1.0.so.0.2002.3 8b19a000-8b19b000 rw-p 00026000 fd:01 56054967 /usr/lib/libpangoft2-1.0.so.0.2002.3 8b19b000-8b1a3000 r-xp 00000000 fd:01 56055327 /usr/lib/libXcursor.so.1.0.2 8b1a3000-8b1a4000 rw-p 00007000 fd:01 56055327 /usr/lib/libXcursor.so.1.0.2 8b1a4000-8b1a9000 r-xp 00000000 fd:01 56054700 /usr/lib/libXrandr.so.2.1.0 8b1a9000-8b1aa000 rw-p 00005000 fd:01 56054700 /usr/lib/libXrandr.so.2.1.0 8b1aa000-8b1b1000 r-xp 00000000 fd:01 56050339 /usr/lib/libXi.so.6.0.0 8b1b1000-8b1b2000 rw-p 00007000 fd:01 56050339 /usr/lib/libXi.so.6.0.0 8b1b2000-8b1b4000 r-xp 00000000 fd:01 56054682 /usr/lib/libXinerama.so.1.0.0 8b1b4000-8b1b5000 rw-p 00001000 fd:01 56054682 /usr/lib/libXinerama.so.1.0.0 8b1b5000-8b1bd000 r-xp 00000000 fd:01 56054706 /usr/lib/libXrender.so.1.3.0 8b1bd000-8b1be000 rw-p 00007000 fd:01 56054706 /usr/lib/libXrender.so.1.3.0 8b1be000-8b1e8000 r-xp 00000000 fd:01 56051088 /usr/lib/libfontconfig.so.1.3.0 8b1e8000-8b1e9000 rw-p 0002a000 fd:01 56051088 /usr/lib/libfontconfig.so.1.3.0 8b1e9000-8b1f6000 r-xp 00000000 fd:01 56050373 /usr/lib/libXext.so.6.4.0 8b1f6000-8b1f7000 rw-p 0000c000 fd:01 56050373 /usr/lib/libXext.so.6.4.0 8b1f7000-8b261000 r-xp 00000000 fd:01 12419209 /usr/lib/libcairo.so.2.17.5 8b261000-8b263000 rw-p 0006a000 fd:01 12419209 /usr/lib/libcairo.so.2.17.5 8b263000-8b317000 r-xp 00000000 fd:01 56055474 /usr/lib/libglib-2.0.so.0.1600.6 8b317000-8b318000 rw-p 000b4000 fd:01 56055474 /usr/lib/libglib-2.0.so.0.1600.6 8b318000-8b31b000 r-xp 00000000 fd:01 56055473 /usr/lib/libgmodule-2.0.so.0.1600.6 8b31b000-8b31c000 rw-p 00002000 fd:01 56055473 /usr/lib/libgmodule-2.0.so.0.1600.6 8b31c000-8b357000 r-xp 00000000 fd:01 56050564 /usr/lib/libgobject-2.0.so.0.1600.6 8b357000-8b358000 rw-p 0003b000 fd:01 56050564 /usr/lib/libgobject-2.0.so.0.1600.6 8b358000-8b371000 r-xp 00000000 fd:01 56062544 /usr/lib/libatk-1.0.so.0.2209.1 8b371000-8b373000 rw-p 00018000 fd:01 56062544 /usr/lib/libatk-1.0.so.0.2209.1 8b373000-8b377000 r-xp 00000000 fd:01 56055324 /usr/lib/libXfixes.so.3.1.0 8b377000-8b378000 rw-p 00003000 fd:01 56055324 /usr/lib/libXfixes.so.3.1.0 8b378000-8b37a000 r-xp 00000000 fd:01 56055075 /usr/lib/libXdamage.so.1.1.0 8b37a000-8b37b000 rw-p 00001000 fd:01 56055075 /usr/lib/libXdamage.so.1.1.0 8b37b000-8b37d000 r-xp 00000000 fd:01 56055059 /usr/lib/libXcomposite.so.1.0.0 8b37d000-8b37e000 rw-p 00001000 fd:01 56055059 /usr/lib/libXcomposite.so.1.0.0 8b37e000-8b469000 r-xp 00000000 fd:01 56054703 /usr/lib/libX11.so.6.2.0 8b469000-8b46d000 rw-p 000ea000 fd:01 56054703 /usr/lib/libX11.so.6.2.0 8b46d000-8b4ab000 r-xp 00000000 fd:01 56054963 /usr/lib/libpango-1.0.so.0.2002.3 8b4ab000-8b4ad000 rw-p 0003d000 fd:01 56054963 /usr/lib/libpango-1.0.so.0.2002.3 8b4ad000-8b4b6000 r-xp 00000000 fd:01 56054965 /usr/lib/libpangocairo-1.0.so.0.2002.3 8b4b6000-8b4b7000 rw-p 00008000 fd:01 56054965 /usr/lib/libpangocairo-1.0.so.0.2002.3 8b4b7000-8b53a000 r-xp 00000000 fd:01 56053204 /usr/lib/libgdk-x11-2.0.so.0.1200.12 8b53a000-8b53d000 rw-p 00083000 fd:01 56053204 /usr/lib/libgdk-x11-2.0.so.0.1200.12 8b53d000-8b554000 r-xp 00000000 fd:01 56053203 /usr/lib/libgdk_pixbuf-2.0.so.0.1200.12 8b554000-8b555000 rw-p 00017000 fd:01 56053203 /usr/lib/libgdk_pixbuf-2.0.so.0.1200.12 8b555000-8b559000 r-xp 00000000 fd:01 56056086 /usr/lib/libXtst.so.6.1.0 8b559000-8b55a000 rw-p 00003000 fd:01 56056086 /usr/lib/libXtst.so.6.1.0 8b55a000-8b55e000 r-xp 00000000 fd:01 56050563 /usr/lib/libgthread-2.0.so.0.1600.6 8b55e000-8b55f000 rw-p 00003000 fd:01 56050563 /usr/lib/libgthread-2.0.so.0.1600.6 8b55f000-8b8e3000 r-xp 00000000 fd:01 56050034 /usr/lib/libgtk-x11-2.0.so.0.1200.12 8b8e3000-8b8e9000 rw-p 00383000 fd:01 56050034 /usr/lib/libgtk-x11-2.0.so.0.1200.12 8b8e9000-8b8ea000 rw-p 8b8e9000 00:00 0 8b8ea000-8b8ec000 r--s 00000000 fd:01 23331031 /var/cache/fontconfig/2c5ba8142dffc8bf0377700342b8ca1a-x86.cache-2 8b8ec000-8b8ee000 r--s 00000000 fd:01 23331055 /var/cache/fontconfig/de9486f0b47a4d768a594cb4198cb1c6-x86.cache-2 8b8ee000-8b8f5000 r--s 00000000 fd:01 23331029 /var/cache/fontconfig/d52a8644073d54c13679302ca1180695-x86.cache-2 8b8f5000-8b8f8000 r--s 00000000 fd:01 23331027 /var/cache/fontconfig/6386b86020ecc1ef9690bb720a13964f-x86.cache-2 8b8f8000-8b8fe000 r--s 00000000 fd:01 23331026 /var/cache/fontconfig/089dead882dea3570ffc31a9898cfb69-x86.cache-2 8b8fe000-8b900000 r--s 00000000 fd:01 23331047 /var/cache/fontconfig/e13b20fdb08344e0e664864cc2ede53d-x86.cache-2 8b900000-8b903000 r--s 00000000 fd:01 23331035 /var/cache/fontconfig/7ef2298fde41cc6eeb7af42e48b7d293-x86.cache-2 8b903000-8b95c000 r-xp 00000000 fd:01 4079620 /usr/lib/eclipse/configuration/org.eclipse.osgi/bundles/58/1/.cp/libswt-pi-gtk-3236.so 8b95c000-8b95e000 rw-p 00059000 fd:01 4079620 /usr/lib/eclipse/configuration/org.eclipse.osgi/bundles/58/1/.cp/libswt-pi-gtk-3236.so 8b95e000-8b961000 r--s 00013000 fd:01 56936540 /usr/lib/eclipse/plugins/org.eclipse.core.commands_3.2.0.I20060605-1400.jar 8b961000-8b965000 r--s 0001a000 fd:01 56936544 /usr/lib/eclipse/plugins/org.eclipse.ui_3.2.1.M20061108.jar 8b965000-8b975000 r--s 00183000 fd:01 56936528 /usr/lib/eclipse/plugins/org.eclipse.swt.gtk.linux.x86_3.2.2.v3236.jar 8b975000-8b976000 r--s 00002000 fd:01 56936539 /usr/lib/eclipse/plugins/org.eclipse.swt_3.2.2.v3236b.jar 8b976000-8b986000 r--s 000b9000 fd:01 56937884 /usr/lib/eclipse/plugins/org.eclipse.jface_3.2.2.M20061214-1200.jar 8b986000-8b987000 r--s 00000000 fd:01 56951051 /usr/lib/eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20060605-1400/compatibility.jar 8b987000-8b9be000 r--s 002bf000 fd:01 56936538 /usr/lib/eclipse/plugins/org.eclipse.ui.workbench_3.2.2.M20070119-0800.jar 8b9be000-8b9db000 r--s 0017c000 fd:01 56937894 /usr/lib/eclipse/plugins/org.eclipse.ui.ide_3.2.1.M20060915-1030.jar 8b9db000-8b9dd000 r--s 00013000 fd:01 56937866 /usr/lib/eclipse/plugins/org.eclipse.core.runtime.compatibility_3.1.100.v20060603.jar 8b9dd000-8b9df000 r--s 00011000 fd:01 56937899 /usr/lib/eclipse/plugins/org.eclipse.core.jobs_3.2.0.v20060603.jar 8b9df000-8b9e2000 r--s 00014000 fd:01 56937867 /usr/lib/eclipse/plugins/org.eclipse.equinox.preferences_3.2.1.R32x_v20060717.jar 8b9e2000-8b9e3000 r--s 00004000 fd:01 56937869 /usr/lib/eclipse/plugins/org.eclipse.core.runtime.compatibility.auth_3.2.0.v20060601.jar 8b9e3000-8b9e4000 r--s 00001000 fd:01 56950856 /usr/lib/eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.1.R32x_v20060907/runtime_registry_compatibility.jar 8b9e4000-8b9e8000 r--s 00020000 fd:01 56937886 /usr/lib/eclipse/plugins/org.eclipse.equinox.registry_3.2.1.R32x_v20060814.jar 8b9e8000-8b9ea000 r--s 00012000 fd:01 56936543 /usr/lib/eclipse/plugins/org.eclipse.core.runtime_3.2.0.v20060603.jar 8b9ea000-8b9fe000 r-xp 00000000 fd:01 56885333 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libnet.so 8b9fe000-8b9ff000 rw-p 00013000 fd:01 56885333 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libnet.so 8b9ff000-8ba02000 ---p 8b9ff000 00:00 0 8ba02000-8ba50000 rwxp 8ba02000 00:00 0 8ba50000-8ba53000 ---p 8ba50000 00:00 0 8ba53000-8baa1000 rwxp 8ba53000 00:00 0 8baa1000-8baa4000 ---p 8baa1000 00:00 0 8baa4000-8baf2000 rwxp 8baa4000 00:00 0 8baf2000-8baff000 r--s 000c5000 fd:01 56936536 /usr/lib/eclipse/plugins/org.eclipse.osgi_3.2.2.R32x_v20070118.jar 8baff000-8bb02000 rwxp 8baff000 00:00 0 8bb02000-8bb50000 rwxp 8bb02000 00:00 0 8bb50000-8bb51000 ---p 8bb50000 00:00 0 8bb51000-8bbd1000 rwxp 8bb51000 00:00 0 8bbd1000-8bbd4000 ---p 8bbd1000 00:00 0 8bbd4000-8bc22000 rwxp 8bbd4000 00:00 0 8bc22000-8bc25000 ---p 8bc22000 00:00 0 8bc25000-8bca3000 rwxp 8bc25000 00:00 0 8bca3000-8bca6000 ---p 8bca3000 00:00 0 8bca6000-8bd24000 rwxp 8bca6000 00:00 0 8bd24000-8bd27000 ---p 8bd24000 00:00 0 8bd27000-8bd75000 rwxp 8bd27000 00:00 0 8bd75000-8beaf000 r--p 00000000 fd:01 32522241 /usr/lib/locale/locale-archive 8beaf000-8beb2000 ---p 8beaf000 00:00 0 8beb2000-8bf00000 rwxp 8beb2000 00:00 0 8bf00000-8c000000 rw-p 8bf00000 00:00 0 8c000000-8c001000 r--s 00005000 fd:01 13239693 /tmp/46911889/eclipse/.update/1262952502868/1262952502941/eclipse2133788706651572460.tmp 8c001000-8c008000 r-xp 00000000 fd:01 56885319 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libnio.so 8c008000-8c009000 rw-p 00006000 fd:01 56885319 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libnio.so 8c009000-8c00c000 ---p 8c009000 00:00 0 8c00c000-8c05a000 rwxp 8c00c000 00:00 0 8c05a000-8c05b000 ---p 8c05a000 00:00 0 8c05b000-8c0db000 rwxp 8c05b000 00:00 0 8c0db000-8c10e000 rw-p 8c0db000 00:00 0 8c10e000-8c29d000 r--s 033c4000 fd:01 56885360 /usr/lib/jvm/java-6-openjdk/jre/lib/rt.jar 8c29d000-8c29e000 ---p 8c29d000 00:00 0 8c29e000-8c31e000 rwxp 8c29e000 00:00 0 8c31e000-8c31f000 ---p 8c31e000 00:00 0 8c31f000-8c3be000 rwxp 8c31f000 00:00 0 8c3be000-8c3df000 rwxp 8c3be000 00:00 0 8c3df000-8c3ee000 rwxp 8c3df000 00:00 0 8c3ee000-8c4c1000 rwxp 8c3ee000 00:00 0 8c4c1000-8c4e0000 rwxp 8c4c1000 00:00 0 8c4e0000-8c501000 rwxp 8c4e0000 00:00 0 8c501000-8c510000 rwxp 8c501000 00:00 0 8c510000-8c5e2000 rwxp 8c510000 00:00 0 8c5e2000-8c5ff000 rwxp 8c5e2000 00:00 0 8c5ff000-90400000 rwxp 8c5ff000 00:00 0 90400000-94600000 rwxp 90400000 00:00 0 94600000-96230000 rwxp 94600000 00:00 0 96230000-b0990000 rwxp 96230000 00:00 0 b0990000-b41c0000 rwxp b0990000 00:00 0 b41c0000-b4200000 rwxp b41c0000 00:00 0 b4200000-b4203000 r--s 00014000 fd:01 56937911 /usr/lib/eclipse/plugins/org.eclipse.update.configurator_3.2.2.R32x_v20070111.jar b4203000-b420c000 r--s 00065000 fd:01 56428181 /usr/share/java/gnome-java-bridge.jar b420c000-b4216000 rwxp b420c000 00:00 0 b4216000-b42cc000 rwxp b4216000 00:00 0 b42cc000-b4534000 rwxp b42cc000 00:00 0 b4534000-b72cc000 rwxp b4534000 00:00 0 b72cc000-b72d3000 r-xp 00000000 fd:01 56885348 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libzip.so b72d3000-b72d4000 rw-p 00006000 fd:01 56885348 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libzip.so b72d4000-b72f8000 r-xp 00000000 fd:01 56885338 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libjava.so b72f8000-b72fa000 rw-p 00023000 fd:01 56885338 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libjava.so b72fa000-b7304000 r-xp 00000000 fd:01 43745526 /lib/i686/cmov/libnss_files-2.7.so b7304000-b7306000 rw-p 00009000 fd:01 43745526 /lib/i686/cmov/libnss_files-2.7.so b7306000-b730f000 r-xp 00000000 fd:01 43745530 /lib/i686/cmov/libnss_nis-2.7.so b730f000-b7311000 rw-p 00008000 fd:01 43745530 /lib/i686/cmov/libnss_nis-2.7.so b7311000-b7326000 r-xp 00000000 fd:01 43745492 /lib/i686/cmov/libnsl-2.7.so b7326000-b7328000 rw-p 00014000 fd:01 43745492 /lib/i686/cmov/libnsl-2.7.so b7328000-b732a000 rw-p b7328000 00:00 0 b732a000-b732b000 r--s 00000000 fd:01 56983775 /usr/lib/eclipse/plugins/org.eclipse.cdt.core.linux_3.1.2.200805011458/cdt_linux.jar b732b000-b732e000 r--s 00011000 fd:01 56937876 /usr/lib/eclipse/plugins/org.eclipse.equinox.common_3.2.0.v20060603.jar b732e000-b733a000 r-xp 00000000 fd:01 56885355 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libverify.so b733a000-b733b000 rw-p 0000c000 fd:01 56885355 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libverify.so b733b000-b7343000 rw-s 00000000 fd:01 13156359 /tmp/hsperfdata_root/2069 b7343000-b734a000 r-xp 00000000 fd:01 43745537 /lib/i686/cmov/librt-2.7.so b734a000-b734c000 rw-p 00006000 fd:01 43745537 /lib/i686/cmov/librt-2.7.so b734c000-b734f000 ---p b734c000 00:00 0 b734f000-b739d000 rwxp b734f000 00:00 0 b739d000-b73c1000 r-xp 00000000 fd:01 43745489 /lib/i686/cmov/libm-2.7.so b73c1000-b73c3000 rw-p 00023000 fd:01 43745489 /lib/i686/cmov/libm-2.7.so b73c3000-b79a7000 r-xp 00000000 fd:01 56885357 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/server/libjvm.so b79a7000-b79f1000 rw-p 005e3000 fd:01 56885357 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/server/libjvm.so b79f1000-b7e13000 rw-p b79f1000 00:00 0 b7e13000-b7f68000 r-xp 00000000 fd:01 43745483 /lib/i686/cmov/libc-2.7.so b7f68000-b7f69000 r--p 00155000 fd:01 43745483 /lib/i686/cmov/libc-2.7.so b7f69000-b7f6b000 rw-p 00156000 fd:01 43745483 /lib/i686/cmov/libc-2.7.so b7f6b000-b7f6e000 rw-p b7f6b000 00:00 0 b7f6e000-b7f70000 r-xp 00000000 fd:01 43745487 /lib/i686/cmov/libdl-2.7.so b7f70000-b7f72000 rw-p 00001000 fd:01 43745487 /lib/i686/cmov/libdl-2.7.so b7f72000-b7f75000 r-xp 00000000 fd:01 56885318 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/jli/libjli.so b7f75000-b7f76000 rw-p 00003000 fd:01 56885318 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/jli/libjli.so b7f76000-b7f8b000 r-xp 00000000 fd:01 43745535 /lib/i686/cmov/libpthread-2.7.so b7f8b000-b7f8d000 rw-p 00014000 fd:01 43745535 /lib/i686/cmov/libpthread-2.7.so b7f8d000-b7f90000 rw-p b7f8d000 00:00 0 b7f90000-b7fa4000 r-xp 00000000 fd:01 56050556 /usr/lib/libz.so.1.2.3.3 b7fa4000-b7fa5000 rw-p 00013000 fd:01 56050556 /usr/lib/libz.so.1.2.3.3 b7fa5000-b7fa9000 r--s 00079000 fd:01 56886388 /usr/lib/jvm/java-6-openjdk/jre/lib/jsse.jar b7fa9000-b7fab000 r--s 00007000 fd:01 56937914 /usr/lib/eclipse/startup.jar b7fab000-b7fb2000 r-xp 00000000 fd:01 43745493 /lib/i686/cmov/libnss_compat-2.7.so b7fb2000-b7fb4000 rw-p 00006000 fd:01 43745493 /lib/i686/cmov/libnss_compat-2.7.so b7fb4000-b7fbb000 r-xp 00000000 fd:01 56885335 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/native_threads/libhpi.so b7fbb000-b7fbc000 rw-p 00006000 fd:01 56885335 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/native_threads/libhpi.so b7fbc000-b7fbd000 rwxp b7fbc000 00:00 0 b7fbd000-b7fbe000 r--p b7fbd000 00:00 0 b7fbe000-b7fc0000 rw-p b7fbe000 00:00 0 b7fc0000-b7fc1000 r-xp b7fc0000 00:00 0 [vdso] b7fc1000-b7fdb000 r-xp 00000000 fd:01 43745317 /lib/ld-2.7.so b7fdb000-b7fdd000 rw-p 0001a000 fd:01 43745317 /lib/ld-2.7.so bfaa8000-bfadc000 rwxp bffcb000 00:00 0 [stack] bfadc000-bfadd000 rw-p bffff000 00:00 0 VM Arguments: jvm_args: -Djava.library.path=/usr/lib/jni -Dgnu.gcj.precompiled.db.path=/var/lib/gcj-4.2/classmap.db -Dgnu.gcj.runtime.VMClassLoader.library_control=never -Dosgi.locking=none java_command: /usr/lib/eclipse/startup.jar -os linux -ws gtk -arch x86 -launcher /usr/lib/eclipse/eclipse -name Eclipse -showsplash 600 -exitdata 3a8029 -install /usr/lib/eclipse -vm /usr/lib/jvm/java-6-openjdk/bin/java -vmargs -Djava.library.path=/usr/lib/jni -Dgnu.gcj.precompiled.db.path=/var/lib/gcj-4.2/classmap.db -Dgnu.gcj.runtime.VMClassLoader.library_control=never -Dosgi.locking=none -jar /usr/lib/eclipse/startup.jar Launcher Type: SUN_STANDARD Environment Variables: JAVA_HOME=/usr/lib/jvm/java-6-openjdk PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin USERNAME=root LD_LIBRARY_PATH=/usr/lib/jvm/java-6-openjdk/jre/lib/i386/server:/usr/lib/jvm/java-6-openjdk/jre/lib/i386:/usr/lib/jvm/java-6-openjdk/jre/../lib/i386:/usr/lib/xulrunner SHELL=/bin/bash DISPLAY=localhost:10.0 Signal Handlers: SIGSEGV: [libjvm.so+0x57a830], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGBUS: [libjvm.so+0x57a830], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGFPE: [libjvm.so+0x464af0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGPIPE: [libjvm.so+0x464af0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGXFSZ: [libjvm.so+0x464af0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGILL: [libjvm.so+0x464af0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000 SIGUSR2: [libjvm.so+0x4643a0], sa_mask[0]=0x00000000, sa_flags=0x10000004 SIGHUP: [libjvm.so+0x4668e0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGINT: [libjvm.so+0x4668e0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGTERM: [libjvm.so+0x4668e0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGQUIT: [libjvm.so+0x4668e0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 --------------- S Y S T E M --------------- OS:5.0.3 uname:Linux 2.6.26-1-686 #1 SMP Fri Mar 13 18:08:45 UTC 2009 i686 libc:glibc 2.7 NPTL 2.7 rlimit: STACK 8192k, CORE 0k, NPROC infinity, NOFILE 1024, AS infinity load average:0.10 0.17 0.11 CPU:total 2 (2 cores per cpu, 1 threads per core) family 6 model 15 stepping 6, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3 Memory: 4k page, physical 2076144k(98736k free), swap 1048568k(1046352k free) vm_info: OpenJDK Server VM (1.6.0_0-b11) for linux-x86 JRE (1.6.0_0-b11), built on Apr 10 2009 12:14:17 by "buildd" with gcc 4.3.2 time: Fri Jan 8 14:13:22 2010 elapsed time: 353 seconds -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From gnu_andrew at member.fsf.org Fri Jan 8 11:20:59 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Fri, 8 Jan 2010 19:20:59 +0000 Subject: Status of 1.7 Message-ID: <17c6771e1001081120j59c42cdegc03a3093f6df6186@mail.gmail.com> Dear all, We've done some testing of the upcoming 1.7 release within Red Hat and don't see any regressions in JTreg. Deepak also now believes the new plugin to be of a quality suitable for an alpha release as part of 1.7. I have a few minor fixes to add (bumping the hs16 option to the latest revision and fixing a very minor issue with --with-parallel-jobs not working if used without an argument). I'd like to aim for a release on Wednesday. Does this sound suitable to everyone? -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From gnu_andrew at member.fsf.org Fri Jan 8 11:39:29 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Fri, 8 Jan 2010 19:39:29 +0000 Subject: /hg/icedtea6: 2010-01-05 Gary Benson In-Reply-To: <20100106100639.GB3312@redhat.com> References: <17c6771e1001051002j18231f5bi57052cf77c0af5a1@mail.gmail.com> <20100106100639.GB3312@redhat.com> Message-ID: <17c6771e1001081139n4aa95b0dp9698ef27bafe1dae@mail.gmail.com> 2010/1/6 Gary Benson : > Andrew John Hughes wrote: >> 2010/1/5 ?: >> > changeset c99b9280fdcf in /hg/icedtea6 >> > details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=c99b9280fdcf >> > author: Gary Benson >> > date: Tue Jan 05 10:09:26 2010 +0000 >> > >> > ? 2010-01-05 Gary Benson >> > >> > ? ? * patches/zero/6909153.patch: New file. >> > ? ? * patches/zero/6913869.patch: Likewise. >> > ? ? * Makefile.am (ICEDTEA_PATCHES): Added the above. >> >> Err... these are probably great and all, but I don't know what >> they are without looking up the Sun bug reports. ?This ChangeLog >> is pretty unhelpful in working out what these do and I didn't >> see a mail to the list. or anything on the wiki. ?It's just I'm >> well aware of what a pain this can be when patches later break >> or need to be dropped. > > The point of that directory is that every patch in there is in > upstream OpenJDK, so, no patch in there should ever be ported to > icedtea7 (because that already has them, or will do very shortly) > and if one fails to apply it's almost certainly because it has > filtered into the HotSpot tarball we're using. > That doesn't mean they shouldn't be documented. I've added the two new ones to http://icedtea.classpath.org/wiki/IcedTea_JDK6_Patches Please make sure to add future patches and use a more useful comment than 'New file' in the ChangeLog. They will break for other reasons. For one thing, we have a HotSpot update (to HS16) coming post-b18. > Cheers, > Gary > > -- > http://gbenson.net/ > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From andrew at icedtea.classpath.org Fri Jan 8 15:55:56 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 08 Jan 2010 23:55:56 +0000 Subject: /hg/icedtea: Include Mercurial revisions and build distribution ... Message-ID: changeset aaf3cf416fb4 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=aaf3cf416fb4 author: Andrew John Hughes date: Sat Jan 09 00:01:09 2010 +0000 Include Mercurial revisions and build distribution in version output. 2010-01-08 Andrew John Hughes * Makefile.am: Bump JDK revision and sha256sum to pick up updated version patch applied upstream. Calculate JDK and HotSpot Mercurial revisions if available and pass to build. Also pass DIST_NAME to build. * acinclude.m4: (IT_GET_LSB_DATA): Moved from configure.ac and extended to also obtain the name of the distribution from either lsb_release -is or $build_os. * configure.ac: Invoke IT_GET_LSB_DATA macro. diffstat: 5 files changed, 51 insertions(+), 86 deletions(-) ChangeLog | 16 +++++++++ Makefile.am | 23 +++++++++---- acinclude.m4 | 18 ++++++++++ configure.ac | 12 ------- patches/icedtea-version.patch | 68 ----------------------------------------- diffs (204 lines): diff -r 7e9ed32b98d7 -r aaf3cf416fb4 ChangeLog --- a/ChangeLog Thu Jan 07 19:41:31 2010 +0000 +++ b/ChangeLog Sat Jan 09 00:01:09 2010 +0000 @@ -1,3 +1,19 @@ 2010-01-07 Andrew John Hughes + + * Makefile.am: + Bump JDK revision and sha256sum to pick + up updated version patch applied upstream. + Calculate JDK and HotSpot Mercurial revisions + if available and pass to build. Also pass + DIST_NAME to build. + * acinclude.m4: + (IT_GET_LSB_DATA): Moved from configure.ac + and extended to also obtain the name of + the distribution from either lsb_release -is + or $build_os. + * configure.ac: + Invoke IT_GET_LSB_DATA macro. + 2010-01-07 Andrew John Hughes Bump to b78. diff -r 7e9ed32b98d7 -r aaf3cf416fb4 Makefile.am --- a/Makefile.am Thu Jan 07 19:41:31 2010 +0000 +++ b/Makefile.am Sat Jan 09 00:01:09 2010 +0000 @@ -6,7 +6,7 @@ HOTSPOT_CHANGESET = 54dde9f9887d HOTSPOT_CHANGESET = 54dde9f9887d JAXP_CHANGESET = f0f127b93c9e JAXWS_CHANGESET = 4ca731fe3154 -JDK_CHANGESET = 35224dd04ddb +JDK_CHANGESET = cd86da3affff LANGTOOLS_CHANGESET = 21591a03bfbe OPENJDK_CHANGESET = f1cf9e78bbad @@ -14,7 +14,7 @@ HOTSPOT_SHA256SUM = 1127102aa1230d26da6b HOTSPOT_SHA256SUM = 1127102aa1230d26da6b73118576aef872fb2e86d0d946797da737e64c91d6fc JAXP_SHA256SUM = 89f002ed4e6e4b6449e453284b31c4cbe466dedddeeb20249415c6edb10b52cb JAXWS_SHA256SUM = 62059bb48e5dad09060bcb79539562f596c77df48345bb35f0e26e815d1cfa6b -JDK_SHA256SUM = b817bc7703acae21abc57d75eb16ac47d724da25253156aebc90f75c92a267a4 +JDK_SHA256SUM = 31efd51fc265334046e72b202bf507c1c282d181ce9037e7fcce6215d2fef156 LANGTOOLS_SHA256SUM = 4bff3af10a14048419bd144a39af2daa82756ca8ec226950d05b91ff99b1d0cc OPENJDK_SHA256SUM = df47020bf65614156e363a2170ee96f2959e08e62f9eaedacd3591147f858c00 @@ -238,7 +238,6 @@ endif # Patch list ICEDTEA_PATCHES = \ - patches/icedtea-version.patch \ patches/hotspot/$(HSBUILD)/icedtea-version.patch \ patches/icedtea-copy-plugs.patch \ patches/hotspot/$(HSBUILD)/icedtea-text-relocations.patch \ @@ -1498,8 +1497,16 @@ clean-patch: stamps/versioning.stamp: stamps/patch.stamp cp openjdk/jdk/make/common/shared/Defs.gmk Defs.gmk.bak - if [ -e $(abs_top_srcdir)/.hg ] && which $(HG) >/dev/null; then \ - revision="-r`(cd $(abs_top_srcdir); $(HG) tip --template '{node|short}')`" ; \ + if which $(HG) >/dev/null; then \ + if [ -e $(abs_top_srcdir)/.hg ] ; then \ + revision="+r`(cd $(abs_top_srcdir); $(HG) tip --template '{node|short}')`" ; \ + fi ; \ + if [ -e openjdk/jdk/.hg ] ; then \ + jdk_rev="r`(cd openjdk/jdk; $(HG) tip --template '{node|short}')`" ; \ + fi ; \ + if [ -e openjdk/hotspot/.hg ] ; then \ + hotspot_rev="r`(cd openjdk/hotspot; $(HG) tip --template '{node|short}')`" ; \ + fi ; \ fi ; \ icedtea_version="$(PACKAGE_VERSION)$${revision}" ; \ if ! test "x$(WITH_CACAO)" = "xno"; then \ @@ -1510,9 +1517,11 @@ stamps/versioning.stamp: stamps/patch.st else \ echo "JDK_DERIVATIVE_NAME=IcedTea7 $${icedtea_version}" \ >>openjdk/jdk/make/common/shared/Defs.gmk ; \ - fi + fi ; \ + echo "JDK_REVID=$${jdk_rev}" >>openjdk/jdk/make/common/shared/Defs.gmk ; \ + echo "HOTSPOT_REVID=$${hotspot_rev}" >>openjdk/jdk/make/common/shared/Defs.gmk ; \ + echo "DISTRO_NAME=$(DIST_NAME)" >>openjdk/jdk/make/common/shared/Defs.gmk ; \ if [ -n "$(PKGVERSION)" ]; then \ - icedtea_version="$${icedtea_version} ($(PKGVERSION))" ; \ echo "DISTRO_PACKAGE_VERSION=$(PKGVERSION)" \ >>openjdk/jdk/make/common/shared/Defs.gmk ; \ fi; \ diff -r 7e9ed32b98d7 -r aaf3cf416fb4 acinclude.m4 --- a/acinclude.m4 Thu Jan 07 19:41:31 2010 +0000 +++ b/acinclude.m4 Sat Jan 09 00:01:09 2010 +0000 @@ -1642,3 +1642,21 @@ AC_DEFUN([WITH_VISUALVM_ZIP], AM_CONDITIONAL(USE_ALT_VISUALVM_ZIP, test "x$ALT_VISUALVM_ZIP" != "xnot specified") AC_SUBST(ALT_VISUALVM_ZIP) ]) + +AC_DEFUN([IT_GET_LSB_DATA], +[ +if test -n "$LSB_RELEASE"; then + lsb_info="$($LSB_RELEASE -ds | sed 's/^"//;s/"$//')" + if test -n "$PKGVERSION"; then + DIST_ID="$lsb_info, package $PKGVERSION" + else + DIST_ID="Built on $lsb_info ($(date))" + fi + DIST_NAME="$($LSB_RELEASE -is | sed 's/^"//;s/"$//')" +else + DIST_ID="Custom build ($(date))" + DIST_NAME="$build_os" +fi +AC_SUBST(DIST_ID) +AC_SUBST(DIST_NAME) +]) diff -r 7e9ed32b98d7 -r aaf3cf416fb4 configure.ac --- a/configure.ac Thu Jan 07 19:41:31 2010 +0000 +++ b/configure.ac Sat Jan 09 00:01:09 2010 +0000 @@ -162,17 +162,7 @@ AC_ARG_WITH([pkgversion], [PKGVERSION=]) AC_SUBST(PKGVERSION) -if test -n "$LSB_RELEASE"; then - lsb_info="$($LSB_RELEASE -ds | sed 's/^"//;s/"$//')" - if test -n "$PKGVERSION"; then - DIST_ID="$lsb_info, package $PKGVERSION" - else - DIST_ID="Built on $lsb_info" - fi -else - DIST_ID="Custom build ($(date))" -fi -AC_SUBST(DIST_ID) +IT_GET_LSB_DATA SET_ARCH_DIRS SET_OS_DIRS diff -r 7e9ed32b98d7 -r aaf3cf416fb4 patches/icedtea-version.patch --- a/patches/icedtea-version.patch Thu Jan 07 19:41:31 2010 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,68 +0,0 @@ -diff -Nru openjdk.orig/jdk/make/common/shared/Defs.gmk openjdk/jdk/make/common/shared/Defs.gmk ---- openjdk.orig/jdk/make/common/shared/Defs.gmk 2009-02-05 08:44:12.000000000 +0000 -+++ openjdk/jdk/make/common/shared/Defs.gmk 2009-02-10 23:04:00.000000000 +0000 -@@ -189,7 +189,7 @@ - - # Default names - ifdef OPENJDK -- LAUNCHER_NAME = openjdk -+ LAUNCHER_NAME = java - PRODUCT_NAME = OpenJDK - PRODUCT_SUFFIX = Runtime Environment - JDK_RC_PLATFORM_NAME = Platform ---- openjdk/jdk/src/share/classes/sun/misc/Version.java.template~1~ 2008-11-25 01:04:53.000000000 -0800 -+++ openjdk/jdk/src/share/classes/sun/misc/Version.java.template 2009-02-20 09:03:25.000000000 -0800 -@@ -41,6 +41,12 @@ - private static final String java_runtime_version = - "@@java_runtime_version@@"; - -+ private static final String jdk_derivative_name = -+ "@@jdk_derivative_name@@"; -+ -+ private static final String distro_package_version = -+ "@@distro_package_version@@"; -+ - static { - init(); - } -@@ -81,12 +87,26 @@ - /* First line: platform version. */ - ps.println(launcher_name + " version \"" + java_version + "\""); - -+ String java_vm_name = System.getProperty("java.vm.name"); -+ - /* Second line: runtime version (ie, libraries). */ -- ps.println(java_runtime_name + " (build " + -- java_runtime_version + ")"); -+ StringBuilder sb = new StringBuilder(); -+ if (java_vm_name.toLowerCase().startsWith("cacao")) { -+ sb.append("IcedTea Runtime Environment"); -+ } else { -+ sb.append(java_runtime_name); -+ } -+ if (jdk_derivative_name.length() > 0) { -+ sb.append(" (").append(jdk_derivative_name).append(")"); -+ } -+ if (distro_package_version.length() > 0) { -+ sb.append(" (").append(distro_package_version).append(")"); -+ } else { -+ sb.append(" (build ").append(java_runtime_version).append(")"); -+ } -+ ps.println(sb.toString()); - - /* Third line: JVM information. */ -- String java_vm_name = System.getProperty("java.vm.name"); - String java_vm_version = System.getProperty("java.vm.version"); - String java_vm_info = System.getProperty("java.vm.info"); - ps.println(java_vm_name + " (build " + java_vm_version + ", " + ---- openjdk/jdk/make/java/version/Makefile.~1~ 2008-11-25 01:01:15.000000000 -0800 -+++ openjdk/jdk/make/java/version/Makefile 2009-02-20 09:03:56.000000000 -0800 -@@ -39,6 +39,8 @@ - $(SED) -e 's/@@launcher_name@@/$(LAUNCHER_NAME)/g' \ - -e 's/@@java_version@@/$(RELEASE)/g' \ - -e 's/@@java_runtime_version@@/$(FULL_VERSION)/g' \ -+ -e 's/@@jdk_derivative_name@@/$(JDK_DERIVATIVE_NAME)/g' \ -+ -e 's/@@distro_package_version@@/$(DISTRO_PACKAGE_VERSION)/g' \ - -e 's/@@java_runtime_name@@/$(RUNTIME_NAME)/g' \ - $< > $@.temp - @$(MV) $@.temp $@ From bugzilla-daemon at icedtea.classpath.org Sat Jan 9 00:21:44 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 09 Jan 2010 08:21:44 +0000 Subject: [Bug 427] New: Openjdk doesn't load a scratch-ticket on a HP Compaq Presario CQ60-laptop. Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=427 Summary: Openjdk doesn't load a scratch-ticket on a HP Compaq Presario CQ60-laptop. Product: IcedTea Version: unspecified Platform: PC URL: http://www.apberget.se OS/Version: Linux Status: NEW Severity: trivial Priority: P1 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: kristoffer.grundstrom1983 at gmail.com CC: kristoffer.grundstrom1983 at gmail.com Description of problem: I'm not sure if it's an error in Firefox or if it's a openjdk-issue. I go to Apberget.se & login to scratch the ticket & the ticket doesn't load. I just recently installed 2010.0 on this computer from a DVD & I'm fully updated. Version-Release number of selected component (if applicable): 3.5.6-0.1mdv2010.0 for Firefox & 1.6.0.0-0.20.b16.11mdv2010.0 for java-openjdk How reproducible: I've seen this many times using the Openjdk-version of Java. Steps to Reproduce: 1. Open Firefox. 2. Go to Apberget.se or similar site that's got java-made scratch-ticket/s. 3. Open the ticket. 4. Voila! A message saying "To play, install Java now." instead of showing the ticket. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From gbenson at redhat.com Mon Jan 11 00:57:20 2010 From: gbenson at redhat.com (Gary Benson) Date: Mon, 11 Jan 2010 08:57:20 +0000 Subject: /hg/icedtea6: 2010-01-05 Gary Benson In-Reply-To: <17c6771e1001081139n4aa95b0dp9698ef27bafe1dae@mail.gmail.com> References: <17c6771e1001051002j18231f5bi57052cf77c0af5a1@mail.gmail.com> <20100106100639.GB3312@redhat.com> <17c6771e1001081139n4aa95b0dp9698ef27bafe1dae@mail.gmail.com> Message-ID: <20100111085720.GA6454@redhat.com> Andrew John Hughes wrote: > 2010/1/6 Gary Benson : > > ...if one fails to apply it's almost certainly because it > > has filtered into the HotSpot tarball we're using. [snip] > They will break for other reasons. For one thing, we have > a HotSpot update (to HS16) coming post-b18. How is that not a patch filtering into the HotSpot tarball we're using? Cheers, Gary -- http://gbenson.net/ From doko at ubuntu.com Mon Jan 11 01:36:15 2010 From: doko at ubuntu.com (Matthias Klose) Date: Mon, 11 Jan 2010 10:36:15 +0100 Subject: Status of 1.7 In-Reply-To: <17c6771e1001081120j59c42cdegc03a3093f6df6186@mail.gmail.com> References: <17c6771e1001081120j59c42cdegc03a3093f6df6186@mail.gmail.com> Message-ID: <4B4AF10F.7040608@ubuntu.com> On 08.01.2010 20:20, Andrew John Hughes wrote: > Dear all, > > We've done some testing of the upcoming 1.7 release within Red Hat and > don't see any regressions in JTreg. Deepak also now believes the new > plugin to be of a quality suitable for an alpha release as part of > 1.7. > > I have a few minor fixes to add (bumping the hs16 option to the latest > revision and fixing a very minor issue with --with-parallel-jobs not > working if used without an argument). I'd like to aim for a release > on Wednesday. > > Does this sound suitable to everyone? seen two issues: - 1.7 doesn't build on sparc64, at least on Debian. Asked if it does build on Fedora currently, but didn't get a reply yet. - the jpeg7 patch probably needs to be reverted/changed. It seems to be wrong to use another libjpeg than what was used for the build. See http://bugs.debian.org/563999. "sun.awt.image.ImageFormatException: Wrong JPEG library version: library is 70, caller expects 62. I can't even build using jpeg7 because of conflicting build dependencies. So either revert this patch, or stick to the jpeg version which was used for the build. Matthias From doko at ubuntu.com Mon Jan 11 01:56:55 2010 From: doko at ubuntu.com (Matthias Klose) Date: Mon, 11 Jan 2010 10:56:55 +0100 Subject: support for Hitachi SH Message-ID: <4B4AF5E7.2090009@ubuntu.com> Nobuhiro recently added support for the Hitachi SH, verifying that it does build, and example programs run. jtreg test results are still outstanding. Like mips/mipsel SH can be big or little endian, the Debian port is little endian only. I'll add this patch to the IcedTea6 branch; it could be added to the 1.7 branch as well, only adding stuff architecture specific stuff. Matthias -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: sh4-support.diff Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100111/677a4d47/sh4-support.diff From gbenson at redhat.com Mon Jan 11 02:01:20 2010 From: gbenson at redhat.com (Gary Benson) Date: Mon, 11 Jan 2010 10:01:20 +0000 Subject: support for Hitachi SH In-Reply-To: <4B4AF5E7.2090009@ubuntu.com> References: <4B4AF5E7.2090009@ubuntu.com> Message-ID: <20100111100120.GB6454@redhat.com> Hi Matthias, Is this with Zero and/or Cacao? Cheers, Gary Matthias Klose wrote: > Nobuhiro recently added support for the Hitachi SH, verifying that it > does build, and example programs run. jtreg test results are still > outstanding. Like mips/mipsel SH can be big or little endian, the Debian > port is little endian only. > > I'll add this patch to the IcedTea6 branch; it could be added to the 1.7 > branch as well, only adding stuff architecture specific stuff. > > Matthias > --- 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*)"Hitachi 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 From doko at ubuntu.com Mon Jan 11 02:03:15 2010 From: doko at ubuntu.com (Matthias Klose) Date: Mon, 11 Jan 2010 11:03:15 +0100 Subject: support for Hitachi SH In-Reply-To: <20100111100120.GB6454@redhat.com> References: <4B4AF5E7.2090009@ubuntu.com> <20100111100120.GB6454@redhat.com> Message-ID: <4B4AF763.9090109@ubuntu.com> On 11.01.2010 11:01, Gary Benson wrote: > Hi Matthias, > > Is this with Zero and/or Cacao? zero only, assuming that Nobuhiro did use the Debian package for the port. I don't know if SH would build on SH. Matthias From gbenson at redhat.com Mon Jan 11 02:23:20 2010 From: gbenson at redhat.com (Gary Benson) Date: Mon, 11 Jan 2010 10:23:20 +0000 Subject: support for Hitachi SH In-Reply-To: <4B4AF763.9090109@ubuntu.com> References: <4B4AF5E7.2090009@ubuntu.com> <20100111100120.GB6454@redhat.com> <4B4AF763.9090109@ubuntu.com> Message-ID: <20100111102320.GC6454@redhat.com> Matthias Klose wrote: > On 11.01.2010 11:01, Gary Benson wrote: > > Hi Matthias, > > > > Is this with Zero and/or Cacao? > > zero only, assuming that Nobuhiro did use the Debian package > for the port. I don't know if SH would build on SH. Cool. If you like, I can start the process of upstreaming it once you commit. Cheers, Gary -- http://gbenson.net/ From gbenson at icedtea.classpath.org Mon Jan 11 03:37:57 2010 From: gbenson at icedtea.classpath.org (gbenson at icedtea.classpath.org) Date: Mon, 11 Jan 2010 11:37:57 +0000 Subject: /hg/icedtea6: 2010-01-11 Gary Benson Message-ID: changeset 4b6ab0e5a0dd in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=4b6ab0e5a0dd author: Gary Benson date: Mon Jan 11 11:43:43 2010 +0000 2010-01-11 Gary Benson * patches/zero/6914622.patch: New file, imports changeset for Sun bug 6914622 from jdk7/hotspot-comp. * Makefile.am (ICEDTEA_PATCHES): Added the above. * contrib/checkopts/checkopts: Updated for the above. diffstat: 4 files changed, 110 insertions(+), 1 deletion(-) ChangeLog | 7 +++ Makefile.am | 1 contrib/checkopts/checkopts | 5 +- patches/zero/6914622.patch | 98 +++++++++++++++++++++++++++++++++++++++++++ diffs (149 lines): diff -r 175b5c7ee4c7 -r 4b6ab0e5a0dd ChangeLog --- a/ChangeLog Wed Jan 06 16:40:43 2010 -0500 +++ b/ChangeLog Mon Jan 11 11:43:43 2010 +0000 @@ -1,3 +1,10 @@ 2010-01-06 Deepak Bhole + + * patches/zero/6914622.patch: New file, imports changeset + for Sun bug 6914622 from jdk7/hotspot-comp. + * Makefile.am (ICEDTEA_PATCHES): Added the above. + * contrib/checkopts/checkopts: Updated for the above. + 2010-01-06 Deepak Bhole * plugin/icedteanp/IcedTeaNPPlugin.h: Remove debug specific line from diff -r 175b5c7ee4c7 -r 4b6ab0e5a0dd Makefile.am --- a/Makefile.am Wed Jan 06 16:40:43 2010 -0500 +++ b/Makefile.am Mon Jan 11 11:43:43 2010 +0000 @@ -201,6 +201,7 @@ ICEDTEA_PATCHES = \ patches/zero/6903453.patch \ patches/zero/6909153.patch \ patches/zero/6913869.patch \ + patches/zero/6914622.patch \ patches/icedtea-notice-safepoints.patch \ patches/icedtea-parisc-opt.patch \ patches/icedtea-lucene-crash.patch \ diff -r 175b5c7ee4c7 -r 4b6ab0e5a0dd contrib/checkopts/checkopts --- a/contrib/checkopts/checkopts Wed Jan 06 16:40:43 2010 -0500 +++ b/contrib/checkopts/checkopts Mon Jan 11 11:43:43 2010 +0000 @@ -23,6 +23,7 @@ class Flag: def test_values(self): if self.type == "bool": if self.name in ( + "PrintFlagsInitial", # already done :) "ExtendedDTraceProbes", # Solaris only "RequireSharedSpaces", # Not set up "PauseAtStartup"): # Just don't... @@ -62,7 +63,9 @@ class Main: def read_flags(self): out, err = subprocess.Popen( - [self.java, "-XX:+UnlockDiagnosticVMOptions", "-Xprintflags"], + [self.java, + "-XX:+UnlockDiagnosticVMOptions", + "-XX:+PrintFlagsInitial"], stdout = subprocess.PIPE, stderr = subprocess.PIPE).communicate() if err: diff -r 175b5c7ee4c7 -r 4b6ab0e5a0dd patches/zero/6914622.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/zero/6914622.patch Mon Jan 11 11:43:43 2010 +0000 @@ -0,0 +1,98 @@ +diff -r 9b9c1ee9b3f6 -r f62a22282a47 src/share/vm/runtime/arguments.cpp +--- openjdk/hotspot/src/share/vm/runtime/arguments.cpp Wed Jan 06 22:21:39 2010 -0800 ++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp Thu Jan 07 16:24:17 2010 -0800 +@@ -2633,6 +2633,10 @@ + if (match_option(option, "-XX:-IgnoreUnrecognizedVMOptions", &tail)) { + IgnoreUnrecognizedVMOptions = false; + } ++ if (match_option(option, "-XX:+PrintFlagsInitial", &tail)) { ++ CommandLineFlags::printFlags(); ++ vm_exit(0); ++ } + } + + if (IgnoreUnrecognizedVMOptions) { +@@ -2795,11 +2799,9 @@ + CommandLineFlags::printSetFlags(); + } + +-#ifdef ASSERT + if (PrintFlagsFinal) { + CommandLineFlags::printFlags(); + } +-#endif + + return JNI_OK; + } +diff -r 9b9c1ee9b3f6 -r f62a22282a47 src/share/vm/runtime/globals.cpp +--- openjdk/hotspot/src/share/vm/runtime/globals.cpp Wed Jan 06 22:21:39 2010 -0800 ++++ openjdk/hotspot/src/share/vm/runtime/globals.cpp Thu Jan 07 16:24:17 2010 -0800 +@@ -468,6 +468,8 @@ + assert(Arguments::check_vm_args_consistency(), "Some flag settings conflict"); + } + ++#endif // PRODUCT ++ + void CommandLineFlags::printFlags() { + // Print the flags sorted by name + // note: this method is called before the thread structure is in place +@@ -493,5 +495,3 @@ + } + FREE_C_HEAP_ARRAY(Flag*, array); + } +- +-#endif +diff -r 9b9c1ee9b3f6 -r f62a22282a47 src/share/vm/runtime/globals.hpp +--- openjdk/hotspot/src/share/vm/runtime/globals.hpp Wed Jan 06 22:21:39 2010 -0800 ++++ openjdk/hotspot/src/share/vm/runtime/globals.hpp Thu Jan 07 16:24:17 2010 -0800 +@@ -211,7 +211,7 @@ + static bool wasSetOnCmdline(const char* name, bool* value); + static void printSetFlags(); + +- static void printFlags() PRODUCT_RETURN; ++ static void printFlags(); + + static void verify() PRODUCT_RETURN; + }; +@@ -327,9 +327,6 @@ + product(bool, UseMembar, false, \ + "(Unstable) Issues membars on thread state transitions") \ + \ +- product(bool, PrintCommandLineFlags, false, \ +- "Prints flags that appeared on the command line") \ +- \ + diagnostic(bool, UnlockDiagnosticVMOptions, trueInDebug, \ + "Enable normal processing of flags relating to field diagnostics")\ + \ +@@ -1967,9 +1964,6 @@ + "number of times a GC thread (minus the coordinator) " \ + "will sleep while yielding before giving up and resuming GC") \ + \ +- notproduct(bool, PrintFlagsFinal, false, \ +- "Print all command line flags after argument processing") \ +- \ + /* gc tracing */ \ + manageable(bool, PrintGC, false, \ + "Print message at garbage collect") \ +@@ -2269,11 +2263,20 @@ + "If false, restricts profiled locations to the root method only") \ + \ + product(bool, PrintVMOptions, trueInDebug, \ +- "print VM flag settings") \ ++ "Print flags that appeared on the command line") \ + \ + product(bool, IgnoreUnrecognizedVMOptions, false, \ + "Ignore unrecognized VM options") \ + \ ++ product(bool, PrintCommandLineFlags, false, \ ++ "Print flags specified on command line or set by ergonomics") \ ++ \ ++ product(bool, PrintFlagsInitial, false, \ ++ "Print all VM flags before argument processing and exit VM") \ ++ \ ++ product(bool, PrintFlagsFinal, false, \ ++ "Print all VM flags after argument and ergonomic processing") \ ++ \ + diagnostic(bool, SerializeVMOutput, true, \ + "Use a mutex to serialize output to tty and hotspot.log") \ + \ From gbenson at redhat.com Mon Jan 11 03:47:24 2010 From: gbenson at redhat.com (Gary Benson) Date: Mon, 11 Jan 2010 11:47:24 +0000 Subject: Command line options tester, now working Message-ID: <20100111114724.GD6454@redhat.com> Hi all, Back in December I committed a command line options tester that required a patch in order to run. This commit adds that patch. You can test your VM (boolean flags only for now) like this: cd icedtea6 contrib/checkopts/checkopts openjdk-ecj/build/linux-*/j2sdk-image/bin/java Cheers, Gary -- http://gbenson.net/ -------------- next part -------------- diff -r 175b5c7ee4c7 -r 4b6ab0e5a0dd ChangeLog --- a/ChangeLog Wed Jan 06 16:40:43 2010 -0500 +++ b/ChangeLog Mon Jan 11 11:43:43 2010 +0000 @@ -1,3 +1,10 @@ +2010-01-11 Gary Benson + + * patches/zero/6914622.patch: New file, imports changeset + for Sun bug 6914622 from jdk7/hotspot-comp. + * Makefile.am (ICEDTEA_PATCHES): Added the above. + * contrib/checkopts/checkopts: Updated for the above. + 2010-01-06 Deepak Bhole * plugin/icedteanp/IcedTeaNPPlugin.h: Remove debug specific line from diff -r 175b5c7ee4c7 -r 4b6ab0e5a0dd Makefile.am --- a/Makefile.am Wed Jan 06 16:40:43 2010 -0500 +++ b/Makefile.am Mon Jan 11 11:43:43 2010 +0000 @@ -201,6 +201,7 @@ patches/zero/6903453.patch \ patches/zero/6909153.patch \ patches/zero/6913869.patch \ + patches/zero/6914622.patch \ patches/icedtea-notice-safepoints.patch \ patches/icedtea-parisc-opt.patch \ patches/icedtea-lucene-crash.patch \ diff -r 175b5c7ee4c7 -r 4b6ab0e5a0dd contrib/checkopts/checkopts --- a/contrib/checkopts/checkopts Wed Jan 06 16:40:43 2010 -0500 +++ b/contrib/checkopts/checkopts Mon Jan 11 11:43:43 2010 +0000 @@ -23,6 +23,7 @@ def test_values(self): if self.type == "bool": if self.name in ( + "PrintFlagsInitial", # already done :) "ExtendedDTraceProbes", # Solaris only "RequireSharedSpaces", # Not set up "PauseAtStartup"): # Just don't... @@ -62,7 +63,9 @@ def read_flags(self): out, err = subprocess.Popen( - [self.java, "-XX:+UnlockDiagnosticVMOptions", "-Xprintflags"], + [self.java, + "-XX:+UnlockDiagnosticVMOptions", + "-XX:+PrintFlagsInitial"], stdout = subprocess.PIPE, stderr = subprocess.PIPE).communicate() if err: diff -r 175b5c7ee4c7 -r 4b6ab0e5a0dd patches/zero/6914622.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/zero/6914622.patch Mon Jan 11 11:43:43 2010 +0000 @@ -0,0 +1,98 @@ +diff -r 9b9c1ee9b3f6 -r f62a22282a47 src/share/vm/runtime/arguments.cpp +--- openjdk/hotspot/src/share/vm/runtime/arguments.cpp Wed Jan 06 22:21:39 2010 -0800 ++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp Thu Jan 07 16:24:17 2010 -0800 +@@ -2633,6 +2633,10 @@ + if (match_option(option, "-XX:-IgnoreUnrecognizedVMOptions", &tail)) { + IgnoreUnrecognizedVMOptions = false; + } ++ if (match_option(option, "-XX:+PrintFlagsInitial", &tail)) { ++ CommandLineFlags::printFlags(); ++ vm_exit(0); ++ } + } + + if (IgnoreUnrecognizedVMOptions) { +@@ -2795,11 +2799,9 @@ + CommandLineFlags::printSetFlags(); + } + +-#ifdef ASSERT + if (PrintFlagsFinal) { + CommandLineFlags::printFlags(); + } +-#endif + + return JNI_OK; + } +diff -r 9b9c1ee9b3f6 -r f62a22282a47 src/share/vm/runtime/globals.cpp +--- openjdk/hotspot/src/share/vm/runtime/globals.cpp Wed Jan 06 22:21:39 2010 -0800 ++++ openjdk/hotspot/src/share/vm/runtime/globals.cpp Thu Jan 07 16:24:17 2010 -0800 +@@ -468,6 +468,8 @@ + assert(Arguments::check_vm_args_consistency(), "Some flag settings conflict"); + } + ++#endif // PRODUCT ++ + void CommandLineFlags::printFlags() { + // Print the flags sorted by name + // note: this method is called before the thread structure is in place +@@ -493,5 +495,3 @@ + } + FREE_C_HEAP_ARRAY(Flag*, array); + } +- +-#endif +diff -r 9b9c1ee9b3f6 -r f62a22282a47 src/share/vm/runtime/globals.hpp +--- openjdk/hotspot/src/share/vm/runtime/globals.hpp Wed Jan 06 22:21:39 2010 -0800 ++++ openjdk/hotspot/src/share/vm/runtime/globals.hpp Thu Jan 07 16:24:17 2010 -0800 +@@ -211,7 +211,7 @@ + static bool wasSetOnCmdline(const char* name, bool* value); + static void printSetFlags(); + +- static void printFlags() PRODUCT_RETURN; ++ static void printFlags(); + + static void verify() PRODUCT_RETURN; + }; +@@ -327,9 +327,6 @@ + product(bool, UseMembar, false, \ + "(Unstable) Issues membars on thread state transitions") \ + \ +- product(bool, PrintCommandLineFlags, false, \ +- "Prints flags that appeared on the command line") \ +- \ + diagnostic(bool, UnlockDiagnosticVMOptions, trueInDebug, \ + "Enable normal processing of flags relating to field diagnostics")\ + \ +@@ -1967,9 +1964,6 @@ + "number of times a GC thread (minus the coordinator) " \ + "will sleep while yielding before giving up and resuming GC") \ + \ +- notproduct(bool, PrintFlagsFinal, false, \ +- "Print all command line flags after argument processing") \ +- \ + /* gc tracing */ \ + manageable(bool, PrintGC, false, \ + "Print message at garbage collect") \ +@@ -2269,11 +2263,20 @@ + "If false, restricts profiled locations to the root method only") \ + \ + product(bool, PrintVMOptions, trueInDebug, \ +- "print VM flag settings") \ ++ "Print flags that appeared on the command line") \ + \ + product(bool, IgnoreUnrecognizedVMOptions, false, \ + "Ignore unrecognized VM options") \ + \ ++ product(bool, PrintCommandLineFlags, false, \ ++ "Print flags specified on command line or set by ergonomics") \ ++ \ ++ product(bool, PrintFlagsInitial, false, \ ++ "Print all VM flags before argument processing and exit VM") \ ++ \ ++ product(bool, PrintFlagsFinal, false, \ ++ "Print all VM flags after argument and ergonomic processing") \ ++ \ + diagnostic(bool, SerializeVMOutput, true, \ + "Use a mutex to serialize output to tty and hotspot.log") \ + \ From doko at icedtea.classpath.org Mon Jan 11 04:34:21 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Mon, 11 Jan 2010 12:34:21 +0000 Subject: /hg/icedtea6: Add zero support for Hitachi SH Message-ID: changeset 67c87339c398 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=67c87339c398 author: doko at ubuntu.com date: Mon Jan 11 13:35:12 2010 +0100 Add zero support for Hitachi SH 2009-01-11 Nobuhiro Iwamatsu Matthias Klose * patches/icedtea-sh4-support.patch: Add zero support for Hitachi SH. * Makefile.am (ICEDTEA_PATCHES): Apply the above. * NEWS: Mention SH support. diffstat: 4 files changed, 76 insertions(+), 1 deletion(-) ChangeLog | 7 ++++ Makefile.am | 3 + NEWS | 4 ++ patches/icedtea-sh4-support.patch | 63 +++++++++++++++++++++++++++++++++++++ diffs (105 lines): diff -r 4b6ab0e5a0dd -r 67c87339c398 ChangeLog --- a/ChangeLog Mon Jan 11 11:43:43 2010 +0000 +++ b/ChangeLog Mon Jan 11 13:35:12 2010 +0100 @@ -1,3 +1,10 @@ 2010-01-11 Gary Benson + Matthias Klose + + * patches/icedtea-sh4-support.patch: Add zero support for Hitachi SH. + * Makefile.am (ICEDTEA_PATCHES): Apply the above. + * NEWS: Mention SH support. + 2010-01-11 Gary Benson * patches/zero/6914622.patch: New file, imports changeset diff -r 4b6ab0e5a0dd -r 67c87339c398 Makefile.am --- a/Makefile.am Mon Jan 11 11:43:43 2010 +0000 +++ b/Makefile.am Mon Jan 11 13:35:12 2010 +0100 @@ -300,7 +300,8 @@ ICEDTEA_PATCHES = \ patches/icedtea-no-precompiled.patch \ patches/icedtea-6897844-xshm.patch \ patches/icedtea-linux-separate-debuginfo.patch \ - patches/icedtea-parisc.patch + patches/icedtea-parisc.patch \ + patches/icedtea-sh4-support.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r 4b6ab0e5a0dd -r 67c87339c398 NEWS --- a/NEWS Mon Jan 11 11:43:43 2010 +0000 +++ b/NEWS Mon Jan 11 13:35:12 2010 +0100 @@ -1,3 +1,7 @@ New in release 1.7 (XXXX-XX-XX): +New in release 1.8 (XXXX-XX-XX): + +- Add support for zero build on Hitachi SH. + New in release 1.7 (XXXX-XX-XX): - Updated to OpenJDK6 b17. diff -r 4b6ab0e5a0dd -r 67c87339c398 patches/icedtea-sh4-support.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-sh4-support.patch Mon Jan 11 13:35:12 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 + From gnu_andrew at member.fsf.org Mon Jan 11 06:11:39 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 11 Jan 2010 14:11:39 +0000 Subject: Status of 1.7 In-Reply-To: <4B4AF10F.7040608@ubuntu.com> References: <17c6771e1001081120j59c42cdegc03a3093f6df6186@mail.gmail.com> <4B4AF10F.7040608@ubuntu.com> Message-ID: <17c6771e1001110611r194589c3tf6f3c41464bfede7@mail.gmail.com> 2010/1/11 Matthias Klose : > On 08.01.2010 20:20, Andrew John Hughes wrote: >> >> Dear all, >> >> We've done some testing of the upcoming 1.7 release within Red Hat and >> don't see any regressions in JTreg. ?Deepak also now believes the new >> plugin to be of a quality suitable for an alpha release as part of >> 1.7. >> >> I have a few minor fixes to add (bumping the hs16 option to the latest >> revision and fixing a very minor issue with --with-parallel-jobs not >> working if used without an argument). ?I'd like to aim for a release >> on Wednesday. >> >> Does this sound suitable to everyone? > > seen two issues: > > ?- 1.7 doesn't build on sparc64, at least on Debian. Asked if it does > ? build on Fedora currently, but didn't get a reply yet. > I guess there aren't that many people running sparc64 GNU/Linux boxes and building OpenJDK; I know I don't have any way of testing this If it's been packaged for Fedora sparc64 though, I would have thought it was built automatically. Is this a regression from 1.6? Or an existing problem? > ?- the jpeg7 patch probably needs to be reverted/changed. It seems > ? to be wrong to use another libjpeg than what was used for the > ? build. See http://bugs.debian.org/563999. > ? "sun.awt.image.ImageFormatException: Wrong JPEG library version: > ? library is 70, caller expects 62. > ? I can't even build using jpeg7 because of conflicting build > ? dependencies. > ? So either revert this patch, or stick to the jpeg version which > ? was used for the build. > Well, we can't revert it without breaking all the new systems now using libjpeg7. The version check occurs from these calls: jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c: jpegcreatedecompress(&cinfo, JPEG_LIB_VERSION, (size_t) sizeof(struct jpeg_decompress_struct)); jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c: jpegcreatedecompress(cinfo, JPEG_LIB_VERSION, (size_t) sizeof(struct jpeg_decompress_struct)); jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c: jpegcreatecompress(cinfo, JPEG_LIB_VERSION, (size_t) sizeof(struct jpeg_compress_struct)); which are hardcoded with the build libjpeg version when compiled. Changing the lib selection to: #if JPEG_LIB_VERSION >= 70 void *handle = dlopen("libjpeg.so.7", RTLD_LAZY | RTLD_GLOBAL); #else void *handle = dlopen("libjpeg.so.62", RTLD_LAZY | RTLD_GLOBAL); #endif should thus fix the problem by making the dlopen line match the later version check. > Matthias > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From gnu_andrew at member.fsf.org Mon Jan 11 06:21:22 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 11 Jan 2010 14:21:22 +0000 Subject: /hg/icedtea6: 2010-01-05 Gary Benson In-Reply-To: <20100111085720.GA6454@redhat.com> References: <17c6771e1001051002j18231f5bi57052cf77c0af5a1@mail.gmail.com> <20100106100639.GB3312@redhat.com> <17c6771e1001081139n4aa95b0dp9698ef27bafe1dae@mail.gmail.com> <20100111085720.GA6454@redhat.com> Message-ID: <17c6771e1001110621tb08513fp949ade41cf078409@mail.gmail.com> 2010/1/11 Gary Benson : > Andrew John Hughes wrote: >> 2010/1/6 Gary Benson : >> > ...if one fails to apply it's almost certainly because it >> > has filtered into the HotSpot tarball we're using. > [snip] >> They will break for other reasons. ?For one thing, we have >> a HotSpot update (to HS16) coming post-b18. > > How is that not a patch filtering into the HotSpot tarball > we're using? > > Cheers, > Gary > > -- > http://gbenson.net/ > hs16 doesn't have zero. It does have numerous other changes that will no doubt cause lines to move and patches to break. Obviously it won't be a problem if all these patches are on zero code only, but will affect anything touching shared HotSpot code. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From gnu_andrew at member.fsf.org Mon Jan 11 06:25:11 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 11 Jan 2010 14:25:11 +0000 Subject: support for Hitachi SH In-Reply-To: <4B4AF5E7.2090009@ubuntu.com> References: <4B4AF5E7.2090009@ubuntu.com> Message-ID: <17c6771e1001110625o350d9b08td70b724b27eb7f35@mail.gmail.com> 2010/1/11 Matthias Klose : > Nobuhiro recently added support for the Hitachi SH, verifying that it does > build, and example programs run. ?jtreg test results are still outstanding. > Like mips/mipsel SH can be big or little endian, the Debian port is little > endian only. > > I'll add this patch to the IcedTea6 branch; it could be added to the 1.7 > branch as well, only adding stuff architecture specific stuff. > > ?Matthias > > This looks ok for 1.7, assuming normal and zero builds still work with it applied. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From bugzilla-daemon at icedtea.classpath.org Mon Jan 11 06:45:33 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 11 Jan 2010 14:45:33 +0000 Subject: [Bug 427] Openjdk doesn't load a scratch-ticket on a HP Compaq Presario CQ60-laptop. Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=427 ------- Comment #1 from jon.vanalten at redhat.com 2010-01-11 14:45 ------- Hi, I'm guessing that most icedtea contributors won't have access to these "tickets" to try and reproduce the problem. You could help more by providing additional debug info: 1. Run firefox from the commandline with "ICEDTEAPLUGIN_DEBUG=1 firefox". 2. Attempt to reproduce problem. 3. Attach console output, and the files ~/.icedteaplugin/java.stdout, ~/.icedteaplugin/java.stderr to this bug report. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From doko at icedtea.classpath.org Mon Jan 11 08:39:00 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Mon, 11 Jan 2010 16:39:00 +0000 Subject: /hg/release/icedtea6-1.7: Add support for zero build on Hitachi SH Message-ID: changeset 4ae42f61f6e3 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=4ae42f61f6e3 author: doko at ubuntu.com date: Mon Jan 11 17:37:11 2010 +0100 Add support for zero build on Hitachi SH 2009-01-11 Nobuhiro Iwamatsu Matthias Klose * patches/icedtea-sh4-support.patch: Add zero support for Hitachi SH. * Makefile.am (ICEDTEA_PATCHES): Apply the above. * NEWS: Mention SH support. diffstat: 4 files changed, 73 insertions(+), 1 deletion(-) ChangeLog | 7 ++++ Makefile.am | 3 + NEWS | 1 patches/icedtea-sh4-support.patch | 63 +++++++++++++++++++++++++++++++++++++ diffs (105 lines): diff -r 3132bad1a11b -r 4ae42f61f6e3 ChangeLog --- a/ChangeLog Wed Jan 06 17:56:50 2010 -0500 +++ b/ChangeLog Mon Jan 11 17:37:11 2010 +0100 @@ -1,3 +1,10 @@ 2010-01-06 Deepak Bhole + Matthias Klose + + * patches/icedtea-sh4-support.patch: Add zero support for Hitachi SH. + * Makefile.am (ICEDTEA_PATCHES): Apply the above. + * NEWS: Mention SH support. + 2010-01-06 Deepak Bhole * configure.ac: Use libxul instead of libxul-unstable for the new NP diff -r 3132bad1a11b -r 4ae42f61f6e3 Makefile.am --- a/Makefile.am Wed Jan 06 17:56:50 2010 -0500 +++ b/Makefile.am Mon Jan 11 17:37:11 2010 +0100 @@ -297,7 +297,8 @@ ICEDTEA_PATCHES = \ patches/icedtea-no-precompiled.patch \ patches/icedtea-6897844-xshm.patch \ patches/icedtea-linux-separate-debuginfo.patch \ - patches/icedtea-parisc.patch + patches/icedtea-parisc.patch \ + patches/icedtea-sh4-support.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r 3132bad1a11b -r 4ae42f61f6e3 NEWS --- a/NEWS Wed Jan 06 17:56:50 2010 -0500 +++ b/NEWS Mon Jan 11 17:37:11 2010 +0100 @@ -24,6 +24,7 @@ New in release 1.7 (XXXX-XX-XX): - (CVE-2009-3869) JRE AWT setDifflCM stack overflow (6872357) - (CVE-2009-3874) ImageI/O JPEG heap overflow (6874643 - (CVE-2009-3871) JRE AWT setBytePixels heap overflow (6872358) +- Add support for zero build on Hitachi SH. New in release 1.6 (2009-09-10): diff -r 3132bad1a11b -r 4ae42f61f6e3 patches/icedtea-sh4-support.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-sh4-support.patch Mon Jan 11 17:37: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 + From doko at ubuntu.com Mon Jan 11 08:45:10 2010 From: doko at ubuntu.com (Matthias Klose) Date: Mon, 11 Jan 2010 17:45:10 +0100 Subject: support for Hitachi SH In-Reply-To: <17c6771e1001110625o350d9b08td70b724b27eb7f35@mail.gmail.com> References: <4B4AF5E7.2090009@ubuntu.com> <17c6771e1001110625o350d9b08td70b724b27eb7f35@mail.gmail.com> Message-ID: <4B4B5596.1050904@ubuntu.com> On 11.01.2010 15:25, Andrew John Hughes wrote: > 2010/1/11 Matthias Klose: >> Nobuhiro recently added support for the Hitachi SH, verifying that it does >> build, and example programs run. jtreg test results are still outstanding. >> Like mips/mipsel SH can be big or little endian, the Debian port is little >> endian only. >> >> I'll add this patch to the IcedTea6 branch; it could be added to the 1.7 >> branch as well, only adding stuff architecture specific stuff. >> >> Matthias >> >> > > This looks ok for 1.7, assuming normal and zero builds still work with > it applied. yes, normal and zero builds still work. pushed to the branch. From doko at ubuntu.com Mon Jan 11 08:47:17 2010 From: doko at ubuntu.com (Matthias Klose) Date: Mon, 11 Jan 2010 17:47:17 +0100 Subject: Status of 1.7 In-Reply-To: <17c6771e1001110611r194589c3tf6f3c41464bfede7@mail.gmail.com> References: <17c6771e1001081120j59c42cdegc03a3093f6df6186@mail.gmail.com> <4B4AF10F.7040608@ubuntu.com> <17c6771e1001110611r194589c3tf6f3c41464bfede7@mail.gmail.com> Message-ID: <4B4B5615.9010200@ubuntu.com> On 11.01.2010 15:11, Andrew John Hughes wrote: > 2010/1/11 Matthias Klose: >> On 08.01.2010 20:20, Andrew John Hughes wrote: >>> >>> Dear all, >>> >>> We've done some testing of the upcoming 1.7 release within Red Hat and >>> don't see any regressions in JTreg. Deepak also now believes the new >>> plugin to be of a quality suitable for an alpha release as part of >>> 1.7. >>> >>> I have a few minor fixes to add (bumping the hs16 option to the latest >>> revision and fixing a very minor issue with --with-parallel-jobs not >>> working if used without an argument). I'd like to aim for a release >>> on Wednesday. >>> >>> Does this sound suitable to everyone? >> >> seen two issues: >> >> - 1.7 doesn't build on sparc64, at least on Debian. Asked if it does >> build on Fedora currently, but didn't get a reply yet. >> > > I guess there aren't that many people running sparc64 GNU/Linux boxes > and building OpenJDK; I know I don't have any way of testing this If > it's been packaged for Fedora sparc64 though, I would have thought it > was built automatically. > > Is this a regression from 1.6? Or an existing problem? I don't know about the status of the Fedora builds. I just saw that it doesn't build on sparc64, while it does on sparc. Debian currently tries to bootstrap a sparc64 port. >> - the jpeg7 patch probably needs to be reverted/changed. It seems >> to be wrong to use another libjpeg than what was used for the >> build. See http://bugs.debian.org/563999. >> "sun.awt.image.ImageFormatException: Wrong JPEG library version: >> library is 70, caller expects 62. >> I can't even build using jpeg7 because of conflicting build >> dependencies. >> So either revert this patch, or stick to the jpeg version which >> was used for the build. >> > > Well, we can't revert it without breaking all the new systems now > using libjpeg7. > > The version check occurs from these calls: > > jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c: > jpegcreatedecompress(&cinfo, JPEG_LIB_VERSION, (size_t) sizeof(struct > jpeg_decompress_struct)); > jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c: > jpegcreatedecompress(cinfo, JPEG_LIB_VERSION, (size_t) sizeof(struct > jpeg_decompress_struct)); > jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c: > jpegcreatecompress(cinfo, JPEG_LIB_VERSION, (size_t) sizeof(struct > jpeg_compress_struct)); > > which are hardcoded with the build libjpeg version when compiled. > Changing the lib selection to: > > #if JPEG_LIB_VERSION>= 70 > void *handle = dlopen("libjpeg.so.7", RTLD_LAZY | RTLD_GLOBAL); > #else > void *handle = dlopen("libjpeg.so.62", RTLD_LAZY | RTLD_GLOBAL); > #endif > > should thus fix the problem by making the dlopen line match the later > version check. yes, this looks appropriate. From doko at icedtea.classpath.org Mon Jan 11 08:43:15 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Mon, 11 Jan 2010 16:43:15 +0000 Subject: /hg/icedtea6: Move NEWS entry from 1.8 to 1.7 Message-ID: changeset a2af332e20ab in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=a2af332e20ab author: doko at ubuntu.com date: Mon Jan 11 17:44:21 2010 +0100 Move NEWS entry from 1.8 to 1.7 diffstat: 1 file changed, 1 insertion(+), 1 deletion(-) NEWS | 2 +- diffs (18 lines): diff -r 67c87339c398 -r a2af332e20ab NEWS --- a/NEWS Mon Jan 11 13:35:12 2010 +0100 +++ b/NEWS Mon Jan 11 17:44:21 2010 +0100 @@ -1,6 +1,5 @@ New in release 1.8 (XXXX-XX-XX): New in release 1.8 (XXXX-XX-XX): -- Add support for zero build on Hitachi SH. New in release 1.7 (XXXX-XX-XX): @@ -28,6 +27,7 @@ New in release 1.7 (XXXX-XX-XX): - (CVE-2009-3869) JRE AWT setDifflCM stack overflow (6872357) - (CVE-2009-3874) ImageI/O JPEG heap overflow (6874643 - (CVE-2009-3871) JRE AWT setBytePixels heap overflow (6872358) +- Add support for zero build on Hitachi SH. New in release 1.6 (2009-09-10): From doko at ubuntu.com Mon Jan 11 08:49:36 2010 From: doko at ubuntu.com (Matthias Klose) Date: Mon, 11 Jan 2010 17:49:36 +0100 Subject: support for Hitachi SH In-Reply-To: <20100111102320.GC6454@redhat.com> References: <4B4AF5E7.2090009@ubuntu.com> <20100111100120.GB6454@redhat.com> <4B4AF763.9090109@ubuntu.com> <20100111102320.GC6454@redhat.com> Message-ID: <4B4B56A0.4060509@ubuntu.com> On 11.01.2010 11:23, Gary Benson wrote: > Matthias Klose wrote: >> On 11.01.2010 11:01, Gary Benson wrote: >>> Hi Matthias, >>> >>> Is this with Zero and/or Cacao? >> >> zero only, assuming that Nobuhiro did use the Debian package >> for the port. I don't know if SH would build on SH. > > Cool. If you like, I can start the process of upstreaming it > once you commit. would be nice. it's now committed. Matthias From andrew at icedtea.classpath.org Mon Jan 11 12:08:02 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 11 Jan 2010 20:08:02 +0000 Subject: /hg/icedtea6: 2 new changesets Message-ID: changeset dd10f9a2e531 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=dd10f9a2e531 author: Andrew John Hughes date: Mon Jan 11 20:09:51 2010 +0000 Fix -fno-strict-aliasing and NIO2 issues with the CACAO build. 2010-01-11 Andrew John Hughes Fix issues with the CACAO build. * Makefile.am: Add new CACAO nio2 patch. * patches/cacao/nio2.patch: Implement different functions in sun.misc.Unsafe (copyMemory backported from OpenJDK7). * patches/cacao/no-strict-aliasing.patch: Always append -fno- strict-aliasing, even if CFLAGS are specified. Otherwise, a broken CACAO results. changeset 8577904b8e6f in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=8577904b8e6f author: Andrew John Hughes date: Mon Jan 11 20:12:43 2010 +0000 Decide on libjpeg library at compile-time not runtime. 2010-01-11 Andrew John Hughes * patches/icedtea-libraries.patch: Decide which libjpeg library to load at compile-time not runtime using JPEG_LIB_VERSION. (See http://bugs.debian.org/563999) diffstat: 5 files changed, 85 insertions(+), 21 deletions(-) ChangeLog | 22 ++++++++++++++++- Makefile.am | 3 ++ patches/cacao/nio2.patch | 41 ++++++++++++++++++++++++++++++++ patches/cacao/no-strict-aliasing.patch | 31 +++++++++++------------- patches/icedtea-libraries.patch | 9 +++---- diffs (155 lines): diff -r a2af332e20ab -r 8577904b8e6f ChangeLog --- a/ChangeLog Mon Jan 11 17:44:21 2010 +0100 +++ b/ChangeLog Mon Jan 11 20:12:43 2010 +0000 @@ -1,4 +1,24 @@ 2009-01-11 Nobuhiro Iwamatsu +2010-01-11 Andrew John Hughes + + * patches/icedtea-libraries.patch: + Decide which libjpeg library to load + at compile-time not runtime using + JPEG_LIB_VERSION. + (See http://bugs.debian.org/563999) + +2010-01-11 Andrew John Hughes + + Fix issues with the CACAO build. + * Makefile.am: + Add new CACAO nio2 patch. + * patches/cacao/nio2.patch: + Implement different functions in sun.misc.Unsafe + (copyMemory backported from OpenJDK7). + * patches/cacao/no-strict-aliasing.patch: + Always append -fno-strict-aliasing, even if CFLAGS + are specified. Otherwise, a broken CACAO results. + +2010-01-11 Nobuhiro Iwamatsu Matthias Klose * patches/icedtea-sh4-support.patch: Add zero support for Hitachi SH. diff -r a2af332e20ab -r 8577904b8e6f Makefile.am --- a/Makefile.am Mon Jan 11 17:44:21 2010 +0100 +++ b/Makefile.am Mon Jan 11 20:12:43 2010 +0000 @@ -314,6 +314,9 @@ ICEDTEA_PATCHES += \ patches/icedtea-cacao-no-mmap-first-page.patch \ patches/cacao/no-strict-aliasing.patch \ patches/cacao/arm-arch-defines.patch +if ENABLE_NIO2 +ICEDTEA_PATCHES += patches/cacao/nio2.patch +endif endif if WITH_CACAO ICEDTEA_PATCHES += \ diff -r a2af332e20ab -r 8577904b8e6f patches/cacao/nio2.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/cacao/nio2.patch Mon Jan 11 20:12:43 2010 +0000 @@ -0,0 +1,41 @@ +--- cacao/cacao/src/native/vm/sun_misc_Unsafe.c.orig 2010-01-11 16:20:51.000000000 +0000 ++++ cacao/cacao/src/native/vm/sun_misc_Unsafe.c 2010-01-11 16:22:15.000000000 +0000 +@@ -107,9 +107,10 @@ + #if 0 + /* OpenJDK 7 */ + { "setMemory", "(Ljava/lang/Object;JJB)V", (void *) (intptr_t) &Java_sun_misc_Unsafe_setMemory }, ++#endif + { "copyMemory", "(Ljava/lang/Object;JLjava/lang/Object;JJ)V", (void *) (intptr_t) &Java_sun_misc_Unsafe_copyMemory }, +-#else + { "setMemory", "(JJB)V", (void *) (intptr_t) &Java_sun_misc_Unsafe_setMemory }, ++#if 0 + { "copyMemory", "(JJJ)V", (void *) (intptr_t) &Java_sun_misc_Unsafe_copyMemory }, + #endif + { "freeMemory", "(J)V", (void *) (intptr_t) &Java_sun_misc_Unsafe_freeMemory }, +@@ -786,7 +787,7 @@ + + system_memset(p, value, length); + } +- ++#endif + + /* + * Class: sun/misc/Unsafe +@@ -816,7 +817,7 @@ + + system_memcpy(dest, src, length); + } +-#else ++ + /* + * Class: sun/misc/Unsafe + * Method: setMemory +@@ -841,7 +842,7 @@ + system_memset(p, value, length); + } + +- ++#if 0 + /* + * Class: sun/misc/Unsafe + * Method: copyMemory diff -r a2af332e20ab -r 8577904b8e6f patches/cacao/no-strict-aliasing.patch --- a/patches/cacao/no-strict-aliasing.patch Mon Jan 11 17:44:21 2010 +0100 +++ b/patches/cacao/no-strict-aliasing.patch Mon Jan 11 20:12:43 2010 +0000 @@ -1,23 +1,22 @@ ---- cacao/cacao/configure.ac~ 2009-03-16 12:42:56.000000000 +0100 -+++ cacao/cacao/configure.ac 2009-06-23 16:19:20.000000000 +0200 -@@ -37,7 +37,7 @@ - - dnl set optimization and debugging for all architectures and systems - if test x"$CFLAGS" = "x"; then -- OPT_CFLAGS="-g -O2" -+ OPT_CFLAGS="-g -O2 -fno-strict-aliasing" +diff -Nru cacao/cacao.orig/configure cacao/cacao/configure +--- cacao/cacao.orig/configure 2009-03-16 11:44:25.000000000 +0000 ++++ cacao/cacao/configure 2010-01-09 00:10:59.000000000 +0000 +@@ -2829,6 +2829,7 @@ else OPT_CFLAGS=$CFLAGS fi -diff -ur cacao-0.99.4.orig/configure cacao-0.99.4/configure ---- cacao/cacao/configure 2009-03-16 12:42:56.000000000 +0100 -+++ cacao/cacao/configure 2009-06-23 16:19:21.000000000 +0200 -@@ -2825,7 +2825,7 @@ ++OPT_CFLAGS="$OPT_CFLAGS -fno-strict-aliasing" - - if test x"$CFLAGS" = "x"; then -- OPT_CFLAGS="-g -O2" -+ OPT_CFLAGS="-g -O2 -fno-strict-aliasing" + case "$host_cpu" in + alpha | alphaev56 | alphapca56 ) +diff -Nru cacao/cacao.orig/configure.ac cacao/cacao/configure.ac +--- cacao/cacao.orig/configure.ac 2009-03-16 11:42:56.000000000 +0000 ++++ cacao/cacao/configure.ac 2010-01-09 00:11:06.000000000 +0000 +@@ -41,6 +41,7 @@ else OPT_CFLAGS=$CFLAGS fi ++OPT_CFLAGS="$OPT_CFLAGS -fno-strict-aliasing" + + dnl system type + case "$host_cpu" in diff -r a2af332e20ab -r 8577904b8e6f patches/icedtea-libraries.patch --- a/patches/icedtea-libraries.patch Mon Jan 11 17:44:21 2010 +0100 +++ b/patches/icedtea-libraries.patch Mon Jan 11 20:12:43 2010 +0000 @@ -25045,17 +25045,18 @@ diff -ruN ..openjdk.old/openjdk/jdk/src/ } -@@ -2317,6 +2377,145 @@ +@@ -2317,6 +2377,146 @@ /********************** end of destination manager ************/ +METHODDEF(void) +initIDs() +{ ++#if JPEG_LIB_VERSION >= 70 + void *handle = dlopen("libjpeg.so.7", RTLD_LAZY | RTLD_GLOBAL); -+ if (handle == NULL) { -+ handle = dlopen("libjpeg.so.62", RTLD_LAZY | RTLD_GLOBAL); -+ } ++#else ++ void *handle = dlopen("libjpeg.so.62", RTLD_LAZY | RTLD_GLOBAL); ++#endif + + jpegstderror = (fn_jpegstderror)dlsym(handle, "jpeg_std_error"); + if (jpegstderror == NULL) { From andrew at icedtea.classpath.org Mon Jan 11 12:09:57 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 11 Jan 2010 20:09:57 +0000 Subject: /hg/release/icedtea6-1.7: 2 new changesets Message-ID: changeset a1813b32daaf in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=a1813b32daaf author: Andrew John Hughes date: Mon Jan 11 20:09:51 2010 +0000 Fix -fno-strict-aliasing and NIO2 issues with the CACAO build. 2010-01-11 Andrew John Hughes Fix issues with the CACAO build. * Makefile.am: Add new CACAO nio2 patch. * patches/cacao/nio2.patch: Implement different functions in sun.misc.Unsafe (copyMemory backported from OpenJDK7). * patches/cacao/no-strict-aliasing.patch: Always append -fno- strict-aliasing, even if CFLAGS are specified. Otherwise, a broken CACAO results. changeset 3b776f966751 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=3b776f966751 author: Andrew John Hughes date: Mon Jan 11 20:12:43 2010 +0000 Decide on libjpeg library at compile-time not runtime. 2010-01-11 Andrew John Hughes * patches/icedtea-libraries.patch: Decide which libjpeg library to load at compile-time not runtime using JPEG_LIB_VERSION. (See http://bugs.debian.org/563999) diffstat: 5 files changed, 85 insertions(+), 21 deletions(-) ChangeLog | 22 ++++++++++++++++- Makefile.am | 3 ++ patches/cacao/nio2.patch | 41 ++++++++++++++++++++++++++++++++ patches/cacao/no-strict-aliasing.patch | 31 +++++++++++------------- patches/icedtea-libraries.patch | 9 +++---- diffs (155 lines): diff -r 4ae42f61f6e3 -r 3b776f966751 ChangeLog --- a/ChangeLog Mon Jan 11 17:37:11 2010 +0100 +++ b/ChangeLog Mon Jan 11 20:12:43 2010 +0000 @@ -1,4 +1,24 @@ 2009-01-11 Nobuhiro Iwamatsu +2010-01-11 Andrew John Hughes + + * patches/icedtea-libraries.patch: + Decide which libjpeg library to load + at compile-time not runtime using + JPEG_LIB_VERSION. + (See http://bugs.debian.org/563999) + +2010-01-11 Andrew John Hughes + + Fix issues with the CACAO build. + * Makefile.am: + Add new CACAO nio2 patch. + * patches/cacao/nio2.patch: + Implement different functions in sun.misc.Unsafe + (copyMemory backported from OpenJDK7). + * patches/cacao/no-strict-aliasing.patch: + Always append -fno-strict-aliasing, even if CFLAGS + are specified. Otherwise, a broken CACAO results. + +2010-01-11 Nobuhiro Iwamatsu Matthias Klose * patches/icedtea-sh4-support.patch: Add zero support for Hitachi SH. diff -r 4ae42f61f6e3 -r 3b776f966751 Makefile.am --- a/Makefile.am Mon Jan 11 17:37:11 2010 +0100 +++ b/Makefile.am Mon Jan 11 20:12:43 2010 +0000 @@ -311,6 +311,9 @@ ICEDTEA_PATCHES += \ patches/icedtea-cacao-no-mmap-first-page.patch \ patches/cacao/no-strict-aliasing.patch \ patches/cacao/arm-arch-defines.patch +if ENABLE_NIO2 +ICEDTEA_PATCHES += patches/cacao/nio2.patch +endif endif if WITH_CACAO ICEDTEA_PATCHES += \ diff -r 4ae42f61f6e3 -r 3b776f966751 patches/cacao/nio2.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/cacao/nio2.patch Mon Jan 11 20:12:43 2010 +0000 @@ -0,0 +1,41 @@ +--- cacao/cacao/src/native/vm/sun_misc_Unsafe.c.orig 2010-01-11 16:20:51.000000000 +0000 ++++ cacao/cacao/src/native/vm/sun_misc_Unsafe.c 2010-01-11 16:22:15.000000000 +0000 +@@ -107,9 +107,10 @@ + #if 0 + /* OpenJDK 7 */ + { "setMemory", "(Ljava/lang/Object;JJB)V", (void *) (intptr_t) &Java_sun_misc_Unsafe_setMemory }, ++#endif + { "copyMemory", "(Ljava/lang/Object;JLjava/lang/Object;JJ)V", (void *) (intptr_t) &Java_sun_misc_Unsafe_copyMemory }, +-#else + { "setMemory", "(JJB)V", (void *) (intptr_t) &Java_sun_misc_Unsafe_setMemory }, ++#if 0 + { "copyMemory", "(JJJ)V", (void *) (intptr_t) &Java_sun_misc_Unsafe_copyMemory }, + #endif + { "freeMemory", "(J)V", (void *) (intptr_t) &Java_sun_misc_Unsafe_freeMemory }, +@@ -786,7 +787,7 @@ + + system_memset(p, value, length); + } +- ++#endif + + /* + * Class: sun/misc/Unsafe +@@ -816,7 +817,7 @@ + + system_memcpy(dest, src, length); + } +-#else ++ + /* + * Class: sun/misc/Unsafe + * Method: setMemory +@@ -841,7 +842,7 @@ + system_memset(p, value, length); + } + +- ++#if 0 + /* + * Class: sun/misc/Unsafe + * Method: copyMemory diff -r 4ae42f61f6e3 -r 3b776f966751 patches/cacao/no-strict-aliasing.patch --- a/patches/cacao/no-strict-aliasing.patch Mon Jan 11 17:37:11 2010 +0100 +++ b/patches/cacao/no-strict-aliasing.patch Mon Jan 11 20:12:43 2010 +0000 @@ -1,23 +1,22 @@ ---- cacao/cacao/configure.ac~ 2009-03-16 12:42:56.000000000 +0100 -+++ cacao/cacao/configure.ac 2009-06-23 16:19:20.000000000 +0200 -@@ -37,7 +37,7 @@ - - dnl set optimization and debugging for all architectures and systems - if test x"$CFLAGS" = "x"; then -- OPT_CFLAGS="-g -O2" -+ OPT_CFLAGS="-g -O2 -fno-strict-aliasing" +diff -Nru cacao/cacao.orig/configure cacao/cacao/configure +--- cacao/cacao.orig/configure 2009-03-16 11:44:25.000000000 +0000 ++++ cacao/cacao/configure 2010-01-09 00:10:59.000000000 +0000 +@@ -2829,6 +2829,7 @@ else OPT_CFLAGS=$CFLAGS fi -diff -ur cacao-0.99.4.orig/configure cacao-0.99.4/configure ---- cacao/cacao/configure 2009-03-16 12:42:56.000000000 +0100 -+++ cacao/cacao/configure 2009-06-23 16:19:21.000000000 +0200 -@@ -2825,7 +2825,7 @@ ++OPT_CFLAGS="$OPT_CFLAGS -fno-strict-aliasing" - - if test x"$CFLAGS" = "x"; then -- OPT_CFLAGS="-g -O2" -+ OPT_CFLAGS="-g -O2 -fno-strict-aliasing" + case "$host_cpu" in + alpha | alphaev56 | alphapca56 ) +diff -Nru cacao/cacao.orig/configure.ac cacao/cacao/configure.ac +--- cacao/cacao.orig/configure.ac 2009-03-16 11:42:56.000000000 +0000 ++++ cacao/cacao/configure.ac 2010-01-09 00:11:06.000000000 +0000 +@@ -41,6 +41,7 @@ else OPT_CFLAGS=$CFLAGS fi ++OPT_CFLAGS="$OPT_CFLAGS -fno-strict-aliasing" + + dnl system type + case "$host_cpu" in diff -r 4ae42f61f6e3 -r 3b776f966751 patches/icedtea-libraries.patch --- a/patches/icedtea-libraries.patch Mon Jan 11 17:37:11 2010 +0100 +++ b/patches/icedtea-libraries.patch Mon Jan 11 20:12:43 2010 +0000 @@ -25045,17 +25045,18 @@ diff -ruN ..openjdk.old/openjdk/jdk/src/ } -@@ -2317,6 +2377,145 @@ +@@ -2317,6 +2377,146 @@ /********************** end of destination manager ************/ +METHODDEF(void) +initIDs() +{ ++#if JPEG_LIB_VERSION >= 70 + void *handle = dlopen("libjpeg.so.7", RTLD_LAZY | RTLD_GLOBAL); -+ if (handle == NULL) { -+ handle = dlopen("libjpeg.so.62", RTLD_LAZY | RTLD_GLOBAL); -+ } ++#else ++ void *handle = dlopen("libjpeg.so.62", RTLD_LAZY | RTLD_GLOBAL); ++#endif + + jpegstderror = (fn_jpegstderror)dlsym(handle, "jpeg_std_error"); + if (jpegstderror == NULL) { From gnu_andrew at member.fsf.org Mon Jan 11 12:19:05 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 11 Jan 2010 20:19:05 +0000 Subject: Status of 1.7 In-Reply-To: <4B4B5615.9010200@ubuntu.com> References: <17c6771e1001081120j59c42cdegc03a3093f6df6186@mail.gmail.com> <4B4AF10F.7040608@ubuntu.com> <17c6771e1001110611r194589c3tf6f3c41464bfede7@mail.gmail.com> <4B4B5615.9010200@ubuntu.com> Message-ID: <17c6771e1001111219w156a7087s2e5ab99243ffd55a@mail.gmail.com> 2010/1/11 Matthias Klose : > On 11.01.2010 15:11, Andrew John Hughes wrote: >> >> 2010/1/11 Matthias Klose: >>> >>> On 08.01.2010 20:20, Andrew John Hughes wrote: >>>> >>>> Dear all, >>>> >>>> We've done some testing of the upcoming 1.7 release within Red Hat and >>>> don't see any regressions in JTreg. ?Deepak also now believes the new >>>> plugin to be of a quality suitable for an alpha release as part of >>>> 1.7. >>>> >>>> I have a few minor fixes to add (bumping the hs16 option to the latest >>>> revision and fixing a very minor issue with --with-parallel-jobs not >>>> working if used without an argument). ?I'd like to aim for a release >>>> on Wednesday. >>>> >>>> Does this sound suitable to everyone? >>> >>> seen two issues: >>> >>> ?- 1.7 doesn't build on sparc64, at least on Debian. Asked if it does >>> ? build on Fedora currently, but didn't get a reply yet. >>> >> >> I guess there aren't that many people running sparc64 GNU/Linux boxes >> and building OpenJDK; I know I don't have any way of testing this ?If >> it's been packaged for Fedora sparc64 though, I would have thought it >> was built automatically. >> >> Is this a regression from 1.6? ?Or an existing problem? > > I don't know about the status of the Fedora builds. I just saw that it > doesn't build on sparc64, while it does on sparc. Debian currently tries to > bootstrap a sparc64 port. > Neither do I. What are you trying to build - zero or the native sparc port? And does it work when using precompiled headers? And does it succeed on 1.6? >>> ?- the jpeg7 patch probably needs to be reverted/changed. It seems >>> ? to be wrong to use another libjpeg than what was used for the >>> ? build. See http://bugs.debian.org/563999. >>> ? "sun.awt.image.ImageFormatException: Wrong JPEG library version: >>> ? library is 70, caller expects 62. >>> ? I can't even build using jpeg7 because of conflicting build >>> ? dependencies. >>> ? So either revert this patch, or stick to the jpeg version which >>> ? was used for the build. >>> >> >> Well, we can't revert it without breaking all the new systems now >> using libjpeg7. >> >> The version check occurs from these calls: >> >> jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c: >> jpegcreatedecompress(&cinfo, JPEG_LIB_VERSION, (size_t) sizeof(struct >> jpeg_decompress_struct)); >> jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c: >> jpegcreatedecompress(cinfo, JPEG_LIB_VERSION, (size_t) sizeof(struct >> jpeg_decompress_struct)); >> jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c: >> jpegcreatecompress(cinfo, JPEG_LIB_VERSION, (size_t) sizeof(struct >> jpeg_compress_struct)); >> >> which are hardcoded with the build libjpeg version when compiled. >> Changing the lib selection to: >> >> #if JPEG_LIB_VERSION>= 70 >> ? ? void *handle = dlopen("libjpeg.so.7", RTLD_LAZY | RTLD_GLOBAL); >> #else >> ? ? void *handle = dlopen("libjpeg.so.62", RTLD_LAZY | RTLD_GLOBAL); >> #endif >> >> should thus fix the problem by making the dlopen line match the later >> version check. > > yes, this looks appropriate. > Thanks. Checked in to HEAD and 1.7. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From bugzilla-daemon at icedtea.classpath.org Mon Jan 11 18:37:56 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 12 Jan 2010 02:37:56 +0000 Subject: [Bug 427] Openjdk doesn't load a scratch-ticket on a HP Compaq Presario CQ60-laptop. Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=427 ------- Comment #2 from kristoffer.grundstrom1983 at gmail.com 2010-01-12 02:37 ------- I can't find theese files using locate, what do I do? -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From ed at camswl.com Tue Jan 12 02:12:17 2010 From: ed at camswl.com (Edward Nevill) Date: Tue, 12 Jan 2010 10:12:17 +0000 Subject: Request to commit: to icedtea6-1.7 release Message-ID: Hi, Matthias has reported problems with JTreg failing with "Unimplemented opcode = 230". I have been unable to replicate the problem locally. Opcode 230 is 'dmac', double multiply and accumulate. This is an optimisation for dmul, followed by dadd. I propose for the 1.7 release simply removing this opcode altogether. I will leave it in the trunk for the moment until we can work out exactly what it going on with this opccode. I am currently doing a complete rebuild with this change applied. I will not know the results until tomorrow. Attached are the diffs. OK to commit? Should I commit it now or wait for the results of the rebuild tomorrow morning? Regards, Ed. --- CUT HERE ------------------------------------------- diff -ruNE orig/icedtea6-1.7/ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def new/icedtea6-1.7/ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def --- orig/icedtea6-1.7/ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def 2010-01-12 09:36:48.000000000 +0000 +++ new/icedtea6-1.7/ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def 2010-01-12 09:45:15.000000000 +0000 @@ -267,7 +267,7 @@ @return_register_finalizer = 0xe5, 1 -dmac = 0xe6, 2 + at dmac = 0xe6, 2 iload_0_iconst_N = 0xe7, 2 iload_1_iconst_N = 0xe8, 2 @@ -2455,10 +2455,10 @@ } (dmul) dmul_vfp { - FBC cmp r2, #opc_dadd +@ FBC cmp r2, #opc_dadd DISPATCH_START_R2 - FBC beq 1f -2: +@ FBC beq 1f + at 2: vldr d7, [stack, #12] vldr d6, [stack, #4] DISPATCH_NEXT @@ -2469,30 +2469,30 @@ vstr d0, [stack, #12] add stack, stack, #8 DISPATCH_FINISH -1: - FBC mov r2, #opc_dmac - FBC strb r2, [jpc, #-1] - FBC b 2b -} - -#ifdef FAST_BYTECODES - -(dmac) dmac_vfp { - DISPATCH_START \seq_len - vldr d2, [stack, #20] - vldr d1, [stack, #12] - vldr d0, [stack, #4] - DISPATCH_NEXT - DISPATCH_NEXT - fmacd d2, d1, d0 - DISPATCH_NEXT - DISPATCH_NEXT - vstr d2, [stack, #20] - add stack, stack, #16 - DISPATCH_FINISH -} - -#endif // FAST_BYTECODES + at 1: +@ FBC mov r2, #opc_dmac +@ FBC strb r2, [jpc, #-1] +@ FBC b 2b +} + +@#ifdef FAST_BYTECODES +@ +@(dmac) dmac_vfp { +@ DISPATCH_START \seq_len +@ vldr d2, [stack, #20] +@ vldr d1, [stack, #12] +@ vldr d0, [stack, #4] +@ DISPATCH_NEXT +@ DISPATCH_NEXT +@ fmacd d2, d1, d0 +@ DISPATCH_NEXT +@ DISPATCH_NEXT +@ vstr d2, [stack, #20] +@ add stack, stack, #16 +@ DISPATCH_FINISH +@} +@ +@#endif // FAST_BYTECODES (fdiv) fdiv_vfp { DISPATCH_START_R2 @@ -10013,32 +10013,32 @@ DISPATCH_BYTECODE } -#ifdef HW_FP - -(dmac)(dastore) { - ldr tmp2, [stack, #28] - ldr tmp1, [stack, #32] - vldr d2, [stack, #20] - vldr d1, [stack, #12] - vldr d0, [stack, #4] - DISPATCH_START \seq_len - SW_NPC cmp tmp1, #0 - SW_NPC beq null_ptr_exception -.abortentry120: - ldr ip, [tmp1, #8] - cmp tmp2, ip - DISPATCH_NEXT - bcs array_bound_exception_jpc_1_tmp2 - DISPATCH_NEXT - add tmp2, tmp1, tmp2, lsl #3 - fmacd d2, d1, d0 - vstr d2, [tmp2, #BASE_OFFSET_LONG] - DISPATCH_NEXT - DISPATCH_NEXT - add stack, stack, #32 - DISPATCH_FINISH -} - -#endif //HW_FP +@#ifdef HW_FP +@ +@(dmac)(dastore) { +@ ldr tmp2, [stack, #28] +@ ldr tmp1, [stack, #32] +@ vldr d2, [stack, #20] +@ vldr d1, [stack, #12] +@ vldr d0, [stack, #4] +@ DISPATCH_START \seq_len +@ SW_NPC cmp tmp1, #0 +@ SW_NPC beq null_ptr_exception + at .abortentry120: +@ ldr ip, [tmp1, #8] +@ cmp tmp2, ip +@ DISPATCH_NEXT +@ bcs array_bound_exception_jpc_1_tmp2 +@ DISPATCH_NEXT +@ add tmp2, tmp1, tmp2, lsl #3 +@ fmacd d2, d1, d0 +@ vstr d2, [tmp2, #BASE_OFFSET_LONG] +@ DISPATCH_NEXT +@ DISPATCH_NEXT +@ add stack, stack, #32 +@ DISPATCH_FINISH +@} +@ +@#endif //HW_FP #endif // FAST_BYTECODES From aph at redhat.com Tue Jan 12 02:49:02 2010 From: aph at redhat.com (Andrew Haley) Date: Tue, 12 Jan 2010 10:49:02 +0000 Subject: Request to commit: to icedtea6-1.7 release In-Reply-To: References: Message-ID: <4B4C539E.6040602@redhat.com> On 01/12/2010 10:12 AM, Edward Nevill wrote: > Matthias has reported problems with JTreg failing with "Unimplemented opcode = 230". > > I have been unable to replicate the problem locally. > > Opcode 230 is 'dmac', double multiply and accumulate. This is an optimisation for dmul, followed by dadd. > > I propose for the 1.7 release simply removing this opcode altogether. I will leave it in the trunk for the moment until we can work out exactly what it going on with this opccode. > > I am currently doing a complete rebuild with this change applied. I will not know the results until tomorrow. > > Attached are the diffs. OK to commit? Should I commit it now or wait for the results of the rebuild tomorrow morning? This is all a bit weird. But if you're sure it won't break anything... Andrew. From bugzilla-daemon at icedtea.classpath.org Tue Jan 12 07:12:47 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 12 Jan 2010 15:12:47 +0000 Subject: [Bug 427] Openjdk doesn't load a scratch-ticket on a HP Compaq Presario CQ60-laptop. Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=427 ------- Comment #3 from jon.vanalten at redhat.com 2010-01-12 15:12 ------- Hi, Is it possible that you do not have the plugin installed? If you type "about:plugins" in firefox's address bar, there should be an entry for "IcedTea Java Web Browser Plugin". If not, consult your distro's documentation for how to install the plugin. For example, I use fedora and there is a package "java-1.6.0-openjdk-plugin" for the plugin which is separate from the java runtime. If the plugin is installed, I am guessing that locate's database hasn't been updated since the files were created. From locate's manpage: "... locate can never report files created after the most recent update of the relevant database." So if those files were just created, locate will not find them. You can run "updatedb" to, as you may guess, update the database which locate uses. Another utility you may find useful is "find", which actually examines the filesystem hierarchy and so will find newly created files (but is usually much slower as a result). However, afaik the plugin is hardcoded to write them in your user's home directory, under a hidden directory named ".icedteaplugin". If plugin is installed, and you started firefox as noted in previous comment, they should be there. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From enevill at icedtea.classpath.org Wed Jan 13 02:21:23 2010 From: enevill at icedtea.classpath.org (enevill at icedtea.classpath.org) Date: Wed, 13 Jan 2010 10:21:23 +0000 Subject: /hg/release/icedtea6-1.7: Removed opc_dmac - causing some test f... Message-ID: changeset 06d8ceaf70ff in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=06d8ceaf70ff author: Edward Nevill date: Wed Jan 13 10:27:10 2010 +0000 Removed opc_dmac - causing some test failures diffstat: 3 files changed, 61 insertions(+), 56 deletions(-) ChangeLog | 5 ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def | 110 ++++++++++---------- ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S | 2 diffs (165 lines): diff -r 3b776f966751 -r 06d8ceaf70ff ChangeLog --- a/ChangeLog Mon Jan 11 20:12:43 2010 +0000 +++ b/ChangeLog Wed Jan 13 10:27:10 2010 +0000 @@ -1,3 +1,8 @@ 2010-01-11 Andrew John Hughes + + * Remove opc_dmac (dmul/dadd) + This was causing some test failures with "Unimplemented opcode = 230" + 2010-01-11 Andrew John Hughes * patches/icedtea-libraries.patch: diff -r 3b776f966751 -r 06d8ceaf70ff ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def --- a/ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def Mon Jan 11 20:12:43 2010 +0000 +++ b/ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def Wed Jan 13 10:27:10 2010 +0000 @@ -267,7 +267,7 @@ iload_iload_N = 0xe4, 3 @return_register_finalizer = 0xe5, 1 -dmac = 0xe6, 2 + at dmac = 0xe6, 2 iload_0_iconst_N = 0xe7, 2 iload_1_iconst_N = 0xe8, 2 @@ -2455,10 +2455,10 @@ 2: } (dmul) dmul_vfp { - FBC cmp r2, #opc_dadd +@ FBC cmp r2, #opc_dadd DISPATCH_START_R2 - FBC beq 1f -2: +@ FBC beq 1f + at 2: vldr d7, [stack, #12] vldr d6, [stack, #4] DISPATCH_NEXT @@ -2469,30 +2469,30 @@ 2: vstr d0, [stack, #12] add stack, stack, #8 DISPATCH_FINISH -1: - FBC mov r2, #opc_dmac - FBC strb r2, [jpc, #-1] - FBC b 2b -} - -#ifdef FAST_BYTECODES - -(dmac) dmac_vfp { - DISPATCH_START \seq_len - vldr d2, [stack, #20] - vldr d1, [stack, #12] - vldr d0, [stack, #4] - DISPATCH_NEXT - DISPATCH_NEXT - fmacd d2, d1, d0 - DISPATCH_NEXT - DISPATCH_NEXT - vstr d2, [stack, #20] - add stack, stack, #16 - DISPATCH_FINISH -} - -#endif // FAST_BYTECODES + at 1: +@ FBC mov r2, #opc_dmac +@ FBC strb r2, [jpc, #-1] +@ FBC b 2b +} + +@#ifdef FAST_BYTECODES +@ +@(dmac) dmac_vfp { +@ DISPATCH_START \seq_len +@ vldr d2, [stack, #20] +@ vldr d1, [stack, #12] +@ vldr d0, [stack, #4] +@ DISPATCH_NEXT +@ DISPATCH_NEXT +@ fmacd d2, d1, d0 +@ DISPATCH_NEXT +@ DISPATCH_NEXT +@ vstr d2, [stack, #20] +@ add stack, stack, #16 +@ DISPATCH_FINISH +@} +@ +@#endif // FAST_BYTECODES (fdiv) fdiv_vfp { DISPATCH_START_R2 @@ -10013,32 +10013,32 @@ 1: DISPATCH_BYTECODE } -#ifdef HW_FP - -(dmac)(dastore) { - ldr tmp2, [stack, #28] - ldr tmp1, [stack, #32] - vldr d2, [stack, #20] - vldr d1, [stack, #12] - vldr d0, [stack, #4] - DISPATCH_START \seq_len - SW_NPC cmp tmp1, #0 - SW_NPC beq null_ptr_exception -.abortentry120: - ldr ip, [tmp1, #8] - cmp tmp2, ip - DISPATCH_NEXT - bcs array_bound_exception_jpc_1_tmp2 - DISPATCH_NEXT - add tmp2, tmp1, tmp2, lsl #3 - fmacd d2, d1, d0 - vstr d2, [tmp2, #BASE_OFFSET_LONG] - DISPATCH_NEXT - DISPATCH_NEXT - add stack, stack, #32 - DISPATCH_FINISH -} - -#endif //HW_FP +@#ifdef HW_FP +@ +@(dmac)(dastore) { +@ ldr tmp2, [stack, #28] +@ ldr tmp1, [stack, #32] +@ vldr d2, [stack, #20] +@ vldr d1, [stack, #12] +@ vldr d0, [stack, #4] +@ DISPATCH_START \seq_len +@ SW_NPC cmp tmp1, #0 +@ SW_NPC beq null_ptr_exception + at .abortentry120: +@ ldr ip, [tmp1, #8] +@ cmp tmp2, ip +@ DISPATCH_NEXT +@ bcs array_bound_exception_jpc_1_tmp2 +@ DISPATCH_NEXT +@ add tmp2, tmp1, tmp2, lsl #3 +@ fmacd d2, d1, d0 +@ vstr d2, [tmp2, #BASE_OFFSET_LONG] +@ DISPATCH_NEXT +@ DISPATCH_NEXT +@ add stack, stack, #32 +@ DISPATCH_FINISH +@} +@ +@#endif //HW_FP #endif // FAST_BYTECODES diff -r 3b776f966751 -r 06d8ceaf70ff ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S --- a/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S Mon Jan 11 20:12:43 2010 +0000 +++ b/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S Wed Jan 13 10:27:10 2010 +0000 @@ -1304,7 +1304,7 @@ abort_table: FBC .word .abortentry117, 0 .word .abortentry118, 0 .word .abortentry119, return_throw_illegal_monitor_state - FBC .word .abortentry120, 0 +@ FBC .word .abortentry120, 0 .word 0 #else From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 04:11:46 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 13 Jan 2010 12:11:46 +0000 Subject: [Bug 428] New: Shark on ARM precompiled header incls/_precompiled.incl.gch build failure Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=428 Summary: Shark on ARM precompiled header incls/_precompiled.incl.gch build failure Product: IcedTea Version: unspecified Platform: Other OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: xerxes at zafena.se Icedtea6 Shark builds fails from top of trunk on ARM during generation of precompiled header incls/_precompiled.incl.gch. make[6]: Entering directory `/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/build/linux-arm/hotspot/outputdir/linux_arm_shark/product' echo Generating precompiled header incls/_precompiled.incl.gch Generating precompiled header incls/_precompiled.incl.gch mkdir -p ./incls g++ -DLINUX -D_GNU_SOURCE -DCC_INTERP -DZERO -DARM -DZERO_LIBARCH=\"arm\" -DPRODUCT -I. -I../generated/adfiles -I../generated/jvmtifiles -I/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/asm -I/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/c1 -I/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/ci -I/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/classfile -I/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/code -I/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/compiler -I/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation -I/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/shared -I/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/g1 -I/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/parallelScavenge -I/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep -I/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/parNew -I/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_interface -I/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/interpreter -I/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory -I/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/oops -I/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/prims -I/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/runtime -I/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/services -I/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/shark -I/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/utilities -I/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm -I/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/os/linux/vm -I/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/os_cpu/linux_zero/vm -I../generated -DHOTSPOT_RELEASE_VERSION="\"14.0-b16\"" -DHOTSPOT_BUILD_TARGET="\"product\"" -DHOTSPOT_BUILD_USER="\"root\"" -DHOTSPOT_LIB_ARCH=\"arm\" -DJRE_RELEASE_VERSION="\"1.6.0_17-b17\"" -DHOTSPOT_VM_DISTRO="\"OpenJDK\"" -DSHARK -I/usr/local/include -D_GNU_SOURCE -fPIC -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -Wall -W -Wno-unused-parameter -Wwrite-strings -pedantic -Wno-long-long -DSHARK_LLVM_VERSION=27 -fpic -fno-rtti -fno-exceptions -D_REENTRANT -fcheck-new -pipe -g -O3 -fno-strict-aliasing -DHOTSPOT_ASM -DVM_LITTLE_ENDIAN -Werror -Wpointer-arith -Wsign-compare -c -x c++-header -c ../generated/incls/_precompiled.incl -o incls/_precompiled.incl.gch In file included from ../generated/incls/_precompiled.incl:52: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/oops/klassVtable.hpp:231:1: error: multi-line comment /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/oops/klassVtable.hpp:234:1: error: multi-line comment ... cc1plus: warnings being treated as errors In file included from ../generated/incls/_precompiled.incl:4: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/utilities/globalDefinitions.hpp: In function 'TosState as_TosState(BasicType)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/utilities/globalDefinitions.hpp:580: error: enumeration value 'T_ADDRESS' not handled in switch /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/utilities/globalDefinitions.hpp:580: error: enumeration value 'T_NARROWOOP' not handled in switch /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/utilities/globalDefinitions.hpp:580: error: enumeration value 'T_CONFLICT' not handled in switch /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/utilities/globalDefinitions.hpp:580: error: enumeration value 'T_ILLEGAL' not handled in switch /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/utilities/globalDefinitions.hpp: In function 'u8 build_u8_from(u1, u1, u1, u1, u1, u1, u1, u1)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/utilities/globalDefinitions.hpp:960: error: suggest parentheses around arithmetic in operand of | /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/utilities/globalDefinitions.hpp:961: error: suggest parentheses around arithmetic in operand of | /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/utilities/globalDefinitions.hpp:962: error: suggest parentheses around arithmetic in operand of | /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/utilities/globalDefinitions.hpp:963: error: suggest parentheses around arithmetic in operand of | /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/utilities/globalDefinitions.hpp:964: error: suggest parentheses around arithmetic in operand of | /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/utilities/globalDefinitions.hpp:965: error: suggest parentheses around arithmetic in operand of | /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/utilities/globalDefinitions.hpp:966: error: suggest parentheses around arithmetic in operand of | /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/utilities/globalDefinitions.hpp: In function 'u4 build_u4_from(u1, u1, u1, u1)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/utilities/globalDefinitions.hpp:972: error: suggest parentheses around arithmetic in operand of | /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/utilities/globalDefinitions.hpp:973: error: suggest parentheses around arithmetic in operand of | /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/utilities/globalDefinitions.hpp:974: error: suggest parentheses around arithmetic in operand of | /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/utilities/globalDefinitions.hpp: In function 'u2 build_u2_from(u1, u1)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/utilities/globalDefinitions.hpp:985: error: suggest parentheses around arithmetic in operand of | /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/utilities/globalDefinitions.hpp: In function 'jlong build_long_from(u1, u1, u1, u1, u1, u1, u1, u1)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/utilities/globalDefinitions.hpp:1009: error: suggest parentheses around arithmetic in operand of | /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/utilities/globalDefinitions.hpp:1010: error: suggest parentheses around arithmetic in operand of | /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/utilities/globalDefinitions.hpp:1011: error: suggest parentheses around arithmetic in operand of | /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/utilities/globalDefinitions.hpp:1012: error: suggest parentheses around arithmetic in operand of | /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/utilities/globalDefinitions.hpp:1013: error: suggest parentheses around arithmetic in operand of | /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/utilities/globalDefinitions.hpp:1014: error: suggest parentheses around arithmetic in operand of | /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/utilities/globalDefinitions.hpp:1015: error: suggest parentheses around arithmetic in operand of | In file included from ../generated/incls/_precompiled.incl:6: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/globals_zero.hpp: At global scope: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/globals_zero.hpp:29: error: extra ';' /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/globals_zero.hpp:30: error: extra ';' ... In file included from ../generated/incls/_precompiled.incl:7: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp:31: error: extra ';' /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp:36: error: extra ';' ... In file included from ../generated/incls/_precompiled.incl:8: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/os/linux/vm/globals_linux.hpp:40: error: extra ';' /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/os/linux/vm/globals_linux.hpp:41: error: extra ';' ... In file included from ../generated/incls/_precompiled.incl:21: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/iterator.hpp:57: error: type qualifiers ignored on function return type /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/iterator.hpp:61: error: type qualifiers ignored on function return type In file included from ../generated/incls/_precompiled.incl:34: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp:61: error: type qualifiers ignored on function return type /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp:87: error: type qualifiers ignored on function return type ... /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp: In constructor 'CMSKeepAliveClosure::CMSKeepAliveClosure(CMSCollector*, MemRegion, CMSBitMap*, CMSMarkStack*, bool)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp:336: error: 'CMSKeepAliveClosure::_bit_map' will be initialized after /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp:335: error: 'CMSMarkStack* CMSKeepAliveClosure::_mark_stack' /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp:343: error: when initialized here /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp: In constructor 'CMSInnerParMarkAndPushClosure::CMSInnerParMarkAndPushClosure(CMSCollector*, MemRegion, CMSBitMap*, OopTaskQueue*)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp:363: error: 'CMSInnerParMarkAndPushClosure::_bit_map' will be initialized after /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp:362: error: 'OopTaskQueue* CMSInnerParMarkAndPushClosure::_work_queue' /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp:369: error: when initialized here In file included from ../generated/incls/_precompiled.incl:36: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.hpp: In constructor 'FilterIntoCSClosure::FilterIntoCSClosure(DirtyCardToOopClosure*, G1CollectedHeap*, OopClosure*)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.hpp:155: error: 'FilterIntoCSClosure::_dcto_cl' will be initialized after /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.hpp:153: error: 'G1CollectedHeap* FilterIntoCSClosure::_g1' /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.hpp:158: error: when initialized here /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.hpp: In constructor 'FilterAndMarkInHeapRegionAndIntoCSClosure::FilterAndMarkInHeapRegionAndIntoCSClosure(G1CollectedHeap*, OopsInHeapRegionClosure*, ConcurrentMark*)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.hpp:191: error: 'FilterAndMarkInHeapRegionAndIntoCSClosure::_oc' will be initialized after /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.hpp:190: error: 'ConcurrentMark* FilterAndMarkInHeapRegionAndIntoCSClosure::_cm' /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.hpp:195: error: when initialized here In file included from ../generated/incls/_precompiled.incl:41: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/allocation.inline.hpp: In function 'char* AllocateHeap(size_t, const char*)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/allocation.inline.hpp:37: error: statement has no effect /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/allocation.inline.hpp: In function 'char* ReallocateHeap(char*, size_t, const char*)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/allocation.inline.hpp:48: error: statement has no effect In file included from ../generated/incls/_precompiled.incl:47: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/runtime/jniHandles.hpp: At global scope: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/runtime/jniHandles.hpp:177: error: extra ';' /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/runtime/jniHandles.hpp:185: error: extra ';' ... In file included from ../generated/incls/_precompiled.incl:54: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/oops/typeArrayKlass.hpp: In static member function 'static klassOopDesc* typeArrayKlass::create_klass(BasicType, int, Thread*)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/oops/typeArrayKlass.hpp:45: error: statement has no effect In file included from ../generated/incls/_precompiled.incl:76: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/code/relocInfo.hpp: At global scope: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/code/relocInfo.hpp:1304: error: extra ';' In file included from ../generated/incls/_precompiled.incl:84: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/oops/cpCacheOop.hpp:222: error: type qualifiers ignored on function return type /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/oops/cpCacheOop.hpp: In member function 'void ConstantPoolCacheEntry::set_f1(oopDesc*)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/oops/cpCacheOop.hpp:125: error: unused variable 'existing_f1' In file included from ../generated/incls/_precompiled.incl:85: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/oops/constantPoolOop.hpp: In member function 'klassOopDesc* constantPoolOopDesc::klass_at(int, Thread*)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/oops/constantPoolOop.hpp:233: error: statement has no effect /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/oops/constantPoolOop.hpp: In member function 'oopDesc* constantPoolOopDesc::string_at(int, Thread*)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/oops/constantPoolOop.hpp:286: error: statement has no effect /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/oops/constantPoolOop.hpp: In member function 'void constantPoolOopDesc::resolve_string_constants(Thread*)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/oops/constantPoolOop.hpp:363: error: statement has no effect /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/oops/constantPoolOop.hpp: In constructor 'SymbolHashMapEntry::SymbolHashMapEntry(unsigned int, symbolOopDesc*, u2)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/oops/constantPoolOop.hpp:481: error: 'SymbolHashMapEntry::_value' will be initialized after /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/oops/constantPoolOop.hpp:479: error: 'SymbolHashMapEntry* SymbolHashMapEntry::_next' /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/oops/constantPoolOop.hpp:496: error: when initialized here In file included from ../generated/incls/_precompiled.incl:92: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/oops/methodOop.hpp: At global scope: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/oops/methodOop.hpp:138: error: type qualifiers ignored on function return type /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/oops/methodOop.hpp:139: error: type qualifiers ignored on function return type ... In file included from ../generated/incls/_precompiled.incl:95: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/runtime/perfData.hpp: In static member function 'static PerfStringVariable* PerfDataManager::create_string_variable(CounterNS, const char*, const char*, Thread*)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/runtime/perfData.hpp:764: error: statement has no effect /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/runtime/perfData.hpp: In static member function 'static PerfLongVariable* PerfDataManager::create_long_variable(CounterNS, const char*, PerfData::Units, Thread*)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/runtime/perfData.hpp:775: error: statement has no effect ... In file included from ../generated/incls/_precompiled.incl:96: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/runtime/synchronizer.hpp: In member function 'void ObjectLocker::wait(Thread*)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/runtime/synchronizer.hpp:209: error: statement has no effect /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/runtime/synchronizer.hpp: In member function 'void ObjectLocker::notify_all(Thread*)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/runtime/synchronizer.hpp:210: error: statement has no effect ... In file included from ../generated/incls/_precompiled.incl:98: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/runtime/registerMap.hpp: At global scope: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/runtime/registerMap.hpp:65: error: ISO C++ forbids zero-size array '_location' /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/runtime/registerMap.hpp:66: error: ISO C++ forbids zero-size array '_location_valid' In file included from ../generated/incls/_precompiled.incl:108: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/runtime/hpi.hpp:170: error: extra ';' /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/runtime/hpi.hpp:175: error: extra ';' ... In file included from ../generated/incls/_precompiled.incl:118: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/nativeInst_zero.hpp: In member function 'bool NativeInstruction::is_jump()': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/nativeInst_zero.hpp:45: error: no return statement in function returning non-void /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/nativeInst_zero.hpp: In member function 'bool NativeInstruction::is_safepoint_poll()': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/nativeInst_zero.hpp:49: error: no return statement in function returning non-void /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/nativeInst_zero.hpp: In function 'NativeInstruction* nativeInstruction_at(unsigned char*)': ... In file included from ../generated/incls/_precompiled.incl:121: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/threadLocalAllocBuffer.hpp: At global scope: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/threadLocalAllocBuffer.hpp:99: error: type qualifiers ignored on function return type /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/threadLocalAllocBuffer.hpp:100: error: type qualifiers ignored on function return type In file included from ../generated/incls/_thread_pd.hpp.incl:1, from /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/runtime/thread.hpp:1444, from ../generated/incls/_precompiled.incl:127: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp: In member function 'bool JavaThread::pd_get_top_frame_for_signal_handler(frame*, void*, bool)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp:98: error: no return statement in function returning non-void In file included from ../generated/incls/_precompiled.incl:141: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/code/dependencies.hpp: In constructor 'Dependencies::DepStream::DepStream(Dependencies*)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/code/dependencies.hpp:395: error: 'Dependencies::DepStream::_deps' will be initialized after /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/code/dependencies.hpp:394: error: 'nmethod* Dependencies::DepStream::_code' /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/code/dependencies.hpp:413: error: when initialized here /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/code/dependencies.hpp: In constructor 'Dependencies::DepStream::DepStream(nmethod*)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/code/dependencies.hpp:395: error: 'Dependencies::DepStream::_deps' will be initialized after /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/code/dependencies.hpp:394: error: 'nmethod* Dependencies::DepStream::_code' /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/code/dependencies.hpp:420: error: when initialized here In file included from ../generated/incls/_precompiled.incl:142: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/code/exceptionHandlerTable.hpp: In constructor 'ImplicitExceptionTable::ImplicitExceptionTable()': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/code/exceptionHandlerTable.hpp:138: error: 'ImplicitExceptionTable::_data' will be initialized after /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/code/exceptionHandlerTable.hpp:136: error: 'uint ImplicitExceptionTable::_size' /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/code/exceptionHandlerTable.hpp:142: error: when initialized here In file included from ../generated/incls/_precompiled.incl:152: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/referenceProcessor.hpp: In constructor 'ReferenceProcessor::ReferenceProcessor()': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/referenceProcessor.hpp:94: error: 'ReferenceProcessor::_discoveredPhantomRefs' will be initialized after /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/referenceProcessor.hpp:53: error: 'bool ReferenceProcessor::_discovering_refs' /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/referenceProcessor.hpp:233: error: when initialized here /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/referenceProcessor.hpp:65: error: 'ReferenceProcessor::_enqueuing_is_done' will be initialized after /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/referenceProcessor.hpp:56: error: 'bool ReferenceProcessor::_discovery_is_mt' /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/referenceProcessor.hpp:233: error: when initialized here /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/referenceProcessor.hpp:89: error: 'ReferenceProcessor::_num_q' will be initialized after /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/referenceProcessor.hpp:66: error: 'bool ReferenceProcessor::_processing_is_mt' /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/referenceProcessor.hpp:233: error: when initialized here /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/referenceProcessor.hpp: In constructor 'NoRefDiscovery::NoRefDiscovery(ReferenceProcessor*)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/referenceProcessor.hpp:344: error: suggest parentheses around assignment used as truth value In file included from ../generated/incls/_precompiled.incl:154: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/watermark.hpp: In constructor 'WaterMark::WaterMark(Space*, HeapWord*)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/watermark.hpp:34: error: 'WaterMark::_space' will be initialized after /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/watermark.hpp:33: error: 'HeapWord* WaterMark::_point' /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/watermark.hpp:43: error: when initialized here /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/watermark.hpp: In constructor 'WaterMark::WaterMark()': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/watermark.hpp:34: error: 'WaterMark::_space' will be initialized after /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/watermark.hpp:33: error: 'HeapWord* WaterMark::_point' /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/watermark.hpp:44: error: when initialized here In file included from ../generated/incls/_precompiled.incl:155: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/generation.hpp: At global scope: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/generation.hpp:505: error: type qualifiers ignored on function return type /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/generation.hpp: In constructor 'OneContigSpaceCardGeneration::OneContigSpaceCardGeneration(ReservedSpace, size_t, size_t, int, GenRemSet*, ContiguousSpace*)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/generation.hpp:639: error: 'OneContigSpaceCardGeneration::_the_space' will be initialized after /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/generation.hpp:638: error: 'size_t OneContigSpaceCardGeneration::_min_heap_delta_bytes' /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/generation.hpp:661: error: when initialized here In file included from ../generated/incls/_precompiled.incl:157: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/collectorPolicy.hpp: In constructor 'CollectorPolicy::CollectorPolicy()': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/collectorPolicy.hpp:70: error: 'CollectorPolicy::_max_alignment' will be initialized after /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/collectorPolicy.hpp:65: error: 'size_t CollectorPolicy::_initial_heap_byte_size' /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/collectorPolicy.hpp:72: error: when initialized here In file included from ../generated/incls/_precompiled.incl:163: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/classfile/classFileStream.hpp: In member function 'void ClassFileStream::guarantee_more(int, Thread*)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/classfile/classFileStream.hpp:61: error: statement has no effect In file included from ../generated/incls/_precompiled.incl:172: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/space.hpp: In constructor 'DirtyCardToOopClosure::DirtyCardToOopClosure(Space*, OopClosure*, CardTableModRefBS::PrecisionStyle, HeapWord*)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/space.hpp:295: error: 'DirtyCardToOopClosure::_sp' will be initialized after /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/space.hpp:294: error: 'OopClosure* DirtyCardToOopClosure::_cl' /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/space.hpp:326: error: when initialized here In file included from ../generated/incls/_precompiled.incl:175: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/shared/generationCounters.hpp: In constructor 'GenerationCounters::GenerationCounters()': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/shared/generationCounters.hpp:42: error: 'GenerationCounters::_name_space' will be initialized after /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/shared/generationCounters.hpp:32: error: 'PerfVariable* GenerationCounters::_current_size' /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/shared/generationCounters.hpp:47: error: when initialized here In file included from ../generated/incls/_precompiled.incl:185: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/shared/allocationStats.hpp: In member function 'void AllocationStats::initialize()': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/shared/allocationStats.hpp:59: error: unused variable 'dummy' In file included from ../generated/incls/_precompiled.incl:188: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp: At global scope: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp:426: error: type qualifiers ignored on function return type /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp:427: error: type qualifiers ignored on function return type In file included from ../generated/incls/_precompiled.incl:190: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/services/memoryService.hpp:122: error: type qualifiers ignored on function return type /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/services/memoryService.hpp:125: error: type qualifiers ignored on function return type In file included from ../generated/incls/_precompiled.incl:197: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_interface/collectedHeap.inline.hpp: In static member function 'static HeapWord* CollectedHeap::common_mem_allocate_init(size_t, bool, Thread*)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_interface/collectedHeap.inline.hpp:164: error: statement has no effect /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_interface/collectedHeap.inline.hpp: In static member function 'static HeapWord* CollectedHeap::common_permanent_mem_allocate_init(size_t, Thread*)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_interface/collectedHeap.inline.hpp:207: error: statement has no effect ... In file included from ../generated/incls/_precompiled.incl:200: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/shared/markSweep.hpp: At global scope: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/shared/markSweep.hpp:60: error: type qualifiers ignored on function return type /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/shared/markSweep.hpp:67: error: type qualifiers ignored on function return type ... In file included from ../generated/incls/_precompiled.incl:207: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp:802: error: type qualifiers ignored on function return type /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp:1065: error: type qualifiers ignored on function return type ... In file included from ../generated/incls/_precompiled.incl:210: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/classfile/classFileParser.hpp: In member function 'void ClassFileParser::guarantee_property(bool, const char*, Thread*)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/classfile/classFileParser.hpp:155: error: statement has no effect /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/classfile/classFileParser.hpp: In member function 'void ClassFileParser::check_property(bool, const char*, int, Thread*)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/classfile/classFileParser.hpp:166: error: statement has no effect ... In file included from ../generated/incls/_precompiled.incl:220: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/runtime/vm_operations.hpp: In constructor 'VM_FindDeadlocks::VM_FindDeadlocks(bool)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/runtime/vm_operations.hpp:303: error: 'VM_FindDeadlocks::_out' will be initialized after /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/runtime/vm_operations.hpp:302: error: 'DeadlockCycle* VM_FindDeadlocks::_deadlocks' /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/runtime/vm_operations.hpp:306: error: when initialized here /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/runtime/vm_operations.hpp: In constructor 'VM_FindDeadlocks::VM_FindDeadlocks(outputStream*)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/runtime/vm_operations.hpp:303: error: 'VM_FindDeadlocks::_out' will be initialized after /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/runtime/vm_operations.hpp:302: error: 'DeadlockCycle* VM_FindDeadlocks::_deadlocks' /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/runtime/vm_operations.hpp:307: error: when initialized here In file included from ../generated/incls/_precompiled.incl:223: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/ci/ciUtilities.hpp: At global scope: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/ci/ciUtilities.hpp:106: error: type qualifiers ignored on function return type In file included from ../generated/incls/_precompiled.incl:243: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/oopFactory.hpp: In static member function 'static typeArrayOopDesc* oopFactory::new_boolArray(int, Thread*)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/oopFactory.hpp:32: error: statement has no effect /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/oopFactory.hpp: In static member function 'static typeArrayOopDesc* oopFactory::new_charArray(int, Thread*)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/memory/oopFactory.hpp:33: error: statement has no effect ... In file included from ../generated/incls/_disassembler_pd.hpp.incl:1, from /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/compiler/disassembler.hpp:50, from ../generated/incls/_precompiled.incl:244: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/disassembler_zero.hpp: In static member function 'static int Disassembler::pd_instruction_alignment()': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/disassembler_zero.hpp:31: error: no return statement in function returning non-void /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/disassembler_zero.hpp: In static member function 'static const char* Disassembler::pd_cpu_opts()': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/disassembler_zero.hpp:35: error: no return statement in function returning non-void In file included from ../generated/incls/_precompiled.incl:254: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/entry_zero.hpp: In member function 'void ZeroEntry::invoke(methodOopDesc*, Thread*) const': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/entry_zero.hpp:54: error: ISO C++ forbids casting between pointer-to-function and pointer-to-object /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/entry_zero.hpp: In member function 'void ZeroEntry::invoke_osr(methodOopDesc*, unsigned char*, Thread*) const': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/entry_zero.hpp:57: error: ISO C++ forbids casting between pointer-to-function and pointer-to-object In file included from ../generated/incls/_precompiled.incl:255: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/interpreter/interpreter.hpp: At global scope: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/interpreter/interpreter.hpp:67: error: extra ';' In file included from ../generated/incls/_interpreter_pd.hpp.incl:1, from /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/interpreter/interpreter.hpp:133, from ../generated/incls/_precompiled.incl:255: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/interpreter_zero.hpp: In static member function 'static int Interpreter::expr_tag_index_at(int)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/interpreter_zero.hpp:44: error: no return statement in function returning non-void /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/interpreter_zero.hpp: In static member function 'static int Interpreter::expr_tag_offset_in_bytes(int)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/interpreter_zero.hpp:52: error: no return statement in function returning non-void /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/interpreter_zero.hpp: In static member function 'static int Interpreter::local_tag_index_at(int)': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/interpreter_zero.hpp:61: error: no return statement in function returning non-void In file included from ../generated/incls/_precompiled.incl:259: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/interpreter/bytecode.hpp: In member function 'void Bytecode_loadconstant::verify() const': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/interpreter/bytecode.hpp:361: error: unused variable 'stdc' In file included from ../generated/incls/_frame_pd.inline.hpp.incl:1, from /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/runtime/frame.inline.hpp:55, from ../generated/incls/_precompiled.incl:269: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/frame_zero.inline.hpp: In member function 'intptr_t* frame::link() const': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/frame_zero.inline.hpp:74: error: no return statement in function returning non-void /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/frame_zero.inline.hpp: In member function 'oopDesc* frame::saved_oop_result(RegisterMap*) const': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/frame_zero.inline.hpp:136: error: no return statement in function returning non-void /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/frame_zero.inline.hpp: In member function 'bool frame::is_older(intptr_t*) const': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/frame_zero.inline.hpp:140: error: no return statement in function returning non-void /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/frame_zero.inline.hpp: In member function 'intptr_t* frame::entry_frame_argument_at(int) const': /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/cpu/zero/vm/frame_zero.inline.hpp:144: error: no return statement in function returning non-void In file included from ../generated/incls/_precompiled.incl:282: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp: At global scope: /ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp:86: error: type qualifiers ignored on function return type make[6]: *** [incls/_precompiled.incl.gch] Error 1 make[6]: Leaving directory `/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/build/linux-arm/hotspot/outputdir/linux_arm_shark/product' make[5]: *** [the_vm] Error 2 make[5]: Leaving directory `/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/build/linux-arm/hotspot/outputdir/linux_arm_shark/product' make[4]: *** [productshark] Error 2 make[4]: Leaving directory `/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/build/linux-arm/hotspot/outputdir' make[3]: *** [generic_buildshark] Error 2 make[3]: Leaving directory `/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/make' make[2]: *** [productshark] Error 2 make[2]: Leaving directory `/ssd/icedtea6-tot-shark-12jan/openjdk-ecj/hotspot/make' make[1]: *** [hotspot-build] Error 2 make[1]: Leaving directory `/ssd/icedtea6-tot-shark-12jan/openjdk-ecj' make: *** [stamps/icedtea-ecj.stamp] Error 2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 04:50:25 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 13 Jan 2010 12:50:25 +0000 Subject: [Bug 429] New: cacao+Icedtea6 on ARM build failure on armv7l systems Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=429 Summary: cacao+Icedtea6 on ARM build failure on armv7l systems Product: IcedTea Version: unspecified Platform: Other OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: xerxes at zafena.se cd cacao/cacao && \ ./configure \ --host= \ --build= \ --target= \ --prefix=/media/disk/icedtea6-cacao/cacao/install \ --with-java-runtime-library=openjdk \ --with-java-runtime-library-prefix=/media/disk/icedtea6-cacao/openjdk \ --with-java-runtime-library-classes=/media/disk/icedtea6-cacao/lib/rt \ --enable-jre-layout ; \ /usr/bin/make install checking build system type... armv7l-unknown-linux-gnueabi checking host system type... armv7l-unknown-linux-gnueabi checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking how to create a ustar tar archive... gnutar checking whether to enable maintainer-specific portions of Makefiles... no configure: error: armv7l systems are not supported at this time make[1]: Entering directory `/media/disk/icedtea6-cacao/cacao/cacao-0.99.4' make[1]: *** No rule to make target `install'. Stop. make[1]: Leaving directory `/media/disk/icedtea6-cacao/cacao/cacao-0.99.4' make: *** [stamps/cacao.stamp] Error 2 real 74m20.593s user 12m21.030s sys 1m45.750s xerxes at xerxes:/media/disk/icedtea6-cacao$ -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 05:03:59 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 13 Jan 2010 13:03:59 +0000 Subject: [Bug 429] cacao+Icedtea6 on ARM build failure on armv7l systems Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=429 ------- Comment #1 from doko at ubuntu.com 2010-01-13 13:03 ------- the openjdk-6 builds on ubuntu karmic and lucid are all done targeting armv7, however these are configured with the triplet arm-linux-gnueabi. there are patches in at least IcedTea6 patching cacao to use the atomic builtins, so the build should succeed. You may want to configure using the arm-linux-gnueabi and passing cpu specific options to CFLAGS. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 05:06:25 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 13 Jan 2010 13:06:25 +0000 Subject: [Bug 428] Shark on ARM precompiled header incls/_precompiled.incl.gch build failure Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=428 ------- Comment #1 from doko at ubuntu.com 2010-01-13 13:06 ------- the ARM build using gcj-4.4 as bootstrap vm/compiler does stop a lot earlier for me. currently building icedtea6 with icedtea6. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 05:27:22 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 13 Jan 2010 13:27:22 +0000 Subject: [Bug 429] cacao+Icedtea6 on ARM build failure on armv7l systems Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=429 ------- Comment #2 from xerxes at zafena.se 2010-01-13 13:27 ------- Thank you Matthias! configuring the icedtea6 build with configure --enable-cacao --build=arm-linux-gnueabi workaround this issue for me. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 06:02:24 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 13 Jan 2010 14:02:24 +0000 Subject: [Bug 429] cacao+Icedtea6 on ARM build failure on armv7l systems Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=429 ------- Comment #3 from gnu_andrew at member.fsf.org 2010-01-13 14:02 ------- Is someone filing these patches with upstream cacao? -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 06:31:46 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 13 Jan 2010 14:31:46 +0000 Subject: [Bug 429] cacao+Icedtea6 on ARM build failure on armv7l systems Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=429 ------- Comment #4 from doko at ubuntu.com 2010-01-13 14:31 ------- the patch for using the atomic builtins is filed in cacao, but the project is "quiet". -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From gnu_andrew at member.fsf.org Wed Jan 13 07:53:37 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Wed, 13 Jan 2010 15:53:37 +0000 Subject: Status of 1.7 In-Reply-To: <17c6771e1001111219w156a7087s2e5ab99243ffd55a@mail.gmail.com> References: <17c6771e1001081120j59c42cdegc03a3093f6df6186@mail.gmail.com> <4B4AF10F.7040608@ubuntu.com> <17c6771e1001110611r194589c3tf6f3c41464bfede7@mail.gmail.com> <4B4B5615.9010200@ubuntu.com> <17c6771e1001111219w156a7087s2e5ab99243ffd55a@mail.gmail.com> Message-ID: <17c6771e1001130753r70453de2w423d9eda6f38ec69@mail.gmail.com> 2010/1/11 Andrew John Hughes : > 2010/1/11 Matthias Klose : >> On 11.01.2010 15:11, Andrew John Hughes wrote: >>> >>> 2010/1/11 Matthias Klose: >>>> >>>> On 08.01.2010 20:20, Andrew John Hughes wrote: >>>>> >>>>> Dear all, >>>>> >>>>> We've done some testing of the upcoming 1.7 release within Red Hat and >>>>> don't see any regressions in JTreg. ?Deepak also now believes the new >>>>> plugin to be of a quality suitable for an alpha release as part of >>>>> 1.7. >>>>> >>>>> I have a few minor fixes to add (bumping the hs16 option to the latest >>>>> revision and fixing a very minor issue with --with-parallel-jobs not >>>>> working if used without an argument). ?I'd like to aim for a release >>>>> on Wednesday. >>>>> >>>>> Does this sound suitable to everyone? >>>> >>>> seen two issues: >>>> >>>> ?- 1.7 doesn't build on sparc64, at least on Debian. Asked if it does >>>> ? build on Fedora currently, but didn't get a reply yet. >>>> >>> >>> I guess there aren't that many people running sparc64 GNU/Linux boxes >>> and building OpenJDK; I know I don't have any way of testing this ?If >>> it's been packaged for Fedora sparc64 though, I would have thought it >>> was built automatically. >>> >>> Is this a regression from 1.6? ?Or an existing problem? >> >> I don't know about the status of the Fedora builds. I just saw that it >> doesn't build on sparc64, while it does on sparc. Debian currently tries to >> bootstrap a sparc64 port. >> > > Neither do I. ?What are you trying to build - zero or the native sparc > port? ?And does it work when using precompiled headers? ?And does it > succeed on 1.6? > >>>> ?- the jpeg7 patch probably needs to be reverted/changed. It seems >>>> ? to be wrong to use another libjpeg than what was used for the >>>> ? build. See http://bugs.debian.org/563999. >>>> ? "sun.awt.image.ImageFormatException: Wrong JPEG library version: >>>> ? library is 70, caller expects 62. >>>> ? I can't even build using jpeg7 because of conflicting build >>>> ? dependencies. >>>> ? So either revert this patch, or stick to the jpeg version which >>>> ? was used for the build. >>>> >>> >>> Well, we can't revert it without breaking all the new systems now >>> using libjpeg7. >>> >>> The version check occurs from these calls: >>> >>> jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c: >>> jpegcreatedecompress(&cinfo, JPEG_LIB_VERSION, (size_t) sizeof(struct >>> jpeg_decompress_struct)); >>> jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c: >>> jpegcreatedecompress(cinfo, JPEG_LIB_VERSION, (size_t) sizeof(struct >>> jpeg_decompress_struct)); >>> jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c: >>> jpegcreatecompress(cinfo, JPEG_LIB_VERSION, (size_t) sizeof(struct >>> jpeg_compress_struct)); >>> >>> which are hardcoded with the build libjpeg version when compiled. >>> Changing the lib selection to: >>> >>> #if JPEG_LIB_VERSION>= 70 >>> ? ? void *handle = dlopen("libjpeg.so.7", RTLD_LAZY | RTLD_GLOBAL); >>> #else >>> ? ? void *handle = dlopen("libjpeg.so.62", RTLD_LAZY | RTLD_GLOBAL); >>> #endif >>> >>> should thus fix the problem by making the dlopen line match the later >>> version check. >> >> yes, this looks appropriate. >> > > Thanks. ?Checked in to HEAD and 1.7. > -- > Andrew :-) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > Support Free Java! > Contribute to GNU Classpath and the OpenJDK > http://www.gnu.org/software/classpath > http://openjdk.java.net > > PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > Fingerprint: F8EF F1EA 401E 2E60 15FA ?7927 142C 2591 94EF D9D8 > I'm still working on hs16; Shark needs a patch to build against the latest b13. As hs16 is non-default, I'd rather we shipped with the version that will be in b18 rather than an earlier version. That should allow testing of hs16 with 1.7 to be comparable with the eventual b18 version. Other than that, there are a few configure issues I'd like to fix before release (just some output cleanup and the issue with --with-parallel-jobs i mentioned before). I don't think sparc64 support is worth holding back on 1.7 for, especially as it's not a regression from 1.6. So let's go for a release on Friday, all being well. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 12:19:35 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 13 Jan 2010 20:19:35 +0000 Subject: [Bug 430] New: [OpenJDK6 Shark] Fails to boostrap with hs16 build Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=430 Summary: [OpenJDK6 Shark] Fails to boostrap with hs16 build Product: IcedTea Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: gnu_andrew at member.fsf.org build-classes-javac: [mkdir] Created dir: /mnt/builder/shark6/openjdk/build/linux-amd64/langtools/build/gensrc [mkdir] Created dir: /mnt/builder/shark6/openjdk/build/linux-amd64/langtools/build/classes [pcompile] Generating 7 resource files to /mnt/builder/shark6/openjdk/build/linux-amd64/langtools/build/gensrc [copy] Copying 1 file to /mnt/builder/shark6/openjdk/build/linux-amd64/langtools/build/gensrc [pcompile] Generating 1 resource files to /mnt/builder/shark6/openjdk/build/linux-amd64/langtools/build/gensrc [javac] Compiling 8 source files to /mnt/builder/shark6/openjdk/build/linux-amd64/langtools/build/classes [javac] Compiling 244 source files to /mnt/builder/shark6/openjdk/build/linux-amd64/langtools/build/classes [javac] # [javac] # A fatal error has been detected by the Java Runtime Environment: [javac] # [javac] # Internal Error (os_linux_zero.cpp:236), pid=25630, tid=47573782411024 [javac] # Error: caught unhandled signal 11 [javac] # [javac] # JRE version: 6.0_17-b17 [javac] # Java VM: OpenJDK 64-Bit Shark VM (14.0-b16 mixed mode linux-amd64 ) [javac] # An error report file with more information is saved as: [javac] # /mnt/builder/shark6/openjdk/langtools/hs_err_pid25630.log [javac] # [javac] # If you would like to submit a bug report, please include [javac] # instructions how to reproduce the bug and visit: [javac] # http://icedtea.classpath.org/bugzilla [javac] # -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 12:20:03 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 13 Jan 2010 20:20:03 +0000 Subject: [Bug 430] [OpenJDK6 Shark] Fails to boostrap with hs16 build Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=430 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|gbenson at redhat.com |.org | -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From andrew at icedtea.classpath.org Wed Jan 13 13:11:02 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 13 Jan 2010 21:11:02 +0000 Subject: /hg/icedtea6: 3 new changesets Message-ID: changeset a939ca5b49d5 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=a939ca5b49d5 author: Andrew John Hughes date: Mon Jan 11 21:37:57 2010 +0000 Bump to HotSpot 16 build 13. 2010-01-11 Andrew John Hughes Bump to latest HotSpot 16 (b13). * patches/icedtea-memory-limits.patch: Moved to HotSpot- specific directories. * Makefile.am: Use new memory-limits patches. * hotspot.map: Bump to HotSpot 16 b13. * patches/hotspot/hs16/icedtea-params-cast-size_t.patch, * patches/hotspot/original/memory-limits.patch: Recreated for the new build. changeset e3fbdd21b1fa in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=e3fbdd21b1fa author: Andrew John Hughes date: Mon Jan 11 22:29:53 2010 +0000 Add missing memory limits patch for HotSpot 16. 2010-01-11 Andrew John Hughes * patches/hotspot/hs16/memory-limits.patch: Add HotSpot 16 version of memory limits patch. changeset a578b17f5853 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=a578b17f5853 author: Andrew John Hughes date: Wed Jan 13 21:14:16 2010 +0000 Patch Shark to build against hs16 and remove dead platform_zero symlink. 2010-01-11 Andrew John Hughes * Makefile.am: Remove redundant platform_zero symlink. Add new Shark patch. * patches/hotspot/hs16/shark.patch: Replace 32-bit DefaultMaxRAM with 64-bit MaxRAM when building HotSpot 16 b13. diffstat: 8 files changed, 115 insertions(+), 57 deletions(-) ChangeLog | 25 +++++++ Makefile.am | 6 - hotspot.map | 2 patches/hotspot/hs16/icedtea-params-cast-size_t.patch | 60 ++++++++--------- patches/hotspot/hs16/memory-limits.patch | 24 ++++++ patches/hotspot/hs16/shark.patch | 9 ++ patches/hotspot/original/memory-limits.patch | 23 ++++++ patches/icedtea-memory-limits.patch | 23 ------ diffs (333 lines): diff -r 8577904b8e6f -r a578b17f5853 ChangeLog --- a/ChangeLog Mon Jan 11 20:12:43 2010 +0000 +++ b/ChangeLog Wed Jan 13 21:14:16 2010 +0000 @@ -1,3 +1,28 @@ 2010-01-11 Andrew John Hughes + + * Makefile.am: + Remove redundant platform_zero symlink. + Add new Shark patch. + * patches/hotspot/hs16/shark.patch: + Replace 32-bit DefaultMaxRAM with 64-bit + MaxRAM when building HotSpot 16 b13. + +2010-01-11 Andrew John Hughes + + * patches/hotspot/hs16/memory-limits.patch: + Add HotSpot 16 version of memory limits patch. + +2010-01-11 Andrew John Hughes + + Bump to latest HotSpot 16 (b13). + * patches/icedtea-memory-limits.patch: + Moved to HotSpot-specific directories. + * Makefile.am: Use new memory-limits patches. + * hotspot.map: Bump to HotSpot 16 b13. + * patches/hotspot/hs16/icedtea-params-cast-size_t.patch, + * patches/hotspot/original/memory-limits.patch: + Recreated for the new build. + 2010-01-11 Andrew John Hughes * patches/icedtea-libraries.patch: diff -r 8577904b8e6f -r a578b17f5853 Makefile.am --- a/Makefile.am Mon Jan 11 20:12:43 2010 +0000 +++ b/Makefile.am Wed Jan 13 21:14:16 2010 +0000 @@ -223,7 +223,7 @@ ICEDTEA_PATCHES = \ patches/icedtea-gcc-suffix.patch \ patches/icedtea-gcc-suffix-hotspot.patch \ patches/icedtea-bytebuffer-compact.patch \ - patches/icedtea-memory-limits.patch \ + patches/hotspot/$(HSBUILD)/memory-limits.patch \ patches/icedtea-sunsrc.patch \ patches/icedtea-libraries.patch \ patches/icedtea-javafiles.patch \ @@ -350,7 +350,8 @@ endif if WITH_ALT_HSBUILD ICEDTEA_PATCHES += patches/hotspot/$(HSBUILD)/openjdk-6886353-ignore_deoptimizealot.patch \ - patches/hotspot/$(HSBUILD)/zero.patch + patches/hotspot/$(HSBUILD)/zero.patch \ + patches/hotspot/$(HSBUILD)/shark.patch else ICEDTEA_PATCHES += patches/hotspot/original/icedtea-6778662-lib64.patch \ patches/hotspot/original/icedtea-6778657-f2i-overflow.patch \ @@ -835,7 +836,6 @@ stamps/ports.stamp: stamps/replace-hotsp link=$$(dirname $$target | sed 's/^.*ports/openjdk/'|sed "s#hotspot/build#hotspot/$(HOTSPOT_MAKE_DIR)#"); \ cp -rv $$target $$link; \ done - ln -sf $(abs_top_builddir)/platform_zero openjdk/hotspot/$(HOTSPOT_MAKE_DIR)/linux if ! test "x$(WITH_CACAO)" = "xno" ; then \ mkdir -p openjdk/jdk/src/solaris/bin/$(BUILD_ARCH_DIR) ; \ ln -sf $(abs_top_builddir)/jvm.cfg \ diff -r 8577904b8e6f -r a578b17f5853 hotspot.map --- a/hotspot.map Mon Jan 11 20:12:43 2010 +0000 +++ b/hotspot.map Wed Jan 13 21:14:16 2010 +0000 @@ -1,2 +1,2 @@ # version url changeset md5sum -hs16 http://hg.openjdk.java.net/hsx/hsx16/master 6bdfda9a7120 e194a7baefb2f55e21a280276a11b49a +hs16 http://hg.openjdk.java.net/hsx/hsx16/master 62926c7f67a3 d683eb501e7ce710198f20f0c127ebbb diff -r 8577904b8e6f -r a578b17f5853 patches/hotspot/hs16/icedtea-params-cast-size_t.patch --- a/patches/hotspot/hs16/icedtea-params-cast-size_t.patch Mon Jan 11 20:12:43 2010 +0000 +++ b/patches/hotspot/hs16/icedtea-params-cast-size_t.patch Wed Jan 13 21:14:16 2010 +0000 @@ -1,7 +1,7 @@ diff -Nru openjdk.orig/hotspot/src/share 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 2009-10-02 22:16:39.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp 2009-10-20 22:59:56.000000000 +0100 -@@ -940,7 +940,7 @@ +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp 2009-12-08 23:12:17.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp 2010-01-11 20:57:36.000000000 +0000 +@@ -941,7 +941,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"); @@ -10,7 +10,7 @@ diff -Nru openjdk.orig/hotspot/src/share } if (expand_bytes > 0) { if (PrintGCDetails && Verbose) { -@@ -6094,7 +6094,7 @@ +@@ -6095,7 +6095,7 @@ HeapWord* curAddr = _markBitMap.startWord(); while (curAddr < _markBitMap.endWord()) { size_t remaining = pointer_delta(_markBitMap.endWord(), curAddr); @@ -19,7 +19,7 @@ diff -Nru openjdk.orig/hotspot/src/share _markBitMap.clear_large_range(chunk); if (ConcurrentMarkSweepThread::should_yield() && !foregroundGCIsActive() && -@@ -6382,7 +6382,7 @@ +@@ -6383,7 +6383,7 @@ return; } // Double capacity if possible @@ -29,8 +29,8 @@ diff -Nru openjdk.orig/hotspot/src/share // get the double capacity that we desired. ReservedSpace rs(ReservedSpace::allocation_align_size_up( diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp openjdk/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp ---- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp 2009-10-20 22:57:45.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp 2009-10-20 22:59:56.000000000 +0100 +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp 2010-01-11 20:48:22.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp 2010-01-11 20:57:36.000000000 +0000 @@ -412,7 +412,7 @@ _regionStack(), // _finger set in set_non_marking_state @@ -67,7 +67,7 @@ diff -Nru openjdk.orig/hotspot/src/share for (int i = 0; i < size; i++) delete _par_cleanup_thread_state[i]; FREE_C_HEAP_ARRAY(ParCleanupThreadState*, _par_cleanup_thread_state); -@@ -1761,7 +1761,7 @@ +@@ -1708,7 +1708,7 @@ if (has_aborted()) return; int first = 0; @@ -76,7 +76,7 @@ diff -Nru openjdk.orig/hotspot/src/share for (int t = 0; t < last; t++) { UncleanRegionList* list = &_par_cleanup_thread_state[t]->list; assert(list->well_formed(), "Inv"); -@@ -3197,7 +3197,7 @@ +@@ -3202,7 +3202,7 @@ // of things to do) or totally (at the very end). size_t target_size; if (partially) @@ -86,8 +86,8 @@ diff -Nru openjdk.orig/hotspot/src/share target_size = 0; diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ---- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp 2009-10-02 22:16:39.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp 2009-10-20 23:01:31.000000000 +0100 +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp 2009-12-08 23:12:17.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp 2010-01-11 20:57:36.000000000 +0000 @@ -1058,7 +1058,7 @@ // This can be done by either mutator threads together with the // concurrent refinement threads or GC threads. @@ -98,8 +98,8 @@ diff -Nru openjdk.orig/hotspot/src/share HeapRegionRemSet::HeapRegionRemSet(G1BlockOffsetSharedArray* bosa, 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 2009-10-02 22:16:39.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp 2009-10-20 22:59:56.000000000 +0100 +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp 2009-12-08 23:12:17.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp 2010-01-11 20:57:36.000000000 +0000 @@ -863,8 +863,8 @@ void PSParallelCompact::initialize_dead_wood_limiter() { @@ -112,8 +112,8 @@ diff -Nru openjdk.orig/hotspot/src/share 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 2009-10-02 22:16:39.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp 2009-10-20 22:59:56.000000000 +0100 +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp 2009-12-08 23:12:17.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp 2010-01-11 20:57:36.000000000 +0000 @@ -63,7 +63,7 @@ _last_used = current_live; @@ -124,8 +124,8 @@ diff -Nru openjdk.orig/hotspot/src/share // 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 2009-10-02 22:16:39.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp 2009-10-20 22:59:56.000000000 +0100 +--- openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp 2009-12-08 23:12:17.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp 2010-01-11 20:57:36.000000000 +0000 @@ -281,7 +281,7 @@ // yield a size that is too small) and bound it by MaxNewSize above. // Ergonomics plays here by previously calculating the desired @@ -198,8 +198,8 @@ diff -Nru openjdk.orig/hotspot/src/share } else { 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 2009-10-02 22:16:39.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp 2009-10-20 22:59:56.000000000 +0100 +--- openjdk.orig/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp 2009-12-08 23:12:17.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp 2010-01-11 20:57:36.000000000 +0000 @@ -221,7 +221,7 @@ size_t init_sz; @@ -210,9 +210,9 @@ diff -Nru openjdk.orig/hotspot/src/share // 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 2009-10-20 22:57:44.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2009-10-20 23:02:17.000000000 +0100 -@@ -1064,7 +1064,7 @@ +--- openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp 2010-01-11 20:48:21.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2010-01-11 20:59:44.000000000 +0000 +@@ -1071,7 +1071,7 @@ // NewSize was set on the command line and it is larger than // preferred_max_new_size. if (!FLAG_IS_DEFAULT(NewSize)) { // NewSize explicitly set at command-line @@ -221,7 +221,7 @@ diff -Nru openjdk.orig/hotspot/src/share } else { FLAG_SET_ERGO(uintx, MaxNewSize, preferred_max_new_size); } -@@ -1083,7 +1083,7 @@ +@@ -1090,7 +1090,7 @@ // there was no obvious reason. Also limit to the case where // MaxNewSize has not been set. @@ -230,23 +230,23 @@ diff -Nru openjdk.orig/hotspot/src/share // Code along this path potentially sets NewSize and OldSize -@@ -1125,8 +1125,8 @@ +@@ -1132,8 +1132,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, MAX2((size_t) NewSize, min_new)); + FLAG_SET_ERGO(uintx, NewSize, MIN2(preferred_max_new_size, (size_t) NewSize)); - if(PrintGCDetails && Verbose) { + if (PrintGCDetails && Verbose) { // Too early to use gclog_or_tty tty->print_cr("Ergo set NewSize: " SIZE_FORMAT, NewSize); -@@ -1137,7 +1137,7 @@ +@@ -1144,7 +1144,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) { +- 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); diff -r 8577904b8e6f -r a578b17f5853 patches/hotspot/hs16/memory-limits.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/hs16/memory-limits.patch Wed Jan 13 21:14:16 2010 +0000 @@ -0,0 +1,24 @@ +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 2009-12-08 23:12:17.000000000 +0000 ++++ openjdk/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp 2010-01-11 20:44:32.000000000 +0000 +@@ -95,7 +95,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); +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 2009-12-08 23:12:17.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/globals.hpp 2010-01-11 20:45:17.000000000 +0000 +@@ -2809,7 +2809,7 @@ + product(uintx, InitialHeapSize, 0, \ + "Initial heap size (in bytes); zero means OldSize + NewSize") \ + \ +- product(uintx, MaxHeapSize, ScaleForWordSize(96*M), \ ++ product(uintx, MaxHeapSize, ScaleForWordSize(512*M), \ + "Maximum heap size (in bytes)") \ + \ + product(uintx, OldSize, ScaleForWordSize(4*M), \ diff -r 8577904b8e6f -r a578b17f5853 patches/hotspot/hs16/shark.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/hs16/shark.patch Wed Jan 13 21:14:16 2010 +0000 @@ -0,0 +1,9 @@ +--- openjdk.orig/hotspot/src/cpu//zero/vm/shark_globals_zero.hpp 2009-09-10 15:36:58.658607552 +0100 ++++ openjdk/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp 2010-01-13 14:57:16.000000000 +0000 +@@ -59,5 +59,5 @@ + define_pd_global(uintx, PermSize, 12*M ); + define_pd_global(uintx, MaxPermSize, 64*M ); + define_pd_global(bool, NeverActAsServerClassMachine, true ); +-define_pd_global(uintx, DefaultMaxRAM, 1*G ); ++define_pd_global(uint64_t,MaxRAM, 1ULL*G); + define_pd_global(bool, CICompileOSR, true ); diff -r 8577904b8e6f -r a578b17f5853 patches/hotspot/original/memory-limits.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/original/memory-limits.patch Wed Jan 13 21:14:16 2010 +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, \ diff -r 8577904b8e6f -r a578b17f5853 patches/icedtea-memory-limits.patch --- a/patches/icedtea-memory-limits.patch Mon Jan 11 20:12:43 2010 +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, \ From andrew at icedtea.classpath.org Wed Jan 13 13:27:09 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 13 Jan 2010 21:27:09 +0000 Subject: /hg/release/icedtea6-1.7: 4 new changesets Message-ID: changeset 34b991244936 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=34b991244936 author: Andrew John Hughes date: Mon Jan 11 21:37:57 2010 +0000 Bump to HotSpot 16 build 13. 2010-01-11 Andrew John Hughes Bump to latest HotSpot 16 (b13). * patches/icedtea-memory-limits.patch: Moved to HotSpot- specific directories. * Makefile.am: Use new memory-limits patches. * hotspot.map: Bump to HotSpot 16 b13. * patches/hotspot/hs16/icedtea-params-cast-size_t.patch, * patches/hotspot/original/memory-limits.patch: Recreated for the new build. changeset 5dfdcdd83daa in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=5dfdcdd83daa author: Andrew John Hughes date: Mon Jan 11 22:29:53 2010 +0000 Add missing memory limits patch for HotSpot 16. 2010-01-11 Andrew John Hughes * patches/hotspot/hs16/memory-limits.patch: Add HotSpot 16 version of memory limits patch. changeset e7b6c0cff401 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=e7b6c0cff401 author: Andrew John Hughes date: Wed Jan 13 21:14:16 2010 +0000 Patch Shark to build against hs16 and remove dead platform_zero symlink. 2010-01-11 Andrew John Hughes * Makefile.am: Remove redundant platform_zero symlink. Add new Shark patch. * patches/hotspot/hs16/shark.patch: Replace 32-bit DefaultMaxRAM with 64-bit MaxRAM when building HotSpot 16 b13. changeset e3fb5ca2bab8 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=e3fb5ca2bab8 author: Andrew John Hughes date: Wed Jan 13 21:32:58 2010 +0000 Merge diffstat: 10 files changed, 177 insertions(+), 113 deletions(-) ChangeLog | 31 ++++ Makefile.am | 6 hotspot.map | 2 patches/hotspot/hs16/icedtea-params-cast-size_t.patch | 60 ++++----- patches/hotspot/hs16/memory-limits.patch | 24 +++ patches/hotspot/hs16/shark.patch | 9 + patches/hotspot/original/memory-limits.patch | 23 +++ patches/icedtea-memory-limits.patch | 23 --- ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def | 110 ++++++++--------- ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S | 2 diffs (492 lines): diff -r 3b776f966751 -r e3fb5ca2bab8 ChangeLog --- a/ChangeLog Mon Jan 11 20:12:43 2010 +0000 +++ b/ChangeLog Wed Jan 13 21:32:58 2010 +0000 @@ -1,3 +1,34 @@ 2010-01-11 Andrew John Hughes + + * Makefile.am: + Remove redundant platform_zero symlink. + Add new Shark patch. + * patches/hotspot/hs16/shark.patch: + Replace 32-bit DefaultMaxRAM with 64-bit + MaxRAM when building HotSpot 16 b13. + +2010-01-13 Edward Nevill + + * ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def, + * ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S: + This was causing some test failures with "Unimplemented opcode = 230" + +2010-01-11 Andrew John Hughes + + * patches/hotspot/hs16/memory-limits.patch: + Add HotSpot 16 version of memory limits patch. + +2010-01-11 Andrew John Hughes + + Bump to latest HotSpot 16 (b13). + * patches/icedtea-memory-limits.patch: + Moved to HotSpot-specific directories. + * Makefile.am: Use new memory-limits patches. + * hotspot.map: Bump to HotSpot 16 b13. + * patches/hotspot/hs16/icedtea-params-cast-size_t.patch, + * patches/hotspot/original/memory-limits.patch: + Recreated for the new build. + 2010-01-11 Andrew John Hughes * patches/icedtea-libraries.patch: diff -r 3b776f966751 -r e3fb5ca2bab8 Makefile.am --- a/Makefile.am Mon Jan 11 20:12:43 2010 +0000 +++ b/Makefile.am Wed Jan 13 21:32:58 2010 +0000 @@ -220,7 +220,7 @@ ICEDTEA_PATCHES = \ patches/icedtea-gcc-suffix.patch \ patches/icedtea-gcc-suffix-hotspot.patch \ patches/icedtea-bytebuffer-compact.patch \ - patches/icedtea-memory-limits.patch \ + patches/hotspot/$(HSBUILD)/memory-limits.patch \ patches/icedtea-sunsrc.patch \ patches/icedtea-libraries.patch \ patches/icedtea-javafiles.patch \ @@ -347,7 +347,8 @@ endif if WITH_ALT_HSBUILD ICEDTEA_PATCHES += patches/hotspot/$(HSBUILD)/openjdk-6886353-ignore_deoptimizealot.patch \ - patches/hotspot/$(HSBUILD)/zero.patch + patches/hotspot/$(HSBUILD)/zero.patch \ + patches/hotspot/$(HSBUILD)/shark.patch else ICEDTEA_PATCHES += patches/hotspot/original/icedtea-6778662-lib64.patch \ patches/hotspot/original/icedtea-6778657-f2i-overflow.patch \ @@ -832,7 +833,6 @@ stamps/ports.stamp: stamps/replace-hotsp link=$$(dirname $$target | sed 's/^.*ports/openjdk/'|sed "s#hotspot/build#hotspot/$(HOTSPOT_MAKE_DIR)#"); \ cp -rv $$target $$link; \ done - ln -sf $(abs_top_builddir)/platform_zero openjdk/hotspot/$(HOTSPOT_MAKE_DIR)/linux if ! test "x$(WITH_CACAO)" = "xno" ; then \ mkdir -p openjdk/jdk/src/solaris/bin/$(BUILD_ARCH_DIR) ; \ ln -sf $(abs_top_builddir)/jvm.cfg \ diff -r 3b776f966751 -r e3fb5ca2bab8 hotspot.map --- a/hotspot.map Mon Jan 11 20:12:43 2010 +0000 +++ b/hotspot.map Wed Jan 13 21:32:58 2010 +0000 @@ -1,2 +1,2 @@ # version url changeset md5sum -hs16 http://hg.openjdk.java.net/hsx/hsx16/master 6bdfda9a7120 e194a7baefb2f55e21a280276a11b49a +hs16 http://hg.openjdk.java.net/hsx/hsx16/master 62926c7f67a3 d683eb501e7ce710198f20f0c127ebbb diff -r 3b776f966751 -r e3fb5ca2bab8 patches/hotspot/hs16/icedtea-params-cast-size_t.patch --- a/patches/hotspot/hs16/icedtea-params-cast-size_t.patch Mon Jan 11 20:12:43 2010 +0000 +++ b/patches/hotspot/hs16/icedtea-params-cast-size_t.patch Wed Jan 13 21:32:58 2010 +0000 @@ -1,7 +1,7 @@ diff -Nru openjdk.orig/hotspot/src/share 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 2009-10-02 22:16:39.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp 2009-10-20 22:59:56.000000000 +0100 -@@ -940,7 +940,7 @@ +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp 2009-12-08 23:12:17.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp 2010-01-11 20:57:36.000000000 +0000 +@@ -941,7 +941,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"); @@ -10,7 +10,7 @@ diff -Nru openjdk.orig/hotspot/src/share } if (expand_bytes > 0) { if (PrintGCDetails && Verbose) { -@@ -6094,7 +6094,7 @@ +@@ -6095,7 +6095,7 @@ HeapWord* curAddr = _markBitMap.startWord(); while (curAddr < _markBitMap.endWord()) { size_t remaining = pointer_delta(_markBitMap.endWord(), curAddr); @@ -19,7 +19,7 @@ diff -Nru openjdk.orig/hotspot/src/share _markBitMap.clear_large_range(chunk); if (ConcurrentMarkSweepThread::should_yield() && !foregroundGCIsActive() && -@@ -6382,7 +6382,7 @@ +@@ -6383,7 +6383,7 @@ return; } // Double capacity if possible @@ -29,8 +29,8 @@ diff -Nru openjdk.orig/hotspot/src/share // get the double capacity that we desired. ReservedSpace rs(ReservedSpace::allocation_align_size_up( diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp openjdk/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp ---- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp 2009-10-20 22:57:45.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp 2009-10-20 22:59:56.000000000 +0100 +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp 2010-01-11 20:48:22.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp 2010-01-11 20:57:36.000000000 +0000 @@ -412,7 +412,7 @@ _regionStack(), // _finger set in set_non_marking_state @@ -67,7 +67,7 @@ diff -Nru openjdk.orig/hotspot/src/share for (int i = 0; i < size; i++) delete _par_cleanup_thread_state[i]; FREE_C_HEAP_ARRAY(ParCleanupThreadState*, _par_cleanup_thread_state); -@@ -1761,7 +1761,7 @@ +@@ -1708,7 +1708,7 @@ if (has_aborted()) return; int first = 0; @@ -76,7 +76,7 @@ diff -Nru openjdk.orig/hotspot/src/share for (int t = 0; t < last; t++) { UncleanRegionList* list = &_par_cleanup_thread_state[t]->list; assert(list->well_formed(), "Inv"); -@@ -3197,7 +3197,7 @@ +@@ -3202,7 +3202,7 @@ // of things to do) or totally (at the very end). size_t target_size; if (partially) @@ -86,8 +86,8 @@ diff -Nru openjdk.orig/hotspot/src/share target_size = 0; diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ---- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp 2009-10-02 22:16:39.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp 2009-10-20 23:01:31.000000000 +0100 +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp 2009-12-08 23:12:17.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp 2010-01-11 20:57:36.000000000 +0000 @@ -1058,7 +1058,7 @@ // This can be done by either mutator threads together with the // concurrent refinement threads or GC threads. @@ -98,8 +98,8 @@ diff -Nru openjdk.orig/hotspot/src/share HeapRegionRemSet::HeapRegionRemSet(G1BlockOffsetSharedArray* bosa, 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 2009-10-02 22:16:39.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp 2009-10-20 22:59:56.000000000 +0100 +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp 2009-12-08 23:12:17.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp 2010-01-11 20:57:36.000000000 +0000 @@ -863,8 +863,8 @@ void PSParallelCompact::initialize_dead_wood_limiter() { @@ -112,8 +112,8 @@ diff -Nru openjdk.orig/hotspot/src/share 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 2009-10-02 22:16:39.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp 2009-10-20 22:59:56.000000000 +0100 +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp 2009-12-08 23:12:17.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp 2010-01-11 20:57:36.000000000 +0000 @@ -63,7 +63,7 @@ _last_used = current_live; @@ -124,8 +124,8 @@ diff -Nru openjdk.orig/hotspot/src/share // 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 2009-10-02 22:16:39.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp 2009-10-20 22:59:56.000000000 +0100 +--- openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp 2009-12-08 23:12:17.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp 2010-01-11 20:57:36.000000000 +0000 @@ -281,7 +281,7 @@ // yield a size that is too small) and bound it by MaxNewSize above. // Ergonomics plays here by previously calculating the desired @@ -198,8 +198,8 @@ diff -Nru openjdk.orig/hotspot/src/share } else { 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 2009-10-02 22:16:39.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp 2009-10-20 22:59:56.000000000 +0100 +--- openjdk.orig/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp 2009-12-08 23:12:17.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp 2010-01-11 20:57:36.000000000 +0000 @@ -221,7 +221,7 @@ size_t init_sz; @@ -210,9 +210,9 @@ diff -Nru openjdk.orig/hotspot/src/share // 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 2009-10-20 22:57:44.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2009-10-20 23:02:17.000000000 +0100 -@@ -1064,7 +1064,7 @@ +--- openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp 2010-01-11 20:48:21.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2010-01-11 20:59:44.000000000 +0000 +@@ -1071,7 +1071,7 @@ // NewSize was set on the command line and it is larger than // preferred_max_new_size. if (!FLAG_IS_DEFAULT(NewSize)) { // NewSize explicitly set at command-line @@ -221,7 +221,7 @@ diff -Nru openjdk.orig/hotspot/src/share } else { FLAG_SET_ERGO(uintx, MaxNewSize, preferred_max_new_size); } -@@ -1083,7 +1083,7 @@ +@@ -1090,7 +1090,7 @@ // there was no obvious reason. Also limit to the case where // MaxNewSize has not been set. @@ -230,23 +230,23 @@ diff -Nru openjdk.orig/hotspot/src/share // Code along this path potentially sets NewSize and OldSize -@@ -1125,8 +1125,8 @@ +@@ -1132,8 +1132,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, MAX2((size_t) NewSize, min_new)); + FLAG_SET_ERGO(uintx, NewSize, MIN2(preferred_max_new_size, (size_t) NewSize)); - if(PrintGCDetails && Verbose) { + if (PrintGCDetails && Verbose) { // Too early to use gclog_or_tty tty->print_cr("Ergo set NewSize: " SIZE_FORMAT, NewSize); -@@ -1137,7 +1137,7 @@ +@@ -1144,7 +1144,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) { +- 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); diff -r 3b776f966751 -r e3fb5ca2bab8 patches/hotspot/hs16/memory-limits.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/hs16/memory-limits.patch Wed Jan 13 21:32:58 2010 +0000 @@ -0,0 +1,24 @@ +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 2009-12-08 23:12:17.000000000 +0000 ++++ openjdk/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp 2010-01-11 20:44:32.000000000 +0000 +@@ -95,7 +95,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); +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 2009-12-08 23:12:17.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/globals.hpp 2010-01-11 20:45:17.000000000 +0000 +@@ -2809,7 +2809,7 @@ + product(uintx, InitialHeapSize, 0, \ + "Initial heap size (in bytes); zero means OldSize + NewSize") \ + \ +- product(uintx, MaxHeapSize, ScaleForWordSize(96*M), \ ++ product(uintx, MaxHeapSize, ScaleForWordSize(512*M), \ + "Maximum heap size (in bytes)") \ + \ + product(uintx, OldSize, ScaleForWordSize(4*M), \ diff -r 3b776f966751 -r e3fb5ca2bab8 patches/hotspot/hs16/shark.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/hs16/shark.patch Wed Jan 13 21:32:58 2010 +0000 @@ -0,0 +1,9 @@ +--- openjdk.orig/hotspot/src/cpu//zero/vm/shark_globals_zero.hpp 2009-09-10 15:36:58.658607552 +0100 ++++ openjdk/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp 2010-01-13 14:57:16.000000000 +0000 +@@ -59,5 +59,5 @@ + define_pd_global(uintx, PermSize, 12*M ); + define_pd_global(uintx, MaxPermSize, 64*M ); + define_pd_global(bool, NeverActAsServerClassMachine, true ); +-define_pd_global(uintx, DefaultMaxRAM, 1*G ); ++define_pd_global(uint64_t,MaxRAM, 1ULL*G); + define_pd_global(bool, CICompileOSR, true ); diff -r 3b776f966751 -r e3fb5ca2bab8 patches/hotspot/original/memory-limits.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/original/memory-limits.patch Wed Jan 13 21:32:58 2010 +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, \ diff -r 3b776f966751 -r e3fb5ca2bab8 patches/icedtea-memory-limits.patch --- a/patches/icedtea-memory-limits.patch Mon Jan 11 20:12:43 2010 +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, \ diff -r 3b776f966751 -r e3fb5ca2bab8 ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def --- a/ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def Mon Jan 11 20:12:43 2010 +0000 +++ b/ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def Wed Jan 13 21:32:58 2010 +0000 @@ -267,7 +267,7 @@ iload_iload_N = 0xe4, 3 @return_register_finalizer = 0xe5, 1 -dmac = 0xe6, 2 + at dmac = 0xe6, 2 iload_0_iconst_N = 0xe7, 2 iload_1_iconst_N = 0xe8, 2 @@ -2455,10 +2455,10 @@ 2: } (dmul) dmul_vfp { - FBC cmp r2, #opc_dadd +@ FBC cmp r2, #opc_dadd DISPATCH_START_R2 - FBC beq 1f -2: +@ FBC beq 1f + at 2: vldr d7, [stack, #12] vldr d6, [stack, #4] DISPATCH_NEXT @@ -2469,30 +2469,30 @@ 2: vstr d0, [stack, #12] add stack, stack, #8 DISPATCH_FINISH -1: - FBC mov r2, #opc_dmac - FBC strb r2, [jpc, #-1] - FBC b 2b -} - -#ifdef FAST_BYTECODES - -(dmac) dmac_vfp { - DISPATCH_START \seq_len - vldr d2, [stack, #20] - vldr d1, [stack, #12] - vldr d0, [stack, #4] - DISPATCH_NEXT - DISPATCH_NEXT - fmacd d2, d1, d0 - DISPATCH_NEXT - DISPATCH_NEXT - vstr d2, [stack, #20] - add stack, stack, #16 - DISPATCH_FINISH -} - -#endif // FAST_BYTECODES + at 1: +@ FBC mov r2, #opc_dmac +@ FBC strb r2, [jpc, #-1] +@ FBC b 2b +} + +@#ifdef FAST_BYTECODES +@ +@(dmac) dmac_vfp { +@ DISPATCH_START \seq_len +@ vldr d2, [stack, #20] +@ vldr d1, [stack, #12] +@ vldr d0, [stack, #4] +@ DISPATCH_NEXT +@ DISPATCH_NEXT +@ fmacd d2, d1, d0 +@ DISPATCH_NEXT +@ DISPATCH_NEXT +@ vstr d2, [stack, #20] +@ add stack, stack, #16 +@ DISPATCH_FINISH +@} +@ +@#endif // FAST_BYTECODES (fdiv) fdiv_vfp { DISPATCH_START_R2 @@ -10013,32 +10013,32 @@ 1: DISPATCH_BYTECODE } -#ifdef HW_FP - -(dmac)(dastore) { - ldr tmp2, [stack, #28] - ldr tmp1, [stack, #32] - vldr d2, [stack, #20] - vldr d1, [stack, #12] - vldr d0, [stack, #4] - DISPATCH_START \seq_len - SW_NPC cmp tmp1, #0 - SW_NPC beq null_ptr_exception -.abortentry120: - ldr ip, [tmp1, #8] - cmp tmp2, ip - DISPATCH_NEXT - bcs array_bound_exception_jpc_1_tmp2 - DISPATCH_NEXT - add tmp2, tmp1, tmp2, lsl #3 - fmacd d2, d1, d0 - vstr d2, [tmp2, #BASE_OFFSET_LONG] - DISPATCH_NEXT - DISPATCH_NEXT - add stack, stack, #32 - DISPATCH_FINISH -} - -#endif //HW_FP +@#ifdef HW_FP +@ +@(dmac)(dastore) { +@ ldr tmp2, [stack, #28] +@ ldr tmp1, [stack, #32] +@ vldr d2, [stack, #20] +@ vldr d1, [stack, #12] +@ vldr d0, [stack, #4] +@ DISPATCH_START \seq_len +@ SW_NPC cmp tmp1, #0 +@ SW_NPC beq null_ptr_exception + at .abortentry120: +@ ldr ip, [tmp1, #8] +@ cmp tmp2, ip +@ DISPATCH_NEXT +@ bcs array_bound_exception_jpc_1_tmp2 +@ DISPATCH_NEXT +@ add tmp2, tmp1, tmp2, lsl #3 +@ fmacd d2, d1, d0 +@ vstr d2, [tmp2, #BASE_OFFSET_LONG] +@ DISPATCH_NEXT +@ DISPATCH_NEXT +@ add stack, stack, #32 +@ DISPATCH_FINISH +@} +@ +@#endif //HW_FP #endif // FAST_BYTECODES diff -r 3b776f966751 -r e3fb5ca2bab8 ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S --- a/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S Mon Jan 11 20:12:43 2010 +0000 +++ b/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S Wed Jan 13 21:32:58 2010 +0000 @@ -1304,7 +1304,7 @@ abort_table: FBC .word .abortentry117, 0 .word .abortentry118, 0 .word .abortentry119, return_throw_illegal_monitor_state - FBC .word .abortentry120, 0 +@ FBC .word .abortentry120, 0 .word 0 #else From gnu_andrew at member.fsf.org Wed Jan 13 13:37:37 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Wed, 13 Jan 2010 21:37:37 +0000 Subject: HotSpot 16 Message-ID: <17c6771e1001131337s68e4ca2fm2dd2ae9c87bd61c@mail.gmail.com> I've now bumped IcedTea6 HEAD and 1.7 to build the latest hs16 (b13) as I believe is used in the proprietary JDK 6 update 18. I've confirmed that both normal and Zero builds complete. Shark also builds but can't bootstrap itself; see http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=430 As both Shark and hs16 are experimental, I don't think that's a release stopper. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 14:46:29 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 13 Jan 2010 22:46:29 +0000 Subject: [Bug 185] Application SweetHome 3D crashes when i want to print Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=185 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |6-1.2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 14:47:17 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 13 Jan 2010 22:47:17 +0000 Subject: [Bug 316] unexpected error Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=316 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |6-1.2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 14:48:29 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 13 Jan 2010 22:48:29 +0000 Subject: [Bug 322] Thread#GetContextClassLoader() throws in IcedTeaPlugin Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=322 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Plugin -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 14:53:44 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 13 Jan 2010 22:53:44 +0000 Subject: [Bug 379] JVM failed while running an external library Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=379 ------- Comment #2 from gnu_andrew at member.fsf.org 2010-01-13 22:53 ------- Not even sure what version this is... according to NEWS, we didn't have a release which included b11... :-( -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 14:55:53 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 13 Jan 2010 22:55:53 +0000 Subject: [Bug 380] An unexpected error has been detected by Java Runtime Environment: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=380 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |6-1.2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 14:59:43 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 13 Jan 2010 22:59:43 +0000 Subject: [Bug 408] SIGSEGV: JavaThread "Java2D Disposer" crashes JVM Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=408 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |6-1.2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 15:01:00 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 13 Jan 2010 23:01:00 +0000 Subject: [Bug 409] additional info Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=409 ------- Comment #3 from gnu_andrew at member.fsf.org 2010-01-13 23:01 ------- Can you recheck this on a more recent version? -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 15:03:39 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 13 Jan 2010 23:03:39 +0000 Subject: [Bug 427] Openjdk doesn't load a scratch-ticket on a HP Compaq Presario CQ60-laptop. Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=427 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Plugin Version|unspecified |6-1.5.0 ------- Comment #4 from gnu_andrew at member.fsf.org 2010-01-13 23:03 ------- Guessing this is at least IcedTea6 1.5 (includes OpenJDK6 b16). -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 16:22:16 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 14 Jan 2010 00:22:16 +0000 Subject: [Bug 103] Usage of native2ascii during bootstrap Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=103 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|gnu_andrew at member.fsf.org |.org | -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 16:22:40 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 14 Jan 2010 00:22:40 +0000 Subject: [Bug 99] Don't link libstdc++ statically Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=99 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|gnu_andrew at member.fsf.org |.org | -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 16:27:05 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 14 Jan 2010 00:27:05 +0000 Subject: [Bug 107] configure options for embedded (no X/ alsa/ gtk / ...) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=107 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |REMIND ------- Comment #2 from gnu_andrew at member.fsf.org 2010-01-14 00:27 ------- CACAO is now available as a build option, though the JDK is still significantly large. Closing this as there are other easier options for an embedded JDK. Maybe worth looking at from a different post-build angle if JDK7's module system comes to fruition. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From dbhole at icedtea.classpath.org Wed Jan 13 16:27:45 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Thu, 14 Jan 2010 00:27:45 +0000 Subject: /hg/icedtea6: - Adding last bits for full Java->JS array element... Message-ID: changeset 9e6623803599 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=9e6623803599 author: Deepak Bhole date: Wed Jan 13 19:32:07 2010 -0500 - Adding last bits for full Java->JS array element access (read and write) support. - Checking in initial version of LiveConnect tests (WIP) diffstat: 24 files changed, 4647 insertions(+), 48 deletions(-) .hgignore | 1 ChangeLog | 46 plugin/icedteanp/IcedTeaJavaRequestProcessor.cc | 2 plugin/icedteanp/IcedTeaPluginRequestProcessor.cc | 118 +- plugin/icedteanp/IcedTeaPluginUtils.cc | 6 plugin/tests/LiveConnect/DummyObject.java | 15 plugin/tests/LiveConnect/OverloadTestHelper1.java | 1 plugin/tests/LiveConnect/OverloadTestHelper2.java | 1 plugin/tests/LiveConnect/OverloadTestHelper3.java | 1 plugin/tests/LiveConnect/PluginTest.java | 699 ++++++++++++++ plugin/tests/LiveConnect/build | 18 plugin/tests/LiveConnect/common.js | 215 ++++ plugin/tests/LiveConnect/index.html | 89 + plugin/tests/LiveConnect/jjs_func_parameters_tests.js | 107 ++ plugin/tests/LiveConnect/jjs_func_rettype_tests.js | 61 + plugin/tests/LiveConnect/jjs_get_tests.js | 114 ++ plugin/tests/LiveConnect/jjs_set_tests.js | 314 ++++++ plugin/tests/LiveConnect/jsj_func_overload_tests.js | 181 +++ plugin/tests/LiveConnect/jsj_func_parameters_tests.js | 216 ++++ plugin/tests/LiveConnect/jsj_func_rettype_tests.js | 262 +++++ plugin/tests/LiveConnect/jsj_get_tests.js | 260 +++++ plugin/tests/LiveConnect/jsj_set_tests.js | 318 ++++++ plugin/tests/LiveConnect/jsj_type_casting_tests.js | 825 +++++++++++++++++ plugin/tests/LiveConnect/jsj_type_conversion_tests.js | 825 +++++++++++++++++ diffs (truncated from 4929 to 500 lines): diff -r a578b17f5853 -r 9e6623803599 .hgignore --- a/.hgignore Wed Jan 13 21:14:16 2010 +0000 +++ b/.hgignore Wed Jan 13 19:32:07 2010 -0500 @@ -469,3 +469,4 @@ pulse-java.jar pulse-java.jar hotspot.tar.gz ports/hotspot/src/cpu/zero/vm/bytecodes_arm.s +plugin/tests/LiveConnect/*jar diff -r a578b17f5853 -r 9e6623803599 ChangeLog --- a/ChangeLog Wed Jan 13 21:14:16 2010 +0000 +++ b/ChangeLog Wed Jan 13 19:32:07 2010 -0500 @@ -1,3 +1,49 @@ 2010-01-11 Andrew John Hughes + + * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc + (newMessageOnBus): Service GetSlot and SetSlot requests. + (call): Create Java object from result only if it is non-null. + (setMember): Pass a preset identifier to _setMember. Handle array slot + setting. + (sendMember): Handle array slot read. + (queue_processor): Service GetSlot and SetSlot requests. + (_setMember): Work with property NPIdentifier instead of name string. + (_getMember): Same. + * plugin/icedteanp/IcedTeaPluginUtils.cc + (isObjectJSArray): Handle void constructor objects like 'window'. + * plugin/tests/LiveConnect/DummyObject.java: New file. Helper for plugin + tests. + * plugin/tests/LiveConnect/OverloadTestHelper1.java: Same. + * plugin/tests/LiveConnect/OverloadTestHelper2.java: Same. + * plugin/tests/LiveConnect/OverloadTestHelper3.java: Same. + * plugin/tests/LiveConnect/PluginTest.java: New file. Plugin test applet to + drive LiveConnect tests. + * plugin/tests/LiveConnect/build: New build. Build file for plugin tests. + * plugin/tests/LiveConnect/common.js: New file. Contains common + LiveConnect test functions. + * plugin/tests/LiveConnect/index.html: New file. Index from which + LiveConnect tests can be launched. + * plugin/tests/LiveConnect/jjs_func_parameters_tests.js: New file. + Contains Java -> JS parameter passing tests. + * plugin/tests/LiveConnect/jjs_func_rettype_tests.js: New file. Contains + Java -> JS invocation return type read tests. + * plugin/tests/LiveConnect/jjs_get_tests.js: New file. Contains Java -> + JS variable read tests. + * plugin/tests/LiveConnect/jjs_set_tests.js: New file. Contains Java -> JS + variable write tests. + * plugin/tests/LiveConnect/jsj_func_overload_tests.js: New file. Contains + overload resolution tests for JS -> Java invocation. + * plugin/tests/LiveConnect/jsj_func_parameters_tests.js: New file. + Contains JS -> Java parameter passing tests. + * plugin/tests/LiveConnect/jsj_func_rettype_tests.js: New file. Contains + JS -> Java invocation return type read tests. + * plugin/tests/LiveConnect/jsj_get_tests.js: New file. Contains JS -> Java + variable read tests. + * plugin/tests/LiveConnect/jsj_set_tests.js: New file. Contains JS -> Java + variable write tests. + * plugin/tests/LiveConnect/jsj_type_casting_tests.js: New file. Contains + JS -> Java type conversion tests. + 2010-01-11 Andrew John Hughes * Makefile.am: diff -r a578b17f5853 -r 9e6623803599 plugin/icedteanp/IcedTeaJavaRequestProcessor.cc --- a/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc Wed Jan 13 21:14:16 2010 +0000 +++ b/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc Wed Jan 13 19:32:07 2010 -0500 @@ -899,7 +899,7 @@ createJavaObjectFromVariant(NPP instance alreadyCreated = true; } else { - PLUGIN_DEBUG_0ARG("NPObject is not a Java object"); + PLUGIN_DEBUG_0ARG("NPObject is not a Java object\n"); NPIdentifier length_id = browser_functions.getstringidentifier("length"); // FIXME: We currently only handle <= 2 dim arrays. Do we really need more though? diff -r a578b17f5853 -r 9e6623803599 plugin/icedteanp/IcedTeaPluginRequestProcessor.cc --- a/plugin/icedteanp/IcedTeaPluginRequestProcessor.cc Wed Jan 13 21:14:16 2010 +0000 +++ b/plugin/icedteanp/IcedTeaPluginRequestProcessor.cc Wed Jan 13 19:32:07 2010 -0500 @@ -117,6 +117,8 @@ PluginRequestProcessor::newMessageOnBus( command == "SetMember" || command == "ToString" || command == "Call" || + command == "GetSlot" || + command == "SetSlot" || command == "Eval") { @@ -331,7 +333,14 @@ PluginRequestProcessor::call(std::vector NPVariant* result_variant = (NPVariant*) IcedTeaPluginUtilities::stringToJSID(thread_data.result); std::string result_variant_jniid = std::string(); - createJavaObjectFromVariant(instance, *result_variant, &result_variant_jniid); + + if (result_variant) + { + createJavaObjectFromVariant(instance, *result_variant, &result_variant_jniid); + } else + { + result_variant_jniid = "0"; + } IcedTeaPluginUtilities::constructMessagePrefix(0, &response); response += " JavaScriptCall "; @@ -408,11 +417,11 @@ PluginRequestProcessor::setMember(std::v PluginRequestProcessor::setMember(std::vector* message_parts) { std::string propertyNameID; - std::string property_name = std::string(); std::string value = std::string(); NPP instance; NPVariant* member; + NPIdentifier property_identifier; JavaRequestProcessor java_request = JavaRequestProcessor(); JavaResultData* java_result; @@ -434,17 +443,22 @@ PluginRequestProcessor::setMember(std::v instance = IcedTeaPluginUtilities::getInstanceFromMemberPtr(member); - java_result = java_request.getString(propertyNameID); - - // the result we want is in result_string (assuming there was no error) - if (java_result->error_occurred) - { - printf("Unable to get member name for setMember. Error occurred: %s\n", java_result->error_msg); - //goto cleanup; - } - - // Copy into local variable before disposing the object - property_name.append(*(java_result->return_string)); + if (message_parts->at(2) == "SetSlot") + { + property_identifier = browser_functions.getintidentifier(atoi(message_parts->at(4).c_str())); + } else + { + java_result = java_request.getString(propertyNameID); + + // the result we want is in result_string (assuming there was no error) + if (java_result->error_occurred) + { + printf("Unable to get member name for setMember. Error occurred: %s\n", java_result->error_msg); + //goto cleanup; + } + + property_identifier = browser_functions.getstringidentifier(java_result->return_string->c_str()); + } AsyncCallThreadData thread_data = AsyncCallThreadData(); thread_data.result_ready = false; @@ -453,7 +467,7 @@ PluginRequestProcessor::setMember(std::v thread_data.parameters.push_back(instance); thread_data.parameters.push_back(NPVARIANT_TO_OBJECT(*member)); - thread_data.parameters.push_back(&property_name); + thread_data.parameters.push_back(&property_identifier); thread_data.parameters.push_back(&value); #ifdef CHROMIUM_WORKAROUND @@ -505,6 +519,8 @@ PluginRequestProcessor::sendMember(std:: std::string jsObjectConstructorID = std::string(); std::string response = std::string(); + NPIdentifier member_identifier; + int method_id; int instance_id; long reference; @@ -517,16 +533,23 @@ PluginRequestProcessor::sendMember(std:: parent_ptr = (NPVariant*) (IcedTeaPluginUtilities::stringToJSID(message_parts->at(3))); member_id += message_parts->at(4); - /** Request data from Java **/ - - // make a new request for getString, to get the name of the identifier - java_result = java_request.getString(member_id); - - // the result we want is in result_string (assuming there was no error) - if (java_result->error_occurred) - { - printf("Unable to process getMember request. Error occurred: %s\n", java_result->error_msg); - //goto cleanup; + /** Request data from Java if necessary **/ + if (message_parts->at(2) == "GetSlot") + { + member_identifier = browser_functions.getintidentifier(atoi(member_id.c_str())); + } else + { + // make a new request for getString, to get the name of the identifier + java_result = java_request.getString(member_id); + + // the result we want is in result_string (assuming there was no error) + if (java_result->error_occurred) + { + printf("Unable to process getMember request. Error occurred: %s\n", java_result->error_msg); + //goto cleanup; + } + + member_identifier = browser_functions.getstringidentifier(java_result->return_string->c_str()); } /** Make an internal request for the main thread to handle, to get the member pointer **/ @@ -541,7 +564,7 @@ PluginRequestProcessor::sendMember(std:: NPP instance = IcedTeaPluginUtilities::getInstanceFromMemberPtr(parent_ptr); thread_data.parameters.push_back(instance); thread_data.parameters.push_back(NPVARIANT_TO_OBJECT(*parent_ptr)); - thread_data.parameters.push_back(java_result->return_string); + thread_data.parameters.push_back(&member_identifier); #ifdef CHROMIUM_WORKAROUND // Workaround for chromium @@ -609,7 +632,12 @@ PluginRequestProcessor::sendMember(std:: IcedTeaPluginUtilities::constructMessagePrefix(0, &response); - response.append(" JavaScriptGetMember "); + if (message_parts->at(2) == "GetSlot") + { + response.append(" JavaScriptGetMember "); + } else { + response.append(" JavaScriptGetSlot "); + } response.append(java_result->return_string->c_str()); plugin_to_java_bus->post(response.c_str()); @@ -678,6 +706,12 @@ queue_processor(void* data) pthread_mutex_lock(&syn_write_mutex); processor->sendMember(message_parts); pthread_mutex_unlock(&syn_write_mutex); + } else if (command == "SetSlot") + { + // write methods are synchronized + pthread_mutex_lock(&syn_write_mutex); + processor->setMember(message_parts); + pthread_mutex_unlock(&syn_write_mutex); } else { // Nothing matched @@ -704,27 +738,25 @@ void void _setMember(void* data) { - std::string* property_name; std::string* value; std::string response = std::string(); NPP instance; NPVariant value_variant = NPVariant(); NPObject* member; - NPIdentifier property; + NPIdentifier* property; std::vector parameters = ((AsyncCallThreadData*) data)->parameters; instance = (NPP) parameters.at(0); member = (NPObject*) parameters.at(1); - property_name = (std::string*) parameters.at(2); + property = (NPIdentifier*) parameters.at(2); value = (std::string*) parameters.at(3); - PLUGIN_DEBUG_4ARG("Setting %s on instance %p, object %p to value %s\n", property_name->c_str(), instance, member, value->c_str()); + PLUGIN_DEBUG_4ARG("Setting %s on instance %p, object %p to value %s\n", browser_functions.utf8fromidentifier(*property), instance, member, value->c_str()); IcedTeaPluginUtilities::javaResultToNPVariant(instance, value, &value_variant); - property = browser_functions.getstringidentifier(property_name->c_str()); - ((AsyncCallThreadData*) data)->call_successful = browser_functions.setproperty(instance, member, property, &value_variant); + ((AsyncCallThreadData*) data)->call_successful = browser_functions.setproperty(instance, member, *property, &value_variant); IcedTeaPluginUtilities::constructMessagePrefix(0, &response); response.append(" JavaScriptSetMember "); @@ -737,31 +769,25 @@ void void _getMember(void* data) { - std::string* member_name; - NPObject* parent_ptr; NPVariant* member_ptr = new NPVariant(); std::string member_ptr_str = std::string(); NPP instance; - NPIdentifier member_identifier; std::vector parameters = ((AsyncCallThreadData*) data)->parameters; instance = (NPP) parameters.at(0); parent_ptr = (NPObject*) parameters.at(1); - member_name = (std::string*) parameters.at(2); - - // Get the corresponding windowId - member_identifier = browser_functions.getstringidentifier(member_name->c_str()); + NPIdentifier* member_identifier = (NPIdentifier*) parameters.at(2); // Get the NPVariant corresponding to this member - PLUGIN_DEBUG_4ARG("Looking for %p %p %p (%s)\n", instance, parent_ptr, member_identifier,member_name->c_str()); - - if (!browser_functions.hasproperty(instance, parent_ptr, member_identifier)) - { - printf("%s not found!\n", member_name->c_str()); - } - ((AsyncCallThreadData*) data)->call_successful = browser_functions.getproperty(instance, parent_ptr, member_identifier, member_ptr); + PLUGIN_DEBUG_4ARG("Looking for %p %p %p (%s)\n", instance, parent_ptr, member_identifier, browser_functions.utf8fromidentifier(*member_identifier)); + + if (!browser_functions.hasproperty(instance, parent_ptr, *member_identifier)) + { + printf("%s not found!\n", browser_functions.utf8fromidentifier(*member_identifier)); + } + ((AsyncCallThreadData*) data)->call_successful = browser_functions.getproperty(instance, parent_ptr, *member_identifier, member_ptr); IcedTeaPluginUtilities::printNPVariant(*member_ptr); diff -r a578b17f5853 -r 9e6623803599 plugin/icedteanp/IcedTeaPluginUtils.cc --- a/plugin/icedteanp/IcedTeaPluginUtils.cc Wed Jan 13 21:14:16 2010 +0000 +++ b/plugin/icedteanp/IcedTeaPluginUtils.cc Wed Jan 13 19:32:07 2010 -0500 @@ -815,14 +815,18 @@ IcedTeaPluginUtilities::isObjectJSArray( NPVariant constructor_v = NPVariant(); NPIdentifier constructor_id = browser_functions.getstringidentifier("constructor"); browser_functions.getproperty(instance, object, constructor_id, &constructor_v); - IcedTeaPluginUtilities::printNPVariant(constructor_v); + + // void constructor => not an array + if (NPVARIANT_IS_VOID(constructor_v)) + return false; NPObject* constructor = NPVARIANT_TO_OBJECT(constructor_v); NPVariant constructor_str; NPIdentifier toString = browser_functions.getstringidentifier("toString"); browser_functions.invoke(instance, constructor, toString, NULL, 0, &constructor_str); + IcedTeaPluginUtilities::printNPVariant(constructor_str); std::string constructor_name = std::string(); diff -r a578b17f5853 -r 9e6623803599 plugin/tests/LiveConnect/DummyObject.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugin/tests/LiveConnect/DummyObject.java Wed Jan 13 19:32:07 2010 -0500 @@ -0,0 +1,15 @@ +public class DummyObject { + private String str; + + public DummyObject(String s) { + this.str = s; + } + + public void setStr(String s) { + this.str = s; + } + + public String toString() { + return str; + } +} diff -r a578b17f5853 -r 9e6623803599 plugin/tests/LiveConnect/OverloadTestHelper1.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugin/tests/LiveConnect/OverloadTestHelper1.java Wed Jan 13 19:32:07 2010 -0500 @@ -0,0 +1,1 @@ +public class OverloadTestHelper1 {} diff -r a578b17f5853 -r 9e6623803599 plugin/tests/LiveConnect/OverloadTestHelper2.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugin/tests/LiveConnect/OverloadTestHelper2.java Wed Jan 13 19:32:07 2010 -0500 @@ -0,0 +1,1 @@ +public class OverloadTestHelper2 extends OverloadTestHelper1 {} diff -r a578b17f5853 -r 9e6623803599 plugin/tests/LiveConnect/OverloadTestHelper3.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugin/tests/LiveConnect/OverloadTestHelper3.java Wed Jan 13 19:32:07 2010 -0500 @@ -0,0 +1,1 @@ +public class OverloadTestHelper3 extends OverloadTestHelper2 {} diff -r a578b17f5853 -r 9e6623803599 plugin/tests/LiveConnect/PluginTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugin/tests/LiveConnect/PluginTest.java Wed Jan 13 19:32:07 2010 -0500 @@ -0,0 +1,699 @@ +import javax.swing.JApplet; +import java.awt.Graphics; +import java.awt.*; +import java.applet.*; +import java.awt.event.*; +import netscape.javascript.JSObject; +import java.lang.reflect.Array; + +public class PluginTest extends JApplet { + + public int i = 42; + public double d = 42.42; + public float f = 42.1F; + public long l = 4294967296L; + public boolean b = true; + public char c = '\u2323'; + public byte by = 43; + public String rs = "I'm a string!"; + public String ss = "?????????$?????????"; + public Object n = null; + public int[] ia = new int[5]; + + public Integer I = 24; + public Double D = 24.24; + public Float F = 24.124F; + public Long L = 6927694924L; + public Boolean B = false; + public Character C = '\u1526'; + public Byte By = 34; + public Double[] Da1 = new Double[10]; + public Double[] Da2 = null; + + public char[] ca = new char[3]; + public Character[] Ca = new Character[3]; + + public void setUpForGMTests() { + i = 42; + d = 42.42; + f = 42.1F; + l = 4294967296L; + b = true; + c = '\u2323'; + by = 43; + rs = "I'm a string!"; + ss = "?????????$?????????"; + n = null; + + I = 24; + D = 24.24; + F = 24.124F; + L = 6927694924L; + B = false; + C = '\u1526'; + By = 34; + + ia[4] = 1024; + Da1[9] = D; + } + + public void setUpForSMTests() { + i = 0; + d = 0.0; + f = 0F; + l = 0L; + b = false; + c = 'A'; + by = 0; + rs = ""; + ss = ""; + n = new String("non-null object"); + + I = 0; + D = 0.0; + F = 0F; + L = 0L; + B = false; + C = 'A'; + By = null; + + ia[4] = 0; + Da1[9] = D; + } + + /* + ***************************************** + * JS -> Java Parameter conversion tests * + ***************************************** + */ + public void setUpForReturnTests() { + i = 41; + d = 41.41; + f = 41.411F; + l = 4294967297L; + b = true; + c = '\u2329'; + by = 44; + rs = "I'm a string too!"; + ss = "?????????$?????????"; + n = null; + + I = 14; + D = 14.14; + F = 14.114F; + L = 6927694925L; + B = false; + C = '\u2417'; + By = 46; + } + + /* + ************************************** + * JS -> Java invocation return tests * + ************************************** + */ + + public int intReturnTest() { return i; } + + public double doubleReturnTest() { return d; } + + public float floatReturnTest() { return f; } + + public long longReturnTest() { return l; } + + public boolean booleanReturnTest() { return b; } + + public char charReturnTest() { return c; } + + public byte byteReturnTest() { return by; } + + public char[] charArrayReturnTest() { + ca[0] = '\u2410'; From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 16:29:35 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 14 Jan 2010 00:29:35 +0000 Subject: [Bug 136] compilation of 6-1.1 crashes on jar option error [invalid option -- J] Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=136 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |6-1.3 ------- Comment #5 from gnu_andrew at member.fsf.org 2010-01-14 00:29 ------- This should now be fixed: 2008-10-22 Andrew John Hughes * Makefile.am: Pass JAR_KNOWS_J_OPTIONS to ecj make. * acinclude.m4: Check whether or not jar supports -J options at the end. * patches/icedtea-ecj-jopt.patch: Only add -J options to jar in JDK and CORBA when supported. Can you confirm that current IcedTea now builds for you? -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 16:29:51 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 14 Jan 2010 00:29:51 +0000 Subject: [Bug 136] compilation of 6-1.1 crashes on jar option error [invalid option -- J] Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=136 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|gnu_andrew at member.fsf.org |.org | -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 16:30:43 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 14 Jan 2010 00:30:43 +0000 Subject: [Bug 146] binaries (windows, solaris executables) in sources Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=146 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|gnu_andrew at member.fsf.org |.org | Version|unspecified |6-hg ------- Comment #4 from gnu_andrew at member.fsf.org 2010-01-14 00:30 ------- I've deleted these in 7. Will look at pushing such a fix upstream. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From dbhole at icedtea.classpath.org Wed Jan 13 16:31:03 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Thu, 14 Jan 2010 00:31:03 +0000 Subject: /hg/release/icedtea6-1.7: - Adding last bits for full Java->JS a... Message-ID: changeset eaf5d54cc7d1 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=eaf5d54cc7d1 author: Deepak Bhole date: Wed Jan 13 19:36:54 2010 -0500 - Adding last bits for full Java->JS array element access (read and write) support. - Checking in initial version of LiveConnect tests (WIP) diffstat: 24 files changed, 4647 insertions(+), 48 deletions(-) .hgignore | 1 ChangeLog | 46 plugin/icedteanp/IcedTeaJavaRequestProcessor.cc | 2 plugin/icedteanp/IcedTeaPluginRequestProcessor.cc | 118 +- plugin/icedteanp/IcedTeaPluginUtils.cc | 6 plugin/tests/LiveConnect/DummyObject.java | 15 plugin/tests/LiveConnect/OverloadTestHelper1.java | 1 plugin/tests/LiveConnect/OverloadTestHelper2.java | 1 plugin/tests/LiveConnect/OverloadTestHelper3.java | 1 plugin/tests/LiveConnect/PluginTest.java | 699 ++++++++++++++ plugin/tests/LiveConnect/build | 18 plugin/tests/LiveConnect/common.js | 215 ++++ plugin/tests/LiveConnect/index.html | 89 + plugin/tests/LiveConnect/jjs_func_parameters_tests.js | 107 ++ plugin/tests/LiveConnect/jjs_func_rettype_tests.js | 61 + plugin/tests/LiveConnect/jjs_get_tests.js | 114 ++ plugin/tests/LiveConnect/jjs_set_tests.js | 314 ++++++ plugin/tests/LiveConnect/jsj_func_overload_tests.js | 181 +++ plugin/tests/LiveConnect/jsj_func_parameters_tests.js | 216 ++++ plugin/tests/LiveConnect/jsj_func_rettype_tests.js | 262 +++++ plugin/tests/LiveConnect/jsj_get_tests.js | 260 +++++ plugin/tests/LiveConnect/jsj_set_tests.js | 318 ++++++ plugin/tests/LiveConnect/jsj_type_casting_tests.js | 825 +++++++++++++++++ plugin/tests/LiveConnect/jsj_type_conversion_tests.js | 825 +++++++++++++++++ diffs (truncated from 4929 to 500 lines): diff -r e3fb5ca2bab8 -r eaf5d54cc7d1 .hgignore --- a/.hgignore Wed Jan 13 21:32:58 2010 +0000 +++ b/.hgignore Wed Jan 13 19:36:54 2010 -0500 @@ -469,3 +469,4 @@ pulse-java.jar pulse-java.jar hotspot.tar.gz ports/hotspot/src/cpu/zero/vm/bytecodes_arm.s +plugin/tests/LiveConnect/*jar diff -r e3fb5ca2bab8 -r eaf5d54cc7d1 ChangeLog --- a/ChangeLog Wed Jan 13 21:32:58 2010 +0000 +++ b/ChangeLog Wed Jan 13 19:36:54 2010 -0500 @@ -1,3 +1,49 @@ 2010-01-13 Andrew John Hughes + + * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc + (newMessageOnBus): Service GetSlot and SetSlot requests. + (call): Create Java object from result only if it is non-null. + (setMember): Pass a preset identifier to _setMember. Handle array slot + setting. + (sendMember): Handle array slot read. + (queue_processor): Service GetSlot and SetSlot requests. + (_setMember): Work with property NPIdentifier instead of name string. + (_getMember): Same. + * plugin/icedteanp/IcedTeaPluginUtils.cc + (isObjectJSArray): Handle void constructor objects like 'window'. + * plugin/tests/LiveConnect/DummyObject.java: New file. Helper for plugin + tests. + * plugin/tests/LiveConnect/OverloadTestHelper1.java: Same. + * plugin/tests/LiveConnect/OverloadTestHelper2.java: Same. + * plugin/tests/LiveConnect/OverloadTestHelper3.java: Same. + * plugin/tests/LiveConnect/PluginTest.java: New file. Plugin test applet to + drive LiveConnect tests. + * plugin/tests/LiveConnect/build: New build. Build file for plugin tests. + * plugin/tests/LiveConnect/common.js: New file. Contains common + LiveConnect test functions. + * plugin/tests/LiveConnect/index.html: New file. Index from which + LiveConnect tests can be launched. + * plugin/tests/LiveConnect/jjs_func_parameters_tests.js: New file. + Contains Java -> JS parameter passing tests. + * plugin/tests/LiveConnect/jjs_func_rettype_tests.js: New file. Contains + Java -> JS invocation return type read tests. + * plugin/tests/LiveConnect/jjs_get_tests.js: New file. Contains Java -> + JS variable read tests. + * plugin/tests/LiveConnect/jjs_set_tests.js: New file. Contains Java -> JS + variable write tests. + * plugin/tests/LiveConnect/jsj_func_overload_tests.js: New file. Contains + overload resolution tests for JS -> Java invocation. + * plugin/tests/LiveConnect/jsj_func_parameters_tests.js: New file. + Contains JS -> Java parameter passing tests. + * plugin/tests/LiveConnect/jsj_func_rettype_tests.js: New file. Contains + JS -> Java invocation return type read tests. + * plugin/tests/LiveConnect/jsj_get_tests.js: New file. Contains JS -> Java + variable read tests. + * plugin/tests/LiveConnect/jsj_set_tests.js: New file. Contains JS -> Java + variable write tests. + * plugin/tests/LiveConnect/jsj_type_casting_tests.js: New file. Contains + JS -> Java type conversion tests. + 2010-01-13 Andrew John Hughes * Makefile.am: diff -r e3fb5ca2bab8 -r eaf5d54cc7d1 plugin/icedteanp/IcedTeaJavaRequestProcessor.cc --- a/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc Wed Jan 13 21:32:58 2010 +0000 +++ b/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc Wed Jan 13 19:36:54 2010 -0500 @@ -899,7 +899,7 @@ createJavaObjectFromVariant(NPP instance alreadyCreated = true; } else { - PLUGIN_DEBUG_0ARG("NPObject is not a Java object"); + PLUGIN_DEBUG_0ARG("NPObject is not a Java object\n"); NPIdentifier length_id = browser_functions.getstringidentifier("length"); // FIXME: We currently only handle <= 2 dim arrays. Do we really need more though? diff -r e3fb5ca2bab8 -r eaf5d54cc7d1 plugin/icedteanp/IcedTeaPluginRequestProcessor.cc --- a/plugin/icedteanp/IcedTeaPluginRequestProcessor.cc Wed Jan 13 21:32:58 2010 +0000 +++ b/plugin/icedteanp/IcedTeaPluginRequestProcessor.cc Wed Jan 13 19:36:54 2010 -0500 @@ -117,6 +117,8 @@ PluginRequestProcessor::newMessageOnBus( command == "SetMember" || command == "ToString" || command == "Call" || + command == "GetSlot" || + command == "SetSlot" || command == "Eval") { @@ -331,7 +333,14 @@ PluginRequestProcessor::call(std::vector NPVariant* result_variant = (NPVariant*) IcedTeaPluginUtilities::stringToJSID(thread_data.result); std::string result_variant_jniid = std::string(); - createJavaObjectFromVariant(instance, *result_variant, &result_variant_jniid); + + if (result_variant) + { + createJavaObjectFromVariant(instance, *result_variant, &result_variant_jniid); + } else + { + result_variant_jniid = "0"; + } IcedTeaPluginUtilities::constructMessagePrefix(0, &response); response += " JavaScriptCall "; @@ -408,11 +417,11 @@ PluginRequestProcessor::setMember(std::v PluginRequestProcessor::setMember(std::vector* message_parts) { std::string propertyNameID; - std::string property_name = std::string(); std::string value = std::string(); NPP instance; NPVariant* member; + NPIdentifier property_identifier; JavaRequestProcessor java_request = JavaRequestProcessor(); JavaResultData* java_result; @@ -434,17 +443,22 @@ PluginRequestProcessor::setMember(std::v instance = IcedTeaPluginUtilities::getInstanceFromMemberPtr(member); - java_result = java_request.getString(propertyNameID); - - // the result we want is in result_string (assuming there was no error) - if (java_result->error_occurred) - { - printf("Unable to get member name for setMember. Error occurred: %s\n", java_result->error_msg); - //goto cleanup; - } - - // Copy into local variable before disposing the object - property_name.append(*(java_result->return_string)); + if (message_parts->at(2) == "SetSlot") + { + property_identifier = browser_functions.getintidentifier(atoi(message_parts->at(4).c_str())); + } else + { + java_result = java_request.getString(propertyNameID); + + // the result we want is in result_string (assuming there was no error) + if (java_result->error_occurred) + { + printf("Unable to get member name for setMember. Error occurred: %s\n", java_result->error_msg); + //goto cleanup; + } + + property_identifier = browser_functions.getstringidentifier(java_result->return_string->c_str()); + } AsyncCallThreadData thread_data = AsyncCallThreadData(); thread_data.result_ready = false; @@ -453,7 +467,7 @@ PluginRequestProcessor::setMember(std::v thread_data.parameters.push_back(instance); thread_data.parameters.push_back(NPVARIANT_TO_OBJECT(*member)); - thread_data.parameters.push_back(&property_name); + thread_data.parameters.push_back(&property_identifier); thread_data.parameters.push_back(&value); #ifdef CHROMIUM_WORKAROUND @@ -505,6 +519,8 @@ PluginRequestProcessor::sendMember(std:: std::string jsObjectConstructorID = std::string(); std::string response = std::string(); + NPIdentifier member_identifier; + int method_id; int instance_id; long reference; @@ -517,16 +533,23 @@ PluginRequestProcessor::sendMember(std:: parent_ptr = (NPVariant*) (IcedTeaPluginUtilities::stringToJSID(message_parts->at(3))); member_id += message_parts->at(4); - /** Request data from Java **/ - - // make a new request for getString, to get the name of the identifier - java_result = java_request.getString(member_id); - - // the result we want is in result_string (assuming there was no error) - if (java_result->error_occurred) - { - printf("Unable to process getMember request. Error occurred: %s\n", java_result->error_msg); - //goto cleanup; + /** Request data from Java if necessary **/ + if (message_parts->at(2) == "GetSlot") + { + member_identifier = browser_functions.getintidentifier(atoi(member_id.c_str())); + } else + { + // make a new request for getString, to get the name of the identifier + java_result = java_request.getString(member_id); + + // the result we want is in result_string (assuming there was no error) + if (java_result->error_occurred) + { + printf("Unable to process getMember request. Error occurred: %s\n", java_result->error_msg); + //goto cleanup; + } + + member_identifier = browser_functions.getstringidentifier(java_result->return_string->c_str()); } /** Make an internal request for the main thread to handle, to get the member pointer **/ @@ -541,7 +564,7 @@ PluginRequestProcessor::sendMember(std:: NPP instance = IcedTeaPluginUtilities::getInstanceFromMemberPtr(parent_ptr); thread_data.parameters.push_back(instance); thread_data.parameters.push_back(NPVARIANT_TO_OBJECT(*parent_ptr)); - thread_data.parameters.push_back(java_result->return_string); + thread_data.parameters.push_back(&member_identifier); #ifdef CHROMIUM_WORKAROUND // Workaround for chromium @@ -609,7 +632,12 @@ PluginRequestProcessor::sendMember(std:: IcedTeaPluginUtilities::constructMessagePrefix(0, &response); - response.append(" JavaScriptGetMember "); + if (message_parts->at(2) == "GetSlot") + { + response.append(" JavaScriptGetMember "); + } else { + response.append(" JavaScriptGetSlot "); + } response.append(java_result->return_string->c_str()); plugin_to_java_bus->post(response.c_str()); @@ -678,6 +706,12 @@ queue_processor(void* data) pthread_mutex_lock(&syn_write_mutex); processor->sendMember(message_parts); pthread_mutex_unlock(&syn_write_mutex); + } else if (command == "SetSlot") + { + // write methods are synchronized + pthread_mutex_lock(&syn_write_mutex); + processor->setMember(message_parts); + pthread_mutex_unlock(&syn_write_mutex); } else { // Nothing matched @@ -704,27 +738,25 @@ void void _setMember(void* data) { - std::string* property_name; std::string* value; std::string response = std::string(); NPP instance; NPVariant value_variant = NPVariant(); NPObject* member; - NPIdentifier property; + NPIdentifier* property; std::vector parameters = ((AsyncCallThreadData*) data)->parameters; instance = (NPP) parameters.at(0); member = (NPObject*) parameters.at(1); - property_name = (std::string*) parameters.at(2); + property = (NPIdentifier*) parameters.at(2); value = (std::string*) parameters.at(3); - PLUGIN_DEBUG_4ARG("Setting %s on instance %p, object %p to value %s\n", property_name->c_str(), instance, member, value->c_str()); + PLUGIN_DEBUG_4ARG("Setting %s on instance %p, object %p to value %s\n", browser_functions.utf8fromidentifier(*property), instance, member, value->c_str()); IcedTeaPluginUtilities::javaResultToNPVariant(instance, value, &value_variant); - property = browser_functions.getstringidentifier(property_name->c_str()); - ((AsyncCallThreadData*) data)->call_successful = browser_functions.setproperty(instance, member, property, &value_variant); + ((AsyncCallThreadData*) data)->call_successful = browser_functions.setproperty(instance, member, *property, &value_variant); IcedTeaPluginUtilities::constructMessagePrefix(0, &response); response.append(" JavaScriptSetMember "); @@ -737,31 +769,25 @@ void void _getMember(void* data) { - std::string* member_name; - NPObject* parent_ptr; NPVariant* member_ptr = new NPVariant(); std::string member_ptr_str = std::string(); NPP instance; - NPIdentifier member_identifier; std::vector parameters = ((AsyncCallThreadData*) data)->parameters; instance = (NPP) parameters.at(0); parent_ptr = (NPObject*) parameters.at(1); - member_name = (std::string*) parameters.at(2); - - // Get the corresponding windowId - member_identifier = browser_functions.getstringidentifier(member_name->c_str()); + NPIdentifier* member_identifier = (NPIdentifier*) parameters.at(2); // Get the NPVariant corresponding to this member - PLUGIN_DEBUG_4ARG("Looking for %p %p %p (%s)\n", instance, parent_ptr, member_identifier,member_name->c_str()); - - if (!browser_functions.hasproperty(instance, parent_ptr, member_identifier)) - { - printf("%s not found!\n", member_name->c_str()); - } - ((AsyncCallThreadData*) data)->call_successful = browser_functions.getproperty(instance, parent_ptr, member_identifier, member_ptr); + PLUGIN_DEBUG_4ARG("Looking for %p %p %p (%s)\n", instance, parent_ptr, member_identifier, browser_functions.utf8fromidentifier(*member_identifier)); + + if (!browser_functions.hasproperty(instance, parent_ptr, *member_identifier)) + { + printf("%s not found!\n", browser_functions.utf8fromidentifier(*member_identifier)); + } + ((AsyncCallThreadData*) data)->call_successful = browser_functions.getproperty(instance, parent_ptr, *member_identifier, member_ptr); IcedTeaPluginUtilities::printNPVariant(*member_ptr); diff -r e3fb5ca2bab8 -r eaf5d54cc7d1 plugin/icedteanp/IcedTeaPluginUtils.cc --- a/plugin/icedteanp/IcedTeaPluginUtils.cc Wed Jan 13 21:32:58 2010 +0000 +++ b/plugin/icedteanp/IcedTeaPluginUtils.cc Wed Jan 13 19:36:54 2010 -0500 @@ -815,14 +815,18 @@ IcedTeaPluginUtilities::isObjectJSArray( NPVariant constructor_v = NPVariant(); NPIdentifier constructor_id = browser_functions.getstringidentifier("constructor"); browser_functions.getproperty(instance, object, constructor_id, &constructor_v); - IcedTeaPluginUtilities::printNPVariant(constructor_v); + + // void constructor => not an array + if (NPVARIANT_IS_VOID(constructor_v)) + return false; NPObject* constructor = NPVARIANT_TO_OBJECT(constructor_v); NPVariant constructor_str; NPIdentifier toString = browser_functions.getstringidentifier("toString"); browser_functions.invoke(instance, constructor, toString, NULL, 0, &constructor_str); + IcedTeaPluginUtilities::printNPVariant(constructor_str); std::string constructor_name = std::string(); diff -r e3fb5ca2bab8 -r eaf5d54cc7d1 plugin/tests/LiveConnect/DummyObject.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugin/tests/LiveConnect/DummyObject.java Wed Jan 13 19:36:54 2010 -0500 @@ -0,0 +1,15 @@ +public class DummyObject { + private String str; + + public DummyObject(String s) { + this.str = s; + } + + public void setStr(String s) { + this.str = s; + } + + public String toString() { + return str; + } +} diff -r e3fb5ca2bab8 -r eaf5d54cc7d1 plugin/tests/LiveConnect/OverloadTestHelper1.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugin/tests/LiveConnect/OverloadTestHelper1.java Wed Jan 13 19:36:54 2010 -0500 @@ -0,0 +1,1 @@ +public class OverloadTestHelper1 {} diff -r e3fb5ca2bab8 -r eaf5d54cc7d1 plugin/tests/LiveConnect/OverloadTestHelper2.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugin/tests/LiveConnect/OverloadTestHelper2.java Wed Jan 13 19:36:54 2010 -0500 @@ -0,0 +1,1 @@ +public class OverloadTestHelper2 extends OverloadTestHelper1 {} diff -r e3fb5ca2bab8 -r eaf5d54cc7d1 plugin/tests/LiveConnect/OverloadTestHelper3.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugin/tests/LiveConnect/OverloadTestHelper3.java Wed Jan 13 19:36:54 2010 -0500 @@ -0,0 +1,1 @@ +public class OverloadTestHelper3 extends OverloadTestHelper2 {} diff -r e3fb5ca2bab8 -r eaf5d54cc7d1 plugin/tests/LiveConnect/PluginTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugin/tests/LiveConnect/PluginTest.java Wed Jan 13 19:36:54 2010 -0500 @@ -0,0 +1,699 @@ +import javax.swing.JApplet; +import java.awt.Graphics; +import java.awt.*; +import java.applet.*; +import java.awt.event.*; +import netscape.javascript.JSObject; +import java.lang.reflect.Array; + +public class PluginTest extends JApplet { + + public int i = 42; + public double d = 42.42; + public float f = 42.1F; + public long l = 4294967296L; + public boolean b = true; + public char c = '\u2323'; + public byte by = 43; + public String rs = "I'm a string!"; + public String ss = "?????????$?????????"; + public Object n = null; + public int[] ia = new int[5]; + + public Integer I = 24; + public Double D = 24.24; + public Float F = 24.124F; + public Long L = 6927694924L; + public Boolean B = false; + public Character C = '\u1526'; + public Byte By = 34; + public Double[] Da1 = new Double[10]; + public Double[] Da2 = null; + + public char[] ca = new char[3]; + public Character[] Ca = new Character[3]; + + public void setUpForGMTests() { + i = 42; + d = 42.42; + f = 42.1F; + l = 4294967296L; + b = true; + c = '\u2323'; + by = 43; + rs = "I'm a string!"; + ss = "?????????$?????????"; + n = null; + + I = 24; + D = 24.24; + F = 24.124F; + L = 6927694924L; + B = false; + C = '\u1526'; + By = 34; + + ia[4] = 1024; + Da1[9] = D; + } + + public void setUpForSMTests() { + i = 0; + d = 0.0; + f = 0F; + l = 0L; + b = false; + c = 'A'; + by = 0; + rs = ""; + ss = ""; + n = new String("non-null object"); + + I = 0; + D = 0.0; + F = 0F; + L = 0L; + B = false; + C = 'A'; + By = null; + + ia[4] = 0; + Da1[9] = D; + } + + /* + ***************************************** + * JS -> Java Parameter conversion tests * + ***************************************** + */ + public void setUpForReturnTests() { + i = 41; + d = 41.41; + f = 41.411F; + l = 4294967297L; + b = true; + c = '\u2329'; + by = 44; + rs = "I'm a string too!"; + ss = "?????????$?????????"; + n = null; + + I = 14; + D = 14.14; + F = 14.114F; + L = 6927694925L; + B = false; + C = '\u2417'; + By = 46; + } + + /* + ************************************** + * JS -> Java invocation return tests * + ************************************** + */ + + public int intReturnTest() { return i; } + + public double doubleReturnTest() { return d; } + + public float floatReturnTest() { return f; } + + public long longReturnTest() { return l; } + + public boolean booleanReturnTest() { return b; } + + public char charReturnTest() { return c; } + + public byte byteReturnTest() { return by; } + + public char[] charArrayReturnTest() { + ca[0] = '\u2410'; From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 16:32:46 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 14 Jan 2010 00:32:46 +0000 Subject: [Bug 152] HotSpot crashes while compiling GNU Classpath! Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=152 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED Version|unspecified |6-1.2 ------- Comment #20 from gnu_andrew at member.fsf.org 2010-01-14 00:32 ------- This should be fixed in current builds which use hs14. Please reopen if not. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From dbhole at icedtea.classpath.org Wed Jan 13 16:37:25 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Thu, 14 Jan 2010 00:37:25 +0000 Subject: /hg/icedtea: - Adding last bits for full Java->JS array element ... Message-ID: changeset ef639bb13850 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=ef639bb13850 author: Deepak Bhole date: Wed Jan 13 19:43:16 2010 -0500 - Adding last bits for full Java->JS array element access (read and write) support. - Checking in initial version of LiveConnect tests (WIP) diffstat: 24 files changed, 4647 insertions(+), 48 deletions(-) .hgignore | 1 ChangeLog | 46 plugin/icedteanp/IcedTeaJavaRequestProcessor.cc | 2 plugin/icedteanp/IcedTeaPluginRequestProcessor.cc | 118 +- plugin/icedteanp/IcedTeaPluginUtils.cc | 6 plugin/tests/LiveConnect/DummyObject.java | 15 plugin/tests/LiveConnect/OverloadTestHelper1.java | 1 plugin/tests/LiveConnect/OverloadTestHelper2.java | 1 plugin/tests/LiveConnect/OverloadTestHelper3.java | 1 plugin/tests/LiveConnect/PluginTest.java | 699 ++++++++++++++ plugin/tests/LiveConnect/build | 18 plugin/tests/LiveConnect/common.js | 215 ++++ plugin/tests/LiveConnect/index.html | 89 + plugin/tests/LiveConnect/jjs_func_parameters_tests.js | 107 ++ plugin/tests/LiveConnect/jjs_func_rettype_tests.js | 61 + plugin/tests/LiveConnect/jjs_get_tests.js | 114 ++ plugin/tests/LiveConnect/jjs_set_tests.js | 314 ++++++ plugin/tests/LiveConnect/jsj_func_overload_tests.js | 181 +++ plugin/tests/LiveConnect/jsj_func_parameters_tests.js | 216 ++++ plugin/tests/LiveConnect/jsj_func_rettype_tests.js | 262 +++++ plugin/tests/LiveConnect/jsj_get_tests.js | 260 +++++ plugin/tests/LiveConnect/jsj_set_tests.js | 318 ++++++ plugin/tests/LiveConnect/jsj_type_casting_tests.js | 825 +++++++++++++++++ plugin/tests/LiveConnect/jsj_type_conversion_tests.js | 825 +++++++++++++++++ diffs (truncated from 4929 to 500 lines): diff -r aaf3cf416fb4 -r ef639bb13850 .hgignore --- a/.hgignore Sat Jan 09 00:01:09 2010 +0000 +++ b/.hgignore Wed Jan 13 19:43:16 2010 -0500 @@ -10,3 +10,4 @@ install-sh install-sh Makefile.in *.sh +plugin/tests/LiveConnect/*jar diff -r aaf3cf416fb4 -r ef639bb13850 ChangeLog --- a/ChangeLog Sat Jan 09 00:01:09 2010 +0000 +++ b/ChangeLog Wed Jan 13 19:43:16 2010 -0500 @@ -1,3 +1,49 @@ 2010-01-08 Andrew John Hughes + + * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc + (newMessageOnBus): Service GetSlot and SetSlot requests. + (call): Create Java object from result only if it is non-null. + (setMember): Pass a preset identifier to _setMember. Handle array slot + setting. + (sendMember): Handle array slot read. + (queue_processor): Service GetSlot and SetSlot requests. + (_setMember): Work with property NPIdentifier instead of name string. + (_getMember): Same. + * plugin/icedteanp/IcedTeaPluginUtils.cc + (isObjectJSArray): Handle void constructor objects like 'window'. + * plugin/tests/LiveConnect/DummyObject.java: New file. Helper for plugin + tests. + * plugin/tests/LiveConnect/OverloadTestHelper1.java: Same. + * plugin/tests/LiveConnect/OverloadTestHelper2.java: Same. + * plugin/tests/LiveConnect/OverloadTestHelper3.java: Same. + * plugin/tests/LiveConnect/PluginTest.java: New file. Plugin test applet to + drive LiveConnect tests. + * plugin/tests/LiveConnect/build: New build. Build file for plugin tests. + * plugin/tests/LiveConnect/common.js: New file. Contains common + LiveConnect test functions. + * plugin/tests/LiveConnect/index.html: New file. Index from which + LiveConnect tests can be launched. + * plugin/tests/LiveConnect/jjs_func_parameters_tests.js: New file. + Contains Java -> JS parameter passing tests. + * plugin/tests/LiveConnect/jjs_func_rettype_tests.js: New file. Contains + Java -> JS invocation return type read tests. + * plugin/tests/LiveConnect/jjs_get_tests.js: New file. Contains Java -> + JS variable read tests. + * plugin/tests/LiveConnect/jjs_set_tests.js: New file. Contains Java -> JS + variable write tests. + * plugin/tests/LiveConnect/jsj_func_overload_tests.js: New file. Contains + overload resolution tests for JS -> Java invocation. + * plugin/tests/LiveConnect/jsj_func_parameters_tests.js: New file. + Contains JS -> Java parameter passing tests. + * plugin/tests/LiveConnect/jsj_func_rettype_tests.js: New file. Contains + JS -> Java invocation return type read tests. + * plugin/tests/LiveConnect/jsj_get_tests.js: New file. Contains JS -> Java + variable read tests. + * plugin/tests/LiveConnect/jsj_set_tests.js: New file. Contains JS -> Java + variable write tests. + * plugin/tests/LiveConnect/jsj_type_casting_tests.js: New file. Contains + JS -> Java type conversion tests. + 2010-01-08 Andrew John Hughes * Makefile.am: diff -r aaf3cf416fb4 -r ef639bb13850 plugin/icedteanp/IcedTeaJavaRequestProcessor.cc --- a/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc Sat Jan 09 00:01:09 2010 +0000 +++ b/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc Wed Jan 13 19:43:16 2010 -0500 @@ -899,7 +899,7 @@ createJavaObjectFromVariant(NPP instance alreadyCreated = true; } else { - PLUGIN_DEBUG_0ARG("NPObject is not a Java object"); + PLUGIN_DEBUG_0ARG("NPObject is not a Java object\n"); NPIdentifier length_id = browser_functions.getstringidentifier("length"); // FIXME: We currently only handle <= 2 dim arrays. Do we really need more though? diff -r aaf3cf416fb4 -r ef639bb13850 plugin/icedteanp/IcedTeaPluginRequestProcessor.cc --- a/plugin/icedteanp/IcedTeaPluginRequestProcessor.cc Sat Jan 09 00:01:09 2010 +0000 +++ b/plugin/icedteanp/IcedTeaPluginRequestProcessor.cc Wed Jan 13 19:43:16 2010 -0500 @@ -117,6 +117,8 @@ PluginRequestProcessor::newMessageOnBus( command == "SetMember" || command == "ToString" || command == "Call" || + command == "GetSlot" || + command == "SetSlot" || command == "Eval") { @@ -331,7 +333,14 @@ PluginRequestProcessor::call(std::vector NPVariant* result_variant = (NPVariant*) IcedTeaPluginUtilities::stringToJSID(thread_data.result); std::string result_variant_jniid = std::string(); - createJavaObjectFromVariant(instance, *result_variant, &result_variant_jniid); + + if (result_variant) + { + createJavaObjectFromVariant(instance, *result_variant, &result_variant_jniid); + } else + { + result_variant_jniid = "0"; + } IcedTeaPluginUtilities::constructMessagePrefix(0, &response); response += " JavaScriptCall "; @@ -408,11 +417,11 @@ PluginRequestProcessor::setMember(std::v PluginRequestProcessor::setMember(std::vector* message_parts) { std::string propertyNameID; - std::string property_name = std::string(); std::string value = std::string(); NPP instance; NPVariant* member; + NPIdentifier property_identifier; JavaRequestProcessor java_request = JavaRequestProcessor(); JavaResultData* java_result; @@ -434,17 +443,22 @@ PluginRequestProcessor::setMember(std::v instance = IcedTeaPluginUtilities::getInstanceFromMemberPtr(member); - java_result = java_request.getString(propertyNameID); - - // the result we want is in result_string (assuming there was no error) - if (java_result->error_occurred) - { - printf("Unable to get member name for setMember. Error occurred: %s\n", java_result->error_msg); - //goto cleanup; - } - - // Copy into local variable before disposing the object - property_name.append(*(java_result->return_string)); + if (message_parts->at(2) == "SetSlot") + { + property_identifier = browser_functions.getintidentifier(atoi(message_parts->at(4).c_str())); + } else + { + java_result = java_request.getString(propertyNameID); + + // the result we want is in result_string (assuming there was no error) + if (java_result->error_occurred) + { + printf("Unable to get member name for setMember. Error occurred: %s\n", java_result->error_msg); + //goto cleanup; + } + + property_identifier = browser_functions.getstringidentifier(java_result->return_string->c_str()); + } AsyncCallThreadData thread_data = AsyncCallThreadData(); thread_data.result_ready = false; @@ -453,7 +467,7 @@ PluginRequestProcessor::setMember(std::v thread_data.parameters.push_back(instance); thread_data.parameters.push_back(NPVARIANT_TO_OBJECT(*member)); - thread_data.parameters.push_back(&property_name); + thread_data.parameters.push_back(&property_identifier); thread_data.parameters.push_back(&value); #ifdef CHROMIUM_WORKAROUND @@ -505,6 +519,8 @@ PluginRequestProcessor::sendMember(std:: std::string jsObjectConstructorID = std::string(); std::string response = std::string(); + NPIdentifier member_identifier; + int method_id; int instance_id; long reference; @@ -517,16 +533,23 @@ PluginRequestProcessor::sendMember(std:: parent_ptr = (NPVariant*) (IcedTeaPluginUtilities::stringToJSID(message_parts->at(3))); member_id += message_parts->at(4); - /** Request data from Java **/ - - // make a new request for getString, to get the name of the identifier - java_result = java_request.getString(member_id); - - // the result we want is in result_string (assuming there was no error) - if (java_result->error_occurred) - { - printf("Unable to process getMember request. Error occurred: %s\n", java_result->error_msg); - //goto cleanup; + /** Request data from Java if necessary **/ + if (message_parts->at(2) == "GetSlot") + { + member_identifier = browser_functions.getintidentifier(atoi(member_id.c_str())); + } else + { + // make a new request for getString, to get the name of the identifier + java_result = java_request.getString(member_id); + + // the result we want is in result_string (assuming there was no error) + if (java_result->error_occurred) + { + printf("Unable to process getMember request. Error occurred: %s\n", java_result->error_msg); + //goto cleanup; + } + + member_identifier = browser_functions.getstringidentifier(java_result->return_string->c_str()); } /** Make an internal request for the main thread to handle, to get the member pointer **/ @@ -541,7 +564,7 @@ PluginRequestProcessor::sendMember(std:: NPP instance = IcedTeaPluginUtilities::getInstanceFromMemberPtr(parent_ptr); thread_data.parameters.push_back(instance); thread_data.parameters.push_back(NPVARIANT_TO_OBJECT(*parent_ptr)); - thread_data.parameters.push_back(java_result->return_string); + thread_data.parameters.push_back(&member_identifier); #ifdef CHROMIUM_WORKAROUND // Workaround for chromium @@ -609,7 +632,12 @@ PluginRequestProcessor::sendMember(std:: IcedTeaPluginUtilities::constructMessagePrefix(0, &response); - response.append(" JavaScriptGetMember "); + if (message_parts->at(2) == "GetSlot") + { + response.append(" JavaScriptGetMember "); + } else { + response.append(" JavaScriptGetSlot "); + } response.append(java_result->return_string->c_str()); plugin_to_java_bus->post(response.c_str()); @@ -678,6 +706,12 @@ queue_processor(void* data) pthread_mutex_lock(&syn_write_mutex); processor->sendMember(message_parts); pthread_mutex_unlock(&syn_write_mutex); + } else if (command == "SetSlot") + { + // write methods are synchronized + pthread_mutex_lock(&syn_write_mutex); + processor->setMember(message_parts); + pthread_mutex_unlock(&syn_write_mutex); } else { // Nothing matched @@ -704,27 +738,25 @@ void void _setMember(void* data) { - std::string* property_name; std::string* value; std::string response = std::string(); NPP instance; NPVariant value_variant = NPVariant(); NPObject* member; - NPIdentifier property; + NPIdentifier* property; std::vector parameters = ((AsyncCallThreadData*) data)->parameters; instance = (NPP) parameters.at(0); member = (NPObject*) parameters.at(1); - property_name = (std::string*) parameters.at(2); + property = (NPIdentifier*) parameters.at(2); value = (std::string*) parameters.at(3); - PLUGIN_DEBUG_4ARG("Setting %s on instance %p, object %p to value %s\n", property_name->c_str(), instance, member, value->c_str()); + PLUGIN_DEBUG_4ARG("Setting %s on instance %p, object %p to value %s\n", browser_functions.utf8fromidentifier(*property), instance, member, value->c_str()); IcedTeaPluginUtilities::javaResultToNPVariant(instance, value, &value_variant); - property = browser_functions.getstringidentifier(property_name->c_str()); - ((AsyncCallThreadData*) data)->call_successful = browser_functions.setproperty(instance, member, property, &value_variant); + ((AsyncCallThreadData*) data)->call_successful = browser_functions.setproperty(instance, member, *property, &value_variant); IcedTeaPluginUtilities::constructMessagePrefix(0, &response); response.append(" JavaScriptSetMember "); @@ -737,31 +769,25 @@ void void _getMember(void* data) { - std::string* member_name; - NPObject* parent_ptr; NPVariant* member_ptr = new NPVariant(); std::string member_ptr_str = std::string(); NPP instance; - NPIdentifier member_identifier; std::vector parameters = ((AsyncCallThreadData*) data)->parameters; instance = (NPP) parameters.at(0); parent_ptr = (NPObject*) parameters.at(1); - member_name = (std::string*) parameters.at(2); - - // Get the corresponding windowId - member_identifier = browser_functions.getstringidentifier(member_name->c_str()); + NPIdentifier* member_identifier = (NPIdentifier*) parameters.at(2); // Get the NPVariant corresponding to this member - PLUGIN_DEBUG_4ARG("Looking for %p %p %p (%s)\n", instance, parent_ptr, member_identifier,member_name->c_str()); - - if (!browser_functions.hasproperty(instance, parent_ptr, member_identifier)) - { - printf("%s not found!\n", member_name->c_str()); - } - ((AsyncCallThreadData*) data)->call_successful = browser_functions.getproperty(instance, parent_ptr, member_identifier, member_ptr); + PLUGIN_DEBUG_4ARG("Looking for %p %p %p (%s)\n", instance, parent_ptr, member_identifier, browser_functions.utf8fromidentifier(*member_identifier)); + + if (!browser_functions.hasproperty(instance, parent_ptr, *member_identifier)) + { + printf("%s not found!\n", browser_functions.utf8fromidentifier(*member_identifier)); + } + ((AsyncCallThreadData*) data)->call_successful = browser_functions.getproperty(instance, parent_ptr, *member_identifier, member_ptr); IcedTeaPluginUtilities::printNPVariant(*member_ptr); diff -r aaf3cf416fb4 -r ef639bb13850 plugin/icedteanp/IcedTeaPluginUtils.cc --- a/plugin/icedteanp/IcedTeaPluginUtils.cc Sat Jan 09 00:01:09 2010 +0000 +++ b/plugin/icedteanp/IcedTeaPluginUtils.cc Wed Jan 13 19:43:16 2010 -0500 @@ -815,14 +815,18 @@ IcedTeaPluginUtilities::isObjectJSArray( NPVariant constructor_v = NPVariant(); NPIdentifier constructor_id = browser_functions.getstringidentifier("constructor"); browser_functions.getproperty(instance, object, constructor_id, &constructor_v); - IcedTeaPluginUtilities::printNPVariant(constructor_v); + + // void constructor => not an array + if (NPVARIANT_IS_VOID(constructor_v)) + return false; NPObject* constructor = NPVARIANT_TO_OBJECT(constructor_v); NPVariant constructor_str; NPIdentifier toString = browser_functions.getstringidentifier("toString"); browser_functions.invoke(instance, constructor, toString, NULL, 0, &constructor_str); + IcedTeaPluginUtilities::printNPVariant(constructor_str); std::string constructor_name = std::string(); diff -r aaf3cf416fb4 -r ef639bb13850 plugin/tests/LiveConnect/DummyObject.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugin/tests/LiveConnect/DummyObject.java Wed Jan 13 19:43:16 2010 -0500 @@ -0,0 +1,15 @@ +public class DummyObject { + private String str; + + public DummyObject(String s) { + this.str = s; + } + + public void setStr(String s) { + this.str = s; + } + + public String toString() { + return str; + } +} diff -r aaf3cf416fb4 -r ef639bb13850 plugin/tests/LiveConnect/OverloadTestHelper1.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugin/tests/LiveConnect/OverloadTestHelper1.java Wed Jan 13 19:43:16 2010 -0500 @@ -0,0 +1,1 @@ +public class OverloadTestHelper1 {} diff -r aaf3cf416fb4 -r ef639bb13850 plugin/tests/LiveConnect/OverloadTestHelper2.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugin/tests/LiveConnect/OverloadTestHelper2.java Wed Jan 13 19:43:16 2010 -0500 @@ -0,0 +1,1 @@ +public class OverloadTestHelper2 extends OverloadTestHelper1 {} diff -r aaf3cf416fb4 -r ef639bb13850 plugin/tests/LiveConnect/OverloadTestHelper3.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugin/tests/LiveConnect/OverloadTestHelper3.java Wed Jan 13 19:43:16 2010 -0500 @@ -0,0 +1,1 @@ +public class OverloadTestHelper3 extends OverloadTestHelper2 {} diff -r aaf3cf416fb4 -r ef639bb13850 plugin/tests/LiveConnect/PluginTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugin/tests/LiveConnect/PluginTest.java Wed Jan 13 19:43:16 2010 -0500 @@ -0,0 +1,699 @@ +import javax.swing.JApplet; +import java.awt.Graphics; +import java.awt.*; +import java.applet.*; +import java.awt.event.*; +import netscape.javascript.JSObject; +import java.lang.reflect.Array; + +public class PluginTest extends JApplet { + + public int i = 42; + public double d = 42.42; + public float f = 42.1F; + public long l = 4294967296L; + public boolean b = true; + public char c = '\u2323'; + public byte by = 43; + public String rs = "I'm a string!"; + public String ss = "?????????$?????????"; + public Object n = null; + public int[] ia = new int[5]; + + public Integer I = 24; + public Double D = 24.24; + public Float F = 24.124F; + public Long L = 6927694924L; + public Boolean B = false; + public Character C = '\u1526'; + public Byte By = 34; + public Double[] Da1 = new Double[10]; + public Double[] Da2 = null; + + public char[] ca = new char[3]; + public Character[] Ca = new Character[3]; + + public void setUpForGMTests() { + i = 42; + d = 42.42; + f = 42.1F; + l = 4294967296L; + b = true; + c = '\u2323'; + by = 43; + rs = "I'm a string!"; + ss = "?????????$?????????"; + n = null; + + I = 24; + D = 24.24; + F = 24.124F; + L = 6927694924L; + B = false; + C = '\u1526'; + By = 34; + + ia[4] = 1024; + Da1[9] = D; + } + + public void setUpForSMTests() { + i = 0; + d = 0.0; + f = 0F; + l = 0L; + b = false; + c = 'A'; + by = 0; + rs = ""; + ss = ""; + n = new String("non-null object"); + + I = 0; + D = 0.0; + F = 0F; + L = 0L; + B = false; + C = 'A'; + By = null; + + ia[4] = 0; + Da1[9] = D; + } + + /* + ***************************************** + * JS -> Java Parameter conversion tests * + ***************************************** + */ + public void setUpForReturnTests() { + i = 41; + d = 41.41; + f = 41.411F; + l = 4294967297L; + b = true; + c = '\u2329'; + by = 44; + rs = "I'm a string too!"; + ss = "?????????$?????????"; + n = null; + + I = 14; + D = 14.14; + F = 14.114F; + L = 6927694925L; + B = false; + C = '\u2417'; + By = 46; + } + + /* + ************************************** + * JS -> Java invocation return tests * + ************************************** + */ + + public int intReturnTest() { return i; } + + public double doubleReturnTest() { return d; } + + public float floatReturnTest() { return f; } + + public long longReturnTest() { return l; } + + public boolean booleanReturnTest() { return b; } + + public char charReturnTest() { return c; } + + public byte byteReturnTest() { return by; } + + public char[] charArrayReturnTest() { + ca[0] = '\u2410'; From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 17:07:19 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 14 Jan 2010 01:07:19 +0000 Subject: [Bug 163] ./configure under OpenSolaris Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=163 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|gnu_andrew at member.fsf.org |.org | -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 17:44:17 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 14 Jan 2010 01:44:17 +0000 Subject: [Bug 179] javascript script support through rhino should not be on bootclasspath Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=179 ------- Comment #5 from gnu_andrew at member.fsf.org 2010-01-14 01:44 ------- I'm afraid it's not as simple as that. IcedTea doesn't package Rhino, it uses the system installed version. So to have the packages renamed, you'd need the system installation of Rhino to be patched in that manner. We don't want to be maintaining our own fork of Rhino within IcedTea. I think we need to look at a solution whereby Rhino is loaded with a lower priority classloader that can be overridden. An interim solution, other than the -Xbootclasspath setting suggested by Mark, would be to remove the symlink from the JDK install. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 17:51:52 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 14 Jan 2010 01:51:52 +0000 Subject: [Bug 192] com.sun.image.codec.jpeg doesn't work with ImageJ Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=192 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|gnu_andrew at member.fsf.org |.org | ------- Comment #17 from gnu_andrew at member.fsf.org 2010-01-14 01:51 ------- The reason this is missing from OpenJDK is that it was removed from OpenJDK7 and OpenJDK6 is a fork of OpenJDK7 (believe it or not). I assume these classes are in the proprietary JDK6 provided by Sun so we should provide such wrappers and even consider pushing them upstream to OpenJDK6. marathon, are you and Matthew the sole authors of the contributed code? For OpenJDK, we'd need an SCA from you both but it can go into IcedTea6 as is. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 17:54:28 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 14 Jan 2010 01:54:28 +0000 Subject: [Bug 245] talendOpenStudio Crashes. Log file pasted in description (Issue is repeatable) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=245 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |REMIND Version|unspecified |7-1.5 ------- Comment #3 from gnu_andrew at member.fsf.org 2010-01-14 01:54 ------- Closing this as the version of IcedTea it is filed against is over two years old. If this still occurs with a recent release, please reopen it. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 17:56:54 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 14 Jan 2010 01:56:54 +0000 Subject: [Bug 271] JavaFX sample no longer runs with javaws, runs fine with java Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=271 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |NetX Version|unspecified |6-1.5 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 17:58:23 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 14 Jan 2010 01:58:23 +0000 Subject: [Bug 276] SIGSEGV in 64 bit JDK 1.6 when using JNI, and both library and Java app are threaded Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=276 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |6-1.2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 17:59:40 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 14 Jan 2010 01:59:40 +0000 Subject: [Bug 288] regressions in jdk testsuite with new hotspot Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=288 ------- Comment #2 from gnu_andrew at member.fsf.org 2010-01-14 01:59 ------- Which 'new HotSpot' is this? Do these failures still exist? -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 18:00:12 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 14 Jan 2010 02:00:12 +0000 Subject: [Bug 290] plugin crash on amd64 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=290 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Plugin Version|unspecified |6-1.6.1 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 18:01:11 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 14 Jan 2010 02:01:11 +0000 Subject: [Bug 293] JVM fatal error in VM code (HS 14) after NetworkManager disable / reenable cycle Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=293 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |6-1.4 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jan 13 18:02:11 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 14 Jan 2010 02:02:11 +0000 Subject: [Bug 294] JavaFX sample not starting as applet due to ZipException, runs fine with javaws or java Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=294 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Plugin Version|unspecified |6-1.4 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 14 02:01:19 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 14 Jan 2010 10:01:19 +0000 Subject: [Bug 428] Shark on ARM precompiled header incls/_precompiled.incl.gch build failure Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=428 ------- Comment #2 from xerxes at zafena.se 2010-01-14 10:01 ------- This bug are a new regression that have been introduced onto the hg branch somewhere after the Icedtea6 1.6 release. Im running jaunty on this build machine with gcj-4.3. I have configured Icedtea6 like this: hg clone http://icedtea.classpath.org/hg/icedtea6 cd icedtea6 ./autogen.sh mkdir ../icedtea6-shark cd ../icedtea6-shark ../icedtea6/configure --enable-zero --enable-shark --disable-docs make icedtea-against-ecj -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 14 02:50:40 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 14 Jan 2010 10:50:40 +0000 Subject: [Bug 428] Shark on ARM precompiled header incls/_precompiled.incl.gch build failure Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=428 ------- Comment #3 from xerxes at zafena.se 2010-01-14 10:50 ------- Created an attachment (id=280) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=280&action=view) icedtea7 incls/_precompiled.incl.gch build failure log icedtea 7 hg branch hits the same regession during generation of incls/_precompiled.incl.gch. when building Shark on ARM. error log attached -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From doko at ubuntu.com Thu Jan 14 06:20:43 2010 From: doko at ubuntu.com (Matthias Klose) Date: Thu, 14 Jan 2010 15:20:43 +0100 Subject: HotSpot 16 In-Reply-To: <17c6771e1001131337s68e4ca2fm2dd2ae9c87bd61c@mail.gmail.com> References: <17c6771e1001131337s68e4ca2fm2dd2ae9c87bd61c@mail.gmail.com> Message-ID: <4B4F283B.8030103@ubuntu.com> On 13.01.2010 22:37, Andrew John Hughes wrote: > I've now bumped IcedTea6 HEAD and 1.7 to build the latest hs16 (b13) > as I believe is used in the proprietary JDK 6 update 18. > > I've confirmed that both normal and Zero builds complete. Shark also > builds but can't bootstrap itself; see > http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=430 As both > Shark and hs16 are experimental, I don't think that's a release > stopper. so update hotspot two days before a planned release and then declare the regressions as non-stoppers? the shark build fails for me as well when using the new hotspot as bootstrap compiler (on ix86 configuring --with-additional-vms=shark), so this is also seen with other bootstrap compilers. From gnu_andrew at member.fsf.org Thu Jan 14 06:55:15 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Thu, 14 Jan 2010 14:55:15 +0000 Subject: HotSpot 16 In-Reply-To: <4B4F283B.8030103@ubuntu.com> References: <17c6771e1001131337s68e4ca2fm2dd2ae9c87bd61c@mail.gmail.com> <4B4F283B.8030103@ubuntu.com> Message-ID: <17c6771e1001140655v4499a0e4q2cf22ba0e6e649fd@mail.gmail.com> 2010/1/14 Matthias Klose : > On 13.01.2010 22:37, Andrew John Hughes wrote: >> >> I've now bumped IcedTea6 HEAD and 1.7 to build the latest hs16 (b13) >> as I believe is used in the proprietary JDK 6 update 18. >> >> I've confirmed that both normal and Zero builds complete. ?Shark also >> builds but can't bootstrap itself; see >> http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=430 ?As both >> Shark and hs16 are experimental, I don't think that's a release >> stopper. > > so update hotspot two days before a planned release and then declare the > regressions as non-stoppers? > It's a minor update to a version of HotSpot that is _not the default_, and which fully bootstraps with both normal and Zero builds. I don't recall Shark working with hs16 before so how is this a regression? FWIW, Shark also can't bootstrap itself on 7 either (http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=348) and that's been the case for some time. If I thought there was going to be a fix for this in the next week or so, I would see the point in delaying the release. Are you offering to fix this? As is, I don't see how there is anything to gain from waiting indefinitely for a fix to a pretty minor build option (hs16+shark). Shark is still a work-in-progress and anyone wanting to ship Shark+hs16 binaries would be quite mad. As I said before, I've updated hs16 because if we're going to include the option to build with it at all, we should use the same version Sun are shipping and that will end up in b18. > the shark build fails for me as well when using the new hotspot as bootstrap > compiler (on ix86 configuring --with-additional-vms=shark), so this is also > seen with other bootstrap compilers. What other bootstrap compilers? Other than the arch., that sounds pretty much like what I did. > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From gnu_andrew at member.fsf.org Thu Jan 14 08:34:24 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Thu, 14 Jan 2010 16:34:24 +0000 Subject: HotSpot 16 In-Reply-To: <17c6771e1001140655v4499a0e4q2cf22ba0e6e649fd@mail.gmail.com> References: <17c6771e1001131337s68e4ca2fm2dd2ae9c87bd61c@mail.gmail.com> <4B4F283B.8030103@ubuntu.com> <17c6771e1001140655v4499a0e4q2cf22ba0e6e649fd@mail.gmail.com> Message-ID: <17c6771e1001140834h4da73e5dt55889a366e828147@mail.gmail.com> 2010/1/14 Andrew John Hughes : > 2010/1/14 Matthias Klose : >> On 13.01.2010 22:37, Andrew John Hughes wrote: >>> >>> I've now bumped IcedTea6 HEAD and 1.7 to build the latest hs16 (b13) >>> as I believe is used in the proprietary JDK 6 update 18. >>> >>> I've confirmed that both normal and Zero builds complete. ?Shark also >>> builds but can't bootstrap itself; see >>> http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=430 ?As both >>> Shark and hs16 are experimental, I don't think that's a release >>> stopper. >> >> so update hotspot two days before a planned release and then declare the >> regressions as non-stoppers? >> > > It's a minor update to a version of HotSpot that is _not the default_, > and which fully bootstraps with both normal and Zero builds. ?I don't > recall Shark working with hs16 before so how is this a regression? > > FWIW, Shark also can't bootstrap itself on 7 either > (http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=348) and that's > been the case for some time. ?If I thought there was going to be a fix > for this in the next week or so, I would see the point in delaying the > release. ? Are you offering to fix this? > > As is, I don't see how there is anything to gain from waiting > indefinitely for a fix to a pretty minor build option (hs16+shark). > Shark is still a work-in-progress and anyone wanting to ship > Shark+hs16 binaries would be quite mad. > > As I said before, I've updated hs16 because if we're going to include > the option to build with it at all, we should use the same version Sun > are shipping and that will end up in b18. > On IRC, we found that this is a regression from when we first added hs16 (though not 1.6 obviously). These are the actual changes between the two hs16 revisions: changeset: 941:6bdfda9a7120 user: trims date: Fri Oct 02 14:16:39 2009 -0700 summary: 6887914: Bump the HS16 build number to 10 changeset: 942:6de2c9c36168 user: tonyp date: Tue Oct 20 19:55:13 2009 -0400 summary: 6893095: G1: bulk G1 backports to hs16 changeset: 943:47ca7aa20d97 user: asaha date: Wed Oct 21 15:43:35 2009 -0700 summary: 6858208: jvm crash when specifying TypeProfileWidth=0 on jdk 6.0 changeset: 944:aa001a20bd61 parent: 941:6bdfda9a7120 user: ysr date: Fri Oct 16 02:05:46 2009 -0700 summary: 6888898: CMS: ReduceInitialCardMarks unsafe in the presence of cms precleaning changeset: 945:164505f3849e user: ysr date: Tue Oct 20 00:00:23 2009 -0700 summary: 6892749: assert(UseParNewGC || UseSerialGC || UseConcMarkSweepGC, "...") fails changeset: 946:d43a7bf86266 parent: 945:164505f3849e parent: 942:6de2c9c36168 user: ysr date: Wed Oct 21 12:35:50 2009 -0700 summary: Merge changeset: 947:aa83c08db78c parent: 946:d43a7bf86266 parent: 943:47ca7aa20d97 user: ysr date: Wed Oct 21 19:13:54 2009 -0700 summary: Merge changeset: 948:b7e7fc226009 parent: 946:d43a7bf86266 parent: 943:47ca7aa20d97 user: ysr date: Wed Oct 21 18:57:28 2009 -0700 summary: Merge changeset: 949:0537635c7c16 parent: 948:b7e7fc226009 parent: 947:aa83c08db78c user: ysr date: Wed Oct 21 21:06:27 2009 -0700 summary: Merge changeset: 950:06264910ac5f user: trims date: Wed Oct 21 21:31:53 2009 -0700 summary: 6893995: Bump the HS16 build number to 11 changeset: 951:38b152ff0cac user: trims date: Wed Oct 21 21:34:37 2009 -0700 summary: 6893996: change default JPRT release target to be 6u18 changeset: 952:0799687b7385 user: phh date: Thu Oct 29 11:45:09 2009 -0400 summary: 6887571: Increase default heap config sizes changeset: 953:b0651468aff7 user: ysr date: Wed Oct 28 11:16:42 2009 -0700 summary: 6818264: Heap dumper unexpectedly adds .hprof suffix changeset: 954:511f4c69c1be user: johnc date: Thu Oct 29 09:42:26 2009 -0700 summary: 6889740: G1: OpenDS fails with "unhandled exception in compiled code" changeset: 955:684c526959a9 parent: 953:b0651468aff7 user: phh date: Tue Nov 03 15:17:42 2009 -0500 summary: 6852078: HSX 14/16 in jdk 5.0: api/javax_management api/org_omg jck tests crashes or make tnameserv crash changeset: 956:c5388a988d5a parent: 954:511f4c69c1be parent: 955:684c526959a9 user: phh date: Wed Nov 04 07:07:14 2009 -0800 summary: Merge changeset: 957:4385d4e7497b user: ysr date: Tue Nov 03 16:43:16 2009 -0800 summary: 6801625: CDS: HeapDump tests crash with internal error in compactingPermGenGen.cpp changeset: 958:248f0ad25d21 user: kvn date: Fri Nov 06 10:07:50 2009 -0800 summary: 6896084: VM does not reserve protected page below heap for compressed oops implicit null checks changeset: 959:3a2dae936e36 user: kvn date: Fri Nov 06 10:23:54 2009 -0800 summary: 6893554: SPECjvm2008 mpegaudio fails with SecurityException changeset: 960:395db6268de2 user: cfang date: Fri Nov 06 14:38:53 2009 -0800 summary: 6876276: assert(!is_visited,"visit only once") changeset: 961:26d0c7276c9e parent: 954:511f4c69c1be user: phh date: Fri Nov 06 19:57:55 2009 -0500 summary: 6898160: Need serviceability support for new vm argument type 'uint64_t' changeset: 962:a76f17a8fd77 parent: 960:395db6268de2 parent: 961:26d0c7276c9e user: phh date: Fri Nov 06 17:44:04 2009 -0800 summary: Merge changeset: 963:788af96b55e3 user: apetrusenko date: Thu Oct 22 07:43:49 2009 -0700 summary: 6858886: G1: guarantee(_next_marked_bytes <= used(),"invariant") at heapRegion.hpp:359 changeset: 964:e3c995ac8078 user: tonyp date: Fri Oct 23 14:34:27 2009 -0400 summary: 6886024: G1: assert(recent_avg_pause_time_ratio() < 1.00,"All GC?") changeset: 965:2572dd3d6d7c user: tonyp date: Wed Sep 30 14:50:51 2009 -0400 summary: 6890137: G1: revamp reachable object dump changeset: 966:850627f5fd81 user: apetrusenko date: Tue Oct 27 02:42:24 2009 -0700 summary: 6870843: G1: G1 GC memory leak changeset: 967:9f7d1f6201ab user: johnc date: Fri Nov 06 11:10:05 2009 -0800 summary: 6895788: G1: SATB and update buffer allocation code allocates too much space changeset: 968:1a1b644fe617 parent: 962:a76f17a8fd77 user: never date: Thu Nov 12 09:24:21 2009 -0800 summary: 6892658: C2 should optimize some stringbuilder patterns changeset: 969:6571190a0304 parent: 968:1a1b644fe617 parent: 967:9f7d1f6201ab user: never date: Thu Nov 12 14:27:25 2009 -0800 summary: Merge changeset: 970:0ad684e27697 parent: 962:a76f17a8fd77 user: phh date: Thu Nov 12 18:07:55 2009 -0500 summary: 6900899: vm fails to start when -Xmx value is less than OldSize + NewSize changeset: 971:da3df85c0bcd parent: 969:6571190a0304 parent: 970:0ad684e27697 user: phh date: Thu Nov 12 15:25:37 2009 -0800 summary: Merge changeset: 972:dba6aafa42ff parent: 969:6571190a0304 user: jmasa date: Thu Nov 12 15:01:43 2009 -0800 summary: 6898857: [Regression] -XX:NewRatio with -XX:+UseConcMarkSweepGC causes fatal error changeset: 973:54d471e8741d parent: 972:dba6aafa42ff parent: 971:da3df85c0bcd user: jmasa date: Thu Nov 12 17:36:13 2009 -0800 summary: Merge changeset: 974:834503c17fc1 user: trims date: Thu Nov 12 19:44:32 2009 -0800 summary: 6900997: Bump the HS16 build number to 12 changeset: 975:938b86f7a7fc user: cfang date: Tue Nov 24 15:52:43 2009 -0800 summary: 6892079: live value must not be garbage failure after fix for 6854812 changeset: 976:c5cb255ec7a3 user: trims date: Wed Nov 25 12:43:26 2009 -0800 summary: 6821003: Update hotspot windows os_win32 for windows 7 changeset: 977:5a6085c47686 user: trims date: Wed Apr 08 15:16:14 2009 -0700 summary: 6828069: Change JDK_MINOR_VER to 6 for 6Update HS versions changeset: 978:5f14026df877 user: asaha date: Fri Jul 10 14:00:02 2009 -0700 summary: 6842999: Update hotspot windows os_win32 for windows 2008 R2 changeset: 979:43e3f86b638d parent: 975:938b86f7a7fc user: cfang date: Wed Nov 25 12:09:02 2009 -0800 summary: 6904191: OptimizeStringConcat should be product instead of experimental changeset: 980:c44e78b9aa0a parent: 978:5f14026df877 parent: 979:43e3f86b638d user: trims date: Wed Nov 25 17:01:17 2009 -0800 summary: Merge changeset: 981:b6e6e189e1db user: trims date: Wed Nov 25 19:15:17 2009 -0800 summary: 6904996: Bump the HS16 build number to 13 changeset: 982:49bd3de668dc user: dholmes date: Tue Dec 01 19:10:24 2009 -0500 summary: 6822370: ReentrantReadWriteLock: threads hung when there are no threads holding onto the lock (Netra x4450) changeset: 983:9adb2f184e47 user: ysr date: Thu Dec 03 15:01:57 2009 -0800 summary: 6906727: UseCompressedOops: some card-marking fixes related to object arrays changeset: 984:62926c7f67a3 user: ysr date: Tue Dec 08 15:12:17 2009 -0800 summary: 6908208: UseCompressedOops: array_size() returns incorrect size for MAX_INT object array following 6906727 I don't see anything obvious though. The only thing I can think of is some option was turned on that Shark doesn't support. As 7 fails too, I'm not optimistic of a quick fix, so we may just have to go for an appropriate warning that hs16+Shark are not supported for this release. >> the shark build fails for me as well when using the new hotspot as bootstrap >> compiler (on ix86 configuring --with-additional-vms=shark), so this is also >> seen with other bootstrap compilers. > > What other bootstrap compilers? ?Other than the arch., that sounds > pretty much like what I did. > >From IRC; sounds like Matthias is hitting the same or a similar problem, but the --with-additional-vms hits it at a different point because Shark is invoked later. >> > > > > -- > Andrew :-) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > Support Free Java! > Contribute to GNU Classpath and the OpenJDK > http://www.gnu.org/software/classpath > http://openjdk.java.net > > PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > Fingerprint: F8EF F1EA 401E 2E60 15FA ?7927 142C 2591 94EF D9D8 > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From doko at ubuntu.com Thu Jan 14 08:49:07 2010 From: doko at ubuntu.com (Matthias Klose) Date: Thu, 14 Jan 2010 17:49:07 +0100 Subject: [patch] fix dependency checking for the IcedTeaNPPlugin Message-ID: <4B4F4B03.80506@ubuntu.com> noticed a rebuild of the entire build when trying to run the testsuite, only seen when configured for the NPPlugin. Testing the following patch. I'll check it in for IcedTea6 (trunk and 1.7 branch if it succeeds). Matthias -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: npp.diff Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100114/cc2a1c8b/npp.diff From doko at icedtea.classpath.org Thu Jan 14 16:26:28 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Fri, 15 Jan 2010 00:26:28 +0000 Subject: /hg/icedtea6: Proper dependency checking for files involved in t... Message-ID: changeset 1a118a8c23ff in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=1a118a8c23ff author: doko at ubuntu.com date: Fri Jan 15 01:26:56 2010 +0100 Proper dependency checking for files involved in the build of the NPPlugin 2010-01-14 Matthias Klose * Makefile.am (stamps/icedtea-npplugin): New target, add file dependencies for building the IcedTeaNPPlugin.so. diffstat: 2 files changed, 11 insertions(+), 3 deletions(-) ChangeLog | 5 +++++ Makefile.am | 9 ++++++--- diffs (52 lines): diff -r 9e6623803599 -r 1a118a8c23ff ChangeLog --- a/ChangeLog Wed Jan 13 19:32:07 2010 -0500 +++ b/ChangeLog Fri Jan 15 01:26:56 2010 +0100 @@ -1,3 +1,8 @@ 2010-01-13 Deepak Bhole + + * Makefile.am (stamps/icedtea-npplugin): New target, add file + dependencies for building the IcedTeaNPPlugin.so. + 2010-01-13 Deepak Bhole * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc diff -r 9e6623803599 -r 1a118a8c23ff Makefile.am --- a/Makefile.am Wed Jan 13 19:32:07 2010 -0500 +++ b/Makefile.am Fri Jan 15 01:26:56 2010 +0100 @@ -113,7 +113,7 @@ endif # FIXME (plugin): NPPLUGIN_DIR becomes PLUGIN_DIR if ENABLE_NPPLUGIN ICEDTEAPLUGIN_CLEAN = clean-IcedTeaNPPlugin -ICEDTEAPLUGIN_TARGET = IcedTeaNPPlugin.so +ICEDTEAPLUGIN_TARGET = stamps/icedtea-npplugin PLUGIN_PATCH = patches/icedtea-liveconnect.patch LIVECONNECT_DIR = -C lib/rt netscape NPPLUGIN_DIR=$(abs_top_srcdir)/plugin/icedteanp @@ -1461,7 +1461,7 @@ NPPLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedT IcedTeaJavaRequestProcessor.o IcedTeaPluginRequestProcessor.o \ IcedTeaPluginUtils.o -IcedTeaNPPlugin_objects: +$(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_OBJECTS)): $(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_SRC)) cd $(NPPLUGIN_DIR); \ if [ -e $(abs_top_srcdir)/.hg ] && which $(HG) >/dev/null; then \ revision="-r`(cd $(abs_top_srcdir); $(HG) tip --template '{rev}')`" ; \ @@ -1478,7 +1478,7 @@ IcedTeaNPPlugin_objects: -fPIC -c $(NPPLUGIN_SRC); \ cd ../ -IcedTeaNPPlugin.so: IcedTeaNPPlugin_objects +$(NPPLUGIN_DIR)/IcedTeaNPPlugin.so: $(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_OBJECTS)) cd $(NPPLUGIN_DIR); \ $(CXX) $(CXXFLAGS) \ $(NPPLUGIN_OBJECTS) \ @@ -1487,6 +1487,9 @@ IcedTeaNPPlugin.so: IcedTeaNPPlugin_obje $(MOZILLA_LIBS)\ -shared -o $@; \ cd ../ + +stamps/icedtea-npplugin: $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so + touch stamps/icedtea-npplugin clean-IcedTeaNPPlugin: cd $(NPPLUGIN_DIR);\ From doko at icedtea.classpath.org Thu Jan 14 16:29:53 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Fri, 15 Jan 2010 00:29:53 +0000 Subject: /hg/release/icedtea6-1.7: Proper dependency checking for files i... Message-ID: changeset 856c59d59185 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=856c59d59185 author: doko at ubuntu.com date: Fri Jan 15 01:29:21 2010 +0100 Proper dependency checking for files involved in the build of the NPPlugin 2010-01-14 Matthias Klose * Makefile.am (stamps/icedtea-npplugin): New target, add file dependencies for building the IcedTeaNPPlugin.so. diffstat: 2 files changed, 11 insertions(+), 3 deletions(-) ChangeLog | 5 +++++ Makefile.am | 9 ++++++--- diffs (52 lines): diff -r eaf5d54cc7d1 -r 856c59d59185 ChangeLog --- a/ChangeLog Wed Jan 13 19:36:54 2010 -0500 +++ b/ChangeLog Fri Jan 15 01:29:21 2010 +0100 @@ -1,3 +1,8 @@ 2010-01-13 Deepak Bhole + + * Makefile.am (stamps/icedtea-npplugin): New target, add file + dependencies for building the IcedTeaNPPlugin.so. + 2010-01-13 Deepak Bhole * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc diff -r eaf5d54cc7d1 -r 856c59d59185 Makefile.am --- a/Makefile.am Wed Jan 13 19:36:54 2010 -0500 +++ b/Makefile.am Fri Jan 15 01:29:21 2010 +0100 @@ -113,7 +113,7 @@ endif # FIXME (plugin): NPPLUGIN_DIR becomes PLUGIN_DIR if ENABLE_NPPLUGIN ICEDTEAPLUGIN_CLEAN = clean-IcedTeaNPPlugin -ICEDTEAPLUGIN_TARGET = IcedTeaNPPlugin.so +ICEDTEAPLUGIN_TARGET = stamps/icedtea-npplugin PLUGIN_PATCH = patches/icedtea-liveconnect.patch LIVECONNECT_DIR = -C lib/rt netscape NPPLUGIN_DIR=$(abs_top_srcdir)/plugin/icedteanp @@ -1458,7 +1458,7 @@ NPPLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedT IcedTeaJavaRequestProcessor.o IcedTeaPluginRequestProcessor.o \ IcedTeaPluginUtils.o -IcedTeaNPPlugin_objects: +$(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_OBJECTS)): $(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_SRC)) cd $(NPPLUGIN_DIR); \ if [ -e $(abs_top_srcdir)/.hg ] && which $(HG) >/dev/null; then \ revision="-r`(cd $(abs_top_srcdir); $(HG) tip --template '{rev}')`" ; \ @@ -1475,7 +1475,7 @@ IcedTeaNPPlugin_objects: -fPIC -c $(NPPLUGIN_SRC); \ cd ../ -IcedTeaNPPlugin.so: IcedTeaNPPlugin_objects +$(NPPLUGIN_DIR)/IcedTeaNPPlugin.so: $(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_OBJECTS)) cd $(NPPLUGIN_DIR); \ $(CXX) $(CXXFLAGS) \ $(NPPLUGIN_OBJECTS) \ @@ -1484,6 +1484,9 @@ IcedTeaNPPlugin.so: IcedTeaNPPlugin_obje $(MOZILLA_LIBS)\ -shared -o $@; \ cd ../ + +stamps/icedtea-npplugin: $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so + touch stamps/icedtea-npplugin clean-IcedTeaNPPlugin: cd $(NPPLUGIN_DIR);\ From dennis at ausil.us Thu Jan 14 18:10:45 2010 From: dennis at ausil.us (Dennis Gilmore) Date: Thu, 14 Jan 2010 20:10:45 -0600 Subject: build problems on sparc64-linux In-Reply-To: <4B3F6017.9000009@ubuntu.com> References: <4B3F6017.9000009@ubuntu.com> Message-ID: <201001142010.47855.dennis@ausil.us> On Saturday 02 January 2010 09:02:47 am Matthias Klose wrote: > I see a build failure of current 6b17 from the IcedTea6 branch on > sparc64-linux using the original hotspot, but not on sparc-linux (32bit). > The build fails building abstractCompiler.cpp in > build/linux-sparcv9/hotspot/outputdir/linux_sparcv9_compiler2/product > > .../hotspot/src/cpu/sparc/vm/assembler_sparc.hpp:1069: error: inline > function 'void Assembler::emit_long(int)' used but never defined > .../hotspot/src/cpu/sparc/vm/assembler_sparc.hpp:1083: error: inline > function 'void Assembler::add(RegisterImpl*, int, RegisterImpl*, > relocInfo::relocType)' used but never defined > .../hotspot/src/cpu/sparc/vm/assembler_sparc.hpp:1514: error: inline > function 'void Assembler::stb(RegisterImpl*, const Address&, int)' used > but never defined .../hotspot/src/cpu/sparc/vm/assembler_sparc.hpp:1291: > error: inline function 'void Assembler::ldsb(const Address&, > RegisterImpl*, int)' used but never defined > .../hotspot/src/cpu/sparc/vm/assembler_sparc.hpp:1507: error: inline > function 'void Assembler::st(RegisterImpl*, RegisterImpl*, RegisterImpl*)' > used but never defined > > these are all defined in assembler_sparc.inline.hpp. not using precompiled > headers and -save-temps shows that assembler_sparc.inline.hpp is not > included in the saved .ii file. > > I currently fail to see how assembler_x86.inline.hpp and > assembler_zero.inline.hpp are included (or assembler_sparc.inline.hpp on > sparc 32bit). Any hints? > > patches/icedtea-sparc-trapsfix.patch is patched to include asm/traps.h > instead of asm-sparc/traps.h only for one sparc architecture. I don't see > asm-sparc/traps.h anymore with recent kernel headers. maybe this should be > build configure check depending on the kernel headers used? one of the sparc patches in fedora is dealing with the new header locations. kernel headers got moved when sparc and sparc64 kernel trees merged. > the fedora packaging repository does have two sparc patches not found in > IcedTea. Are these still applied? Does the fedora build acctually build and > work in it's current state? yes and yes at least with the last build we did https://sparc.koji.fedoraproject.org/koji/buildinfo?buildID=42183 If you have any sparc questions feel free to ask me. Dennis -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 198 bytes Desc: This is a digitally signed message part. Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100114/d05a6dcc/attachment.bin From bugzilla-daemon at icedtea.classpath.org Fri Jan 15 04:50:32 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 15 Jan 2010 12:50:32 +0000 Subject: [Bug 428] Shark on ARM precompiled header incls/_precompiled.incl.gch build failure Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=428 ------- Comment #4 from gbenson at redhat.com 2010-01-15 12:50 ------- You have -pedantic and -Werror in your flags. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jan 15 05:08:06 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 15 Jan 2010 13:08:06 +0000 Subject: [Bug 179] javascript script support through rhino should not be on bootclasspath Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=179 ------- Comment #6 from hannes at helma.at 2010-01-15 13:08 ------- Regarding my proposal in comment #2 of including the ScriptEngine implementation in Rhino: I've done some work on this in Rhino using the code from scripting.dev.java.net, but unfortunately ran into some erratic behaviour when selecting scripting engines (see my last comment on that bug) https://bugzilla.mozilla.org/show_bug.cgi?id=379385#c3 (In reply to comment #5) > We don't want to be maintaining our own fork of Rhino within IcedTea. I think > we need to look at a solution whereby Rhino is loaded with a lower priority > classloader that can be overridden. > > An interim solution, other than the -Xbootclasspath setting suggested by Mark, > would be to remove the symlink from the JDK install. Yes, this would be the best solution - if it is feasible, which I'm not sure about. I would welcome any efforts in that direction from OpenJDK developers. I tried hacking the OpenJDK scripting engine code myself at one time, but was a bit overwhelmed by its build system (and build times). I agree with Kohsuke that this is seriously hurting projects using their own version of Rhino. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jan 15 05:22:39 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 15 Jan 2010 13:22:39 +0000 Subject: [Bug 428] Shark on ARM precompiled header incls/_precompiled.incl.gch build failure Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=428 xerxes at zafena.se changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|xerxes at zafena.se |.org | Status|NEW |ASSIGNED ------- Comment #5 from xerxes at zafena.se 2010-01-15 13:22 ------- Created an attachment (id=281) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=281&action=view) [patch] strip -pedantic from LLVM_CFLAGS the -pedantic option orgin from LLVM_CFLAGS, the attached patch fixes this issue. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From xerxes at zafena.se Fri Jan 15 06:14:18 2010 From: xerxes at zafena.se (=?ISO-8859-1?Q?Xerxes_R=E5nby?=) Date: Fri, 15 Jan 2010 15:14:18 +0100 Subject: [patch] PR428 - remove -pedantic from LLVM_CFLAGS on Shark builds Message-ID: <4B50783A.4060509@zafena.se> The attached patch removes -pedantic from LLVM_CFLAGS to fix PR428 http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=428 ok to push to icedtea6? ok to push to icedtea? ChangeLog message: 2010-01-15 Xerxes R?nby PR icedtea/428: * configure.ac (LLVM_CFLAGS): Remove -pedantic from LLVM_CFLAGS. Cheers and have a great day! Xerxes Index: icedtea6/configure.ac =================================================================== --- icedtea6.orig/configure.ac 2010-01-15 14:55:53.000000000 +0100 +++ icedtea6/configure.ac 2010-01-15 14:58:14.000000000 +0100 @@ -607,7 +607,7 @@ llvm_components="jit engine nativecodegen" LLVM_CFLAGS=`$LLVM_CONFIG --cxxflags $llvm_components | \ sed -e 's/-O.//g' | sed -e 's/-fomit-frame-pointer//g' | \ - sed -e 's/-D_DEBUG//g'` + sed -e 's/-pedantic//g' | sed -e 's/-D_DEBUG//g'` LLVM_CFLAGS="$LLVM_CFLAGS -DSHARK_LLVM_VERSION=`$LLVM_CONFIG --version | sed 's/\.//;s/svn.*//'`" LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags $llvm_components` LLVM_LIBS=`$LLVM_CONFIG --libs $llvm_components` From doko at ubuntu.com Fri Jan 15 06:22:08 2010 From: doko at ubuntu.com (Matthias Klose) Date: Fri, 15 Jan 2010 15:22:08 +0100 Subject: [patch] PR428 - remove -pedantic from LLVM_CFLAGS on Shark builds In-Reply-To: <4B50783A.4060509@zafena.se> References: <4B50783A.4060509@zafena.se> Message-ID: <4B507A10.1010303@ubuntu.com> looks ok. never noticed this because debian's llvm-config already strips -pedantic. Matthias On 15.01.2010 15:14, Xerxes R?nby wrote: > The attached patch removes -pedantic from LLVM_CFLAGS to fix PR428 > http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=428 > > ok to push to icedtea6? > > ok to push to icedtea? > > ChangeLog message: > 2010-01-15 Xerxes R?nby > > PR icedtea/428: > * configure.ac (LLVM_CFLAGS): Remove -pedantic from LLVM_CFLAGS. > > Cheers and have a great day! > Xerxes > > Index: icedtea6/configure.ac > =================================================================== > --- icedtea6.orig/configure.ac 2010-01-15 14:55:53.000000000 +0100 > +++ icedtea6/configure.ac 2010-01-15 14:58:14.000000000 +0100 > @@ -607,7 +607,7 @@ > llvm_components="jit engine nativecodegen" > LLVM_CFLAGS=`$LLVM_CONFIG --cxxflags $llvm_components | \ > sed -e 's/-O.//g' | sed -e 's/-fomit-frame-pointer//g' | \ > - sed -e 's/-D_DEBUG//g'` > + sed -e 's/-pedantic//g' | sed -e 's/-D_DEBUG//g'` > LLVM_CFLAGS="$LLVM_CFLAGS -DSHARK_LLVM_VERSION=`$LLVM_CONFIG > --version | sed 's/\.//;s/svn.*//'`" > LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags $llvm_components` > LLVM_LIBS=`$LLVM_CONFIG --libs $llvm_components` > From gbenson at redhat.com Fri Jan 15 06:31:53 2010 From: gbenson at redhat.com (Gary Benson) Date: Fri, 15 Jan 2010 14:31:53 +0000 Subject: [patch] PR428 - remove -pedantic from LLVM_CFLAGS on Shark builds In-Reply-To: <4B50783A.4060509@zafena.se> References: <4B50783A.4060509@zafena.se> Message-ID: <20100115143153.GB3485@redhat.com> Xerxes R?nby wrote: > The attached patch removes -pedantic from LLVM_CFLAGS to fix PR428 > http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=428 > > ok to push to icedtea6? Yes please. > ok to push to icedtea? I expect so. Cheers, Gary -- http://gbenson.net/ From xranby at icedtea.classpath.org Fri Jan 15 06:32:33 2010 From: xranby at icedtea.classpath.org (xranby at icedtea.classpath.org) Date: Fri, 15 Jan 2010 14:32:33 +0000 Subject: /hg/icedtea6: PR icedtea/428: Remove -pedantic from LLVM_CFLAGS. Message-ID: changeset d9e57470d35d in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=d9e57470d35d author: Xerxes R?nby date: Fri Jan 15 15:36:43 2010 +0100 PR icedtea/428: Remove -pedantic from LLVM_CFLAGS. 2010-01-15 Xerxes R?nby PR icedtea/428: * configure.ac (LLVM_CFLAGS): Remove -pedantic from LLVM_CFLAGS. diffstat: 2 files changed, 6 insertions(+), 1 deletion(-) ChangeLog | 5 +++++ configure.ac | 2 +- diffs (24 lines): diff -r 1a118a8c23ff -r d9e57470d35d ChangeLog --- a/ChangeLog Fri Jan 15 01:26:56 2010 +0100 +++ b/ChangeLog Fri Jan 15 15:36:43 2010 +0100 @@ -1,3 +1,8 @@ 2010-01-14 Matthias Klose + + PR icedtea/428: + * configure.ac (LLVM_CFLAGS): Remove -pedantic from LLVM_CFLAGS. + 2010-01-14 Matthias Klose * Makefile.am (stamps/icedtea-npplugin): New target, add file diff -r 1a118a8c23ff -r d9e57470d35d configure.ac --- a/configure.ac Fri Jan 15 01:26:56 2010 +0100 +++ b/configure.ac Fri Jan 15 15:36:43 2010 +0100 @@ -607,7 +607,7 @@ if test "x${SHARK_BUILD_TRUE}" = x || te llvm_components="jit engine nativecodegen" LLVM_CFLAGS=`$LLVM_CONFIG --cxxflags $llvm_components | \ sed -e 's/-O.//g' | sed -e 's/-fomit-frame-pointer//g' | \ - sed -e 's/-D_DEBUG//g'` + sed -e 's/-pedantic//g' | sed -e 's/-D_DEBUG//g'` LLVM_CFLAGS="$LLVM_CFLAGS -DSHARK_LLVM_VERSION=`$LLVM_CONFIG --version | sed 's/\.//;s/svn.*//'`" LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags $llvm_components` LLVM_LIBS=`$LLVM_CONFIG --libs $llvm_components` From xranby at icedtea.classpath.org Fri Jan 15 06:37:39 2010 From: xranby at icedtea.classpath.org (xranby at icedtea.classpath.org) Date: Fri, 15 Jan 2010 14:37:39 +0000 Subject: /hg/icedtea: PR icedtea/428: Remove -pedantic from LLVM_CFLAGS. Message-ID: changeset 87d7b8575473 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=87d7b8575473 author: Xerxes R?nby date: Fri Jan 15 15:41:48 2010 +0100 PR icedtea/428: Remove -pedantic from LLVM_CFLAGS. 2010-01-15 Xerxes R?nby PR icedtea/428: * configure.ac (LLVM_CFLAGS): Remove -pedantic from LLVM_CFLAGS. diffstat: 2 files changed, 6 insertions(+), 1 deletion(-) ChangeLog | 5 +++++ configure.ac | 2 +- diffs (24 lines): diff -r ef639bb13850 -r 87d7b8575473 ChangeLog --- a/ChangeLog Wed Jan 13 19:43:16 2010 -0500 +++ b/ChangeLog Fri Jan 15 15:41:48 2010 +0100 @@ -1,3 +1,8 @@ 2010-01-13 Deepak Bhole + + PR icedtea/428: + * configure.ac (LLVM_CFLAGS): Remove -pedantic from LLVM_CFLAGS. + 2010-01-13 Deepak Bhole * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc diff -r ef639bb13850 -r 87d7b8575473 configure.ac --- a/configure.ac Wed Jan 13 19:43:16 2010 -0500 +++ b/configure.ac Fri Jan 15 15:41:48 2010 +0100 @@ -458,7 +458,7 @@ if test "x${SHARK_BUILD_TRUE}" = x || te llvm_components="engine nativecodegen" LLVM_CFLAGS=`$LLVM_CONFIG --cflags $llvm_components | \ sed -e 's/-O.//g' | sed -e 's/-fomit-frame-pointer//g' | \ - sed -e 's/-D_DEBUG//g'` + sed -e 's/-pedantic//g' | sed -e 's/-D_DEBUG//g'` LLVM_CFLAGS="$LLVM_CFLAGS -DSHARK_LLVM_VERSION=`$LLVM_CONFIG --version | sed 's/\.//;s/svn.*//'`" LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags $llvm_components` LLVM_LIBS=`$LLVM_CONFIG --libs $llvm_components` From doko at icedtea.classpath.org Fri Jan 15 06:53:24 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Fri, 15 Jan 2010 14:53:24 +0000 Subject: /hg/icedtea: Proper dependency checking for files involved in th... Message-ID: changeset 663183355f4c in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=663183355f4c author: doko at ubuntu.com date: Fri Jan 15 15:53:39 2010 +0100 Proper dependency checking for files involved in the build of the NPPlugin 2010-01-14 Matthias Klose * Makefile.am (stamps/icedtea-npplugin): New target, add file dependencies for building the IcedTeaNPPlugin.so. diffstat: 2 files changed, 11 insertions(+), 3 deletions(-) ChangeLog | 5 +++++ Makefile.am | 9 ++++++--- diffs (52 lines): diff -r 87d7b8575473 -r 663183355f4c ChangeLog --- a/ChangeLog Fri Jan 15 15:41:48 2010 +0100 +++ b/ChangeLog Fri Jan 15 15:53:39 2010 +0100 @@ -1,3 +1,8 @@ 2010-01-15 Xerxes R??nby + + * Makefile.am (stamps/icedtea-npplugin): New target, add file + dependencies for building the IcedTeaNPPlugin.so. + 2010-01-15 Xerxes R??nby PR icedtea/428: diff -r 87d7b8575473 -r 663183355f4c Makefile.am --- a/Makefile.am Fri Jan 15 15:41:48 2010 +0100 +++ b/Makefile.am Fri Jan 15 15:53:39 2010 +0100 @@ -168,7 +168,7 @@ endif if ENABLE_NPPLUGIN ICEDTEAPLUGIN_CLEAN = clean-IcedTeaNPPlugin -ICEDTEAPLUGIN_TARGET = IcedTeaNPPlugin.so +ICEDTEAPLUGIN_TARGET = stamps/icedtea-npplugin PLUGIN_PATCH = patches/icedtea-liveconnect.patch LIVECONNECT_DIR = sun/applet netscape PLUGIN_DIR=$(abs_top_srcdir)/plugin/icedteanp @@ -1963,7 +1963,7 @@ NPPLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedT IcedTeaJavaRequestProcessor.o IcedTeaPluginRequestProcessor.o \ IcedTeaPluginUtils.o -IcedTeaNPPlugin_objects: +$(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_OBJECTS)): $(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_SRC)) cd $(PLUGIN_DIR); \ if [ -e $(abs_top_srcdir)/.hg ] && which $(HG) >/dev/null; then \ revision="-r`(cd $(abs_top_srcdir); $(HG) tip --template '{rev}')`" ; \ @@ -1980,7 +1980,7 @@ IcedTeaNPPlugin_objects: -fPIC -c $(NPPLUGIN_SRC); \ cd ../ -IcedTeaNPPlugin.so: IcedTeaNPPlugin_objects +$(NPPLUGIN_DIR)/IcedTeaNPPlugin.so: $(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_OBJECTS)) cd $(PLUGIN_DIR); \ $(CXX) $(CXXFLAGS) \ $(NPPLUGIN_OBJECTS) \ @@ -1989,6 +1989,9 @@ IcedTeaNPPlugin.so: IcedTeaNPPlugin_obje $(MOZILLA_LIBS)\ -shared -o $@ \ cd ../ + +stamps/icedtea-npplugin: $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so + touch stamps/icedtea-npplugin clean-IcedTeaNPPlugin: cd $(PLUGIN_DIR); \ From ed at camswl.com Fri Jan 15 09:12:26 2010 From: ed at camswl.com (Edward Nevill) Date: Fri, 15 Jan 2010 17:12:26 +0000 Subject: RTC to 1.7: fix for hs16 + zero Message-ID: Hi folks, Attached is a fix for building hs16 on zero. As far as I can tell it is broken on all zero platforms, whether or not they build with Shark. The problem is simply that the function is_allocatable in os_linux_zero.cpp is unimplemeted. Now hs14 did not call this but hs16 does seem to call it. The 'fix' I have implemented is simply to copy the implementation from os_linux_x86.cpp to os_linux_zero.cpp. I have tested this with the test_gamma but have not done any further testing as I will have to do a complete rebuild to test it fully. (it cannot be worse than the current implemetation which just called ShouldNotCallThis()). Ok to commit? Regards, Ed. --- CUT HERE --- diff -ruNE old/icedtea6-1.7/ChangeLog new/icedtea6-1.7/ChangeLog --- old/icedtea6-1.7/ChangeLog 2010-01-15 16:57:45.000000000 +0000 +++ new/icedtea6-1.7/ChangeLog 2010-01-15 17:02:23.000000000 +0000 @@ -1,3 +1,8 @@ +2010-01-15 Edard Nevill + + * ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp + Implement is_allocatable to make build word with hs16 + 2010-01-14 Matthias Klose * Makefile.am (stamps/icedtea-npplugin): New target, add file diff -ruNE old/icedtea6-1.7/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp new/icedtea6-1.7/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp --- old/icedtea6-1.7/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp 2010-01-15 16:57:47.000000000 +0000 +++ new/icedtea6-1.7/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp 2010-01-15 16:59:56.000000000 +0000 @@ -249,7 +249,23 @@ } bool os::is_allocatable(size_t bytes) { - ShouldNotCallThis(); +#ifdef AMD64 + // unused on amd64? + return true; +#else + + if (bytes < 2 * G) { + return true; + } + + char* addr = reserve_memory(bytes, NULL); + + if (addr != NULL) { + release_memory(addr, bytes); + } + + return addr != NULL; +#endif // AMD64 } /////////////////////////////////////////////////////////////////////////////// From gnu_andrew at member.fsf.org Fri Jan 15 09:25:38 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Fri, 15 Jan 2010 17:25:38 +0000 Subject: RTC to 1.7: fix for hs16 + zero In-Reply-To: References: Message-ID: <17c6771e1001150925y7b7dfb7emc18e3230fa9cce78@mail.gmail.com> 2010/1/15 Edward Nevill : > Hi folks, > > Attached is a fix for building hs16 on zero. As far as I can tell it is broken on all zero platforms, whether or not they build with Shark. > > The problem is simply that the function is_allocatable in os_linux_zero.cpp is unimplemeted. Now hs14 did not call this but hs16 does seem to call it. > > The 'fix' I have implemented is simply to copy the implementation from os_linux_x86.cpp to os_linux_zero.cpp. > > I have tested this with the test_gamma but have not done any further testing as I will have to do a complete rebuild to test it fully. > > (it cannot be worse than the current implemetation which just called ShouldNotCallThis()). > > Ok to commit? > > Regards, > Ed. > > --- CUT HERE --- > diff -ruNE old/icedtea6-1.7/ChangeLog new/icedtea6-1.7/ChangeLog > --- old/icedtea6-1.7/ChangeLog ?2010-01-15 16:57:45.000000000 +0000 > +++ new/icedtea6-1.7/ChangeLog ?2010-01-15 17:02:23.000000000 +0000 > @@ -1,3 +1,8 @@ > +2010-01-15 ?Edard Nevill > + > + ? ? ? ?* ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp > + ? ? ? Implement is_allocatable to make build word with hs16 > + > ?2010-01-14 ?Matthias Klose ? > > ? ? ? ?* Makefile.am (stamps/icedtea-npplugin): New target, add file > diff -ruNE old/icedtea6-1.7/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp new/icedtea6-1.7/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp > --- old/icedtea6-1.7/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp ? 2010-01-15 16:57:47.000000000 +0000 > +++ new/icedtea6-1.7/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp ? 2010-01-15 16:59:56.000000000 +0000 > @@ -249,7 +249,23 @@ > ?} > > ?bool os::is_allocatable(size_t bytes) { > - ?ShouldNotCallThis(); > +#ifdef AMD64 > + ?// unused on amd64? > + ?return true; > +#else > + > + ?if (bytes < 2 * G) { > + ? ?return true; > + ?} > + > + ?char* addr = reserve_memory(bytes, NULL); > + > + ?if (addr != NULL) { > + ? ?release_memory(addr, bytes); > + ?} > + > + ?return addr != NULL; > +#endif // AMD64 > ?} > > ?/////////////////////////////////////////////////////////////////////////////// > > > > > > Looks good to me, please push to HEAD and 1.7. Thanks, -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From enevill at icedtea.classpath.org Fri Jan 15 09:21:29 2010 From: enevill at icedtea.classpath.org (enevill at icedtea.classpath.org) Date: Fri, 15 Jan 2010 17:21:29 +0000 Subject: /hg/release/icedtea6-1.7: Fix problems with hs16. is_allocatable... Message-ID: changeset adf8932ab9c3 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=adf8932ab9c3 author: Edward Nevill date: Fri Jan 15 17:27:16 2010 +0000 Fix problems with hs16. is_allocatable not implemented diffstat: 2 files changed, 22 insertions(+), 1 deletion(-) ChangeLog | 5 +++ ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp | 18 +++++++++++++- diffs (40 lines): diff -r 856c59d59185 -r adf8932ab9c3 ChangeLog --- a/ChangeLog Fri Jan 15 01:29:21 2010 +0100 +++ b/ChangeLog Fri Jan 15 17:27:16 2010 +0000 @@ -1,3 +1,8 @@ 2010-01-14 Matthias Klose + + * ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp + Implement is_allocatable to make build word with hs16 + 2010-01-14 Matthias Klose * Makefile.am (stamps/icedtea-npplugin): New target, add file diff -r 856c59d59185 -r adf8932ab9c3 ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp --- a/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp Fri Jan 15 01:29:21 2010 +0100 +++ b/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp Fri Jan 15 17:27:16 2010 +0000 @@ -249,7 +249,23 @@ void os::Linux::set_fpu_control_word(int } bool os::is_allocatable(size_t bytes) { - ShouldNotCallThis(); +#ifdef AMD64 + // unused on amd64? + return true; +#else + + if (bytes < 2 * G) { + return true; + } + + char* addr = reserve_memory(bytes, NULL); + + if (addr != NULL) { + release_memory(addr, bytes); + } + + return addr != NULL; +#endif // AMD64 } /////////////////////////////////////////////////////////////////////////////// From enevill at icedtea.classpath.org Fri Jan 15 09:30:19 2010 From: enevill at icedtea.classpath.org (enevill at icedtea.classpath.org) Date: Fri, 15 Jan 2010 17:30:19 +0000 Subject: /hg/icedtea6: Fix build for hs16. Add implementation of is_alloc... Message-ID: changeset be36bffde64d in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=be36bffde64d author: Edward Nevill date: Fri Jan 15 17:36:07 2010 +0000 Fix build for hs16. Add implementation of is_allocatable diffstat: 2 files changed, 22 insertions(+), 1 deletion(-) ChangeLog | 5 +++ ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp | 18 +++++++++++++- diffs (40 lines): diff -r d9e57470d35d -r be36bffde64d ChangeLog --- a/ChangeLog Fri Jan 15 15:36:43 2010 +0100 +++ b/ChangeLog Fri Jan 15 17:36:07 2010 +0000 @@ -1,3 +1,8 @@ 2010-01-15 Xerxes R??nby + + * ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp + Implement is_allocatable to make build word with hs16 + 2010-01-15 Xerxes R??nby PR icedtea/428: diff -r d9e57470d35d -r be36bffde64d ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp --- a/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp Fri Jan 15 15:36:43 2010 +0100 +++ b/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp Fri Jan 15 17:36:07 2010 +0000 @@ -249,7 +249,23 @@ void os::Linux::set_fpu_control_word(int } bool os::is_allocatable(size_t bytes) { - ShouldNotCallThis(); +#ifdef AMD64 + // unused on amd64? + return true; +#else + + if (bytes < 2 * G) { + return true; + } + + char* addr = reserve_memory(bytes, NULL); + + if (addr != NULL) { + release_memory(addr, bytes); + } + + return addr != NULL; +#endif // AMD64 } /////////////////////////////////////////////////////////////////////////////// From gnu_andrew at member.fsf.org Fri Jan 15 11:11:39 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Fri, 15 Jan 2010 19:11:39 +0000 Subject: HotSpot 16 In-Reply-To: <17c6771e1001140834h4da73e5dt55889a366e828147@mail.gmail.com> References: <17c6771e1001131337s68e4ca2fm2dd2ae9c87bd61c@mail.gmail.com> <4B4F283B.8030103@ubuntu.com> <17c6771e1001140655v4499a0e4q2cf22ba0e6e649fd@mail.gmail.com> <17c6771e1001140834h4da73e5dt55889a366e828147@mail.gmail.com> Message-ID: <17c6771e1001151111q190aa16eu5d71affbb0b8841e@mail.gmail.com> 2010/1/14 Andrew John Hughes : > 2010/1/14 Andrew John Hughes : >> 2010/1/14 Matthias Klose : >>> On 13.01.2010 22:37, Andrew John Hughes wrote: >>>> >>>> I've now bumped IcedTea6 HEAD and 1.7 to build the latest hs16 (b13) >>>> as I believe is used in the proprietary JDK 6 update 18. >>>> >>>> I've confirmed that both normal and Zero builds complete. ?Shark also >>>> builds but can't bootstrap itself; see >>>> http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=430 ?As both >>>> Shark and hs16 are experimental, I don't think that's a release >>>> stopper. >>> >>> so update hotspot two days before a planned release and then declare the >>> regressions as non-stoppers? >>> >> >> It's a minor update to a version of HotSpot that is _not the default_, >> and which fully bootstraps with both normal and Zero builds. ?I don't >> recall Shark working with hs16 before so how is this a regression? >> >> FWIW, Shark also can't bootstrap itself on 7 either >> (http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=348) and that's >> been the case for some time. ?If I thought there was going to be a fix >> for this in the next week or so, I would see the point in delaying the >> release. ? Are you offering to fix this? >> >> As is, I don't see how there is anything to gain from waiting >> indefinitely for a fix to a pretty minor build option (hs16+shark). >> Shark is still a work-in-progress and anyone wanting to ship >> Shark+hs16 binaries would be quite mad. >> >> As I said before, I've updated hs16 because if we're going to include >> the option to build with it at all, we should use the same version Sun >> are shipping and that will end up in b18. >> > > On IRC, we found that this is a regression from when we first added > hs16 (though not 1.6 obviously). > > These are the actual changes between the two hs16 revisions: > > changeset: ? 941:6bdfda9a7120 > user: ? ? ? ?trims > date: ? ? ? ?Fri Oct 02 14:16:39 2009 -0700 > summary: ? ? 6887914: Bump the HS16 build number to 10 > > changeset: ? 942:6de2c9c36168 > user: ? ? ? ?tonyp > date: ? ? ? ?Tue Oct 20 19:55:13 2009 -0400 > summary: ? ? 6893095: G1: bulk G1 backports to hs16 > > changeset: ? 943:47ca7aa20d97 > user: ? ? ? ?asaha > date: ? ? ? ?Wed Oct 21 15:43:35 2009 -0700 > summary: ? ? 6858208: jvm crash when specifying TypeProfileWidth=0 on jdk 6.0 > > changeset: ? 944:aa001a20bd61 > parent: ? ? ?941:6bdfda9a7120 > user: ? ? ? ?ysr > date: ? ? ? ?Fri Oct 16 02:05:46 2009 -0700 > summary: ? ? 6888898: CMS: ReduceInitialCardMarks unsafe in the > presence of cms precleaning > > changeset: ? 945:164505f3849e > user: ? ? ? ?ysr > date: ? ? ? ?Tue Oct 20 00:00:23 2009 -0700 > summary: ? ? 6892749: assert(UseParNewGC || UseSerialGC || > UseConcMarkSweepGC, "...") fails > > changeset: ? 946:d43a7bf86266 > parent: ? ? ?945:164505f3849e > parent: ? ? ?942:6de2c9c36168 > user: ? ? ? ?ysr > date: ? ? ? ?Wed Oct 21 12:35:50 2009 -0700 > summary: ? ? Merge > > changeset: ? 947:aa83c08db78c > parent: ? ? ?946:d43a7bf86266 > parent: ? ? ?943:47ca7aa20d97 > user: ? ? ? ?ysr > date: ? ? ? ?Wed Oct 21 19:13:54 2009 -0700 > summary: ? ? Merge > > changeset: ? 948:b7e7fc226009 > parent: ? ? ?946:d43a7bf86266 > parent: ? ? ?943:47ca7aa20d97 > user: ? ? ? ?ysr > date: ? ? ? ?Wed Oct 21 18:57:28 2009 -0700 > summary: ? ? Merge > > changeset: ? 949:0537635c7c16 > parent: ? ? ?948:b7e7fc226009 > parent: ? ? ?947:aa83c08db78c > user: ? ? ? ?ysr > date: ? ? ? ?Wed Oct 21 21:06:27 2009 -0700 > summary: ? ? Merge > > changeset: ? 950:06264910ac5f > user: ? ? ? ?trims > date: ? ? ? ?Wed Oct 21 21:31:53 2009 -0700 > summary: ? ? 6893995: Bump the HS16 build number to 11 > > changeset: ? 951:38b152ff0cac > user: ? ? ? ?trims > date: ? ? ? ?Wed Oct 21 21:34:37 2009 -0700 > summary: ? ? 6893996: change default JPRT release target to be 6u18 > > changeset: ? 952:0799687b7385 > user: ? ? ? ?phh > date: ? ? ? ?Thu Oct 29 11:45:09 2009 -0400 > summary: ? ? 6887571: Increase default heap config sizes > > changeset: ? 953:b0651468aff7 > user: ? ? ? ?ysr > date: ? ? ? ?Wed Oct 28 11:16:42 2009 -0700 > summary: ? ? 6818264: Heap dumper unexpectedly adds .hprof suffix > > changeset: ? 954:511f4c69c1be > user: ? ? ? ?johnc > date: ? ? ? ?Thu Oct 29 09:42:26 2009 -0700 > summary: ? ? 6889740: G1: OpenDS fails with "unhandled exception in > compiled code" > > changeset: ? 955:684c526959a9 > parent: ? ? ?953:b0651468aff7 > user: ? ? ? ?phh > date: ? ? ? ?Tue Nov 03 15:17:42 2009 -0500 > summary: ? ? 6852078: HSX 14/16 in jdk 5.0: api/javax_management > api/org_omg jck tests crashes or make tnameserv crash > > changeset: ? 956:c5388a988d5a > parent: ? ? ?954:511f4c69c1be > parent: ? ? ?955:684c526959a9 > user: ? ? ? ?phh > date: ? ? ? ?Wed Nov 04 07:07:14 2009 -0800 > summary: ? ? Merge > > changeset: ? 957:4385d4e7497b > user: ? ? ? ?ysr > date: ? ? ? ?Tue Nov 03 16:43:16 2009 -0800 > summary: ? ? 6801625: CDS: HeapDump tests crash with internal error in > compactingPermGenGen.cpp > > changeset: ? 958:248f0ad25d21 > user: ? ? ? ?kvn > date: ? ? ? ?Fri Nov 06 10:07:50 2009 -0800 > summary: ? ? 6896084: VM does not reserve protected page below heap > for compressed oops implicit null checks > > changeset: ? 959:3a2dae936e36 > user: ? ? ? ?kvn > date: ? ? ? ?Fri Nov 06 10:23:54 2009 -0800 > summary: ? ? 6893554: SPECjvm2008 mpegaudio fails with SecurityException > > changeset: ? 960:395db6268de2 > user: ? ? ? ?cfang > date: ? ? ? ?Fri Nov 06 14:38:53 2009 -0800 > summary: ? ? 6876276: assert(!is_visited,"visit only once") > > changeset: ? 961:26d0c7276c9e > parent: ? ? ?954:511f4c69c1be > user: ? ? ? ?phh > date: ? ? ? ?Fri Nov 06 19:57:55 2009 -0500 > summary: ? ? 6898160: Need serviceability support for new vm argument > type 'uint64_t' > > changeset: ? 962:a76f17a8fd77 > parent: ? ? ?960:395db6268de2 > parent: ? ? ?961:26d0c7276c9e > user: ? ? ? ?phh > date: ? ? ? ?Fri Nov 06 17:44:04 2009 -0800 > summary: ? ? Merge > > changeset: ? 963:788af96b55e3 > user: ? ? ? ?apetrusenko > date: ? ? ? ?Thu Oct 22 07:43:49 2009 -0700 > summary: ? ? 6858886: G1: guarantee(_next_marked_bytes <= > used(),"invariant") at heapRegion.hpp:359 > > changeset: ? 964:e3c995ac8078 > user: ? ? ? ?tonyp > date: ? ? ? ?Fri Oct 23 14:34:27 2009 -0400 > summary: ? ? 6886024: G1: assert(recent_avg_pause_time_ratio() < 1.00,"All GC?") > > changeset: ? 965:2572dd3d6d7c > user: ? ? ? ?tonyp > date: ? ? ? ?Wed Sep 30 14:50:51 2009 -0400 > summary: ? ? 6890137: G1: revamp reachable object dump > > changeset: ? 966:850627f5fd81 > user: ? ? ? ?apetrusenko > date: ? ? ? ?Tue Oct 27 02:42:24 2009 -0700 > summary: ? ? 6870843: G1: G1 GC memory leak > > changeset: ? 967:9f7d1f6201ab > user: ? ? ? ?johnc > date: ? ? ? ?Fri Nov 06 11:10:05 2009 -0800 > summary: ? ? 6895788: G1: SATB and update buffer allocation code > allocates too much space > > changeset: ? 968:1a1b644fe617 > parent: ? ? ?962:a76f17a8fd77 > user: ? ? ? ?never > date: ? ? ? ?Thu Nov 12 09:24:21 2009 -0800 > summary: ? ? 6892658: C2 should optimize some stringbuilder patterns > > changeset: ? 969:6571190a0304 > parent: ? ? ?968:1a1b644fe617 > parent: ? ? ?967:9f7d1f6201ab > user: ? ? ? ?never > date: ? ? ? ?Thu Nov 12 14:27:25 2009 -0800 > summary: ? ? Merge > > changeset: ? 970:0ad684e27697 > parent: ? ? ?962:a76f17a8fd77 > user: ? ? ? ?phh > date: ? ? ? ?Thu Nov 12 18:07:55 2009 -0500 > summary: ? ? 6900899: vm fails to start when -Xmx value is less than > OldSize + NewSize > > changeset: ? 971:da3df85c0bcd > parent: ? ? ?969:6571190a0304 > parent: ? ? ?970:0ad684e27697 > user: ? ? ? ?phh > date: ? ? ? ?Thu Nov 12 15:25:37 2009 -0800 > summary: ? ? Merge > > changeset: ? 972:dba6aafa42ff > parent: ? ? ?969:6571190a0304 > user: ? ? ? ?jmasa > date: ? ? ? ?Thu Nov 12 15:01:43 2009 -0800 > summary: ? ? 6898857: [Regression] -XX:NewRatio with > -XX:+UseConcMarkSweepGC causes fatal error > > changeset: ? 973:54d471e8741d > parent: ? ? ?972:dba6aafa42ff > parent: ? ? ?971:da3df85c0bcd > user: ? ? ? ?jmasa > date: ? ? ? ?Thu Nov 12 17:36:13 2009 -0800 > summary: ? ? Merge > > changeset: ? 974:834503c17fc1 > user: ? ? ? ?trims > date: ? ? ? ?Thu Nov 12 19:44:32 2009 -0800 > summary: ? ? 6900997: Bump the HS16 build number to 12 > > changeset: ? 975:938b86f7a7fc > user: ? ? ? ?cfang > date: ? ? ? ?Tue Nov 24 15:52:43 2009 -0800 > summary: ? ? 6892079: live value must not be garbage failure after fix > for 6854812 > > changeset: ? 976:c5cb255ec7a3 > user: ? ? ? ?trims > date: ? ? ? ?Wed Nov 25 12:43:26 2009 -0800 > summary: ? ? 6821003: Update hotspot windows os_win32 for windows 7 > > changeset: ? 977:5a6085c47686 > user: ? ? ? ?trims > date: ? ? ? ?Wed Apr 08 15:16:14 2009 -0700 > summary: ? ? 6828069: Change JDK_MINOR_VER to 6 for 6Update HS versions > > changeset: ? 978:5f14026df877 > user: ? ? ? ?asaha > date: ? ? ? ?Fri Jul 10 14:00:02 2009 -0700 > summary: ? ? 6842999: Update hotspot windows os_win32 for windows 2008 R2 > > changeset: ? 979:43e3f86b638d > parent: ? ? ?975:938b86f7a7fc > user: ? ? ? ?cfang > date: ? ? ? ?Wed Nov 25 12:09:02 2009 -0800 > summary: ? ? 6904191: OptimizeStringConcat should be product instead > of experimental > > changeset: ? 980:c44e78b9aa0a > parent: ? ? ?978:5f14026df877 > parent: ? ? ?979:43e3f86b638d > user: ? ? ? ?trims > date: ? ? ? ?Wed Nov 25 17:01:17 2009 -0800 > summary: ? ? Merge > > changeset: ? 981:b6e6e189e1db > user: ? ? ? ?trims > date: ? ? ? ?Wed Nov 25 19:15:17 2009 -0800 > summary: ? ? 6904996: Bump the HS16 build number to 13 > > changeset: ? 982:49bd3de668dc > user: ? ? ? ?dholmes > date: ? ? ? ?Tue Dec 01 19:10:24 2009 -0500 > summary: ? ? 6822370: ReentrantReadWriteLock: threads hung when there > are no threads holding onto the lock (Netra x4450) > > changeset: ? 983:9adb2f184e47 > user: ? ? ? ?ysr > date: ? ? ? ?Thu Dec 03 15:01:57 2009 -0800 > summary: ? ? 6906727: UseCompressedOops: some card-marking fixes > related to object arrays > > changeset: ? 984:62926c7f67a3 > user: ? ? ? ?ysr > date: ? ? ? ?Tue Dec 08 15:12:17 2009 -0800 > summary: ? ? 6908208: UseCompressedOops: array_size() returns > incorrect size for MAX_INT object array following 6906727 > > I don't see anything obvious though. ?The only thing I can think of is > some option was turned on that Shark doesn't support. ?As 7 fails too, > I'm not optimistic of a quick fix, so we may just have to go for an > appropriate warning that hs16+Shark are not supported for this > release. > >>> the shark build fails for me as well when using the new hotspot as bootstrap >>> compiler (on ix86 configuring --with-additional-vms=shark), so this is also >>> seen with other bootstrap compilers. >> >> What other bootstrap compilers? ?Other than the arch., that sounds >> pretty much like what I did. >> > > From IRC; sounds like Matthias is hitting the same or a similar > problem, but the --with-additional-vms hits it at a different point > because Shark is invoked later. > >>> >> >> >> >> -- >> Andrew :-) >> >> Free Java Software Engineer >> Red Hat, Inc. (http://www.redhat.com) >> >> Support Free Java! >> Contribute to GNU Classpath and the OpenJDK >> http://www.gnu.org/software/classpath >> http://openjdk.java.net >> >> PGP Key: 94EFD9D8 (http://subkeys.pgp.net) >> Fingerprint: F8EF F1EA 401E 2E60 15FA ?7927 142C 2591 94EF D9D8 >> > > > > -- > Andrew :-) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > Support Free Java! > Contribute to GNU Classpath and the OpenJDK > http://www.gnu.org/software/classpath > http://openjdk.java.net > > PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > Fingerprint: F8EF F1EA 401E 2E60 15FA ?7927 142C 2591 94EF D9D8 > Ok, I'm going to summarise things in this email because I'm getting confused now as to what works and what doesn't: The only one missing below is the ARM port as these builds are all on x86_64. Normal builds ========== 1. --enable-vms=cacao,shark $ /home/andrew/build/addvm-icedtea6/bin/java -version java version "1.6.0_17" OpenJDK Runtime Environment (IcedTea6 1.8pre-r1a118a8c23ff) (build 1.6.0_17-b17) OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode) $ /home/andrew/build/addvm-icedtea6/bin/java -version -zero java version "1.6.0_17" OpenJDK Runtime Environment (IcedTea6 1.8pre-r1a118a8c23ff) (build 1.6.0_17-b17) OpenJDK 64-Bit Shark VM (build 14.0-b16, mixed mode) $ /home/andrew/build/addvm-icedtea6/bin/java -version -cacao java version "1.6.0_17" IcedTea Runtime Environment (IcedTea6 1.8pre-r1a118a8c23ff) (build 1.6.0_17-b17) CACAO (build 0.99.4, compiled mode) 2. --enable-shark Crashes on stage 2:dbh [javac] # Internal Error (os_linux_zero.cpp:236), pid=22828, tid=47264282425104 [javac] # Error: caught unhandled signal 11 [javac] # [javac] # JRE version: 6.0_17-b17 [javac] # Java VM: OpenJDK 64-Bit Shark VM (14.0-b16 mixed mode linux-amd64 ) [javac] # An error report file with more information is saved as: [javac] # /mnt/builder/shark6/openjdk/langtools/hs_err_pid22828.log $ /mnt/builder/shark6/bootstrap/jdk1.6.0/bin/java -version java version "1.6.0_17" OpenJDK Runtime Environment (IcedTea6 1.8pre-rd9e57470d35d) (build 1.6.0_17-b17) OpenJDK 64-Bit Shark VM (build 14.0-b16, mixed mode) 3. --enable-zero $ /mnt/builder/zero6/openjdk/build/linux-amd64/j2sdk-image/bin/java -version java version "1.6.0_17" OpenJDK Runtime Environment (IcedTea6 1.8pre-rd9e57470d35d) (build 1.6.0_17-b17) OpenJDK 64-Bit Zero VM (build 14.0-b16, interpreted mode) Builds using --with-hotspot-build=hs16: =========================== 1. --enable-shark: Crashes on stage 2: [javac] Compiling 244 source files to /mnt/builder/shark6/openjdk/build/linux-amd64/langtools/build/classes [javac] # [javac] # A fatal error has been detected by the Java Runtime Environment: [javac] # [javac] # Internal Error (os_linux_zero.cpp:236), pid=22007, tid=47864850761488 [javac] # Error: caught unhandled signal 11 [javac] # [javac] # JRE version: 6.0_17-b17 [javac] # Java VM: OpenJDK 64-Bit Shark VM (16.0-b13 mixed mode linux-amd64 ) 2. --enable-vms=cacao,zero Succeeds $ /home/andrew/build/addvm-icedtea6/bin/java -version java version "1.6.0_17" OpenJDK Runtime Environment (IcedTea6 1.8pre-r1a118a8c23ff) (build 1.6.0_17-b17) OpenJDK 64-Bit Server VM (build 16.0-b13, mixed mode) $ /home/andrew/build/addvm-icedtea6/bin/java -zero -version java version "1.6.0_17" OpenJDK Runtime Environment (IcedTea6 1.8pre-r1a118a8c23ff) (build 1.6.0_17-b17) OpenJDK 64-Bit Zero VM (build 16.0-b13, interpreted mode) $ /home/andrew/build/addvm-icedtea6/bin/java -cacao -version java version "1.6.0_17" IcedTea Runtime Environment (IcedTea6 1.8pre-r1a118a8c23ff) (build 1.6.0_17-b17) CACAO (build 0.99.4, compiled mode) 3. --enable-zero /mnt/builder/zero6/openjdk/build/linux-amd64/bin/java -version java version "1.6.0_17" OpenJDK Runtime Environment (IcedTea6 1.8pre-r1a118a8c23ff) (build 1.6.0_17-b17) OpenJDK 64-Bit Zero VM (build 16.0-b13, interpreted mode) 1.6.2+hg ======= 1. --enable-shark java version "1.6.0_0" OpenJDK Runtime Environment (IcedTea6 1.6.2-r66c327225114) (build 1.6.0_0-b16) OpenJDK 64-Bit Shark VM (build 14.0-b16, mixed mode) HotSpot jtreg: Passed: compiler/6646019/Test.java FAILED: compiler/6646020/Tester.java Passed: compiler/6659207/Test.java Passed: compiler/6661247/Test.java Passed: compiler/6663621/IVTest.java Passed: compiler/6663848/Tester.java Passed: compiler/6689060/Test.java Passed: compiler/6695810/Test.java Passed: compiler/6700047/Test6700047.java Passed: compiler/6711100/Test.java Passed: compiler/6712835/Test6712835.java Passed: compiler/6714694/Tester.java FAILED: compiler/6716441/Tester.java Passed: compiler/6724218/Test.java Passed: compiler/6726999/Test.java FAILED: compiler/6741738/Tester.java Passed: compiler/6756768/Test6756768_2.java Passed: compiler/6756768/Test6756768.java Passed: compiler/6757316/Test6757316.java Passed: compiler/6758234/Test6758234.java Passed: compiler/6775880/Test.java Passed: compiler/6795362/Test6795362.java Passed: compiler/6805724/Test6805724.java Passed: runtime/6819213/TestBootNativeLibraryPath.java Test results: passed: 21; failed: 3 So Shark has regressed to not bootstrapping with either HotSpot in 1.7. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From bugzilla-daemon at icedtea.classpath.org Fri Jan 15 11:52:25 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 15 Jan 2010 19:52:25 +0000 Subject: [Bug 295] XML encoder can cause a StackOverflowError Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=295 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED Version|unspecified |6-1.4 ------- Comment #5 from gnu_andrew at member.fsf.org 2010-01-15 19:52 ------- Fixed in OpenJDK7 but not backported to 6 yet; relies on updated JAXP bundle: https://bugs.openjdk.java.net/show_bug.cgi?id=100017 The fix is in IcedTeaK6 since: 2009-02-26 Omair Majid * patches/icedtea-xml-encodinginfo.patch: New file. Fix possible StackOverflowError. * Makefile.am (ICEDTEA_PATCHES): Apply the above. * HACKING: Document the above. and is thus in 1.5 and later. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jan 15 11:53:42 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 15 Jan 2010 19:53:42 +0000 Subject: [Bug 299] eclipse crashes during file download in a tomcat test scenario Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=299 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #169|text/x-log |text/plain mime type| | -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jan 15 11:54:10 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 15 Jan 2010 19:54:10 +0000 Subject: [Bug 299] eclipse crashes during file download in a tomcat test scenario Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=299 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |6-1.2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jan 15 11:55:21 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 15 Jan 2010 19:55:21 +0000 Subject: [Bug 305] eclipse crashes if I try to configure PyDev plugin Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=305 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |6-1.2 ------- Comment #8 from gnu_andrew at member.fsf.org 2010-01-15 19:55 ------- Looks like an issue with a much older version (1.2) than either Omair (1.4) or Jon (1.5)'s tests -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jan 15 11:58:07 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 15 Jan 2010 19:58:07 +0000 Subject: [Bug 308] run scilab 5.1 demos at openSUSE11.1 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=308 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |6-1.4 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jan 15 12:01:30 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 15 Jan 2010 20:01:30 +0000 Subject: [Bug 321] SIGSEGV (0xb) at pc=0x00a3dcab with Java VM: OpenJDK Server VM (1.6.0-b09 mixed mode linux-x86) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=321 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |6-1.2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From mwong at redhat.com Fri Jan 15 14:36:12 2010 From: mwong at redhat.com (Man Wong) Date: Fri, 15 Jan 2010 17:36:12 -0500 (EST) Subject: Patch for review: Adding default value to certain attributes In-Reply-To: <889613722.363591263594967523.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> Message-ID: <349797732.363641263594972564.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> This patch allows netx to not cause a failure when the codebase and href attribute under the jnlp tag is missing (codebase and href are not required attributes, hence missing them should not cause an exception to be thrown). Changelog: 2010-01-15 Man Lung Wong * rt/net/sourceforge/jnlp/JNLPFile.java (parse): Added a default value for sourceLocation to make sure it is not null (location is never null). * rt/net/sourceforge/jnlp/Parser.java Removed variable base, and replaced it with codebase. The fix ended with base the same as codebase, hence no longer needed. Otherwise, netx will launch a jnlp file with codebase null and href not null (not the way sun's webstart behaves). * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (setSecurity): Added a variable codebase, which gets the value of codebase attribute in the jnlp file if it exists. Otherwise, it gets the value of the location of main jar resource (which needs to be changed to the codebase portion instead of the entire location). Any comments? Thanks, Man Lung Wong -------------- next part -------------- A non-text attachment was scrubbed... Name: defaultvalue.patch Type: text/x-patch Size: 6951 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100115/19ae4843/defaultvalue.patch From bugzilla-daemon at icedtea.classpath.org Fri Jan 15 16:09:12 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 16 Jan 2010 00:09:12 +0000 Subject: [Bug 329] IcedTeaPlugin does not work at all in seamonkey 2.0b1pre Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=329 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Plugin Version|unspecified |6-1.4 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From andrew at icedtea.classpath.org Fri Jan 15 18:06:41 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Sat, 16 Jan 2010 02:06:41 +0000 Subject: /hg/release/icedtea6-1.7: 3 new changesets Message-ID: changeset 02cf6e66f081 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=02cf6e66f081 author: Andrew John Hughes date: Sat Jan 16 01:45:00 2010 +0000 Cleanup quoting and output of configure macros and make them less error-prone. 2010-01-16 Andrew John Hughes configure output and option cleanup * Makefile.am: Change !ENABLE_OPTIMIZATIONS to DISABLE_OPTIMIZATIONS. * acinclude.m4: (FIND_ECJ_JAR): Always produce output, not just when explicitly specified. (FIND_JAVAH): Handle the yes and no possibilities better. (FIND_JAR): Likewise. (FIND_RMIC): Likewise. (WITH_OPENJDK_SRC_ZIP): Quote checking output. (WITH_ALT_JAR_BINARY): Likewise. (FIND_XALAN2_JAR): Improve wording. (FIND_XALAN2_SERIALIZER_JAR): Likewise. (FIND_XERCES_JAR): Likewise. (FIND_NETBEANS): Handle yes and no possibilities better. (FIND_RHINO_JAR): Quote checking output. (ENABLE_OPTIMIZATIONS): Rename to DISABLE_OPTIMIZATIONS for clarity. (ENABLE_ZERO_BUILD): Quote checking output. (AC_CHECK_WITH_CACAO_SRC_ZIP): Likewise. (AC_CHECK_WITH_CACAO_SRC_DIR): Likewise. (WITH_OPENJDK): Complete output with no when not specified. (IT_CHECK_ADDITIONAL_VMS): Moved to a macro from configure.ac (IT_CHECK_NUMBER_OF_PARALLEL_JOBS): Likewise. * configure.ac: Invoke new macros. Quote output and correct typos. Perform IT_CHECK_ADDITIONAL_VMS earlier with Shark, Zero and CACAO checks. changeset bd63913c82ad in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=bd63913c82ad author: Andrew John Hughes date: Sat Jan 16 01:48:41 2010 +0000 Record errors to config.log rather than /dev/null. 2010-01-16 Andrew John Hughes * acinclude.m4: Send output to AS_MESSAGE_LOG_FD rather than /dev/null so we have a record of errors. changeset 882587aab813 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=882587aab813 author: Andrew John Hughes date: Sat Jan 16 02:12:30 2010 +0000 Handle yes/no correctly in --with-parallel-jobs. 2010-01-16 Andrew John Hughes * acinclude.m4: (IT_CHECK_NUMBER_OF_PARALLEL_JOBS): Handle --with-parallel-jobs and --without-parallel-jobs correctly. --with-parallel-jobs (no arguments) uses available processors + 1, while --without-parallel-jobs (the default) uses 2. (IT_FIND_NUMBER_OF_PROCESSORS): Dependency of above. Uses getconf to obtain the number of available processors. diffstat: 4 files changed, 276 insertions(+), 169 deletions(-) ChangeLog | 57 ++++++++++ Makefile.am | 4 acinclude.m4 | 306 +++++++++++++++++++++++++++++++++++++++------------------- configure.ac | 78 ++------------ diffs (truncated from 774 to 500 lines): diff -r adf8932ab9c3 -r 882587aab813 ChangeLog --- a/ChangeLog Fri Jan 15 17:27:16 2010 +0000 +++ b/ChangeLog Sat Jan 16 02:12:30 2010 +0000 @@ -1,4 +1,59 @@ 2010-01-15 Edard Nevill -2010-01-15 Edard Nevill +2010-01-16 Andrew John Hughes + + * acinclude.m4: + (IT_CHECK_NUMBER_OF_PARALLEL_JOBS): + Handle --with-parallel-jobs and + --without-parallel-jobs correctly. + --with-parallel-jobs (no arguments) uses + available processors + 1, while + --without-parallel-jobs (the default) uses 2. + (IT_FIND_NUMBER_OF_PROCESSORS): + Dependency of above. Uses getconf to + obtain the number of available processors. + +2010-01-16 Andrew John Hughes + + * acinclude.m4: + Send output to AS_MESSAGE_LOG_FD rather + than /dev/null so we have a record of errors. + +2010-01-16 Andrew John Hughes + + configure output and option cleanup + * Makefile.am: + Change !ENABLE_OPTIMIZATIONS to + DISABLE_OPTIMIZATIONS. + * acinclude.m4: + (FIND_ECJ_JAR): Always produce output, + not just when explicitly specified. + (FIND_JAVAH): Handle the yes and no + possibilities better. + (FIND_JAR): Likewise. + (FIND_RMIC): Likewise. + (WITH_OPENJDK_SRC_ZIP): Quote checking output. + (WITH_ALT_JAR_BINARY): Likewise. + (FIND_XALAN2_JAR): Improve wording. + (FIND_XALAN2_SERIALIZER_JAR): Likewise. + (FIND_XERCES_JAR): Likewise. + (FIND_NETBEANS): Handle yes and no + possibilities better. + (FIND_RHINO_JAR): Quote checking output. + (ENABLE_OPTIMIZATIONS): Rename to + DISABLE_OPTIMIZATIONS for clarity. + (ENABLE_ZERO_BUILD): Quote checking output. + (AC_CHECK_WITH_CACAO_SRC_ZIP): Likewise. + (AC_CHECK_WITH_CACAO_SRC_DIR): Likewise. + (WITH_OPENJDK): Complete output + with no when not specified. + (IT_CHECK_ADDITIONAL_VMS): Moved to a macro + from configure.ac + (IT_CHECK_NUMBER_OF_PARALLEL_JOBS): Likewise. + * configure.ac: + Invoke new macros. Quote output and correct + typos. Perform IT_CHECK_ADDITIONAL_VMS earlier + with Shark, Zero and CACAO checks. + +2010-01-15 Edward Nevill * ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp Implement is_allocatable to make build word with hs16 diff -r adf8932ab9c3 -r 882587aab813 Makefile.am --- a/Makefile.am Fri Jan 15 17:27:16 2010 +0000 +++ b/Makefile.am Sat Jan 16 02:12:30 2010 +0000 @@ -429,7 +429,7 @@ ICEDTEA_ENV += \ ALT_HOTSPOT_IMPORT_PATH="$(CACAO_IMPORT_PATH)" endif -if !ENABLE_OPTIMIZATIONS +if DISABLE_OPTIMIZATIONS ICEDTEA_ENV += \ NO_OPTIMIZATIONS="true" \ CC_NO_OPT="-O0 -g" @@ -508,7 +508,7 @@ ICEDTEA_ENV_ECJ += \ ALT_HOTSPOT_IMPORT_PATH="$(CACAO_IMPORT_PATH)" endif -if !ENABLE_OPTIMIZATIONS +if DISABLE_OPTIMIZATIONS ICEDTEA_ENV_ECJ += \ NO_OPTIMIZATIONS="true" \ CC_NO_OPT="-O0 -g" diff -r adf8932ab9c3 -r 882587aab813 acinclude.m4 --- a/acinclude.m4 Fri Jan 15 17:27:16 2010 +0000 +++ b/acinclude.m4 Sat Jan 16 02:12:30 2010 +0000 @@ -238,41 +238,33 @@ AC_DEFUN([WITH_OPENJDK_SRC_DIR], AC_DEFUN([FIND_ECJ_JAR], [ + AC_MSG_CHECKING([for an ecj JAR file]) AC_ARG_WITH([ecj-jar], [AS_HELP_STRING(--with-ecj-jar,specify location of the ECJ jar)], [ if test -f "${withval}"; then - AC_MSG_CHECKING(for an ecj jar) ECJ_JAR="${withval}" - AC_MSG_RESULT(${withval}) fi ], [ ECJ_JAR= ]) if test -z "${ECJ_JAR}"; then - AC_MSG_CHECKING(for eclipse-ecj.jar) - if test -e "/usr/share/java/eclipse-ecj.jar"; then - ECJ_JAR=/usr/share/java/eclipse-ecj.jar - AC_MSG_RESULT(${ECJ_JAR}) - elif test -e "/usr/share/java/ecj.jar"; then - ECJ_JAR=/usr/share/java/ecj.jar - AC_MSG_RESULT(${ECJ_JAR}) - elif test -e "/usr/share/eclipse-ecj-3.3/lib/ecj.jar"; then - ECJ_JAR=/usr/share/eclipse-ecj-3.3/lib/ecj.jar - AC_MSG_RESULT(${ECJ_JAR}) - elif test -e "/usr/share/eclipse-ecj-3.2/lib/ecj.jar"; then - ECJ_JAR=/usr/share/eclipse-ecj-3.2/lib/ecj.jar - AC_MSG_RESULT(${ECJ_JAR}) - elif test -e "/usr/share/eclipse-ecj-3.1/lib/ecj.jar"; then - ECJ_JAR=/usr/share/eclipse-ecj-3.1/lib/ecj.jar - AC_MSG_RESULT(${ECJ_JAR}) - else - AC_MSG_RESULT(no) - fi - fi - if test -z "${ECJ_JAR}"; then - AC_MSG_ERROR("A ECJ jar was not found.") + for jar in /usr/share/java/eclipse-ecj.jar \ + /usr/share/java/ecj.jar \ + /usr/share/eclipse-ecj-3.{2,3,4,5}/lib/ecj.jar; do + if test -e $jar; then + ECJ_JAR=$jar + break + fi + done + if test -z "${ECJ_JAR}"; then + ECJ_JAR=no + fi + fi + AC_MSG_RESULT(${ECJ_JAR}) + if test "x${ECJ_JAR}" = "xno"; then + AC_MSG_ERROR("No compiler or ecj JAR file was found.") fi AC_SUBST(ECJ_JAR) ]) @@ -289,20 +281,27 @@ AC_DEFUN([AC_CHECK_GCC_VERSION], AC_DEFUN([FIND_JAVAH], [ + AC_MSG_CHECKING([if a javah executable is specified]) AC_ARG_WITH([javah], - [AS_HELP_STRING(--with-javah,specify location of the javah)], - [ - if test -f "${withval}"; then - AC_MSG_CHECKING(for javah) + [AS_HELP_STRING(--with-javah,specify location of javah)], + [ + if test "x${withval}" = "xyes"; then + JAVAH=no + else JAVAH="${withval}" - AC_MSG_RESULT(${withval}) - else - AC_PATH_PROG(JAVAH, "${withval}") - fi - ], - [ - JAVAH= - ]) + fi + ], + [ + JAVAH=no + ]) + AC_MSG_RESULT(${JAVAH}) + if ! test -f "${JAVAH}"; then + if test "x${JAVAH}" = "xno"; then + JAVAH= + else + AC_PATH_PROG(JAVAH, "${JAVAH}") + fi + fi if test -z "${JAVAH}"; then AC_PATH_PROG(JAVAH, "gjavah") fi @@ -310,27 +309,34 @@ AC_DEFUN([FIND_JAVAH], AC_PATH_PROG(JAVAH, "javah") fi if test -z "${JAVAH}"; then - AC_MSG_ERROR("javah was not found.") + AC_MSG_ERROR("A Java header generator was not found.") fi AC_SUBST(JAVAH) ]) AC_DEFUN([FIND_JAR], [ + AC_MSG_CHECKING([if a jar executable is specified]) AC_ARG_WITH([jar], - [AS_HELP_STRING(--with-jar,specify location of the jar)], - [ - if test -f "${withval}"; then - AC_MSG_CHECKING(for jar) + [AS_HELP_STRING(--with-jar,specify location of jar)], + [ + if test "x${withval}" = "xyes"; then + JAR=no + else JAR="${withval}" - AC_MSG_RESULT(${withval}) - else - AC_PATH_PROG(JAR, "${withval}") - fi - ], - [ - JAR= - ]) + fi + ], + [ + JAR=no + ]) + AC_MSG_RESULT(${JAR}) + if ! test -f "${JAR}"; then + if test "x${JAR}" = "xno"; then + JAR= + else + AC_PATH_PROG(JAR, "${JAR}") + fi + fi if test -z "${JAR}"; then AC_PATH_PROG(JAR, "gjar") fi @@ -338,14 +344,14 @@ AC_DEFUN([FIND_JAR], AC_PATH_PROG(JAR, "jar") fi if test -z "${JAR}"; then - AC_MSG_ERROR("jar was not found.") + AC_MSG_ERROR("A jar tool was not found.") fi AC_MSG_CHECKING([whether jar supports @ argument]) touch _config.txt cat >_config.list </dev/null; then + if $JAR cf _config.jar @_config.list 2>&AS_MESSAGE_LOG_FD; then JAR_KNOWS_ATFILE=1 AC_MSG_RESULT(yes) else @@ -353,7 +359,7 @@ EOF AC_MSG_RESULT(no) fi AC_MSG_CHECKING([whether jar supports stdin file arguments]) - if cat _config.list | $JAR cf@ _config.jar 2>/dev/null; then + if cat _config.list | $JAR cf@ _config.jar 2>&AS_MESSAGE_LOG_FD; then JAR_ACCEPTS_STDIN_LIST=1 AC_MSG_RESULT(yes) else @@ -362,7 +368,7 @@ EOF fi rm -f _config.list _config.jar AC_MSG_CHECKING([whether jar supports -J options at the end]) - if $JAR cf _config.jar _config.txt -J-Xmx896m 2>/dev/null; then + if $JAR cf _config.jar _config.txt -J-Xmx896m 2>&AS_MESSAGE_LOG_FD; then JAR_KNOWS_J_OPTIONS=1 AC_MSG_RESULT(yes) else @@ -378,20 +384,27 @@ EOF AC_DEFUN([FIND_RMIC], [ + AC_MSG_CHECKING(if an rmic executable is specified) AC_ARG_WITH([rmic], - [AS_HELP_STRING(--with-rmic,specify location of the rmic)], - [ - if test -f "${withval}"; then - AC_MSG_CHECKING(for rmic) + [AS_HELP_STRING(--with-rmic,specify location of rmic)], + [ + if test "x${withval}" = "xyes"; then + RMIC=no + else RMIC="${withval}" - AC_MSG_RESULT(${withval}) - else - AC_PATH_PROG(RMIC, "${withval}") - fi - ], - [ - RMIC= - ]) + fi + ], + [ + RMIC=no + ]) + AC_MSG_RESULT(${RMIC}) + if ! test -f "${RMIC}"; then + if test "x${RMIC}" = "xno"; then + RMIC= + else + AC_PATH_PROG(RMIC, "${RMIC}") + fi + fi if test -z "${RMIC}"; then AC_PATH_PROG(RMIC, "grmic") fi @@ -399,7 +412,7 @@ AC_DEFUN([FIND_RMIC], AC_PATH_PROG(RMIC, "rmic") fi if test -z "${RMIC}"; then - AC_MSG_ERROR("rmic was not found.") + AC_MSG_ERROR("An RMI compiler was not found.") fi AC_SUBST(RMIC) ]) @@ -446,7 +459,7 @@ AC_DEFUN([FIND_ENDORSED_JARS], AC_DEFUN([WITH_OPENJDK_SRC_ZIP], [ - AC_MSG_CHECKING(for an OpenJDK source zip) + AC_MSG_CHECKING([for an OpenJDK source zip]) AC_ARG_WITH([openjdk-src-zip], [AS_HELP_STRING(--with-openjdk-src-zip,specify the location of the openjdk source zip)], [ @@ -463,7 +476,7 @@ AC_DEFUN([WITH_OPENJDK_SRC_ZIP], AC_DEFUN([WITH_ALT_JAR_BINARY], [ - AC_MSG_CHECKING(for an alternate jar command) + AC_MSG_CHECKING([for an alternate jar command]) AC_ARG_WITH([alt-jar], [AS_HELP_STRING(--with-alt-jar, specify the location of an alternate jar binary to use for building)], [ @@ -480,7 +493,7 @@ AC_DEFUN([WITH_ALT_JAR_BINARY], AC_DEFUN([FIND_XALAN2_JAR], [ - AC_MSG_CHECKING(xalan2 jar) + AC_MSG_CHECKING([for a xalan2 jar]) AC_ARG_WITH([xalan2-jar], [AS_HELP_STRING(--with-xalan2-jar,specify location of the xalan2 jar)], [ @@ -511,7 +524,7 @@ AC_DEFUN([FIND_XALAN2_JAR], AC_DEFUN([FIND_XALAN2_SERIALIZER_JAR], [ - AC_MSG_CHECKING(for xalan2 serializer jar) + AC_MSG_CHECKING([for a xalan2 serializer jar]) AC_ARG_WITH([xalan2-serializer-jar], [AS_HELP_STRING(--with-xalan2-serializer-jar,specify location of the xalan2-serializer jar)], [ @@ -542,7 +555,7 @@ AC_DEFUN([FIND_XALAN2_SERIALIZER_JAR], AC_DEFUN([FIND_XERCES2_JAR], [ - AC_MSG_CHECKING(for xerces2 jar) + AC_MSG_CHECKING([for a xerces2 jar]) AC_ARG_WITH([xerces2-jar], [AS_HELP_STRING(--with-xerces2-jar,specify location of the xerces2 jar)], [ @@ -575,20 +588,27 @@ AC_DEFUN([FIND_XERCES2_JAR], AC_DEFUN([FIND_NETBEANS], [ + AC_MSG_CHECKING([if the location of NetBeans is specified]) AC_ARG_WITH([netbeans], [AS_HELP_STRING(--with-netbeans,specify location of netbeans)], [ - if test -f "${withval}"; then - AC_MSG_CHECKING(netbeans) + if test "x${withval}" = "xyes"; then + NETBEANS=no + else NETBEANS="${withval}" - AC_MSG_RESULT(${withval}) - else - AC_PATH_PROG(NETBEANS, "${withval}") - fi - ], - [ - NETBEANS= - ]) + fi + ], + [ + NETBEANS=no + ]) + AC_MSG_RESULT(${NETBEANS}) + if ! test -f "${NETBEANS}"; then + if test "x${NETBEANS}" = "xno"; then + NETBEANS= + else + AC_PATH_PROG(NETBEANS, "${NETBEANS}") + fi + fi if test -z "${NETBEANS}"; then AC_PATH_PROG(NETBEANS, "netbeans") fi @@ -600,7 +620,7 @@ AC_DEFUN([FIND_NETBEANS], AC_DEFUN([FIND_RHINO_JAR], [ - AC_MSG_CHECKING(whether to include Javascript support via Rhino) + AC_MSG_CHECKING([whether to include Javascript support via Rhino]) AC_ARG_WITH([rhino], [AS_HELP_STRING(--with-rhino,specify location of the rhino jar)], [ @@ -642,27 +662,26 @@ AC_DEFUN([FIND_RHINO_JAR], AC_SUBST(RHINO_JAR) ]) -AC_DEFUN([ENABLE_OPTIMIZATIONS], -[ - AC_MSG_CHECKING(whether to disable optimizations) +AC_DEFUN([DISABLE_OPTIMIZATIONS], +[ + AC_MSG_CHECKING([whether to disable optimizations and build with -O0 -g]) AC_ARG_ENABLE([optimizations], [AS_HELP_STRING(--disable-optimizations,build with -O0 -g [[default=no]])], [ case "${enableval}" in no) - AC_MSG_RESULT([yes, building with -O0 -g]) - enable_optimizations=no + disable_optimizations=yes ;; *) - AC_MSG_RESULT([no]) - enable_optimizations=yes + disable_optimizations=no ;; esac ], [ - enable_optimizations=yes - ]) - AM_CONDITIONAL([ENABLE_OPTIMIZATIONS], test x"${enable_optimizations}" = "xyes") + disable_optimizations=no + ]) + AC_MSG_RESULT([$disable_optimizations]) + AM_CONDITIONAL([DISABLE_OPTIMIZATIONS], test x"${disable_optimizations}" = "xyes") ]) AC_DEFUN([FIND_TOOL], @@ -675,7 +694,7 @@ AC_DEFUN([FIND_TOOL], AC_DEFUN([ENABLE_ZERO_BUILD], [ - AC_MSG_CHECKING(whether to use the zero-assembler port) + AC_MSG_CHECKING([whether to use the zero-assembler port]) use_zero=no AC_ARG_ENABLE([zero], [AS_HELP_STRING(--enable-zero, @@ -805,7 +824,7 @@ AC_DEFUN([AC_CHECK_ENABLE_CACAO], AC_DEFUN([AC_CHECK_WITH_CACAO_HOME], [ - AC_MSG_CHECKING(for CACAO home directory) + AC_MSG_CHECKING([for a CACAO home directory]) AC_ARG_WITH([cacao-home], [AS_HELP_STRING([--with-cacao-home], [CACAO home directory [[default=/usr/local/cacao]]])], @@ -830,7 +849,7 @@ AC_DEFUN([AC_CHECK_WITH_CACAO_HOME], AC_DEFUN([AC_CHECK_WITH_CACAO_SRC_ZIP], [ - AC_MSG_CHECKING(for a CACAO source zip) + AC_MSG_CHECKING([for a CACAO source zip]) AC_ARG_WITH([cacao-src-zip], [AS_HELP_STRING(--with-cacao-src-zip,specify the location of the CACAO source zip)], [ @@ -847,7 +866,7 @@ AC_DEFUN([AC_CHECK_WITH_CACAO_SRC_ZIP], AC_DEFUN([AC_CHECK_WITH_CACAO_SRC_DIR], [ - AC_MSG_CHECKING(for a Cacao source directory) + AC_MSG_CHECKING([for a CACAO source directory]) AC_ARG_WITH([cacao-src-dir], [AS_HELP_STRING(--with-cacao-src-dir,specify the location of the Cacao sources)], [ @@ -1009,7 +1028,7 @@ AC_DEFUN([AC_CHECK_FOR_OPENJDK], [ if test "x${withval}" = xno then - SYSTEM_OPENJDK_DIR= + SYSTEM_OPENJDK_DIR=no with_openjdk=false else SYSTEM_OPENJDK_DIR=${withval} @@ -1017,7 +1036,7 @@ AC_DEFUN([AC_CHECK_FOR_OPENJDK], fi ], [ - SYSTEM_OPENJDK_DIR= + SYSTEM_OPENJDK_DIR=no with_openjdk=false ]) From andrew at icedtea.classpath.org Fri Jan 15 18:15:59 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Sat, 16 Jan 2010 02:15:59 +0000 Subject: /hg/icedtea6: 3 new changesets Message-ID: changeset fbcebfe00675 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=fbcebfe00675 author: Andrew John Hughes date: Sat Jan 16 01:45:00 2010 +0000 Cleanup quoting and output of configure macros and make them less error-prone. 2010-01-16 Andrew John Hughes configure output and option cleanup * Makefile.am: Change !ENABLE_OPTIMIZATIONS to DISABLE_OPTIMIZATIONS. * acinclude.m4: (FIND_ECJ_JAR): Always produce output, not just when explicitly specified. (FIND_JAVAH): Handle the yes and no possibilities better. (FIND_JAR): Likewise. (FIND_RMIC): Likewise. (WITH_OPENJDK_SRC_ZIP): Quote checking output. (WITH_ALT_JAR_BINARY): Likewise. (FIND_XALAN2_JAR): Improve wording. (FIND_XALAN2_SERIALIZER_JAR): Likewise. (FIND_XERCES_JAR): Likewise. (FIND_NETBEANS): Handle yes and no possibilities better. (FIND_RHINO_JAR): Quote checking output. (ENABLE_OPTIMIZATIONS): Rename to DISABLE_OPTIMIZATIONS for clarity. (ENABLE_ZERO_BUILD): Quote checking output. (AC_CHECK_WITH_CACAO_SRC_ZIP): Likewise. (AC_CHECK_WITH_CACAO_SRC_DIR): Likewise. (WITH_OPENJDK): Complete output with no when not specified. (IT_CHECK_ADDITIONAL_VMS): Moved to a macro from configure.ac (IT_CHECK_NUMBER_OF_PARALLEL_JOBS): Likewise. * configure.ac: Invoke new macros. Quote output and correct typos. Perform IT_CHECK_ADDITIONAL_VMS earlier with Shark, Zero and CACAO checks. changeset 0b7ad35f4c10 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=0b7ad35f4c10 author: Andrew John Hughes date: Sat Jan 16 01:48:41 2010 +0000 Record errors to config.log rather than /dev/null. 2010-01-16 Andrew John Hughes * acinclude.m4: Send output to AS_MESSAGE_LOG_FD rather than /dev/null so we have a record of errors. changeset 327907cd1d5b in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=327907cd1d5b author: Andrew John Hughes date: Sat Jan 16 02:12:30 2010 +0000 Handle yes/no correctly in --with-parallel-jobs. 2010-01-16 Andrew John Hughes * acinclude.m4: (IT_CHECK_NUMBER_OF_PARALLEL_JOBS): Handle --with-parallel-jobs and --without-parallel-jobs correctly. --with-parallel-jobs (no arguments) uses available processors + 1, while --without-parallel-jobs (the default) uses 2. (IT_FIND_NUMBER_OF_PROCESSORS): Dependency of above. Uses getconf to obtain the number of available processors. diffstat: 4 files changed, 276 insertions(+), 169 deletions(-) ChangeLog | 57 ++++++++++ Makefile.am | 4 acinclude.m4 | 306 +++++++++++++++++++++++++++++++++++++++------------------- configure.ac | 78 ++------------ diffs (truncated from 774 to 500 lines): diff -r be36bffde64d -r 327907cd1d5b ChangeLog --- a/ChangeLog Fri Jan 15 17:36:07 2010 +0000 +++ b/ChangeLog Sat Jan 16 02:12:30 2010 +0000 @@ -1,4 +1,59 @@ 2010-01-15 Edard Nevill -2010-01-15 Edard Nevill +2010-01-16 Andrew John Hughes + + * acinclude.m4: + (IT_CHECK_NUMBER_OF_PARALLEL_JOBS): + Handle --with-parallel-jobs and + --without-parallel-jobs correctly. + --with-parallel-jobs (no arguments) uses + available processors + 1, while + --without-parallel-jobs (the default) uses 2. + (IT_FIND_NUMBER_OF_PROCESSORS): + Dependency of above. Uses getconf to + obtain the number of available processors. + +2010-01-16 Andrew John Hughes + + * acinclude.m4: + Send output to AS_MESSAGE_LOG_FD rather + than /dev/null so we have a record of errors. + +2010-01-16 Andrew John Hughes + + configure output and option cleanup + * Makefile.am: + Change !ENABLE_OPTIMIZATIONS to + DISABLE_OPTIMIZATIONS. + * acinclude.m4: + (FIND_ECJ_JAR): Always produce output, + not just when explicitly specified. + (FIND_JAVAH): Handle the yes and no + possibilities better. + (FIND_JAR): Likewise. + (FIND_RMIC): Likewise. + (WITH_OPENJDK_SRC_ZIP): Quote checking output. + (WITH_ALT_JAR_BINARY): Likewise. + (FIND_XALAN2_JAR): Improve wording. + (FIND_XALAN2_SERIALIZER_JAR): Likewise. + (FIND_XERCES_JAR): Likewise. + (FIND_NETBEANS): Handle yes and no + possibilities better. + (FIND_RHINO_JAR): Quote checking output. + (ENABLE_OPTIMIZATIONS): Rename to + DISABLE_OPTIMIZATIONS for clarity. + (ENABLE_ZERO_BUILD): Quote checking output. + (AC_CHECK_WITH_CACAO_SRC_ZIP): Likewise. + (AC_CHECK_WITH_CACAO_SRC_DIR): Likewise. + (WITH_OPENJDK): Complete output + with no when not specified. + (IT_CHECK_ADDITIONAL_VMS): Moved to a macro + from configure.ac + (IT_CHECK_NUMBER_OF_PARALLEL_JOBS): Likewise. + * configure.ac: + Invoke new macros. Quote output and correct + typos. Perform IT_CHECK_ADDITIONAL_VMS earlier + with Shark, Zero and CACAO checks. + +2010-01-15 Edward Nevill * ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp Implement is_allocatable to make build word with hs16 diff -r be36bffde64d -r 327907cd1d5b Makefile.am --- a/Makefile.am Fri Jan 15 17:36:07 2010 +0000 +++ b/Makefile.am Sat Jan 16 02:12:30 2010 +0000 @@ -432,7 +432,7 @@ ICEDTEA_ENV += \ ALT_HOTSPOT_IMPORT_PATH="$(CACAO_IMPORT_PATH)" endif -if !ENABLE_OPTIMIZATIONS +if DISABLE_OPTIMIZATIONS ICEDTEA_ENV += \ NO_OPTIMIZATIONS="true" \ CC_NO_OPT="-O0 -g" @@ -511,7 +511,7 @@ ICEDTEA_ENV_ECJ += \ ALT_HOTSPOT_IMPORT_PATH="$(CACAO_IMPORT_PATH)" endif -if !ENABLE_OPTIMIZATIONS +if DISABLE_OPTIMIZATIONS ICEDTEA_ENV_ECJ += \ NO_OPTIMIZATIONS="true" \ CC_NO_OPT="-O0 -g" diff -r be36bffde64d -r 327907cd1d5b acinclude.m4 --- a/acinclude.m4 Fri Jan 15 17:36:07 2010 +0000 +++ b/acinclude.m4 Sat Jan 16 02:12:30 2010 +0000 @@ -238,41 +238,33 @@ AC_DEFUN([WITH_OPENJDK_SRC_DIR], AC_DEFUN([FIND_ECJ_JAR], [ + AC_MSG_CHECKING([for an ecj JAR file]) AC_ARG_WITH([ecj-jar], [AS_HELP_STRING(--with-ecj-jar,specify location of the ECJ jar)], [ if test -f "${withval}"; then - AC_MSG_CHECKING(for an ecj jar) ECJ_JAR="${withval}" - AC_MSG_RESULT(${withval}) fi ], [ ECJ_JAR= ]) if test -z "${ECJ_JAR}"; then - AC_MSG_CHECKING(for eclipse-ecj.jar) - if test -e "/usr/share/java/eclipse-ecj.jar"; then - ECJ_JAR=/usr/share/java/eclipse-ecj.jar - AC_MSG_RESULT(${ECJ_JAR}) - elif test -e "/usr/share/java/ecj.jar"; then - ECJ_JAR=/usr/share/java/ecj.jar - AC_MSG_RESULT(${ECJ_JAR}) - elif test -e "/usr/share/eclipse-ecj-3.3/lib/ecj.jar"; then - ECJ_JAR=/usr/share/eclipse-ecj-3.3/lib/ecj.jar - AC_MSG_RESULT(${ECJ_JAR}) - elif test -e "/usr/share/eclipse-ecj-3.2/lib/ecj.jar"; then - ECJ_JAR=/usr/share/eclipse-ecj-3.2/lib/ecj.jar - AC_MSG_RESULT(${ECJ_JAR}) - elif test -e "/usr/share/eclipse-ecj-3.1/lib/ecj.jar"; then - ECJ_JAR=/usr/share/eclipse-ecj-3.1/lib/ecj.jar - AC_MSG_RESULT(${ECJ_JAR}) - else - AC_MSG_RESULT(no) - fi - fi - if test -z "${ECJ_JAR}"; then - AC_MSG_ERROR("A ECJ jar was not found.") + for jar in /usr/share/java/eclipse-ecj.jar \ + /usr/share/java/ecj.jar \ + /usr/share/eclipse-ecj-3.{2,3,4,5}/lib/ecj.jar; do + if test -e $jar; then + ECJ_JAR=$jar + break + fi + done + if test -z "${ECJ_JAR}"; then + ECJ_JAR=no + fi + fi + AC_MSG_RESULT(${ECJ_JAR}) + if test "x${ECJ_JAR}" = "xno"; then + AC_MSG_ERROR("No compiler or ecj JAR file was found.") fi AC_SUBST(ECJ_JAR) ]) @@ -289,20 +281,27 @@ AC_DEFUN([AC_CHECK_GCC_VERSION], AC_DEFUN([FIND_JAVAH], [ + AC_MSG_CHECKING([if a javah executable is specified]) AC_ARG_WITH([javah], - [AS_HELP_STRING(--with-javah,specify location of the javah)], - [ - if test -f "${withval}"; then - AC_MSG_CHECKING(for javah) + [AS_HELP_STRING(--with-javah,specify location of javah)], + [ + if test "x${withval}" = "xyes"; then + JAVAH=no + else JAVAH="${withval}" - AC_MSG_RESULT(${withval}) - else - AC_PATH_PROG(JAVAH, "${withval}") - fi - ], - [ - JAVAH= - ]) + fi + ], + [ + JAVAH=no + ]) + AC_MSG_RESULT(${JAVAH}) + if ! test -f "${JAVAH}"; then + if test "x${JAVAH}" = "xno"; then + JAVAH= + else + AC_PATH_PROG(JAVAH, "${JAVAH}") + fi + fi if test -z "${JAVAH}"; then AC_PATH_PROG(JAVAH, "gjavah") fi @@ -310,27 +309,34 @@ AC_DEFUN([FIND_JAVAH], AC_PATH_PROG(JAVAH, "javah") fi if test -z "${JAVAH}"; then - AC_MSG_ERROR("javah was not found.") + AC_MSG_ERROR("A Java header generator was not found.") fi AC_SUBST(JAVAH) ]) AC_DEFUN([FIND_JAR], [ + AC_MSG_CHECKING([if a jar executable is specified]) AC_ARG_WITH([jar], - [AS_HELP_STRING(--with-jar,specify location of the jar)], - [ - if test -f "${withval}"; then - AC_MSG_CHECKING(for jar) + [AS_HELP_STRING(--with-jar,specify location of jar)], + [ + if test "x${withval}" = "xyes"; then + JAR=no + else JAR="${withval}" - AC_MSG_RESULT(${withval}) - else - AC_PATH_PROG(JAR, "${withval}") - fi - ], - [ - JAR= - ]) + fi + ], + [ + JAR=no + ]) + AC_MSG_RESULT(${JAR}) + if ! test -f "${JAR}"; then + if test "x${JAR}" = "xno"; then + JAR= + else + AC_PATH_PROG(JAR, "${JAR}") + fi + fi if test -z "${JAR}"; then AC_PATH_PROG(JAR, "gjar") fi @@ -338,14 +344,14 @@ AC_DEFUN([FIND_JAR], AC_PATH_PROG(JAR, "jar") fi if test -z "${JAR}"; then - AC_MSG_ERROR("jar was not found.") + AC_MSG_ERROR("A jar tool was not found.") fi AC_MSG_CHECKING([whether jar supports @ argument]) touch _config.txt cat >_config.list </dev/null; then + if $JAR cf _config.jar @_config.list 2>&AS_MESSAGE_LOG_FD; then JAR_KNOWS_ATFILE=1 AC_MSG_RESULT(yes) else @@ -353,7 +359,7 @@ EOF AC_MSG_RESULT(no) fi AC_MSG_CHECKING([whether jar supports stdin file arguments]) - if cat _config.list | $JAR cf@ _config.jar 2>/dev/null; then + if cat _config.list | $JAR cf@ _config.jar 2>&AS_MESSAGE_LOG_FD; then JAR_ACCEPTS_STDIN_LIST=1 AC_MSG_RESULT(yes) else @@ -362,7 +368,7 @@ EOF fi rm -f _config.list _config.jar AC_MSG_CHECKING([whether jar supports -J options at the end]) - if $JAR cf _config.jar _config.txt -J-Xmx896m 2>/dev/null; then + if $JAR cf _config.jar _config.txt -J-Xmx896m 2>&AS_MESSAGE_LOG_FD; then JAR_KNOWS_J_OPTIONS=1 AC_MSG_RESULT(yes) else @@ -378,20 +384,27 @@ EOF AC_DEFUN([FIND_RMIC], [ + AC_MSG_CHECKING(if an rmic executable is specified) AC_ARG_WITH([rmic], - [AS_HELP_STRING(--with-rmic,specify location of the rmic)], - [ - if test -f "${withval}"; then - AC_MSG_CHECKING(for rmic) + [AS_HELP_STRING(--with-rmic,specify location of rmic)], + [ + if test "x${withval}" = "xyes"; then + RMIC=no + else RMIC="${withval}" - AC_MSG_RESULT(${withval}) - else - AC_PATH_PROG(RMIC, "${withval}") - fi - ], - [ - RMIC= - ]) + fi + ], + [ + RMIC=no + ]) + AC_MSG_RESULT(${RMIC}) + if ! test -f "${RMIC}"; then + if test "x${RMIC}" = "xno"; then + RMIC= + else + AC_PATH_PROG(RMIC, "${RMIC}") + fi + fi if test -z "${RMIC}"; then AC_PATH_PROG(RMIC, "grmic") fi @@ -399,7 +412,7 @@ AC_DEFUN([FIND_RMIC], AC_PATH_PROG(RMIC, "rmic") fi if test -z "${RMIC}"; then - AC_MSG_ERROR("rmic was not found.") + AC_MSG_ERROR("An RMI compiler was not found.") fi AC_SUBST(RMIC) ]) @@ -446,7 +459,7 @@ AC_DEFUN([FIND_ENDORSED_JARS], AC_DEFUN([WITH_OPENJDK_SRC_ZIP], [ - AC_MSG_CHECKING(for an OpenJDK source zip) + AC_MSG_CHECKING([for an OpenJDK source zip]) AC_ARG_WITH([openjdk-src-zip], [AS_HELP_STRING(--with-openjdk-src-zip,specify the location of the openjdk source zip)], [ @@ -463,7 +476,7 @@ AC_DEFUN([WITH_OPENJDK_SRC_ZIP], AC_DEFUN([WITH_ALT_JAR_BINARY], [ - AC_MSG_CHECKING(for an alternate jar command) + AC_MSG_CHECKING([for an alternate jar command]) AC_ARG_WITH([alt-jar], [AS_HELP_STRING(--with-alt-jar, specify the location of an alternate jar binary to use for building)], [ @@ -480,7 +493,7 @@ AC_DEFUN([WITH_ALT_JAR_BINARY], AC_DEFUN([FIND_XALAN2_JAR], [ - AC_MSG_CHECKING(xalan2 jar) + AC_MSG_CHECKING([for a xalan2 jar]) AC_ARG_WITH([xalan2-jar], [AS_HELP_STRING(--with-xalan2-jar,specify location of the xalan2 jar)], [ @@ -511,7 +524,7 @@ AC_DEFUN([FIND_XALAN2_JAR], AC_DEFUN([FIND_XALAN2_SERIALIZER_JAR], [ - AC_MSG_CHECKING(for xalan2 serializer jar) + AC_MSG_CHECKING([for a xalan2 serializer jar]) AC_ARG_WITH([xalan2-serializer-jar], [AS_HELP_STRING(--with-xalan2-serializer-jar,specify location of the xalan2-serializer jar)], [ @@ -542,7 +555,7 @@ AC_DEFUN([FIND_XALAN2_SERIALIZER_JAR], AC_DEFUN([FIND_XERCES2_JAR], [ - AC_MSG_CHECKING(for xerces2 jar) + AC_MSG_CHECKING([for a xerces2 jar]) AC_ARG_WITH([xerces2-jar], [AS_HELP_STRING(--with-xerces2-jar,specify location of the xerces2 jar)], [ @@ -575,20 +588,27 @@ AC_DEFUN([FIND_XERCES2_JAR], AC_DEFUN([FIND_NETBEANS], [ + AC_MSG_CHECKING([if the location of NetBeans is specified]) AC_ARG_WITH([netbeans], [AS_HELP_STRING(--with-netbeans,specify location of netbeans)], [ - if test -f "${withval}"; then - AC_MSG_CHECKING(netbeans) + if test "x${withval}" = "xyes"; then + NETBEANS=no + else NETBEANS="${withval}" - AC_MSG_RESULT(${withval}) - else - AC_PATH_PROG(NETBEANS, "${withval}") - fi - ], - [ - NETBEANS= - ]) + fi + ], + [ + NETBEANS=no + ]) + AC_MSG_RESULT(${NETBEANS}) + if ! test -f "${NETBEANS}"; then + if test "x${NETBEANS}" = "xno"; then + NETBEANS= + else + AC_PATH_PROG(NETBEANS, "${NETBEANS}") + fi + fi if test -z "${NETBEANS}"; then AC_PATH_PROG(NETBEANS, "netbeans") fi @@ -600,7 +620,7 @@ AC_DEFUN([FIND_NETBEANS], AC_DEFUN([FIND_RHINO_JAR], [ - AC_MSG_CHECKING(whether to include Javascript support via Rhino) + AC_MSG_CHECKING([whether to include Javascript support via Rhino]) AC_ARG_WITH([rhino], [AS_HELP_STRING(--with-rhino,specify location of the rhino jar)], [ @@ -642,27 +662,26 @@ AC_DEFUN([FIND_RHINO_JAR], AC_SUBST(RHINO_JAR) ]) -AC_DEFUN([ENABLE_OPTIMIZATIONS], -[ - AC_MSG_CHECKING(whether to disable optimizations) +AC_DEFUN([DISABLE_OPTIMIZATIONS], +[ + AC_MSG_CHECKING([whether to disable optimizations and build with -O0 -g]) AC_ARG_ENABLE([optimizations], [AS_HELP_STRING(--disable-optimizations,build with -O0 -g [[default=no]])], [ case "${enableval}" in no) - AC_MSG_RESULT([yes, building with -O0 -g]) - enable_optimizations=no + disable_optimizations=yes ;; *) - AC_MSG_RESULT([no]) - enable_optimizations=yes + disable_optimizations=no ;; esac ], [ - enable_optimizations=yes - ]) - AM_CONDITIONAL([ENABLE_OPTIMIZATIONS], test x"${enable_optimizations}" = "xyes") + disable_optimizations=no + ]) + AC_MSG_RESULT([$disable_optimizations]) + AM_CONDITIONAL([DISABLE_OPTIMIZATIONS], test x"${disable_optimizations}" = "xyes") ]) AC_DEFUN([FIND_TOOL], @@ -675,7 +694,7 @@ AC_DEFUN([FIND_TOOL], AC_DEFUN([ENABLE_ZERO_BUILD], [ - AC_MSG_CHECKING(whether to use the zero-assembler port) + AC_MSG_CHECKING([whether to use the zero-assembler port]) use_zero=no AC_ARG_ENABLE([zero], [AS_HELP_STRING(--enable-zero, @@ -805,7 +824,7 @@ AC_DEFUN([AC_CHECK_ENABLE_CACAO], AC_DEFUN([AC_CHECK_WITH_CACAO_HOME], [ - AC_MSG_CHECKING(for CACAO home directory) + AC_MSG_CHECKING([for a CACAO home directory]) AC_ARG_WITH([cacao-home], [AS_HELP_STRING([--with-cacao-home], [CACAO home directory [[default=/usr/local/cacao]]])], @@ -830,7 +849,7 @@ AC_DEFUN([AC_CHECK_WITH_CACAO_HOME], AC_DEFUN([AC_CHECK_WITH_CACAO_SRC_ZIP], [ - AC_MSG_CHECKING(for a CACAO source zip) + AC_MSG_CHECKING([for a CACAO source zip]) AC_ARG_WITH([cacao-src-zip], [AS_HELP_STRING(--with-cacao-src-zip,specify the location of the CACAO source zip)], [ @@ -847,7 +866,7 @@ AC_DEFUN([AC_CHECK_WITH_CACAO_SRC_ZIP], AC_DEFUN([AC_CHECK_WITH_CACAO_SRC_DIR], [ - AC_MSG_CHECKING(for a Cacao source directory) + AC_MSG_CHECKING([for a CACAO source directory]) AC_ARG_WITH([cacao-src-dir], [AS_HELP_STRING(--with-cacao-src-dir,specify the location of the Cacao sources)], [ @@ -1009,7 +1028,7 @@ AC_DEFUN([AC_CHECK_FOR_OPENJDK], [ if test "x${withval}" = xno then - SYSTEM_OPENJDK_DIR= + SYSTEM_OPENJDK_DIR=no with_openjdk=false else SYSTEM_OPENJDK_DIR=${withval} @@ -1017,7 +1036,7 @@ AC_DEFUN([AC_CHECK_FOR_OPENJDK], fi ], [ - SYSTEM_OPENJDK_DIR= + SYSTEM_OPENJDK_DIR=no with_openjdk=false ]) From doko at ubuntu.com Sat Jan 16 15:35:42 2010 From: doko at ubuntu.com (Matthias Klose) Date: Sun, 17 Jan 2010 00:35:42 +0100 Subject: build problems on sparc64-linux In-Reply-To: <201001142010.47855.dennis@ausil.us> References: <4B3F6017.9000009@ubuntu.com> <201001142010.47855.dennis@ausil.us> Message-ID: <4B524D4E.7010805@ubuntu.com> On 15.01.2010 03:10, Dennis Gilmore wrote: > On Saturday 02 January 2010 09:02:47 am Matthias Klose wrote: >> I see a build failure of current 6b17 from the IcedTea6 branch on >> sparc64-linux using the original hotspot, but not on sparc-linux (32bit). >> The build fails building abstractCompiler.cpp in >> build/linux-sparcv9/hotspot/outputdir/linux_sparcv9_compiler2/product >> >> .../hotspot/src/cpu/sparc/vm/assembler_sparc.hpp:1069: error: inline >> function 'void Assembler::emit_long(int)' used but never defined >> .../hotspot/src/cpu/sparc/vm/assembler_sparc.hpp:1083: error: inline >> function 'void Assembler::add(RegisterImpl*, int, RegisterImpl*, >> relocInfo::relocType)' used but never defined >> .../hotspot/src/cpu/sparc/vm/assembler_sparc.hpp:1514: error: inline >> function 'void Assembler::stb(RegisterImpl*, const Address&, int)' used >> but never defined .../hotspot/src/cpu/sparc/vm/assembler_sparc.hpp:1291: >> error: inline function 'void Assembler::ldsb(const Address&, >> RegisterImpl*, int)' used but never defined >> .../hotspot/src/cpu/sparc/vm/assembler_sparc.hpp:1507: error: inline >> function 'void Assembler::st(RegisterImpl*, RegisterImpl*, RegisterImpl*)' >> used but never defined >> >> these are all defined in assembler_sparc.inline.hpp. not using precompiled >> headers and -save-temps shows that assembler_sparc.inline.hpp is not >> included in the saved .ii file. >> >> I currently fail to see how assembler_x86.inline.hpp and >> assembler_zero.inline.hpp are included (or assembler_sparc.inline.hpp on >> sparc 32bit). Any hints? >> >> patches/icedtea-sparc-trapsfix.patch is patched to include asm/traps.h >> instead of asm-sparc/traps.h only for one sparc architecture. I don't see >> asm-sparc/traps.h anymore with recent kernel headers. maybe this should be >> build configure check depending on the kernel headers used? > one of the sparc patches in fedora is dealing with the new header locations. > kernel headers got moved when sparc and sparc64 kernel trees merged. ok, I'm checking in the attached patch as a replacement for patches/icedtea-sparc-trapsfix.patch, so the local fedora patches can be dropped. >> the fedora packaging repository does have two sparc patches not found in >> IcedTea. Are these still applied? Does the fedora build acctually build and >> work in it's current state? > yes and yes at least with the last build we did > https://sparc.koji.fedoraproject.org/koji/buildinfo?buildID=42183 > > If you have any sparc questions feel free to ask me. please could you try to build current IcedTea head or 1.7-branch configured with --with-hotspot=hs16 and see if it does build for you on sparc and sparc64? Matthias -------------- next part -------------- A non-text attachment was scrubbed... Name: icedtea-sparc-trapsfix.patch Type: text/x-diff Size: 523 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100117/1c1bb923/icedtea-sparc-trapsfix.patch From doko at icedtea.classpath.org Sat Jan 16 15:38:02 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Sat, 16 Jan 2010 23:38:02 +0000 Subject: /hg/icedtea6: Look for merged sparc kernel headers in asm/ Message-ID: changeset 83256d3211dd in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=83256d3211dd author: doko at ubuntu.com date: Sun Jan 17 00:37:57 2010 +0100 Look for merged sparc kernel headers in asm/ 2010-01-17 Matthias Klose * patches/icedtea-sparc-trapsfix.patch: Merged sparc headers are located in asm/. diffstat: 2 files changed, 10 insertions(+), 14 deletions(-) ChangeLog | 5 +++++ patches/icedtea-sparc-trapsfix.patch | 19 +++++-------------- diffs (42 lines): diff -r 327907cd1d5b -r 83256d3211dd ChangeLog --- a/ChangeLog Sat Jan 16 02:12:30 2010 +0000 +++ b/ChangeLog Sun Jan 17 00:37:57 2010 +0100 @@ -1,3 +1,8 @@ 2010-01-16 Andrew John Hughes + + * patches/icedtea-sparc-trapsfix.patch: Merged sparc headers + are located in asm/. + 2010-01-16 Andrew John Hughes * acinclude.m4: diff -r 327907cd1d5b -r 83256d3211dd patches/icedtea-sparc-trapsfix.patch --- a/patches/icedtea-sparc-trapsfix.patch Sat Jan 16 02:12:30 2010 +0000 +++ b/patches/icedtea-sparc-trapsfix.patch Sun Jan 17 00:37:57 2010 +0100 @@ -1,21 +1,12 @@ diff -Nru openjdk.orig/hotspot/src/os_cp -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 @@ +--- openjdk/hotspot/src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp.orig 2010-01-16 23:19:45.703450297 +0000 ++++ openjdk/hotspot/src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp 2010-01-16 23:21:23.942337146 +0000 +@@ -25,7 +25,8 @@ #include "incls/_precompiled.incl" #include "incls/_assembler_linux_sparc.cpp.incl" -#include -+/* 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 -+#else -+# include -+#endif ++// always found in asm/ with merged sparc/sparc64 headers ++#include void MacroAssembler::read_ccr_trap(Register ccr_save) { // No implementation From doko at icedtea.classpath.org Sat Jan 16 15:38:29 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Sat, 16 Jan 2010 23:38:29 +0000 Subject: /hg/release/icedtea6-1.7: Look for merged sparc kernel headers i... Message-ID: changeset 00dce3629da2 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=00dce3629da2 author: doko at ubuntu.com date: Sun Jan 17 00:34:54 2010 +0100 Look for merged sparc kernel headers in asm/ 2010-01-17 Matthias Klose * patches/icedtea-sparc-trapsfix.patch: Merged sparc headers are located in asm/. diffstat: 2 files changed, 11 insertions(+), 15 deletions(-) ChangeLog | 7 ++++++- patches/icedtea-sparc-trapsfix.patch | 19 +++++-------------- diffs (51 lines): diff -r 882587aab813 -r 00dce3629da2 ChangeLog --- a/ChangeLog Sat Jan 16 02:12:30 2010 +0000 +++ b/ChangeLog Sun Jan 17 00:34:54 2010 +0100 @@ -1,3 +1,8 @@ 2010-01-16 Andrew John Hughes + + * patches/icedtea-sparc-trapsfix.patch: Merged sparc headers + are located in asm/. + 2010-01-16 Andrew John Hughes * acinclude.m4: @@ -55,7 +60,7 @@ 2010-01-16 Andrew John Hughes - * ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp + * ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp Implement is_allocatable to make build word with hs16 2010-01-14 Matthias Klose diff -r 882587aab813 -r 00dce3629da2 patches/icedtea-sparc-trapsfix.patch --- a/patches/icedtea-sparc-trapsfix.patch Sat Jan 16 02:12:30 2010 +0000 +++ b/patches/icedtea-sparc-trapsfix.patch Sun Jan 17 00:34:54 2010 +0100 @@ -1,21 +1,12 @@ diff -Nru openjdk.orig/hotspot/src/os_cp -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 @@ +--- openjdk/hotspot/src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp.orig 2010-01-16 23:19:45.703450297 +0000 ++++ openjdk/hotspot/src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp 2010-01-16 23:21:23.942337146 +0000 +@@ -25,7 +25,8 @@ #include "incls/_precompiled.incl" #include "incls/_assembler_linux_sparc.cpp.incl" -#include -+/* 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 -+#else -+# include -+#endif ++// always found in asm/ with merged sparc/sparc64 headers ++#include void MacroAssembler::read_ccr_trap(Register ccr_save) { // No implementation From doko at icedtea.classpath.org Sat Jan 16 15:40:56 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Sat, 16 Jan 2010 23:40:56 +0000 Subject: /hg/icedtea: Look for merged sparc kernel headers in asm/ Message-ID: changeset aa999f73a911 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=aa999f73a911 author: doko at ubuntu.com date: Sun Jan 17 00:40:56 2010 +0100 Look for merged sparc kernel headers in asm/ 2010-01-17 Matthias Klose * patches/icedtea-sparc-trapsfix.patch: Merged sparc headers are located in asm/. diffstat: 2 files changed, 10 insertions(+), 14 deletions(-) ChangeLog | 5 +++++ patches/icedtea-sparc-trapsfix.patch | 19 +++++-------------- diffs (42 lines): diff -r 663183355f4c -r aa999f73a911 ChangeLog --- a/ChangeLog Fri Jan 15 15:53:39 2010 +0100 +++ b/ChangeLog Sun Jan 17 00:40:56 2010 +0100 @@ -1,3 +1,8 @@ 2010-01-15 Matthias Klose + + * patches/icedtea-sparc-trapsfix.patch: Merged sparc headers + are located in asm/. + 2010-01-15 Matthias Klose * Makefile.am (stamps/icedtea-npplugin): New target, add file diff -r 663183355f4c -r aa999f73a911 patches/icedtea-sparc-trapsfix.patch --- a/patches/icedtea-sparc-trapsfix.patch Fri Jan 15 15:53:39 2010 +0100 +++ b/patches/icedtea-sparc-trapsfix.patch Sun Jan 17 00:40:56 2010 +0100 @@ -1,21 +1,12 @@ diff -Nru openjdk.orig/hotspot/src/os_cp -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 @@ +--- openjdk/hotspot/src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp.orig 2010-01-16 23:19:45.703450297 +0000 ++++ openjdk/hotspot/src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp 2010-01-16 23:21:23.942337146 +0000 +@@ -25,7 +25,8 @@ #include "incls/_precompiled.incl" #include "incls/_assembler_linux_sparc.cpp.incl" -#include -+/* 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 -+#else -+# include -+#endif ++// always found in asm/ with merged sparc/sparc64 headers ++#include void MacroAssembler::read_ccr_trap(Register ccr_save) { // No implementation From gnu_andrew at member.fsf.org Sat Jan 16 16:52:19 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Sun, 17 Jan 2010 00:52:19 +0000 Subject: build problems on sparc64-linux In-Reply-To: <4B524D4E.7010805@ubuntu.com> References: <4B3F6017.9000009@ubuntu.com> <201001142010.47855.dennis@ausil.us> <4B524D4E.7010805@ubuntu.com> Message-ID: <17c6771e1001161652k233c9d4ct56b5a36da0d7aff5@mail.gmail.com> 2010/1/16 Matthias Klose : > On 15.01.2010 03:10, Dennis Gilmore wrote: >> >> On Saturday 02 January 2010 09:02:47 am Matthias Klose wrote: >>> >>> I see a build failure of current 6b17 from the IcedTea6 branch on >>> sparc64-linux using the original hotspot, but not on sparc-linux (32bit). >>> The build fails building abstractCompiler.cpp in >>> build/linux-sparcv9/hotspot/outputdir/linux_sparcv9_compiler2/product >>> >>> .../hotspot/src/cpu/sparc/vm/assembler_sparc.hpp:1069: error: inline >>> function 'void Assembler::emit_long(int)' used but never defined >>> .../hotspot/src/cpu/sparc/vm/assembler_sparc.hpp:1083: error: inline >>> function 'void Assembler::add(RegisterImpl*, int, RegisterImpl*, >>> relocInfo::relocType)' used but never defined >>> .../hotspot/src/cpu/sparc/vm/assembler_sparc.hpp:1514: error: inline >>> function 'void Assembler::stb(RegisterImpl*, const Address&, int)' used >>> but never defined .../hotspot/src/cpu/sparc/vm/assembler_sparc.hpp:1291: >>> error: inline function 'void Assembler::ldsb(const Address&, >>> RegisterImpl*, int)' used but never defined >>> .../hotspot/src/cpu/sparc/vm/assembler_sparc.hpp:1507: error: inline >>> function 'void Assembler::st(RegisterImpl*, RegisterImpl*, >>> RegisterImpl*)' >>> used but never defined >>> >>> these are all defined in assembler_sparc.inline.hpp. not using >>> precompiled >>> headers and -save-temps shows that assembler_sparc.inline.hpp is not >>> included in the saved .ii file. >>> >>> I currently fail to see how assembler_x86.inline.hpp and >>> assembler_zero.inline.hpp are included (or assembler_sparc.inline.hpp on >>> sparc 32bit). Any hints? >>> >>> patches/icedtea-sparc-trapsfix.patch is patched to include asm/traps.h >>> instead of asm-sparc/traps.h only for one sparc architecture. I don't see >>> asm-sparc/traps.h anymore with recent kernel headers. maybe this should >>> be >>> build configure check depending on the kernel headers used? >> >> one of the sparc patches in fedora is dealing with the new header >> locations. >> kernel headers got moved when sparc and sparc64 kernel trees merged. > > ok, I'm checking in the attached patch as a replacement for > patches/icedtea-sparc-trapsfix.patch, so the local fedora patches can be > dropped. > >>> the fedora packaging repository does have two sparc patches not found in >>> IcedTea. Are these still applied? Does the fedora build acctually build >>> and >>> work in it's current state? >> >> yes ?and yes ?at least with the last build we did >> https://sparc.koji.fedoraproject.org/koji/buildinfo?buildID=42183 >> >> If you have any sparc questions feel free to ask me. > > please could you try to build current IcedTea head or 1.7-branch configured > with --with-hotspot=hs16 and see if it does build for you on sparc and > sparc64? > > ?Matthias > I looked at the Fedora patches yesterday and agree this is the right change. But I thought we were going to make this dependent on a configure check for the /usr/include/asm-sparc directory? -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From bugzilla-daemon at icedtea.classpath.org Sun Jan 17 05:02:30 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 17 Jan 2010 13:02:30 +0000 Subject: [Bug 431] New: cacao build broken, making redist all, in icedtea6 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=431 Summary: cacao build broken, making redist all, in icedtea6 Product: IcedTea Version: 6-hg Platform: Other OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea6 AssignedTo: unassigned at icedtea.classpath.org ReportedBy: xerxes at zafena.se build configured out of tree on armv7 host with --enable-cacao --build=arm-linux-gnueabi >>>Recursively making redist all @ Sun Jan 17 12:34:04 CET 2010 ... make[5]: Entering directory `/media/disk/icedtea6-cacao/openjdk-ecj/jdk/make/java/redist' BinaryPlugs import started: Sun Jan 17 12:34:08 CET 2010 BINARY_PLUGS_PATH=/media/disk/icedtea6-cacao/bootstrap/jdk1.7.0 /bin/mkdir -p /media/disk/icedtea6-cacao/openjdk-ecj/build/linux-arm/classes PLUG IMPORT: com/sun/jmx/snmp/SnmpDataTypeEnums.class PLUG IMPORT: com/sun/jmx/snmp/SnmpDefinitions.class PLUG IMPORT: com/sun/jmx/snmp/SnmpOid.class PLUG IMPORT: com/sun/jmx/snmp/SnmpOidRecord.class PLUG IMPORT: com/sun/jmx/snmp/SnmpOidTable.class PLUG IMPORT: com/sun/jmx/snmp/SnmpOidTableSupport.class PLUG IMPORT: com/sun/jmx/snmp/SnmpParameters.class PLUG IMPORT: com/sun/jmx/snmp/SnmpPduPacket.class PLUG IMPORT: com/sun/jmx/snmp/SnmpPeer.class PLUG IMPORT: rt/com/sun/jmx/snmp/SnmpSession.class PLUG IMPORT: com/sun/jmx/snmp/SnmpTimeticks.class PLUG IMPORT: com/sun/jmx/snmp/SnmpVarBind.class PLUG IMPORT: com/sun/jmx/snmp/SnmpVarBindList.class PLUG IMPORT: com/sun/jmx/snmp/daemon/SendQ.class PLUG IMPORT: com/sun/jmx/snmp/daemon/SnmpInformRequest.class PLUG IMPORT: com/sun/jmx/snmp/daemon/SnmpSession.class (cd /media/disk/icedtea6-cacao/openjdk-ecj/build/linux-arm/classes && /media/disk/icedtea6-cacao/bootstrap/jdk1.6.0/bin/jar xf /media/disk/icedtea6-cacao/bootstrap/jdk1.7.0/jre/lib/rt-closed.jar `/bin/cat /media/disk/icedtea6-cacao/openjdk-ecj/build/linux-arm/tmp/java/plugs/jmf.clist`) /bin/mkdir -p /media/disk/icedtea6-cacao/openjdk-ecj/build/linux-arm/classes PLUG IMPORT: gnu (cd /media/disk/icedtea6-cacao/openjdk-ecj/build/linux-arm/classes && /media/disk/icedtea6-cacao/bootstrap/jdk1.6.0/bin/jar xf /media/disk/icedtea6-cacao/bootstrap/jdk1.7.0/jre/lib/rt-closed.jar `/bin/cat /media/disk/icedtea6-cacao/openjdk-ecj/build/linux-arm/tmp/java/plugs/gnu.clist`) /bin/mkdir -p /media/disk/icedtea6-cacao/openjdk-ecj/build/linux-arm/classes PLUG IMPORT: javax/jnlp (cd /media/disk/icedtea6-cacao/openjdk-ecj/build/linux-arm/classes && /media/disk/icedtea6-cacao/bootstrap/jdk1.6.0/bin/jar xf /media/disk/icedtea6-cacao/bootstrap/jdk1.7.0/jre/lib/rt-closed.jar `/bin/cat /media/disk/icedtea6-cacao/openjdk-ecj/build/linux-arm/tmp/java/plugs/javax.clist`) /bin/mkdir -p /media/disk/icedtea6-cacao/openjdk-ecj/build/linux-arm/classes PLUG IMPORT: net (cd /media/disk/icedtea6-cacao/openjdk-ecj/build/linux-arm/classes && /media/disk/icedtea6-cacao/bootstrap/jdk1.6.0/bin/jar xf /media/disk/icedtea6-cacao/bootstrap/jdk1.7.0/jre/lib/rt-closed.jar `/bin/cat /media/disk/icedtea6-cacao/openjdk-ecj/build/linux-arm/tmp/java/plugs/netx.clist`) /bin/mkdir -p /media/disk/icedtea6-cacao/openjdk-ecj/build/linux-arm/classes PLUG IMPORT: netscape (cd /media/disk/icedtea6-cacao/openjdk-ecj/build/linux-arm/classes && /media/disk/icedtea6-cacao/bootstrap/jdk1.6.0/bin/jar xf /media/disk/icedtea6-cacao/bootstrap/jdk1.7.0/jre/lib/rt-closed.jar `/bin/cat /media/disk/icedtea6-cacao/openjdk-ecj/build/linux-arm/tmp/java/plugs/netscape.clist`) BinaryPlugs import completed: Sun Jan 17 12:35:34 CET 2010 ASSEMBLY_IMPORT: /media/disk/icedtea6-cacao/openjdk-ecj/build/linux-arm/lib/arm/server/libjvm.so /bin/mkdir -p /media/disk/icedtea6-cacao/openjdk-ecj/build/linux-arm/lib/arm/server rm -f /media/disk/icedtea6-cacao/openjdk-ecj/build/linux-arm/lib/arm/server/libjvm.so /bin/cp /media/disk/icedtea6-cacao/cacao/install/jre/lib/arm/server/libjvm.so /media/disk/icedtea6-cacao/openjdk-ecj/build/linux-arm/lib/arm/server/libjvm.so ASSEMBLY_IMPORT: /media/disk/icedtea6-cacao/openjdk-ecj/build/linux-arm/lib/arm/server/Xusage.txt /bin/mkdir -p /media/disk/icedtea6-cacao/openjdk-ecj/build/linux-arm/lib/arm/server rm -f /media/disk/icedtea6-cacao/openjdk-ecj/build/linux-arm/lib/arm/server/Xusage.txt /bin/cp /media/disk/icedtea6-cacao/cacao/install/jre/lib/arm/server/Xusage.txt /media/disk/icedtea6-cacao/openjdk-ecj/build/linux-arm/lib/arm/server/Xusage.txt make[5]: *** No rule to make target `/media/disk/icedtea6-cacao/cacao/install/jre/lib/arm/client/libjvm.so', needed by `/media/disk/icedtea6-cacao/openjdk-ecj/build/linux-arm/lib/arm/client/libjvm.so'. Stop. make[5]: Leaving directory `/media/disk/icedtea6-cacao/openjdk-ecj/jdk/make/java/redist' make[4]: *** [all] Error 1 make[4]: Leaving directory `/media/disk/icedtea6-cacao/openjdk-ecj/jdk/make/java' make[3]: *** [all] Error 1 make[3]: Leaving directory `/media/disk/icedtea6-cacao/openjdk-ecj/jdk/make' make[2]: *** [jdk-build] Error 2 make[2]: Leaving directory `/media/disk/icedtea6-cacao/openjdk-ecj' make[1]: *** [jdk_only] Error 2 make[1]: Leaving directory `/media/disk/icedtea6-cacao/openjdk-ecj' make: *** [stamps/icedtea-ecj.stamp] Error 2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Sun Jan 17 06:13:36 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 17 Jan 2010 14:13:36 +0000 Subject: [Bug 409] additional info Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=409 ticapix at gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ticapix at gmail.com ------- Comment #4 from ticapix at gmail.com 2010-01-17 14:13 ------- (In reply to comment #3) > Can you recheck this on a more recent version? > I have the same error Experimental: JNI_OnLoad called. Stable Library ========================================= Native lib Version = RXTX-2.1-7 Java lib Version = RXTX-2.1-7 RXTX Warning: Removing stale lock file. /var/lock/LCK..ttyUSB0 # # An unexpected error has been detected by Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007f1709faa383, pid=11521, tid=139736928360720 # # Java VM: Java HotSpot(TM) 64-Bit Server VM (11.2-b01 mixed mode linux-amd64) # Problematic frame: # C [librxtxSerial-2.1-7.so+0x8383] read_byte_array+0x43 But I'm using the sun jdk 1.6.0_12 and I got the error with sun jdk 1.6.0_16 (I'm running debian) -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Sun Jan 17 09:37:44 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 17 Jan 2010 17:37:44 +0000 Subject: [Bug 431] cacao build broken, making redist all, in icedtea6 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=431 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |CACAO ------- Comment #1 from gnu_andrew at member.fsf.org 2010-01-17 17:37 ------- Should be filed under CACAO. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Sun Jan 17 09:38:46 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 17 Jan 2010 17:38:46 +0000 Subject: [Bug 431] cacao build broken, making redist all, in icedtea6 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=431 ------- Comment #2 from gnu_andrew at member.fsf.org 2010-01-17 17:38 ------- Did CACAO build successfully earlier? Is there a resulting libjvm.so? The build is failing to copy it over to the JDK tree. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Sun Jan 17 09:40:55 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 17 Jan 2010 17:40:55 +0000 Subject: [Bug 409] additional info Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=409 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |6-1.2 ------- Comment #5 from gnu_andrew at member.fsf.org 2010-01-17 17:40 ------- This is still an old version. The current 1.6 release gives: $ /usr/lib/jvm/icedtea6/bin/java -version java version "1.6.0_0" OpenJDK Runtime Environment (IcedTea6 1.6.2) (build 1.6.0_0-b16) OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode) -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Sun Jan 17 10:36:41 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 17 Jan 2010 18:36:41 +0000 Subject: [Bug 431] cacao build broken, making redist all, in icedtea6 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=431 ------- Comment #3 from xerxes at zafena.se 2010-01-17 18:36 ------- Did CACAO build successfully earlier? Is there a resulting libjvm.so? there is a sucessfull built libjvm.so in the cacao server dir /media/disk/icedtea6-cacao/cacao/install/jre/lib/arm/server/libjvm.so that have been copied sucessfully to /media/disk/icedtea6-cacao/openjdk-ecj/build/linux-arm/lib/arm/server/libjvm.so but no ther are no libjvm.so in the client dir... actually there exist no /media/disk/icedtea6-cacao/cacao/install/jre/lib/arm/client/ directory or target /media/disk/icedtea6-cacao/openjdk-ecj/build/linux-arm/lib/arm/client directory. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Sun Jan 17 10:43:38 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 17 Jan 2010 18:43:38 +0000 Subject: [Bug 431] cacao build broken, making redist all, in icedtea6 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=431 ------- Comment #4 from xerxes at zafena.se 2010-01-17 18:43 ------- this bug are reproducable on i386 fc11 >>>Recursively making redist all @ Sun Jan 17 19:32:40 CET 2010 ... make[5]: Entering directory `/icedtea6-1.7-cacao/openjdk-ecj/jdk/make/java/redist' BinaryPlugs import started: Sun Jan 17 19:32:40 CET 2010 BINARY_PLUGS_PATH=/icedtea6-1.7-cacao/bootstrap/jdk1.7.0 /bin/mkdir -p /icedtea6-1.7-cacao/openjdk-ecj/build/linux-i586/classes PLUG IMPORT: com/sun/jmx/snmp/SnmpDataTypeEnums.class PLUG IMPORT: com/sun/jmx/snmp/SnmpDefinitions.class PLUG IMPORT: com/sun/jmx/snmp/SnmpOid.class PLUG IMPORT: com/sun/jmx/snmp/SnmpOidRecord.class PLUG IMPORT: com/sun/jmx/snmp/SnmpOidTable.class PLUG IMPORT: com/sun/jmx/snmp/SnmpOidTableSupport.class PLUG IMPORT: com/sun/jmx/snmp/SnmpParameters.class PLUG IMPORT: com/sun/jmx/snmp/SnmpPduPacket.class PLUG IMPORT: com/sun/jmx/snmp/SnmpPeer.class PLUG IMPORT: rt/com/sun/jmx/snmp/SnmpSession.class PLUG IMPORT: com/sun/jmx/snmp/SnmpTimeticks.class PLUG IMPORT: com/sun/jmx/snmp/SnmpVarBind.class PLUG IMPORT: com/sun/jmx/snmp/SnmpVarBindList.class PLUG IMPORT: com/sun/jmx/snmp/daemon/SendQ.class PLUG IMPORT: com/sun/jmx/snmp/daemon/SnmpInformRequest.class PLUG IMPORT: com/sun/jmx/snmp/daemon/SnmpSession.class (cd /icedtea6-1.7-cacao/openjdk-ecj/build/linux-i586/classes && /icedtea6-1.7-cacao/bootstrap/jdk1.6.0/bin/jar xf /icedtea6-1.7-cacao/bootstrap/jdk1.7.0/jre/lib/rt-closed.jar `/bin/cat /icedtea6-1.7-cacao/openjdk-ecj/build/linux-i586/tmp/java/plugs/jmf.clist`) /bin/mkdir -p /icedtea6-1.7-cacao/openjdk-ecj/build/linux-i586/classes PLUG IMPORT: gnu (cd /icedtea6-1.7-cacao/openjdk-ecj/build/linux-i586/classes && /icedtea6-1.7-cacao/bootstrap/jdk1.6.0/bin/jar xf /icedtea6-1.7-cacao/bootstrap/jdk1.7.0/jre/lib/rt-closed.jar `/bin/cat /icedtea6-1.7-cacao/openjdk-ecj/build/linux-i586/tmp/java/plugs/gnu.clist`) /bin/mkdir -p /icedtea6-1.7-cacao/openjdk-ecj/build/linux-i586/classes PLUG IMPORT: javax/jnlp (cd /icedtea6-1.7-cacao/openjdk-ecj/build/linux-i586/classes && /icedtea6-1.7-cacao/bootstrap/jdk1.6.0/bin/jar xf /icedtea6-1.7-cacao/bootstrap/jdk1.7.0/jre/lib/rt-closed.jar `/bin/cat /icedtea6-1.7-cacao/openjdk-ecj/build/linux-i586/tmp/java/plugs/javax.clist`) /bin/mkdir -p /icedtea6-1.7-cacao/openjdk-ecj/build/linux-i586/classes PLUG IMPORT: net (cd /icedtea6-1.7-cacao/openjdk-ecj/build/linux-i586/classes && /icedtea6-1.7-cacao/bootstrap/jdk1.6.0/bin/jar xf /icedtea6-1.7-cacao/bootstrap/jdk1.7.0/jre/lib/rt-closed.jar `/bin/cat /icedtea6-1.7-cacao/openjdk-ecj/build/linux-i586/tmp/java/plugs/netx.clist`) /bin/mkdir -p /icedtea6-1.7-cacao/openjdk-ecj/build/linux-i586/classes PLUG IMPORT: netscape (cd /icedtea6-1.7-cacao/openjdk-ecj/build/linux-i586/classes && /icedtea6-1.7-cacao/bootstrap/jdk1.6.0/bin/jar xf /icedtea6-1.7-cacao/bootstrap/jdk1.7.0/jre/lib/rt-closed.jar `/bin/cat /icedtea6-1.7-cacao/openjdk-ecj/build/linux-i586/tmp/java/plugs/netscape.clist`) BinaryPlugs import completed: Sun Jan 17 19:32:45 CET 2010 ASSEMBLY_IMPORT: /icedtea6-1.7-cacao/openjdk-ecj/build/linux-i586/lib/i386/server/libjvm.so /bin/mkdir -p /icedtea6-1.7-cacao/openjdk-ecj/build/linux-i586/lib/i386/server rm -f /icedtea6-1.7-cacao/openjdk-ecj/build/linux-i586/lib/i386/server/libjvm.so /bin/cp /icedtea6-1.7-cacao/cacao/install/jre/lib/i386/server/libjvm.so /icedtea6-1.7-cacao/openjdk-ecj/build/linux-i586/lib/i386/server/libjvm.so ASSEMBLY_IMPORT: /icedtea6-1.7-cacao/openjdk-ecj/build/linux-i586/lib/i386/server/Xusage.txt /bin/mkdir -p /icedtea6-1.7-cacao/openjdk-ecj/build/linux-i586/lib/i386/server rm -f /icedtea6-1.7-cacao/openjdk-ecj/build/linux-i586/lib/i386/server/Xusage.txt /bin/cp /icedtea6-1.7-cacao/cacao/install/jre/lib/i386/server/Xusage.txt /icedtea6-1.7-cacao/openjdk-ecj/build/linux-i586/lib/i386/server/Xusage.txt make[5]: *** No rule to make target `/icedtea6-1.7-cacao/cacao/install/jre/lib/i386/client/libjvm.so', needed by `/icedtea6-1.7-cacao/openjdk-ecj/build/linux-i586/lib/i386/client/libjvm.so'. Stop. make[5]: Leaving directory `/icedtea6-1.7-cacao/openjdk-ecj/jdk/make/java/redist' make[4]: *** [all] Error 1 make[4]: Leaving directory `/icedtea6-1.7-cacao/openjdk-ecj/jdk/make/java' make[3]: *** [all] Error 1 make[3]: Leaving directory `/icedtea6-1.7-cacao/openjdk-ecj/jdk/make' make[2]: *** [jdk-build] Error 2 make[2]: Leaving directory `/icedtea6-1.7-cacao/openjdk-ecj' make[1]: *** [jdk_only] Fel 2 make[1]: Leaving directory `/icedtea6-1.7-cacao/openjdk-ecj' make: *** [stamps/icedtea-ecj.stamp] Fel 2 the libjvm.so exists here: [xranby at pusspuss icedtea6-1.7-cacao]$ ls /icedtea6-1.7-cacao/cacao/install/jre/lib/i386/server Xusage.txt libjsig.so libjvm.so [xranby at pusspuss icedtea6-1.7-cacao]$ ls -la /icedtea6-1.7-cacao/openjdk-ecj/build/linux-i586/lib/i386/server/libjvm.so -rwxr-xr-x. 1 xranby xranby 2642902 Jan 17 19:32 /icedtea6-1.7-cacao/openjdk-ecj/build/linux-i586/lib/i386/server/libjvm.so but not where the build look: ls: cannot access /icedtea6-1.7-cacao/cacao/install/jre/lib/i386/client: No such file or directory ls: cannot access /icedtea6-1.7-cacao/openjdk-ecj/build/linux-i586/lib/i386/client/: No such file or directory -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Sun Jan 17 14:05:27 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 17 Jan 2010 22:05:27 +0000 Subject: [Bug 431] cacao build broken, making redist all, in icedtea6 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=431 ------- Comment #5 from gnu_andrew at member.fsf.org 2010-01-17 22:05 ------- ah so maybe a CACAO bug in that it doesn't create the necessary client directory for archs which support client (x86, arm). x86_64 doesn't so the OpenJDK build looks for and finds it in server. It seems strange we wouldn't have seen this before though. Indeed, here is the logic from src/cacao/Makefile.am: if WITH_JAVA_RUNTIME_LIBRARY_OPENJDK install-data-local: $(mkdir_p) $(prefix)/jre/lib/$(JAVA_ARCH)/server $(LN_S) -f $(libdir)/libjvm.so $(prefix)/jre/lib/$(JAVA_ARCH)/server $(ECHO) $(ECHO_N) > $(prefix)/jre/lib/$(JAVA_ARCH)/server/Xusage.txt $(ECHO) $(ECHO_N) > $(prefix)/jre/lib/$(JAVA_ARCH)/server/libjsig.so uninstall-local: rm -f $(prefix)/jre/lib/$(JAVA_ARCH)/server/libjvm.so rm -f $(prefix)/jre/lib/$(JAVA_ARCH)/server/Xusage.txt rm -f $(prefix)/jre/lib/$(JAVA_ARCH)/server/libjsig.so endif and grep -r 'client/' in the CACAO tree returns nothing. On the OpenJDK side, make/java/redist/Makefile has this logic: # Hotspot client is only available on 32-bit builds ifeq ($(ARCH_DATA_MODEL), 32) IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVM_NAME) \ $(LIB_LOCATION)/$(CLIENT_LOCATION)/Xusage.txt endif but that's been there since OpenJDK6 was created. So what changed to break this? -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jan 18 02:10:53 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 18 Jan 2010 10:10:53 +0000 Subject: [Bug 431] cacao build broken, making redist all, in icedtea6 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=431 ------- Comment #6 from gbenson at redhat.com 2010-01-18 10:10 ------- The Zero build stuff got replaced recently. Maybe the cacao build stuff relied on something from Zero that now moved? -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jan 18 02:38:47 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 18 Jan 2010 10:38:47 +0000 Subject: [Bug 432] New: --with-additional-vms=cacao, shark build fail during add-zero without having openjdk-src-zip and hotspot-src-zip explicitly set. Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=432 Summary: --with-additional-vms=cacao,shark build fail during add- zero without having openjdk-src-zip and hotspot-src-zip explicitly set. Product: IcedTea Version: 6-hg Platform: Other OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea6 AssignedTo: unassigned at icedtea.classpath.org ReportedBy: xerxes at zafena.se when running a build configured with simply ./configure --with-additional-vms=cacao,shark makes the build fail during the add-zero step. the build tries to unpack openjdk.tar.gz and hotspot.tar.gz instead of the downloaded openjdk-6-src-b17-14_oct_2009.tar.gz file that contain both. IcedTea is served: openjdk/build/linux-arm mkdir -p stamps touch stamps/icedtea.stamp mkdir -p openjdk/build/linux-arm/j2sdk-image/jre/lib/arm/cacao install -m 644 cacao/install/lib/libjvm.so \ openjdk/build/linux-arm/j2sdk-image/jre/lib/arm/cacao/ install -m 644 cacao/install/jre/lib/arm/server/libjsig.so \ openjdk/build/linux-arm/j2sdk-image/jre/lib/arm/cacao/ install -m 644 cacao/install/jre/lib/arm/server/Xusage.txt \ openjdk/build/linux-arm/j2sdk-image/jre/lib/arm/cacao/ printf -- '-cacao KNOWN\n' >> openjdk/build/linux-arm/j2sdk-image/jre/lib/arm/jvm.cfg touch stamps/add-cacao.stamp mkdir -p zerovm cd zerovm && \ BUILD_LANGTOOLS=false ALT_LANGTOOLS_DIST=/sd/icedtea6-1.7-zero-shark-cacao/openjdk/build/linux-arm/langtools/dist BUILD_JAXP=false ALT_JAXP_DIST=/sd/icedtea6-1.7-zero-shark-cacao/openjdk/build/linux-arm/jaxp/dist BUILD_JAXWS=false ALT_JAXWS_DIST=/sd/icedtea6-1.7-zero-shark-cacao/openjdk/build/linux-arm/jaxws/dist BUILD_CORBA=false ALT_CORBA_DIST=/sd/icedtea6-1.7-zero-shark-cacao/openjdk/build/linux-arm/corba/dist BUILD_JDK=false DISTRIBUTION_PATCHES='' \ /sd/icedtea6-1.7-zero-shark-cacao/../icedtea6-1.7/configure --with-openjdk=/sd/icedtea6-1.7-zero-shark-cacao/openjdk/build/linux-arm/j2sdk-image --enable-zero --enable-shark --disable-docs '--enable-zero' '--disable-docs' '--build=arm-linux-gnueabi' 'build_alias=arm-linux-gnueabi' --with-openjdk-src-zip=/sd/icedtea6-1.7-zero-shark-cacao/openjdk.tar.gz --with-hotspot-src-zip=/sd/icedtea6-1.7-zero-shark-cacao/hotspot.tar.gz checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking how to create a pax tar archive... gnutar checking build system type... arm-unknown-linux-gnueabi checking host system type... arm-unknown-linux-gnueabi checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... none checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... none checking for make... /usr/bin/make checking for gzip... /bin/gzip checking for ant... /usr/bin/ant checking for find... /usr/bin/find checking for patch... /usr/bin/patch checking for tar... /bin/tar checking for chmod... /bin/chmod checking for md5sum... /usr/bin/md5sum checking for wget... /usr/bin/wget checking for zip... /usr/bin/zip checking for unzip... /usr/bin/unzip checking for cpio... /bin/cpio checking for file... /usr/bin/file checking for fastjar... fastjar checking for gawk... /usr/bin/gawk checking for hg... /usr/bin/hg checking for lsb_release... /usr/bin/lsb_release checking whether to compile ecj natively... no checking which HotSpot build to use... original checking for linux32... /usr/bin/linux32 checking version of GCC... 4.3.3 (major version 4, minor version 3) checking for an existing OpenJDK installation... /sd/icedtea6-1.7-zero-shark-cacao/openjdk/build/linux-arm/j2sdk-image checking for getconf... /usr/bin/getconf checking the number of online processors... 1 checking how many parallel build jobs to execute... 2 checking for a NetBeans installation... /usr/share/netbeans checking for an Ant home directory... /usr/share/ant checking whether to build VisualVM... no checking whether to build the browser plugin... yes checking whether to build the new experimental browser plugin based on npruntime... no checking whether to include PulseAudio support... no checking whether to build documentation... no checking whether to enable experimental OpenJDK cross-compilation support... no checking whether to include the XRender pipeline... yes checking whether to include NIO2 support... no checking whether to include SystemTap tracing support... no checking whether to include the NSS-based security provider... no checking whether to include Javascript support via Rhino... /usr/share/java/js.jar checking for an OpenJDK source zip... /sd/icedtea6-1.7-zero-shark-cacao/openjdk.tar.gz checking for a HotSpot source zip... /sd/icedtea6-1.7-zero-shark-cacao/hotspot.tar.gz checking for an OpenJDK source directory... /media/disk/icedtea6-1.7-zero-shark-cacao/zerovm/openjdk checking for an alternate jar command... not specified checking whether to use CACAO as VM... no checking for a CACAO home directory... $(abs_top_builddir)/cacao/install checking for a CACAO source zip... not specified checking for a CACAO source directory... not specified checking whether to disable optimizations and build with -O0 -g... no checking whether to use the Shark JIT... yes checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking whether to use the zero-assembler port... yes checking size of void *... 4 checking whether byte ordering is bigendian... no checking for additional virtual machines to build... none checking whether to retrieve the source code from Mercurial... no checking which Mercurial revision to use... tip checking cups/cups.h usability... yes checking cups/cups.h presence... yes checking for cups/cups.h... yes checking cups/ppd.h usability... yes checking cups/ppd.h presence... yes checking for cups/ppd.h... yes checking X11/X.h usability... yes checking X11/X.h presence... yes checking for X11/X.h... yes checking for main in -ljpeg... yes checking for main in -lgif... yes checking for main in -lz... yes checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for XPROTO... yes checking for XT... yes checking for XP... yes checking for X11... yes checking for XINERAMA... yes checking for XRENDER... yes checking for LIBPNG... yes checking for XTST... yes checking for FREETYPE2... yes checking for ALSA... yes checking for XULRUNNER... yes checking for GTK... yes checking for GLIB... yes checking for xulrunner version... 1090015 checking for LIBFFI... yes checking for llvm-config... /usr/local/bin/llvm-config configure: creating ./config.status config.status: creating Makefile config.status: creating jvm.cfg config.status: creating ergo.c config.status: executing depfiles commands BUILD_LANGTOOLS=false ALT_LANGTOOLS_DIST=/sd/icedtea6-1.7-zero-shark-cacao/openjdk/build/linux-arm/langtools/dist BUILD_JAXP=false ALT_JAXP_DIST=/sd/icedtea6-1.7-zero-shark-cacao/openjdk/build/linux-arm/jaxp/dist BUILD_JAXWS=false ALT_JAXWS_DIST=/sd/icedtea6-1.7-zero-shark-cacao/openjdk/build/linux-arm/jaxws/dist BUILD_CORBA=false ALT_CORBA_DIST=/sd/icedtea6-1.7-zero-shark-cacao/openjdk/build/linux-arm/corba/dist BUILD_JDK=false DISTRIBUTION_PATCHES='' \ /usr/bin/make -C zerovm make[1]: Entering directory `/media/disk/icedtea6-1.7-zero-shark-cacao/zerovm' mkdir -p bootstrap rm -f bootstrap/jdk1.6.0 ln -sf /sd/icedtea6-1.7-zero-shark-cacao/openjdk/build/linux-arm/j2sdk-image bootstrap/jdk1.6.0; \ if ! bootstrap/jdk1.6.0/bin/java -version ; \ then \ echo "bootstrap/jdk1.6.0/bin/java" \ "cannot be found or is corrupted." ; \ exit 1; \ fi java version "1.6.0_17" OpenJDK Runtime Environment (IcedTea6 1.7-r00dce3629da2) (build 1.6.0_17-b17) OpenJDK Zero VM (build 14.0-b16, interpreted mode) mkdir -p stamps touch stamps/bootstrap-directory-symlink.stamp mkdir -p stamps touch stamps/hgforest.stamp mkdir -p stamps touch stamps/download.stamp if ! test -d openjdk ; \ then \ mkdir openjdk ; \ /bin/tar xf /sd/icedtea6-1.7-zero-shark-cacao/openjdk.tar.gz -C openjdk; \ chmod -R ug+w openjdk ; \ sh /sd/icedtea6-1.7-zero-shark-cacao/../icedtea6-1.7/fsg.sh ; \ fi /bin/tar: /sd/icedtea6-1.7-zero-shark-cacao/openjdk.tar.gz: Cannot open: No such file or directory /bin/tar: Error is not recoverable: exiting now Further liberating OpenJDK... if [ ! -e /sd/icedtea6-1.7-zero-shark-cacao/zerovm/generated ]; then \ cp -a /sd/icedtea6-1.7-zero-shark-cacao/../icedtea6-1.7/generated /sd/icedtea6-1.7-zero-shark-cacao/zerovm; \ find /sd/icedtea6-1.7-zero-shark-cacao/zerovm/generated -type f -exec chmod 640 '{}' ';' \ -o -type d -exec chmod 750 '{}' ';'; \ fi mkdir -p stamps touch stamps/extract.stamp touch stamps/replace-hotspot.stamp for target in /sd/icedtea6-1.7-zero-shark-cacao/../icedtea6-1.7/ports/hotspot/make/*/platform_zero.in \ /sd/icedtea6-1.7-zero-shark-cacao/../icedtea6-1.7/ports/hotspot/make/*/makefiles/* \ /sd/icedtea6-1.7-zero-shark-cacao/../icedtea6-1.7/ports/hotspot/tools \ /sd/icedtea6-1.7-zero-shark-cacao/../icedtea6-1.7/ports/hotspot/src/*cpu/* \ /sd/icedtea6-1.7-zero-shark-cacao/../icedtea6-1.7/ports/hotspot/src/share/vm/*; do \ link=$(dirname $target | sed 's/^.*ports/openjdk/'|sed "s#hotspot/build#hotspot/make#"); \ cp -rv $target $link; \ done `/sd/icedtea6-1.7-zero-shark-cacao/../icedtea6-1.7/ports/hotspot/make/linux/platform_zero.in' -> `openjdk/hotspot/make/linux' cp: cannot create regular file `openjdk/hotspot/make/linux': No such file or directory `/sd/icedtea6-1.7-zero-shark-cacao/../icedtea6-1.7/ports/hotspot/make/linux/makefiles/shark.make' -> `openjdk/hotspot/make/linux/makefiles' cp: cannot create regular file `openjdk/hotspot/make/linux/makefiles': No such file or directory `/sd/icedtea6-1.7-zero-shark-cacao/../icedtea6-1.7/ports/hotspot/make/linux/makefiles/zero.make' -> `openjdk/hotspot/make/linux/makefiles' cp: cannot create regular file `openjdk/hotspot/make/linux/makefiles': No such file or directory `/sd/icedtea6-1.7-zero-shark-cacao/../icedtea6-1.7/ports/hotspot/make/linux/makefiles/zeroshark.make' -> `openjdk/hotspot/make/linux/makefiles' cp: cannot create regular file `openjdk/hotspot/make/linux/makefiles': No such file or directory `/sd/icedtea6-1.7-zero-shark-cacao/../icedtea6-1.7/ports/hotspot/tools' -> `openjdk/hotspot' `/sd/icedtea6-1.7-zero-shark-cacao/../icedtea6-1.7/ports/hotspot/tools/mkbc.c' -> `openjdk/hotspot/mkbc.c' cp: cannot create directory `openjdk/hotspot/src/cpu': No such file or directory cp: cannot create directory `openjdk/hotspot/src/os_cpu': No such file or directory `/sd/icedtea6-1.7-zero-shark-cacao/../icedtea6-1.7/ports/hotspot/src/share/vm/includeDB_shark' -> `openjdk/hotspot/src/share/vm' cp: cannot create regular file `openjdk/hotspot/src/share/vm': No such file or directory `/sd/icedtea6-1.7-zero-shark-cacao/../icedtea6-1.7/ports/hotspot/src/share/vm/includeDB_zero' -> `openjdk/hotspot/src/share/vm' cp: cannot create regular file `openjdk/hotspot/src/share/vm': No such file or directory cp: cannot create directory `openjdk/hotspot/src/share/vm': No such file or directory make[1]: *** [stamps/ports.stamp] Error 1 make[1]: Leaving directory `/media/disk/icedtea6-1.7-zero-shark-cacao/zerovm' make: *** [stamps/add-zero.stamp] Error 2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From xerxes at zafena.se Mon Jan 18 04:59:21 2010 From: xerxes at zafena.se (Xerxes Ranby) Date: Mon, 18 Jan 2010 13:59:21 +0100 Subject: icedtea6-1.7 ARM results - HotSpot 16 In-Reply-To: <17c6771e1001151111q190aa16eu5d71affbb0b8841e@mail.gmail.com> References: <17c6771e1001131337s68e4ca2fm2dd2ae9c87bd61c@mail.gmail.com> <4B4F283B.8030103@ubuntu.com> <17c6771e1001140655v4499a0e4q2cf22ba0e6e649fd@mail.gmail.com> <17c6771e1001140834h4da73e5dt55889a366e828147@mail.gmail.com> <17c6771e1001151111q190aa16eu5d71affbb0b8841e@mail.gmail.com> Message-ID: <4B545B29.3020904@zafena.se> > Ok, I'm going to summarise things in this email because I'm getting > confused now as to what works and what doesn't: > The only one missing below is the ARM port as these builds are all on x86_64. > > Hi i will fill in what information i know about various Icedtea6-1.7 and hg builds on ARM > Normal builds > ========== > > 1. --enable-vms=cacao,shark > /sd/icedtea6-1.7-zero-shark-cacao/openjdk/build/linux-arm/j2sdk-image/bin/java -version java version "1.6.0_17" OpenJDK Runtime Environment (IcedTea6 1.7-r00dce3629da2) (build 1.6.0_17-b17) OpenJDK Zero VM (build 14.0-b16, interpreted mode) /sd/icedtea6-1.7-zero-shark-cacao/openjdk/build/linux-arm/j2sdk-image/bin/java -version -cacao java version "1.6.0_17" IcedTea Runtime Environment (IcedTea6 1.7-r00dce3629da2) (build 1.6.0_17-b17) CACAO (build 0.99.4, compiled mode) /sd/icedtea6-1.7-zero-shark-cacao/openjdk/build/linux-arm/j2sdk-image/bin/java -version -shark my build failed to add shark see: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=432 > 2. --enable-shark > > Crashes on stage 2: > java version "1.6.0_17" OpenJDK Runtime Environment (IcedTea6 1.8pre-rd9e57470d35d) (build 1.6.0_17-b17) OpenJDK Shark VM (build 14.0-b16, mixed mode) mkdir -p stamps touch stamps/bootstrap-directory-symlink.stamp mkdir -p extra-lib if ! test -d /sd/icedtea6-tot/bootstrap/jdk1.6.0 ; \ then \ /usr/bin/ecj -nowarn -g -d extra-lib \ -source 1.5 \ -sourcepath extra -cp bootstrap/jdk1.7.0/jre/lib/rt-closed.jar \ -bootclasspath \'\' @extra-source-files.txt ; \ else \ /sd/icedtea6-tot/bootstrap/jdk1.6.0/bin/javac -g -d extra-lib \ -source 1.5 \ -sourcepath extra -cp bootstrap/jdk1.7.0/jre/lib/rt-closed.jar \ -bootclasspath \'\' @extra-source-files.txt ; \ fi # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (os_linux_zero.cpp:236), pid=448, tid=1087513744 # Error: caught unhandled signal 4 # # JRE version: 6.0_17-b17 # Java VM: OpenJDK Shark VM (14.0-b16 mixed mode linux-arm ) # An error report file with more information is saved as: # /media/disk/icedtea6-tot/hs_err_pid448.log # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # /bin/bash: line 11: 448 Aborted /sd/icedtea6-tot/bootstrap/jdk1.6.0/bin/javac -g -d extra-lib -source 1.5 -sourcepath extra -cp bootstrap/jdk1.7.0/jre/lib/rt-closed.jar -bootclasspath \'\' @extra-source-files.txt make: *** [stamps/extra-class-files.stamp] Error 134 3. --enable-cacao my build failed see: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=431 > Builds using --with-hotspot-build=hs16: > =========================== > > I have no information on hs16 builds for ARM. But doko seems to have made at least one sucessfull hs16 zero,shark,cacao ARM build during last xmas https://launchpad.net/ubuntu/+source/openjdk-6/6b17~pre3-1ubuntu2/+build/1414218 > 1.6.2+hg > ======= > 1. --enable-shark > /sd/5nov-j2sdk-image/bin/java -version java version "1.6.0_0" OpenJDK Runtime Environment (IcedTea6 1.7pre-rcda20a4144b7) (build 1.6.0_0-b17) OpenJDK Shark VM (build 14.0-b16, mixed mode) > So Shark has regressed to not bootstrapping with either HotSpot in 1.7. > Im in favour for a new release since all jvms on ARM zero,cacao and shark (ecj) can be built with at least some combinations of the available build options. Cheers Xerxes From gnu_andrew at member.fsf.org Mon Jan 18 07:36:51 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 18 Jan 2010 15:36:51 +0000 Subject: icedtea6-1.7 ARM results - HotSpot 16 In-Reply-To: <4B545B29.3020904@zafena.se> References: <17c6771e1001131337s68e4ca2fm2dd2ae9c87bd61c@mail.gmail.com> <4B4F283B.8030103@ubuntu.com> <17c6771e1001140655v4499a0e4q2cf22ba0e6e649fd@mail.gmail.com> <17c6771e1001140834h4da73e5dt55889a366e828147@mail.gmail.com> <17c6771e1001151111q190aa16eu5d71affbb0b8841e@mail.gmail.com> <4B545B29.3020904@zafena.se> Message-ID: <17c6771e1001180736x5f18c267pca74132cf82ddd44@mail.gmail.com> 2010/1/18 Xerxes Ranby : > >> Ok, I'm going to summarise things in this email because I'm getting >> confused now as to what works and what doesn't: >> The only one missing below is the ARM port as these builds are all on >> x86_64. >> >> > > Hi i will fill in what information i know about various Icedtea6-1.7 and hg > builds on ARM > >> Normal builds >> ========== >> >> 1. --enable-vms=cacao,shark >> > > /sd/icedtea6-1.7-zero-shark-cacao/openjdk/build/linux-arm/j2sdk-image/bin/java > -version > java version "1.6.0_17" > OpenJDK Runtime Environment (IcedTea6 1.7-r00dce3629da2) (build > 1.6.0_17-b17) > OpenJDK Zero VM (build 14.0-b16, interpreted mode) > > /sd/icedtea6-1.7-zero-shark-cacao/openjdk/build/linux-arm/j2sdk-image/bin/java > -version -cacao > java version "1.6.0_17" > IcedTea Runtime Environment (IcedTea6 1.7-r00dce3629da2) (build > 1.6.0_17-b17) > CACAO (build 0.99.4, compiled mode) > > /sd/icedtea6-1.7-zero-shark-cacao/openjdk/build/linux-arm/j2sdk-image/bin/java > -version -shark > my build failed to add shark see: > http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=432 > >> 2. ?--enable-shark >> >> Crashes on stage 2: >> > > java version "1.6.0_17" > OpenJDK Runtime Environment (IcedTea6 1.8pre-rd9e57470d35d) (build > 1.6.0_17-b17) > OpenJDK Shark VM (build 14.0-b16, mixed mode) > mkdir -p stamps > touch stamps/bootstrap-directory-symlink.stamp > mkdir -p extra-lib > if ! test -d /sd/icedtea6-tot/bootstrap/jdk1.6.0 ; \ > ? then \ > ? ? /usr/bin/ecj -nowarn ?-g -d extra-lib \ > ? ? ? -source 1.5 \ > ? ? ? -sourcepath extra -cp bootstrap/jdk1.7.0/jre/lib/rt-closed.jar \ > ? ? ? -bootclasspath \'\' @extra-source-files.txt ; \ > ? else \ > ? ? /sd/icedtea6-tot/bootstrap/jdk1.6.0/bin/javac ?-g -d extra-lib \ > ? ? ? ? ? -source 1.5 \ > ? ? ? ? ? -sourcepath extra -cp bootstrap/jdk1.7.0/jre/lib/rt-closed.jar \ > ? ? ? ? ? -bootclasspath \'\' @extra-source-files.txt ; \ > ? fi > # > # A fatal error has been detected by the Java Runtime Environment: > # > # ?Internal Error (os_linux_zero.cpp:236), pid=448, tid=1087513744 > # ?Error: caught unhandled signal 4 > # > # JRE version: 6.0_17-b17 > # Java VM: OpenJDK Shark VM (14.0-b16 mixed mode linux-arm ) > # An error report file with more information is saved as: > # /media/disk/icedtea6-tot/hs_err_pid448.log > # > # If you would like to submit a bug report, please include > # instructions how to reproduce the bug and visit: > # ? http://icedtea.classpath.org/bugzilla > # > /bin/bash: line 11: ? 448 Aborted > /sd/icedtea6-tot/bootstrap/jdk1.6.0/bin/javac -g -d extra-lib -source 1.5 > -sourcepath extra -cp bootstrap/jdk1.7.0/jre/lib/rt-closed.jar > -bootclasspath \'\' @extra-source-files.txt > make: *** [stamps/extra-class-files.stamp] Error 134 > > > 3. --enable-cacao > my build failed see: > http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=431 >> >> Builds using --with-hotspot-build=hs16: >> =========================== >> >> > > I have no information on hs16 builds for ARM. > But doko seems to have made at least one sucessfull hs16 zero,shark,cacao > ARM build during last xmas > https://launchpad.net/ubuntu/+source/openjdk-6/6b17~pre3-1ubuntu2/+build/1414218 >> >> 1.6.2+hg >> ======= >> 1. --enable-shark >> > > /sd/5nov-j2sdk-image/bin/java -version > java version "1.6.0_0" > OpenJDK Runtime Environment (IcedTea6 1.7pre-rcda20a4144b7) (build > 1.6.0_0-b17) > OpenJDK Shark VM (build 14.0-b16, mixed mode) > >> So Shark has regressed to not bootstrapping with either HotSpot in 1.7. >> > > Im in favour for a new release since all jvms on ARM zero,cacao and shark > (ecj) can be built with at least some combinations of the available build > options. > > Cheers > Xerxes > Ok so it looks like Shark bootstrapping will be broken for this release :( But everything else seems to be working. Assuming Ed's builds come out good tomorrow, I think we are just about ready for release. I'll do some final testing later today and hopefully we'll have the release tomorrow afternoon. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From bugzilla-daemon at icedtea.classpath.org Mon Jan 18 09:12:33 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 18 Jan 2010 17:12:33 +0000 Subject: [Bug 432] --with-additional-vms=cacao, shark build fail during add-zero without having openjdk-src-zip and hotspot-src-zip explicitly set. Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=432 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|gnu_andrew at member.fsf.org |.org | ------- Comment #1 from gnu_andrew at member.fsf.org 2010-01-18 17:12 ------- Yes, this part: $(foreach i, openjdk hotspot, \ $(if $(findstring --with-$(i)-src-zip=, $(CONFIGURE_ARGS)),, --with-$(i)-src-zip=$(abs_top_builddir)/$(i).tar.gz)) is wrong as the default tarball is no longer called openjdk.tar.gz. $(OPENJDK_SRC_ZIP) and $(HOTSPOT_SRC_ZIP) should be used to avoid this issue. Testing a fix. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From andrew at icedtea.classpath.org Mon Jan 18 12:49:29 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 18 Jan 2010 20:49:29 +0000 Subject: /hg/icedtea6: 2 new changesets Message-ID: changeset 8972093fe4f7 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=8972093fe4f7 author: Andrew John Hughes date: Mon Jan 18 20:14:00 2010 +0000 Use AC_LANG_PUSH/AC_LANG_POP rather than deprecated SAVE/RESTORE macros. 2010-01-18 Andrew John Hughes * configure.ac: Use AC_LANG_PUSH and AC_LANG_POP instead of deprecated SAVE and RESTORE macros. changeset 10d4e6ddaac9 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=10d4e6ddaac9 author: Andrew John Hughes date: Mon Jan 18 20:12:25 2010 +0000 PR icedtea/416: Don't use hardcoded tarball names. 2010-01-18 Andrew John Hughes PR icedtea/416: * Makefile.am: Use $(OPENJDK_SRC_ZIP) and $(HOTSPOT_SRC_ZIP) to determine names of tarballs rather than hardcoding openjdk.tar.gz and hotspot.tar.gz diffstat: 3 files changed, 21 insertions(+), 6 deletions(-) ChangeLog | 14 ++++++++++++++ Makefile.am | 6 ++++-- configure.ac | 7 +++---- diffs (65 lines): diff -r 83256d3211dd -r 10d4e6ddaac9 ChangeLog --- a/ChangeLog Sun Jan 17 00:37:57 2010 +0100 +++ b/ChangeLog Mon Jan 18 20:12:25 2010 +0000 @@ -1,3 +1,17 @@ 2010-01-17 Matthias Klose + + * configure.ac: + Use AC_LANG_PUSH and AC_LANG_POP instead + of deprecated SAVE and RESTORE macros. + +2010-01-18 Andrew John Hughes + + PR icedtea/416: + * Makefile.am: + Use $(OPENJDK_SRC_ZIP) and $(HOTSPOT_SRC_ZIP) + to determine names of tarballs rather than + hardcoding openjdk.tar.gz and hotspot.tar.gz + 2010-01-17 Matthias Klose * patches/icedtea-sparc-trapsfix.patch: Merged sparc headers diff -r 83256d3211dd -r 10d4e6ddaac9 Makefile.am --- a/Makefile.am Sun Jan 17 00:37:57 2010 +0100 +++ b/Makefile.am Mon Jan 18 20:12:25 2010 +0000 @@ -1795,8 +1795,10 @@ ADD_ZERO_CONFIGURE_ARGS += \ '--with-rmic=% '--with-additional-vms=% \ '--with-openjdk '--with-openjdk=% , \ $(CONFIGURE_ARGS)) \ - $(foreach i, openjdk hotspot, \ - $(if $(findstring --with-$(i)-src-zip=, $(CONFIGURE_ARGS)),, --with-$(i)-src-zip=$(abs_top_builddir)/$(i).tar.gz)) + $(if $(findstring --with-openjdk-src-zip=, $(CONFIGURE_ARGS)),, \ + --with-openjdk-src-zip=$(abs_top_builddir)/$(OPENJDK_SRC_ZIP)) \ + $(if $(findstring --with-hotspot-src-zip=, $(CONFIGURE_ARGS)),, \ + --with-hotspot-src-zip=$(abs_top_builddir)/$(HOTSPOT_SRC_ZIP)) ADD_ZERO_EXTRA_BUILD_ENV = \ BUILD_LANGTOOLS=false ALT_LANGTOOLS_DIST=$(ICEDTEA_BUILD_DIR)/langtools/dist \ diff -r 83256d3211dd -r 10d4e6ddaac9 configure.ac --- a/configure.ac Sun Jan 17 00:37:57 2010 +0100 +++ b/configure.ac Mon Jan 18 20:12:25 2010 +0000 @@ -1,4 +1,4 @@ AC_INIT([icedtea6], [1.8pre], [distro-pk -AC_INIT([icedtea6], [1.8pre], [distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea6],[1.8pre],[distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) @@ -320,8 +320,7 @@ AC_CHECK_HEADER([sys/sdt.h], [SDT_H_FOUN AC_MSG_ERROR([systemtap support needs sys/sdt.h header])]) AC_MSG_CHECKING([working sys/sdt.h and g++ support]) - AC_LANG_SAVE - AC_LANG_CPLUSPLUS + AC_LANG_PUSH([C++]) AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include class ProbeClass @@ -354,7 +353,7 @@ public: ProbeClass inst = ProbeClass(i, "call"); inst.method(24); ]])], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR([systemtap sdt.h or g++ too old])]) - AC_LANG_RESTORE + AC_LANG_POP([C++]) AC_MSG_CHECKING([for absolute java home install dir]) AC_ARG_WITH([abs-install-dir], From andrew at icedtea.classpath.org Mon Jan 18 12:49:55 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 18 Jan 2010 20:49:55 +0000 Subject: /hg/release/icedtea6-1.7: PR icedtea/416: Don't use hardcoded ta... Message-ID: changeset 67b2774bbe54 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=67b2774bbe54 author: Andrew John Hughes date: Mon Jan 18 20:12:25 2010 +0000 PR icedtea/416: Don't use hardcoded tarball names. 2010-01-18 Andrew John Hughes PR icedtea/416: * Makefile.am: Use $(OPENJDK_SRC_ZIP) and $(HOTSPOT_SRC_ZIP) to determine names of tarballs rather than hardcoding openjdk.tar.gz and hotspot.tar.gz diffstat: 2 files changed, 12 insertions(+), 2 deletions(-) ChangeLog | 8 ++++++++ Makefile.am | 6 ++++-- diffs (31 lines): diff -r 00dce3629da2 -r 67b2774bbe54 ChangeLog --- a/ChangeLog Sun Jan 17 00:34:54 2010 +0100 +++ b/ChangeLog Mon Jan 18 20:12:25 2010 +0000 @@ -1,3 +1,11 @@ 2010-01-17 Matthias Klose + + PR icedtea/416: + * Makefile.am: + Use $(OPENJDK_SRC_ZIP) and $(HOTSPOT_SRC_ZIP) + to determine names of tarballs rather than + hardcoding openjdk.tar.gz and hotspot.tar.gz + 2010-01-17 Matthias Klose * patches/icedtea-sparc-trapsfix.patch: Merged sparc headers diff -r 00dce3629da2 -r 67b2774bbe54 Makefile.am --- a/Makefile.am Sun Jan 17 00:34:54 2010 +0100 +++ b/Makefile.am Mon Jan 18 20:12:25 2010 +0000 @@ -1792,8 +1792,10 @@ ADD_ZERO_CONFIGURE_ARGS += \ '--with-rmic=% '--with-additional-vms=% \ '--with-openjdk '--with-openjdk=% , \ $(CONFIGURE_ARGS)) \ - $(foreach i, openjdk hotspot, \ - $(if $(findstring --with-$(i)-src-zip=, $(CONFIGURE_ARGS)),, --with-$(i)-src-zip=$(abs_top_builddir)/$(i).tar.gz)) + $(if $(findstring --with-openjdk-src-zip=, $(CONFIGURE_ARGS)),, \ + --with-openjdk-src-zip=$(abs_top_builddir)/$(OPENJDK_SRC_ZIP)) \ + $(if $(findstring --with-hotspot-src-zip=, $(CONFIGURE_ARGS)),, \ + --with-hotspot-src-zip=$(abs_top_builddir)/$(HOTSPOT_SRC_ZIP)) ADD_ZERO_EXTRA_BUILD_ENV = \ BUILD_LANGTOOLS=false ALT_LANGTOOLS_DIST=$(ICEDTEA_BUILD_DIR)/langtools/dist \ From bugzilla-daemon at icedtea.classpath.org Tue Jan 19 01:51:32 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 19 Jan 2010 09:51:32 +0000 Subject: [Bug 431] cacao build broken, making redist all, in icedtea6 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=431 ------- Comment #7 from xerxes at zafena.se 2010-01-19 09:51 ------- Whats new in Icedtea 1.7 Makefile.am are that the changeset http://icedtea.classpath.org/hg/icedtea6/rev/e7ca0bef8351 sets ARCH_DATA_MODEL="$(ZERO_BITSPERWORD)" for ICEDTEA_ENV and ICEDTEA_ENV_ECJ with ARCH_DATA_MODEL set to 32 triggers this bug in OpenJDK side, make/java/redist/Makefile for --enable-cacao builds on 32bit systems. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jan 19 03:16:31 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 19 Jan 2010 11:16:31 +0000 Subject: [Bug 431] cacao build broken, making redist all, in icedtea6 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=431 ------- Comment #8 from xerxes at zafena.se 2010-01-19 11:16 ------- Created an attachment (id=282) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=282&action=view) set ZERO_BUILD = true for WITH_CACAO builds i was wrong about the ARCH_DATA_MODEL theory.. a red herring, openjdk sets it by itself if icedtea dont supply it. Ok new theory and patch to fix the issue: By browsing the ChangeLog it seems cacao have allways relied on the ZERO build flags to be set, and this build flag have evolved ower time from CORE_BUILD -> CORE_OR_SHARK_BUILD -> now ZERO_BUILD and ICEDTEA_ZERO_BUILD The attached patch fixes CACAO once again by setting ZERO_BUILD and ICEDTEA_ZERO_BUILD to true when WITH_CACAO are enabled. Cheers Xerxes -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jan 19 03:31:32 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 19 Jan 2010 11:31:32 +0000 Subject: [Bug 431] cacao build broken, making redist all, in icedtea6 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=431 ------- Comment #9 from xerxes at zafena.se 2010-01-19 11:31 ------- >>>Finished making images @ Tue Jan 19 12:36:44 CET 2010 ... make[3]: Leaving directory `/home/xerxes/icedtea6-1.7-cacao-2/openjdk/jdk/make' Control build finished: 10-01-19 12:36 make[2]: Leaving directory `/home/xerxes/icedtea6-1.7-cacao-2/openjdk' make[1]: L?mnar katalogen "/home/xerxes/icedtea6-1.7-cacao-2/openjdk" mkdir -p openjdk/build/linux-i586/j2sdk-image/jre/lib/i386 mkdir -p openjdk/build/linux-i586/j2re-image/lib/i386 mkdir -p openjdk/build/linux-i586/j2sdk-image/jre/lib/ext mkdir -p openjdk/build/linux-i586/j2re-image/lib/ext cp -pPRf IcedTeaPlugin.so \ openjdk/build/linux-i586/j2sdk-image/jre/lib/i386 cp -pPRf IcedTeaPlugin.so \ openjdk/build/linux-i586/j2re-image/lib/i386 cp /home/xerxes/icedtea6-1.7-cacao-2/../icedtea6-1.7/rt/net/sourceforge/jnlp/resources/about.jnlp \ extra-lib/about.jar \ openjdk/build/linux-i586/j2re-image/lib ; \ cp /home/xerxes/icedtea6-1.7-cacao-2/../icedtea6-1.7/rt/net/sourceforge/jnlp/resources/about.jnlp \ extra-lib/about.jar \ openjdk/build/linux-i586/j2sdk-image/jre/lib printf -- '-cacao ALIASED_TO -server\n' >> openjdk/build/linux-i586/j2sdk-image/jre/lib/i386/jvm.cfg IcedTea is served: openjdk/build/linux-i586 mkdir -p stamps touch stamps/icedtea.stamp printf -- '-cacao ERROR\n' >> openjdk/build/linux-i586/j2sdk-image/jre/lib/i386/jvm.cfg touch stamps/add-cacao.stamp printf -- '-zero ERROR\n' >> openjdk/build/linux-i586/j2sdk-image/jre/lib/i386/jvm.cfg printf -- '-shark ERROR\n' >> openjdk/build/linux-i586/j2sdk-image/jre/lib/i386/jvm.cfg touch stamps/add-zero.stamp real 25m2.707s user 23m23.824s sys 3m0.899s xerxes at xerxes-J464X:~/icedtea6-1.7-cacao-2$ openjdk/build/linux-i586/bin/java -version java version "1.6.0_17" IcedTea Runtime Environment (1.7-r67b2774bbe54) (build 1.6.0_17-b17) CACAO (build 0.99.4, compiled mode) xerxes at xerxes-J464X:~/icedtea6-1.7-cacao-2$ -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From xerxes at zafena.se Tue Jan 19 05:32:37 2010 From: xerxes at zafena.se (=?ISO-8859-1?Q?Xerxes_R=E5nby?=) Date: Tue, 19 Jan 2010 14:32:37 +0100 Subject: [patch] cacao icedtea6-1.7 pr431 - fix --enable-cacao builds on 32bit systems. Message-ID: <4B55B475.2080305@zafena.se> Hi the attached patch fixes pr431 for --enable-cacao on 32 bit systems. ok to push to Icedtea6-1.7? ok to push to Icedtea6? Cheers Xerxes -------------- next part -------------- A non-text attachment was scrubbed... Name: cacao_icedtea6-1.7_pr431.patch Type: text/x-patch Size: 1020 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100119/7369a067/cacao_icedtea6-1.7_pr431.patch From dbhole at redhat.com Tue Jan 19 09:16:11 2010 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 19 Jan 2010 12:16:11 -0500 Subject: Patch for review: Adding default value to certain attributes In-Reply-To: <349797732.363641263594972564.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> References: <889613722.363591263594967523.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> <349797732.363641263594972564.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> Message-ID: <20100119171611.GA20698@redhat.com> * Man Wong [2010-01-15 17:36]: > This patch allows netx to not cause a failure when the codebase and href attribute under the jnlp tag is missing (codebase and href are not required attributes, hence missing them should not cause an exception to be thrown). > > Changelog: > 2010-01-15 Man Lung Wong > > * rt/net/sourceforge/jnlp/JNLPFile.java > (parse): Added a default value for sourceLocation to make sure it is not null > (location is never null). > > * rt/net/sourceforge/jnlp/Parser.java > Removed variable base, and replaced it with codebase. The fix ended > with base the same as codebase, hence no longer needed. Otherwise, > netx will launch a jnlp file with codebase null and href not null > (not the way sun's webstart behaves). > > * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > (setSecurity): Added a variable codebase, which gets the value of codebase > attribute in the jnlp file if it exists. Otherwise, it gets > the value of the location of main jar resource (which needs > to be changed to the codebase portion instead of the entire > location). > > Any comments? > Just for the sake of consistency here, the lines in ChangeLog shouldn't be multiply indented. If it overflows on to the next line, it should start at the same spot as the line above. i.e. * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (setSecurity): Added a variable codebase, which gets the value of codebase attribute in the jnlp file if it exists. Otherwise, it gets the value of the location of main jar resource (which needs to be changed to the codebase portion instead of the entire location). Should be: * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (setSecurity): Added a variable codebase, which gets the value of codebase attribute in the jnlp file if it exists. Otherwise, it gets the value of the location of main jar resource (which needs to be changed to the codebase portion instead of the entire location). ... ... > diff -r 9e6623803599 rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > --- a/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Jan 13 19:32:07 2010 -0500 > +++ b/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Thu Jan 14 14:21:46 2010 -0500 > @@ -167,6 +167,16 @@ > } > > private void setSecurity() { > + > + URL codebase = null; > + > + if (file.getCodeBase() != null) { > + codebase = file.getCodeBase(); > + } else { The function appears to have indenting issues. The first line is indented, the rest aren't.. it should be consistent with the rest of the function body. Other than that, the rest looks fine. Assuming you have tested it, please fix the above and commit any time. Cheers, Deepak From mwong at icedtea.classpath.org Tue Jan 19 11:35:55 2010 From: mwong at icedtea.classpath.org (mwong at icedtea.classpath.org) Date: Tue, 19 Jan 2010 19:35:55 +0000 Subject: /hg/icedtea6: Assignment default values to certain non required ... Message-ID: changeset 98c88b32cdb4 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=98c88b32cdb4 author: Man Lung Wong date: Tue Jan 19 14:38:40 2010 -0500 Assignment default values to certain non required attributes. diffstat: 4 files changed, 72 insertions(+), 50 deletions(-) ChangeLog | 16 +++ rt/net/sourceforge/jnlp/JNLPFile.java | 3 rt/net/sourceforge/jnlp/Parser.java | 28 ++---- rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 75 ++++++++++-------- diffs (230 lines): diff -r 10d4e6ddaac9 -r 98c88b32cdb4 ChangeLog --- a/ChangeLog Mon Jan 18 20:12:25 2010 +0000 +++ b/ChangeLog Tue Jan 19 14:38:40 2010 -0500 @@ -1,3 +1,19 @@ 2010-01-18 Andrew John Hughes + + * rt/net/sourceforge/jnlp/JNLPFile.java + (parse): Added a default value for sourceLocation to make sure it is + not null (location is never null). + * rt/net/sourceforge/jnlp/Parser.java: + Removed variable base, and replaced it with codebase. The fix ended + with base the same as codebase, hence no longer needed. Otherwise, + netx will launch a jnlp file with codebase null and href not + null (not the way sun's webstart behaves). + * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java + (setSecurity): Added a variable codebase, which gets the value of + codebae attribute in the jnlp file ifit exists. Otherwise, it gets + the value of the location of main jar resource (which needs to be + changed to the codebase portion instead of the entire location). + 2010-01-18 Andrew John Hughes * configure.ac: diff -r 10d4e6ddaac9 -r 98c88b32cdb4 rt/net/sourceforge/jnlp/JNLPFile.java --- a/rt/net/sourceforge/jnlp/JNLPFile.java Mon Jan 18 20:12:25 2010 +0000 +++ b/rt/net/sourceforge/jnlp/JNLPFile.java Tue Jan 19 14:38:40 2010 -0500 @@ -559,8 +559,7 @@ public class JNLPFile { specVersion = parser.getSpecVersion(); fileVersion = parser.getFileVersion(); codeBase = parser.getCodeBase(); - sourceLocation = parser.getFileLocation(); - + sourceLocation = parser.getFileLocation() != null ? parser.getFileLocation() : location; info = parser.getInfo(root); resources = parser.getResources(root, false); // false == not a j2se/java resources section launchType = parser.getLauncher(root); diff -r 10d4e6ddaac9 -r 98c88b32cdb4 rt/net/sourceforge/jnlp/Parser.java --- a/rt/net/sourceforge/jnlp/Parser.java Mon Jan 18 20:12:25 2010 +0000 +++ b/rt/net/sourceforge/jnlp/Parser.java Tue Jan 19 14:38:40 2010 -0500 @@ -87,9 +87,6 @@ class Parser { /** the specification version */ private Version spec; - /** the base URL that all hrefs are relative to */ - private URL base; - /** the codebase URL */ private URL codebase; @@ -132,8 +129,8 @@ class Parser { // JNLP tag information this.spec = getVersion(root, "spec", "1.0+"); this.codebase = addSlash(getURL(root, "codebase", base)); - this.base = (codebase!=null) ? codebase : base; // if codebase not specified use default codebase - fileLocation = getURL(root, "href", this.base); + + fileLocation = getURL(root, "href", codebase); // ensure version is supported if (!supportedVersions.matchesAny(spec)) @@ -279,7 +276,7 @@ class Parser { */ public JREDesc getJRE(Node node) throws ParseException { Version version = getVersion(node, "version", null); - URL location = getURL(node, "href", base); + URL location = getURL(node, "href", codebase); String vmArgs = getAttribute(node, "java-vm-args",null); try { checkVMArgs(vmArgs); @@ -306,7 +303,7 @@ class Parser { */ public JARDesc getJAR(Node node) throws ParseException { boolean nativeJar = "nativelib".equals(node.getNodeName()); - URL location = getRequiredURL(node, "href", base); + URL location = getRequiredURL(node, "href", codebase); Version version = getVersion(node, "version", null); String part = getAttribute(node, "part", null); boolean main = "true".equals(getAttribute(node, "main", "false")); @@ -330,7 +327,7 @@ class Parser { public ExtensionDesc getExtension(Node node) throws ParseException { String name = getAttribute(node, "name", null); Version version = getVersion(node, "version", null); - URL location = getRequiredURL(node, "href", base); + URL location = getRequiredURL(node, "href", codebase); ExtensionDesc ext = new ExtensionDesc(name, version, location); @@ -433,7 +430,7 @@ class Parser { addInfo(info, child, kind, getSpanText(child)); } if ("homepage".equals(name)) - addInfo(info, child, null, getRequiredURL(child, "href", base)); + addInfo(info, child, null, getRequiredURL(child, "href", codebase)); if ("icon".equals(name)) addInfo(info, child, getAttribute(child, "kind", "default"), getIcon(child)); if ("offline-allowed".equals(name)) @@ -487,7 +484,7 @@ class Parser { int height = Integer.parseInt(getAttribute(node, "height", "-1")); int size = Integer.parseInt(getAttribute(node, "size", "-1")); int depth = Integer.parseInt(getAttribute(node, "depth", "-1")); - URL location = getRequiredURL(node, "href", base); + URL location = getRequiredURL(node, "href", codebase); Object kind = getAttribute(node, "kind", "default"); return new IconDesc(location, kind, width, height, depth, size); @@ -524,8 +521,8 @@ class Parser { else if (strict) throw new ParseException(R("PEmptySecurity")); - if (base != null) - return new SecurityDesc(file, type, base.getHost()); + if (codebase != null) + return new SecurityDesc(file, type, codebase.getHost()); else return new SecurityDesc(file, type, null); } @@ -592,7 +589,7 @@ class Parser { public AppletDesc getApplet(Node node) throws ParseException { String name = getRequiredAttribute(node, "name", R("PUnknownApplet")); String main = getRequiredAttribute(node, "main-class", null); - URL docbase = getURL(node, "documentbase", base); + URL docbase = getURL(node, "documentbase", codebase); Map paramMap = new HashMap(); int width = 0; int height = 0; @@ -724,7 +721,7 @@ class Parser { public RelatedContentDesc getRelatedContent(Node node) throws ParseException { getRequiredAttribute(node, "href", null); - URL location = getURL(node, "href", base); + URL location = getURL(node, "href", codebase); String title = null; String description = null; @@ -1176,8 +1173,7 @@ class Parser { final XMLElement xml = new XMLElement(); final PipedInputStream pin = new PipedInputStream(); final PipedOutputStream pout = new PipedOutputStream(pin); - final InputStreamReader isr = new InputStreamReader(input); - + final InputStreamReader isr = new InputStreamReader(input); // Clean the jnlp xml file of all comments before passing // it to the parser. new Thread( diff -r 10d4e6ddaac9 -r 98c88b32cdb4 rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Mon Jan 18 20:12:25 2010 +0000 +++ b/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Tue Jan 19 14:38:40 2010 -0500 @@ -167,39 +167,50 @@ public class JNLPClassLoader extends URL } private void setSecurity() { - /** - * When we're trying to load an applet, file.getSecurity() will return - * null since there is no jnlp file to specify permissions. We - * determine security settings here, after trying to verify jars. - */ - if (file instanceof PluginBridge) { - if (signing == true) { - this.security = new SecurityDesc(file, - SecurityDesc.ALL_PERMISSIONS, - file.getCodeBase().getHost()); - } else { - this.security = new SecurityDesc(file, - SecurityDesc.SANDBOX_PERMISSIONS, - file.getCodeBase().getHost()); - } - } else { //regular jnlp file + + URL codebase = null; + + if (file.getCodeBase() != null) { + codebase = file.getCodeBase(); + } else { + //Fixme: codebase should be the codebase of the Main Jar not + //the location. Although, it still works in the current state. + codebase = file.getResources().getMainJAR().getLocation(); + } + + /** + * When we're trying to load an applet, file.getSecurity() will return + * null since there is no jnlp file to specify permissions. We + * determine security settings here, after trying to verify jars. + */ + if (file instanceof PluginBridge) { + if (signing == true) { + this.security = new SecurityDesc(file, + SecurityDesc.ALL_PERMISSIONS, + codebase.getHost()); + } else { + this.security = new SecurityDesc(file, + SecurityDesc.SANDBOX_PERMISSIONS, + codebase.getHost()); + } + } else { //regular jnlp file - /** - * If the application is signed, then we set the SecurityDesc to the - * tag in the jnlp file. Note that if an application is - * signed, but there is no tag in the jnlp file, the - * application will get sandbox permissions. - * If the application is unsigned, we ignore the tag and - * use a sandbox instead. - */ - if (signing == true) { - this.security = file.getSecurity(); - } else { - this.security = new SecurityDesc(file, - SecurityDesc.SANDBOX_PERMISSIONS, - file.getCodeBase().getHost()); - } - } + /** + * If the application is signed, then we set the SecurityDesc to the + * tag in the jnlp file. Note that if an application is + * signed, but there is no tag in the jnlp file, the + * application will get sandbox permissions. + * If the application is unsigned, we ignore the tag and + * use a sandbox instead. + */ + if (signing == true) { + this.security = file.getSecurity(); + } else { + this.security = new SecurityDesc(file, + SecurityDesc.SANDBOX_PERMISSIONS, + codebase.getHost()); + } + } } /** From mwong at icedtea.classpath.org Tue Jan 19 11:53:38 2010 From: mwong at icedtea.classpath.org (mwong at icedtea.classpath.org) Date: Tue, 19 Jan 2010 19:53:38 +0000 Subject: /hg/icedtea: Assigned default values to certain non required att... Message-ID: changeset fadd1b656c20 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=fadd1b656c20 author: Man Lung Wong date: Tue Jan 19 14:56:40 2010 -0500 Assigned default values to certain non required attributes. diffstat: 4 files changed, 72 insertions(+), 50 deletions(-) ChangeLog | 16 +++ netx/net/sourceforge/jnlp/JNLPFile.java | 3 netx/net/sourceforge/jnlp/Parser.java | 28 ++--- netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 75 +++++++++------- diffs (230 lines): diff -r aa999f73a911 -r fadd1b656c20 ChangeLog --- a/ChangeLog Sun Jan 17 00:40:56 2010 +0100 +++ b/ChangeLog Tue Jan 19 14:56:40 2010 -0500 @@ -1,3 +1,19 @@ 2010-01-17 Matthias Klose + + * rt/net/sourceforge/jnlp/JNLPFile.java + (parser): Added a default value for sourceLocation to make sure it + is not null (location is never null). + * rt/net/sourceforge/jnlp/Parser.java: + Removed variable base, and replaced it with codebase. The fix ended + with base the same as codebase, hence no longer needed. Otherwise, + netxwill launch a jnlp file with codebase null and href not + null (not the way sun's webstart behaves). + * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java + (setSecurity): Added a variable codebase, which gets the value of + codebase attribute in the jnlp file if it exists. Otherwise, it gets + the value of the location of main jar resource (which needs to be + changed to the codebase portion instead of the entire location). + 2010-01-17 Matthias Klose * patches/icedtea-sparc-trapsfix.patch: Merged sparc headers diff -r aa999f73a911 -r fadd1b656c20 netx/net/sourceforge/jnlp/JNLPFile.java --- a/netx/net/sourceforge/jnlp/JNLPFile.java Sun Jan 17 00:40:56 2010 +0100 +++ b/netx/net/sourceforge/jnlp/JNLPFile.java Tue Jan 19 14:56:40 2010 -0500 @@ -559,8 +559,7 @@ public class JNLPFile { specVersion = parser.getSpecVersion(); fileVersion = parser.getFileVersion(); codeBase = parser.getCodeBase(); - sourceLocation = parser.getFileLocation(); - + sourceLocation = parser.getFileLocation() != null ? parser.getFileLocation() : location; info = parser.getInfo(root); resources = parser.getResources(root, false); // false == not a j2se/java resources section launchType = parser.getLauncher(root); diff -r aa999f73a911 -r fadd1b656c20 netx/net/sourceforge/jnlp/Parser.java --- a/netx/net/sourceforge/jnlp/Parser.java Sun Jan 17 00:40:56 2010 +0100 +++ b/netx/net/sourceforge/jnlp/Parser.java Tue Jan 19 14:56:40 2010 -0500 @@ -87,9 +87,6 @@ class Parser { /** the specification version */ private Version spec; - /** the base URL that all hrefs are relative to */ - private URL base; - /** the codebase URL */ private URL codebase; @@ -132,8 +129,8 @@ class Parser { // JNLP tag information this.spec = getVersion(root, "spec", "1.0+"); this.codebase = addSlash(getURL(root, "codebase", base)); - this.base = (codebase!=null) ? codebase : base; // if codebase not specified use default codebase - fileLocation = getURL(root, "href", this.base); + + fileLocation = getURL(root, "href", codebase); // ensure version is supported if (!supportedVersions.matchesAny(spec)) @@ -279,7 +276,7 @@ class Parser { */ public JREDesc getJRE(Node node) throws ParseException { Version version = getVersion(node, "version", null); - URL location = getURL(node, "href", base); + URL location = getURL(node, "href", codebase); String vmArgs = getAttribute(node, "java-vm-args",null); try { checkVMArgs(vmArgs); @@ -306,7 +303,7 @@ class Parser { */ public JARDesc getJAR(Node node) throws ParseException { boolean nativeJar = "nativelib".equals(node.getNodeName()); - URL location = getRequiredURL(node, "href", base); + URL location = getRequiredURL(node, "href", codebase); Version version = getVersion(node, "version", null); String part = getAttribute(node, "part", null); boolean main = "true".equals(getAttribute(node, "main", "false")); @@ -330,7 +327,7 @@ class Parser { public ExtensionDesc getExtension(Node node) throws ParseException { String name = getAttribute(node, "name", null); Version version = getVersion(node, "version", null); - URL location = getRequiredURL(node, "href", base); + URL location = getRequiredURL(node, "href", codebase); ExtensionDesc ext = new ExtensionDesc(name, version, location); @@ -433,7 +430,7 @@ class Parser { addInfo(info, child, kind, getSpanText(child)); } if ("homepage".equals(name)) - addInfo(info, child, null, getRequiredURL(child, "href", base)); + addInfo(info, child, null, getRequiredURL(child, "href", codebase)); if ("icon".equals(name)) addInfo(info, child, getAttribute(child, "kind", "default"), getIcon(child)); if ("offline-allowed".equals(name)) @@ -487,7 +484,7 @@ class Parser { int height = Integer.parseInt(getAttribute(node, "height", "-1")); int size = Integer.parseInt(getAttribute(node, "size", "-1")); int depth = Integer.parseInt(getAttribute(node, "depth", "-1")); - URL location = getRequiredURL(node, "href", base); + URL location = getRequiredURL(node, "href", codebase); Object kind = getAttribute(node, "kind", "default"); return new IconDesc(location, kind, width, height, depth, size); @@ -524,8 +521,8 @@ class Parser { else if (strict) throw new ParseException(R("PEmptySecurity")); - if (base != null) - return new SecurityDesc(file, type, base.getHost()); + if (codebase != null) + return new SecurityDesc(file, type, codebase.getHost()); else return new SecurityDesc(file, type, null); } @@ -592,7 +589,7 @@ class Parser { public AppletDesc getApplet(Node node) throws ParseException { String name = getRequiredAttribute(node, "name", R("PUnknownApplet")); String main = getRequiredAttribute(node, "main-class", null); - URL docbase = getURL(node, "documentbase", base); + URL docbase = getURL(node, "documentbase", codebase); Map paramMap = new HashMap(); int width = 0; int height = 0; @@ -724,7 +721,7 @@ class Parser { public RelatedContentDesc getRelatedContent(Node node) throws ParseException { getRequiredAttribute(node, "href", null); - URL location = getURL(node, "href", base); + URL location = getURL(node, "href", codebase); String title = null; String description = null; @@ -1176,8 +1173,7 @@ class Parser { final XMLElement xml = new XMLElement(); final PipedInputStream pin = new PipedInputStream(); final PipedOutputStream pout = new PipedOutputStream(pin); - final InputStreamReader isr = new InputStreamReader(input); - + final InputStreamReader isr = new InputStreamReader(input); // Clean the jnlp xml file of all comments before passing // it to the parser. new Thread( diff -r aa999f73a911 -r fadd1b656c20 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Sun Jan 17 00:40:56 2010 +0100 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Tue Jan 19 14:56:40 2010 -0500 @@ -167,39 +167,50 @@ public class JNLPClassLoader extends URL } private void setSecurity() { - /** - * When we're trying to load an applet, file.getSecurity() will return - * null since there is no jnlp file to specify permissions. We - * determine security settings here, after trying to verify jars. - */ - if (file instanceof PluginBridge) { - if (signing == true) { - this.security = new SecurityDesc(file, - SecurityDesc.ALL_PERMISSIONS, - file.getCodeBase().getHost()); - } else { - this.security = new SecurityDesc(file, - SecurityDesc.SANDBOX_PERMISSIONS, - file.getCodeBase().getHost()); - } - } else { //regular jnlp file + + URL codebase = null; + + if (file.getCodeBase() != null) { + codebase = file.getCodeBase(); + } else { + //Fixme: codebase should be the codebase of the Main Jar not + //the location. Although, it still works in the current state. + codebase = file.getResources().getMainJAR().getLocation(); + } + + /** + * When we're trying to load an applet, file.getSecurity() will return + * null since there is no jnlp file to specify permissions. We + * determine security settings here, after trying to verify jars. + */ + if (file instanceof PluginBridge) { + if (signing == true) { + this.security = new SecurityDesc(file, + SecurityDesc.ALL_PERMISSIONS, + codebase.getHost()); + } else { + this.security = new SecurityDesc(file, + SecurityDesc.SANDBOX_PERMISSIONS, + codebase.getHost()); + } + } else { //regular jnlp file - /** - * If the application is signed, then we set the SecurityDesc to the - * tag in the jnlp file. Note that if an application is - * signed, but there is no tag in the jnlp file, the - * application will get sandbox permissions. - * If the application is unsigned, we ignore the tag and - * use a sandbox instead. - */ - if (signing == true) { - this.security = file.getSecurity(); - } else { - this.security = new SecurityDesc(file, - SecurityDesc.SANDBOX_PERMISSIONS, - file.getCodeBase().getHost()); - } - } + /** + * If the application is signed, then we set the SecurityDesc to the + * tag in the jnlp file. Note that if an application is + * signed, but there is no tag in the jnlp file, the + * application will get sandbox permissions. + * If the application is unsigned, we ignore the tag and + * use a sandbox instead. + */ + if (signing == true) { + this.security = file.getSecurity(); + } else { + this.security = new SecurityDesc(file, + SecurityDesc.SANDBOX_PERMISSIONS, + codebase.getHost()); + } + } } /** From ed at camswl.com Tue Jan 19 09:45:50 2010 From: ed at camswl.com (ed at camswl.com) Date: Tue, 19 Jan 2010 17:45:50 GMT Subject: Request to commit to head: Thumb 2 JIT Message-ID: <201001191745.o0JHjoRl004761@mint.camswl.com> Hi folks, The following patch adds a Thumb2 JIT to the ARM port. As the diffs are quite large and may be truncated here, I have put a .gz of the diffs at http://mint.camswl.com/diffs_t2jit.gz The files affected are icedtea6/ports/hotspot/make/linux/makefiles/zeroshark.make icedtea6/ports/hotspot/src/cpu/zero/vm/asm_helper.cpp icedtea6/ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def icedtea6/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S icedtea6/ports/hotspot/src/cpu/zero/vm/thumb2.cpp (new file) The only non ARM file affected is zeroshark.make. The change here is to add the make rules for the Thumb2 JIT. The JIT does not build by default. The default build is still the ARM interpreter. To build the JIT Edit /ports/hotspot/make/linux/makefiles/zeroshark.make and add -DTHUMB2EE to the CFLAGS line. If you want to have a play with the JIT I have put pre build binaries at http://mint.camswl.com/j2re-image-jit.tar.bz2 http://mint.camswl.com/j2sdk-image-jit.tar.bz2 http://mint.camswl.com/libjvm-jit.so.bz2 These are hosted on my home computer and as such are using the uplink side of a DSL line so download will be SLOW (9 mins for j2re, 22 mins for j2sdk, 30 secs for libjvm). The images were build on Ubuntu karmic. I have tested the images on Ubuntu karmic, Ubuntu jaunty and Debian lenny. I have done a reasonable amount of testing on the JIT and it seems quite stable but is not quite ready for prime time as there are a number of infelicities. The testing I have done.. - Builds itself using --with-openjdk= - Passes all the 'compiler' and 'langtools' JTReg tests - Fails about the same number of 'jdk' JTReg tests as the interpreter - Passes the same CDC TCK tests as the interpreter except for 4 tests which are due to stack overflow testing. - Runs large applications such as Thunk Free Office. The known infelicities are as follows:- - Stack checking Checking of the Java stack is not implemented. - Notice safepoints The JITTed code ignores the 'Notice safepoint' call. This means that there is a very small possibility the the VM will 'lock up' when a GC is requested. I have never seen this happen. - The compiler is not MP safe I have run it successfully on a 4 core ARM A9 platform and seen no problems, however, I know there are windows where it can end up trying to use the same compile buffer to compile 2 methods at the same time. - For certain excessively large methods the compiler will generate an assertion failure. For this to happen there needs to be a tableswitch which generates > 32K code. I have never seen this happen in testing. If you are having a play with it you may find the following environmental variables useful. T2EE_PRINT_COMPILATION - Prints a line per method compiled if defined T2EE_PRINT_STATISTICS - Prints some compilation time and code size stats if defined T2EE_PRINT_DISASS - Disassembles the generated code T2EE_PRINT_REGUSAGE - Print the register assignment from regalloc. If you want to use T2EE_PRINT_DISASS options you will need to compile in the disassembler. Uncomment the following line in thumb2.cpp //#define T2EE_PRINT_DISASS You will also need to ensure that libopcodes is installed on your system (from package 'bfd'). There have been a number of changes to the interpreter alongside the addition of the JIT. These have generally been tidying up. - Removal of hard coded constants ISTATE_XXX and tos_XXXX. - Moved nore 'complex' asm code to C in asm_helper.cpp from cppInterpreter_asm.S The bytecodes affected are 'new', 'instanceof', 'checkcast', 'aastore'. In addition all the exception handling code has been moved to C. These changes will help may the interpreter more reliable between releases as the interpreter will not be subject to interface changes in the C code (for example, changes in the mangled names which has been a problem in the past). All changes included in and upto icedtes6-1.7 have been merged. The Thumb2 JIT will not build in conjunction with Shark or Cacao. I have tested the tested the interpreter build with Shark using the latest (ie SVN head as of 18/1/10) llvm. This seems to work OK. On non Thumb2 platforms (ie ARM arch < V7) the JIT will revert to the interpreter. I have tested this on ARM V5, but have been unable to test it on ARM V4 due to lack of hardware (I have tested the build with gcc 4.1 so it should build on V4 platforms). If anyone has access to V4 hw could the try it and let me know the results. OK to commit? Regards, Ed. --- CUT HERE -------------------------------------------------------------------------- diff -ruNE old/icedtea6/ports/hotspot/make/linux/makefiles/zeroshark.make new/icedtea6/ports/hotspot/make/linux/makefiles/zeroshark.make --- old/icedtea6/ports/hotspot/make/linux/makefiles/zeroshark.make 2010-01-19 15:29:04.000000000 +0000 +++ new/icedtea6/ports/hotspot/make/linux/makefiles/zeroshark.make 2010-01-19 15:42:27.000000000 +0000 @@ -29,6 +29,7 @@ Obj_Files += asm_helper.o Obj_Files += cppInterpreter_arm.o +Obj_Files += thumb2.o CFLAGS += -DHOTSPOT_ASM @@ -38,6 +39,7 @@ $(COMPILE.CC) -o $@ $< $(COMPILE_DONE) cppInterpreter_arm.o: offsets_arm.s bytecodes_arm.s +thumb2.o: offsets_arm.s offsets_arm.s: mkoffsets @echo Generating assembler offsets diff -ruNE old/icedtea6/ports/hotspot/src/cpu/zero/vm/asm_helper.cpp new/icedtea6/ports/hotspot/src/cpu/zero/vm/asm_helper.cpp --- old/icedtea6/ports/hotspot/src/cpu/zero/vm/asm_helper.cpp 2010-01-19 15:29:04.000000000 +0000 +++ new/icedtea6/ports/hotspot/src/cpu/zero/vm/asm_helper.cpp 2010-01-19 15:41:20.000000000 +0000 @@ -16,10 +16,60 @@ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "incls/_precompiled.incl" +#define ARCH_THUMBEE (1<<16) +#define ARCH_VFP (1<<17) +#define ARCH_CLZ (1<<18) #ifndef STATIC_OFFSETS +#include "incls/_bytecodeInterpreter.cpp.incl" + +#include +#include + +#define VECBUFF_SIZE 64 + +extern "C" unsigned hwcap(void) +{ + int fd; + unsigned vecs[VECBUFF_SIZE]; + unsigned *p; + int i, n; + unsigned rc = 0; + unsigned arch = 4; + + fd = open("/proc/self/auxv", O_RDONLY); + if (fd < 0) return 0; + do { + n = read(fd, vecs, VECBUFF_SIZE * sizeof(unsigned)); + p = vecs; + i = n/8; + while (--i >= 0) { + unsigned tag = *p++; + unsigned value = *p++; + if (tag == 0) goto fini; + if (tag == AT_HWCAP) { + if (value & HWCAP_THUMBEE) rc |= ARCH_THUMBEE; + if (value & HWCAP_VFP) rc |= ARCH_VFP; + } else if (tag == AT_PLATFORM) { + const char *s = (const char *)value; + int c; + + if (*s++ == 'v') { + arch = 0; + while ((isdigit)(c = *s++)) arch = arch * 10 + c - '0'; + } + } + } + } while (n == VECBUFF_SIZE * sizeof(unsigned)); +fini: + close(fd); +// printf("arch = %d, rc = 0x%08x\n", arch, rc); + if (arch >= 5) rc |= ARCH_CLZ; + if (arch >= 7) rc |= ARCH_THUMBEE; + return rc | (1<obj_at_addr(index); + } +}; + +extern "C" oop Helper_new(interpreterState istate, unsigned index) +{ + JavaThread *thread = istate->thread(); + + constantPoolOop constants = istate->method()->constants(); + oop result = NULL; + if (!constants->tag_at(index).is_unresolved_klass()) { + // Make sure klass is initialized and doesn't have a finalizer + oop entry = VMStructs::klass_at_addr(constants, index); + klassOop k_entry = (klassOop) entry; + instanceKlass* ik = (instanceKlass*) k_entry->klass_part(); + if ( ik->is_initialized() && ik->can_be_fastpath_allocated() ) { + size_t obj_size = ik->size_helper(); + // If the TLAB isn't pre-zeroed then we'll have to do it + bool need_zero = !ZeroTLAB; + if (UseTLAB) { + result = (oop) thread->tlab().allocate(obj_size); + } + if (result == NULL) { + need_zero = true; + // Try allocate in shared eden + retry: + HeapWord* compare_to = *Universe::heap()->top_addr(); + HeapWord* new_top = compare_to + obj_size; + if (new_top <= *Universe::heap()->end_addr()) { + if (Atomic::cmpxchg_ptr(new_top, Universe::heap()->top_addr(), compare_to) != compare_to) { + goto retry; + } + result = (oop) compare_to; + } + } + if (result != NULL) { + // Initialize object (if nonzero size and need) and then the header + if (need_zero ) { + HeapWord* to_zero = (HeapWord*) result + sizeof(oopDesc) / oopSize; + obj_size -= sizeof(oopDesc) / oopSize; + if (obj_size > 0 ) { + memset(to_zero, 0, obj_size * HeapWordSize); + } + } + if (UseBiasedLocking) { + result->set_mark(ik->prototype_header()); + } else { + result->set_mark(markOopDesc::prototype()); + } + result->set_klass_gap(0); + result->set_klass(k_entry); + return result; + } + } + } + // Slow case allocation + InterpreterRuntime::_new(thread, istate->method()->constants(), index); + result = thread->vm_result(); + thread->set_vm_result(NULL); + return result; +} + +extern "C" int Helper_instanceof(interpreterState istate, unsigned index, oop tos) +{ + if (tos == NULL) return 0; + + // Constant pool may have actual klass or unresolved klass. If it is + // unresolved we must resolve it + if (istate->method()->constants()->tag_at(index).is_unresolved_klass()) { + InterpreterRuntime::quicken_io_cc(istate->thread()); + if (istate->thread()->has_pending_exception()) return 0; + } + klassOop klassOf = VMStructs::klass_at_addr(istate->method()->constants(), index); + klassOop objKlassOop = tos->klass(); + // + // Check for compatibilty. This check must not GC!! + // Seems way more expensive now that we must dispatch + // + return objKlassOop == klassOf || objKlassOop->klass_part()->is_subtype_of(klassOf); +} + +extern "C" oop Helper_checkcast(interpreterState istate, unsigned index, oop tos) +{ + if (tos == NULL) return NULL; + + // Constant pool may have actual klass or unresolved klass. If it is + // unresolved we must resolve it + if (istate->method()->constants()->tag_at(index).is_unresolved_klass()) { + oop except_oop; + InterpreterRuntime::quicken_io_cc(istate->thread()); + if (except_oop = istate->thread()->pending_exception()) return except_oop; + } + klassOop klassOf = VMStructs::klass_at_addr(istate->method()->constants(), index); + klassOop objKlassOop = tos->klass(); //ebx + // + // Check for compatibilty. This check must not GC!! + // Seems way more expensive now that we must dispatch + // + if (objKlassOop != klassOf && !objKlassOop->klass_part()->is_subtype_of(klassOf)) { + ResourceMark rm(istate->thread()); + const char* objName = Klass::cast(objKlassOop)->external_name(); + const char* klassName = Klass::cast(klassOf)->external_name(); + char* message = SharedRuntime::generate_class_cast_message(objName, klassName); + ThreadInVMfromJava trans(istate->thread()); + HELPER_THROW(istate->thread(), vmSymbols::java_lang_ClassCastException(), message); + } + return istate->thread()->pending_exception(); +} + +extern "C" oop Helper_aastore(interpreterState istate, oop value, int index, arrayOop arrayref) +{ + if (arrayref == NULL) { + ThreadInVMfromJava trans(istate->thread()); + HELPER_THROW(istate->thread(), vmSymbols::java_lang_NullPointerException(), ""); + } else if ((uint32_t)index >= (uint32_t)arrayref->length()) { + char message[jintAsStringSize]; + sprintf(message, "%d", index); + HELPER_THROW(istate->thread(), vmSymbols::java_lang_ArrayIndexOutOfBoundsException(), message); + } else { + if (value != NULL) { + /* Check assignability of value into arrayref */ + klassOop rhsKlassOop = value->klass(); // EBX (subclass) + klassOop elemKlassOop = ((objArrayKlass*) arrayref->klass()->klass_part())->element_klass(); + // + // Check for compatibilty. This check must not GC!! + // Seems way more expensive now that we must dispatch + // + if (rhsKlassOop != elemKlassOop && !rhsKlassOop->klass_part()->is_subtype_of(elemKlassOop)) { + HELPER_THROW(istate->thread(), vmSymbols::java_lang_ArrayStoreException(), ""); + goto handle_exception; + } + } + oop* elem_loc = (oop*)(((address) arrayref->base(T_OBJECT)) + index * sizeof(oop)); + // *(oop*)(((address) arrayref->base(T_OBJECT)) + index * sizeof(oop)) = value; + *elem_loc = value; + // Mark the card + BarrierSet* bs = Universe::heap()->barrier_set(); + static volatile jbyte* _byte_map_base = (volatile jbyte*)(((CardTableModRefBS*)bs)->byte_map_base); + OrderAccess::release_store(&_byte_map_base[(uintptr_t)elem_loc >> CardTableModRefBS::card_shift], 0); + } +handle_exception: + return istate->thread()->pending_exception(); +} + +extern "C" void Helper_aputfield(oop obj) +{ + BarrierSet* bs = Universe::heap()->barrier_set(); + static volatile jbyte* _byte_map_base = (volatile jbyte*)(((CardTableModRefBS*)bs)->byte_map_base); + OrderAccess::release_store(&_byte_map_base[(uintptr_t)obj >> CardTableModRefBS::card_shift], 0); +} + +extern "C" oop Helper_synchronized_enter(JavaThread *thread, BasicObjectLock *mon) +{ + BasicLock *lock = mon->lock(); + markOop displaced = lock->displaced_header(); + + if (thread->is_lock_owned((address)displaced->clear_lock_bits())) + lock->set_displaced_header(NULL); + else + InterpreterRuntime::monitorenter(thread, mon); + return thread->pending_exception(); +} + +extern "C" oop Helper_synchronized_exit(JavaThread *thread, BasicObjectLock *mon) +{ + { + HandleMark __hm(thread); + if (mon->obj() == NULL) + InterpreterRuntime::throw_illegal_monitor_state_exception(thread); + else + InterpreterRuntime::monitorexit(thread, mon); + } + return thread->pending_exception(); +} + +extern "C" oop Helper_SafePoint(JavaThread *thread) +{ + { + HandleMarkCleaner __hmc(thread); + } + SafepointSynchronize::block(thread); + return thread->pending_exception(); +} + +extern "C" void Helper_RaiseArrayBoundException(JavaThread *thread, int index) +{ + char message[jintAsStringSize]; + sprintf(message, "%d", index); + { + ThreadInVMfromJava trans(thread); + Exceptions::_throw_msg(thread, "[Bytecoce Interpreter]", 99, + vmSymbols::java_lang_ArrayIndexOutOfBoundsException(), message); + } +} + +extern "C" void Helper_Raise(JavaThread *thread, symbolOopDesc *name, char const *msg) +{ + ThreadInVMfromJava trans(thread); + Exceptions::_throw_msg(thread, "[Bytecoce Interpreter]", 99, name, msg); +} + +extern "C" void Helper_RaiseIllegalMonitorException(JavaThread *thread) +{ + HandleMark __hm(thread); + InterpreterRuntime::throw_illegal_monitor_state_exception(thread); +} + +extern "C" address Helper_HandleException(interpreterState istate, JavaThread *thread) +{ + HandleMarkCleaner __hmc(thread); + Handle except_oop(thread, thread->pending_exception()); + HandleMark __hm(thread); + intptr_t continuation_bci; + intptr_t *topOfStack; + address pc; + + thread->clear_pending_exception(); + continuation_bci = (intptr_t)InterpreterRuntime::exception_handler_for_exception(thread, except_oop()); + except_oop = (oop) thread->vm_result(); + thread->set_vm_result(NULL); + if (continuation_bci >= 0) { + topOfStack = (intptr_t *)istate->stack(); + *topOfStack-- = (intptr_t)except_oop(); + istate->set_stack(topOfStack); + pc = istate->method()->code_base() + continuation_bci; +#if 0 + tty->print_cr("Exception <%s> (" INTPTR_FORMAT ")", Klass::cast(except_oop->klass())->external_name(), except_oop()); + tty->print_cr(" thrown in interpreter method <%s>", istate->method()->name_and_sig_as_C_string()); + tty->print_cr(" at bci %d, continuing at %d for thread " INTPTR_FORMAT, + pc - (intptr_t)istate->method()->code_base(), + continuation_bci, thread); +#endif + return pc; + } +#if 0 + tty->print_cr("Exception <%s> (" INTPTR_FORMAT ")", Klass::cast(except_oop->klass())->external_name(), except_oop()); + tty->print_cr(" thrown in interpreter method <%s>", istate->method()->name_and_sig_as_C_string()); + tty->print_cr(" at bci %d, unwinding for thread " INTPTR_FORMAT, + pc - (intptr_t) istate->method()->code_base(), + thread); +#endif + thread->set_pending_exception(except_oop(), NULL, 0); + return 0; +} + #endif // STATIC_OFFSETS #ifdef STATIC_OFFSETS +#include "incls/_precompiled.incl" + class VMStructs { public: static void print_vm_offsets(void); @@ -57,6 +359,7 @@ void print_def(const char *s, int v) { + fprintf(outfile, "#undef %-40s\n", s); fprintf(outfile, "#define %-40s 0x%02x\n", s, v); } @@ -65,80 +368,115 @@ fputc('\n', outfile); } +// ZeroFrame is not friends with VMStructs, but it is with ZeroStackPrinter +class ZeroStackPrinter { +public: + static void print_vm_offsets(void); +}; + +void ZeroStackPrinter::print_vm_offsets(void) +{ + print_def("INTERPRETER_FRAME", ZeroFrame::INTERPRETER_FRAME); +} + void VMStructs::print_vm_offsets(void) { - print_def("THREAD_PENDING_EXC", offset_of(JavaThread, _pending_exception)); - print_def("THREAD_SUSPEND_FLAGS", offset_of(JavaThread, _suspend_flags)); - print_def("THREAD_ACTIVE_HANDLES", offset_of(JavaThread, _active_handles)); - print_def("THREAD_LAST_HANDLE_MARK", offset_of(JavaThread, _last_handle_mark)); - print_def("THREAD_TLAB_TOP", offset_of(JavaThread, _tlab) + offset_of(ThreadLocalAllocBuffer, _top)); - print_def("THREAD_TLAB_END", offset_of(JavaThread, _tlab) + offset_of(ThreadLocalAllocBuffer, _end)); - print_def("THREAD_RESOURCEAREA", offset_of(JavaThread, _resource_area)); - print_def("THREAD_HANDLE_AREA", offset_of(JavaThread, _handle_area)); - print_def("THREAD_STACK_BASE", offset_of(JavaThread, _stack_base)); - print_def("THREAD_STACK_SIZE", offset_of(JavaThread, _stack_size)); - print_def("THREAD_LAST_JAVA_SP", offset_of(JavaThread, _anchor) + offset_of(JavaFrameAnchor, _last_Java_sp)); - print_def("THREAD_JNI_ENVIRONMENT", offset_of(JavaThread, _jni_environment)); - print_def("THREAD_VM_RESULT", offset_of(JavaThread, _vm_result)); - print_def("THREAD_STATE", offset_of(JavaThread, _thread_state)); - print_def("THREAD_DO_NOT_UNLOCK", offset_of(JavaThread, _do_not_unlock_if_synchronized)); - - print_def("THREAD_JAVA_STACK_BASE", offset_of(JavaThread, _zero_stack) + in_bytes(ZeroStack::base_offset())); - print_def("THREAD_JAVA_SP", offset_of(JavaThread, _zero_stack) + in_bytes(ZeroStack::sp_offset())); - print_def("THREAD_TOP_ZERO_FRAME", offset_of(JavaThread, _top_zero_frame)); - print_def("THREAD_SPECIALRUNTIMEEXITCONDITION", offset_of(JavaThread, _special_runtime_exit_condition)); - nl(); - print_def("_thread_external_suspend", Thread::_external_suspend); - print_def("_thread_ext_suspended", Thread::_ext_suspended); - print_def("_thread_deopt_suspend", Thread::_deopt_suspend); - nl(); - print_def("METHOD_CONSTMETHOD", offset_of(methodOopDesc, _constMethod)); - print_def("METHOD_CONSTANTS", offset_of(methodOopDesc, _constants)); - print_def("METHOD_METHODDATA", offset_of(methodOopDesc, _method_data)); - print_def("METHOD_INVOKECOUNT", offset_of(methodOopDesc, _interpreter_invocation_count)); - print_def("METHOD_ACCESSFLAGS", offset_of(methodOopDesc, _access_flags)); - print_def("METHOD_VTABLEINDEX", offset_of(methodOopDesc, _vtable_index)); - print_def("METHOD_RESULTINDEX", offset_of(methodOopDesc, _result_index)); - print_def("METHOD_METHODSIZE", offset_of(methodOopDesc, _method_size)); - print_def("METHOD_MAXSTACK", offset_of(methodOopDesc, _max_stack)); - print_def("METHOD_MAXLOCALS", offset_of(methodOopDesc, _max_locals)); - print_def("METHOD_SIZEOFPARAMETERS", offset_of(methodOopDesc, _size_of_parameters)); - print_def("METHOD_INVOCATIONCOUNTER", offset_of(methodOopDesc, _invocation_counter)); - print_def("METHOD_BACKEDGECOUNTER", offset_of(methodOopDesc, _backedge_counter)); - print_def("METHOD_FROM_INTERPRETED", offset_of(methodOopDesc, _from_interpreted_entry)); - // ECN: These two appear to be just tagged onto the end of the class - print_def("METHOD_NATIVEHANDLER", sizeof(methodOopDesc)); - print_def("METHOD_SIGNATUREHANDLER", sizeof(methodOopDesc)+4); - nl(); - print_def("CONSTMETHOD_CODESIZE", offset_of(constMethodOopDesc, _code_size)); - print_def("CONSTMETHOD_CODEOFFSET", sizeof(constMethodOopDesc)); - nl(); - print_def("JNIHANDLEBLOCK_TOP", offset_of(JNIHandleBlock, _top)); - nl(); - print_def("KLASS_PART", klassOopDesc::klass_part_offset_in_bytes()); - print_def("KLASS_ACCESSFLAGS", offset_of(Klass, _access_flags)); - print_def("INSTANCEKLASS_INITSTATE", offset_of(instanceKlass, _init_state)); - print_def("INSTANCEKLASS_VTABLE_LEN", offset_of(instanceKlass, _vtable_len)); - print_def("INSTANCEKLASS_ITABLE_LEN", offset_of(instanceKlass, _itable_len)); - print_def("INSTANCEKLASS_VTABLE_OFFSET", instanceKlass::vtable_start_offset() * sizeof(int *)); - print_def("OBJARRAYKLASS_ELEMENTKLASS", offset_of(objArrayKlass, _element_klass)); - nl(); - print_def("CONSTANTPOOL_TAGS", offset_of(constantPoolOopDesc, _tags)); - print_def("CONSTANTPOOL_CACHE", offset_of(constantPoolOopDesc, _cache)); - print_def("CONSTANTPOOL_BASE", sizeof(constantPoolOopDesc)); - nl(); - print_def("CP_OFFSET", in_bytes(constantPoolCacheOopDesc::base_offset())); - nl(); - print_def("BASE_OFFSET_BYTE", arrayOopDesc::base_offset_in_bytes(T_BYTE)); - print_def("BASE_OFFSET_SHORT", arrayOopDesc::base_offset_in_bytes(T_SHORT)); - print_def("BASE_OFFSET_WORD", arrayOopDesc::base_offset_in_bytes(T_INT)); - print_def("BASE_OFFSET_LONG", arrayOopDesc::base_offset_in_bytes(T_LONG)); - nl(); - print_def("SIZEOF_HANDLEMARK", sizeof(HandleMark)); + print_def("ISTATE_THREAD", offset_of(BytecodeInterpreter, _thread)); + print_def("ISTATE_BCP", offset_of(BytecodeInterpreter, _bcp)); + print_def("ISTATE_LOCALS", offset_of(BytecodeInterpreter, _locals)); + print_def("ISTATE_CONSTANTS", offset_of(BytecodeInterpreter, _constants)); + print_def("ISTATE_METHOD", offset_of(BytecodeInterpreter, _method)); + print_def("ISTATE_STACK", offset_of(BytecodeInterpreter, _stack)); + print_def("ISTATE_MSG", offset_of(BytecodeInterpreter, _msg)); + print_def("ISTATE_OOP_TEMP", offset_of(BytecodeInterpreter, _oop_temp)); + print_def("ISTATE_STACK_BASE",offset_of(BytecodeInterpreter, _stack_base)); + print_def("ISTATE_STACK_LIMIT",offset_of(BytecodeInterpreter, _stack_limit)); + print_def("ISTATE_MONITOR_BASE",offset_of(BytecodeInterpreter, _monitor_base)); + print_def("ISTATE_SELF_LINK", offset_of(BytecodeInterpreter, _self_link)); + print_def("ISTATE_FRAME_TYPE", sizeof(BytecodeInterpreter) + 0); + print_def("ISTATE_NEXT_FRAME", sizeof(BytecodeInterpreter) + 4); + print_def("FRAME_SIZE", sizeof(BytecodeInterpreter) + 8); + nl(); + ZeroStackPrinter::print_vm_offsets(); + nl(); + print_def("THREAD_PENDING_EXC", offset_of(JavaThread, _pending_exception)); + print_def("THREAD_SUSPEND_FLAGS", offset_of(JavaThread, _suspend_flags)); + print_def("THREAD_ACTIVE_HANDLES", offset_of(JavaThread, _active_handles)); + print_def("THREAD_LAST_HANDLE_MARK", offset_of(JavaThread, _last_handle_mark)); + print_def("THREAD_TLAB_TOP", offset_of(JavaThread, _tlab) + offset_of(ThreadLocalAllocBuffer, _top)); + print_def("THREAD_TLAB_END", offset_of(JavaThread, _tlab) + offset_of(ThreadLocalAllocBuffer, _end)); + print_def("THREAD_RESOURCEAREA", offset_of(JavaThread, _resource_area)); + print_def("THREAD_HANDLE_AREA", offset_of(JavaThread, _handle_area)); + print_def("THREAD_STACK_BASE", offset_of(JavaThread, _stack_base)); + print_def("THREAD_STACK_SIZE", offset_of(JavaThread, _stack_size)); + print_def("THREAD_LAST_JAVA_SP", offset_of(JavaThread, _anchor) + offset_of(JavaFrameAnchor, _last_Java_sp)); + print_def("THREAD_JNI_ENVIRONMENT", offset_of(JavaThread, _jni_environment)); + print_def("THREAD_VM_RESULT", offset_of(JavaThread, _vm_result)); + print_def("THREAD_STATE", offset_of(JavaThread, _thread_state)); + print_def("THREAD_DO_NOT_UNLOCK", offset_of(JavaThread, _do_not_unlock_if_synchronized)); + + print_def("THREAD_JAVA_STACK_BASE", offset_of(JavaThread, _zero_stack) + in_bytes(ZeroStack::base_offset())); + print_def("THREAD_JAVA_SP", offset_of(JavaThread, _zero_stack) + in_bytes(ZeroStack::sp_offset())); + print_def("THREAD_TOP_ZERO_FRAME", offset_of(JavaThread, _top_zero_frame)); + print_def("THREAD_SPECIALRUNTIMEEXITCONDITION", offset_of(JavaThread, _special_runtime_exit_condition)); + nl(); + print_def("_thread_external_suspend", Thread::_external_suspend); + print_def("_thread_ext_suspended", Thread::_ext_suspended); + print_def("_thread_deopt_suspend", Thread::_deopt_suspend); + nl(); + print_def("METHOD_CONSTMETHOD", offset_of(methodOopDesc, _constMethod)); + print_def("METHOD_CONSTANTS", offset_of(methodOopDesc, _constants)); + print_def("METHOD_METHODDATA", offset_of(methodOopDesc, _method_data)); + print_def("METHOD_INVOKECOUNT", offset_of(methodOopDesc, _interpreter_invocation_count)); + print_def("METHOD_ACCESSFLAGS", offset_of(methodOopDesc, _access_flags)); + print_def("METHOD_VTABLEINDEX", offset_of(methodOopDesc, _vtable_index)); + print_def("METHOD_RESULTINDEX", offset_of(methodOopDesc, _result_index)); + print_def("METHOD_METHODSIZE", offset_of(methodOopDesc, _method_size)); + print_def("METHOD_MAXSTACK", offset_of(methodOopDesc, _max_stack)); + print_def("METHOD_MAXLOCALS", offset_of(methodOopDesc, _max_locals)); + print_def("METHOD_SIZEOFPARAMETERS", offset_of(methodOopDesc, _size_of_parameters)); + print_def("METHOD_INVOCATIONCOUNTER", offset_of(methodOopDesc, _invocation_counter)); + print_def("METHOD_BACKEDGECOUNTER", offset_of(methodOopDesc, _backedge_counter)); + print_def("METHOD_FROM_INTERPRETED", offset_of(methodOopDesc, _from_interpreted_entry)); + // ECN: These two appear to be just tagged onto the end of the class + print_def("METHOD_NATIVEHANDLER", sizeof(methodOopDesc)); + print_def("METHOD_SIGNATUREHANDLER", sizeof(methodOopDesc)+4); + nl(); + print_def("CONSTMETHOD_CODESIZE", offset_of(constMethodOopDesc, _code_size)); + print_def("CONSTMETHOD_CODEOFFSET", sizeof(constMethodOopDesc)); + nl(); + print_def("JNIHANDLEBLOCK_TOP", offset_of(JNIHandleBlock, _top)); + nl(); + print_def("KLASS_PART", klassOopDesc::klass_part_offset_in_bytes()); + print_def("KLASS_ACCESSFLAGS", offset_of(Klass, _access_flags)); + print_def("KLASS_JAVA_MIRROR", offset_of(Klass, _java_mirror)); + print_def("INSTANCEKLASS_INITSTATE", offset_of(instanceKlass, _init_state)); + print_def("INSTANCEKLASS_VTABLE_LEN", offset_of(instanceKlass, _vtable_len)); + print_def("INSTANCEKLASS_ITABLE_LEN", offset_of(instanceKlass, _itable_len)); + print_def("INSTANCEKLASS_VTABLE_OFFSET", instanceKlass::vtable_start_offset() * sizeof(int *)); + print_def("OBJARRAYKLASS_ELEMENTKLASS", offset_of(objArrayKlass, _element_klass)); + nl(); + print_def("CONSTANTPOOL_TAGS", offset_of(constantPoolOopDesc, _tags)); + print_def("CONSTANTPOOL_CACHE", offset_of(constantPoolOopDesc, _cache)); + print_def("CONSTANTPOOL_POOL_HOLDER", offset_of(constantPoolOopDesc, _pool_holder)); + print_def("CONSTANTPOOL_BASE", sizeof(constantPoolOopDesc)); + nl(); + print_def("CP_OFFSET", in_bytes(constantPoolCacheOopDesc::base_offset())); + nl(); + print_def("BASE_OFFSET_BYTE", arrayOopDesc::base_offset_in_bytes(T_BYTE)); + print_def("BASE_OFFSET_SHORT", arrayOopDesc::base_offset_in_bytes(T_SHORT)); + print_def("BASE_OFFSET_WORD", arrayOopDesc::base_offset_in_bytes(T_INT)); + print_def("BASE_OFFSET_LONG", arrayOopDesc::base_offset_in_bytes(T_LONG)); + nl(); + print_def("SIZEOF_HANDLEMARK", sizeof(HandleMark)); } int main(void) { + print_def("ARCH_VFP", ARCH_VFP); + print_def("ARCH_THUMBEE", ARCH_THUMBEE); + print_def("ARCH_CLZ", ARCH_CLZ); + nl(); print_def("JVM_CONSTANT_Utf8", JVM_CONSTANT_Utf8); print_def("JVM_CONSTANT_Unicode", JVM_CONSTANT_Unicode); print_def("JVM_CONSTANT_Integer", JVM_CONSTANT_Integer); @@ -190,6 +528,15 @@ print_def("T_ARRAY", T_ARRAY); print_def("T_VOID", T_VOID); nl(); + print_def("tos_btos", btos); + print_def("tos_ctos", ctos); + print_def("tos_stos", stos); + print_def("tos_itos", itos); + print_def("tos_ltos", ltos); + print_def("tos_ftos", ftos); + print_def("tos_dtos", dtos); + print_def("tos_atos", atos); + nl(); print_def("_thread_uninitialized", _thread_uninitialized); print_def("_thread_new", _thread_new); print_def("_thread_new_trans", _thread_new_trans); diff -ruNE old/icedtea6/ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def new/icedtea6/ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def --- old/icedtea6/ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def 2010-01-19 15:29:04.000000000 +0000 +++ new/icedtea6/ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def 2010-01-19 15:41:58.000000000 +0000 @@ -267,8 +267,6 @@ @return_register_finalizer = 0xe5, 1 -dmac = 0xe6, 2 - iload_0_iconst_N = 0xe7, 2 iload_1_iconst_N = 0xe8, 2 iload_2_iconst_N = 0xe9, 2 @@ -967,7 +965,7 @@ } (frem) frem { -@ ECN: It must be possible to do better than this +@ It must be possible to do better than this POP r0 bl __aeabi_f2d PUSH r0, r1 @@ -1336,166 +1334,138 @@ @ r2 = [jpc, #1] @ r1 = [jpc, #2] (ifeq,ifnull) ifeq_unsafe { - ldrb r1, [jpc, #2] POP r3 - mov r2, r2, lsl #24 + ldrb r1, [jpc, #2] cmp r3, #0 - orr ip, r1, r2, asr #16 beq 1f - mov ip, #3 + DISPATCH 3 1: + mov r2, r2, lsl #24 + orr ip, r1, r2, asr #16 ldrb r0, [jpc, ip]! DISPATCH_BYTECODE } (ifne,ifnonnull) ifne_unsafe { - ldrb r1, [jpc, #2] POP r3 - mov r2, r2, lsl #24 + ldrb r1, [jpc, #2] cmp r3, #0 - orr ip, r1, r2, asr #16 bne 1f - mov ip, #3 + DISPATCH 3 1: + mov r2, r2, lsl #24 + orr ip, r1, r2, asr #16 ldrb r0, [jpc, ip]! DISPATCH_BYTECODE } (iflt) iflt_unsafe { - ldrb r1, [jpc, #2] POP r3 - mov r2, r2, lsl #24 + ldrb r1, [jpc, #2] cmp r3, #0 - orr ip, r1, r2, asr #16 blt 1f - mov ip, #3 + DISPATCH 3 1: + mov r2, r2, lsl #24 + orr ip, r1, r2, asr #16 ldrb r0, [jpc, ip]! DISPATCH_BYTECODE } (ifge) ifge_unsafe { - ldrb r1, [jpc, #2] POP r3 - mov r2, r2, lsl #24 + ldrb r1, [jpc, #2] cmp r3, #0 - orr ip, r1, r2, asr #16 bge 1f - mov ip, #3 + DISPATCH 3 1: + mov r2, r2, lsl #24 + orr ip, r1, r2, asr #16 ldrb r0, [jpc, ip]! DISPATCH_BYTECODE } (ifgt) ifgt_unsafe { - ldrb r1, [jpc, #2] POP r3 - mov r2, r2, lsl #24 + ldrb r1, [jpc, #2] cmp r3, #0 - orr ip, r1, r2, asr #16 bgt 1f - mov ip, #3 + DISPATCH 3 1: + mov r2, r2, lsl #24 + orr ip, r1, r2, asr #16 ldrb r0, [jpc, ip]! DISPATCH_BYTECODE } (ifle) ifle_unsafe { - ldrb r1, [jpc, #2] POP r3 - mov r2, r2, lsl #24 + ldrb r1, [jpc, #2] cmp r3, #0 - orr ip, r1, r2, asr #16 ble 1f - mov ip, #3 + DISPATCH 3 1: + mov r2, r2, lsl #24 + orr ip, r1, r2, asr #16 ldrb r0, [jpc, ip]! DISPATCH_BYTECODE } (if_icmpeq,if_acmpeq) if_icmpeq_unsafe { - ldrb r1, [jpc, #2] POP r3, tmp1 - mov r2, r2, lsl #24 + ldrb r1, [jpc, #2] cmp tmp1, r3 - orr ip, r1, r2, asr #16 - beq 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + beq branch_taken_unsafe + DISPATCH 3 } (if_icmpne,if_acmpne) if_icmpne_unsafe { - ldrb r1, [jpc, #2] POP r3, tmp1 - mov r2, r2, lsl #24 + ldrb r1, [jpc, #2] cmp tmp1, r3 - orr ip, r1, r2, asr #16 - bne 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bne branch_taken_unsafe + DISPATCH 3 } (if_icmplt) if_icmplt_unsafe { - ldrb r1, [jpc, #2] POP r3, tmp1 - mov r2, r2, lsl #24 + ldrb r1, [jpc, #2] cmp tmp1, r3 - orr ip, r1, r2, asr #16 - blt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + blt branch_taken_unsafe + DISPATCH 3 } (if_icmpge) if_icmpge_unsafe { - ldrb r1, [jpc, #2] POP r3, tmp1 - mov r2, r2, lsl #24 + ldrb r1, [jpc, #2] cmp tmp1, r3 - orr ip, r1, r2, asr #16 - bge 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bge branch_taken_unsafe + DISPATCH 3 } (if_icmpgt) if_icmpgt_unsafe { - ldrb r1, [jpc, #2] POP r3, tmp1 - mov r2, r2, lsl #24 + ldrb r1, [jpc, #2] cmp tmp1, r3 - orr ip, r1, r2, asr #16 - bgt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bgt branch_taken_unsafe + DISPATCH 3 } (if_icmple) if_icmple_unsafe { - ldrb r1, [jpc, #2] POP r3, tmp1 - mov r2, r2, lsl #24 + ldrb r1, [jpc, #2] cmp tmp1, r3 - orr ip, r1, r2, asr #16 - ble 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + ble branch_taken_unsafe + DISPATCH 3 } (goto) goto_unsafe { ldrb r1, [jpc, #2] mov r2, r2, lsl #24 - orr ip, r1, r2, asr #16 - DISPATCH_START_REG ip + orr tmp1, r1, r2, asr #16 + DISPATCH_START_REG tmp1 + USEC cmp tmp1, #0 + USEC ble do_backedge DISPATCH_BYTECODE } @@ -1520,7 +1490,7 @@ DISPATCH 48 } -@ ECN: We dont do safe and unsafe versions of tableswitch and lookupswitch +@ We dont do safe and unsafe versions of tableswitch and lookupswitch (tableswitch) tableswitch { POP a2 bic a1, jpc, #3 @@ -1752,28 +1722,17 @@ (aputfield) aputfield { ldrb r1, [jpc, #2] - GET_STACK 1, r0 @ r0 = object - POP oop_value_tmp @ r1 = value - add r3, constpool, r1, lsl #12 - add r3, r3, r2, lsl #4 - ldr r3, [r3, #CP_OFFSET+8] - SW_NPC cmp r0, #0 - add oop_address_tmp, r0, r3 - SW_NPC beq null_ptr_exception + POP r3, tmp1 @ r3 = value, tmp1 = object + add tmp2, constpool, r1, lsl #12 + add tmp2, tmp2, r2, lsl #4 + SW_NPC cmp tmp1, #0 + SW_NPC beq null_ptr_exception_jpc_3 + ldr tmp2, [tmp2, #CP_OFFSET+8] .abortentry113: - HW_NPC ldr ip, [r0] @ Only to provoke an abort - bl oop_store - ldr r3, [dispatch, #Universe_collectedHeap_Address-XXX] - DISPATCH_START 3 - POP r2 - ldr r3, [r3, #0] - DISPATCH_NEXT - ldr r3, [r3, #12] - DISPATCH_NEXT - ldr r3, [r3, #76] - mov tmp2, #0 - strb tmp2, [r3, r2, lsr #9] - DISPATCH_FINISH + str r3, [tmp1, tmp2] + mov r0, tmp1 + bl Helper_aputfield + DISPATCH 3 } (lputfield) lputfield { @@ -1862,29 +1821,11 @@ add r1, r2, #4 str r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - ldr ip, [istate, #ISTATE_ADVANCE_PC] - ldr istate, [istate, #ISTATE_NEXT_FRAME] add stack, r1, r0, lsl #2 - cmp ip, #0 - beq normal_return - sub istate, istate, #ISTATE_NEXT_FRAME + str stack, [tmp_xxx, #THREAD_JAVA_SP] - CACHE_JPC - ldr r2, [istate, #ISTATE_STACK_LIMIT] - DISPATCH_START_REG ip - sub stack, stack, #4 - ldr r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - DISPATCH_NEXT - add r2, r2, #4 - DISPATCH_NEXT - str r2, [tmp_xxx, #THREAD_JAVA_SP] - DISPATCH_NEXT - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] - CACHE_CP - CACHE_LOCALS - DISPATCH_NEXT - DISPATCH_FINISH + ldmfd arm_sp!, {fast_regset, pc} 1: bl return_check_monitors b 2b @@ -1909,30 +1850,12 @@ ldr r3, [stack, #0] ldrh r0, [r0, #40] - ldr ip, [istate, #ISTATE_ADVANCE_PC] - ldr istate, [istate, #ISTATE_NEXT_FRAME] str r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] str r1, [stack, r0, lsl #2]! - cmp ip, #0 - beq normal_return - sub istate, istate, #ISTATE_NEXT_FRAME + str stack, [tmp_xxx, #THREAD_JAVA_SP] - CACHE_JPC - ldr r2, [istate, #ISTATE_STACK_LIMIT] - DISPATCH_START_REG ip - sub stack, stack, #4 - ldr r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - DISPATCH_NEXT @ ldrb r1, [jpc, #2] - add r2, r2, #4 - DISPATCH_NEXT @ ldr ip, [dispatch, r0, lsl #2] - str r2, [tmp_xxx, #THREAD_JAVA_SP] - DISPATCH_NEXT @ ldrb r2, [jpc, #1] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] - CACHE_CP - CACHE_LOCALS - DISPATCH_NEXT @ ands lr, ip, lr - DISPATCH_FINISH + ldmfd arm_sp!, {fast_regset, pc} 1: bl return_check_monitors b 2b @@ -1956,33 +1879,14 @@ add r1, r2, #4 str r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - ldr ip, [istate, #ISTATE_ADVANCE_PC] - ldr istate, [istate, #ISTATE_NEXT_FRAME] - POP r2, r3 add stack, r1, r0, lsl #2 stmdb stack!, {r2, r3} - cmp ip, #0 - beq normal_return - sub istate, istate, #ISTATE_NEXT_FRAME + str stack, [tmp_xxx, #THREAD_JAVA_SP] - CACHE_JPC - ldr r2, [istate, #ISTATE_STACK_LIMIT] - DISPATCH_START_REG ip - sub stack, stack, #4 - ldr r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - DISPATCH_NEXT - add r2, r2, #4 - DISPATCH_NEXT - str r2, [tmp_xxx, #THREAD_JAVA_SP] - DISPATCH_NEXT - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] - CACHE_CP - CACHE_LOCALS - DISPATCH_NEXT - DISPATCH_FINISH + ldmfd arm_sp!, {fast_regset, pc} 1: bl return_check_monitors b 2b @@ -2032,12 +1936,10 @@ mov r1, #0 bl _ZN18InterpreterRuntime3ldcEP10JavaThreadb ldr r0, [istate, #ISTATE_THREAD] @ thread - ASSERT_STACK_CACHED CACHE_CP ldr r1, [r0, #THREAD_PENDING_EXC] CACHE_JPC cmp r1, #0 - ASSERT_LOCALS_CACHED bne handle_exception ldr r3, [r0, #THREAD_VM_RESULT] mov r2, #0 @@ -2089,8 +1991,6 @@ DECACHE_STACK mov r1, #1 bl _ZN18InterpreterRuntime3ldcEP10JavaThreadb - ASSERT_STACK_CACHED - ASSERT_LOCALS_CACHED ldr r0, [istate, #ISTATE_THREAD] @ thread CACHE_CP ldr r1, [r0, #THREAD_PENDING_EXC] @@ -2455,10 +2355,7 @@ } (dmul) dmul_vfp { - FBC cmp r2, #opc_dadd DISPATCH_START_R2 - FBC beq 1f -2: vldr d7, [stack, #12] vldr d6, [stack, #4] DISPATCH_NEXT @@ -2469,31 +2366,8 @@ vstr d0, [stack, #12] add stack, stack, #8 DISPATCH_FINISH -1: - FBC mov r2, #opc_dmac - FBC strb r2, [jpc, #-1] - FBC b 2b -} - -#ifdef FAST_BYTECODES - -(dmac) dmac_vfp { - DISPATCH_START \seq_len - vldr d2, [stack, #20] - vldr d1, [stack, #12] - vldr d0, [stack, #4] - DISPATCH_NEXT - DISPATCH_NEXT - fmacd d2, d1, d0 - DISPATCH_NEXT - DISPATCH_NEXT - vstr d2, [stack, #20] - add stack, stack, #16 - DISPATCH_FINISH } -#endif // FAST_BYTECODES - (fdiv) fdiv_vfp { DISPATCH_START_R2 vldr s15, [stack, #8] @@ -2623,10 +2497,10 @@ #ifdef FAST_BYTECODES @############################################################################## -@ ECN: Optimised bytecode pairs +@ Optimised bytecode pairs @############################################################################## -@ --- ECN: load; iaccess ------------------------------------------------------ +@ --- load; iaccess ------------------------------------------------------ (iload_0,iload_1,iload_2,iload_3) (iaccess_0,iaccess_1,iaccess_2,iaccess_3) @@ -2680,7 +2554,7 @@ DISPATCH_FINISH } -@ --- ECN: load; load --------------------------------------------------------- +@ --- load; load --------------------------------------------------------- (aload_0,aload_1,aload_2,aload_3) (aload_0,aload_1,aload_2,aload_3) @@ -2875,7 +2749,7 @@ DISPATCH_FINISH } -@ --- ECN: load; store -------------------------------------------------------- +@ --- load; store -------------------------------------------------------- (aload_0,aload_1,aload_2,aload_3) (astore_0,astore_1,astore_2,astore_3) @@ -2986,7 +2860,7 @@ DISPATCH_FINISH } -@ --- ECN: load; const ------------------------------------------------------- +@ --- load; const ------------------------------------------------------- (aload_0,aload_1,aload_2,aload_3) (iconst_m1,iconst_0,iconst_1,iconst_2,iconst_3,iconst_4,iconst_5) @@ -3109,7 +2983,7 @@ DISPATCH_FINISH } -@ --- ECN: load; Xaload ------------------------------------------------------- +@ --- load; Xaload ------------------------------------------------------- (iload_0,iload_1,iload_2,iload_3) (iaload,aaload,faload) @@ -3271,7 +3145,7 @@ DISPATCH_FINISH } -@ --- ECN: load; Xastore ------------------------------------------------------- +@ --- load; Xastore ------------------------------------------------------- (iload_0,iload_1,iload_2,iload_3) (iastore,fastore) @@ -3384,7 +3258,7 @@ DISPATCH_FINISH } -@ --- ECN: load; dataop ------------------------------------------------------- +@ --- load; dataop ------------------------------------------------------- (iload_0,iload_1,iload_2,iload_3) (iadd) @@ -3472,40 +3346,6 @@ } (iload_0,iload_1,iload_2,iload_3) -(idiv) -{ - rsb tmp2, r0, #opc_iload_0 - DISPATCH_START 2 - ldr tmp2, [locals, tmp2, lsl #2] - POP tmp1 - b int_div -} - -(iload,aload,fload)(idiv) { - DISPATCH_START 3 - POP tmp1 - ldr tmp2, [locals, -r2, lsl #2] - b int_div -} - -(iload_0,iload_1,iload_2,iload_3) -(irem) -{ - rsb tmp2, r0, #opc_iload_0 - DISPATCH_START 2 - ldr tmp2, [locals, tmp2, lsl #2] - POP tmp1 - b int_rem -} - -(iload,aload,fload)(irem) { - DISPATCH_START 3 - POP tmp1 - ldr tmp2, [locals, -r2, lsl #2] - b int_rem -} - -(iload_0,iload_1,iload_2,iload_3) (ineg) { rsb lr, r0, #opc_iload_0 @@ -3717,192 +3557,138 @@ #ifdef NOTICE_SAFEPOINTS -@ --- ECN: load; branch ------------------------------------------------------- +@ --- load; branch ------------------------------------------------------- (iload_0,iload_1,iload_2,iload_3) (ifeq,ifnull) { - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] rsb r3, r0, #opc_iload_0 - add jpc, jpc, #1 + ldrsb r1, [jpc, #2] ldr r3, [locals, r3, lsl #2] + ldrb ip, [jpc, #3] cmp r3, #0 - orr ip, ip, r1, lsl #8 - beq 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + beq branch_taken_unsafe_1 + DISPATCH 4 } (iload,aload,fload)(ifeq,ifnull) { + rsb r2, r2, #0 ldrsb r1, [jpc, #3] + ldr r3, [locals, r2, lsl #2] ldrb ip, [jpc, #4] - add jpc, jpc, #2 - ldr r3, [locals, -r2, lsl #2] cmp r3, #0 - orr ip, ip, r1, lsl #8 - beq 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + beq branch_taken_unsafe_2 + DISPATCH 5 } (iload_0,iload_1,iload_2,iload_3) (ifne,ifnonnull) { - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] rsb r3, r0, #opc_iload_0 - add jpc, jpc, #1 + ldrsb r1, [jpc, #2] ldr r3, [locals, r3, lsl #2] + ldrb ip, [jpc, #3] cmp r3, #0 - orr ip, ip, r1, lsl #8 - bne 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bne branch_taken_unsafe_1 + DISPATCH 4 } (iload,aload,fload)(ifne,ifnonnull) { + rsb r2, r2, #0 ldrsb r1, [jpc, #3] + ldr r3, [locals, r2, lsl #2] ldrb ip, [jpc, #4] - add jpc, jpc, #2 - ldr r3, [locals, -r2, lsl #2] cmp r3, #0 - orr ip, ip, r1, lsl #8 - bne 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bne branch_taken_unsafe_2 + DISPATCH 5 } (iload_0,iload_1,iload_2,iload_3) (iflt) { - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] rsb r3, r0, #opc_iload_0 - add jpc, jpc, #1 + ldrsb r1, [jpc, #2] ldr r3, [locals, r3, lsl #2] + ldrb ip, [jpc, #3] cmp r3, #0 - orr ip, ip, r1, lsl #8 - blt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + blt branch_taken_unsafe_1 + DISPATCH 4 } (iload,aload,fload)(iflt) { + rsb r2, r2, #0 ldrsb r1, [jpc, #3] + ldr r3, [locals, r2, lsl #2] ldrb ip, [jpc, #4] - add jpc, jpc, #2 - ldr r3, [locals, -r2, lsl #2] cmp r3, #0 - orr ip, ip, r1, lsl #8 - blt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + blt branch_taken_unsafe_2 + DISPATCH 5 } (iload_0,iload_1,iload_2,iload_3) (ifge) { - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] rsb r3, r0, #opc_iload_0 - add jpc, jpc, #1 + ldrsb r1, [jpc, #2] ldr r3, [locals, r3, lsl #2] + ldrb ip, [jpc, #3] cmp r3, #0 - orr ip, ip, r1, lsl #8 - bge 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bge branch_taken_unsafe_1 + DISPATCH 4 } (iload,aload,fload)(ifge) { + rsb r2, r2, #0 ldrsb r1, [jpc, #3] + ldr r3, [locals, r2, lsl #2] ldrb ip, [jpc, #4] - add jpc, jpc, #2 - ldr r3, [locals, -r2, lsl #2] cmp r3, #0 - orr ip, ip, r1, lsl #8 - bge 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bge branch_taken_unsafe_2 + DISPATCH 5 } (iload_0,iload_1,iload_2,iload_3) (ifgt) { - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] rsb r3, r0, #opc_iload_0 - add jpc, jpc, #1 + ldrsb r1, [jpc, #2] ldr r3, [locals, r3, lsl #2] + ldrb ip, [jpc, #3] cmp r3, #0 - orr ip, ip, r1, lsl #8 - bgt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bgt branch_taken_unsafe_1 + DISPATCH 4 } (iload,aload,fload)(ifgt) { + rsb r2, r2, #0 ldrsb r1, [jpc, #3] + ldr r3, [locals, r2, lsl #2] ldrb ip, [jpc, #4] - add jpc, jpc, #2 - ldr r3, [locals, -r2, lsl #2] cmp r3, #0 - orr ip, ip, r1, lsl #8 - bgt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bgt branch_taken_unsafe_2 + DISPATCH 5 } (iload_0,iload_1,iload_2,iload_3) (ifle) { - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] rsb r3, r0, #opc_iload_0 - add jpc, jpc, #1 + ldrsb r1, [jpc, #2] ldr r3, [locals, r3, lsl #2] + ldrb ip, [jpc, #3] cmp r3, #0 - orr ip, ip, r1, lsl #8 - ble 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + ble branch_taken_unsafe_1 + DISPATCH 4 } (iload,aload,fload)(ifle) { + rsb r2, r2, #0 ldrsb r1, [jpc, #3] + ldr r3, [locals, r2, lsl #2] ldrb ip, [jpc, #4] - add jpc, jpc, #2 - ldr r3, [locals, -r2, lsl #2] cmp r3, #0 - orr ip, ip, r1, lsl #8 - ble 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + ble branch_taken_unsafe_2 + DISPATCH 5 } (iload_0,iload_1,iload_2,iload_3) @@ -3911,31 +3697,22 @@ POP r3 rsb r2, r0, #opc_iload_0 ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] ldr r2, [locals, r2, lsl #2] - add jpc, jpc, #1 + ldrb ip, [jpc, #3] cmp r3, r2 - orr ip, ip, r1, lsl #8 - beq 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + beq branch_taken_unsafe_1 + DISPATCH 4 } (iload,aload,fload)(if_icmpeq,if_acmpeq) { POP r3 + rsb r2, r2, #0 ldrsb r1, [jpc, #3] + ldr r2, [locals, r2, lsl #2] ldrb ip, [jpc, #4] - ldr r2, [locals, -r2, lsl #2] - add jpc, jpc, #2 cmp r3, r2 - orr ip, ip, r1, lsl #8 - beq 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + beq branch_taken_unsafe_2 + DISPATCH 5 } (iload_0,iload_1,iload_2,iload_3) @@ -3944,31 +3721,22 @@ POP r3 rsb r2, r0, #opc_iload_0 ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] ldr r2, [locals, r2, lsl #2] - add jpc, jpc, #1 + ldrb ip, [jpc, #3] cmp r3, r2 - orr ip, ip, r1, lsl #8 - bne 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bne branch_taken_unsafe_1 + DISPATCH 4 } (iload,aload,fload)(if_icmpne,if_acmpne) { POP r3 + rsb r2, r2, #0 ldrsb r1, [jpc, #3] + ldr r2, [locals, r2, lsl #2] ldrb ip, [jpc, #4] - ldr r2, [locals, -r2, lsl #2] - add jpc, jpc, #2 cmp r3, r2 - orr ip, ip, r1, lsl #8 - bne 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bne branch_taken_unsafe_2 + DISPATCH 5 } (iload_0,iload_1,iload_2,iload_3) @@ -3977,31 +3745,22 @@ POP r3 rsb r2, r0, #opc_iload_0 ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] ldr r2, [locals, r2, lsl #2] - add jpc, jpc, #1 + ldrb ip, [jpc, #3] cmp r3, r2 - orr ip, ip, r1, lsl #8 - blt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + blt branch_taken_unsafe_1 + DISPATCH 4 } (iload,aload,fload)(if_icmplt) { POP r3 + rsb r2, r2, #0 ldrsb r1, [jpc, #3] + ldr r2, [locals, r2, lsl #2] ldrb ip, [jpc, #4] - ldr r2, [locals, -r2, lsl #2] - add jpc, jpc, #2 cmp r3, r2 - orr ip, ip, r1, lsl #8 - blt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + blt branch_taken_unsafe_2 + DISPATCH 5 } (iload_0,iload_1,iload_2,iload_3) @@ -4010,31 +3769,22 @@ POP r3 rsb r2, r0, #opc_iload_0 ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] ldr r2, [locals, r2, lsl #2] - add jpc, jpc, #1 + ldrb ip, [jpc, #3] cmp r3, r2 - orr ip, ip, r1, lsl #8 - bge 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bge branch_taken_unsafe_1 + DISPATCH 4 } (iload,aload,fload)(if_icmpge) { POP r3 + rsb r2, r2, #0 ldrsb r1, [jpc, #3] + ldr r2, [locals, r2, lsl #2] ldrb ip, [jpc, #4] - ldr r2, [locals, -r2, lsl #2] - add jpc, jpc, #2 cmp r3, r2 - orr ip, ip, r1, lsl #8 - bge 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bge branch_taken_unsafe_2 + DISPATCH 5 } (iload_0,iload_1,iload_2,iload_3) @@ -4043,31 +3793,22 @@ POP r3 rsb r2, r0, #opc_iload_0 ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] ldr r2, [locals, r2, lsl #2] - add jpc, jpc, #1 + ldrb ip, [jpc, #3] cmp r3, r2 - orr ip, ip, r1, lsl #8 - bgt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bgt branch_taken_unsafe_1 + DISPATCH 4 } (iload,aload,fload)(if_icmpgt) { POP r3 + rsb r2, r2, #0 ldrsb r1, [jpc, #3] + ldr r2, [locals, r2, lsl #2] ldrb ip, [jpc, #4] - ldr r2, [locals, -r2, lsl #2] - add jpc, jpc, #2 cmp r3, r2 - orr ip, ip, r1, lsl #8 - bgt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bgt branch_taken_unsafe_2 + DISPATCH 5 } (iload_0,iload_1,iload_2,iload_3) @@ -4076,34 +3817,25 @@ POP r3 rsb r2, r0, #opc_iload_0 ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] ldr r2, [locals, r2, lsl #2] - add jpc, jpc, #1 + ldrb ip, [jpc, #3] cmp r3, r2 - orr ip, ip, r1, lsl #8 - ble 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + ble branch_taken_unsafe_1 + DISPATCH 4 } (iload,aload,fload)(if_icmple) { POP r3 + rsb r2, r2, #0 ldrsb r1, [jpc, #3] + ldr r2, [locals, r2, lsl #2] ldrb ip, [jpc, #4] - ldr r2, [locals, -r2, lsl #2] - add jpc, jpc, #2 cmp r3, r2 - orr ip, ip, r1, lsl #8 - ble 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + ble branch_taken_unsafe_2 + DISPATCH 5 } -@ --- ECN: load; return/invoke ------------------------------------------------- +@ --- load; return/invoke ------------------------------------------------- (iload_0,iload_1,iload_2,iload_3) (ireturn,areturn,freturn) @@ -4122,30 +3854,12 @@ ldr r0, [istate, #ISTATE_METHOD] ldr r3, [stack, #0] ldrh r0, [r0, #40] - ldr ip, [istate, #ISTATE_ADVANCE_PC] - ldr istate, [istate, #ISTATE_NEXT_FRAME] str r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] str r1, [stack, r0, lsl #2]! - cmp ip, #0 - beq normal_return - sub istate, istate, #ISTATE_NEXT_FRAME + str stack, [tmp_xxx, #THREAD_JAVA_SP] - CACHE_JPC - ldr r2, [istate, #ISTATE_STACK_LIMIT] - DISPATCH_START_REG ip - sub stack, stack, #4 - ldr r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - DISPATCH_NEXT @ ldrb r1, [jpc, #2] - add r2, r2, #4 - DISPATCH_NEXT @ ldr ip, [dispatch, r0, lsl #2] - str r2, [tmp_xxx, #THREAD_JAVA_SP] - DISPATCH_NEXT @ ldrb r2, [jpc, #1] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] - CACHE_CP - CACHE_LOCALS - DISPATCH_NEXT @ ands lr, ip, lr - DISPATCH_FINISH + ldmfd arm_sp!, {fast_regset, pc} 1: PUSH r1 add jpc, jpc, #1 @@ -4169,30 +3883,12 @@ ldr r0, [istate, #ISTATE_METHOD] ldr r3, [stack, #0] ldrh r0, [r0, #40] - ldr ip, [istate, #ISTATE_ADVANCE_PC] - ldr istate, [istate, #ISTATE_NEXT_FRAME] str r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] str r1, [stack, r0, lsl #2]! - cmp ip, #0 - beq normal_return - sub istate, istate, #ISTATE_NEXT_FRAME + str stack, [tmp_xxx, #THREAD_JAVA_SP] - CACHE_JPC - ldr r2, [istate, #ISTATE_STACK_LIMIT] - DISPATCH_START_REG ip - sub stack, stack, #4 - ldr r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - DISPATCH_NEXT @ ldrb r1, [jpc, #2] - add r2, r2, #4 - DISPATCH_NEXT @ ldr ip, [dispatch, r0, lsl #2] - str r2, [tmp_xxx, #THREAD_JAVA_SP] - DISPATCH_NEXT @ ldrb r2, [jpc, #1] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] - CACHE_CP - CACHE_LOCALS - DISPATCH_NEXT @ ands lr, ip, lr - DISPATCH_FINISH + ldmfd arm_sp!, {fast_regset, pc} 1: PUSH r1 add jpc, jpc, #2 @@ -4399,7 +4095,7 @@ DISPATCH_FINISH } -@ --- ECN: iconst; store ------------------------------------------------- +@ --- iconst; store ------------------------------------------------- (iconst_m1,iconst_0,iconst_1,iconst_2,iconst_3,iconst_4,iconst_5) (istore_0,istore_1,istore_2,istore_3) @@ -4419,7 +4115,7 @@ DISPATCH_BYTECODE } -@ --- ECN: iconst; dataop ------------------------------------------------- +@ --- iconst; dataop ------------------------------------------------- (iconst_m1,iconst_0,iconst_1,iconst_2,iconst_3,iconst_4,iconst_5)(iadd) { sub tmp1, r0, #opc_iconst_0 @@ -4505,7 +4201,7 @@ DISPATCH_FINISH } -@ --- ECN: iconst; branch ------------------------------------------------- +@ --- iconst; branch ------------------------------------------------- #ifdef NOTICE_SAFEPOINTS @@ -4513,90 +4209,60 @@ POP r3 sub r2, r0, #opc_iconst_0 ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add jpc, jpc, #1 cmp r3, r2 - orr ip, ip, r1, lsl #8 - beq 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + ldrb ip, [jpc, #3] + beq branch_taken_unsafe_1 + DISPATCH 4 } (iconst_m1,iconst_0,iconst_1,iconst_2,iconst_3,iconst_4,iconst_5)(if_icmpne) { POP r3 sub r2, r0, #opc_iconst_0 ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add jpc, jpc, #1 cmp r3, r2 - orr ip, ip, r1, lsl #8 - bne 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + ldrb ip, [jpc, #3] + bne branch_taken_unsafe_1 + DISPATCH 4 } (iconst_m1,iconst_0,iconst_1,iconst_2,iconst_3,iconst_4,iconst_5)(if_icmplt) { POP r3 sub r2, r0, #opc_iconst_0 ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add jpc, jpc, #1 cmp r3, r2 - orr ip, ip, r1, lsl #8 - blt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + ldrb ip, [jpc, #3] + blt branch_taken_unsafe_1 + DISPATCH 4 } (iconst_m1,iconst_0,iconst_1,iconst_2,iconst_3,iconst_4,iconst_5)(if_icmpge) { POP r3 sub r2, r0, #opc_iconst_0 ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add jpc, jpc, #1 cmp r3, r2 - orr ip, ip, r1, lsl #8 - bge 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + ldrb ip, [jpc, #3] + bge branch_taken_unsafe_1 + DISPATCH 4 } (iconst_m1,iconst_0,iconst_1,iconst_2,iconst_3,iconst_4,iconst_5)(if_icmpgt) { POP r3 sub r2, r0, #opc_iconst_0 ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add jpc, jpc, #1 cmp r3, r2 - orr ip, ip, r1, lsl #8 - bgt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + ldrb ip, [jpc, #3] + bgt branch_taken_unsafe_1 + DISPATCH 4 } (iconst_m1,iconst_0,iconst_1,iconst_2,iconst_3,iconst_4,iconst_5)(if_icmple) { POP r3 sub r2, r0, #opc_iconst_0 ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add jpc, jpc, #1 cmp r3, r2 - orr ip, ip, r1, lsl #8 - ble 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + ldrb ip, [jpc, #3] + ble branch_taken_unsafe_1 + DISPATCH 4 } (iconst_m1,iconst_0,iconst_1,iconst_2,iconst_3,iconst_4,iconst_5)(ireturn) { @@ -4613,30 +4279,12 @@ ldr r0, [istate, #ISTATE_METHOD] ldr r3, [stack, #0] ldrh r0, [r0, #40] - ldr ip, [istate, #ISTATE_ADVANCE_PC] - ldr istate, [istate, #ISTATE_NEXT_FRAME] str r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] str r1, [stack, r0, lsl #2]! - cmp ip, #0 - beq normal_return - sub istate, istate, #ISTATE_NEXT_FRAME + str stack, [tmp_xxx, #THREAD_JAVA_SP] - CACHE_JPC - ldr r2, [istate, #ISTATE_STACK_LIMIT] - DISPATCH_START_REG ip - sub stack, stack, #4 - ldr r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - DISPATCH_NEXT @ ldrb r1, [jpc, #2] - add r2, r2, #4 - DISPATCH_NEXT @ ldr ip, [dispatch, r0, lsl #2] - str r2, [tmp_xxx, #THREAD_JAVA_SP] - DISPATCH_NEXT @ ldrb r2, [jpc, #1] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] - CACHE_CP - CACHE_LOCALS - DISPATCH_NEXT @ ands lr, ip, lr - DISPATCH_FINISH + ldmfd arm_sp!, {fast_regset, pc} 1: PUSH r1 add jpc, jpc, #1 @@ -5001,295 +4649,253 @@ DISPATCH_FINISH } -#ifdef NOTICE_SAFEPOINTS - -(iaload,faload,aaload)(ifeq,ifnull) { - POP r2, r3 @ r2 = index, r3 = arrayref - SW_NPC cmp r3, #0 - SW_NPC beq null_ptr_exception_jpc_0 -.abortentry61: - ldr r1, [r3, #8] @ r1 = length - cmp r2, r1 - bcs array_bound_exception_jpc_0 - add r3, r3, r2, lsl #2 - ldr r3, [r3, #BASE_OFFSET_WORD] @ r1 = tos +@ ---- iadd; xxx ------------------------------------------------------------ - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - beq 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE +(iadd)(iload,fload,aload) { + ldrb r3, [jpc, #2] + DISPATCH_START \seq_len + POP tmp2, tmp1 + DISPATCH_NEXT + rsb r3, r3, #0 + DISPATCH_NEXT + ldr r3, [locals, r3, lsl #2] + DISPATCH_NEXT + add tmp2, tmp1, tmp2 + DISPATCH_NEXT + PUSH r3, tmp2 + DISPATCH_FINISH } -(iaload,faload,aaload)(ifne,ifnonnull) { - POP r2, r3 @ r2 = index, r3 = arrayref - SW_NPC cmp r3, #0 - SW_NPC beq null_ptr_exception_jpc_0 -.abortentry62: - ldr r1, [r3, #8] @ r1 = length - cmp r2, r1 - bcs array_bound_exception_jpc_0 - add r3, r3, r2, lsl #2 - ldr r3, [r3, #BASE_OFFSET_WORD] @ r1 = tos - - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - bne 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE +(iadd) +(iload_0,iload_1,iload_2,iload_3) +{ + DISPATCH_START \seq_len + rsb r3, r1, #opc_iload_0 + POP tmp2, tmp1 + DISPATCH_NEXT + ldr r3, [locals, r3, lsl #2] + add tmp2, tmp1, tmp2 + DISPATCH_NEXT + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r3, tmp2 + DISPATCH_FINISH } -(iaload,faload,aaload)(iflt) { - POP r2, r3 @ r2 = index, r3 = arrayref - SW_NPC cmp r3, #0 - SW_NPC beq null_ptr_exception_jpc_0 -.abortentry63: - ldr r1, [r3, #8] @ r1 = length - cmp r2, r1 - bcs array_bound_exception_jpc_0 - add r3, r3, r2, lsl #2 - ldr r3, [r3, #BASE_OFFSET_WORD] @ r1 = tos - - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - blt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE +(iadd)(iaload,aaload,faload) { + POP r2, r3, lr @ lr = ref + DISPATCH_START \seq_len + add r2, r3, r2 @ r2 = index + SW_NPC cmp lr, #0 + SW_NPC beq null_ptr_exception_jpc_1 +.abortentry73: + ldr tmp1, [lr, #8] @ tmp1 = length + DISPATCH_NEXT + cmp r2, tmp1 + bcs array_bound_exception_jpc_1 + add lr, lr, r2, lsl #2 + ldr tmp1, [lr, #BASE_OFFSET_WORD] + DISPATCH_NEXT + PUSH tmp1 + DISPATCH_FINISH } -(iaload,faload,aaload)(ifge) { - POP r2, r3 @ r2 = index, r3 = arrayref - SW_NPC cmp r3, #0 - SW_NPC beq null_ptr_exception_jpc_0 -.abortentry64: - ldr r1, [r3, #8] @ r1 = length - cmp r2, r1 - bcs array_bound_exception_jpc_0 - add r3, r3, r2, lsl #2 - ldr r3, [r3, #BASE_OFFSET_WORD] @ r1 = tos - - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - bge 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE +(iadd)(istore) { + mov r0, #opc_iadd_u4store + strb r0, [jpc] + b do_iadd_u4store } -(iaload,faload,aaload)(ifgt) { - POP r2, r3 @ r2 = index, r3 = arrayref - SW_NPC cmp r3, #0 - SW_NPC beq null_ptr_exception_jpc_0 -.abortentry65: - ldr r1, [r3, #8] @ r1 = length - cmp r2, r1 - bcs array_bound_exception_jpc_0 - add r3, r3, r2, lsl #2 - ldr r3, [r3, #BASE_OFFSET_WORD] @ r1 = tos - - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - bgt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE +(iadd) +(istore_0,istore_1,istore_2,istore_3) { + mov r0, #opc_iadd_istore_N + strb r0, [jpc] + b do_iadd_istore_N } -(iaload,faload,aaload)(ifle) { - POP r2, r3 @ r2 = index, r3 = arrayref +(iadd)(iastore,fastore) { + POP r2, r3 + DISPATCH_START \seq_len + add tmp1, r3, r2 @ tmp1 = value + POP r2, r3 @ r2, index, r3 = ref SW_NPC cmp r3, #0 - SW_NPC beq null_ptr_exception_jpc_0 -.abortentry66: - ldr r1, [r3, #8] @ r1 = length - cmp r2, r1 - bcs array_bound_exception_jpc_0 + SW_NPC beq null_ptr_exception_jpc_1 +.abortentry106: + ldr lr, [r3, #8] @ lr = limit + DISPATCH_NEXT + cmp r2, lr + bcs array_bound_exception_jpc_1 + DISPATCH_NEXT add r3, r3, r2, lsl #2 - ldr r3, [r3, #BASE_OFFSET_WORD] @ r1 = tos - - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - ble 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + str tmp1, [r3, #BASE_OFFSET_WORD] + DISPATCH_FINISH } -(iaload,faload,aaload)(if_icmpeq,if_acmpeq) { - POP r2, r3 @ r2 = index, r3 = arrayref - SW_NPC cmp r3, #0 - SW_NPC beq null_ptr_exception_jpc_0 -.abortentry67: - ldr r1, [r3, #8] @ r1 = length - cmp r2, r1 - bcs array_bound_exception_jpc_0 - add r3, r3, r2, lsl #2 - ldr r2, [r3, #BASE_OFFSET_WORD] @ r1 = tos - - POP r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add jpc, jpc, #1 - cmp r3, r2 - orr ip, ip, r1, lsl #8 - beq 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE +(iadd)(iadd) { + DISPATCH_START \seq_len + POP r2, r3, tmp1 + DISPATCH_NEXT + add tmp2, r3, r2 + DISPATCH_NEXT + add tmp2, tmp1, tmp2 + DISPATCH_NEXT + DISPATCH_NEXT + PUSH tmp2 + DISPATCH_FINISH } -(iaload,faload,aaload)(if_icmpne,if_acmpne) { - POP r2, r3 @ r2 = index, r3 = arrayref - SW_NPC cmp r3, #0 - SW_NPC beq null_ptr_exception_jpc_0 -.abortentry68: - ldr r1, [r3, #8] @ r1 = length - cmp r2, r1 - bcs array_bound_exception_jpc_0 - add r3, r3, r2, lsl #2 - ldr r2, [r3, #BASE_OFFSET_WORD] @ r1 = tos - - POP r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add jpc, jpc, #1 - cmp r3, r2 - orr ip, ip, r1, lsl #8 - bne 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE +(iadd)(isub) { + DISPATCH_START \seq_len + POP r2, r3, tmp1 + DISPATCH_NEXT + add tmp2, r3, r2 + DISPATCH_NEXT + sub tmp2, tmp1, tmp2 + DISPATCH_NEXT + DISPATCH_NEXT + PUSH tmp2 + DISPATCH_FINISH } -(iaload,faload,aaload)(if_icmplt) { - POP r2, r3 @ r2 = index, r3 = arrayref - SW_NPC cmp r3, #0 - SW_NPC beq null_ptr_exception_jpc_0 -.abortentry69: - ldr r1, [r3, #8] @ r1 = length - cmp r2, r1 - bcs array_bound_exception_jpc_0 - add r3, r3, r2, lsl #2 - ldr r2, [r3, #BASE_OFFSET_WORD] @ r1 = tos +(iadd)(iinc) { + POP tmp1, lr + DISPATCH_START \seq_len + add tmp1, lr, tmp1 + ldrb r3, [jpc, #-2] @ jpc now points to next bc + ldrsb r2, [jpc, #-1] + DISPATCH_NEXT + PUSH tmp1 + ldr tmp1, [locals, -r3, lsl #2] + DISPATCH_NEXT + add tmp1, tmp1, r2 + str tmp1, [locals, -r3, lsl #2] + DISPATCH_FINISH +} +@ ---- sub; xxx ------------------------------------------------------------ - POP r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add jpc, jpc, #1 - cmp r3, r2 - orr ip, ip, r1, lsl #8 - blt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE +(isub)(iload,fload,aload) { + ldrb r3, [jpc, #2] + DISPATCH_START \seq_len + POP tmp2, tmp1 + DISPATCH_NEXT + rsb r3, r3, #0 + DISPATCH_NEXT + ldr r3, [locals, r3, lsl #2] + DISPATCH_NEXT + sub tmp2, tmp1, tmp2 + DISPATCH_NEXT + PUSH r3, tmp2 + DISPATCH_FINISH } -(iaload,faload,aaload)(if_icmpge) { - POP r2, r3 @ r2 = index, r3 = arrayref - SW_NPC cmp r3, #0 - SW_NPC beq null_ptr_exception_jpc_0 -.abortentry70: - ldr r1, [r3, #8] @ r1 = length - cmp r2, r1 - bcs array_bound_exception_jpc_0 - add r3, r3, r2, lsl #2 - ldr r2, [r3, #BASE_OFFSET_WORD] @ r1 = tos +(isub) +(iload_0,iload_1,iload_2,iload_3) +{ + DISPATCH_START \seq_len + rsb r3, r1, #opc_iload_0 + POP tmp2, tmp1 + DISPATCH_NEXT + ldr r3, [locals, r3, lsl #2] + sub tmp2, tmp1, tmp2 + DISPATCH_NEXT + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r3, tmp2 + DISPATCH_FINISH +} - POP r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add jpc, jpc, #1 - cmp r3, r2 - orr ip, ip, r1, lsl #8 - bge 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE +(isub)(iaload,aaload,faload) { + POP r2, r3, lr @ lr = ref + DISPATCH_START \seq_len + sub r2, r3, r2 @ r2 = index + SW_NPC cmp lr, #0 + SW_NPC beq null_ptr_exception_jpc_1 +.abortentry74: + ldr tmp1, [lr, #8] @ tmp1 = length + DISPATCH_NEXT + cmp r2, tmp1 + bcs array_bound_exception_jpc_1 + add lr, lr, r2, lsl #2 + ldr tmp1, [lr, #BASE_OFFSET_WORD] + DISPATCH_NEXT + PUSH tmp1 + DISPATCH_FINISH } -(iaload,faload,aaload)(if_icmpgt) { - POP r2, r3 @ r2 = index, r3 = arrayref - SW_NPC cmp r3, #0 - SW_NPC beq null_ptr_exception_jpc_0 -.abortentry71: - ldr r1, [r3, #8] @ r1 = length - cmp r2, r1 - bcs array_bound_exception_jpc_0 - add r3, r3, r2, lsl #2 - ldr r2, [r3, #BASE_OFFSET_WORD] @ r1 = tos +(isub)(istore) { + mov r0, #opc_isub_u4store + strb r0, [jpc] + b do_isub_u4store +} - POP r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add jpc, jpc, #1 - cmp r3, r2 - orr ip, ip, r1, lsl #8 - bgt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE +(isub) +(istore_0,istore_1,istore_2,istore_3) { + mov r0, #opc_isub_istore_N + strb r0, [jpc] + b do_isub_istore_N } -(iaload,faload,aaload)(if_icmple) { - POP r2, r3 @ r2 = index, r3 = arrayref +(isub)(iastore,fastore) { + POP r2, r3 + DISPATCH_START \seq_len + sub tmp1, r3, r2 @ tmp1 = value + POP r2, r3 @ r2, index, r3 = ref SW_NPC cmp r3, #0 - SW_NPC beq null_ptr_exception_jpc_0 -.abortentry72: - ldr r1, [r3, #8] @ r1 = length - cmp r2, r1 - bcs array_bound_exception_jpc_0 + SW_NPC beq null_ptr_exception_jpc_1 +.abortentry105: + ldr lr, [r3, #8] @ lr = limit + DISPATCH_NEXT + cmp r2, lr + bcs array_bound_exception_jpc_1 + DISPATCH_NEXT add r3, r3, r2, lsl #2 - ldr r2, [r3, #BASE_OFFSET_WORD] @ r1 = tos + str tmp1, [r3, #BASE_OFFSET_WORD] + DISPATCH_FINISH +} - POP r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add jpc, jpc, #1 - cmp r3, r2 - orr ip, ip, r1, lsl #8 - ble 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE +(isub)(iadd) { + DISPATCH_START \seq_len + POP r2, r3, tmp1 + DISPATCH_NEXT + sub tmp2, r3, r2 + DISPATCH_NEXT + add tmp2, tmp1, tmp2 + DISPATCH_NEXT + DISPATCH_NEXT + PUSH tmp2 + DISPATCH_FINISH } -#endif // NOTICE_SAFEPOINTS +(isub)(isub) { + DISPATCH_START \seq_len + POP r2, r3, tmp1 + DISPATCH_NEXT + sub tmp2, r3, r2 + DISPATCH_NEXT + sub tmp2, tmp1, tmp2 + DISPATCH_NEXT + DISPATCH_NEXT + PUSH tmp2 + DISPATCH_FINISH +} -@ ---- iadd; xxx ------------------------------------------------------------ +(isub)(iinc) { + POP tmp1, lr + DISPATCH_START \seq_len + sub tmp1, lr, tmp1 + ldrb r3, [jpc, #-2] @ jpc now points to next bc + ldrsb r2, [jpc, #-1] + DISPATCH_NEXT + PUSH tmp1 + ldr tmp1, [locals, -r3, lsl #2] + DISPATCH_NEXT + add tmp1, tmp1, r2 + str tmp1, [locals, -r3, lsl #2] + DISPATCH_FINISH +} +@ ---- iand; xxx ------------------------------------------------------------ -(iadd)(iload,fload,aload) { +(iand)(iload,fload,aload) { ldrb r3, [jpc, #2] DISPATCH_START \seq_len POP tmp2, tmp1 @@ -5298,13 +4904,13 @@ DISPATCH_NEXT ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT - add tmp2, tmp1, tmp2 + and tmp2, tmp1, tmp2 DISPATCH_NEXT PUSH r3, tmp2 DISPATCH_FINISH } -(iadd) +(iand) (iload_0,iload_1,iload_2,iload_3) { DISPATCH_START \seq_len @@ -5312,7 +4918,7 @@ POP tmp2, tmp1 DISPATCH_NEXT ldr r3, [locals, r3, lsl #2] - add tmp2, tmp1, tmp2 + and tmp2, tmp1, tmp2 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT @@ -5320,13 +4926,13 @@ DISPATCH_FINISH } -(iadd)(iaload,aaload,faload) { +(iand)(iaload,aaload,faload) { POP r2, r3, lr @ lr = ref DISPATCH_START \seq_len - add r2, r3, r2 @ r2 = index + and r2, r3, r2 @ r2 = index SW_NPC cmp lr, #0 SW_NPC beq null_ptr_exception_jpc_1 -.abortentry73: +.abortentry75: ldr tmp1, [lr, #8] @ tmp1 = length DISPATCH_NEXT cmp r2, tmp1 @@ -5338,27 +4944,27 @@ DISPATCH_FINISH } -(iadd)(istore) { - mov r0, #opc_iadd_u4store +(iand)(istore) { + mov r0, #opc_iand_u4store strb r0, [jpc] - b do_iadd_u4store + b do_iand_u4store } -(iadd) +(iand) (istore_0,istore_1,istore_2,istore_3) { - mov r0, #opc_iadd_istore_N + mov r0, #opc_iand_istore_N strb r0, [jpc] - b do_iadd_istore_N + b do_iand_istore_N } -(iadd)(iastore,fastore) { +(iand)(iastore,fastore) { POP r2, r3 DISPATCH_START \seq_len - add tmp1, r3, r2 @ tmp1 = value + and tmp1, r3, r2 @ tmp1 = value POP r2, r3 @ r2, index, r3 = ref SW_NPC cmp r3, #0 SW_NPC beq null_ptr_exception_jpc_1 -.abortentry106: +.abortentry107: ldr lr, [r3, #8] @ lr = limit DISPATCH_NEXT cmp r2, lr @@ -5369,11 +4975,11 @@ DISPATCH_FINISH } -(iadd)(iadd) { +(iand)(iadd) { DISPATCH_START \seq_len POP r2, r3, tmp1 DISPATCH_NEXT - add tmp2, r3, r2 + and tmp2, r3, r2 DISPATCH_NEXT add tmp2, tmp1, tmp2 DISPATCH_NEXT @@ -5382,11 +4988,11 @@ DISPATCH_FINISH } -(iadd)(isub) { +(iand)(isub) { DISPATCH_START \seq_len POP r2, r3, tmp1 DISPATCH_NEXT - add tmp2, r3, r2 + and tmp2, r3, r2 DISPATCH_NEXT sub tmp2, tmp1, tmp2 DISPATCH_NEXT @@ -5395,1353 +5001,11 @@ DISPATCH_FINISH } -#ifdef NOTICE_SAFEPOINTS - -(iadd)(ifeq,ifnull) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - beq 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iadd)(ifne,ifnonnull) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - bne 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iadd)(iflt) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - blt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iadd)(ifge) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - bge 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iadd)(ifgt) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - bgt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iadd)(ifle) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - ble 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iadd)(if_icmpeq,if_acmpeq) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - beq 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iadd)(if_icmpne,if_acmpne) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - bne 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iadd)(if_icmplt) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - blt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iadd)(if_icmpge) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - bge 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iadd)(if_icmpgt) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - bgt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iadd)(if_icmple) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - ble 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iadd)(goto) { - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add jpc, jpc, #1 - orr ip, ip, r1, lsl #8 - DISPATCH_START_REG ip - POP r2, r3 - add r2, r3, r2 - DISPATCH_NEXT - PUSH r2 - DISPATCH_FINISH -} - -(iadd)(ireturn) { - POP r2, r3 - ldr tmp2, [istate, #ISTATE_MONITOR_BASE] @ tmp2 = base - ldr tmp1, [istate, #ISTATE_STACK_BASE] @ tmp1 = end - add r1, r3, r2 - ldr tmp_xxx, [istate, #ISTATE_THREAD] - cmp tmp1, tmp2 - bcc 1f -2: - mov r3, #0 - ldr stack, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] - ldr r0, [istate, #ISTATE_METHOD] - ldr r3, [stack, #0] - ldrh r0, [r0, #40] - ldr ip, [istate, #ISTATE_ADVANCE_PC] - ldr istate, [istate, #ISTATE_NEXT_FRAME] - str r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - str r1, [stack, r0, lsl #2]! - cmp ip, #0 - beq normal_return - - sub istate, istate, #ISTATE_NEXT_FRAME - - CACHE_JPC - ldr r2, [istate, #ISTATE_STACK_LIMIT] - DISPATCH_START_REG ip - sub stack, stack, #4 - ldr r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - DISPATCH_NEXT @ ldrb r1, [jpc, #2] - add r2, r2, #4 - DISPATCH_NEXT @ ldr ip, [dispatch, r0, lsl #2] - str r2, [tmp_xxx, #THREAD_JAVA_SP] - DISPATCH_NEXT @ ldrb r2, [jpc, #1] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] - CACHE_CP - CACHE_LOCALS - DISPATCH_NEXT @ ands lr, ip, lr - DISPATCH_FINISH -1: - PUSH r1 - add jpc, jpc, #1 - bl return_check_monitors - POP r1 - b 2b -} - -#endif // NOTICE_SAFEPOINTS - -(iadd)(iinc) { - POP tmp1, lr - DISPATCH_START \seq_len - add tmp1, lr, tmp1 - ldrb r3, [jpc, #-2] @ ECN: jpc now points to next bc - ldrsb r2, [jpc, #-1] - DISPATCH_NEXT - PUSH tmp1 - ldr tmp1, [locals, -r3, lsl #2] - DISPATCH_NEXT - add tmp1, tmp1, r2 - str tmp1, [locals, -r3, lsl #2] - DISPATCH_FINISH -} -@ ---- sub; xxx ------------------------------------------------------------ - -(isub)(iload,fload,aload) { - ldrb r3, [jpc, #2] - DISPATCH_START \seq_len - POP tmp2, tmp1 - DISPATCH_NEXT - rsb r3, r3, #0 - DISPATCH_NEXT - ldr r3, [locals, r3, lsl #2] - DISPATCH_NEXT - sub tmp2, tmp1, tmp2 - DISPATCH_NEXT - PUSH r3, tmp2 - DISPATCH_FINISH -} - -(isub) -(iload_0,iload_1,iload_2,iload_3) -{ - DISPATCH_START \seq_len - rsb r3, r1, #opc_iload_0 - POP tmp2, tmp1 - DISPATCH_NEXT - ldr r3, [locals, r3, lsl #2] - sub tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - DISPATCH_NEXT - PUSH r3, tmp2 - DISPATCH_FINISH -} - -(isub)(iaload,aaload,faload) { - POP r2, r3, lr @ lr = ref - DISPATCH_START \seq_len - sub r2, r3, r2 @ r2 = index - SW_NPC cmp lr, #0 - SW_NPC beq null_ptr_exception_jpc_1 -.abortentry74: - ldr tmp1, [lr, #8] @ tmp1 = length - DISPATCH_NEXT - cmp r2, tmp1 - bcs array_bound_exception_jpc_1 - add lr, lr, r2, lsl #2 - ldr tmp1, [lr, #BASE_OFFSET_WORD] - DISPATCH_NEXT - PUSH tmp1 - DISPATCH_FINISH -} - -(isub)(istore) { - mov r0, #opc_isub_u4store - strb r0, [jpc] - b do_isub_u4store -} - -(isub) -(istore_0,istore_1,istore_2,istore_3) { - mov r0, #opc_isub_istore_N - strb r0, [jpc] - b do_isub_istore_N -} - -(isub)(iastore,fastore) { - POP r2, r3 - DISPATCH_START \seq_len - sub tmp1, r3, r2 @ tmp1 = value - POP r2, r3 @ r2, index, r3 = ref - SW_NPC cmp r3, #0 - SW_NPC beq null_ptr_exception_jpc_1 -.abortentry105: - ldr lr, [r3, #8] @ lr = limit - DISPATCH_NEXT - cmp r2, lr - bcs array_bound_exception_jpc_1 - DISPATCH_NEXT - add r3, r3, r2, lsl #2 - str tmp1, [r3, #BASE_OFFSET_WORD] - DISPATCH_FINISH -} - -(isub)(iadd) { - DISPATCH_START \seq_len - POP r2, r3, tmp1 - DISPATCH_NEXT - sub tmp2, r3, r2 - DISPATCH_NEXT - add tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -} - -(isub)(isub) { - DISPATCH_START \seq_len - POP r2, r3, tmp1 - DISPATCH_NEXT - sub tmp2, r3, r2 - DISPATCH_NEXT - sub tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -} - -#ifdef NOTICE_SAFEPOINTS - -(isub)(ifeq,ifnull) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - sub r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - beq 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(isub)(ifne,ifnonnull) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - sub r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - bne 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(isub)(iflt) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - sub r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - blt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(isub)(ifge) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - sub r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - bge 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(isub)(ifgt) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - sub r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - bgt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(isub)(ifle) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - sub r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - ble 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(isub)(if_icmpeq,if_acmpeq) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - sub r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - beq 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(isub)(if_icmpne,if_acmpne) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - sub r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - bne 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(isub)(if_icmplt) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - sub r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - blt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(isub)(if_icmpge) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - sub r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - bge 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(isub)(if_icmpgt) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - sub r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - bgt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(isub)(if_icmple) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - sub r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - ble 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(isub)(goto) { - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add jpc, jpc, #1 - orr ip, ip, r1, lsl #8 - DISPATCH_START_REG ip - POP r2, r3 - sub r2, r3, r2 - DISPATCH_NEXT - PUSH r2 - DISPATCH_FINISH -} - -(isub)(ireturn) { - POP r2, r3 - ldr tmp2, [istate, #ISTATE_MONITOR_BASE] @ tmp2 = base - ldr tmp1, [istate, #ISTATE_STACK_BASE] @ tmp1 = end - sub r1, r3, r2 - ldr tmp_xxx, [istate, #ISTATE_THREAD] - cmp tmp1, tmp2 - bcc 1f -2: - mov r3, #0 - ldr stack, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] - ldr r0, [istate, #ISTATE_METHOD] - ldr r3, [stack, #0] - ldrh r0, [r0, #40] - ldr ip, [istate, #ISTATE_ADVANCE_PC] - ldr istate, [istate, #ISTATE_NEXT_FRAME] - str r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - str r1, [stack, r0, lsl #2]! - cmp ip, #0 - beq normal_return - - sub istate, istate, #ISTATE_NEXT_FRAME - - CACHE_JPC - ldr r2, [istate, #ISTATE_STACK_LIMIT] - DISPATCH_START_REG ip - sub stack, stack, #4 - ldr r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - DISPATCH_NEXT @ ldrb r1, [jpc, #2] - add r2, r2, #4 - DISPATCH_NEXT @ ldr ip, [dispatch, r0, lsl #2] - str r2, [tmp_xxx, #THREAD_JAVA_SP] - DISPATCH_NEXT @ ldrb r2, [jpc, #1] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] - CACHE_CP - CACHE_LOCALS - DISPATCH_NEXT @ ands lr, ip, lr - DISPATCH_FINISH -1: - PUSH r1 - add jpc, jpc, #1 - bl return_check_monitors - POP r1 - b 2b -} - -#endif // NOTICE_SAFEPOINTS - -(isub)(iinc) { - POP tmp1, lr - DISPATCH_START \seq_len - sub tmp1, lr, tmp1 - ldrb r3, [jpc, #-2] @ ECN: jpc now points to next bc - ldrsb r2, [jpc, #-1] - DISPATCH_NEXT - PUSH tmp1 - ldr tmp1, [locals, -r3, lsl #2] - DISPATCH_NEXT - add tmp1, tmp1, r2 - str tmp1, [locals, -r3, lsl #2] - DISPATCH_FINISH -} -@ ---- iand; xxx ------------------------------------------------------------ - -(iand)(iload,fload,aload) { - ldrb r3, [jpc, #2] - DISPATCH_START \seq_len - POP tmp2, tmp1 - DISPATCH_NEXT - rsb r3, r3, #0 - DISPATCH_NEXT - ldr r3, [locals, r3, lsl #2] - DISPATCH_NEXT - and tmp2, tmp1, tmp2 - DISPATCH_NEXT - PUSH r3, tmp2 - DISPATCH_FINISH -} - -(iand) -(iload_0,iload_1,iload_2,iload_3) -{ - DISPATCH_START \seq_len - rsb r3, r1, #opc_iload_0 - POP tmp2, tmp1 - DISPATCH_NEXT - ldr r3, [locals, r3, lsl #2] - and tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - DISPATCH_NEXT - PUSH r3, tmp2 - DISPATCH_FINISH -} - -(iand)(iaload,aaload,faload) { - POP r2, r3, lr @ lr = ref - DISPATCH_START \seq_len - and r2, r3, r2 @ r2 = index - SW_NPC cmp lr, #0 - SW_NPC beq null_ptr_exception_jpc_1 -.abortentry75: - ldr tmp1, [lr, #8] @ tmp1 = length - DISPATCH_NEXT - cmp r2, tmp1 - bcs array_bound_exception_jpc_1 - add lr, lr, r2, lsl #2 - ldr tmp1, [lr, #BASE_OFFSET_WORD] - DISPATCH_NEXT - PUSH tmp1 - DISPATCH_FINISH -} - -(iand)(istore) { - mov r0, #opc_iand_u4store - strb r0, [jpc] - b do_iand_u4store -} - -(iand) -(istore_0,istore_1,istore_2,istore_3) { - mov r0, #opc_iand_istore_N - strb r0, [jpc] - b do_iand_istore_N -} - -(iand)(iastore,fastore) { - POP r2, r3 - DISPATCH_START \seq_len - and tmp1, r3, r2 @ tmp1 = value - POP r2, r3 @ r2, index, r3 = ref - SW_NPC cmp r3, #0 - SW_NPC beq null_ptr_exception_jpc_1 -.abortentry107: - ldr lr, [r3, #8] @ lr = limit - DISPATCH_NEXT - cmp r2, lr - bcs array_bound_exception_jpc_1 - DISPATCH_NEXT - add r3, r3, r2, lsl #2 - str tmp1, [r3, #BASE_OFFSET_WORD] - DISPATCH_FINISH -} - -(iand)(iadd) { - DISPATCH_START \seq_len - POP r2, r3, tmp1 - DISPATCH_NEXT - and tmp2, r3, r2 - DISPATCH_NEXT - add tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -} - -(iand)(isub) { - DISPATCH_START \seq_len - POP r2, r3, tmp1 - DISPATCH_NEXT - and tmp2, r3, r2 - DISPATCH_NEXT - sub tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -} - -#ifdef NOTICE_SAFEPOINTS - -(iand)(ifeq,ifnull) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - and r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - beq 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iand)(ifne,ifnonnull) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - and r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - bne 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iand)(iflt) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - and r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - blt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iand)(ifge) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - and r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - bge 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iand)(ifgt) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - and r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - bgt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iand)(ifle) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - and r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - ble 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iand)(if_icmpeq,if_acmpeq) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - and r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - beq 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iand)(if_icmpne,if_acmpne) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - and r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - bne 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iand)(if_icmplt) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - and r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - blt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iand)(if_icmpge) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - and r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - bge 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iand)(if_icmpgt) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - and r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - bgt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iand)(if_icmple) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - and r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - ble 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iand)(goto) { - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add jpc, jpc, #1 - orr ip, ip, r1, lsl #8 - DISPATCH_START_REG ip - POP r2, r3 - and r2, r3, r2 - DISPATCH_NEXT - PUSH r2 - DISPATCH_FINISH -} - -(iand)(ireturn) { - POP r2, r3 - ldr tmp2, [istate, #ISTATE_MONITOR_BASE] @ tmp2 = base - ldr tmp1, [istate, #ISTATE_STACK_BASE] @ tmp1 = end - and r1, r3, r2 - ldr tmp_xxx, [istate, #ISTATE_THREAD] - cmp tmp1, tmp2 - bcc 1f -2: - mov r3, #0 - ldr stack, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] - ldr r0, [istate, #ISTATE_METHOD] - ldr r3, [stack, #0] - ldrh r0, [r0, #40] - ldr ip, [istate, #ISTATE_ADVANCE_PC] - ldr istate, [istate, #ISTATE_NEXT_FRAME] - str r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - str r1, [stack, r0, lsl #2]! - cmp ip, #0 - beq normal_return - - sub istate, istate, #ISTATE_NEXT_FRAME - - CACHE_JPC - ldr r2, [istate, #ISTATE_STACK_LIMIT] - DISPATCH_START_REG ip - sub stack, stack, #4 - ldr r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - DISPATCH_NEXT @ ldrb r1, [jpc, #2] - add r2, r2, #4 - DISPATCH_NEXT @ ldr ip, [dispatch, r0, lsl #2] - str r2, [tmp_xxx, #THREAD_JAVA_SP] - DISPATCH_NEXT @ ldrb r2, [jpc, #1] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] - CACHE_CP - CACHE_LOCALS - DISPATCH_NEXT @ ands lr, ip, lr - DISPATCH_FINISH -1: - PUSH r1 - add jpc, jpc, #1 - bl return_check_monitors - POP r1 - b 2b -} - -#endif // NOTICE_SAFEPOINTS - -(iand)(iinc) { - POP tmp1, lr - DISPATCH_START \seq_len - and tmp1, lr, tmp1 - ldrb r3, [jpc, #-2] @ ECN: jpc now points to next bc - ldrsb r2, [jpc, #-1] - DISPATCH_NEXT - PUSH tmp1 - ldr tmp1, [locals, -r3, lsl #2] - DISPATCH_NEXT - add tmp1, tmp1, r2 - str tmp1, [locals, -r3, lsl #2] - DISPATCH_FINISH -} -@ ---- ior; xxx ------------------------------------------------------------ - -(ior)(iload,fload,aload) { - ldrb r3, [jpc, #2] - DISPATCH_START \seq_len - POP tmp2, tmp1 - DISPATCH_NEXT - rsb r3, r3, #0 - DISPATCH_NEXT - ldr r3, [locals, r3, lsl #2] - DISPATCH_NEXT - orr tmp2, tmp1, tmp2 - DISPATCH_NEXT - PUSH r3, tmp2 - DISPATCH_FINISH -} - -(ior) -(iload_0,iload_1,iload_2,iload_3) -{ - DISPATCH_START \seq_len - rsb r3, r1, #opc_iload_0 - POP tmp2, tmp1 - DISPATCH_NEXT - ldr r3, [locals, r3, lsl #2] - orr tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - DISPATCH_NEXT - PUSH r3, tmp2 - DISPATCH_FINISH -} - -(ior)(iaload,aaload,faload) { - POP r2, r3, lr @ lr = ref - DISPATCH_START \seq_len - orr r2, r3, r2 @ r2 = index - SW_NPC cmp lr, #0 - SW_NPC beq null_ptr_exception_jpc_1 -.abortentry76: - ldr tmp1, [lr, #8] @ tmp1 = length - DISPATCH_NEXT - cmp r2, tmp1 - bcs array_bound_exception_jpc_1 - add lr, lr, r2, lsl #2 - ldr tmp1, [lr, #BASE_OFFSET_WORD] - DISPATCH_NEXT - PUSH tmp1 - DISPATCH_FINISH -} - -(ior)(istore) { - mov r0, #opc_ior_u4store - strb r0, [jpc] - b do_ior_u4store -} - -(ior) -(istore_0,istore_1,istore_2,istore_3) { - mov r0, #opc_ior_istore_N - strb r0, [jpc] - b do_ior_istore_N -} - -(ior)(iastore,fastore) { - POP r2, r3 - DISPATCH_START \seq_len - orr tmp1, r3, r2 @ tmp1 = value - POP r2, r3 @ r2, index, r3 = ref - SW_NPC cmp r3, #0 - SW_NPC beq null_ptr_exception_jpc_1 -.abortentry108: - ldr lr, [r3, #8] @ lr = limit - DISPATCH_NEXT - cmp r2, lr - bcs array_bound_exception_jpc_1 - DISPATCH_NEXT - add r3, r3, r2, lsl #2 - str tmp1, [r3, #BASE_OFFSET_WORD] - DISPATCH_FINISH -} - -(ior)(iadd) { - DISPATCH_START \seq_len - POP r2, r3, tmp1 - DISPATCH_NEXT - orr tmp2, r3, r2 - DISPATCH_NEXT - add tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -} - -(ior)(isub) { - DISPATCH_START \seq_len - POP r2, r3, tmp1 - DISPATCH_NEXT - orr tmp2, r3, r2 - DISPATCH_NEXT - sub tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -} - -#ifdef NOTICE_SAFEPOINTS - -(ior)(ifeq,ifnull) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - orr r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - beq 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(ior)(ifne,ifnonnull) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - orr r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - bne 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(ior)(iflt) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - orr r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - blt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(ior)(ifge) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - orr r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - bge 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(ior)(ifgt) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - orr r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - bgt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(ior)(ifle) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - orr r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - ble 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(ior)(if_icmpeq,if_acmpeq) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - orr r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - beq 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(ior)(if_icmpne,if_acmpne) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - orr r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - bne 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(ior)(if_icmplt) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - orr r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - blt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(ior)(if_icmpge) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - orr r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - bge 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(ior)(if_icmpgt) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - orr r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - bgt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(ior)(if_icmple) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - orr r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - ble 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(ior)(goto) { - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add jpc, jpc, #1 - orr ip, ip, r1, lsl #8 - DISPATCH_START_REG ip - POP r2, r3 - orr r2, r3, r2 - DISPATCH_NEXT - PUSH r2 - DISPATCH_FINISH -} - -(ior)(ireturn) { - POP r2, r3 - ldr tmp2, [istate, #ISTATE_MONITOR_BASE] @ tmp2 = base - ldr tmp1, [istate, #ISTATE_STACK_BASE] @ tmp1 = end - orr r1, r3, r2 - ldr tmp_xxx, [istate, #ISTATE_THREAD] - cmp tmp1, tmp2 - bcc 1f -2: - mov r3, #0 - ldr stack, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] - ldr r0, [istate, #ISTATE_METHOD] - ldr r3, [stack, #0] - ldrh r0, [r0, #40] - ldr ip, [istate, #ISTATE_ADVANCE_PC] - ldr istate, [istate, #ISTATE_NEXT_FRAME] - str r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - str r1, [stack, r0, lsl #2]! - cmp ip, #0 - beq normal_return - - sub istate, istate, #ISTATE_NEXT_FRAME - - CACHE_JPC - ldr r2, [istate, #ISTATE_STACK_LIMIT] - DISPATCH_START_REG ip - sub stack, stack, #4 - ldr r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - DISPATCH_NEXT @ ldrb r1, [jpc, #2] - add r2, r2, #4 - DISPATCH_NEXT @ ldr ip, [dispatch, r0, lsl #2] - str r2, [tmp_xxx, #THREAD_JAVA_SP] - DISPATCH_NEXT @ ldrb r2, [jpc, #1] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] - CACHE_CP - CACHE_LOCALS - DISPATCH_NEXT @ ands lr, ip, lr - DISPATCH_FINISH -1: - PUSH r1 - add jpc, jpc, #1 - bl return_check_monitors - POP r1 - b 2b -} - -#endif // NOTICE_SAFEPOINTS - -(ior)(iinc) { +(iand)(iinc) { POP tmp1, lr DISPATCH_START \seq_len - orr tmp1, lr, tmp1 - ldrb r3, [jpc, #-2] @ ECN: jpc now points to next bc + and tmp1, lr, tmp1 + ldrb r3, [jpc, #-2] @ jpc now points to next bc ldrsb r2, [jpc, #-1] DISPATCH_NEXT PUSH tmp1 @@ -6751,10 +5015,9 @@ str tmp1, [locals, -r3, lsl #2] DISPATCH_FINISH } +@ ---- ior; xxx ------------------------------------------------------------ -@ ---- ixor; xxx ------------------------------------------------------------ - -(ixor)(iload,fload,aload) { +(ior)(iload,fload,aload) { ldrb r3, [jpc, #2] DISPATCH_START \seq_len POP tmp2, tmp1 @@ -6763,13 +5026,13 @@ DISPATCH_NEXT ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT - eor tmp2, tmp1, tmp2 + orr tmp2, tmp1, tmp2 DISPATCH_NEXT PUSH r3, tmp2 DISPATCH_FINISH } -(ixor) +(ior) (iload_0,iload_1,iload_2,iload_3) { DISPATCH_START \seq_len @@ -6777,7 +5040,7 @@ POP tmp2, tmp1 DISPATCH_NEXT ldr r3, [locals, r3, lsl #2] - eor tmp2, tmp1, tmp2 + orr tmp2, tmp1, tmp2 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT @@ -6785,13 +5048,13 @@ DISPATCH_FINISH } -(ixor)(iaload,aaload,faload) { +(ior)(iaload,aaload,faload) { POP r2, r3, lr @ lr = ref DISPATCH_START \seq_len - eor r2, r3, r2 @ r2 = index + orr r2, r3, r2 @ r2 = index SW_NPC cmp lr, #0 SW_NPC beq null_ptr_exception_jpc_1 -.abortentry77: +.abortentry76: ldr tmp1, [lr, #8] @ tmp1 = length DISPATCH_NEXT cmp r2, tmp1 @@ -6803,27 +5066,27 @@ DISPATCH_FINISH } -(ixor)(istore) { - mov r0, #opc_ixor_u4store +(ior)(istore) { + mov r0, #opc_ior_u4store strb r0, [jpc] - b do_ixor_u4store + b do_ior_u4store } -(ixor) +(ior) (istore_0,istore_1,istore_2,istore_3) { - mov r0, #opc_ixor_istore_N + mov r0, #opc_ior_istore_N strb r0, [jpc] - b do_ixor_istore_N + b do_ior_istore_N } -(ixor)(iastore,fastore) { +(ior)(iastore,fastore) { POP r2, r3 DISPATCH_START \seq_len - eor tmp1, r3, r2 @ tmp1 = value + orr tmp1, r3, r2 @ tmp1 = value POP r2, r3 @ r2, index, r3 = ref SW_NPC cmp r3, #0 SW_NPC beq null_ptr_exception_jpc_1 -.abortentry109: +.abortentry108: ldr lr, [r3, #8] @ lr = limit DISPATCH_NEXT cmp r2, lr @@ -6834,11 +5097,11 @@ DISPATCH_FINISH } -(ixor)(iadd) { +(ior)(iadd) { DISPATCH_START \seq_len POP r2, r3, tmp1 DISPATCH_NEXT - eor tmp2, r3, r2 + orr tmp2, r3, r2 DISPATCH_NEXT add tmp2, tmp1, tmp2 DISPATCH_NEXT @@ -6847,11 +5110,11 @@ DISPATCH_FINISH } -(ixor)(isub) { +(ior)(isub) { DISPATCH_START \seq_len POP r2, r3, tmp1 DISPATCH_NEXT - eor tmp2, r3, r2 + orr tmp2, r3, r2 DISPATCH_NEXT sub tmp2, tmp1, tmp2 DISPATCH_NEXT @@ -6860,255 +5123,134 @@ DISPATCH_FINISH } -#ifdef NOTICE_SAFEPOINTS - -(ixor)(ifeq,ifnull) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - eor r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - beq 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(ixor)(ifne,ifnonnull) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - eor r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - bne 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(ixor)(iflt) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - eor r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - blt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(ixor)(ifge) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - eor r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - bge 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(ixor)(ifgt) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - eor r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - bgt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(ixor)(ifle) { - POP r2, r3 - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - eor r3, r3, r2 - add jpc, jpc, #1 - cmp r3, #0 - orr ip, ip, r1, lsl #8 - ble 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE +(ior)(iinc) { + POP tmp1, lr + DISPATCH_START \seq_len + orr tmp1, lr, tmp1 + ldrb r3, [jpc, #-2] @ jpc now points to next bc + ldrsb r2, [jpc, #-1] + DISPATCH_NEXT + PUSH tmp1 + ldr tmp1, [locals, -r3, lsl #2] + DISPATCH_NEXT + add tmp1, tmp1, r2 + str tmp1, [locals, -r3, lsl #2] + DISPATCH_FINISH } -(ixor)(if_icmpeq,if_acmpeq) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - eor r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - beq 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} +@ ---- ixor; xxx ------------------------------------------------------------ -(ixor)(if_icmpne,if_acmpne) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - eor r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - bne 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE +(ixor)(iload,fload,aload) { + ldrb r3, [jpc, #2] + DISPATCH_START \seq_len + POP tmp2, tmp1 + DISPATCH_NEXT + rsb r3, r3, #0 + DISPATCH_NEXT + ldr r3, [locals, r3, lsl #2] + DISPATCH_NEXT + eor tmp2, tmp1, tmp2 + DISPATCH_NEXT + PUSH r3, tmp2 + DISPATCH_FINISH } -(ixor)(if_icmplt) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - eor r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - blt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE +(ixor) +(iload_0,iload_1,iload_2,iload_3) +{ + DISPATCH_START \seq_len + rsb r3, r1, #opc_iload_0 + POP tmp2, tmp1 + DISPATCH_NEXT + ldr r3, [locals, r3, lsl #2] + eor tmp2, tmp1, tmp2 + DISPATCH_NEXT + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r3, tmp2 + DISPATCH_FINISH } -(ixor)(if_icmpge) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - eor r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - bge 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE +(ixor)(iaload,aaload,faload) { + POP r2, r3, lr @ lr = ref + DISPATCH_START \seq_len + eor r2, r3, r2 @ r2 = index + SW_NPC cmp lr, #0 + SW_NPC beq null_ptr_exception_jpc_1 +.abortentry77: + ldr tmp1, [lr, #8] @ tmp1 = length + DISPATCH_NEXT + cmp r2, tmp1 + bcs array_bound_exception_jpc_1 + add lr, lr, r2, lsl #2 + ldr tmp1, [lr, #BASE_OFFSET_WORD] + DISPATCH_NEXT + PUSH tmp1 + DISPATCH_FINISH } -(ixor)(if_icmpgt) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - eor r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - bgt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE +(ixor)(istore) { + mov r0, #opc_ixor_u4store + strb r0, [jpc] + b do_ixor_u4store } -(ixor)(if_icmple) { - POP r2, r3, lr - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - eor r2, r3, r2 - add jpc, jpc, #1 - cmp lr, r2 - orr ip, ip, r1, lsl #8 - ble 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE +(ixor) +(istore_0,istore_1,istore_2,istore_3) { + mov r0, #opc_ixor_istore_N + strb r0, [jpc] + b do_ixor_istore_N } -(ixor)(goto) { - ldrsb r1, [jpc, #2] - ldrb ip, [jpc, #3] - add jpc, jpc, #1 - orr ip, ip, r1, lsl #8 - DISPATCH_START_REG ip +(ixor)(iastore,fastore) { POP r2, r3 - eor r2, r3, r2 + DISPATCH_START \seq_len + eor tmp1, r3, r2 @ tmp1 = value + POP r2, r3 @ r2, index, r3 = ref + SW_NPC cmp r3, #0 + SW_NPC beq null_ptr_exception_jpc_1 +.abortentry109: + ldr lr, [r3, #8] @ lr = limit DISPATCH_NEXT - PUSH r2 + cmp r2, lr + bcs array_bound_exception_jpc_1 + DISPATCH_NEXT + add r3, r3, r2, lsl #2 + str tmp1, [r3, #BASE_OFFSET_WORD] DISPATCH_FINISH -} - -(ixor)(ireturn) { - POP r2, r3 - ldr tmp2, [istate, #ISTATE_MONITOR_BASE] @ tmp2 = base - ldr tmp1, [istate, #ISTATE_STACK_BASE] @ tmp1 = end - eor r1, r3, r2 - ldr tmp_xxx, [istate, #ISTATE_THREAD] - cmp tmp1, tmp2 - bcc 1f -2: - mov r3, #0 - ldr stack, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] - ldr r0, [istate, #ISTATE_METHOD] - ldr r3, [stack, #0] - ldrh r0, [r0, #40] - ldr ip, [istate, #ISTATE_ADVANCE_PC] - ldr istate, [istate, #ISTATE_NEXT_FRAME] - str r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - str r1, [stack, r0, lsl #2]! - cmp ip, #0 - beq normal_return - - sub istate, istate, #ISTATE_NEXT_FRAME +} - CACHE_JPC - ldr r2, [istate, #ISTATE_STACK_LIMIT] - DISPATCH_START_REG ip - sub stack, stack, #4 - ldr r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - DISPATCH_NEXT @ ldrb r1, [jpc, #2] - add r2, r2, #4 - DISPATCH_NEXT @ ldr ip, [dispatch, r0, lsl #2] - str r2, [tmp_xxx, #THREAD_JAVA_SP] - DISPATCH_NEXT @ ldrb r2, [jpc, #1] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] - CACHE_CP - CACHE_LOCALS - DISPATCH_NEXT @ ands lr, ip, lr +(ixor)(iadd) { + DISPATCH_START \seq_len + POP r2, r3, tmp1 + DISPATCH_NEXT + eor tmp2, r3, r2 + DISPATCH_NEXT + add tmp2, tmp1, tmp2 + DISPATCH_NEXT + DISPATCH_NEXT + PUSH tmp2 DISPATCH_FINISH -1: - PUSH r1 - add jpc, jpc, #1 - bl return_check_monitors - POP r1 - b 2b } -#endif // NOTICE_SAFEPOINTS +(ixor)(isub) { + DISPATCH_START \seq_len + POP r2, r3, tmp1 + DISPATCH_NEXT + eor tmp2, r3, r2 + DISPATCH_NEXT + sub tmp2, tmp1, tmp2 + DISPATCH_NEXT + DISPATCH_NEXT + PUSH tmp2 + DISPATCH_FINISH +} (ixor)(iinc) { POP tmp1, lr DISPATCH_START \seq_len eor tmp1, lr, tmp1 - ldrb r3, [jpc, #-2] @ ECN: jpc now points to next bc + ldrb r3, [jpc, #-2] @ jpc now points to next bc ldrsb r2, [jpc, #-1] DISPATCH_NEXT PUSH tmp1 @@ -7175,7 +5317,7 @@ } @############################################################################### -@# ECN: Optimised bytecode triples +@# Optimised bytecode triples @############################################################################### (iaccess_0,iaccess_1,iaccess_2,iaccess_3) @@ -7233,334 +5375,24 @@ rsb tmp1, r0, #opc_iaccess_0 ldrb ip, [jpc, #2] add tmp2, constpool, r2, lsl #12 - DISPATCH_START 5 - ldr tmp1, [locals, tmp1, lsl #2] - add tmp2, ip, lsl #4 - DISPATCH_NEXT - SW_NPC cmp tmp1, #0 - SW_NPC beq null_ptr_exception_jpc_4 - DISPATCH_NEXT - ldr tmp2, [tmp2, #CP_OFFSET+8] - DISPATCH_NEXT - POP r3 -.abortentry91: - ldr tmp2, [tmp1, tmp2] - DISPATCH_NEXT - add tmp2, tmp2, r3 - PUSH tmp2 - DISPATCH_FINISH -} - -#ifdef NOTICE_SAFEPOINTS - -(iaccess_0,iaccess_1,iaccess_2,iaccess_3) -(ifeq,ifnull) { - ldrb r2, [jpc, #3] - rsb tmp1, r0, #opc_iaccess_0 - ldrb ip, [jpc, #2] - add jpc, jpc, #4 - ldrsb r0, [jpc, #1] - add tmp2, constpool, r2, lsl #12 - ldr tmp1, [locals, tmp1, lsl #2] - add tmp2, ip, lsl #4 - ldrb ip, [jpc, #2] - SW_NPC cmp tmp1, #0 - SW_NPC beq null_ptr_exception_jpc_3 - ldr tmp2, [tmp2, #CP_OFFSET+8] - orr ip, ip, r0, lsl #8 -.abortentry92: - ldr tmp2, [tmp1, tmp2] - cmp tmp2, #0 - beq 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iaccess_0,iaccess_1,iaccess_2,iaccess_3) -(ifne,ifnonnull) { - ldrb r2, [jpc, #3] - rsb tmp1, r0, #opc_iaccess_0 - ldrb ip, [jpc, #2] - add jpc, jpc, #4 - ldrsb r0, [jpc, #1] - add tmp2, constpool, r2, lsl #12 - ldr tmp1, [locals, tmp1, lsl #2] - add tmp2, ip, lsl #4 - ldrb ip, [jpc, #2] - SW_NPC cmp tmp1, #0 - SW_NPC beq null_ptr_exception_jpc_3 - ldr tmp2, [tmp2, #CP_OFFSET+8] - orr ip, ip, r0, lsl #8 -.abortentry93: - ldr tmp2, [tmp1, tmp2] - cmp tmp2, #0 - bne 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iaccess_0,iaccess_1,iaccess_2,iaccess_3) -(iflt) { - ldrb r2, [jpc, #3] - rsb tmp1, r0, #opc_iaccess_0 - ldrb ip, [jpc, #2] - add jpc, jpc, #4 - ldrsb r0, [jpc, #1] - add tmp2, constpool, r2, lsl #12 - ldr tmp1, [locals, tmp1, lsl #2] - add tmp2, ip, lsl #4 - ldrb ip, [jpc, #2] - SW_NPC cmp tmp1, #0 - SW_NPC beq null_ptr_exception_jpc_3 - ldr tmp2, [tmp2, #CP_OFFSET+8] - orr ip, ip, r0, lsl #8 -.abortentry94: - ldr tmp2, [tmp1, tmp2] - cmp tmp2, #0 - blt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iaccess_0,iaccess_1,iaccess_2,iaccess_3) -(ifge) { - ldrb r2, [jpc, #3] - rsb tmp1, r0, #opc_iaccess_0 - ldrb ip, [jpc, #2] - add jpc, jpc, #4 - ldrsb r0, [jpc, #1] - add tmp2, constpool, r2, lsl #12 - ldr tmp1, [locals, tmp1, lsl #2] - add tmp2, ip, lsl #4 - ldrb ip, [jpc, #2] - SW_NPC cmp tmp1, #0 - SW_NPC beq null_ptr_exception_jpc_3 - ldr tmp2, [tmp2, #CP_OFFSET+8] - orr ip, ip, r0, lsl #8 -.abortentry95: - ldr tmp2, [tmp1, tmp2] - cmp tmp2, #0 - bge 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iaccess_0,iaccess_1,iaccess_2,iaccess_3) -(ifgt) { - ldrb r2, [jpc, #3] - rsb tmp1, r0, #opc_iaccess_0 - ldrb ip, [jpc, #2] - add jpc, jpc, #4 - ldrsb r0, [jpc, #1] - add tmp2, constpool, r2, lsl #12 - ldr tmp1, [locals, tmp1, lsl #2] - add tmp2, ip, lsl #4 - ldrb ip, [jpc, #2] - SW_NPC cmp tmp1, #0 - SW_NPC beq null_ptr_exception_jpc_3 - ldr tmp2, [tmp2, #CP_OFFSET+8] - orr ip, ip, r0, lsl #8 -.abortentry96: - ldr tmp2, [tmp1, tmp2] - cmp tmp2, #0 - bgt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iaccess_0,iaccess_1,iaccess_2,iaccess_3) -(ifle) { - ldrb r2, [jpc, #3] - rsb tmp1, r0, #opc_iaccess_0 - ldrb ip, [jpc, #2] - add jpc, jpc, #4 - ldrsb r0, [jpc, #1] - add tmp2, constpool, r2, lsl #12 - ldr tmp1, [locals, tmp1, lsl #2] - add tmp2, ip, lsl #4 - ldrb ip, [jpc, #2] - SW_NPC cmp tmp1, #0 - SW_NPC beq null_ptr_exception_jpc_3 - ldr tmp2, [tmp2, #CP_OFFSET+8] - orr ip, ip, r0, lsl #8 -.abortentry97: - ldr tmp2, [tmp1, tmp2] - cmp tmp2, #0 - ble 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iaccess_0,iaccess_1,iaccess_2,iaccess_3) -(if_icmpeq,if_acmpeq) { - ldrb r2, [jpc, #3] - rsb tmp1, r0, #opc_iaccess_0 - ldrb ip, [jpc, #2] - add jpc, jpc, #4 - ldrsb r0, [jpc, #1] - add tmp2, constpool, r2, lsl #12 - ldr tmp1, [locals, tmp1, lsl #2] - add tmp2, ip, lsl #4 - ldrb ip, [jpc, #2] - SW_NPC cmp tmp1, #0 - SW_NPC beq null_ptr_exception_jpc_3 - ldr tmp2, [tmp2, #CP_OFFSET+8] - POP r3 - orr ip, ip, r0, lsl #8 -.abortentry98: - ldr tmp2, [tmp1, tmp2] - cmp r3, tmp2 - beq 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iaccess_0,iaccess_1,iaccess_2,iaccess_3) -(if_icmpne,if_acmpne) { - ldrb r2, [jpc, #3] - rsb tmp1, r0, #opc_iaccess_0 - ldrb ip, [jpc, #2] - add jpc, jpc, #4 - ldrsb r0, [jpc, #1] - add tmp2, constpool, r2, lsl #12 - ldr tmp1, [locals, tmp1, lsl #2] - add tmp2, ip, lsl #4 - ldrb ip, [jpc, #2] - SW_NPC cmp tmp1, #0 - SW_NPC beq null_ptr_exception_jpc_3 - ldr tmp2, [tmp2, #CP_OFFSET+8] - POP r3 - orr ip, ip, r0, lsl #8 -.abortentry99: - ldr tmp2, [tmp1, tmp2] - cmp r3, tmp2 - bne 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iaccess_0,iaccess_1,iaccess_2,iaccess_3) -(if_icmplt) { - ldrb r2, [jpc, #3] - rsb tmp1, r0, #opc_iaccess_0 - ldrb ip, [jpc, #2] - add jpc, jpc, #4 - ldrsb r0, [jpc, #1] - add tmp2, constpool, r2, lsl #12 - ldr tmp1, [locals, tmp1, lsl #2] - add tmp2, ip, lsl #4 - ldrb ip, [jpc, #2] - SW_NPC cmp tmp1, #0 - SW_NPC beq null_ptr_exception_jpc_3 - ldr tmp2, [tmp2, #CP_OFFSET+8] - POP r3 - orr ip, ip, r0, lsl #8 -.abortentry100: - ldr tmp2, [tmp1, tmp2] - cmp r3, tmp2 - blt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iaccess_0,iaccess_1,iaccess_2,iaccess_3) -(if_icmpge) { - ldrb r2, [jpc, #3] - rsb tmp1, r0, #opc_iaccess_0 - ldrb ip, [jpc, #2] - add jpc, jpc, #4 - ldrsb r0, [jpc, #1] - add tmp2, constpool, r2, lsl #12 - ldr tmp1, [locals, tmp1, lsl #2] - add tmp2, ip, lsl #4 - ldrb ip, [jpc, #2] - SW_NPC cmp tmp1, #0 - SW_NPC beq null_ptr_exception_jpc_3 - ldr tmp2, [tmp2, #CP_OFFSET+8] - POP r3 - orr ip, ip, r0, lsl #8 -.abortentry101: - ldr tmp2, [tmp1, tmp2] - cmp r3, tmp2 - bge 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iaccess_0,iaccess_1,iaccess_2,iaccess_3) -(if_icmpgt) { - ldrb r2, [jpc, #3] - rsb tmp1, r0, #opc_iaccess_0 - ldrb ip, [jpc, #2] - add jpc, jpc, #4 - ldrsb r0, [jpc, #1] - add tmp2, constpool, r2, lsl #12 - ldr tmp1, [locals, tmp1, lsl #2] - add tmp2, ip, lsl #4 - ldrb ip, [jpc, #2] - SW_NPC cmp tmp1, #0 - SW_NPC beq null_ptr_exception_jpc_3 - ldr tmp2, [tmp2, #CP_OFFSET+8] - POP r3 - orr ip, ip, r0, lsl #8 -.abortentry102: - ldr tmp2, [tmp1, tmp2] - cmp r3, tmp2 - bgt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -(iaccess_0,iaccess_1,iaccess_2,iaccess_3) -(if_icmple) { - ldrb r2, [jpc, #3] - rsb tmp1, r0, #opc_iaccess_0 - ldrb ip, [jpc, #2] - add jpc, jpc, #4 - ldrsb r0, [jpc, #1] - add tmp2, constpool, r2, lsl #12 + DISPATCH_START 5 ldr tmp1, [locals, tmp1, lsl #2] add tmp2, ip, lsl #4 - ldrb ip, [jpc, #2] + DISPATCH_NEXT SW_NPC cmp tmp1, #0 - SW_NPC beq null_ptr_exception_jpc_3 + SW_NPC beq null_ptr_exception_jpc_4 + DISPATCH_NEXT ldr tmp2, [tmp2, #CP_OFFSET+8] + DISPATCH_NEXT POP r3 - orr ip, ip, r0, lsl #8 -.abortentry103: +.abortentry91: ldr tmp2, [tmp1, tmp2] - cmp r3, tmp2 - ble 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + DISPATCH_NEXT + add tmp2, tmp2, r3 + PUSH tmp2 + DISPATCH_FINISH } -#endif // NOTICE_SAFEPOINTS - (iload_0_iconst_N,iload_1_iconst_N,iload_2_iconst_N,iload_3_iconst_N) (iadd) { @@ -8564,23 +6396,20 @@ DISPATCH_FINISH } +#ifdef NOTICE_SAFEPOINTS + (iload_0_iconst_N,iload_1_iconst_N,iload_2_iconst_N,iload_3_iconst_N) (if_icmpeq,if_acmpeq) { ldrb r3, [jpc, #1] rsb r2, r0, #opc_iload_0_iconst_N ldrsb r1, [jpc, #3] + ldr r2, [locals, r2, lsl #2] sub r3, r3, #opc_iconst_0 ldrb ip, [jpc, #4] - ldr r2, [locals, r2, lsl #2] - add jpc, jpc, #2 cmp r2, r3 - orr ip, ip, r1, lsl #8 - beq 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + beq branch_taken_unsafe_2 + DISPATCH 5 } (iload_iconst_N) @@ -8589,17 +6418,12 @@ ldrb r3, [jpc, #2] rsb r2, r2, #0 ldrsb r1, [jpc, #4] + ldr r2, [locals, r2, lsl #2] sub r3, r3, #opc_iconst_0 ldrb ip, [jpc, #5] - ldr r2, [locals, r2, lsl #2] - add jpc, jpc, #3 cmp r2, r3 - orr ip, ip, r1, lsl #8 - beq 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + beq branch_taken_unsafe_3 + DISPATCH 6 } (iload_0_iconst_N,iload_1_iconst_N,iload_2_iconst_N,iload_3_iconst_N) @@ -8608,17 +6432,12 @@ ldrb r3, [jpc, #1] rsb r2, r0, #opc_iload_0_iconst_N ldrsb r1, [jpc, #3] + ldr r2, [locals, r2, lsl #2] sub r3, r3, #opc_iconst_0 ldrb ip, [jpc, #4] - ldr r2, [locals, r2, lsl #2] - add jpc, jpc, #2 cmp r2, r3 - orr ip, ip, r1, lsl #8 - bne 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bne branch_taken_unsafe_2 + DISPATCH 5 } (iload_iconst_N) @@ -8627,17 +6446,12 @@ ldrb r3, [jpc, #2] rsb r2, r2, #0 ldrsb r1, [jpc, #4] + ldr r2, [locals, r2, lsl #2] sub r3, r3, #opc_iconst_0 ldrb ip, [jpc, #5] - ldr r2, [locals, r2, lsl #2] - add jpc, jpc, #3 cmp r2, r3 - orr ip, ip, r1, lsl #8 - bne 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bne branch_taken_unsafe_3 + DISPATCH 6 } (iload_0_iconst_N,iload_1_iconst_N,iload_2_iconst_N,iload_3_iconst_N) @@ -8646,17 +6460,12 @@ ldrb r3, [jpc, #1] rsb r2, r0, #opc_iload_0_iconst_N ldrsb r1, [jpc, #3] + ldr r2, [locals, r2, lsl #2] sub r3, r3, #opc_iconst_0 ldrb ip, [jpc, #4] - ldr r2, [locals, r2, lsl #2] - add jpc, jpc, #2 cmp r2, r3 - orr ip, ip, r1, lsl #8 - blt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + blt branch_taken_unsafe_2 + DISPATCH 5 } (iload_iconst_N) @@ -8665,17 +6474,12 @@ ldrb r3, [jpc, #2] rsb r2, r2, #0 ldrsb r1, [jpc, #4] + ldr r2, [locals, r2, lsl #2] sub r3, r3, #opc_iconst_0 ldrb ip, [jpc, #5] - ldr r2, [locals, r2, lsl #2] - add jpc, jpc, #3 cmp r2, r3 - orr ip, ip, r1, lsl #8 - blt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + blt branch_taken_unsafe_3 + DISPATCH 6 } (iload_0_iconst_N,iload_1_iconst_N,iload_2_iconst_N,iload_3_iconst_N) @@ -8684,17 +6488,12 @@ ldrb r3, [jpc, #1] rsb r2, r0, #opc_iload_0_iconst_N ldrsb r1, [jpc, #3] + ldr r2, [locals, r2, lsl #2] sub r3, r3, #opc_iconst_0 ldrb ip, [jpc, #4] - ldr r2, [locals, r2, lsl #2] - add jpc, jpc, #2 cmp r2, r3 - orr ip, ip, r1, lsl #8 - bge 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bge branch_taken_unsafe_2 + DISPATCH 5 } (iload_iconst_N) @@ -8703,17 +6502,12 @@ ldrb r3, [jpc, #2] rsb r2, r2, #0 ldrsb r1, [jpc, #4] + ldr r2, [locals, r2, lsl #2] sub r3, r3, #opc_iconst_0 ldrb ip, [jpc, #5] - ldr r2, [locals, r2, lsl #2] - add jpc, jpc, #3 cmp r2, r3 - orr ip, ip, r1, lsl #8 - bge 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bge branch_taken_unsafe_3 + DISPATCH 6 } (iload_0_iconst_N,iload_1_iconst_N,iload_2_iconst_N,iload_3_iconst_N) @@ -8722,17 +6516,12 @@ ldrb r3, [jpc, #1] rsb r2, r0, #opc_iload_0_iconst_N ldrsb r1, [jpc, #3] + ldr r2, [locals, r2, lsl #2] sub r3, r3, #opc_iconst_0 ldrb ip, [jpc, #4] - ldr r2, [locals, r2, lsl #2] - add jpc, jpc, #2 cmp r2, r3 - orr ip, ip, r1, lsl #8 - bgt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bgt branch_taken_unsafe_2 + DISPATCH 5 } (iload_iconst_N) @@ -8741,17 +6530,12 @@ ldrb r3, [jpc, #2] rsb r2, r2, #0 ldrsb r1, [jpc, #4] + ldr r2, [locals, r2, lsl #2] sub r3, r3, #opc_iconst_0 ldrb ip, [jpc, #5] - ldr r2, [locals, r2, lsl #2] - add jpc, jpc, #3 cmp r2, r3 - orr ip, ip, r1, lsl #8 - bgt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bgt branch_taken_unsafe_3 + DISPATCH 6 } (iload_0_iconst_N,iload_1_iconst_N,iload_2_iconst_N,iload_3_iconst_N) @@ -8760,17 +6544,12 @@ ldrb r3, [jpc, #1] rsb r2, r0, #opc_iload_0_iconst_N ldrsb r1, [jpc, #3] + ldr r2, [locals, r2, lsl #2] sub r3, r3, #opc_iconst_0 ldrb ip, [jpc, #4] - ldr r2, [locals, r2, lsl #2] - add jpc, jpc, #2 cmp r2, r3 - orr ip, ip, r1, lsl #8 - ble 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + ble branch_taken_unsafe_2 + DISPATCH 5 } (iload_iconst_N) @@ -8779,19 +6558,16 @@ ldrb r3, [jpc, #2] rsb r2, r2, #0 ldrsb r1, [jpc, #4] + ldr r2, [locals, r2, lsl #2] sub r3, r3, #opc_iconst_0 ldrb ip, [jpc, #5] - ldr r2, [locals, r2, lsl #2] - add jpc, jpc, #3 cmp r2, r3 - orr ip, ip, r1, lsl #8 - ble 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + ble branch_taken_unsafe_3 + DISPATCH 6 } +#endif // NOTICE_SAFEPOINTS + (iload_iload) (iadd_istore_N) { @@ -9582,23 +7358,20 @@ DISPATCH_FINISH } +#ifdef NOTICE_SAFEPOINTS + (iload_iload) (if_icmpeq,if_acmpeq) { ldrb r3, [jpc, #3] rsb r2, r2, #0 ldrsb r1, [jpc, #5] rsb r3, r3, #0 - ldrb ip, [jpc, #6] ldr r2, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] - add jpc, jpc, #4 + ldrb ip, [jpc, #6] cmp r2, r3 - orr ip, ip, r1, lsl #8 - beq 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + beq branch_taken_unsafe_4 + DISPATCH 7 } (iload_iload_N) @@ -9607,17 +7380,12 @@ rsb r2, r2, #0 ldrsb r1, [jpc, #4] rsb r3, r3, #opc_iload_0 - ldrb ip, [jpc, #5] ldr r2, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] - add jpc, jpc, #3 + ldrb ip, [jpc, #5] cmp r2, r3 - orr ip, ip, r1, lsl #8 - beq 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + beq branch_taken_unsafe_3 + DISPATCH 6 } (iload_0_iload,iload_1_iload,iload_2_iload,iload_3_iload) @@ -9626,35 +7394,39 @@ rsb r2, r0, #opc_iload_0_iload ldrsb r1, [jpc, #4] rsb r3, r3, #0 - ldrb ip, [jpc, #5] ldr r2, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] - add jpc, jpc, #3 + ldrb ip, [jpc, #5] cmp r2, r3 - orr ip, ip, r1, lsl #8 - beq 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + beq branch_taken_unsafe_3 + DISPATCH 6 } (iload_0_iload_N,iload_1_iload_N,iload_2_iload_N,iload_3_iload_N) (if_icmpeq,if_acmpeq) { rsb r3, r2, #opc_iload_0 - rsb r2, r0, #opc_iload_0_iload_N ldrsb r1, [jpc, #3] + rsb r2, r0, #opc_iload_0_iload_N + ldr r3, [locals, r3, lsl #2] + ldr r2, [locals, r2, lsl #2] ldrb ip, [jpc, #4] + cmp r2, r3 + beq branch_taken_unsafe_2 + DISPATCH 5 +} + +(iload_iload) +(if_icmpne,if_acmpne) { + ldrb r3, [jpc, #3] + rsb r2, r2, #0 + ldrsb r1, [jpc, #5] + rsb r3, r3, #0 ldr r2, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] - add jpc, jpc, #2 + ldrb ip, [jpc, #6] cmp r2, r3 - orr ip, ip, r1, lsl #8 - beq 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bne branch_taken_unsafe_4 + DISPATCH 7 } (iload_iload_N) @@ -9663,17 +7435,12 @@ rsb r2, r2, #0 ldrsb r1, [jpc, #4] rsb r3, r3, #opc_iload_0 - ldrb ip, [jpc, #5] ldr r2, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] - add jpc, jpc, #3 + ldrb ip, [jpc, #5] cmp r2, r3 - orr ip, ip, r1, lsl #8 - bne 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bne branch_taken_unsafe_3 + DISPATCH 6 } (iload_0_iload,iload_1_iload,iload_2_iload,iload_3_iload) @@ -9682,35 +7449,25 @@ rsb r2, r0, #opc_iload_0_iload ldrsb r1, [jpc, #4] rsb r3, r3, #0 - ldrb ip, [jpc, #5] ldr r2, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] - add jpc, jpc, #3 + ldrb ip, [jpc, #5] cmp r2, r3 - orr ip, ip, r1, lsl #8 - bne 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bne branch_taken_unsafe_3 + DISPATCH 6 } (iload_0_iload_N,iload_1_iload_N,iload_2_iload_N,iload_3_iload_N) (if_icmpne,if_acmpne) { rsb r3, r2, #opc_iload_0 - rsb r2, r0, #opc_iload_0_iload_N ldrsb r1, [jpc, #3] - ldrb ip, [jpc, #4] - ldr r2, [locals, r2, lsl #2] + rsb r2, r0, #opc_iload_0_iload_N ldr r3, [locals, r3, lsl #2] - add jpc, jpc, #2 + ldr r2, [locals, r2, lsl #2] + ldrb ip, [jpc, #4] cmp r2, r3 - orr ip, ip, r1, lsl #8 - bne 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bne branch_taken_unsafe_2 + DISPATCH 5 } (iload_iload) @@ -9719,17 +7476,12 @@ rsb r2, r2, #0 ldrsb r1, [jpc, #5] rsb r3, r3, #0 - ldrb ip, [jpc, #6] ldr r2, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] - add jpc, jpc, #4 + ldrb ip, [jpc, #6] cmp r2, r3 - orr ip, ip, r1, lsl #8 - blt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + blt branch_taken_unsafe_4 + DISPATCH 7 } (iload_iload_N) @@ -9738,17 +7490,12 @@ rsb r2, r2, #0 ldrsb r1, [jpc, #4] rsb r3, r3, #opc_iload_0 - ldrb ip, [jpc, #5] ldr r2, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] - add jpc, jpc, #3 + ldrb ip, [jpc, #5] cmp r2, r3 - orr ip, ip, r1, lsl #8 - blt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + blt branch_taken_unsafe_3 + DISPATCH 6 } (iload_0_iload,iload_1_iload,iload_2_iload,iload_3_iload) @@ -9757,35 +7504,25 @@ rsb r2, r0, #opc_iload_0_iload ldrsb r1, [jpc, #4] rsb r3, r3, #0 - ldrb ip, [jpc, #5] ldr r2, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] - add jpc, jpc, #3 + ldrb ip, [jpc, #5] cmp r2, r3 - orr ip, ip, r1, lsl #8 - blt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + blt branch_taken_unsafe_3 + DISPATCH 6 } (iload_0_iload_N,iload_1_iload_N,iload_2_iload_N,iload_3_iload_N) (if_icmplt) { rsb r3, r2, #opc_iload_0 - rsb r2, r0, #opc_iload_0_iload_N ldrsb r1, [jpc, #3] - ldrb ip, [jpc, #4] - ldr r2, [locals, r2, lsl #2] + rsb r2, r0, #opc_iload_0_iload_N ldr r3, [locals, r3, lsl #2] - add jpc, jpc, #2 + ldr r2, [locals, r2, lsl #2] + ldrb ip, [jpc, #4] cmp r2, r3 - orr ip, ip, r1, lsl #8 - blt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + blt branch_taken_unsafe_2 + DISPATCH 5 } (iload_iload) @@ -9794,17 +7531,12 @@ rsb r2, r2, #0 ldrsb r1, [jpc, #5] rsb r3, r3, #0 - ldrb ip, [jpc, #6] ldr r2, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] - add jpc, jpc, #4 + ldrb ip, [jpc, #6] cmp r2, r3 - orr ip, ip, r1, lsl #8 - bge 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bge branch_taken_unsafe_4 + DISPATCH 7 } (iload_iload_N) @@ -9813,17 +7545,12 @@ rsb r2, r2, #0 ldrsb r1, [jpc, #4] rsb r3, r3, #opc_iload_0 - ldrb ip, [jpc, #5] ldr r2, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] - add jpc, jpc, #3 + ldrb ip, [jpc, #5] cmp r2, r3 - orr ip, ip, r1, lsl #8 - bge 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bge branch_taken_unsafe_3 + DISPATCH 6 } (iload_0_iload,iload_1_iload,iload_2_iload,iload_3_iload) @@ -9832,35 +7559,25 @@ rsb r2, r0, #opc_iload_0_iload ldrsb r1, [jpc, #4] rsb r3, r3, #0 - ldrb ip, [jpc, #5] ldr r2, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] - add jpc, jpc, #3 + ldrb ip, [jpc, #5] cmp r2, r3 - orr ip, ip, r1, lsl #8 - bge 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bge branch_taken_unsafe_3 + DISPATCH 6 } (iload_0_iload_N,iload_1_iload_N,iload_2_iload_N,iload_3_iload_N) (if_icmpge) { rsb r3, r2, #opc_iload_0 - rsb r2, r0, #opc_iload_0_iload_N ldrsb r1, [jpc, #3] - ldrb ip, [jpc, #4] - ldr r2, [locals, r2, lsl #2] + rsb r2, r0, #opc_iload_0_iload_N ldr r3, [locals, r3, lsl #2] - add jpc, jpc, #2 + ldr r2, [locals, r2, lsl #2] + ldrb ip, [jpc, #4] cmp r2, r3 - orr ip, ip, r1, lsl #8 - bge 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bge branch_taken_unsafe_2 + DISPATCH 5 } (iload_iload) @@ -9869,17 +7586,12 @@ rsb r2, r2, #0 ldrsb r1, [jpc, #5] rsb r3, r3, #0 - ldrb ip, [jpc, #6] ldr r2, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] - add jpc, jpc, #4 + ldrb ip, [jpc, #6] cmp r2, r3 - orr ip, ip, r1, lsl #8 - bgt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bgt branch_taken_unsafe_4 + DISPATCH 7 } (iload_iload_N) @@ -9888,17 +7600,12 @@ rsb r2, r2, #0 ldrsb r1, [jpc, #4] rsb r3, r3, #opc_iload_0 - ldrb ip, [jpc, #5] ldr r2, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] - add jpc, jpc, #3 + ldrb ip, [jpc, #5] cmp r2, r3 - orr ip, ip, r1, lsl #8 - bgt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bgt branch_taken_unsafe_3 + DISPATCH 6 } (iload_0_iload,iload_1_iload,iload_2_iload,iload_3_iload) @@ -9907,35 +7614,25 @@ rsb r2, r0, #opc_iload_0_iload ldrsb r1, [jpc, #4] rsb r3, r3, #0 - ldrb ip, [jpc, #5] ldr r2, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] - add jpc, jpc, #3 + ldrb ip, [jpc, #5] cmp r2, r3 - orr ip, ip, r1, lsl #8 - bgt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bgt branch_taken_unsafe_3 + DISPATCH 6 } (iload_0_iload_N,iload_1_iload_N,iload_2_iload_N,iload_3_iload_N) (if_icmpgt) { rsb r3, r2, #opc_iload_0 - rsb r2, r0, #opc_iload_0_iload_N ldrsb r1, [jpc, #3] - ldrb ip, [jpc, #4] - ldr r2, [locals, r2, lsl #2] + rsb r2, r0, #opc_iload_0_iload_N ldr r3, [locals, r3, lsl #2] - add jpc, jpc, #2 + ldr r2, [locals, r2, lsl #2] + ldrb ip, [jpc, #4] cmp r2, r3 - orr ip, ip, r1, lsl #8 - bgt 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + bgt branch_taken_unsafe_2 + DISPATCH 5 } (iload_iload) @@ -9944,17 +7641,12 @@ rsb r2, r2, #0 ldrsb r1, [jpc, #5] rsb r3, r3, #0 - ldrb ip, [jpc, #6] ldr r2, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] - add jpc, jpc, #4 + ldrb ip, [jpc, #6] cmp r2, r3 - orr ip, ip, r1, lsl #8 - ble 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + ble branch_taken_unsafe_4 + DISPATCH 7 } (iload_iload_N) @@ -9963,17 +7655,12 @@ rsb r2, r2, #0 ldrsb r1, [jpc, #4] rsb r3, r3, #opc_iload_0 - ldrb ip, [jpc, #5] ldr r2, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] - add jpc, jpc, #3 + ldrb ip, [jpc, #5] cmp r2, r3 - orr ip, ip, r1, lsl #8 - ble 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + ble branch_taken_unsafe_3 + DISPATCH 6 } (iload_0_iload,iload_1_iload,iload_2_iload,iload_3_iload) @@ -9982,63 +7669,27 @@ rsb r2, r0, #opc_iload_0_iload ldrsb r1, [jpc, #4] rsb r3, r3, #0 - ldrb ip, [jpc, #5] ldr r2, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] - add jpc, jpc, #3 + ldrb ip, [jpc, #5] cmp r2, r3 - orr ip, ip, r1, lsl #8 - ble 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE + ble branch_taken_unsafe_3 + DISPATCH 6 } (iload_0_iload_N,iload_1_iload_N,iload_2_iload_N,iload_3_iload_N) (if_icmple) { rsb r3, r2, #opc_iload_0 - rsb r2, r0, #opc_iload_0_iload_N ldrsb r1, [jpc, #3] - ldrb ip, [jpc, #4] - ldr r2, [locals, r2, lsl #2] + rsb r2, r0, #opc_iload_0_iload_N ldr r3, [locals, r3, lsl #2] - add jpc, jpc, #2 + ldr r2, [locals, r2, lsl #2] + ldrb ip, [jpc, #4] cmp r2, r3 - orr ip, ip, r1, lsl #8 - ble 1f - mov ip, #3 -1: - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE -} - -#ifdef HW_FP - -(dmac)(dastore) { - ldr tmp2, [stack, #28] - ldr tmp1, [stack, #32] - vldr d2, [stack, #20] - vldr d1, [stack, #12] - vldr d0, [stack, #4] - DISPATCH_START \seq_len - SW_NPC cmp tmp1, #0 - SW_NPC beq null_ptr_exception -.abortentry120: - ldr ip, [tmp1, #8] - cmp tmp2, ip - DISPATCH_NEXT - bcs array_bound_exception_jpc_1_tmp2 - DISPATCH_NEXT - add tmp2, tmp1, tmp2, lsl #3 - fmacd d2, d1, d0 - vstr d2, [tmp2, #BASE_OFFSET_LONG] - DISPATCH_NEXT - DISPATCH_NEXT - add stack, stack, #32 - DISPATCH_FINISH + ble branch_taken_unsafe_2 + DISPATCH 5 } -#endif //HW_FP +#endif #endif // FAST_BYTECODES diff -ruNE old/icedtea6/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S new/icedtea6/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S --- old/icedtea6/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S 2010-01-19 15:29:04.000000000 +0000 +++ new/icedtea6/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S 2010-01-19 15:41:12.000000000 +0000 @@ -19,15 +19,21 @@ #define ARMv4 -#ifdef SHARK +#if defined(SHARK) || defined(THUMB2EE) + #define USE_COMPILER -#define DISABLE_NOTICE_SAFEPOINTS + #endif #ifdef USE_COMPILER +#ifdef SHARK #define MP_COMPILE_THRESHOLD 0x10000 // 65536 - must be a single MOV constant #define UP_COMPILE_THRESHOLD 0x30000 // 196608 - must be a single MOV constant +#else +#define MP_COMPILE_THRESHOLD 0x2700 // 10000 - must be a single MOV constant +#define UP_COMPILE_THRESHOLD 0x2700 // 10000 - must be a single MOV constant +#endif #define MAX_FG_METHOD_SIZE 500 @@ -38,6 +44,12 @@ #define DISABLE_BG_COMP_ON_NON_MP #endif +#ifdef THUMB2EE +#define FREQ_COUNT_OVERFLOW Thumb2_Compile +#else +#define FREQ_COUNT_OVERFLOW _ZN18InterpreterRuntime26frequency_counter_overflowEP10JavaThreadPh +#endif + #endif // USE_COMPILER #ifndef DISABLE_NOTICE_SAFEPOINTS @@ -46,12 +58,6 @@ #ifndef DISABLE_HW_NULL_PTR_CHECK #define HW_NULL_PTR_CHECK #endif -#ifndef DISABLE_FASTPATH_ENTRY -#define FASTPATH_ENTRY -#endif -#ifndef DISABLE_NATIVE_ENTRY -#define NATIVE_ENTRY -#endif #ifndef DISABLE_FAST_BYTECODES #define FAST_BYTECODES #endif @@ -74,67 +80,25 @@ #define tmp1 r11 #define tmp2 r10 -#define tmp_invoke_len lr - -#define regset r3-r11 - -// XXX hardwired constants! -#define tos_btos 0 -#define tos_ctos 1 -#define tos_stos 2 -#define tos_itos 3 -#define tos_ltos 4 -#define tos_ftos 5 -#define tos_dtos 6 -#define tos_atos 7 +#define regset r4,r5,r6,r7,r9,r10,r11 +#define fast_regset r8 #include "offsets_arm.s" -// XXX hardwired constants! -#define RESOURCEAREA_AREA 0 -#define RESOURCEAREA_CHUNK 4 -#define RESOURCEAREA_HWM 8 -#define RESOURCEAREA_MAX 12 - -// XXX hardwired constants! -#define ISTATE_THREAD 0 -#define ISTATE_BCP 4 -#define ISTATE_LOCALS 8 -#define ISTATE_CONSTANTS 12 -#define ISTATE_METHOD 16 -#define ISTATE_MDX 20 -#define ISTATE_STACK 24 -#define ISTATE_ADVANCE_PC 28 -#define ISTATE_MSG 28 -#define ISTATE_CALLEE 32 // union frame_manager_message -#define ISTATE_PREV_LINK 44 -#define ISTATE_OOP_TEMP 48 -#define ISTATE_STACK_BASE 52 -#define ISTATE_STACK_LIMIT 56 -#define ISTATE_MONITOR_BASE 60 -#define ISTATE_SELF_LINK 64 -#define ISTATE_FRAME_TYPE 68 -#define ISTATE_NEXT_FRAME 72 -#define FRAME_SIZE 76 - -// XXX hardwired constants! -#define ENTRY_FRAME 1 -#define INTERPRETER_FRAME 2 -#define SHARK_FRAME 3 -#define FAKE_STUB_FRAME 4 - #define last_implemented_bytecode 201 +#define CODE_ALIGN_SIZE 64 + .macro ALIGN_CODE - .align 3 + .align 6 .endm .macro ALIGN_DATA - .align 3 + .align 6 .endm .macro ALIGN_OPCODE - .align 3 + .align 6 .endm .macro ALIGN_WORD @@ -276,6 +240,24 @@ .endif #endif .endm + at ------------------------------------------------ +@ THUMB2 specific code macro +@ Usage: +@ T2 + at ------------------------------------------------ + .macro T2 p1, p2, p3, p4 +#ifdef THUMB2EE + .ifnes "\p4", "" + \p1 \p2, \p3, \p4 + .else + .ifnes "\p3", "" + \p1 \p2, \p3 + .else + \p1 \p2 + .endif + .endif +#endif + .endm .macro Opcode label ALIGN_OPCODE @@ -290,6 +272,7 @@ str \reg, [stack, #(\offset+1) * 4] .endm +#define PUSH java_push .macro PUSH reg1, reg2, reg3, reg4 .ifnes "\reg4", "" stmda stack!, {\reg1, \reg2, \reg3, \reg4} @@ -306,6 +289,7 @@ .endif .endm +#define POP java_pop .macro POP reg1, reg2, reg3, reg4 .ifnes "\reg4", "" ldmib stack!, {\reg1, \reg2, \reg3, \reg4} @@ -346,227 +330,6 @@ str jpc, [istate, #ISTATE_BCP] .endm -@ ECN: I assert that istate->locals and istate->stack cannot move on a GC. -@ The reasoning is that istate itself is stored on the Java stack -@ and locals and stack are relative to istate. Therefore if locals or -@ stack were to move, istate itself would have to move and we would -@ lose our entire interpreter state. -@ To prove this I have changed the code which recaches locals and stack -@ to assert that locals == istate->locals and stack == istate->stack. -@ This saves a lot of needles recaching of interpreter state. - .macro ASSERT_LOCALS_CACHED -#if 0 - str ip, [arm_sp, #-4]! - mrs ip, cpsr - str ip, [arm_sp, #-4]! - mov ip, locals - ldr locals, [istate, #ISTATE_LOCALS] - cmp ip, locals - strne r0, [r0, -r0] - ldr ip, [arm_sp], #4 - msr cpsr, ip - ldr ip, [arm_sp], #4 -#endif - .endm - - .macro ASSERT_STACK_CACHED -#if 0 - str ip, [arm_sp, #-4]! - mrs ip, cpsr - str ip, [arm_sp, #-4]! - mov ip, stack - ldr stack, [istate, #ISTATE_STACK] - cmp ip, stack - strne r0, [r0, -r0] - ldr ip, [arm_sp], #4 - msr cpsr, ip - ldr ip, [arm_sp], #4 -#endif - .endm - -@ DISPATCH_LOOP causes the dispatch code to branch every time to a label 'dispatch_loop' -@ This is primarily for debugging so we can stick assertions at the dispatch_loop label -@ which will then be checked after every bytcode. -@ #define DISPATCH_LOOP - -@ CODETRACE tarces bytecodes in a code buffer which can be examined under gdb -@ Note: DISPATCH_LOOP must be enabled for CODETRACE to work -@ #define CODETRACE - -@ DISPATCH_ASSERTS enables various assertions in the dispatch loop, such as checking -@ stack, frame, locals and constpool are all consistent and not corrupted -@#define DISPATCH_ASSERTS - - .macro ABORTNE - strne r0, [r0, -r0] - .endm - - .macro ABORTCS - strcs r0, [r0, -r0] - .endm - - .macro ABORTCC - strcc r0, [r0, -r0] - .endm - - .macro CHECK_CONSTPOOL -#ifdef DISPATCH_ASSERTS - @ First check istate->constpool == method->constpool - ldr r1, [istate, #ISTATE_CONSTANTS] - ldr r2, [istate, #ISTATE_METHOD] - ldr r2, [r2, #METHOD_CONSTANTS] - ldr r2, [r2, #CONSTANTPOOL_CACHE] - cmp r1, r2 - ABORTNE -@ cmp r1, constpool -@ ABORTNE -#endif - .endm - - .macro CHECK_LOCALS -#ifdef DISPATCH_ASSERTS - @ Check cached locals var is the same as that in istate - ldr r1, [istate, #ISTATE_LOCALS] - cmp r1, locals - ABORTNE -#endif - .endm - - .macro CHECK_FRAME -#ifdef DISPATCH_ASSERTS - @ Check #INTERPRETER_FRAME hasn't been overwritten - ldr r1, [istate, #ISTATE_FRAME_TYPE] - cmp r1, #INTERPRETER_FRAME - ABORTNE - @ Check we are still the topmost frame - ldr r1, [istate, #ISTATE_THREAD] - ldr r1, [r1, #THREAD_TOP_ZERO_FRAME] - add r2, istate, #ISTATE_NEXT_FRAME - cmp r1, r2 - ABORTNE - @ And check the NEXT_FRAME pointer points to a valid frame - ldr r1, [istate, #ISTATE_NEXT_FRAME] - ldr r2, [r1, #-ISTATE_NEXT_FRAME + ISTATE_FRAME_TYPE] - bic r2, r2, #7 @ ECN: Allow for differing frames - cmp r2, #0 - ABORTNE -#endif - .endm - - .macro CHECK_BACKTRACE -#ifdef DISPATCH_ASSERTS - add r3, istate, #ISTATE_NEXT_FRAME -@ ECN: Only check a limited no of frames back. topmost frame already checked -@ Check 2nd frame up - ldr r3, [r3] - ldr r2, [r3, #-ISTATE_NEXT_FRAME + ISTATE_FRAME_TYPE] - cmp r2, #ENTRY_FRAME - beq 2f - cmp ip, #INTERPRETER_FRAME - ABORTNE @ Must be ENTRY_FRAME, or INTERPRETER_FRAME - ldr r1, [r3, #-ISTATE_NEXT_FRAME + ISTATE_CONSTANTS] - ldr r2, [r3, #-ISTATE_NEXT_FRAME + ISTATE_METHOD] - ldr r2, [r2, #12] - ldr r2, [r2, #12] - cmp r1, r2 - ABORTNE -@ Check 3rd frame up - ldr r3, [r3] - ldr r2, [r3, #-ISTATE_NEXT_FRAME + ISTATE_FRAME_TYPE] - cmp r2, #ENTRY_FRAME - beq 2f - cmp r2, #INTERPRETER_FRAME - ABORTNE @ Must be ENTRY_FRAME, or INTERPRETER_FRAME - ldr r1, [r3, #-ISTATE_NEXT_FRAME + ISTATE_CONSTANTS] - ldr r2, [r3, #-ISTATE_NEXT_FRAME + ISTATE_METHOD] - ldr r2, [r2, #12] - ldr r2, [r2, #12] - cmp r1, r2 - ABORTNE -@ Check 4th frame up - ldr r3, [r3] - ldr r2, [r3, #-ISTATE_NEXT_FRAME + ISTATE_FRAME_TYPE] - cmp r2, #ENTRY_FRAME - beq 2f - cmp r2, #INTERPRETER_FRAME - ABORTNE @ Must be ENTRY_FRAME, or INTERPRETER_FRAME - ldr r1, [r3, #-ISTATE_NEXT_FRAME + ISTATE_CONSTANTS] - ldr r2, [r3, #-ISTATE_NEXT_FRAME + ISTATE_METHOD] - ldr r2, [r2, #12] - ldr r2, [r2, #12] - cmp r1, r2 - ABORTNE -@ Check 5th frame up - ldr r3, [r3] - ldr r2, [r3, #-ISTATE_NEXT_FRAME + ISTATE_FRAME_TYPE] - cmp r2, #ENTRY_FRAME - beq 2f - cmp r2, #INTERPRETER_FRAME - ABORTNE @ Must be ENTRY_FRAME, or INTERPRETER_FRAME - ldr r1, [r3, #-ISTATE_NEXT_FRAME + ISTATE_CONSTANTS] - ldr r2, [r3, #-ISTATE_NEXT_FRAME + ISTATE_METHOD] - ldr r2, [r2, #12] - ldr r2, [r2, #12] - cmp r1, r2 - ABORTNE -@ Check 7th frame up - ldr r3, [r3] - ldr r2, [r3, #-ISTATE_NEXT_FRAME + ISTATE_FRAME_TYPE] - cmp r2, #ENTRY_FRAME - beq 2f - cmp r2, #INTERPRETER_FRAME - ABORTNE @ Must be ENTRY_FRAME, or INTERPRETER_FRAME - ldr r1, [r3, #-ISTATE_NEXT_FRAME + ISTATE_CONSTANTS] - ldr r2, [r3, #-ISTATE_NEXT_FRAME + ISTATE_METHOD] - ldr r2, [r2, #12] - ldr r2, [r2, #12] - cmp r1, r2 - ABORTNE -@ Check 8th frame up - ldr r3, [r3] - ldr r2, [r3, #-ISTATE_NEXT_FRAME + ISTATE_FRAME_TYPE] - cmp r2, #ENTRY_FRAME - beq 2f - cmp r2, #INTERPRETER_FRAME - ABORTNE @ Must be ENTRY_FRAME, or INTERPRETER_FRAME - ldr r1, [r3, #-ISTATE_NEXT_FRAME + ISTATE_CONSTANTS] - ldr r2, [r3, #-ISTATE_NEXT_FRAME + ISTATE_METHOD] - ldr r2, [r2, #12] - ldr r2, [r2, #12] - cmp r1, r2 - ABORTNE -2: -#endif - .endm - - .macro CHECK_STACK -#ifdef DISPATCH_ASSERTS - ldr r1, [istate, #ISTATE_STACK_BASE] - cmp stack, r1 - ABORTCS - ldr r1, [istate, #ISTATE_STACK_LIMIT] - @ ECN: The stack can point below the stack limit in the - @ case that we have a full stack. As long as we dont actually - @ try writing to it. - add r2, stack, #4 - cmp r2, r1 - ABORTCC -#endif - .endm - -#define CODETRACE_BUFFER_SIZE (1 * 1024) - .macro TRACE_CODE -#ifdef CODETRACE - ldr r1, [dispatch, #CodeTrace_Idx-XXX] - cmp r1, #CODETRACE_BUFFER_SIZE - moveq r1, #0 - sub r2, dispatch, #XXX-CodeTrace_Buffer_Base - str jpc, [r2, r1] - add r1, r1, #4 - str r1, [dispatch, #CodeTrace_Idx-XXX] -#endif - .endm - .macro BREAK_DISPATCH ldr r1, [dispatch, #DispatchBreakPoint-XXX] cmp r1, jpc @@ -605,23 +368,6 @@ mov r0, r2 .endm -#ifdef DISPATCH_LOOP - .macro DISPATCH_NEXT - .endm - - .macro DISPATCH_FINISH - b dispatch_loop - .endm - - .macro DISPATCH_BYTECODE - b dispatch_loop - .endm - - .macro DISPATCH step=0 - ldrb r0, [jpc, #\step]! - b dispatch_loop - .endm -#else .macro DISPATCH_1 @ ldrb r1, [jpc, #2] .endm @@ -702,7 +448,6 @@ bic ip, ip, #7 ldr pc, [ip, r1, lsl #2] .endm -#endif // DISPATCH_LOOP #define FFI_TYPE_VOID 0 #define FFI_TYPE_FLOAT 2 @@ -759,105 +504,6 @@ .text -do_dispatch_break: - mov pc, lr - -#ifdef DISPATCH_LOOP -@ r0 = bytecode -@ jpc has been updated -dispatch_loop: - TRACE_CODE -dispatch_check_constpool: - CHECK_CONSTPOOL -dispatch_check_locals: - CHECK_LOCALS -dispatch_check_stack: - CHECK_STACK -dispatch_check_frame: - CHECK_FRAME -dispatch_check_backtrace: - CHECK_BACKTRACE -dispatch_break: - BREAK_DISPATCH - ldrb r1, [jpc, #2] - ldr ip, [dispatch, r0, lsl #2] - ldrb r2, [jpc, #1] - ands lr, ip, #7 - moveq pc, ip - ldrb r1, [jpc, lr] - bic ip, ip, #7 - ldr ip, [ip, r1, lsl #2] - mov pc, ip -#endif - -is_subtype_of: - ldr r2, [r1, #16] - add ip, r0, r2 - ldr ip, [ip, #-8] - cmp ip, r1 - moveq r0, #1 - bxeq lr - cmp r2, #20 - movne r0, #0 - bxne lr - b _ZNK5Klass23search_secondary_supersEP12klassOopDesc - -HandleC: - stmfd sp!, {r4, r5, r6, lr} - ldr r3, HandleC_adcons - subs r5, r1, #0 - mov r4, r0 -.HandleC_pic: - add r3, pc, r3 - streq r5, [r0, #0] - beq 2f - ldr r2, HandleC_adcons+4 - ldr r3, [r3, r2] - ldr r0, [r3, #0] - bl pthread_getspecific - ldr r3, [r0, #THREAD_HANDLE_AREA] - ldr r0, [r3, #8] - ldr r1, [r3, #12] - add r2, r0, #4 - cmp r2, r1 - strls r2, [r3, #8] - bhi 3f -1: - str r5, [r0, #0] - str r0, [r4, #0] -2: - mov r0, r4 - ldmfd sp!, {r4, r5, r6, pc} -3: - mov r0, r3 - mov r1, #4 - bl _ZN5Arena4growEj - b 1b -HandleC_adcons: - .word _GLOBAL_OFFSET_TABLE_-(.HandleC_pic+8) - .word _ZN18ThreadLocalStorage13_thread_indexE(GOT) - -HandleMarkCleanerD: - stmfd sp!, {r4, r5, r6, lr} - ldr r3, [r0, #0] - mov r6, r0 - ldr r4, [r3, #40] - ldr r0, [r4, #8] - ldr r5, [r4, #4] - ldr r3, [r0, #0] - cmp r3, #0 - beq 1f - bl _ZN5Chunk9next_chopEv - ldr r0, [r4, #8] -1: - str r0, [r5, #4] - mov r0, r6 - ldr r3, [r4, #12] - str r3, [r5, #8] - ldr r3, [r4, #16] - str r3, [r5, #12] - ldmfd sp!, {r4, r5, r6, pc} - cmpxchg_ptr: stmfd sp!, {r4, r5, r6, r7, r8, lr} mov r6, #0xffffffc0 @@ -883,126 +529,6 @@ mov r0, r8 ldmfd sp!, {r4, r5, r6, r7, r8, pc} -ThreadInVMfromJavaD: - stmfd sp!, {r4, r5, r6, lr} - ldr r5, ThreadInVMfromJavaD_adcons - ldr r3, ThreadInVMfromJavaD_adcons+4 - mov r2, #_thread_in_vm_trans -.ThreadInVMfromJavaD_pic: - add r5, pc, r5 - ldr r6, [r0, #0] - mov r4, r0 - ldr r3, [r5, r3] - str r2, [r6, #THREAD_STATE] - ldr r3, [r3, #0] - cmp r3, #1 - ble 1f - ldr r3, ThreadInVMfromJavaD_adcons+8 - ldr r3, [r5, r3] - ldrb r3, [r3, #0] @ zero_extendqisi2 - cmp r3, #0 - bne 6f - ldr r3, ThreadInVMfromJavaD_adcons+12 - mov r1, #1 - ldr r2, ThreadInVMfromJavaD_adcons+16 - ldr r3, [r5, r3] - ldr r2, [r5, r2] - ldr r3, [r3, #0] - ldr r2, [r2, #0] - and r3, r3, r6, lsr #3 - str r1, [r2, r3] -1: - ldr r3, ThreadInVMfromJavaD_adcons+20 - ldr r3, [r5, r3] - ldr r3, [r3, #0] - cmp r3, #0 - bne 5f -2: - mov r3, #8 - str r3, [r6, #THREAD_STATE] - ldr r0, [r4, #0] - ldr r3, [r0, #THREAD_SPECIALRUNTIMEEXITCONDITION] - cmp r3, #0 - bne 3f - ldr r3, [r0, #THREAD_SUSPEND_FLAGS] - tst r3, #_thread_external_suspend - beq 4f -3: - mov r1, #1 - bl _ZN10JavaThread37handle_special_runtime_exit_conditionEb - mov r0, r4 - ldmfd sp!, {r4, r5, r6, pc} -4: - ldr r3, [r0, #THREAD_SUSPEND_FLAGS] - tst r3, #_thread_deopt_suspend - bne 3b - mov r0, r4 - ldmfd sp!, {r4, r5, r6, pc} -5: - mov r0, r6 - bl _ZN20SafepointSynchronize5blockEP10JavaThread - b 2b -6: - mov r3, #0xffffffa0 - bic r3, r3, #0xf000 - blx r3 - b 1b -ThreadInVMfromJavaD_adcons: - .word _GLOBAL_OFFSET_TABLE_-(.ThreadInVMfromJavaD_pic+8) - .word _ZN2os16_processor_countE(GOT) - .word UseMembar(GOT) - .word _ZN2os20_serialize_page_maskE(GOT) - .word _ZN2os19_mem_serialize_pageE(GOT) - .word _ZN20SafepointSynchronize6_stateE(GOT) - -#define oop_address_tmp tmp1 -#define oop_value_tmp tmp2 -#define oop_lr locals - - ALIGN_CODE -oop_store: - mov oop_lr, lr -@ mov oop_address_tmp, r0 -@ mov oop_value_tmp, r1 - ldr r3, [dispatch, #oopDesc_Address-XXX] - ldr r3, [r3, #0] - ldr r2, [r3, #8] - cmp r2, #1 - beq 1f - mov r0, r3 - mov r1, oop_address_tmp - ldr r3, [r3, #0] - mov r2, oop_value_tmp - mov lr, pc - ldr pc, [r3, #48] -1: - ldr r3, [dispatch, #always_do_update_barrier_Address-XXX] - ldrb r3, [r3] - cmp r3, #0 - beq 2f - mov r3, #0xffffffa0 - bic r3, r3, #0xf000 - blx r3 -2: - mov lr, oop_lr - CACHE_LOCALS - ldr r3, [dispatch, #oopDesc_Address-XXX] - str oop_value_tmp, [oop_address_tmp, #0] - ldr r3, [r3, #0] - ldr r2, [r3, #8] - cmp r2, #1 - beq 3f - mov r0, r3 - mov r1, oop_address_tmp - mov r2, oop_value_tmp - ldr r3, [r3, #0] - ldr pc, [r3, #52] -3: - ldr r3, [r3, #76] - mov r2, #0 - strb r2, [r3, oop_address_tmp, lsr #9] - mov pc, lr - build_frame: mov r3, r0 ldr r0, [r1, #METHOD_ACCESSFLAGS] @@ -1093,13 +619,6 @@ add r1, r1, ip add r1, r1, r2 @ r1->dispatch -#ifndef USE_COMPILER - ldr r2, [r1, #UseCompiler_Address-XXX] - ldrb r2, [r2] - cmp r2, #0 - bne 1f -#endif - ldr r2, [r1, #can_post_interpreter_events-XXX] ldrb r2, [r2] cmp r2, #0 @@ -1119,26 +638,33 @@ asm_method_table: .word normal_entry .word normal_entry_synchronized -#ifdef NATIVE_ENTRY .word native_entry -#else - .word 0 -#endif - .word 0 @ cppInterpreter can handle native_entry_synchronized + .word native_entry_synchronized .word empty_entry .word accessor_entry - .word normal_entry - .word normal_entry - .word normal_entry - .word normal_entry - .word normal_entry - .word normal_entry - .word normal_entry - .word normal_entry + .word normal_entry @ abstract entry + .word normal_entry @ java_lang_math_sin + .word normal_entry @ java_lang_math_cos + .word normal_entry @ java_lang_math_tan + .word normal_entry @ java_lang_math_abs + .word normal_entry @ java_lang_math_sqrt + .word normal_entry @ java_lang_math_log + .word normal_entry @ java_lang_math_log10 + + ALIGN_CODE +native_entry_synchronized: + b fast_native_entry_synchronized + + ALIGN_CODE +fast_native_entry_synchronized: + b _ZN14CppInterpreter12native_entryEP13methodOopDesciP6Thread ALIGN_CODE - .global empty_entry empty_entry: + b fast_empty_entry + + ALIGN_CODE +fast_empty_entry: ldr r3, .L1359 ldr r1, .L1359+4 .LPIC19: @@ -1160,22 +686,22 @@ @ ---- START execute.s --------------------------------------------------------------------- + .global asm_check_null_ptr +asm_check_null_ptr: + #ifdef HW_NULL_PTR_CHECK #define uc_mcontext 20 #define arm_registers_offset 12 #define arm_cpsr_offset 16*4 - .global asm_check_null_ptr -asm_check_null_ptr: add r0, r0, #uc_mcontext + arm_registers_offset ldr r1, [r0, #15*4] adr ip, abort_table abort_loop: ldr r2, [ip], #8 cmp r2, #0 - moveq r0, #0 - bxeq lr + beq 2f cmp r2, r1 bne abort_loop @@ -1193,6 +719,16 @@ do_setcontext: mov r0, #1 bx lr +#endif // HW_NULL_PTR_CHECK +2: +#ifdef THUMB2EE + b Thumb2_Check_Null +#else + mov r0, #0 + bx lr +#endif + +#ifdef HW_NULL_PTR_CHECK abort_table: .word .abortentry5, 1 .word .abortentry6, 1 @@ -1240,19 +776,6 @@ FBC .word .abortentry59, 2 FBC .word .abortentry60, 2 - NSP FBC .word .abortentry61, 0 - NSP FBC .word .abortentry62, 0 - NSP FBC .word .abortentry63, 0 - NSP FBC .word .abortentry64, 0 - NSP FBC .word .abortentry65, 0 - NSP FBC .word .abortentry66, 0 - NSP FBC .word .abortentry67, 0 - NSP FBC .word .abortentry68, 0 - NSP FBC .word .abortentry69, 0 - NSP FBC .word .abortentry70, 0 - NSP FBC .word .abortentry71, 0 - NSP FBC .word .abortentry72, 0 - FBC .word .abortentry73, 1 FBC .word .abortentry74, 1 FBC .word .abortentry75, 1 @@ -1274,18 +797,6 @@ FBC .word .abortentry89, 5 FBC .word .abortentry90, 4 FBC .word .abortentry91, 4 - NSP FBC .word .abortentry92, 3 - NSP FBC .word .abortentry93, 3 - NSP FBC .word .abortentry94, 3 - NSP FBC .word .abortentry95, 3 - NSP FBC .word .abortentry96, 3 - NSP FBC .word .abortentry97, 3 - NSP FBC .word .abortentry98, 3 - NSP FBC .word .abortentry99, 3 - NSP FBC .word .abortentry100, 3 - NSP FBC .word .abortentry101, 3 - NSP FBC .word .abortentry102, 3 - NSP FBC .word .abortentry103, 3 FBC .word .abortentry104, 0 FBC .word .abortentry105, 1 FBC .word .abortentry106, 1 @@ -1299,28 +810,27 @@ FBC .word .abortentry113, 0 .word .abortentry114, 1 - .word .abortentry115, 0 - .word .abortentry116, abstractmethod_exception FBC .word .abortentry117, 0 .word .abortentry118, 0 - .word .abortentry119, return_throw_illegal_monitor_state - FBC .word .abortentry120, 0 .word 0 -#else - .global asm_check_null_ptr -asm_check_null_ptr: - mov r0, #0 - bx lr - #endif -#ifdef NATIVE_ENTRY + + ALIGN_CODE +native_entry: + stmfd arm_sp!, {regset, lr} + bl fast_native_entry + ldmia sp!, {regset, pc} + ALIGN_CODE fast_native_entry: - mov r2, tmp1 - mov r11, tmp2 -fast_native_entry_with_args: + adrl ip, dispatch_init_adcon + mov r11, r0 + ldm ip, {dispatch, r7} + stmdb sp!, {fast_regset, lr} + add dispatch, dispatch, ip + add dispatch, dispatch, r7 ldrh r1, [r11, #METHOD_SIZEOFPARAMETERS] ldr r4, [r2, #THREAD_JAVA_SP] ldr r3, [r2, #THREAD_TOP_ZERO_FRAME] @@ -1477,24 +987,6 @@ ldr ip, [r11, #METHOD_NATIVEHANDLER] ldrh r11, [r11, #METHOD_SIZEOFPARAMETERS] -#ifdef CODETRACE - ldr r1, [dispatch, #CodeTrace_Idx-XXX] - cmp r1, #CODETRACE_BUFFER_SIZE - moveq r1, #0 - sub r2, dispatch, #XXX-CodeTrace_Buffer_Base - mov r3, #0x4e << 24 @ 'NATV' -> r3 - orr r3, r3, #0x4a << 16 - orr r3, r3, #0x54 << 8 - orr r3, r3, #0x56 - str r3, [r2, r1] - add r1, r1, #4 - cmp r1, #CODETRACE_BUFFER_SIZE - moveq r1, #0 - str ip, [r2, r1] - add r1, r1, #4 - str r1, [dispatch, #CodeTrace_Idx-XXX] -#endif - ldmia arm_sp!, {r0, r1, r2, r3} blx ip @@ -1557,50 +1049,40 @@ str lr, [r9, #THREAD_TOP_ZERO_FRAME] str tmp1, [ip, #JNIHANDLEBLOCK_TOP] str r1, [r5, #4] - cmp istate, #0 str r5, [r9, #THREAD_JAVA_SP] - bne .fast_native_return - ldmfd arm_sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + ldmfd arm_sp!, {fast_regset, pc} .fast_native_return_byte: mov r0, r0, lsl #24 str lr, [r9, #THREAD_TOP_ZERO_FRAME] mov r0, r0, asr #24 str tmp1, [ip, #JNIHANDLEBLOCK_TOP] str r0, [r5, #-4]! - cmp istate, #0 str r5, [r9, #THREAD_JAVA_SP] - bne .fast_native_return - ldmfd arm_sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + ldmfd arm_sp!, {fast_regset, pc} .fast_native_return_char: mov r0, r0, lsl #16 str lr, [r9, #THREAD_TOP_ZERO_FRAME] mov r0, r0, lsr #16 str tmp1, [ip, #JNIHANDLEBLOCK_TOP] str r0, [r5, #-4]! - cmp istate, #0 str r5, [r9, #THREAD_JAVA_SP] - bne .fast_native_return - ldmfd arm_sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + ldmfd arm_sp!, {fast_regset, pc} .fast_native_return_bool: ands r0, r0, #255 str lr, [r9, #THREAD_TOP_ZERO_FRAME] movne r0, #1 str tmp1, [ip, #JNIHANDLEBLOCK_TOP] str r0, [r5, #-4]! - cmp istate, #0 str r5, [r9, #THREAD_JAVA_SP] - bne .fast_native_return - ldmfd arm_sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + ldmfd arm_sp!, {fast_regset, pc} .fast_native_return_obj: cmp r0, #0 ldrne r0, [r0] str r0, [r5, #-4]! str lr, [r9, #THREAD_TOP_ZERO_FRAME] str tmp1, [ip, #JNIHANDLEBLOCK_TOP] - cmp istate, #0 str r5, [r9, #THREAD_JAVA_SP] - bne .fast_native_return - ldmfd arm_sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + ldmfd arm_sp!, {fast_regset, pc} .fast_native_return_short: mov r0, r0, lsl #16 mov r0, r0, asr #16 @@ -1610,32 +1092,8 @@ str lr, [r9, #THREAD_TOP_ZERO_FRAME] str tmp1, [ip, #JNIHANDLEBLOCK_TOP] .fast_native_exit: - cmp istate, #0 str r5, [r9, #THREAD_JAVA_SP] - ldmeqfd arm_sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} -.fast_native_return: - ldr r2, [istate, #ISTATE_STACK_LIMIT] - sub r5, r5, #4 - str r5, [istate, #ISTATE_STACK] - - ldr r1, [r9, #THREAD_TOP_ZERO_FRAME] - add r2, r2, #4 - str r2, [r9, #THREAD_JAVA_SP] - str r1, [r9, #THREAD_LAST_JAVA_SP] - ldr r0, [istate, #ISTATE_THREAD] - CACHE_STACK - CACHE_JPC - ldr r3, [r0, #THREAD_PENDING_EXC] - DISPATCH_START 3 - DISPATCH_NEXT - CACHE_CP - DISPATCH_NEXT - cmp r3, #0 - DISPATCH_NEXT - bne invokenative_exception - DISPATCH_NEXT - CACHE_LOCALS - DISPATCH_FINISH + ldmfd arm_sp!, {fast_regset, pc} .fast_native_entry_throw_stack_overflow: str r0, [r9, #THREAD_LAST_JAVA_SP] @@ -1659,958 +1117,46 @@ bl _ZN10JavaThread40check_special_condition_for_native_transEPS_ ldmia arm_sp!, {r0, r1} b .fast_native_entry_do_return -#endif // NATIVE_ENTRY #include "bytecodes_arm.s" Opcode idiv - POP tmp2, tmp1 - DISPATCH_START 1 -int_div: - cmp tmp2, #0x20 - DISPATCH_NEXT - adr r3, .div_table - DISPATCH_NEXT - ldrcc pc, [r3, tmp2, lsl #2] - - ands a4, tmp2, #0x80000000 - rsbmi tmp2, tmp2, #0 - eors lr, a4, tmp1, ASR #32 - rsbcs tmp1, tmp1, #0 - movs a3, tmp2 -.s_loop: - cmp a3, tmp1, LSR #8 - movls a3, a3, LSL #8 - blo .s_loop - cmp a3, tmp1, LSR #1 - bhi .s_jump7 - cmp a3, tmp1, LSR #2 - bhi .s_jump6 - cmp a3, tmp1, LSR #3 - bhi .s_jump5 - cmp a3, tmp1, LSR #4 - bhi .s_jump4 - cmp a3, tmp1, LSR #5 - bhi .s_jump3 - cmp a3, tmp1, LSR #6 - bhi .s_jump2 - cmp a3, tmp1, LSR #7 - bhi .s_jump1 -.s_loop2: -@ not executed when falling into .s_loop2 - movhi a3, a3, LSR #8 - cmp tmp1, a3, LSL #7 - adc a4, a4, a4 - subcs tmp1, tmp1, a3, LSL #7 - cmp tmp1, a3, LSL #6 -.s_jump1: - adc a4, a4, a4 - subcs tmp1, tmp1, a3, LSL #6 - cmp tmp1, a3, LSL #5 -.s_jump2: - adc a4, a4, a4 - subcs tmp1, tmp1, a3, LSL #5 - cmp tmp1, a3, LSL #4 -.s_jump3: - adc a4, a4, a4 - subcs tmp1, tmp1, a3, LSL #4 - cmp tmp1, a3, LSL #3 -.s_jump4: - adc a4, a4, a4 - subcs tmp1, tmp1, a3, LSL #3 - cmp tmp1, a3, LSL #2 -.s_jump5: - adc a4, a4, a4 - subcs tmp1, tmp1, a3, LSL #2 - cmp tmp1, a3, LSL #1 -.s_jump6: - adc a4, a4, a4 - subcs tmp1, tmp1, a3, LSL #1 -.s_jump7: - cmp tmp1, a3 - adc a4, a4, a4 - subcs tmp1, tmp1, a3 - cmp a3, tmp2 - bne .s_loop2 - movs lr, lr, lsl #1 - rsbcs a4, a4, #0 - DISPATCH_NEXT - DISPATCH_NEXT - PUSH a4 - DISPATCH_FINISH - -.div_table: - .word div_zero_jpc_1 - .word .divc_1 - .word .divc_2 - .word .divc_3 - .word .divc_4 - .word .divc_5 - .word .divc_6 - .word .divc_7 - .word .divc_8 - .word .divc_9 - .word .divc_10 - .word .divc_11 - .word .divc_12 - .word .divc_13 - .word .divc_14 - .word .divc_15 - .word .divc_16 - .word .divc_17 - .word .divc_18 - .word .divc_19 - .word .divc_20 - .word .divc_21 - .word .divc_22 - .word .divc_23 - .word .divc_24 - .word .divc_25 - .word .divc_26 - .word .divc_27 - .word .divc_28 - .word .divc_29 - .word .divc_30 - .word .divc_31 + POP r1 + POP r0 + cmp r1, #0 + beq divide_by_zero_exception + bl __aeabi_idiv + PUSH r0 + DISPATCH 1 -.divc_1: - DISPATCH_STATE 3 - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp1 - DISPATCH_FINISH -.divc_2: - DISPATCH_STATE 3 - DISPATCH_NEXT - add tmp1, tmp1, tmp1, lsr #31 - mov tmp2, tmp1, asr #1 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.divc_3: - DISPATCH_STATE 3 - ldr tmp2, .dc_3 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - sub tmp2, a4, tmp1, asr #31 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.divc_4: - DISPATCH_STATE 3 - movs a4, tmp1 - DISPATCH_NEXT - addmi a4, a4, #3 - mov tmp2, a4, asr #2 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.divc_5: - DISPATCH_STATE 3 - ldr tmp2, .dc_5 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #1 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.divc_6: - DISPATCH_STATE 3 - ldr tmp2, .dc_6 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - sub tmp2, a4, tmp1, asr #31 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.divc_7: - DISPATCH_STATE 3 - ldr tmp2, .dc_7 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov tmp2, tmp1, asr #31 - add lr, tmp1, a4 - rsb tmp2, tmp2, lr, asr #2 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.divc_8: - DISPATCH_STATE 3 - movs lr, tmp1 - DISPATCH_NEXT - addmi lr, lr, #7 - mov tmp2, lr, asr #3 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.divc_9: - DISPATCH_STATE 3 - ldr tmp2, .dc_9 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #1 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.divc_10: - DISPATCH_STATE 3 - ldr tmp2, .dc_10 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #2 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.divc_11: - DISPATCH_STATE 3 - ldr tmp2, .dc_11 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #1 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.divc_12: - DISPATCH_STATE 3 - ldr tmp2, .dc_12 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #1 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.divc_13: - DISPATCH_STATE 3 - ldr tmp2, .dc_13 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #2 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.divc_14: - DISPATCH_STATE 3 - ldr tmp2, .dc_14 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov tmp2, tmp1, asr #31 - add lr, tmp1, a4 - rsb tmp2, tmp2, lr, asr #3 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.divc_15: - DISPATCH_STATE 3 - ldr tmp2, .dc_15 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov tmp2, tmp1, asr #31 - add lr, tmp1, a4 - rsb tmp2, tmp2, lr, asr #3 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.divc_16: - DISPATCH_STATE 3 - movs lr, tmp1 - DISPATCH_NEXT - addmi lr, lr, #15 - mov tmp2, lr, asr #4 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.divc_17: - DISPATCH_STATE 3 - ldr tmp2, .dc_17 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #3 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.divc_18: - DISPATCH_STATE 3 - ldr tmp2, .dc_18 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #2 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.divc_19: - DISPATCH_STATE 3 - ldr tmp2, .dc_19 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #3 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.divc_20: - DISPATCH_STATE 3 - ldr tmp2, .dc_20 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #3 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.divc_21: - DISPATCH_STATE 3 - ldr tmp2, .dc_21 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #2 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.divc_22: - DISPATCH_STATE 3 - ldr tmp2, .dc_22 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #2 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.divc_23: - DISPATCH_STATE 3 - ldr tmp2, .dc_23 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov tmp2, tmp1, asr #31 - add lr, tmp1, a4 - rsb tmp2, tmp2, lr, asr #4 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.divc_24: - DISPATCH_STATE 3 - ldr tmp2, .dc_24 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #2 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.divc_25: - DISPATCH_STATE 3 - ldr tmp2, .dc_25 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #3 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.divc_26: - DISPATCH_STATE 3 - ldr tmp2, .dc_26 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #3 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.divc_27: - DISPATCH_STATE 3 - ldr tmp2, .dc_27 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #3 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.divc_28: - DISPATCH_STATE 3 - ldr tmp2, .dc_28 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov tmp2, tmp1, asr #31 - add lr, tmp1, a4 - rsb tmp2, tmp2, lr, asr #4 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.divc_29: - DISPATCH_STATE 3 - ldr tmp2, .dc_29 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov tmp2, tmp1, asr #31 - add lr, tmp1, a4 - rsb tmp2, tmp2, lr, asr #4 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.divc_30: - DISPATCH_STATE 3 - ldr tmp2, .dc_30 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov tmp2, tmp1, asr #31 - add lr, tmp1, a4 - rsb tmp2, tmp2, lr, asr #4 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.divc_31: - DISPATCH_STATE 3 - ldr tmp2, .dc_31 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov tmp2, tmp1, asr #31 - add lr, tmp1, a4 - rsb tmp2, tmp2, lr, asr #4 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.dc_7: -.dc_14: - .word 0x92492493 -.dc_15: -.dc_30: - .word 0x88888889 -.dc_23: - .word 0xb21642c9 -.dc_28: - .word 0x92492493 -.dc_29: - .word 0x8d3dcb09 -.dc_31: - .word 0x84210843 -.dc_6: -.dc_12: -.dc_24: - .word 0x2aaaaaab -.dc_19: - .word 0x6bca1af3 -.dc_5: -.dc_10: -.dc_20: - .word 0x66666667 -.dc_21: - .word 0x30c30c31 -.dc_11: -.dc_22: - .word 0x2e8ba2e9 -.dc_26: -.dc_13: - .word 0x4ec4ec4f -.dc_25: - .word 0x51eb851f -.dc_27: - .word 0x4bda12f7 -.dc_3: - .word 0x55555556 -.dc_17: - .word 0x78787879 -.dc_9: -.dc_18: - .word 0x38e38e39 + Opcode idiv_clz + POP r1 + POP r0 + bl int_div +idiv_clz_ret: + PUSH r0 + DISPATCH 1 Opcode irem - POP tmp2, tmp1 - DISPATCH_START 1 -int_rem: - cmp tmp2, #0x20 - DISPATCH_NEXT - adr r3, .rem_table - DISPATCH_NEXT - ldrcc pc, [r3, tmp2, lsl #2] - - ands a4, tmp2, #0x80000000 - rsbmi tmp2, tmp2, #0 - eors lr, a4, tmp1, ASR #32 - rsbcs tmp1, tmp1, #0 - movs a3, tmp2 -.r_loop: - cmp a3, tmp1, LSR #8 - movls a3, a3, LSL #8 - blo .r_loop - cmp a3, tmp1, LSR #1 - bhi .r_jump7 - cmp a3, tmp1, LSR #2 - bhi .r_jump6 - cmp a3, tmp1, LSR #3 - bhi .r_jump5 - cmp a3, tmp1, LSR #4 - bhi .r_jump4 - cmp a3, tmp1, LSR #5 - bhi .r_jump3 - cmp a3, tmp1, LSR #6 - bhi .r_jump2 - cmp a3, tmp1, LSR #7 - bhi .r_jump1 -.r_loop2: -@ not executed when falling into .r_loop2 - movhi a3, a3, LSR #8 - cmp tmp1, a3, LSL #7 - adc a4, a4, a4 - subcs tmp1, tmp1, a3, LSL #7 - cmp tmp1, a3, LSL #6 -.r_jump1: - adc a4, a4, a4 - subcs tmp1, tmp1, a3, LSL #6 - cmp tmp1, a3, LSL #5 -.r_jump2: - adc a4, a4, a4 - subcs tmp1, tmp1, a3, LSL #5 - cmp tmp1, a3, LSL #4 -.r_jump3: - adc a4, a4, a4 - subcs tmp1, tmp1, a3, LSL #4 - cmp tmp1, a3, LSL #3 -.r_jump4: - adc a4, a4, a4 - subcs tmp1, tmp1, a3, LSL #3 - cmp tmp1, a3, LSL #2 -.r_jump5: - adc a4, a4, a4 - subcs tmp1, tmp1, a3, LSL #2 - cmp tmp1, a3, LSL #1 -.r_jump6: - adc a4, a4, a4 - subcs tmp1, tmp1, a3, LSL #1 -.r_jump7: - cmp tmp1, a3 - adc a4, a4, a4 - subcs tmp1, tmp1, a3 - cmp a3, tmp2 - bne .r_loop2 - movs lr, lr, lsl #1 - DISPATCH_NEXT - rsbmi tmp1, tmp1, #0 - DISPATCH_NEXT - PUSH tmp1 - DISPATCH_FINISH + POP r1 + POP r0 + cmp r1, #0 + beq divide_by_zero_exception + bl __aeabi_idivmod + PUSH r1 + DISPATCH 1 -.rem_table: - .word div_zero_jpc_1 - .word .remc_1 - .word .remc_2 - .word .remc_3 - .word .remc_4 - .word .remc_5 - .word .remc_6 - .word .remc_7 - .word .remc_8 - .word .remc_9 - .word .remc_10 - .word .remc_11 - .word .remc_12 - .word .remc_13 - .word .remc_14 - .word .remc_15 - .word .remc_16 - .word .remc_17 - .word .remc_18 - .word .remc_19 - .word .remc_20 - .word .remc_21 - .word .remc_22 - .word .remc_23 - .word .remc_24 - .word .remc_25 - .word .remc_26 - .word .remc_27 - .word .remc_28 - .word .remc_29 - .word .remc_30 - .word .remc_31 + Opcode irem_clz -.remc_1: - DISPATCH_STATE 3 - DISPATCH_NEXT - mov tmp2, #0 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_2: - DISPATCH_STATE 3 - add lr, tmp1, tmp1, lsr #31 - mov tmp2, lr, asr #1 - DISPATCH_NEXT - sub tmp2, tmp1, tmp2, lsl #1 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_3: - DISPATCH_STATE 3 - ldr tmp2, .dc_3 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - sub tmp2, a4, tmp1, asr #31 - add lr, tmp2, tmp2, lsl #1 - sub tmp2, tmp1, lr - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_4: - DISPATCH_STATE 3 - movs lr, tmp1 - DISPATCH_NEXT - addmi lr, lr, #3 - mov tmp2, lr, asr #2 - sub tmp2, tmp1, tmp2, lsl #2 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_5: - DISPATCH_STATE 3 - ldr tmp2, .dc_5 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #1 - add lr, tmp2, tmp2, lsl #2 - sub tmp2, tmp1, lr - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_6: - DISPATCH_STATE 3 - ldr tmp2, .dc_6 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - sub tmp2, a4, tmp1, asr #31 - add lr, tmp2, tmp2, lsl #1 - sub tmp2, tmp1, lr, lsl #1 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_7: - DISPATCH_STATE 3 - ldr tmp2, .dc_7 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov tmp2, tmp1, asr #31 - add lr, tmp1, a4 - rsb tmp2, tmp2, lr, asr #2 - rsb lr, tmp2, tmp2, lsl #3 - sub tmp2, tmp1, lr - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_8: - DISPATCH_STATE 3 - movs lr, tmp1 - DISPATCH_NEXT - addmi lr, lr, #7 - mov tmp2, lr, asr #3 - sub tmp2, tmp1, tmp2, lsl #3 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_9: - DISPATCH_STATE 3 - ldr tmp2, .dc_9 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #1 - add lr, tmp2, tmp2, lsl #3 - sub tmp2, tmp1, lr - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_10: - DISPATCH_STATE 3 - ldr tmp2, .dc_10 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #2 - add lr, tmp2, tmp2, lsl #2 - sub tmp2, tmp1, lr, lsl #1 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_11: - DISPATCH_STATE 3 - ldr tmp2, .dc_11 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #1 - add lr, tmp2, tmp2, lsl #2 - add lr, tmp2, lr, lsl #1 - sub tmp2, tmp1, lr - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_12: - DISPATCH_STATE 3 - ldr tmp2, .dc_12 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #1 - add lr, tmp2, tmp2, lsl #1 - sub tmp2, tmp1, lr, lsl #2 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_13: - DISPATCH_STATE 3 - ldr tmp2, .dc_13 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #2 - add lr, tmp2, tmp2, lsl #1 - add lr, tmp2, lr, lsl #2 - sub tmp2, tmp1, lr - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_14: - DISPATCH_STATE 3 - ldr tmp2, .dc_14 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov tmp2, tmp1, asr #31 - add lr, tmp1, a4 - rsb tmp2, tmp2, lr, asr #3 - rsb lr, tmp2, tmp2, lsl #3 - sub tmp2, tmp1, lr, lsl #1 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_15: - DISPATCH_STATE 3 - ldr tmp2, .dc_15 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov tmp2, tmp1, asr #31 - add lr, tmp1, a4 - rsb tmp2, tmp2, lr, asr #3 - rsb lr, tmp2, tmp2, lsl #4 - sub tmp2, tmp1, lr - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_16: - DISPATCH_STATE 3 - movs lr, tmp1 - DISPATCH_NEXT - addmi lr, lr, #15 - mov tmp2, lr, asr #4 - sub tmp2, tmp1, tmp2, lsl #4 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_17: - DISPATCH_STATE 3 - ldr tmp2, .dc_17 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #3 - add lr, tmp2, tmp2, lsl #4 - sub tmp2, tmp1, lr - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_18: - DISPATCH_STATE 3 - ldr tmp2, .dc_18 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #2 - add lr, tmp2, tmp2, lsl #3 - sub tmp2, tmp1, lr, lsl #1 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_19: - DISPATCH_STATE 3 - ldr tmp2, .dc_19 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #3 - add lr, tmp2, tmp2, lsl #3 - add lr, tmp2, lr, lsl #1 - sub tmp2, tmp1, lr - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_20: - DISPATCH_STATE 3 - ldr tmp2, .dc_20 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #3 - add lr, tmp2, tmp2, lsl #2 - sub tmp2, tmp1, lr, lsl #2 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_21: - DISPATCH_STATE 3 - ldr tmp2, .dc_21 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #2 - add lr, tmp2, tmp2, lsl #1 - rsb lr, lr, lr, lsl #3 - sub tmp2, tmp1, lr - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_22: - DISPATCH_STATE 3 - ldr tmp2, .dc_22 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #2 - add lr, tmp2, tmp2, lsl #2 - add lr, tmp2, lr, lsl #1 - sub tmp2, tmp1, lr, lsl #1 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_23: - DISPATCH_STATE 3 - ldr tmp2, .dc_23 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov tmp2, tmp1, asr #31 - add lr, tmp1, a4 - rsb tmp2, tmp2, lr, asr #4 - add lr, tmp2, tmp2, lsl #1 - rsb lr, tmp2, lr, lsl #3 - sub tmp2, tmp1, lr - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_24: - DISPATCH_STATE 3 - ldr tmp2, .dc_24 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #2 - add lr, tmp2, tmp2, lsl #1 - sub tmp2, tmp1, lr, lsl #3 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_25: - DISPATCH_STATE 3 - ldr tmp2, .dc_25 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #3 - add lr, tmp2, tmp2, lsl #2 - add lr, lr, lr, lsl #2 - sub tmp2, tmp1, lr - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_26: - DISPATCH_STATE 3 - ldr tmp2, .dc_26 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #3 - add lr, tmp2, tmp2, lsl #1 - add lr, tmp2, lr, lsl #2 - sub tmp2, tmp1, lr, lsl #1 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_27: - DISPATCH_STATE 3 - ldr tmp2, .dc_27 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov lr, tmp1, asr #31 - rsb tmp2, lr, a4, asr #3 - add lr, tmp2, tmp2, lsl #1 - add lr, lr, lr, lsl #3 - sub tmp2, tmp1, lr - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_28: - DISPATCH_STATE 3 - ldr tmp2, .dc_28 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov tmp2, tmp1, asr #31 - add lr, tmp1, a4 - rsb tmp2, tmp2, lr, asr #4 - rsb lr, tmp2, tmp2, lsl #3 - sub tmp2, tmp1, lr, lsl #2 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_29: - DISPATCH_STATE 3 - ldr tmp2, .dc_29 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov tmp2, tmp1, asr #31 - add lr, tmp1, a4 - rsb tmp2, tmp2, lr, asr #4 - rsb lr, tmp2, tmp2, lsl #3 - add lr, tmp2, lr, lsl #2 - sub tmp2, tmp1, lr - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_30: - DISPATCH_STATE 3 - ldr tmp2, .dc_30 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov tmp2, tmp1, asr #31 - add lr, tmp1, a4 - rsb tmp2, tmp2, lr, asr #4 - rsb lr, tmp2, tmp2, lsl #4 - sub tmp2, tmp1, lr, lsl #1 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH -.remc_31: - DISPATCH_STATE 3 - ldr tmp2, .dc_31 - DISPATCH_NEXT - smull lr, a4, tmp1, tmp2 - mov tmp2, tmp1, asr #31 - add lr, tmp1, a4 - rsb tmp2, tmp2, lr, asr #4 - rsb lr, tmp2, tmp2, lsl #5 - sub tmp2, tmp1, lr - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH + POP r1 + POP r0 + bl int_rem +irem_clz_ret: + PUSH r0 + DISPATCH 1 Opcode goto ldrsb r1, [jpc, #1] @@ -2622,6 +1168,46 @@ ble do_backedge DISPATCH_FINISH +branch_taken_unsafe: + mov r2, r2, lsl #24 + orr tmp1, r1, r2, asr #16 + DISPATCH_START_REG tmp1 + USEC cmp tmp1, #0 + USEC ble do_backedge + DISPATCH_FINISH + +branch_taken_unsafe_1: + add jpc, jpc, #1 + orr tmp1, ip, r1, lsl #8 + DISPATCH_START_REG tmp1 + USEC cmp tmp1, #0 + USEC ble do_backedge + DISPATCH_FINISH + +branch_taken_unsafe_2: + add jpc, jpc, #2 + orr tmp1, ip, r1, lsl #8 + DISPATCH_START_REG tmp1 + USEC cmp tmp1, #0 + USEC ble do_backedge + DISPATCH_FINISH + +branch_taken_unsafe_3: + add jpc, jpc, #3 + orr tmp1, ip, r1, lsl #8 + DISPATCH_START_REG tmp1 + USEC cmp tmp1, #0 + USEC ble do_backedge + DISPATCH_FINISH + +branch_taken_unsafe_4: + add jpc, jpc, #4 + orr tmp1, ip, r1, lsl #8 + DISPATCH_START_REG tmp1 + USEC cmp tmp1, #0 + USEC ble do_backedge + DISPATCH_FINISH + do_backedge: USEC ldr tmp2, [istate, #ISTATE_METHOD] OSR ldr lr, [dispatch, #InterpreterInvocationLimit_Address-XXX] @@ -2631,7 +1217,11 @@ OSR ldr lr, [lr] USEC add ip, ip, #INVOCATIONCOUNTER_COUNTINCREMENT USEC str r1, [tmp2, #METHOD_BACKEDGECOUNTER] +#ifdef THUMB2EE + OSR cmp r1, lr +#else OSR cmp r1, lr, lsl #2 +#endif USEC str ip, [tmp2, #METHOD_INVOCATIONCOUNTER] OSR bcs do_osr @@ -2645,23 +1235,37 @@ do_synchronize: - add r0, istate, #ISTATE_THREAD - bl HandleMarkCleanerD - ldr r0, [istate, #ISTATE_THREAD] DECACHE_JPC DECACHE_STACK - bl _ZN20SafepointSynchronize5blockEP10JavaThread - ASSERT_STACK_CACHED - ASSERT_LOCALS_CACHED ldr r0, [istate, #ISTATE_THREAD] + bl Helper_SafePoint CACHE_CP - ldr r3, [r0, #THREAD_PENDING_EXC] CACHE_JPC - cmp r3, #0 + cmp r0, #0 bne handle_exception DISPATCH 0 #ifdef ON_STACK_REPLACEMENT + +#ifdef THUMB2EE +do_osr: + ldr r3, [tmp2, #METHOD_CONSTMETHOD] + DECACHE_JPC + DECACHE_STACK + ldr r0, [istate, #ISTATE_THREAD] + sub r1, jpc, r3 + sub r1, r1, #CONSTMETHOD_CODEOFFSET + bl FREQ_COUNT_OVERFLOW +1: + cmp r0, #0 + bne call_thumb2 + CACHE_CP + CACHE_JPC + DISPATCH_START 0 + b osr_continue + +#else + do_osr: ldr ip, [dispatch, #UseOnStackReplacement_Address-XXX] ldrb ip, [ip] @@ -2680,15 +1284,13 @@ mov r3, #1 ldr r5, [tmp2] str r3, [tmp2] - bl _ZN18InterpreterRuntime26frequency_counter_overflowEP10JavaThreadPh + bl FREQ_COUNT_OVERFLOW str r5, [tmp2] b 2f 1: - bl _ZN18InterpreterRuntime26frequency_counter_overflowEP10JavaThreadPh + bl FREQ_COUNT_OVERFLOW 2: ldr r3, [istate, #ISTATE_THREAD] - ASSERT_LOCALS_CACHED - ASSERT_STACK_CACHED CACHE_CP ldr r1, [r3, #THREAD_PENDING_EXC] CACHE_JPC @@ -2702,13 +1304,9 @@ 1: DISPATCH_START 0 b osr_continue -#endif -#ifdef ON_STACK_REPLACEMENT osr_migrate: ldr tmp1, [r0, #128] @ osr_method->osr_entry() - ldr tmp2, [istate, #ISTATE_ADVANCE_PC] -@ ldr istate, [istate, #ISTATE_NEXT_FRAME] mov r0, r3 bl _ZN13SharedRuntime19OSR_migration_beginEP10JavaThread mov r1, r0 @@ -2730,32 +1328,11 @@ mov lr, pc ldr pc, [tmp1] - cmp tmp2, #0 - ldmeqfd arm_sp!, {regset, pc} + ldmfd arm_sp!, {fast_regset, pc} - ldr istate, [istate, #ISTATE_NEXT_FRAME] - ldr lr, [istate, #-ISTATE_NEXT_FRAME+ISTATE_THREAD]! - CACHE_JPC - ldr stack, [lr, #THREAD_JAVA_SP] - ldr r2, [istate, #ISTATE_STACK_LIMIT] - sub stack, stack, #4 +#endif // THUMB2EE - ldr r1, [lr, #THREAD_TOP_ZERO_FRAME] - add r2, r2, #4 - str r2, [lr, #THREAD_JAVA_SP] - str r1, [lr, #THREAD_LAST_JAVA_SP] - ldr r3, [lr, #THREAD_PENDING_EXC] - DISPATCH_START_REG tmp2 - CACHE_LOCALS - DISPATCH_NEXT - DISPATCH_NEXT - cmp r3, #0 - DISPATCH_NEXT - bne return_exception - DISPATCH_NEXT - CACHE_CP - DISPATCH_FINISH -#endif +#endif // ON_STACK_REPLACEMENT Opcode ifeq Opcode ifnull @@ -2867,18 +1444,12 @@ ldr r1, [r3] cmp r1, #1 bne handle_return - add r0, istate, #ISTATE_THREAD - bl HandleMarkCleanerD - ldr r0, [istate, #ISTATE_THREAD] DECACHE_JPC DECACHE_STACK - bl _ZN20SafepointSynchronize5blockEP10JavaThread ldr r0, [istate, #ISTATE_THREAD] - ASSERT_STACK_CACHED - ldr r3, [r0, #THREAD_PENDING_EXC] + bl Helper_SafePoint CACHE_JPC -@ CACHE_LOCALS & CACHE_CP not require for handle_retuen / handle_exception - cmp r3, #0 + cmp r0, #0 beq handle_return b handle_exception @@ -2889,8 +1460,6 @@ DECACHE_JPC DECACHE_STACK bl _ZN18InterpreterRuntime15resolve_get_putEP10JavaThreadN9Bytecodes4CodeE - ASSERT_STACK_CACHED - ASSERT_LOCALS_CACHED ldr r0, [istate, #ISTATE_THREAD] CACHE_JPC ldr r3, [r0, #THREAD_PENDING_EXC] @@ -3057,19 +1626,12 @@ stm tmp2, {r2, r3} DISPATCH 3 putfield_a: - GET_STACK 1, r0 - add oop_address_tmp, r0, tmp2 - POP oop_value_tmp - cmp r0, #0 + POP r2, r3 + cmp r3, #0 beq null_ptr_exception - bl oop_store - ldr r3, [dispatch, #Universe_collectedHeap_Address-XXX] - POP r2 - ldr r3, [r3, #0] - ldr r3, [r3, #12] - ldr r3, [r3, #76] - mov tmp2, #0 - strb tmp2, [r3, r2, lsr #9] + str r2, [r3, tmp2] + mov r0, r3 + bl Helper_aputfield DISPATCH 3 #endif @@ -3134,21 +1696,11 @@ stm r2, {r3, tmp2} DISPATCH_FINISH putstatic_a: - POP oop_value_tmp - add oop_address_tmp, r3, r2 - PUSH r3 - bl oop_store - ldr r3, [dispatch, #Universe_collectedHeap_Address-XXX] - DISPATCH_START 3 - POP r2 - ldr r3, [r3] - DISPATCH_NEXT - ldr r3, [r3, #12] - DISPATCH_NEXT - mov tmp2, #0 - ldr r3, [r3, #76] - strb tmp2, [r3, r2, lsr #9] - DISPATCH_FINISH + POP tmp2 + str tmp2, [r3, r2] + mov r0, r3 + bl Helper_aputfield + DISPATCH 3 resolve_invokeinterface: mov r1, #opc_invokeinterface @@ -3167,8 +1719,6 @@ DECACHE_JPC DECACHE_STACK bl _ZN18InterpreterRuntime14resolve_invokeEP10JavaThreadN9Bytecodes4CodeE - ASSERT_STACK_CACHED - ASSERT_LOCALS_CACHED ldr r0, [istate, #ISTATE_THREAD] CACHE_JPC ldr r3, [r0, #4] @@ -3185,109 +1735,17 @@ # r1 = [jpc, #2] Opcode new ldrb r1, [jpc, #2] -#define k_entry tmp2 -#define new_result r7 -#define top_addr r7 -#define uch r7 -#define obj_size tmp1 - ldr r3, [istate, #ISTATE_METHOD] - orr r2, r1, r2, lsl #8 - ldr lr, [r3, #METHOD_CONSTANTS] - ldr r1, [lr, #CONSTANTPOOL_TAGS] - add r1, r1, #12 - ldrb r3, [r1, r2] - cmp r3, #JVM_CONSTANT_UnresolvedClassInError - cmpne r3, #JVM_CONSTANT_UnresolvedClass - beq .new_slow_case - - add r3, lr, #CONSTANTPOOL_BASE - ldr k_entry, [r3, r2, lsl #2] - - add r1, k_entry, #KLASS_PART - ldr r3, [r1, #INSTANCEKLASS_INITSTATE] - cmp r3, #class_fully_initialized - bne .new_slow_case - ldr r3, [r1, #4] - tst r3, #1 - bne .new_slow_case - - mov obj_size, r3, asr #2 -.new_retry: - ldr r0, [dispatch, #Universe_collectedHeap_Address-XXX] - ldr r0, [r0] - bl CollectedHeap_top_addr - mov top_addr, r0 - ldr r0, [dispatch, #Universe_collectedHeap_Address-XXX] - ldr r0, [r0] - bl CollectedHeap_end_addr - mov r1, top_addr - ldr new_result, [top_addr, #0] - add ip, new_result, obj_size, lsl #2 - ldr r3, [r0, #0] - cmp ip, r3 - bhi .new_slow_case - mov r2, new_result - add r0, new_result, obj_size, lsl #2 - bl cmpxchg_ptr - cmp r0, new_result - bne .new_retry - subs r2, obj_size, #2 -@ ECN: sub optimimal memset - tst r2, #1 - add r0, new_result, #8 - mov r1, #0 - mov ip, #0 - strne r1, [r0], #4 - tst r2, #2 - mov r3, #0 - mov lr, #0 - stmneia r0!, {r1, r3} - bics r2, r2, #3 - beq .new_zero_done -1: - subs r2, r2, #4 - stmia r0!, {r1, r3, ip, lr} - bne 1b -.new_zero_done: - ldr r3, [dispatch, #always_do_update_barrier_Address-XXX] - mov r2, #1 - ldrb r1, [r3] @ zero_extendqisi2 - str r2, [new_result, #0] - cmp r1, #0 - bne .new_do_update_barrier - str k_entry, [new_result, #4] -.new_exit: - str new_result, [stack], #-4 - CACHE_LOCALS - DISPATCH 3 -.new_do_update_barrier: - add oop_address_tmp, new_result, #4 -@ mov oop_value_tmp, k_entry @ oop_value_tmp == k_entry - adr lr, .new_exit - b oop_store -.new_slow_case: - ldrb r2, [jpc, #1] - ldrb r1, [jpc, #2] - ldr r3, [istate, #ISTATE_METHOD] DECACHE_JPC DECACHE_STACK - orr r2, r1, r2, lsl #8 - ldr r0, [istate, #ISTATE_THREAD] - ldr r1, [r3, #METHOD_CONSTANTS] - bl _ZN18InterpreterRuntime4_newEP10JavaThreadP19constantPoolOopDesci - ldr r0, [istate, #ISTATE_THREAD] - ASSERT_STACK_CACHED - ldr ip, [r0, #THREAD_PENDING_EXC] + orr r1, r1, r2, lsl #8 + mov r0, r8 + bl Helper_new CACHE_JPC CACHE_CP - cmp ip, #0 - CACHE_LOCALS - bne handle_exception - ldr r2, [r0, #THREAD_VM_RESULT] - str r2, [stack], #-4 - ldr r3, [istate, #ISTATE_THREAD] - str ip, [r3, #THREAD_VM_RESULT] - DISPATCH 3 + cmp r0, #0 + beq handle_exception + PUSH r0 + DISPATCH 3 bytecode_interpreter_str: .ascii "[Bytecode Interpreter]\000" @@ -3300,8 +1758,6 @@ DECACHE_JPC DECACHE_STACK bl _ZN18InterpreterRuntime8newarrayEP10JavaThread9BasicTypei - ASSERT_LOCALS_CACHED - ASSERT_STACK_CACHED ldr r0, [istate, #ISTATE_THREAD] CACHE_JPC ldr ip, [r0, #THREAD_PENDING_EXC] @@ -3324,8 +1780,6 @@ ldr r1, [lr, #METHOD_CONSTANTS] ldr r0, [istate, #ISTATE_THREAD] bl _ZN18InterpreterRuntime9anewarrayEP10JavaThreadP19constantPoolOopDescii - ASSERT_STACK_CACHED - ASSERT_LOCALS_CACHED ldr r0, [istate, #ISTATE_THREAD] CACHE_JPC ldr ip, [r0, #THREAD_PENDING_EXC] @@ -3370,174 +1824,34 @@ # r1 = [jpc, #2] Opcode checkcast ldrb r1, [jpc, #2] - ldr r3, [istate, #ISTATE_METHOD] - ldr r0, [stack, #4] - ldr r3, [r3, #METHOD_CONSTANTS] @ R3 = METHOD->constants() - cmp r0, #0 - ldr ip, [r3, #CONSTANTPOOL_TAGS] - beq .checkcast_exit - add ip, ip, #12 - orr tmp2, r1, r2, lsl #8 - ldrb r2, [ip, tmp2] @ zero_extendqisi2 - cmp r2, #JVM_CONSTANT_UnresolvedClassInError - cmpne r2, #JVM_CONSTANT_UnresolvedClass - beq 3f - -4: - ldr r0, [r0, #4] - add r3, r3, tmp2, lsl #2 - ldr tmp1, [r3, #CONSTANTPOOL_BASE] - cmp tmp1, r0 - beq .checkcast_exit - - ldr r2, [tmp1, #16] - add tmp2, r0, #8 - add ip, tmp2, r2 - ldr ip, [ip, #-8] - cmp ip, tmp1 - beq .checkcast_exit - - cmp r2, #secondary_super_cache_offset_in_bytes - bne 2f - - mov r0, tmp2 - mov r1, tmp1 - - bl _ZNK5Klass23search_secondary_supersEP12klassOopDesc - cmp r0, #0 - beq 2f -.checkcast_exit: - DISPATCH 3 - -3: - ldr r0, [istate, #ISTATE_THREAD] DECACHE_JPC DECACHE_STACK - bl _ZN18InterpreterRuntime13quicken_io_ccEP10JavaThread - ASSERT_STACK_CACHED - ASSERT_LOCALS_CACHED - ldr r0, [istate, #ISTATE_THREAD] + orr r1, r1, r2, lsl #8 + mov r0, r8 + GET_STACK 0, r2 + bl Helper_checkcast CACHE_JPC - ldr r3, [r0, #THREAD_PENDING_EXC] CACHE_CP - cmp r3, #0 - ldr r3, [istate, #ISTATE_METHOD] + cmp r0, #0 bne handle_exception - ldr r0, [stack, #4] - ldr r3, [r3, #METHOD_CONSTANTS] @ METHOD->constanst() might have moved - b 4b - -2: - DECACHE_JPC - DECACHE_STACK - mov r0, tmp2 - ldr r3, [istate, #ISTATE_THREAD] - ldr tmp2, [r3, #THREAD_RESOURCEAREA] - - ldr tmp_chunk, [tmp2, #RESOURCEAREA_CHUNK] - ldr tmp_hwm, [tmp2, #RESOURCEAREA_HWM] - ldr tmp_max, [tmp2, #RESOURCEAREA_MAX] - - bl _ZNK5Klass13external_nameEv - mov ip, r0 - add r0, tmp1, #8 - mov tmp1, ip - bl _ZNK5Klass13external_nameEv - mov r1, r0 - mov r0, tmp1 - bl SharedRuntime_generate_class_cast_message - str r0, [arm_sp, #0] - ldr r0, [istate, #ISTATE_THREAD] - adrl r1, bytecode_interpreter_str - mov r2, #99 - mov r3, #_thread_in_vm - str r3, [r0, #THREAD_STATE] - ldr r3, [dispatch, #VmSymbols_symbols_Address-XXX] - ldr r3, [r3, #VMSYMBOLS_ClassCastException * 4] - bl _ZN10Exceptions10_throw_msgEP6ThreadPKciP13symbolOopDescS3_ - add r0, istate, #ISTATE_THREAD - bl ThreadInVMfromJavaD - mov r0, tmp_chunk - ldr r3, [r0, #0] - CACHE_JPC - cmp r3, #0 - beq 1f - bl _ZN5Chunk9next_chopEv -1: - str tmp_hwm, [tmp2, #RESOURCEAREA_HWM] - str tmp_max, [tmp2, #RESOURCEAREA_MAX] - str tmp_chunk, [tmp2, #RESOURCEAREA_CHUNK] - b handle_exception + DISPATCH 3 # r2 = [jpc, #1] # r1 = [jpc, #2] Opcode instanceof ldrb r1, [jpc, #2] - ldr r3, [istate, #ISTATE_METHOD] - ldr r0, [stack, #4] - ldr r3, [r3, #METHOD_CONSTANTS] - cmp r0, #0 - ldr ip, [r3, #CONSTANTPOOL_TAGS] - beq .instanceof_not_instance - add ip, ip, #BASE_OFFSET_BYTE - orr tmp2, r1, r2, lsl #8 - ldrb r2, [ip, tmp2] - cmp r2, #JVM_CONSTANT_UnresolvedClassInError - cmpne r2, #JVM_CONSTANT_UnresolvedClass - beq 2f - -1: - ldr r0, [r0, #4] - add r3, r3, tmp2, lsl #2 - ldr tmp1, [r3, #CONSTANTPOOL_BASE] - cmp tmp1, r0 - beq .instanceof_is_instance - - ldr r2, [tmp1, #16] - add tmp2, r0, #8 - add ip, tmp2, r2 - ldr ip, [ip, #-8] - cmp ip, tmp1 - beq .instanceof_is_instance - - mov r0, #0 - cmp r2, #secondary_super_cache_offset_in_bytes - bne .instanceof_not_instance - - mov r0, tmp2 - mov r1, tmp1 - - bl _ZNK5Klass23search_secondary_supersEP12klassOopDesc - cmp r0, #0 - beq .instanceof_not_instance - -.instanceof_is_instance: - mov r0, #1 - str r0, [stack, #4] - DISPATCH 3 -.instanceof_not_instance: - mov r0, #0 - str r0, [stack, #4] - DISPATCH 3 - -2: - ldr r0, [istate, #ISTATE_THREAD] DECACHE_JPC DECACHE_STACK - bl _ZN18InterpreterRuntime13quicken_io_ccEP10JavaThread - ASSERT_STACK_CACHED - ASSERT_LOCALS_CACHED - ldr r0, [istate, #ISTATE_THREAD] + orr r1, r1, r2, lsl #8 + mov r0, r8 + POP r2 + bl Helper_instanceof CACHE_JPC - ldr r3, [r0, #THREAD_PENDING_EXC] CACHE_CP - cmp r3, #0 - bne handle_exception - - ldr r3, [istate, #ISTATE_METHOD] - ldr r0, [stack, #4] - ldr r3, [r3, #METHOD_CONSTANTS] @ METHOD->constanst() might have moved - b 1b + cmp r0, #-1 + beq handle_exception + PUSH r0 + DISPATCH 3 Opcode monitorenter ldr r1, [stack, #4] @@ -3583,8 +1897,6 @@ DECACHE_STACK ldr r0, [istate, #ISTATE_THREAD] bl _ZN18InterpreterRuntime12monitorenterEP10JavaThreadP15BasicObjectLock - ASSERT_STACK_CACHED - ASSERT_LOCALS_CACHED ldr r0, [istate, #ISTATE_THREAD] CACHE_JPC ldr r3, [r0, #THREAD_PENDING_EXC] @@ -3640,7 +1952,6 @@ ldr sl, [istate, #ISTATE_STACK_BASE] ldr r3, [stack, #4] CACHE_JPC - ASSERT_LOCALS_CACHED mov r1, r3 str r3, [sl, #4] ldr r2, [r3, #0] @@ -3663,8 +1974,6 @@ DECACHE_JPC DECACHE_STACK bl _ZN18InterpreterRuntime12monitorenterEP10JavaThreadP15BasicObjectLock - ASSERT_STACK_CACHED - ASSERT_LOCALS_CACHED ldr r0, [istate, #ISTATE_THREAD] CACHE_JPC ldr r3, [r0, #THREAD_PENDING_EXC] @@ -3710,8 +2019,6 @@ ldr r0, [istate, #ISTATE_THREAD] bl _ZN18InterpreterRuntime11monitorexitEP10JavaThreadP15BasicObjectLock ldr r0, [istate, #ISTATE_THREAD] - ASSERT_STACK_CACHED - ASSERT_LOCALS_CACHED ldr r3, [r0, #THREAD_PENDING_EXC] CACHE_JPC cmp r3, #0 @@ -3740,39 +2047,16 @@ ALIGN_WORD Opcode aastore - ldr tmp1, [stack, #12] @ arrObj - ldr tmp_vvv, [stack, #8] - SW_NPC cmp tmp1, #0 - ldr sl, [stack, #4] - SW_NPC beq null_ptr_exception -.abortentry115: - ldr r3, [tmp1, #8] - cmp tmp_vvv, r3 - bcs array_bounds_exception - cmp sl, #0 - beq .aastore_exit - ldr r3, [tmp1, #4] @ arrObj->klass() - ldr r0, [sl, #4] - ldr r1, [r3, #KLASS_PART+OBJARRAYKLASS_ELEMENTKLASS] - cmp r0, r1 - beq .aastore_exit - add r0, r0, #8 - bl is_subtype_of - cmp r0, #0 - moveq r0, #VMSYMBOLS_ArrayStoreException - beq raise_exception -.aastore_exit: - ldr r2, [dispatch, #Universe_collectedHeap_Address-XXX] - add r1, tmp1, #BASE_OFFSET_WORD - str sl, [r1, tmp_vvv, asl #2]! - ldr r3, [r2] - mov lr, #0 - ldr r3, [r3, #12] - add stack, stack, #12 - ldr r3, [r3, #76] - strb lr, [r3, r1, lsr #9] + DECACHE_JPC + DECACHE_STACK + mov r0, r8 + POP r1, r2, r3 + bl Helper_aastore + CACHE_JPC CACHE_CP - DISPATCH 1 + cmp r0, #0 + bne handle_exception + DISPATCH 1 Opcode wide ldrb r2, [jpc, #1] @@ -3862,8 +2146,6 @@ DECACHE_JPC DECACHE_STACK bl _ZN18InterpreterRuntime14multianewarrayEP10JavaThreadPi - ASSERT_STACK_CACHED - ASSERT_LOCALS_CACHED ldr r0, [istate, #ISTATE_THREAD] CACHE_JPC ldr r1, [r0, #THREAD_PENDING_EXC] @@ -3901,19 +2183,13 @@ ldr r1, [r3] cmp r1, #1 bne 1f - add r0, istate, #ISTATE_THREAD - bl HandleMarkCleanerD - ldr r0, [istate, #ISTATE_THREAD] DECACHE_JPC DECACHE_STACK - bl _ZN20SafepointSynchronize5blockEP10JavaThread - ASSERT_STACK_CACHED - ASSERT_LOCALS_CACHED ldr r0, [istate, #ISTATE_THREAD] + bl Helper_SafePoint CACHE_JPC - ldr r3, [r0, #THREAD_PENDING_EXC] CACHE_CP - cmp r3, #0 + cmp r0, #0 bne handle_exception 1: DISPATCH 0 @@ -3933,8 +2209,6 @@ ldr r2, [istate, #ISTATE_BCP] ldr r1, [istate, #ISTATE_METHOD] bl _ZN18InterpreterRuntime11_breakpointEP10JavaThreadP13methodOopDescPh - ASSERT_STACK_CACHED - ASSERT_LOCALS_CACHED ldr r0, [istate, #ISTATE_THREAD] CACHE_JPC ldr r3, [r0, #THREAD_PENDING_EXC] @@ -3986,7 +2260,7 @@ ldrcc ip, [r2, r3, asl #2] adr r2, unimplemented_opcode_msg mov r1, #99 - str ip, [arm_sp, #0] + str ip, [arm_sp, #-8]! bl _Z19report_fatal_varargPKciS0_z b breakpoint unimplemented_opcode_msg: @@ -4005,7 +2279,6 @@ DECACHE_STACK ldr r0, [istate, #ISTATE_THREAD] bl _ZN18InterpreterRuntime18register_finalizerEP10JavaThreadP7oopDesc - ASSERT_STACK_CACHED ldr r0, [istate, #ISTATE_THREAD] CACHE_JPC ldr r3, [r0, #THREAD_PENDING_EXC] @@ -4014,11 +2287,16 @@ beq handle_return b handle_exception -@ ECN: normal_entry_synchronized doesn't really mean synchronized. It means -@ may or may not be synchronized. So we still have to check the synchronized -@ flag in the synchronized path, otherwise we may get an IllegalMonitor. + ALIGN_CODE normal_entry_synchronized: stmfd arm_sp!, {regset, lr} + bl fast_normal_entry_synchronized + ldmfd arm_sp!, {regset, pc} + + ALIGN_CODE +fast_normal_entry_synchronized: + stmfd arm_sp!, {fast_regset, lr} + mov sl, r0 mov tmp1, r2 @@ -4027,7 +2305,7 @@ rsb r3, r0, r3 rsb r3, r3, arm_sp cmp r3, #32768 - blt stack_overflow_no_frame + blt stack_overflow_before_frame ldrh r2, [sl, #METHOD_MAXLOCALS] ldrh r3, [sl, #METHOD_SIZEOFPARAMETERS] @@ -4041,7 +2319,7 @@ sub r5, r5, #FRAME_SIZE+4 sub r5, r5, r0, lsl #2 cmp r3, r5 - bcs stack_overflow_no_frame + bcs stack_overflow_before_frame cmp r8, #0 ble .normal_entry_synchronized_no_locals @@ -4067,61 +2345,17 @@ ldm ip, {r0, r1} add r0, r0, ip str tmp_vvv, [tmp1, #THREAD_TOP_ZERO_FRAME] - CACHE_JPC +@ CACHE_JPC str tmp_vvv, [tmp1, #THREAD_LAST_JAVA_SP] add dispatch, r1, r0 ldr r0, [istate, #ISTATE_METHOD] - CACHE_STACK - USEC ldr r2, [r0, #METHOD_INVOCATIONCOUNTER] - USEC ldr lr, [dispatch, #InterpreterInvocationLimit_Address-XXX] - USEC add r2, r2, #INVOCATIONCOUNTER_COUNTINCREMENT - USEC ldr lr, [lr] - USEC str r2, [r0, #METHOD_INVOCATIONCOUNTER] - USEC cmp r2, lr - ldr r3, [r0, #METHOD_ACCESSFLAGS] - USEC bcs sync_method_entry_freq_count_overflow - CACHE_LOCALS - tst r3, #JVM_ACC_SYNCHRONIZED - CACHE_CP - bne normal_do_synchronization - DISPATCH 0 - -#ifdef USE_COMPILER -sync_method_entry_freq_count_overflow: - ldr r3, [r0, #METHOD_CONSTMETHOD] - ldrh r3, [r3, #CONSTMETHOD_CODESIZE] - mov r1, #0 - mov r0, tmp1 - cmp r3, #MAX_FG_METHOD_SIZE - bcc 1f - ldr tmp2, [dispatch, #BackgroundCompilation_Address-XXX] - mov r3, #1 - ldr r5, [tmp2] - str r3, [tmp2] - bl _ZN18InterpreterRuntime26frequency_counter_overflowEP10JavaThreadPh - str r5, [tmp2] - b 2f -1: - bl _ZN18InterpreterRuntime26frequency_counter_overflowEP10JavaThreadPh -2: - ldr r0, [istate, #ISTATE_METHOD] - CACHE_JPC ldr r3, [r0, #METHOD_ACCESSFLAGS] - CACHE_LOCALS tst r3, #JVM_ACC_SYNCHRONIZED - CACHE_CP - bne normal_do_synchronization - DISPATCH 0 -#endif + beq 1f -do_execute_java_bytecodes_restore_locals_and_jpc: - CACHE_JPC -do_execute_java_bytecodes_restore_locals: +@ Do Synchronisation + CACHE_STACK CACHE_LOCALS - CACHE_CP - DISPATCH 0 - -normal_do_synchronization: tst r3, #JVM_ACC_STATIC ldrne r3, [r0, #METHOD_CONSTANTS] ldreq sl, [locals, #0] @@ -4143,9 +2377,8 @@ blx r3 cmp r0, #0 bne .normal_do_synchronisation_2 + b 1f .normal_do_synchronisation_3: - cmp tmp_xxx, tmp_vvv - beq do_execute_java_bytecodes_restore_locals ldr r0, [istate, #ISTATE_THREAD] bic r1, tmp_xxx, #3 bl JavaThread_is_lock_owned @@ -4153,39 +2386,76 @@ beq .normal_do_synchronisation_4 mov r3, #0 str r3, [tmp1] - b do_execute_java_bytecodes_restore_locals + b 1f .normal_do_synchronisation_4: mov r1, tmp1 DECACHE_STACK ldr r0, [istate, #ISTATE_THREAD] bl _ZN18InterpreterRuntime12monitorenterEP10JavaThreadP15BasicObjectLock ldr r0, [istate, #ISTATE_THREAD] - ASSERT_STACK_CACHED ldr r3, [r0, #THREAD_PENDING_EXC] cmp r3, #0 mov r2, r0 - beq do_execute_java_bytecodes_restore_locals_and_jpc - b handle_exception_do_not_unlock - -# r2 = [jpc, #1] -# r1 = [jpc, #2] - Opcode invokeinterface - ldrb r1, [jpc, #2] - DECACHE_STACK - add r0, constpool, r1, lsl #12 - add r0, r0, r2, asl #4 - DECACHE_JPC - ldr r2, [r0, #CP_OFFSET] - and r2, r2, #0x00ff0000 - cmp r2, #opc_invokeinterface << 16 - blne resolve_invokeinterface + bne handle_exception_do_not_unlock +1: + USEC ldr r0, [istate, #ISTATE_METHOD] + USEC ldr r2, [r0, #METHOD_INVOCATIONCOUNTER] + USEC ldr lr, [dispatch, #InterpreterInvocationLimit_Address-XXX] + USEC add r2, r2, #INVOCATIONCOUNTER_COUNTINCREMENT + USEC ldr lr, [lr] + USEC str r2, [r0, #METHOD_INVOCATIONCOUNTER] + USEC cmp r2, lr + USEC bcs sync_method_entry_freq_count_overflow + CACHE_JPC + CACHE_LOCALS + CACHE_CP + DISPATCH 0 - ldr r3, [r0, #CP_OFFSET+12] - and r2, r3, #255 - ldr r2, [stack, r2, lsl #2] - SW_NPC cmp r2, #0 - SW_NPC beq null_ptr_exception -.abortentry110: +#ifdef USE_COMPILER +sync_method_entry_freq_count_overflow: + ldr r3, [r0, #METHOD_CONSTMETHOD] + ldrh r3, [r3, #CONSTMETHOD_CODESIZE] + mov r1, #0 + ldr r0, [istate, #ISTATE_THREAD] + cmp r3, #MAX_FG_METHOD_SIZE + bcc 1f + ldr tmp2, [dispatch, #BackgroundCompilation_Address-XXX] + mov r3, #1 + ldr r5, [tmp2] + str r3, [tmp2] + bl FREQ_COUNT_OVERFLOW + str r5, [tmp2] + b 2f +1: + bl FREQ_COUNT_OVERFLOW +2: + T2 cmp r0, #0 + CACHE_LOCALS + T2 bne call_thumb2 + CACHE_JPC + CACHE_CP + DISPATCH 0 +#endif + +# r2 = [jpc, #1] +# r1 = [jpc, #2] + Opcode invokeinterface + ldrb r1, [jpc, #2] + DECACHE_STACK + add r0, constpool, r1, lsl #12 + add r0, r0, r2, asl #4 + DECACHE_JPC + ldr r2, [r0, #CP_OFFSET] + and r2, r2, #0x00ff0000 + cmp r2, #opc_invokeinterface << 16 + blne resolve_invokeinterface + + ldr r3, [r0, #CP_OFFSET+12] + and r2, r3, #255 + ldr r2, [stack, r2, lsl #2] + SW_NPC cmp r2, #0 + SW_NPC beq null_ptr_exception +.abortentry110: ldr tmp2, [r2, #4] @ rcvr->klass() tst r3, #flag_methodInterface bne .invokeinterface_methodInterface @@ -4213,12 +2483,11 @@ ldr r2, [r1, #-4] add r3, tmp2, r3, lsl #2 ldr tmp2, [r3, r2] - SW_NPC cmp tmp2, #0 - SW_NPC beq abstractmethod_exception + cmp tmp2, #0 + beq abstractmethod_exception .invokeinterface_invoke: ldr tmp1, [istate, #ISTATE_THREAD] @ str tmp2, [istate, #ISTATE_CALLEE] -.abortentry116: ldr ip, [tmp2, #METHOD_FROM_INTERPRETED] mov r1, #0 str ip, [istate, #36] @@ -4229,20 +2498,20 @@ ldr r3, [ip] - mov tmp_invoke_len, #5 - -#ifdef FASTPATH_ENTRY - adr r0, normal_entry - cmp r3, r0 - beq fast_normal_entry_with_len -#endif - mov r0, tmp2 mov r1, ip +#ifndef SHARK + add r3, r3, #CODE_ALIGN_SIZE +#endif mov r2, tmp1 blx r3 - ASSERT_LOCALS_CACHED + adrl ip, dispatch_init_adcon + ldm ip, {r0, r1} + add r0, r0, ip + add dispatch, r1, r0 + + CACHE_LOCALS ldr ip, [istate, #ISTATE_THREAD] CACHE_JPC @@ -4304,19 +2573,6 @@ str stack, [tmp1, #THREAD_JAVA_SP] ldr r3, [ip, #0] -#ifdef FASTPATH_ENTRY - adr r0, normal_entry - cmp r3, r0 - beq fast_normal_entry -#ifdef NATIVE_ENTRY - adrl r0, native_entry - cmp r3, r0 - beq fast_native_entry -#endif - adr r0, accessor_entry - cmp r3, r0 - beq fast_accessor_entry -#endif b normal_dispatch_and_return #endif // FAST_BYTECODES @@ -4389,28 +2645,22 @@ str stack, [tmp1, #THREAD_JAVA_SP] ldr r3, [ip, #0] -#ifdef FASTPATH_ENTRY - adr r0, normal_entry - cmp r3, r0 - beq fast_normal_entry -#ifdef NATIVE_ENTRY - adr r0, native_entry - cmp r3, r0 - beq fast_native_entry -#endif - adr r0, accessor_entry - cmp r3, r0 - beq fast_accessor_entry -#endif normal_dispatch_and_return: mov r0, tmp2 mov r1, ip +#ifndef SHARK + add r3, r3, #CODE_ALIGN_SIZE +#endif mov r2, tmp1 - ldr r2, [istate, #ISTATE_THREAD] blx r3 - ASSERT_LOCALS_CACHED + adrl ip, dispatch_init_adcon + ldm ip, {r0, r1} + add r0, r0, ip + add dispatch, r1, r0 + + CACHE_LOCALS ldr ip, [istate, #ISTATE_THREAD] CACHE_JPC @@ -4464,48 +2714,8 @@ ldr ip, [istate, #36] ldr r3, [ip, #0] -#ifdef FASTPATH_ENTRY - adr r0, normal_entry - cmp r3, r0 - beq fast_normal_entry -#ifdef NATIVE_ENTRY - adr r0, native_entry - cmp r3, r0 - beq fast_native_entry -#endif - adr r0, accessor_entry - cmp r3, r0 - beq fast_accessor_entry -#endif b normal_dispatch_and_return - ALIGN_CODE -normal_entry: - adrl ip, dispatch_init_adcon - stmfd arm_sp!, {regset, lr} - mov tmp2, r0 - ldm ip, {r0, r1} - - mov tmp_invoke_len, #0 - mov tmp1, r2 - - add r0, r0, ip - add dispatch, r1, r0 - - USEC ldr r2, [r10, #METHOD_INVOCATIONCOUNTER] - - ldr stack, [tmp1, #THREAD_JAVA_SP] - - ldr r0, [tmp1, #THREAD_STACK_SIZE] - USEC add r2, r2, #INVOCATIONCOUNTER_COUNTINCREMENT * 4 - ldr r3, [tmp1, #THREAD_STACK_BASE] - rsb r3, r0, r3 - rsb r3, r3, arm_sp - USEC str r2, [tmp2, #METHOD_INVOCATIONCOUNTER] - cmp r3, #32768 - bge fast_normal_entry_with_len - - b stack_overflow_before_frame Opcode invokespecial ldrb r1, [jpc, #2] @@ -4546,81 +2756,35 @@ str stack, [tmp1, #THREAD_JAVA_SP] ldr r3, [ip, #0] -#ifdef FASTPATH_ENTRY - adr r0, normal_entry - cmp r3, r0 - beq fast_normal_entry -#ifdef NATIVE_ENTRY - adr r0, native_entry - cmp r3, r0 - beq fast_native_entry -#endif - adr r0, accessor_entry - cmp r3, r0 - beq fast_accessor_entry -#endif b normal_dispatch_and_return ALIGN_CODE -accessor_entry: - adrl ip, dispatch_init_adcon - ldr r3, [ip] - add r3, r3, ip - ldr ip, [ip, #12] - ldr ip, [r3, ip] - ldr r1, [r0, #8] - ldr ip, [ip, #0] - ldrb r3, [r1, #50] - ldrb r1, [r1, #51] - cmp ip, #0 - ldr ip, [r0, #12] - bne normal_entry - ldr ip, [ip, #12] - orr r3, r3, r1, lsl #8 @ r3 = index - - add r1, ip, #16 - ldr r3, [r1, r3, lsl #4]! @ r1 = cache, r3 = flags - ldr ip, [r2, #THREAD_JAVA_SP] @ ip == stack - and r3, r3, #0x00ff0000 - cmp r3, #opc_getfield << 16 - ldr r3, [ip, #0] - bne normal_entry +normal_entry: + stmfd arm_sp!, {regset, lr} - cmp r3, #0 - beq normal_entry + ldr r7, [r2, #THREAD_STACK_SIZE] + ldr r3, [r2, #THREAD_STACK_BASE] + rsb r3, r7, r3 + rsb r3, r3, arm_sp + cmp r3, #32768 + blt stack_overflow_no_frame - ldr r0, [r1, #12] - ldr r1, [r1, #8] - movs r0, r0, lsr #29 - bls accessor_non_w + bl fast_normal_entry - ldr r0, [r3, r1] - str r0, [ip, #0] - bx lr + ldmfd arm_sp!, {regset, pc} -#ifdef NATIVE_ENTRY ALIGN_CODE -native_entry: +fast_normal_entry: adrl ip, dispatch_init_adcon - stmfd arm_sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} - - ldm ip, {dispatch, r7} - mov r11, r0 - add dispatch, dispatch, ip - add dispatch, dispatch, r7 - - mov istate, #0 + mov tmp2, r0 + ldm ip, {r0, r1} + mov tmp1, r2 + add r0, r0, ip + ldr stack, [tmp1, #THREAD_JAVA_SP] + add dispatch, r1, r0 - b fast_native_entry_with_args -#endif + stmdb arm_sp!, {fast_regset, lr} -@ tmp1 = thread -@ tmp2 == method -@ stack == THREAD_JAVA_SP (=> FULL stack) - ALIGN_CODE -fast_normal_entry: - mov tmp_invoke_len, #3 -fast_normal_entry_with_len: ldrh r0, [tmp2, #METHOD_MAXLOCALS] mov r1, #0 ldrh r3, [tmp2, #METHOD_SIZEOFPARAMETERS] @@ -4646,9 +2810,10 @@ bcs 1b 3: ldr r3, [tmp1, #THREAD_TOP_ZERO_FRAME] + mov lr, #0 sub istate, stack, #FRAME_SIZE sub r2, istate, r2, lsl #2 - str tmp_invoke_len, [istate, #ISTATE_ADVANCE_PC] + str lr, [istate, #ISTATE_MSG] str r2, [tmp1, #THREAD_JAVA_SP] sub r5, r2, #4 @ stack limit = istate - stackwords - 4 str r3, [istate, #ISTATE_NEXT_FRAME] @@ -4664,7 +2829,7 @@ ldr jpc, [tmp2, #METHOD_CONSTMETHOD] ldr constpool, [tmp2, #METHOD_CONSTANTS] add ip, istate, #ISTATE_NEXT_FRAME - DISPATCH_START 48 + DISPATCH_START CONSTMETHOD_CODEOFFSET ldr constpool, [constpool, #CONSTANTPOOL_CACHE] str ip, [tmp1, #THREAD_TOP_ZERO_FRAME] USEC ldr r3, [r10, #METHOD_INVOCATIONCOUNTER] @@ -4701,22 +2866,35 @@ mov r3, #1 ldr r5, [tmp2] str r3, [tmp2] - bl _ZN18InterpreterRuntime26frequency_counter_overflowEP10JavaThreadPh + bl FREQ_COUNT_OVERFLOW str r5, [tmp2] b 2f 1: - bl _ZN18InterpreterRuntime26frequency_counter_overflowEP10JavaThreadPh + bl FREQ_COUNT_OVERFLOW 2: + T2 cmp r0, #0 + T2 bne call_thumb2 CACHE_JPC CACHE_CP DISPATCH 0 -#endif +#ifdef THUMB2EE +call_thumb2: + mov ip, r1 + mov r1, locals + ldr r2, [istate, #ISTATE_THREAD] + add stack, stack, #4 + bx ip +#endif // THUMB2EE -handle_return: -@ CHECK_CONSTPOOL -@ CHECK_BACKTRACE +#endif // USE_COMPILER + .global Thumb2_Install +Thumb2_Install: +@ ldr r0, [r0] + str r1, [r0, #METHOD_FROM_INTERPRETED] + bx lr +handle_return: ldr tmp2, [istate, #ISTATE_MONITOR_BASE] @ tmp2 = base ldr tmp1, [istate, #ISTATE_STACK_BASE] @ tmp1 = end @@ -4725,9 +2903,6 @@ cmp tmp1, tmp2 blcc return_check_monitors -@ CHECK_CONSTPOOL -@ CHECK_BACKTRACE - mov r3, #0 ldrb lr, [jpc, #0] @@ -4739,9 +2914,6 @@ add r1, r2, #4 str r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - ldr ip, [istate, #ISTATE_ADVANCE_PC] - ldr istate, [istate, #ISTATE_NEXT_FRAME] - add r1, r1, r0, lsl #2 cmp lr, #opc_lreturn @@ -4756,152 +2928,27 @@ str r1, [tmp_xxx, #THREAD_JAVA_SP] - cmp ip, #0 - - ldmeqfd arm_sp!, {regset, pc} - - ldr lr, [istate, #-ISTATE_NEXT_FRAME+ISTATE_THREAD]! - CACHE_JPC - ldr stack, [lr, #THREAD_JAVA_SP] - ldr r2, [istate, #ISTATE_STACK_LIMIT] - sub stack, stack, #4 - - ldr r1, [lr, #THREAD_TOP_ZERO_FRAME] - add r2, r2, #4 - str r2, [lr, #THREAD_JAVA_SP] - str r1, [lr, #THREAD_LAST_JAVA_SP] - ldr r3, [lr, #THREAD_PENDING_EXC] - DISPATCH_START_REG ip - CACHE_LOCALS - DISPATCH_NEXT - DISPATCH_NEXT - cmp r3, #0 - DISPATCH_NEXT - bne return_exception - DISPATCH_NEXT - CACHE_CP - DISPATCH_FINISH - -@ ip = PC ADVANCE -fast_handle_return: - ldr lr, [istate, #-ISTATE_NEXT_FRAME+ISTATE_THREAD]! - CACHE_JPC - ldr stack, [lr, #THREAD_JAVA_SP] - ldr r2, [istate, #ISTATE_STACK_LIMIT] - sub stack, stack, #4 - - ldr r1, [lr, #THREAD_TOP_ZERO_FRAME] - add r2, r2, #4 - str r2, [lr, #THREAD_JAVA_SP] - str r1, [lr, #THREAD_LAST_JAVA_SP] - ldr r3, [lr, #THREAD_PENDING_EXC] - DISPATCH_START_REG ip - CACHE_LOCALS - DISPATCH_NEXT - DISPATCH_NEXT - cmp r3, #0 - DISPATCH_NEXT - bne return_exception - DISPATCH_NEXT - CACHE_CP - DISPATCH_FINISH - -normal_return: - str stack, [tmp_xxx, #THREAD_JAVA_SP] - ldmfd arm_sp!, {regset, pc} - -return_check_monitors: - ldr r2, [istate, #ISTATE_METHOD] - ldr r0, [r2, #24] - tst r0, #1<<5 - subne tmp2, tmp2, #8 - cmp tmp1, tmp2 - bcs .return_unlock -1: - ldr r3, [tmp1, #4] - cmp r3, #0 - bne return_throw_illegal_monitor_state - add tmp1, tmp1, #8 - cmp tmp1, tmp2 - bcc 1b - -#define RETURN_STACKSIZE SIZEOF_HANDLEMARK - -.return_unlock: - tst r0, #1<<5 - bxeq lr - - ldr tmp1, [tmp2, #4] @ base->obj == NULL - SW_NPC cmp tmp1, #0 - SW_NPC beq return_throw_illegal_monitor_state -.abortentry119: - HW_NPC ldr ip, [tmp1] @ Only to provoke abort - - ldr r0, [tmp2, #0] @ r0 = header - mov r3, #0 - cmp r0, #0 - str r3, [tmp2, #4] @ base->obj = NULL - bxeq lr - - mov tmp_vvv, lr - mov r1, tmp1 - mov r2, tmp2 - bl cmpxchg_ptr - cmp tmp2, r0 - bxeq tmp_vvv - - str tmp1, [tmp2, #4] - sub arm_sp, arm_sp, #RETURN_STACKSIZE - mov r0, arm_sp - mov r1, tmp_xxx - bl _ZN10HandleMark10initializeEP6Thread - mov r1, tmp2 - mov r0, tmp_xxx - DECACHE_JPC - DECACHE_STACK - bl _ZN18InterpreterRuntime11monitorexitEP10JavaThreadP15BasicObjectLock - ASSERT_STACK_CACHED - CACHE_JPC - mov r0, arm_sp - bl _ZN10HandleMarkD1Ev - add arm_sp, arm_sp, #RETURN_STACKSIZE - ldr r3, [tmp_xxx, #THREAD_PENDING_EXC] - cmp r3, #0 - bne handle_exception - mov lr, tmp_vvv - bx lr - -return_throw_illegal_monitor_state: - sub arm_sp, arm_sp, #RETURN_STACKSIZE - mov r0, arm_sp - mov r1, tmp_xxx - bl _ZN10HandleMark10initializeEP6Thread - DECACHE_JPC - DECACHE_STACK - mov r0, tmp_xxx - bl _ZN18InterpreterRuntime37throw_illegal_monitor_state_exceptionEP10JavaThread - mov r0, arm_sp - bl _ZN10HandleMarkD1Ev - add arm_sp, arm_sp, #RETURN_STACKSIZE - b handle_exception_with_bcp + ldmfd arm_sp!, {fast_regset, pc} @ ---------------------------------------------------------------------------------------- stack_overflow_no_frame: - mov tmp_invoke_len, #0 -stack_overflow_before_frame: mov r0, tmp1 ldr ip, [r0, #THREAD_TOP_ZERO_FRAME] str ip, [r0, #THREAD_LAST_JAVA_SP] - mov tmp1, tmp_invoke_len bl _ZN18InterpreterRuntime24throw_StackOverflowErrorEP10JavaThread - cmp tmp1, #0 - bne handle_exception_with_bcp ldmfd arm_sp!, {regset, pc} +stack_overflow_before_frame: + mov r0, tmp1 + ldr ip, [r0, #THREAD_TOP_ZERO_FRAME] + str ip, [r0, #THREAD_LAST_JAVA_SP] + bl _ZN18InterpreterRuntime24throw_StackOverflowErrorEP10JavaThread + ldmfd arm_sp!, {fast_regset, pc} + handle_exception_do_not_unlock: mov r3, #1 strb r3, [r2, #THREAD_DO_NOT_UNLOCK] - b handle_exception + b handle_exception_with_bcp abstractmethod_exception: mov r0, #VMSYMBOLS_AbstractMethodError @@ -4911,39 +2958,21 @@ raise_exception: adr r1, null_str raise_exception_with_msg: - str r1, [arm_sp] - ldr r3, [dispatch, #VmSymbols_symbols_Address-XXX] - ldr r3, [r3, r0, lsl #2] - ldr r0, [istate, #ISTATE_THREAD] + stmdb sp!, {r0, r1} + bl load_dispatch + ldmia sp!, {r0, r1} DECACHE_JPC DECACHE_STACK - mov ip, #_thread_in_vm - str ip, [r0, #THREAD_STATE] - mov r2, #99 - adrl r1, bytecode_interpreter_str - bl _ZN10Exceptions10_throw_msgEP6ThreadPKciP13symbolOopDescS3_ - add r0, istate, #ISTATE_THREAD - bl ThreadInVMfromJavaD + mov r2, r1 + ldr r1, [dispatch, #VmSymbols_symbols_Address-XXX] + ldr r1, [r1, r0, lsl #2] + ldr r0, [istate, #ISTATE_THREAD] + bl Helper_Raise b handle_exception_with_bcp null_str: .byte 0 ALIGN_WORD -#define EXCEPTION_HANDLEMARK 0 -#define EXCEPTION_THREAD EXCEPTION_HANDLEMARK + SIZEOF_HANDLEMARK -#define EXCEPTION_EXCEPTION EXCEPTION_THREAD + 4 -#define EXCEPTION_EXCEPTION2 EXCEPTION_EXCEPTION + 4 -#define EXCEPTION_MONITORBASE EXCEPTION_EXCEPTION2 + 4 -#define EXCEPTION_TMP1 EXCEPTION_MONITORBASE + 4 -#define EXCEPTION_HANDLEMARK2 EXCEPTION_TMP1 + 4 -#define EXCEPTION_HANDLE EXCEPTION_HANDLEMARK2 + SIZEOF_HANDLEMARK -#define EXCEPTION_HANDLE2 EXCEPTION_HANDLE + 4 -#define EXCEPTION_HANDLE3 EXCEPTION_HANDLE2 + 4 - -#define EXCEPTION_STACKSIZE EXCEPTION_HANDLE3 + 4 - -#define except_sp r13 - invokeinterface_exception_fix: sub jpc, jpc, #2 invoke_exception_fix: @@ -4960,432 +2989,157 @@ @ constpool = garbage DECACHE_JPC handle_exception_with_bcp: - sub except_sp, except_sp, #EXCEPTION_STACKSIZE + bl load_dispatch ldr stack, [istate, #ISTATE_STACK_BASE] sub stack, stack, #4 DECACHE_STACK - ldr r0, [istate, #ISTATE_THREAD] -handle_exception_1: - ldr sl, [r0, #4] - str r0, [except_sp, #EXCEPTION_THREAD] - cmp sl, #0 - moveq tmp_yyy, sl - beq .handle_exception_3 - ldr r0, [r0, #THREAD_HANDLE_AREA] - ldr r1, [r0, #8] - ldr r3, [r0, #12] - add r2, r1, #4 - cmp r2, r3 - movls r3, r1 - strls r2, [r0, #8] - bls .handle_exception_2 - mov r1, #4 - bl _ZN5Arena4growEj - mov r3, r0 -.handle_exception_2: - str sl, [r3, #0] - mov tmp_yyy, r3 - ldr r0, [istate, #ISTATE_THREAD] -.handle_exception_3: - mov r1, r0 - add r0, except_sp, #EXCEPTION_HANDLEMARK - bl _ZN10HandleMark10initializeEP6Thread - ldr r0, [istate, #ISTATE_THREAD] - bl _ZN12ThreadShadow23clear_pending_exceptionEv - ldr r1, [istate, #ISTATE_STACK_BASE] - ldr r0, [istate, #ISTATE_THREAD] - cmp tmp_yyy, #0 - sub stack, r1, #4 - moveq r1, tmp_yyy - DECACHE_STACK - ldrne r1, [tmp_yyy, #0] - bl _ZN18InterpreterRuntime31exception_handler_for_exceptionEP10JavaThreadP7oopDesc - ASSERT_STACK_CACHED - mov sl, r0 - ldr r0, [istate, #ISTATE_THREAD] - ldr r3, [r0, #THREAD_PENDING_EXC] - cmp r3, #0 - beq .handle_exception_5 - add r0, except_sp, #EXCEPTION_HANDLEMARK - bl _ZN10HandleMarkD1Ev - ldr r1, [except_sp, #EXCEPTION_THREAD] - ldr tmp_yyy, [r1, #THREAD_LAST_HANDLE_MARK] - ldr r0, [tmp_yyy, #8] - ldr sl, [tmp_yyy, #4] - ldr r3, [r0, #0] - cmp r3, #0 - beq .handle_exception_4 - bl _ZN5Chunk9next_chopEv - ldr r0, [tmp_yyy, #8] -.handle_exception_4: - str r0, [sl, #4] - ldr r3, [tmp_yyy, #12] - str r3, [sl, #8] - ldr r2, [tmp_yyy, #16] - str r2, [sl, #12] - ldr r0, [istate, #ISTATE_THREAD] - b handle_exception_1 -.handle_exception_5: - ldr tmp_yyy, [r0, #THREAD_VM_RESULT] - cmp tmp_yyy, #0 - moveq r1, tmp_yyy - beq .handle_exception_7 - ldr r3, [dispatch, #ThreadLocalStorage_thread_index-XXX] - ldr r0, [r3] - bl pthread_getspecific - ldr r0, [r0, #THREAD_HANDLE_AREA] - ldr r1, [r0, #8] - ldr r3, [r0, #12] - add r2, r1, #4 - cmp r2, r3 - movls r3, r1 - strls r2, [r0, #8] - bls .handle_exception_6 - mov r1, #4 - bl _ZN5Arena4growEj - mov r3, r0 -.handle_exception_6: - str tmp_yyy, [r3, #0] - mov r1, r3 - ldr r0, [istate, #ISTATE_THREAD] -.handle_exception_7: - cmp sl, #0 - mov r3, #0 - str r3, [r0, #THREAD_VM_RESULT] - blt .handle_exception_9 - cmp r1, r3 - moveq r0, r1 - ldrne r0, [r1, #0] - str r0, [stack, #0] - sub stack, stack, #4 - ldr r3, [istate, #ISTATE_METHOD] - add r0, except_sp, #EXCEPTION_HANDLEMARK - ldr r2, [r3, #8] - add r2, r2, #48 - add ip, r2, sl - str ip, [istate, #ISTATE_BCP] - bl _ZN10HandleMarkD1Ev - ldr r1, [except_sp, #EXCEPTION_THREAD] - ldr tmp_yyy, [r1, #THREAD_LAST_HANDLE_MARK] - ldr r0, [tmp_yyy, #8] - ldr sl, [tmp_yyy, #4] - ldr r3, [r0, #0] - cmp r3, #0 - beq .handle_exception_8 - bl _ZN5Chunk9next_chopEv - ldr r0, [tmp_yyy, #8] -.handle_exception_8: - str r0, [sl, #4] - ldr r3, [tmp_yyy, #12] - str r3, [sl, #8] - ldr r2, [tmp_yyy, #16] - str r2, [sl, #12] - add except_sp, except_sp, #EXCEPTION_STACKSIZE - b do_execute_java_bytecodes_restore_locals_and_jpc -.handle_exception_9: - cmp r1, #0 - ldr r0, [istate, #ISTATE_THREAD] - mov r2, #0 - ldrne r1, [r1, #0] - mov r3, r2 - bl _ZN12ThreadShadow21set_pending_exceptionEP7oopDescPKci - ldr r0, [istate, #ISTATE_THREAD] - ldr tmp_yyy, [r0, #4] - cmp tmp_yyy, #0 - streq tmp_yyy, [except_sp, #EXCEPTION_EXCEPTION] - beq .handle_exception_11 - ldr r0, [r0, #THREAD_HANDLE_AREA] - ldr r1, [r0, #8] - ldr r3, [r0, #12] - add r2, r1, #4 - cmp r2, r3 - movls r3, r1 - strls r2, [r0, #8] - bls .handle_exception_10 - mov r1, #4 - bl _ZN5Arena4growEj - mov r3, r0 -.handle_exception_10: - str tmp_yyy, [r3, #0] - ldr r0, [istate, #ISTATE_THREAD] - str r3, [except_sp, #EXCEPTION_EXCEPTION] -.handle_exception_11: - bl _ZN12ThreadShadow23clear_pending_exceptionEv - mov r1, #0 - ldr r0, [istate, #ISTATE_THREAD] - str r1, [except_sp, #EXCEPTION_EXCEPTION2] - ldrb r3, [r0, #THREAD_DO_NOT_UNLOCK] @ zero_extendqisi2 - cmp r3, r1 - beq .handle_exception_15 - strb r1, [r0, #THREAD_DO_NOT_UNLOCK] - ldr r0, [istate, #ISTATE_THREAD] -.handle_exception_12: - ldr r1, [except_sp, #EXCEPTION_EXCEPTION] - cmp r1, #0 - movne r2, r1 - ldrne r1, [r2, #0] -.handle_exception_13: - mov r2, #0 - mov r3, r2 - bl _ZN12ThreadShadow21set_pending_exceptionEP7oopDescPKci + + mov r0, istate + ldr r1, [istate, #ISTATE_THREAD] + bl Helper_HandleException + cmp r0, #0 + beq 1f + + mov jpc, r0 + CACHE_STACK + CACHE_LOCALS + CACHE_CP + DISPATCH 0 +1: + ldr tmp2, [istate, #ISTATE_MONITOR_BASE] @ tmp2 = base + + ldr tmp1, [istate, #ISTATE_STACK_BASE] @ tmp1 = end + ldr tmp_xxx, [istate, #ISTATE_THREAD] + mov r3, #0 - ldr r2, [istate, #ISTATE_BCP] - ldrb r2, [r2, #0] @ zero_extendqisi2 - DECACHE_STACK - str r2, [istate, #ISTATE_CALLEE] - ldr lr, [istate, #ISTATE_THREAD] - ldr r1, [lr, #THREAD_TOP_ZERO_FRAME] - str r3, [lr, #THREAD_LAST_JAVA_SP] - add r2, r1, #4 - str r2, [lr, #THREAD_JAVA_SP] - ldr r3, [r1, #0] - str r3, [lr, #THREAD_TOP_ZERO_FRAME] - ldr r1, [istate, #ISTATE_METHOD] - ldrh r3, [r1, #40] - add r0, except_sp, #EXCEPTION_HANDLEMARK - mov r3, r3, asl #2 - add r2, r2, r3 - str r2, [lr, #THREAD_JAVA_SP] - bl _ZN10HandleMarkD1Ev - ldr r0, [except_sp, #EXCEPTION_THREAD] - ldr tmp_yyy, [r0, #THREAD_LAST_HANDLE_MARK] - ldr r0, [tmp_yyy, #8] - ldr sl, [tmp_yyy, #4] - ldr r3, [r0, #0] - cmp r3, #0 - beq .handle_exception_14 - bl _ZN5Chunk9next_chopEv - ldr r0, [tmp_yyy, #8] -.handle_exception_14: - str r0, [sl, #4] - ldr r3, [tmp_yyy, #12] - str r3, [sl, #8] - ldr r2, [tmp_yyy, #16] - str r2, [sl, #12] - add except_sp, except_sp, #EXCEPTION_STACKSIZE - ldr ip, [istate, #ISTATE_ADVANCE_PC] - ldr istate, [istate, #ISTATE_NEXT_FRAME] - cmp ip, #0 - bne fast_handle_return - ldmfd arm_sp!, {regset, pc} -.handle_exception_15: - ldr ip, [istate, #ISTATE_MONITOR_BASE] - ldr r2, [istate, #ISTATE_METHOD] - str ip, [except_sp, #EXCEPTION_MONITORBASE] - ldr tmp_vvv, [istate, #ISTATE_STACK_BASE] - ldr r3, [r2, #24] - mov r3, r3, lsr #5 - ands r3, r3, #1 - subne ip, ip, #8 - strne ip, [except_sp, #EXCEPTION_MONITORBASE] - ldr lr, [except_sp, #EXCEPTION_MONITORBASE] - str r3, [except_sp, #EXCEPTION_TMP1] - cmp tmp_vvv, lr - bcs .handle_exception_21 - - .p2align 3 -.handle_exception_16: - ldr tmp_yyy, [tmp_vvv, #4] - cmp tmp_yyy, #0 - beq .handle_exception_20 - ldr fp, [tmp_vvv, #0] - mov r2, #0 - cmp fp, r2 - str r2, [tmp_vvv, #4] - beq .handle_exception_19 - .p2align 3 -.handle_exception_17: - ldr sl, [tmp_yyy, #0] - cmp tmp_vvv, sl - bne .handle_exception_18 - mov r0, tmp_vvv - mov r1, fp - mov r2, tmp_yyy - mov r3, #0xffffffc0 - bic r3, r3, #0xf000 - blx r3 + ldrb r0, [tmp_xxx, #THREAD_DO_NOT_UNLOCK] + strb r3, [tmp_xxx, #THREAD_DO_NOT_UNLOCK] cmp r0, #0 - bne .handle_exception_17 -.handle_exception_18: - cmp tmp_vvv, sl - beq .handle_exception_19 - str tmp_yyy, [tmp_vvv, #4] - add r0, except_sp, #EXCEPTION_HANDLEMARK2 - ldr r1, [istate, #ISTATE_THREAD] - bl _ZN10HandleMark10initializeEP6Thread - mov r1, tmp_vvv - ldr r0, [istate, #ISTATE_THREAD] - DECACHE_STACK - bl _ZN18InterpreterRuntime11monitorexitEP10JavaThreadP15BasicObjectLock - ASSERT_STACK_CACHED - add r0, except_sp, #EXCEPTION_HANDLEMARK2 - bl _ZN10HandleMarkD1Ev -.handle_exception_19: - ldr r1, [except_sp, #EXCEPTION_EXCEPTION2] - cmp r1, #0 - beq .handle_exception_27 - ldr r3, [r1, #0] + bne 2f + + cmp tmp1, tmp2 + blcc return_check_monitors + +2: + mov r3, #0 + + ldr r2, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] + str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] + ldr r0, [istate, #ISTATE_METHOD] + ldr r3, [r2, #0] + ldrh r0, [r0, #40] + add r1, r2, #4 + str r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] + + add r1, r1, r0, lsl #2 + + str r1, [tmp_xxx, #THREAD_JAVA_SP] + + ldmfd arm_sp!, {fast_regset, pc} + +return_check_monitors: + stmdb arm_sp!, {r4, lr} + + ldr r2, [istate, #ISTATE_METHOD] + ldr r4, [r2, #METHOD_ACCESSFLAGS] + tst r4, #1<<5 + subne tmp2, tmp2, #8 + cmp tmp1, tmp2 + bcs 2f +1: + ldr r3, [tmp1, #4] cmp r3, #0 - beq .handle_exception_27 -.handle_exception_20: - ldr r3, [except_sp, #EXCEPTION_MONITORBASE] - add tmp_vvv, tmp_vvv, #8 - cmp tmp_vvv, r3 - bcc .handle_exception_16 -.handle_exception_21: - ldr ip, [except_sp, #EXCEPTION_TMP1] - cmp ip, #0 - beq .handle_exception_23 - ldr r0, [except_sp, #EXCEPTION_MONITORBASE] - ldr sl, [r0, #4] - cmp sl, #0 - beq .handle_exception_26 - mov ip, r0 - ldr r0, [r0, #0] + bne 3f + add tmp1, tmp1, #8 + cmp tmp1, tmp2 + bcc 1b + +2: + tst r4, #1<<5 + + ldmeqia arm_sp!, {r4, pc} + + ldr tmp1, [tmp2, #4] @ base->obj == NULL + cmp tmp1, #0 + beq 4f + + ldr r0, [tmp2, #0] @ r0 = header mov r3, #0 cmp r0, #0 - str r3, [ip, #4] - beq .handle_exception_23 - mov r1, sl - ldr r2, [except_sp, #EXCEPTION_MONITORBASE] - bl cmpxchg_ptr - ldr r1, [except_sp, #EXCEPTION_MONITORBASE] - cmp r1, r0 - beq .handle_exception_22 - ldr r3, [except_sp, #EXCEPTION_MONITORBASE] - add tmp_yyy, except_sp, #EXCEPTION_HANDLEMARK2 - mov r0, tmp_yyy - str sl, [r3, #4] - ldr r1, [istate, #ISTATE_THREAD] - bl _ZN10HandleMark10initializeEP6Thread - ldr r1, [except_sp, #EXCEPTION_MONITORBASE] - ldr r0, [istate, #ISTATE_THREAD] - DECACHE_STACK - bl _ZN18InterpreterRuntime11monitorexitEP10JavaThreadP15BasicObjectLock - mov r0, tmp_yyy - ASSERT_STACK_CACHED - bl _ZN10HandleMarkD1Ev - ldr r0, [istate, #ISTATE_THREAD] - ldr r1, [r0, #4] - cmp r1, #0 - beq .handle_exception_24 - add r0, except_sp, #EXCEPTION_HANDLE2 - bl HandleC - ldr r1, [except_sp, #EXCEPTION_HANDLE2] - ldr r0, [istate, #ISTATE_THREAD] - str r1, [except_sp, #EXCEPTION_EXCEPTION2] - bl _ZN12ThreadShadow23clear_pending_exceptionEv -.handle_exception_22: - ldr r0, [istate, #ISTATE_THREAD] - b .handle_exception_24 -.handle_exception_23: - ldr r0, [istate, #ISTATE_THREAD] -.handle_exception_24: - ldr r3, [except_sp, #EXCEPTION_EXCEPTION2] - cmp r3, #0 - beq .handle_exception_12 -.handle_exception_25: - ldr lr, [except_sp, #EXCEPTION_EXCEPTION2] - ldr r1, [lr, #0] - cmp r1, #0 - bne .handle_exception_13 - b .handle_exception_12 -.handle_exception_26: - ldr r1, [except_sp, #EXCEPTION_EXCEPTION2] - cmp r1, #0 - beq .handle_exception_29 - ldr r3, [r1, #0] - cmp r3, #0 - beq .handle_exception_29 - ldr r0, [istate, #ISTATE_THREAD] - b .handle_exception_25 + str r3, [tmp2, #4] @ base->obj = NULL -.handle_exception_27: - add r0, except_sp, #EXCEPTION_HANDLEMARK2 - ldr r1, [istate, #ISTATE_THREAD] - bl _ZN10HandleMark10initializeEP6Thread - ldr r0, [istate, #ISTATE_THREAD] - DECACHE_STACK - bl _ZN18InterpreterRuntime37throw_illegal_monitor_state_exceptionEP10JavaThread - add r0, except_sp, #EXCEPTION_HANDLEMARK2 - ASSERT_STACK_CACHED - bl _ZN10HandleMarkD1Ev - add r0, except_sp, #EXCEPTION_HANDLE - ldr r3, [istate, #ISTATE_THREAD] - ldr r1, [r3, #4] - bl HandleC - ldr r2, [except_sp, #EXCEPTION_HANDLE] - ldr r0, [istate, #ISTATE_THREAD] - str r2, [except_sp, #EXCEPTION_EXCEPTION2] - bl _ZN12ThreadShadow23clear_pending_exceptionEv - b .handle_exception_20 -.handle_exception_29: - add tmp_yyy, except_sp, #EXCEPTION_HANDLEMARK2 - mov r0, tmp_yyy - ldr r1, [istate, #ISTATE_THREAD] - bl _ZN10HandleMark10initializeEP6Thread - ldr r0, [istate, #ISTATE_THREAD] - DECACHE_STACK - bl _ZN18InterpreterRuntime37throw_illegal_monitor_state_exceptionEP10JavaThread - mov r0, tmp_yyy - ASSERT_STACK_CACHED - bl _ZN10HandleMarkD1Ev - ldr r3, [istate, #ISTATE_THREAD] - add r0, except_sp, #EXCEPTION_HANDLE3 - ldr r1, [r3, #4] - bl HandleC - ldr r2, [except_sp, #EXCEPTION_HANDLE3] - ldr r0, [istate, #ISTATE_THREAD] - str r2, [except_sp, #EXCEPTION_EXCEPTION2] - bl _ZN12ThreadShadow23clear_pending_exceptionEv - ldr r0, [istate, #ISTATE_THREAD] - b .handle_exception_24 + ldmeqia arm_sp!, {r4, pc} -#ifdef FASTPATH_ENTRY + mov r1, tmp1 + mov r2, tmp2 + bl cmpxchg_ptr + cmp tmp2, r0 - ALIGN_CODE -fast_accessor_entry: - ldr ip, [dispatch, #SafePointSynchronize_state_Address-XXX] - ldr r3, [tmp2, #8] - ldr ip, [ip, #0] - ldrb r2, [r3, #50] - ldrb r3, [r3, #51] - cmp ip, #0 - ldr ip, [tmp2, #12] - bne fast_normal_entry - ldr ip, [ip, #12] + ldmeqia arm_sp!, {r4, pc} - DISPATCH_START 3 + str tmp1, [tmp2, #4] - orr r2, r2, r3, lsl #8 @ r2 = index - add r3, ip, #16 - ldr r2, [r3, r2, lsl #4]! @ r3 = cache, r2 = flags + mov r1, tmp2 + ldr r0, [istate, #ISTATE_THREAD] + bl Helper_synchronized_exit - DISPATCH_NEXT + ldmeqia arm_sp!, {r4, pc} - cmp r2, #opc_getfield << 16 - GET_STACK 0, r2 - bne fast_normal_entry +3: + ldr r0, [istate, #ISTATE_THREAD] + bl Helper_RaiseIllegalMonitorException + b 2b - cmp r2, #0 - beq fast_normal_entry +4: + ldr r0, [istate, #ISTATE_THREAD] + bl Helper_RaiseIllegalMonitorException + ldmia arm_sp!, {r4, pc} + ALIGN_CODE +accessor_entry: + b slow_accessor_entry - ldr lr, [r3, #12] - ldr r3, [r3, #8] - movs lr, lr, lsr #29 - bls .fast_accessor_non_w + ALIGN_CODE +slow_accessor_entry: + USEC adrl ip, dispatch_init_adcon + USEC ldr r3, [ip] + USEC add r3, r3, ip + USEC ldr ip, [ip, #invocationlimit_adcon-dispatch_init_adcon] + USEC ldr ip, [r3, ip] - DISPATCH_NEXT + USEC ldr r3, [r0, #METHOD_INVOCATIONCOUNTER] + USEC ldr ip, [ip, #0] + USEC add r3, r3, #INVOCATIONCOUNTER_COUNTINCREMENT + USEC str r3, [r0, #METHOD_INVOCATIONCOUNTER] + USEC cmp r3, ip + USEC bcs normal_entry + + ldr r1, [r0, #METHOD_CONSTMETHOD] + ldrb r3, [r1, #CONSTMETHOD_CODEOFFSET+2] + ldrb r1, [r1, #CONSTMETHOD_CODEOFFSET+3] + ldr ip, [r0, #METHOD_CONSTANTS] + ldr ip, [ip, #CONSTANTPOOL_CACHE] + orr r3, r3, r1, lsl #8 @ r3 = index - ldr tmp1, [r2, r3] + add r1, ip, #CP_OFFSET + ldr r3, [r1, r3, lsl #4]! @ r1 = cache, r3 = flags + ldr ip, [r2, #THREAD_JAVA_SP] @ ip == stack + and r3, r3, #0x00ff0000 + cmp r3, #opc_getfield << 16 + ldr r3, [ip, #0] + bne normal_entry - DISPATCH_NEXT - DISPATCH_NEXT + cmp r3, #0 + beq normal_entry - PUT_STACK 0, tmp1 + ldr r0, [r1, #12] + ldr r1, [r1, #8] + movs r0, r0, lsr #29 + bls accessor_non_w - DISPATCH_FINISH + ldr r0, [r3, r1] + str r0, [ip, #0] + bx lr .fast_accessor_non_w: bcs .fast_accessor_h @@ -5427,10 +3181,8 @@ PUSH tmp2 DISPATCH_FINISH -#endif // FASTPATH_ENTRY - div_zero_jpc_1: - sub jpc, jpc, #1 @ Point to idiv + sub jpc, jpc, #1 .lrem_0: .ldiv_0: divide_by_zero_exception: @@ -5465,30 +3217,12 @@ sub jpc, jpc, #1 array_bound_exception_jpc_0: array_bounds_exception: - adr r1, percent_d_str - sub arm_sp, arm_sp, #16 - add r0, arm_sp, #4 - bl sprintf - add r1, arm_sp, #4 - mov r0, #VMSYMBOLS_ArrayIndexOutOfBounds - str r1, [arm_sp] - ldr r3, [dispatch, #VmSymbols_symbols_Address-XXX] - ldr r3, [r3, r0, lsl #2] - ldr r0, [istate, #ISTATE_THREAD] DECACHE_JPC DECACHE_STACK - mov ip, #_thread_in_vm - str ip, [r0, #THREAD_STATE] - mov r2, #99 - adrl r1, bytecode_interpreter_str - bl _ZN10Exceptions10_throw_msgEP6ThreadPKciP13symbolOopDescS3_ - add r0, istate, #ISTATE_THREAD - bl ThreadInVMfromJavaD - add arm_sp, arm_sp, #16 + mov r1, r2 + ldr r0, [istate, #ISTATE_THREAD] + bl Helper_RaiseArrayBoundException b handle_exception_with_bcp -percent_d_str: - .ascii "%d\000" - ALIGN_WORD #ifndef HW_NULL_PTR_CHECK null_ptr_exception_jpc_5: @@ -5780,8 +3514,6 @@ bpl .dadd_exit b .return_double_NaN -@ ECN: load 1st arg off stack and do a reverse subtract -@ ECN: We want TOSM1 - TOS, but args end up in wrong order so do rsb @ --- do_dsub_itos ------------------------------------------------- Opcode dsub POP al, ah, bl, bh @@ -6189,7 +3921,6 @@ orr ah, ah, al, LSR ul @ put in high end of low word mov al, tl -@ ECN: Reload tmp mov tmp, #0x7f00000 orr tmp, tmp, #0x00f0000 @@ -6228,7 +3959,6 @@ orr bh, bh, bl, LSR ul @ put in high end of low word mov bl, tl -@ ECN: Reload tmp mov tmp, #0x7f00000 orr tmp, tmp, #0x00f0000 @@ -6293,9 +4023,9 @@ strb r3, [r2, #0] adrl r3, main_dispatch_table #ifdef HW_FP - ldr r0, [ip, #VFP_Flag-XXX] - cmp r0, #0 - bne 2f + ldr r0, [ip, #CPUInfo-XXX] + tst r0, #ARCH_VFP + beq 2f #endif mov r2, #256 1: @@ -6303,7 +4033,8 @@ str r1, [ip], #4 subs r2, r2, #1 bne 1b - bx lr + sub ip, ip, #4 * 256 + b 4f @ No HW FP - must update the table from a combination main_dispatch_table and @ vfp_table. Previously this updated from main_dispatch_table first, and then @@ -6327,9 +4058,23 @@ add r2, r2, #1 cmp r2, #256 bcc 3b + sub ip, ip, #4 * 256 ldmia arm_sp!, {r4, lr} #endif // HW_FP + +4: + ldr r0, [ip, #CPUInfo-XXX] + tst r0, #ARCH_CLZ + beq 5f + + adrl r0, do_idiv_clz + str r0, [ip, #opc_idiv * 4] + adrl r0, do_irem_clz + str r0, [ip, #opc_irem * 4] + +5: #endif // NOTICE_SAFEPOINTS + bx lr @ --- notice_safepoints --------------------------------------------------------------------------- @@ -6384,6 +4129,9 @@ subs r1, r1, #1 bne 2b + bl hwcap + str r0, [r4, #CPUInfo-XXX] + #ifdef USE_COMPILER #define NPROCESSORS_CONF 83 @@ -6403,51 +4151,18 @@ ldr r1, [r4, #CompileThreshold_Address-XXX] str r0, [r1] - #endif // USE_COMPILER - ldmfd sp!, {r4, lr} +#ifdef THUMB2EE + ldr r1, [r4, #CPUInfo-XXX] + tst r1, #ARCH_THUMBEE + blne Thumb2_Initialize +#endif #ifdef HW_FP -vfp_init: - stmfd sp!, {r4, r5, lr} - sub sp, sp, #132 - mov r4, #0 - adr r0, proc_self_auxv - mov r1, #0 - bl open - subs r5, r0, #0 - blt .exit_vfp_init -.vfp_init_read_loop: - mov r2, #128 - mov r0, r5 - mov r1, sp - bl read - mov r2, sp - mov r3, r0, lsr #3 - b .vfp_init_1 -.vfp_init_vec_loop: - ldmia r2!, {r1, ip} - cmp r1, #0 - beq .fini_vfp_init - cmp r1, #16 - bne .vfp_init_1 - tst ip, #64 - movne r4, #1 - bne .fini_vfp_init -.vfp_init_1: - subs r3, r3, #1 - bpl .vfp_init_vec_loop - cmp r0, #128 - beq .vfp_init_read_loop -.fini_vfp_init: - mov r0, r5 - bl close -.exit_vfp_init: - movs r0, r4 - add sp, sp, #132 - ldmfd sp!, {r4, r5, lr} - bxne lr @ We have HW FP - just exit + ldr r0, [r4, #CPUInfo-XXX] + tst r0, #ARCH_VFP + bne 4f @ No HW FP - replace the HW FP entries with SW entries update_vfp_table: @@ -6456,17 +4171,26 @@ ldm ip, {r2, r3} add r2, r2, ip add ip, r3, r2 - mov r1, #1 - str r1, [ip, #VFP_Flag-XXX] .update_vfp_loop: ldr r1, [r0], #4 cmp r1, #0 ldrne r2, [r0], #4 strne r2, [ip, r1, lsl #2] bne .update_vfp_loop +4: #endif // HW_FP - bx lr + ldr r0, [r4, #CPUInfo-XXX] + tst r0, #ARCH_CLZ + beq 5f + + adrl r0, do_idiv_clz + str r0, [r4, #opc_idiv * 4] + adrl r0, do_irem_clz + str r0, [r4, #opc_irem * 4] + +5: + ldmia sp!, {r4, pc} #ifdef HW_FP vfp_table: @@ -6483,13 +4207,15 @@ .word opc_dcmpl, do_dcmpl .word opc_dcmpg, do_dcmpg .word 0 - -proc_self_auxv: - .ascii "/proc/self/auxv\000" - .align 2 - #endif // HW_FP +load_dispatch: + adrl ip, dispatch_init_adcon + ldm ip, {r0, r1} + add r0, r0, ip + add dispatch, r1, r0 + mov pc, lr + ALIGN_DATA dispatch_init_adcon: .word _GLOBAL_OFFSET_TABLE_-dispatch_init_adcon, opclabels_data(GOTOFF) @@ -6506,6 +4232,7 @@ .word PrintCommandLineFlags(GOT) .word _ZN11JvmtiExport28_can_post_interpreter_eventsE(GOT) .word UseCompiler(GOT) +invocationlimit_adcon: .word _ZN17InvocationCounter26InterpreterInvocationLimitE(GOT) .word CompileThreshold(GOT) .word BackgroundCompilation(GOT) @@ -6516,8 +4243,6 @@ main_dispatch_table: MAIN_DISPATCH_TABLE -@ ECN: Strange logic here! We don't need the safe_dispatch_table if NOTICE_SAFEPOINTS is -@ disabled because in this case the main_dispatch_table must be safepoint safe. #ifdef NOTICE_SAFEPOINTS safe_dispatch_table: .word do_nop @@ -6780,19 +4505,1717 @@ SUB_DISPATCH_TABLES - .section .init_array,"aw",%init_array - .word bci_init(target1) + .arch armv7-a - .data - ALIGN_DATA -#ifdef CODETRACE -CodeTrace_Buffer_Base: - .space CODETRACE_BUFFER_SIZE -#endif + ALIGN_CODE + .global Thumb2_stubs +Thumb2_stubs: + .global Thumb2_idiv_stub +Thumb2_idiv_stub: +int_div: + cmp r1, #0x21 + adr r3, 1f + eor r12, r0, r1 + ldrcc pc, [r3, r1, lsl #2] + rsblt r1, r1, #0 + subs r2, r1, #1 + beq 2f + movs r3, r0 + rsbmi r3, r0, #0 + cmp r3, r1 + bls 3f + tst r1, r2 + beq 4f + clz r2, r3 + clz r0, r1 + sub r2, r0, r2 + rsbs r2, r2, #31 + add r2, r2, r2, lsl #1 + mov r0, #0 + add pc, pc, r2, lsl #2 + mov r0, #0 + cmp r3, r1, lsl #31 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #31 + cmp r3, r1, lsl #30 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #30 + cmp r3, r1, lsl #29 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #29 + cmp r3, r1, lsl #28 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #28 + cmp r3, r1, lsl #27 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #27 + cmp r3, r1, lsl #26 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #26 + cmp r3, r1, lsl #25 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #25 + cmp r3, r1, lsl #24 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #24 + cmp r3, r1, lsl #23 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #23 + cmp r3, r1, lsl #22 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #22 + cmp r3, r1, lsl #21 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #21 + cmp r3, r1, lsl #20 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #20 + cmp r3, r1, lsl #19 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #19 + cmp r3, r1, lsl #18 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #18 + cmp r3, r1, lsl #17 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #17 + cmp r3, r1, lsl #16 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #16 + cmp r3, r1, lsl #15 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #15 + cmp r3, r1, lsl #14 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #14 + cmp r3, r1, lsl #13 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #13 + cmp r3, r1, lsl #12 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #12 + cmp r3, r1, lsl #11 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #11 + cmp r3, r1, lsl #10 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #10 + cmp r3, r1, lsl #9 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #9 + cmp r3, r1, lsl #8 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #8 + cmp r3, r1, lsl #7 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #7 + cmp r3, r1, lsl #6 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #6 + cmp r3, r1, lsl #5 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #5 + cmp r3, r1, lsl #4 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #4 + cmp r3, r1, lsl #3 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #3 + cmp r3, r1, lsl #2 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #2 + cmp r3, r1, lsl #1 + adc r0, r0, r0 + subcs r3, r3, r1, lsl #1 + cmp r3, r1 + adc r0, r0, r0 + subcs r3, r3, r1 + cmp r12, #0 + rsbmi r0, r0, #0 + bx lr +2: + teq r12, r0 + rsbmi r0, r0, #0 + bx lr +3: + movcc r0, #0 + asreq r0, r12, #31 + orreq r0, r0, #1 + bx lr +4: + clz r2, r1 + rsb r2, r2, #31 + cmp r12, #0 + lsr r0, r3, r2 + rsbmi r0, r0, #0 + bx lr +1: + .word Thumb2_DivZero_Handler + .word jdiv_1 + .word jdiv_2 + .word jdiv_3 + .word jdiv_4 + .word jdiv_5 + .word jdiv_6 + .word jdiv_7 + .word jdiv_8 + .word jdiv_9 + .word jdiv_10 + .word jdiv_11 + .word jdiv_12 + .word jdiv_13 + .word jdiv_14 + .word jdiv_15 + .word jdiv_16 + .word jdiv_17 + .word jdiv_18 + .word jdiv_19 + .word jdiv_20 + .word jdiv_21 + .word jdiv_22 + .word jdiv_23 + .word jdiv_24 + .word jdiv_25 + .word jdiv_26 + .word jdiv_27 + .word jdiv_28 + .word jdiv_29 + .word jdiv_30 + .word jdiv_31 + .word jdiv_32 + ALIGN_CODE + .global Thumb2_irem_stub +Thumb2_irem_stub: +int_rem: + cmp r1, #0x21 + adr r3, 1f + ldrcc pc, [r3, r1, lsl #2] + rsblt r1, r1, #0 + subs r2, r1, #1 + beq 2f + movs r12, r0 + rsbmi r0, r0, #0 + cmp r0, r1 + bls 3f + tst r1, r2 + beq 4f + clz r2, r0 + clz r3, r1 + sub r2, r3, r2 + rsbs r2, r2, #31 + add pc, pc, r2, lsl #3 + mov r3, #0 + cmp r0, r1, lsl #31 + subcs r0, r0, r1, lsl #31 + cmp r0, r1, lsl #30 + subcs r0, r0, r1, lsl #30 + cmp r0, r1, lsl #29 + subcs r0, r0, r1, lsl #29 + cmp r0, r1, lsl #28 + subcs r0, r0, r1, lsl #28 + cmp r0, r1, lsl #27 + subcs r0, r0, r1, lsl #27 + cmp r0, r1, lsl #26 + subcs r0, r0, r1, lsl #26 + cmp r0, r1, lsl #25 + subcs r0, r0, r1, lsl #25 + cmp r0, r1, lsl #24 + subcs r0, r0, r1, lsl #24 + cmp r0, r1, lsl #23 + subcs r0, r0, r1, lsl #23 + cmp r0, r1, lsl #22 + subcs r0, r0, r1, lsl #22 + cmp r0, r1, lsl #21 + subcs r0, r0, r1, lsl #21 + cmp r0, r1, lsl #20 + subcs r0, r0, r1, lsl #20 + cmp r0, r1, lsl #19 + subcs r0, r0, r1, lsl #19 + cmp r0, r1, lsl #18 + subcs r0, r0, r1, lsl #18 + cmp r0, r1, lsl #17 + subcs r0, r0, r1, lsl #17 + cmp r0, r1, lsl #16 + subcs r0, r0, r1, lsl #16 + cmp r0, r1, lsl #15 + subcs r0, r0, r1, lsl #15 + cmp r0, r1, lsl #14 + subcs r0, r0, r1, lsl #14 + cmp r0, r1, lsl #13 + subcs r0, r0, r1, lsl #13 + cmp r0, r1, lsl #12 + subcs r0, r0, r1, lsl #12 + cmp r0, r1, lsl #11 + subcs r0, r0, r1, lsl #11 + cmp r0, r1, lsl #10 + subcs r0, r0, r1, lsl #10 + cmp r0, r1, lsl #9 + subcs r0, r0, r1, lsl #9 + cmp r0, r1, lsl #8 + subcs r0, r0, r1, lsl #8 + cmp r0, r1, lsl #7 + subcs r0, r0, r1, lsl #7 + cmp r0, r1, lsl #6 + subcs r0, r0, r1, lsl #6 + cmp r0, r1, lsl #5 + subcs r0, r0, r1, lsl #5 + cmp r0, r1, lsl #4 + subcs r0, r0, r1, lsl #4 + cmp r0, r1, lsl #3 + subcs r0, r0, r1, lsl #3 + cmp r0, r1, lsl #2 + subcs r0, r0, r1, lsl #2 + cmp r0, r1, lsl #1 + subcs r0, r0, r1, lsl #1 + cmp r0, r1 + subcs r0, r0, r1 + cmp r12, #0 + rsbmi r0, r0, #0 + bx lr +2: + mov r0, #0 + bx lr +3: + moveq r0, #0 + cmp r12, #0 + rsbmi r0, r0, #0 + bx lr +4: + and r0, r0, r2 + cmp r12, #0 + rsbmi r0, r0, #0 + bx lr +1: + .word Thumb2_DivZero_Handler + .word jrem_1 + .word jrem_2 + .word jrem_3 + .word jrem_4 + .word jrem_5 + .word jrem_6 + .word jrem_7 + .word jrem_8 + .word jrem_9 + .word jrem_10 + .word jrem_11 + .word jrem_12 + .word jrem_13 + .word jrem_14 + .word jrem_15 + .word jrem_16 + .word jrem_17 + .word jrem_18 + .word jrem_19 + .word jrem_20 + .word jrem_21 + .word jrem_22 + .word jrem_23 + .word jrem_24 + .word jrem_25 + .word jrem_26 + .word jrem_27 + .word jrem_28 + .word jrem_29 + .word jrem_30 + .word jrem_31 + .word jrem_32 + +#ifdef THUMB2EE +@ R0 = BCI +@ R1 = index +#define Rthread r9 + .global Thumb2_invokeinterface_stub +Thumb2_invokeinterface_stub: + stmdb sp!, {ip, lr} + ldr ip, [istate, #ISTATE_METHOD] + sub stack, stack, #4 + ldr r2, [istate, #ISTATE_CONSTANTS] + ldr ip, [ip, #METHOD_CONSTMETHOD] + DECACHE_STACK + add jpc, ip, r0 + + add r0, r2, r1, lsl #4 + DECACHE_JPC + + ldr r2, [r0, #CP_OFFSET] + and r2, r2, #0x00ff0000 + cmp r2, #opc_invokeinterface << 16 + bne istub_resolve +2: + ldr r3, [r0, #CP_OFFSET+12] + and r2, r3, #255 + ldr r2, [stack, r2, lsl #2] + cmp r2, #0 + beq istub_null_ptr_exception + ldr tmp2, [r2, #4] @ rcvr->klass() + tst r3, #flag_methodInterface + bne istub_methodInterface + + ldr lr, [r0, #CP_OFFSET+4] @ lr = iclass + + add r1, tmp2, #INSTANCEKLASS_VTABLE_OFFSET + ldr r2, [tmp2, #KLASS_PART+INSTANCEKLASS_VTABLE_LEN] + ldr ip, [tmp2, #KLASS_PART+INSTANCEKLASS_ITABLE_LEN] + add r2, r2, #1 + bic r2, r2, #1 + + add r1, r1, r2, lsl #2 + + mov r2, #0 +1: + cmp r2, ip + beq istub_incompatibleclass_exception + ldr r3, [r1], #8 + add r2, r2, #1 + cmp lr, r3 + bne 1b + + ldr r3, [r0, #CP_OFFSET+8] + ldr r2, [r1, #-4] + add r3, tmp2, r3, lsl #2 + ldr tmp2, [r3, r2] + cmp tmp2, #0 + beq istub_abstractmethod_exception +istub_invoke: + ldr ip, [tmp2, #METHOD_FROM_INTERPRETED] + mov r1, #0 + str ip, [istate, #36] + str r1, [Rthread, #THREAD_LAST_JAVA_SP] + + add stack, stack, #4 + str stack, [Rthread, #THREAD_JAVA_SP] + + ldr r3, [ip] + + mov r0, tmp2 + mov r1, ip +#ifndef SHARK + add r3, r3, #CODE_ALIGN_SIZE +#endif + mov r2, Rthread + blx r3 + + ldr Rthread, [istate, #ISTATE_THREAD] + + ldr stack, [Rthread, #THREAD_JAVA_SP] + ldr r2, [istate, #ISTATE_STACK_LIMIT] + + ldr r1, [Rthread, #THREAD_TOP_ZERO_FRAME] + add r2, r2, #4 + str r2, [Rthread, #THREAD_JAVA_SP] + str r1, [Rthread, #THREAD_LAST_JAVA_SP] + ldr r3, [Rthread, #4] + cmp r3, #0 + bne istub_exception + ldmia sp!, {ip, pc} + +istub_methodInterface: + tst r3, #flag_vfinalMethod + ldrne tmp2, [r0, #CP_OFFSET+8] + bne istub_invoke + ldr r1, [r0, #CP_OFFSET+8] + add r3, tmp2, r1, lsl #2 + ldr tmp2, [r3, #INSTANCEKLASS_VTABLE_OFFSET] + b istub_invoke + +istub_resolve: + mov tmp2, r1 + mov r1, #opc_invokeinterface + ldr r0, [istate, #ISTATE_THREAD] + ldr ip, resolve_invoke_adcon + blx ip + ldr r3, [Rthread, #4] + ldr r2, [istate, #ISTATE_CONSTANTS] + cmp r3, #0 + bne istub_exception + add r0, r2, tmp2, lsl #4 @ r1 = cache + b 2b + +istub_exception: + ldmia sp!, {ip, lr} + ldr ip, handle_exception_adcon + bx ip + +istub_null_ptr_exception: + mov r0, #VMSYMBOLS_NullPointerException + b 3f +istub_abstractmethod_exception: + mov r0, #VMSYMBOLS_AbstractMethodError + b 3f +istub_incompatibleclass_exception: + mov r0, #VMSYMBOLS_IncompatibleClassChangeError +3: + CACHE_JPC + ldmia sp!, {ip, lr} + ldr ip, raise_exception_adcon + bx ip + +resolve_invoke_adcon: + .word _ZN18InterpreterRuntime14resolve_invokeEP10JavaThreadN9Bytecodes4CodeE +resolve_get_put_adcon: + .word _ZN18InterpreterRuntime15resolve_get_putEP10JavaThreadN9Bytecodes4CodeE +handle_exception_adcon: + .word handle_exception_with_bcp +raise_exception_adcon: + .word raise_exception +helper_aputfield_adcon: + .word Helper_aputfield + +@ R0 = BCI +@ R1 = index + .global Thumb2_invokevirtual_stub +Thumb2_invokevirtual_stub: + stmdb sp!, {ip, lr} + ldr ip, [istate, #ISTATE_METHOD] + sub stack, stack, #4 + ldr r2, [istate, #ISTATE_CONSTANTS] + ldr ip, [ip, #METHOD_CONSTMETHOD] + DECACHE_STACK + add jpc, ip, r0 + + add r0, r2, r1, lsl #4 + DECACHE_JPC + + ldr r2, [r0, #CP_OFFSET] + and r2, r2, #0xff000000 + cmp r2, #opc_invokevirtual << 24 + bne ivstub_resolve +2: + + ldr r3, [r0, #CP_OFFSET+12] + and r2, r3, #255 + ldr r2, [stack, r2, asl #2] + cmp r2, #0 + beq istub_null_ptr_exception + + ldr tmp2, [r0, #CP_OFFSET+8] + tst r3, #flag_vfinalMethod + bne 1f + + ldr r3, [r2, #4] + add r3, r3, tmp2, lsl #2 + ldr tmp2, [r3, #INSTANCEKLASS_VTABLE_OFFSET] +1: + mov r1, #0 + ldr ip, [tmp2, #METHOD_FROM_INTERPRETED] + str r1, [Rthread, #THREAD_LAST_JAVA_SP] + str ip, [istate, #36] + + add stack, stack, #4 + str stack, [Rthread, #THREAD_JAVA_SP] + + ldr r3, [ip, #0] + + mov r0, tmp2 + mov r1, ip +#ifndef SHARK + add r3, r3, #CODE_ALIGN_SIZE +#endif + mov r2, Rthread + blx r3 + + ldr Rthread, [istate, #ISTATE_THREAD] + + ldr stack, [Rthread, #THREAD_JAVA_SP] + ldr r2, [istate, #ISTATE_STACK_LIMIT] + + ldr r1, [Rthread, #THREAD_TOP_ZERO_FRAME] + add r2, r2, #4 + str r2, [Rthread, #THREAD_JAVA_SP] + str r1, [Rthread, #THREAD_LAST_JAVA_SP] + ldr r3, [Rthread, #4] + cmp r3, #0 + bne istub_exception + ldmia sp!, {ip, pc} + +ivstub_resolve: + mov tmp2, r1 + mov r1, #opc_invokevirtual + ldr r0, [istate, #ISTATE_THREAD] + ldr ip, resolve_invoke_adcon + blx ip + ldr r3, [Rthread, #4] + ldr r2, [istate, #ISTATE_CONSTANTS] + cmp r3, #0 + bne istub_exception + add r0, r2, tmp2, lsl #4 @ r1 = cache + b 2b + +@ R0 = BCI +@ R1 = index + .global Thumb2_invokestatic_stub +Thumb2_invokestatic_stub: + stmdb sp!, {ip, lr} + ldr ip, [istate, #ISTATE_METHOD] + sub stack, stack, #4 + ldr r2, [istate, #ISTATE_CONSTANTS] + ldr ip, [ip, #METHOD_CONSTMETHOD] + DECACHE_STACK + add jpc, ip, r0 + + add r0, r2, r1, lsl #4 + DECACHE_JPC + + ldr r2, [r0, #CP_OFFSET] + and r2, r2, #0x00ff0000 + cmp r2, #opc_invokestatic << 16 + bne isstub_resolve +2: + ldr tmp2, [r0, #CP_OFFSET+4] + mov r1, #0 + ldr ip, [tmp2, #METHOD_FROM_INTERPRETED] + str r1, [Rthread, #THREAD_LAST_JAVA_SP] + str ip, [istate, #36] + + add stack, stack, #4 + str stack, [Rthread, #THREAD_JAVA_SP] + + ldr r3, [ip, #0] + + mov r0, tmp2 + mov r1, ip +#ifndef SHARK + add r3, r3, #CODE_ALIGN_SIZE +#endif + mov r2, Rthread + blx r3 + + ldr Rthread, [istate, #ISTATE_THREAD] + + ldr stack, [Rthread, #THREAD_JAVA_SP] + ldr r2, [istate, #ISTATE_STACK_LIMIT] + + ldr r1, [Rthread, #THREAD_TOP_ZERO_FRAME] + add r2, r2, #4 + str r2, [Rthread, #THREAD_JAVA_SP] + str r1, [Rthread, #THREAD_LAST_JAVA_SP] + ldr r3, [Rthread, #4] + cmp r3, #0 + bne istub_exception + ldmia sp!, {ip, pc} + +isstub_resolve: + mov tmp2, r1 + mov r1, #opc_invokestatic + ldr r0, [istate, #ISTATE_THREAD] + ldr ip, resolve_invoke_adcon + blx ip + ldr r3, [Rthread, #4] + ldr r2, [istate, #ISTATE_CONSTANTS] + cmp r3, #0 + bne istub_exception + add r0, r2, tmp2, lsl #4 @ r1 = cache + b 2b + +@ R0 = BCI +@ R1 = index + .global Thumb2_invokespecial_stub +Thumb2_invokespecial_stub: + stmdb sp!, {ip, lr} + ldr ip, [istate, #ISTATE_METHOD] + sub stack, stack, #4 + ldr r2, [istate, #ISTATE_CONSTANTS] + ldr ip, [ip, #METHOD_CONSTMETHOD] + DECACHE_STACK + add jpc, ip, r0 + + add r0, r2, r1, lsl #4 + DECACHE_JPC + + ldr r2, [r0, #CP_OFFSET] + and r2, r2, #0x00ff0000 + cmp r2, #opc_invokespecial << 16 + bne ispstub_resolve +2: + ldr r3, [r0, #CP_OFFSET+12] + and r3, r3, #255 + ldr r2, [stack, r3, asl #2] + cmp r2, #0 + beq istub_null_ptr_exception + + ldr tmp2, [r0, #CP_OFFSET+4] + mov r1, #0 + ldr ip, [tmp2, #METHOD_FROM_INTERPRETED] + str r1, [Rthread, #THREAD_LAST_JAVA_SP] + str ip, [istate, #36] + + add stack, stack, #4 + str stack, [Rthread, #THREAD_JAVA_SP] + + ldr r3, [ip, #0] + + mov r0, tmp2 + mov r1, ip +#ifndef SHARK + add r3, r3, #CODE_ALIGN_SIZE +#endif + mov r2, Rthread + blx r3 + + ldr Rthread, [istate, #ISTATE_THREAD] + + ldr stack, [Rthread, #THREAD_JAVA_SP] + ldr r2, [istate, #ISTATE_STACK_LIMIT] + + ldr r1, [Rthread, #THREAD_TOP_ZERO_FRAME] + add r2, r2, #4 + str r2, [Rthread, #THREAD_JAVA_SP] + str r1, [Rthread, #THREAD_LAST_JAVA_SP] + ldr r3, [Rthread, #4] + cmp r3, #0 + bne istub_exception + ldmia sp!, {ip, pc} + +ispstub_resolve: + mov tmp2, r1 + mov r1, #opc_invokespecial + ldr r0, [istate, #ISTATE_THREAD] + ldr ip, resolve_invoke_adcon + blx ip + ldr r3, [Rthread, #4] + ldr r2, [istate, #ISTATE_CONSTANTS] + cmp r3, #0 + bne istub_exception + add r0, r2, tmp2, lsl #4 @ r1 = cache + b 2b + +@ R0 = BCI +@ R1 = index + .global Thumb2_getfield_word_stub +Thumb2_getfield_word_stub: + ldr r2, [istate, #ISTATE_CONSTANTS] + add r2, r2, r1, lsl #4 + ldr r3, [r2, #CP_OFFSET] + and r3, r3, #0x00ff0000 + cmp r3, #opc_getfield << 16 + bne 1f +2: + ldr r3, [stack], #4 @ POP r3 + ldr ip, [r2, #CP_OFFSET+8] + cmp r3, #0 + beq field_null_ptr_exception + + ldr r3, [r3, ip] + str r3, [stack, #-4]! @ PUSH r3 + bx lr +1: + mov ip, lr + bl getfield_stub_unresolved + mov lr, ip + b 2b + +@ R0 = BCI +@ R1 = index + .global Thumb2_getfield_sh_stub +Thumb2_getfield_sh_stub: + ldr r2, [istate, #ISTATE_CONSTANTS] + add r2, r2, r1, lsl #4 + ldr r3, [r2, #CP_OFFSET] + and r3, r3, #0x00ff0000 + cmp r3, #opc_getfield << 16 + bne 1f +2: + ldr r3, [stack], #4 @ POP r3 + ldr ip, [r2, #CP_OFFSET+8] + cmp r3, #0 + beq field_null_ptr_exception + + ldrsh r3, [r3, ip] + str r3, [stack, #-4]! @ PUSH r3 + bx lr +1: + mov ip, lr + bl getfield_stub_unresolved + mov lr, ip + b 2b + +@ R0 = BCI +@ R1 = index + .global Thumb2_getfield_h_stub +Thumb2_getfield_h_stub: + ldr r2, [istate, #ISTATE_CONSTANTS] + add r2, r2, r1, lsl #4 + ldr r3, [r2, #CP_OFFSET] + and r3, r3, #0x00ff0000 + cmp r3, #opc_getfield << 16 + bne 1f +2: + ldr r3, [stack], #4 @ POP r3 + ldr ip, [r2, #CP_OFFSET+8] + cmp r3, #0 + beq field_null_ptr_exception + + ldrh r3, [r3, ip] + str r3, [stack, #-4]! @ PUSH r3 + bx lr +1: + mov ip, lr + bl getfield_stub_unresolved + mov lr, ip + b 2b + +@ R0 = BCI +@ R1 = index + .global Thumb2_getfield_sb_stub +Thumb2_getfield_sb_stub: + ldr r2, [istate, #ISTATE_CONSTANTS] + add r2, r2, r1, lsl #4 + ldr r3, [r2, #CP_OFFSET] + and r3, r3, #0x00ff0000 + cmp r3, #opc_getfield << 16 + bne 1f +2: + ldr r3, [stack], #4 @ POP r3 + ldr ip, [r2, #CP_OFFSET+8] + cmp r3, #0 + beq field_null_ptr_exception + + ldrsb r3, [r3, ip] + str r3, [stack, #-4]! @ PUSH r3 + bx lr +1: + mov ip, lr + bl getfield_stub_unresolved + mov lr, ip + b 2b + +@ R0 = BCI +@ R1 = index + .global Thumb2_getfield_dw_stub +Thumb2_getfield_dw_stub: + ldr r2, [istate, #ISTATE_CONSTANTS] + add r2, r2, r1, lsl #4 + ldr r3, [r2, #CP_OFFSET] + and r3, r3, #0x00ff0000 + cmp r3, #opc_getfield << 16 + bne 1f +2: + ldr r3, [stack], #4 @ POP r3 + ldr ip, [r2, #CP_OFFSET+8] + cmp r3, #0 + beq field_null_ptr_exception + + ldrd r2, r3, [r3, ip] + stmdb stack!, {r2, r3} @ PUSH r2, r3 + bx lr +1: + mov ip, lr + bl getfield_stub_unresolved + mov lr, ip + b 2b + +@ R0 = BCI +@ R1 = index +putstatic_stub_unresolved: + mov r2, #opc_putstatic + b field_stub_unresolved +getstatic_stub_unresolved: + mov r2, #opc_getstatic + b field_stub_unresolved +putfield_stub_unresolved: + mov r2, #opc_putfield + b field_stub_unresolved +getfield_stub_unresolved: + mov r2, #opc_getfield +field_stub_unresolved: + stmdb sp!, {r0, r1, ip, lr} + ldr ip, [istate, #ISTATE_METHOD] + sub r3, stack, #4 + ldr ip, [ip, #METHOD_CONSTMETHOD] + str r3, [istate, #ISTATE_STACK] @ DECACHE_STACK + add r3, ip, r0 + str r3, [istate, #ISTATE_BCP] @ DECACHE_JPC + ldr ip, resolve_get_put_adcon + mov r1, r2 + ldr r0, [istate, #ISTATE_THREAD] + blx ip + ldmia sp!, {r0, r1, ip, lr} + ldr r3, [Rthread, #4] + ldr r2, [istate, #ISTATE_CONSTANTS] + cmp r3, #0 + bne field_exception + add r2, r2, r1, lsl #4 + bx lr + +field_null_ptr_exception: + ldr ip, [istate, #ISTATE_METHOD] + ldr ip, [ip, #METHOD_CONSTMETHOD] + add jpc, ip, r0 + mov r0, #VMSYMBOLS_NullPointerException + ldr ip, raise_exception_adcon + bx ip + +field_exception: + ldr ip, handle_exception_adcon + bx ip + +@ R0 = BCI +@ R1 = index + .global Thumb2_putfield_word_stub +Thumb2_putfield_word_stub: + ldr r2, [istate, #ISTATE_CONSTANTS] + add r2, r2, r1, lsl #4 + ldr r3, [r2, #CP_OFFSET] + and r3, r3, #0xff000000 + cmp r3, #opc_putfield << 24 + bne 1f +2: + ldr ip, [r2, #CP_OFFSET+8] + ldmia stack!, {r2, r3} @ r2 = value, r3 = obj + cmp r3, #0 + beq field_null_ptr_exception + + str r2, [r3, ip] + bx lr +1: + mov ip, lr + bl putfield_stub_unresolved + mov lr, ip + b 2b + + .global Thumb2_putfield_h_stub +Thumb2_putfield_h_stub: + ldr r2, [istate, #ISTATE_CONSTANTS] + add r2, r2, r1, lsl #4 + ldr r3, [r2, #CP_OFFSET] + and r3, r3, #0xff000000 + cmp r3, #opc_putfield << 24 + bne 1f +2: + ldr ip, [r2, #CP_OFFSET+8] + ldmia stack!, {r2, r3} @ r2 = value, r3 = obj + cmp r3, #0 + beq field_null_ptr_exception + + strh r2, [r3, ip] + bx lr +1: + mov ip, lr + bl putfield_stub_unresolved + mov lr, ip + b 2b + + .global Thumb2_putfield_b_stub +Thumb2_putfield_b_stub: + ldr r2, [istate, #ISTATE_CONSTANTS] + add r2, r2, r1, lsl #4 + ldr r3, [r2, #CP_OFFSET] + and r3, r3, #0xff000000 + cmp r3, #opc_putfield << 24 + bne 1f +2: + ldr ip, [r2, #CP_OFFSET+8] + ldmia stack!, {r2, r3} @ r2 = value, r3 = obj + cmp r3, #0 + beq field_null_ptr_exception + + strb r2, [r3, ip] + bx lr +1: + mov ip, lr + bl putfield_stub_unresolved + mov lr, ip + b 2b + + .global Thumb2_putfield_a_stub +Thumb2_putfield_a_stub: + ldr r2, [istate, #ISTATE_CONSTANTS] + add r2, r2, r1, lsl #4 + ldr r3, [r2, #CP_OFFSET] + and r3, r3, #0xff000000 + cmp r3, #opc_putfield << 24 + bne 1f +2: + ldr ip, [r2, #CP_OFFSET+8] + ldmia stack!, {r2, r3} @ r2 = value, r3 = obj + cmp r3, #0 + beq field_null_ptr_exception + + str r2, [r3, ip] + ldr ip, helper_aputfield_adcon + mov r0, r3 + bx ip +1: + mov ip, lr + bl putfield_stub_unresolved + mov lr, ip + b 2b + + .global Thumb2_putfield_dw_stub +Thumb2_putfield_dw_stub: + ldr r2, [istate, #ISTATE_CONSTANTS] + add r2, r2, r1, lsl #4 + ldr r3, [r2, #CP_OFFSET] + and r3, r3, #0xff000000 + cmp r3, #opc_putfield << 24 + bne 1f +2: + ldr r1, [r2, #CP_OFFSET+8] + ldmia stack!, {r2, r3, ip} @ r2,r3 = value, ip = obj + cmp ip, #0 + beq field_null_ptr_exception + + strd r2,r3, [ip, r1] + bx lr +1: + mov ip, lr + bl putfield_stub_unresolved + mov lr, ip + b 2b + +@ R0 = BCI +@ R1 = index + .global Thumb2_getstatic_word_stub +Thumb2_getstatic_word_stub: + ldr r2, [istate, #ISTATE_CONSTANTS] + add r2, r2, r1, lsl #4 + ldr r3, [r2, #CP_OFFSET] + and r3, r3, #0x00ff0000 + cmp r3, #opc_getstatic << 16 + bne 1f +2: + ldr r3, [r2, #CP_OFFSET+4] + ldr ip, [r2, #CP_OFFSET+8] + + ldr r3, [r3, ip] + str r3, [stack, #-4]! @ PUSH r3 + bx lr +1: + mov ip, lr + bl getstatic_stub_unresolved + mov lr, ip + b 2b + + .global Thumb2_getstatic_h_stub +Thumb2_getstatic_h_stub: + ldr r2, [istate, #ISTATE_CONSTANTS] + add r2, r2, r1, lsl #4 + ldr r3, [r2, #CP_OFFSET] + and r3, r3, #0x00ff0000 + cmp r3, #opc_getstatic << 16 + bne 1f +2: + ldr r3, [r2, #CP_OFFSET+4] + ldr ip, [r2, #CP_OFFSET+8] + + ldrh r3, [r3, ip] + str r3, [stack, #-4]! @ PUSH r3 + bx lr +1: + mov ip, lr + bl getstatic_stub_unresolved + mov lr, ip + b 2b + + .global Thumb2_getstatic_sh_stub +Thumb2_getstatic_sh_stub: + ldr r2, [istate, #ISTATE_CONSTANTS] + add r2, r2, r1, lsl #4 + ldr r3, [r2, #CP_OFFSET] + and r3, r3, #0x00ff0000 + cmp r3, #opc_getstatic << 16 + bne 1f +2: + ldr r3, [r2, #CP_OFFSET+4] + ldr ip, [r2, #CP_OFFSET+8] + + ldrsh r3, [r3, ip] + str r3, [stack, #-4]! @ PUSH r3 + bx lr +1: + mov ip, lr + bl getstatic_stub_unresolved + mov lr, ip + b 2b + + .global Thumb2_getstatic_sb_stub +Thumb2_getstatic_sb_stub: + ldr r2, [istate, #ISTATE_CONSTANTS] + add r2, r2, r1, lsl #4 + ldr r3, [r2, #CP_OFFSET] + and r3, r3, #0x00ff0000 + cmp r3, #opc_getstatic << 16 + bne 1f +2: + ldr r3, [r2, #CP_OFFSET+4] + ldr ip, [r2, #CP_OFFSET+8] + + ldrsb r3, [r3, ip] + str r3, [stack, #-4]! @ PUSH r3 + bx lr +1: + mov ip, lr + bl getstatic_stub_unresolved + mov lr, ip + b 2b + + .global Thumb2_getstatic_dw_stub +Thumb2_getstatic_dw_stub: + ldr r2, [istate, #ISTATE_CONSTANTS] + add r2, r2, r1, lsl #4 + ldr r3, [r2, #CP_OFFSET] + and r3, r3, #0x00ff0000 + cmp r3, #opc_getstatic << 16 + bne 1f +2: + ldr r3, [r2, #CP_OFFSET+4] + ldr ip, [r2, #CP_OFFSET+8] + + ldrd r2, r3, [r3, ip] + stmdb stack!, {r2, r3} @ PUSH r2, r3 + bx lr +1: + mov ip, lr + bl getstatic_stub_unresolved + mov lr, ip + b 2b + +@ R0 = BCI +@ R1 = index + .global Thumb2_putstatic_word_stub +Thumb2_putstatic_word_stub: + ldr r2, [istate, #ISTATE_CONSTANTS] + add r2, r2, r1, lsl #4 + ldr r3, [r2, #CP_OFFSET] + and r3, r3, #0xff000000 + cmp r3, #opc_putstatic << 24 + bne 1f +2: + ldr r3, [r2, #CP_OFFSET+4] + ldr ip, [r2, #CP_OFFSET+8] + ldr r2, [stack], #4 @ POP r2 + + str r2, [r3, ip] + bx lr +1: + mov ip, lr + bl putstatic_stub_unresolved + mov lr, ip + b 2b + +@ R0 = BCI +@ R1 = index + .global Thumb2_putstatic_h_stub +Thumb2_putstatic_h_stub: + ldr r2, [istate, #ISTATE_CONSTANTS] + add r2, r2, r1, lsl #4 + ldr r3, [r2, #CP_OFFSET] + and r3, r3, #0xff000000 + cmp r3, #opc_putstatic << 24 + bne 1f +2: + ldr r3, [r2, #CP_OFFSET+4] + ldr ip, [r2, #CP_OFFSET+8] + ldr r2, [stack], #4 @ POP r2 + + strh r2, [r3, ip] + bx lr +1: + mov ip, lr + bl putstatic_stub_unresolved + mov lr, ip + b 2b + +@ R0 = BCI +@ R1 = index + .global Thumb2_putstatic_b_stub +Thumb2_putstatic_b_stub: + ldr r2, [istate, #ISTATE_CONSTANTS] + add r2, r2, r1, lsl #4 + ldr r3, [r2, #CP_OFFSET] + and r3, r3, #0xff000000 + cmp r3, #opc_putstatic << 24 + bne 1f +2: + ldr r3, [r2, #CP_OFFSET+4] + ldr ip, [r2, #CP_OFFSET+8] + ldr r2, [stack], #4 @ POP r2 + + strb r2, [r3, ip] + bx lr +1: + mov ip, lr + bl putstatic_stub_unresolved + mov lr, ip + b 2b + +@ R0 = BCI +@ R1 = index + .global Thumb2_putstatic_dw_stub +Thumb2_putstatic_dw_stub: + ldr r2, [istate, #ISTATE_CONSTANTS] + add r2, r2, r1, lsl #4 + ldr r3, [r2, #CP_OFFSET] + and r3, r3, #0xff000000 + cmp r3, #opc_putstatic << 24 + bne 1f +2: + ldr r1, [r2, #CP_OFFSET+4] + ldr ip, [r2, #CP_OFFSET+8] + ldmia stack!, {r2, r3} + + strd r2,r3, [r1, ip] + bx lr +1: + mov ip, lr + bl putstatic_stub_unresolved + mov lr, ip + b 2b + +@ R0 = BCI +@ R1 = index + .global Thumb2_putstatic_a_stub +Thumb2_putstatic_a_stub: + ldr r2, [istate, #ISTATE_CONSTANTS] + add r2, r2, r1, lsl #4 + ldr r3, [r2, #CP_OFFSET] + and r3, r3, #0xff000000 + cmp r3, #opc_putstatic << 24 + bne 1f +2: + ldr r3, [r2, #CP_OFFSET+4] + ldr ip, [r2, #CP_OFFSET+8] + ldr r2, [stack], #4 @ POP r2 + + str r2, [r3, ip] + ldr ip, helper_aputfield_adcon + mov r0, r3 + bx ip +1: + mov ip, lr + bl putstatic_stub_unresolved + mov lr, ip + b 2b + +#endif // THUMB2EE + + .global Thumb2_stubs_end +Thumb2_stubs_end: + + ALIGN_CODE +jdiv_1: + bx lr +jdiv_2: + add r0, r0, r0, lsr #31 + mov r0, r0, asr #1 + bx lr +jdiv_24: + add r0, r0, r0, lsr #31 + mov r0, r0, asr #1 +jdiv_12: + add r0, r0, r0, lsr #31 + mov r0, r0, asr #1 +jdiv_6: + add r0, r0, r0, lsr #31 + mov r0, r0, asr #1 +jdiv_3: + ldr r1, dc_3 + smull r3, r2, r0, r1 + sub r0, r2, r0, asr #31 + bx lr +jdiv_4: + mov r1, r0, asr #31 + add r0, r0, r1, lsr #30 + mov r0, r0, asr #2 + bx lr +jdiv_20: + add r0, r0, r0, lsr #31 + mov r0, r0, asr #1 +jdiv_10: + add r0, r0, r0, lsr #31 + mov r0, r0, asr #1 +jdiv_5: + ldr r1, dc_5 + smull r3, r2, r0, r1 + mov r3, r0, asr #31 + rsb r0, r3, r2, asr #1 + bx lr +jdiv_28: + add r0, r0, r0, lsr #31 + mov r0, r0, asr #1 +jdiv_14: + add r0, r0, r0, lsr #31 + mov r0, r0, asr #1 +jdiv_7: + ldr r1, dc_7 + smull r3, r2, r0, r1 + mov r1, r0, asr #31 + add r3, r0, r2 + rsb r0, r1, r3, asr #2 + bx lr +jdiv_8: + mov r1, r0, asr #31 + add r0, r0, r1, lsr #29 + mov r0, r0, asr #3 + bx lr +jdiv_18: + add r0, r0, r0, lsr #31 + mov r0, r0, asr #1 +jdiv_9: + ldr r1, dc_9 + smull r3, r2, r0, r1 + mov r3, r0, asr #31 + rsb r0, r3, r2, asr #1 + bx lr +jdiv_22: + add r0, r0, r0, lsr #31 + mov r0, r0, asr #1 +jdiv_11: + ldr r1, dc_11 + smull r3, r2, r0, r1 + mov r3, r0, asr #31 + rsb r0, r3, r2, asr #1 + bx lr +jdiv_26: + add r0, r0, r0, lsr #31 + mov r0, r0, asr #1 +jdiv_13: + ldr r1, dc_13 + smull r3, r2, r0, r1 + mov r3, r0, asr #31 + rsb r0, r3, r2, asr #2 + bx lr +jdiv_30: + add r0, r0, r0, lsr #31 + mov r0, r0, asr #1 +jdiv_15: + ldr r1, dc_15 + smull r3, r2, r0, r1 + mov r1, r0, asr #31 + add r3, r0, r2 + rsb r0, r1, r3, asr #3 + bx lr +jdiv_16: + mov r1, r0, asr #31 + add r0, r0, r1, lsr #28 + mov r0, r0, asr #4 + bx lr +jdiv_17: + ldr r1, dc_17 + smull r3, r2, r0, r1 + mov r3, r0, asr #31 + rsb r0, r3, r2, asr #3 + bx lr +jdiv_19: + ldr r1, dc_19 + smull r3, r2, r0, r1 + mov r3, r0, asr #31 + rsb r0, r3, r2, asr #3 + bx lr +jdiv_21: + ldr r1, dc_21 + smull r3, r2, r0, r1 + mov r3, r0, asr #31 + rsb r0, r3, r2, asr #2 + bx lr +jdiv_23: + ldr r1, dc_23 + smull r3, r2, r0, r1 + mov r1, r0, asr #31 + add r3, r0, r2 + rsb r0, r1, r3, asr #4 + bx lr +jdiv_25: + ldr r1, dc_25 + smull r3, r2, r0, r1 + mov r3, r0, asr #31 + rsb r0, r3, r2, asr #3 + bx lr +jdiv_27: + ldr r1, dc_27 + smull r3, r2, r0, r1 + mov r3, r0, asr #31 + rsb r0, r3, r2, asr #3 + bx lr +jdiv_29: + ldr r1, dc_29 + smull r3, r2, r0, r1 + mov r1, r0, asr #31 + add r3, r0, r2 + rsb r0, r1, r3, asr #4 + bx lr +jdiv_31: + ldr r1, dc_31 + smull r3, r2, r0, r1 + mov r1, r0, asr #31 + add r3, r0, r2 + rsb r0, r1, r3, asr #4 + bx lr +jdiv_32: + mov r1, r0, asr #31 + add r0, r0, r1, lsr #27 + mov r0, r0, asr #5 + bx lr +jrem_1: + mov r0, #0 + bx lr +jrem_2: + add r3, r0, r0, lsr #31 + mov r1, r3, asr #1 + sub r0, r0, r1, lsl #1 + bx lr +jrem_3: + ldr r1, dc_3 + smull r3, r2, r0, r1 + sub r1, r2, r0, asr #31 + add r3, r1, r1, lsl #1 + sub r0, r0, r3 + bx lr +jrem_4: + movs r3, r0 + addmi r3, r3, #3 + mov r1, r3, asr #2 + sub r0, r0, r1, lsl #2 + bx lr +jrem_5: + ldr r1, dc_5 + smull r3, r2, r0, r1 + mov r3, r0, asr #31 + rsb r1, r3, r2, asr #1 + add r3, r1, r1, lsl #2 + sub r0, r0, r3 + bx lr +jrem_6: + ldr r1, dc_6 + smull r3, r2, r0, r1 + sub r1, r2, r0, asr #31 + add r3, r1, r1, lsl #1 + sub r0, r0, r3, lsl #1 + bx lr +jrem_7: + ldr r1, dc_7 + smull r3, r2, r0, r1 + mov r1, r0, asr #31 + add r3, r0, r2 + rsb r1, r1, r3, asr #2 + rsb r3, r1, r1, lsl #3 + sub r0, r0, r3 + bx lr +jrem_8: + movs r3, r0 + addmi r3, r3, #7 + mov r1, r3, asr #3 + sub r0, r0, r1, lsl #3 + bx lr +jrem_9: + ldr r1, dc_9 + smull r3, r2, r0, r1 + mov r3, r0, asr #31 + rsb r1, r3, r2, asr #1 + add r3, r1, r1, lsl #3 + sub r0, r0, r3 + bx lr +jrem_10: + ldr r1, dc_10 + smull r3, r2, r0, r1 + mov r3, r0, asr #31 + rsb r1, r3, r2, asr #2 + add r3, r1, r1, lsl #2 + sub r0, r0, r3, lsl #1 + bx lr +jrem_11: + ldr r1, dc_11 + smull r3, r2, r0, r1 + mov r3, r0, asr #31 + rsb r1, r3, r2, asr #1 + add r3, r1, r1, lsl #2 + add r3, r1, r3, lsl #1 + sub r0, r0, r3 + bx lr +jrem_12: + ldr r1, dc_12 + smull r3, r2, r0, r1 + mov r3, r0, asr #31 + rsb r1, r3, r2, asr #1 + add r3, r1, r1, lsl #1 + sub r0, r0, r3, lsl #2 + bx lr +jrem_13: + ldr r1, dc_13 + smull r3, r2, r0, r1 + mov r3, r0, asr #31 + rsb r1, r3, r2, asr #2 + add r3, r1, r1, lsl #1 + add r3, r1, r3, lsl #2 + sub r0, r0, r3 + bx lr +jrem_14: + ldr r1, dc_14 + smull r3, r2, r0, r1 + mov r1, r0, asr #31 + add r3, r0, r2 + rsb r1, r1, r3, asr #3 + rsb r3, r1, r1, lsl #3 + sub r0, r0, r3, lsl #1 + bx lr +jrem_15: + ldr r1, dc_15 + smull r3, r2, r0, r1 + mov r1, r0, asr #31 + add r3, r0, r2 + rsb r1, r1, r3, asr #3 + rsb r3, r1, r1, lsl #4 + sub r0, r0, r3 + bx lr +jrem_16: + movs r3, r0 + addmi r3, r3, #15 + mov r1, r3, asr #4 + sub r0, r0, r1, lsl #4 + bx lr +jrem_17: + ldr r1, dc_17 + smull r3, r2, r0, r1 + mov r3, r0, asr #31 + rsb r1, r3, r2, asr #3 + add r3, r1, r1, lsl #4 + sub r0, r0, r3 + bx lr +jrem_18: + ldr r1, dc_18 + smull r3, r2, r0, r1 + mov r3, r0, asr #31 + rsb r1, r3, r2, asr #2 + add r3, r1, r1, lsl #3 + sub r0, r0, r3, lsl #1 + bx lr +jrem_19: + ldr r1, dc_19 + smull r3, r2, r0, r1 + mov r3, r0, asr #31 + rsb r1, r3, r2, asr #3 + add r3, r1, r1, lsl #3 + add r3, r1, r3, lsl #1 + sub r0, r0, r3 + bx lr +jrem_20: + ldr r1, dc_20 + smull r3, r2, r0, r1 + mov r3, r0, asr #31 + rsb r1, r3, r2, asr #3 + add r3, r1, r1, lsl #2 + sub r0, r0, r3, lsl #2 + bx lr +jrem_21: + ldr r1, dc_21 + smull r3, r2, r0, r1 + mov r3, r0, asr #31 + rsb r1, r3, r2, asr #2 + add r3, r1, r1, lsl #1 + rsb r3, r3, r3, lsl #3 + sub r0, r0, r3 + bx lr +jrem_22: + ldr r1, dc_22 + smull r3, r2, r0, r1 + mov r3, r0, asr #31 + rsb r1, r3, r2, asr #2 + add r3, r1, r1, lsl #2 + add r3, r1, r3, lsl #1 + sub r0, r0, r3, lsl #1 + bx lr +jrem_23: + ldr r1, dc_23 + smull r3, r2, r0, r1 + mov r1, r0, asr #31 + add r3, r0, r2 + rsb r1, r1, r3, asr #4 + add r3, r1, r1, lsl #1 + rsb r3, r1, r3, lsl #3 + sub r0, r0, r3 + bx lr +jrem_24: + ldr r1, dc_24 + smull r3, r2, r0, r1 + mov r3, r0, asr #31 + rsb r1, r3, r2, asr #2 + add r3, r1, r1, lsl #1 + sub r0, r0, r3, lsl #3 + bx lr +jrem_25: + ldr r1, dc_25 + smull r3, r2, r0, r1 + mov r3, r0, asr #31 + rsb r1, r3, r2, asr #3 + add r3, r1, r1, lsl #2 + add r3, r3, r3, lsl #2 + sub r0, r0, r3 + bx lr +jrem_26: + ldr r1, dc_26 + smull r3, r2, r0, r1 + mov r3, r0, asr #31 + rsb r1, r3, r2, asr #3 + add r3, r1, r1, lsl #1 + add r3, r1, r3, lsl #2 + sub r0, r0, r3, lsl #1 + bx lr +jrem_27: + ldr r1, dc_27 + smull r3, r2, r0, r1 + mov r3, r0, asr #31 + rsb r1, r3, r2, asr #3 + add r3, r1, r1, lsl #1 + add r3, r3, r3, lsl #3 + sub r0, r0, r3 + bx lr +jrem_28: + ldr r1, dc_28 + smull r3, r2, r0, r1 + mov r1, r0, asr #31 + add r3, r0, r2 + rsb r1, r1, r3, asr #4 + rsb r3, r1, r1, lsl #3 + sub r0, r0, r3, lsl #2 + bx lr +jrem_29: + ldr r1, dc_29 + smull r3, r2, r0, r1 + mov r1, r0, asr #31 + add r3, r0, r2 + rsb r1, r1, r3, asr #4 + rsb r3, r1, r1, lsl #3 + add r3, r1, r3, lsl #2 + sub r0, r0, r3 + bx lr +jrem_30: + ldr r1, dc_30 + smull r3, r2, r0, r1 + mov r1, r0, asr #31 + add r3, r0, r2 + rsb r1, r1, r3, asr #4 + rsb r3, r1, r1, lsl #4 + sub r0, r0, r3, lsl #1 + bx lr +jrem_31: + ldr r1, dc_31 + smull r3, r2, r0, r1 + mov r1, r0, asr #31 + add r3, r0, r2 + rsb r1, r1, r3, asr #4 + rsb r3, r1, r1, lsl #5 + sub r0, r0, r3 + bx lr +jrem_32: + movs r3, r0 + addmi r3, r3, #31 + mov r1, r3, asr #5 + sub r0, r0, r1, lsl #5 + bx lr + ALIGN_DATA +dc_7: +dc_14: + .word 0x92492493 +dc_15: +dc_30: + .word 0x88888889 +dc_23: + .word 0xb21642c9 +dc_28: + .word 0x92492493 +dc_29: + .word 0x8d3dcb09 +dc_31: + .word 0x84210843 +dc_6: +dc_12: +dc_24: + .word 0x2aaaaaab +dc_19: + .word 0x6bca1af3 +dc_5: +dc_10: +dc_20: + .word 0x66666667 +dc_21: + .word 0x30c30c31 +dc_11: +dc_22: + .word 0x2e8ba2e9 +dc_26: +dc_13: + .word 0x4ec4ec4f +dc_25: + .word 0x51eb851f +dc_27: + .word 0x4bda12f7 +dc_3: + .word 0x55555556 +dc_17: + .word 0x78787879 +dc_9: +dc_18: + .word 0x38e38e39 + + .global Thumb2_DivZero_Handler +Thumb2_DivZero_Handler: + adrl r0, idiv_clz_ret + cmp r0, lr + addne r0, r0, #irem_clz_ret - idiv_clz_ret + cmpne r0, lr + beq divide_by_zero_exception + ldr r0, [istate, #ISTATE_METHOD] + ldr jpc, [r0, #METHOD_CONSTMETHOD] + add jpc, jpc, #CONSTMETHOD_CODEOFFSET + bl load_dispatch + b divide_by_zero_exception + +#ifdef THUMB2EE + + .global Thumb2_Handle_Exception + .global Thumb2_ArrayBounds_Handler + .global Thumb2_NullPtr_Handler +Thumb2_ArrayBounds_Handler: + ldr r0, [istate, #ISTATE_METHOD] + ldr jpc, [r0, #METHOD_CONSTMETHOD] + add jpc, jpc, #CONSTMETHOD_CODEOFFSET + bl load_dispatch + mov r0, #VMSYMBOLS_ArrayIndexOutOfBounds + b raise_exception +Thumb2_Handle_Exception: + ldr r0, [istate, #ISTATE_METHOD] + ldr jpc, [r0, #METHOD_CONSTMETHOD] + add jpc, jpc, #CONSTMETHOD_CODEOFFSET + bl load_dispatch + b handle_exception + + .global Thumb2_Exit_To_Interpreter +Thumb2_Exit_To_Interpreter: + bl load_dispatch + sub stack, stack, #4 + CACHE_CP + CACHE_LOCALS + DISPATCH 0 + +Thumb2_NullPtr_Handler: + ldr r0, [istate, #ISTATE_METHOD] + ldr jpc, [r0, #METHOD_CONSTMETHOD] + add jpc, jpc, #CONSTMETHOD_CODEOFFSET + bl load_dispatch + b null_ptr_exception + + .global Thumb2_Clear_Cache +Thumb2_Clear_Cache: + stmdb sp!, {r7} + mov r2, #0 + mov r7, #2 + orr r7, r7, #0xf0000 + svc 0 + ldmia sp!, {r7} + bx lr + +#endif // THUMB2EE + + .section .init_array,"aw",%init_array + .word bci_init(target1) + + .data + .global CPUInfo + ALIGN_DATA .word 0, 0, 0, 0, 0, 0, 0, 0 .word 0, 0, 0, 0, 0 DispatchBreakPoint: .word 0 -VFP_Flag: .word 0 +CPUInfo: .word 0 CodeTrace_Idx: .word 0 UseOnStackReplacement_Address: .word 0 BackgroundCompilation_Address: .word 0 diff -ruNE old/icedtea6/ports/hotspot/src/cpu/zero/vm/thumb2.cpp new/icedtea6/ports/hotspot/src/cpu/zero/vm/thumb2.cpp --- old/icedtea6/ports/hotspot/src/cpu/zero/vm/thumb2.cpp 1970-01-01 01:00:00.000000000 +0100 +++ new/icedtea6/ports/hotspot/src/cpu/zero/vm/thumb2.cpp 2010-01-19 15:42:03.000000000 +0000 @@ -0,0 +1,7141 @@ +#ifdef THUMB2EE + +#define T2EE_PRINT_COMPILATION +#define T2EE_PRINT_STATISTICS +//#define T2EE_PRINT_DISASS +#define T2EE_PRINT_REGUSAGE + +#ifdef T2EE_PRINT_COMPILATION +static char *t2ee_print_compilation; +#endif + +#ifdef T2EE_PRINT_STATISTICS +static char *t2ee_print_statistics; +#endif + +#ifdef T2EE_PRINT_DISASS +static char *t2ee_print_disass; +#endif + +#ifdef T2EE_PRINT_REGUSAGE +static char *t2ee_print_regusage; +#endif + +#define THUMB2_CODEBUF_SIZE (8 * 1024 * 1024) + +#include + +#include "incls/_precompiled.incl" + +#ifdef T2EE_PRINT_DISASS +#include "dis-asm.h" +#include "bfd.h" +#endif + +#define opc_nop 0x00 +#define opc_aconst_null 0x01 +#define opc_iconst_m1 0x02 +#define opc_iconst_0 0x03 +#define opc_iconst_1 0x04 +#define opc_iconst_2 0x05 +#define opc_iconst_3 0x06 +#define opc_iconst_4 0x07 +#define opc_iconst_5 0x08 +#define opc_lconst_0 0x09 +#define opc_lconst_1 0x0a +#define opc_fconst_0 0x0b +#define opc_fconst_1 0x0c +#define opc_fconst_2 0x0d +#define opc_dconst_0 0x0e +#define opc_dconst_1 0x0f +#define opc_bipush 0x10 +#define opc_sipush 0x11 +#define opc_ldc 0x12 +#define opc_ldc_w 0x13 +#define opc_ldc2_w 0x14 +#define opc_iload 0x15 +#define opc_lload 0x16 +#define opc_fload 0x17 +#define opc_dload 0x18 +#define opc_aload 0x19 +#define opc_iload_0 0x1a +#define opc_iload_1 0x1b +#define opc_iload_2 0x1c +#define opc_iload_3 0x1d +#define opc_lload_0 0x1e +#define opc_lload_1 0x1f +#define opc_lload_2 0x20 +#define opc_lload_3 0x21 +#define opc_fload_0 0x22 +#define opc_fload_1 0x23 +#define opc_fload_2 0x24 +#define opc_fload_3 0x25 +#define opc_dload_0 0x26 +#define opc_dload_1 0x27 +#define opc_dload_2 0x28 +#define opc_dload_3 0x29 +#define opc_aload_0 0x2a +#define opc_aload_1 0x2b +#define opc_aload_2 0x2c +#define opc_aload_3 0x2d +#define opc_iaload 0x2e +#define opc_laload 0x2f +#define opc_faload 0x30 +#define opc_daload 0x31 +#define opc_aaload 0x32 +#define opc_baload 0x33 +#define opc_caload 0x34 +#define opc_saload 0x35 +#define opc_istore 0x36 +#define opc_lstore 0x37 +#define opc_fstore 0x38 +#define opc_dstore 0x39 +#define opc_astore 0x3a +#define opc_istore_0 0x3b +#define opc_istore_1 0x3c +#define opc_istore_2 0x3d +#define opc_istore_3 0x3e +#define opc_lstore_0 0x3f +#define opc_lstore_1 0x40 +#define opc_lstore_2 0x41 +#define opc_lstore_3 0x42 +#define opc_fstore_0 0x43 +#define opc_fstore_1 0x44 +#define opc_fstore_2 0x45 +#define opc_fstore_3 0x46 +#define opc_dstore_0 0x47 +#define opc_dstore_1 0x48 +#define opc_dstore_2 0x49 +#define opc_dstore_3 0x4a +#define opc_astore_0 0x4b +#define opc_astore_1 0x4c +#define opc_astore_2 0x4d +#define opc_astore_3 0x4e +#define opc_iastore 0x4f +#define opc_lastore 0x50 +#define opc_fastore 0x51 +#define opc_dastore 0x52 +#define opc_aastore 0x53 +#define opc_bastore 0x54 +#define opc_castore 0x55 +#define opc_sastore 0x56 +#define opc_pop 0x57 +#define opc_pop2 0x58 +#define opc_dup 0x59 +#define opc_dup_x1 0x5a +#define opc_dup_x2 0x5b +#define opc_dup2 0x5c +#define opc_dup2_x1 0x5d +#define opc_dup2_x2 0x5e +#define opc_swap 0x5f +#define opc_iadd 0x60 +#define opc_ladd 0x61 +#define opc_fadd 0x62 +#define opc_dadd 0x63 +#define opc_isub 0x64 +#define opc_lsub 0x65 +#define opc_fsub 0x66 +#define opc_dsub 0x67 +#define opc_imul 0x68 +#define opc_lmul 0x69 +#define opc_fmul 0x6a +#define opc_dmul 0x6b +#define opc_idiv 0x6c +#define opc_ldiv 0x6d +#define opc_fdiv 0x6e +#define opc_ddiv 0x6f +#define opc_irem 0x70 +#define opc_lrem 0x71 +#define opc_frem 0x72 +#define opc_drem 0x73 +#define opc_ineg 0x74 +#define opc_lneg 0x75 +#define opc_fneg 0x76 +#define opc_dneg 0x77 +#define opc_ishl 0x78 +#define opc_lshl 0x79 +#define opc_ishr 0x7a +#define opc_lshr 0x7b +#define opc_iushr 0x7c +#define opc_lushr 0x7d +#define opc_iand 0x7e +#define opc_land 0x7f +#define opc_ior 0x80 +#define opc_lor 0x81 +#define opc_ixor 0x82 +#define opc_lxor 0x83 +#define opc_iinc 0x84 +#define opc_i2l 0x85 +#define opc_i2f 0x86 +#define opc_i2d 0x87 +#define opc_l2i 0x88 +#define opc_l2f 0x89 +#define opc_l2d 0x8a +#define opc_f2i 0x8b +#define opc_f2l 0x8c +#define opc_f2d 0x8d +#define opc_d2i 0x8e +#define opc_d2l 0x8f +#define opc_d2f 0x90 +#define opc_i2b 0x91 +#define opc_i2c 0x92 +#define opc_i2s 0x93 +#define opc_lcmp 0x94 +#define opc_fcmpl 0x95 +#define opc_fcmpg 0x96 +#define opc_dcmpl 0x97 +#define opc_dcmpg 0x98 +#define opc_ifeq 0x99 +#define opc_ifne 0x9a +#define opc_iflt 0x9b +#define opc_ifge 0x9c +#define opc_ifgt 0x9d +#define opc_ifle 0x9e +#define opc_if_icmpeq 0x9f +#define opc_if_icmpne 0xa0 +#define opc_if_icmplt 0xa1 +#define opc_if_icmpge 0xa2 +#define opc_if_icmpgt 0xa3 +#define opc_if_icmple 0xa4 +#define opc_if_acmpeq 0xa5 +#define opc_if_acmpne 0xa6 +#define opc_goto 0xa7 +#define opc_jsr 0xa8 +#define opc_ret 0xa9 +#define opc_tableswitch 0xaa +#define opc_lookupswitch 0xab +#define opc_ireturn 0xac +#define opc_lreturn 0xad +#define opc_freturn 0xae +#define opc_dreturn 0xaf +#define opc_areturn 0xb0 +#define opc_return 0xb1 +#define opc_getstatic 0xb2 +#define opc_putstatic 0xb3 +#define opc_getfield 0xb4 +#define opc_putfield 0xb5 +#define opc_invokevirtual 0xb6 +#define opc_invokespecial 0xb7 +#define opc_invokestatic 0xb8 +#define opc_invokeinterface 0xb9 +#define opc_new 0xbb +#define opc_newarray 0xbc +#define opc_anewarray 0xbd +#define opc_arraylength 0xbe +#define opc_athrow 0xbf +#define opc_checkcast 0xc0 +#define opc_instanceof 0xc1 +#define opc_monitorenter 0xc2 +#define opc_monitorexit 0xc3 +#define opc_wide 0xc4 +#define opc_multianewarray 0xc5 +#define opc_ifnull 0xc6 +#define opc_ifnonnull 0xc7 +#define opc_goto_w 0xc8 +#define opc_jsr_w 0xc9 +#define opc_breakpoint 0xca + +#define OPC_LAST_JAVA_OP 0xca + +#define opc_bgetfield 0xcc +#define opc_cgetfield 0xcd +#define opc_igetfield 0xd0 +#define opc_lgetfield 0xd1 +#define opc_sgetfield 0xd2 +#define opc_aputfield 0xd3 +#define opc_bputfield 0xd4 +#define opc_cputfield 0xd5 +#define opc_iputfield 0xd8 +#define opc_lputfield 0xd9 +#define opc_iaccess_0 0xdb +#define opc_iaccess_1 0xdc +#define opc_iaccess_2 0xdd +#define opc_iaccess_3 0xde +#define opc_invokeresolved 0xdf +#define opc_invokespecialresolved 0xe0 +#define opc_invokestaticresolved 0xe1 +#define opc_invokevfinal 0xe2 +#define opc_iload_iload 0xe3 +#define opc_iload_iload_N 0xe4 +#define opc_return_register_finalizer 0xe5 +#define opc_dmac 0xe6 +#define opc_iload_0_iconst_N 0xe7 +#define opc_iload_1_iconst_N 0xe8 +#define opc_iload_2_iconst_N 0xe9 +#define opc_iload_3_iconst_N 0xea +#define opc_iload_iconst_N 0xeb +#define opc_iadd_istore_N 0xec +#define opc_isub_istore_N 0xed +#define opc_iand_istore_N 0xee +#define opc_ior_istore_N 0xef +#define opc_ixor_istore_N 0xf0 +#define opc_iadd_u4store 0xf1 +#define opc_isub_u4store 0xf2 +#define opc_iand_u4store 0xf3 +#define opc_ior_u4store 0xf4 +#define opc_ixor_u4store 0xf5 +#define opc_iload_0_iload 0xf6 +#define opc_iload_1_iload 0xf7 +#define opc_iload_2_iload 0xf8 +#define opc_iload_3_iload 0xf9 +#define opc_iload_0_iload_N 0xfa +#define opc_iload_1_iload_N 0xfb +#define opc_iload_2_iload_N 0xfc +#define opc_iload_3_iload_N 0xfd + +#define H_IREM 0 +#define H_IDIV 1 +#define H_LDIV 2 +#define H_LREM 3 +#define H_FREM 4 +#define H_DREM 5 +#define H_LDC 6 +#define H_NEW 8 +#define H_I2F 9 +#define H_I2D 10 +#define H_L2F 11 +#define H_L2D 12 +#define H_F2I 13 +#define H_F2L 14 +#define H_F2D 15 +#define H_D2I 16 +#define H_D2L 17 +#define H_D2F 18 +#define H_NEWARRAY 19 +#define H_ANEWARRAY 20 +#define H_MULTIANEWARRAY 21 +#define H_INSTANCEOF 22 +#define H_CHECKCAST 23 +#define H_AASTORE 24 +#define H_APUTFIELD 25 +#define H_SYNCHRONIZED_ENTER 26 +#define H_SYNCHRONIZED_EXIT 27 + +#define H_EXIT_TO_INTERPRETER 28 + +#define H_GETSTATIC H_EXIT_TO_INTERPRETER +#define H_PUTSTATIC H_EXIT_TO_INTERPRETER +#define H_JSR H_EXIT_TO_INTERPRETER +#define H_RET H_EXIT_TO_INTERPRETER +#define H_ZOMBIE H_EXIT_TO_INTERPRETER +#define H_MONITOR H_EXIT_TO_INTERPRETER +#define H_ATHROW H_EXIT_TO_INTERPRETER + +#define H_HANDLE_EXCEPTION 29 +#define H_ARRAYBOUND 30 +#define H_UNKNOWN 31 + +#define H_DEBUG_METHODENTRY 32 +#define H_DEBUG_METHODEXIT 33 +#define H_DEBUG_METHODCALL 34 + +#define H_INVOKEINTERFACE 35 +#define H_INVOKEVIRTUAL 36 +#define H_INVOKESTATIC 37 +#define H_INVOKESPECIAL 38 + +#define H_GETFIELD_WORD 39 +#define H_GETFIELD_SH 40 +#define H_GETFIELD_H 41 +#define H_GETFIELD_SB 42 +#define H_GETFIELD_DW 43 + +#define H_PUTFIELD_WORD 44 +#define H_PUTFIELD_H 45 +#define H_PUTFIELD_B 46 +#define H_PUTFIELD_A 47 +#define H_PUTFIELD_DW 48 + +#define H_GETSTATIC_WORD 49 +#define H_GETSTATIC_SH 50 +#define H_GETSTATIC_H 51 +#define H_GETSTATIC_SB 52 +#define H_GETSTATIC_DW 53 + +#define H_PUTSTATIC_WORD 54 +#define H_PUTSTATIC_H 55 +#define H_PUTSTATIC_B 56 +#define H_PUTSTATIC_A 57 +#define H_PUTSTATIC_DW 58 + +unsigned handlers[59]; + +#define JASSERT(cond, msg) do { if (!(cond)) fatal(msg); } while (0) +#define J_Unimplemented() { report_unimplemented(__FILE__, __LINE__); BREAKPOINT; } + +#define GET_NATIVE_U2(p) (*(unsigned short *)(p)) + +#define GET_JAVA_S1(p) (((signed char *)(p))[0]) +#define GET_JAVA_S2(p) ((((signed char *)(p))[0] << 8) + (p)[1]) +#define GET_JAVA_U2(p) (((p)[0] << 8) + (p)[1]) +#define GET_JAVA_U4(p) (((p)[0] << 24) + ((p)[1] << 16) + ((p)[2] << 8) + (p)[3]) + +#define BYTESEX_REVERSE(v) (((v)<<24) | (((v)<<8) & 0xff0000) | (((v)>>8) & 0xff00) | ((v)>>24)) +#define BYTESEX_REVERSE_U2(v) (((v)<<8) | ((v)>>8)) + +typedef struct Thumb2_CodeBuf { + unsigned size; + char *sp; + char *hp; +} Thumb2_CodeBuf; + +Thumb2_CodeBuf *thumb2_codebuf; + +unsigned bc_stackinfo[8000]; +unsigned locals_info[1000]; +unsigned stack[1000]; +unsigned r_local[1000]; + +#ifdef T2EE_PRINT_DISASS +short start_bci[65000]; +short end_bci[65000]; +#endif + +// XXX hardwired constants! +#define ENTRY_FRAME 1 +#define INTERPRETER_FRAME 2 +#define SHARK_FRAME 3 +#define FAKE_STUB_FRAME 4 + +#include "offsets_arm.s" + +#define BC_FLAGS_MASK 0xfc000000 +#define BC_VISITED_P1 0x80000000 +#define BC_BRANCH_TARGET 0x40000000 +#define BC_COMPILED 0x20000000 +#define BC_VISITED_P2 0x10000000 +#define BC_ZOMBIE 0x08000000 +#define BC_BACK_TARGET 0x04000000 + +#define IS_DEAD(x) (((x) & BC_VISITED_P1) == 0) +#define IS_ZOMBIE(x) (((x) & BC_ZOMBIE) || ((x) & BC_VISITED_P2) == 0) + +#define LOCAL_MODIFIED 31 +#define LOCAL_REF 30 +#define LOCAL_DOUBLE 29 +#define LOCAL_FLOAT 28 +#define LOCAL_LONG 27 +#define LOCAL_INT 26 +#define LOCAL_ALLOCATED 25 + +#define LOCAL_COUNT_BITS 10 +#define LOCAL_READ_POS 0 +#define LOCAL_WRITE_POS LOCAL_COUNT_BITS + +#define LOCAL_READS(x) (((x) >> LOCAL_READ_POS) & ((1<> LOCAL_WRITE_POS) & ((1<>= 16; + if ((n & 0xff) == 0) r += 8, n >>= 8; + if ((n & 0xf) == 0) r += 4, n >>= 4; + if ((n & 3) == 0) r += 2, n >>= 2; + if ((n & 1) == 0) r += 1; + return r; +} + +typedef struct CodeBuf { + unsigned short *codebuf; + unsigned idx; +} CodeBuf; + +typedef struct Thumb2_Stack { + unsigned *stack; + unsigned depth; +} Thumb2_Stack; + +#define IS_SREG(r) ((r) < STACK_REGS) + +typedef struct Thumb2_Registers { + unsigned *r_local; +} Thumb2_Registers; + +typedef struct Thumb2_Info { + JavaThread *thread; + methodOop method; + unsigned *bc_stackinfo; + unsigned *locals_info; + jubyte *code_base; + unsigned code_size; + CodeBuf *codebuf; + Thumb2_Stack *jstack; + Thumb2_Registers *jregs; + unsigned compiled_return; + unsigned zombie_bytes; +} Thumb2_Info; + +#define IS_INT_SIZE_BASE_TYPE(c) (c=='B' || c=='C' || c=='F' || c=='I' || c=='S' || c=='Z') +#define IS_INT_SIZE_TYPE(c) (IS_INT_SIZE_BASE_TYPE(c) || c == 'L' || c == '[') + +static int method_stackchange(jbyte *base) +{ + jbyte c; + int stackchange = 0; + + c = *base++; + JASSERT(c == '(', "Invalid signature, missing '('"); + while ((c = *base++) != ')') { + stackchange -= 1; + if (c == 'J' || c == 'D') { + stackchange -= 1; + } else if (c == '[') { + do { c = *base++; } while (c == '['); + if (c == 'L') + do { c = *base++; } while (c != ';'); + } else if (c == 'L') { + do { c = *base++; } while (c != ';'); + } else { + JASSERT(IS_INT_SIZE_BASE_TYPE(c), "Invalid signature, bad arg type"); + } + } + JASSERT(c == ')', "Invalid signature, missing ')'"); + c = *base++; + if (c == 'J' || c == 'D') stackchange += 2; + else if (c != 'V') { + stackchange += 1; + JASSERT(IS_INT_SIZE_TYPE(c), "Invalid signature, bad ret type"); + } + return stackchange; +} + +static void Thumb2_local_info_from_sig(Thumb2_Info *jinfo, methodOop method, jbyte *base) +{ + jbyte c; + unsigned arg = 0; + unsigned *locals_info = jinfo->locals_info; + unsigned local_info; + + if (!method->is_static()) locals_info[arg++] = 1 << LOCAL_REF; + c = *base++; + JASSERT(c == '(', "Invalid signature, missing '('"); + while ((c = *base++) != ')') { + local_info = 1 << LOCAL_INT; + if (c == 'J') local_info = 1 << LOCAL_LONG; + else if (c == 'D') local_info = 1 << LOCAL_DOUBLE; + else if (c == '[') { + local_info = 1 << LOCAL_REF; + do { c = *base++; } while (c == '['); + if (c == 'L') + do { c = *base++; } while (c != ';'); + } else if (c == 'L') { + local_info = 1 << LOCAL_REF; + do { c = *base++; } while (c != ';'); + } else { + JASSERT(IS_INT_SIZE_BASE_TYPE(c), "Invalid signature, bad arg type"); + } + locals_info[arg++] = local_info; + } +} + +#define T_UNDEFINED_32 0xf7f0a000 +#define T_UNDEFINED_16 0xde00 + +static const char *local_types[] = { "int", "long", "float", "double", "ref" }; + +#ifdef T2EE_PRINT_DISASS +void Thumb2_disass(Thumb2_Info *jinfo) +{ + unsigned code_size = jinfo->code_size; + jubyte *code_base = jinfo->code_base; + unsigned *bc_stackinfo = jinfo->bc_stackinfo; + unsigned *locals_info = jinfo->locals_info; + unsigned nlocals = jinfo->method->max_locals(); + int bci = 0; + int last_bci = -1; + int start_b, end_b; + unsigned nodisass; + + struct disassemble_info info; + unsigned short *codebuf = jinfo->codebuf->codebuf; + unsigned idx, compiled_len; + +#if 0 + printf("Local Variable Usage\n"); + printf("====================\n"); + for (idx = 0; idx < nlocals; idx++) { + unsigned linfo = locals_info[idx]; + unsigned typ = (linfo >> LOCAL_INT) & 0x1f; + + printf("Local %d, type = %s (%x)", idx, typ ? local_types[LOG2(typ)] : "!!!unknown!!!", typ); + if (linfo & (1 << LOCAL_MODIFIED)) printf(", modified"); + if (idx < (unsigned)jinfo->method->size_of_parameters()) printf(", parameter"); + putchar('\n'); + } +#endif + + init_disassemble_info(&info, stdout, (fprintf_ftype)fprintf); + info.arch = bfd_arch_arm; + disassemble_init_for_target(&info); + info.endian = BFD_ENDIAN_LITTLE; + info.endian_code = BFD_ENDIAN_LITTLE; + info.buffer = (bfd_byte *)codebuf; + info.buffer_vma = (bfd_vma)codebuf; + info.buffer_length = jinfo->codebuf->idx * sizeof(short); + info.disassembler_options = (char *)"force-thumb"; + + compiled_len = jinfo->codebuf->idx * 2; + for (idx = 0; idx < compiled_len; ) { + nodisass = 0; + start_b = start_bci[idx/2]; + end_b = end_bci[idx/2]; + if (start_b != -1) { + last_bci != -1; + for (bci = start_b; bci < end_b; ) { + unsigned stackinfo = bc_stackinfo[bci]; + unsigned opcode; + int len; + + if (stackinfo & BC_BRANCH_TARGET) + printf("----- Basic Block -----\n"); + JASSERT(bci > last_bci, "disass not advancing"); + last_bci = bci; + printf("%c%4d : ", (stackinfo & BC_VISITED_P1) ? ' ' : '?', bci); + opcode = code_base[bci]; + if (opcode > OPC_LAST_JAVA_OP) { + if (Bytecodes::is_defined((Bytecodes::Code)opcode)) + opcode = (unsigned)Bytecodes::java_code((Bytecodes::Code)opcode); + } + len = Bytecodes::length_for((Bytecodes::Code)opcode); + if (len <= 0) len = Bytecodes::special_length_at((address)(code_base+bci), (address)(code_base+code_size)); + switch (opcode) { + case opc_tableswitch: { + int nbci = (bci & ~3) + 4; + int low, high; + unsigned w; + unsigned *table; + int def; + unsigned n, i; + + printf("%02x ", opcode); + for (int i = 1; i < 5; i++) + printf(" "); + printf("%s\n", Bytecodes::name((Bytecodes::Code)opcode)); + printf("\t%d bytes padding\n", nbci - (bci+1)); + w = *(unsigned int *)(code_base + nbci + 4); + low = (int)BYTESEX_REVERSE(w); + w = *(unsigned int *)(code_base + nbci + 8); + high = (int)BYTESEX_REVERSE(w); + w = *(unsigned int *)(code_base + nbci + 0); + def = (int)BYTESEX_REVERSE(w); + table = (unsigned int *)(code_base + nbci + 12); + printf("\tdefault:\t0x%08x\n", def); + printf("\tlow:\t\t0x%08x\n", low); + printf("\thigh:\t\t0x%08x\n", high); + n = high - low + 1; + while (low <= high) { + int off; + + w = *table++; + off = (int)BYTESEX_REVERSE(w); + printf("\toffset %d:\t0x%08x\n", low, off); + low++; + } + bci += len; + for (i = 0; i < 4; i++) { + printf("0x%08x:\t", (int)codebuf+idx); + { + int len = print_insn_little_arm((bfd_vma)codebuf+idx, &info); + if (len == -1) len = 2; + idx += len; + putchar('\n'); + } + } + for (i = 0; i < n; i++) { + printf("0x%08x:\t.short\t0x%04x\n", (int)codebuf+idx, *(short *)((int)codebuf + idx)); + idx += 2; + } + nodisass = 1; + break; + } + case opc_lookupswitch: { + unsigned w; + unsigned nbci = (bci & ~3) + 4;; + int def; + int npairs; // The Java spec says signed but must be >= 0?? + unsigned *table; + + printf("%02x ", opcode); + for (int i = 1; i < 5; i++) + printf(" "); + printf("%s\n", Bytecodes::name((Bytecodes::Code)opcode)); + printf("\t%d bytes padding\n", nbci - (bci+1)); + + w = *(unsigned int *)(code_base + nbci + 0); + def = (int)BYTESEX_REVERSE(w); + w = *(unsigned int *)(code_base + nbci + 4); + npairs = (int)BYTESEX_REVERSE(w); + table = (unsigned int *)(code_base + nbci + 8); + printf("\tdefault:\t0x%08x\n", def); + printf("\tnpairs:\t\t0x%08x\n", npairs); + for (int i = 0; i < npairs; i++) { + unsigned match, off; + w = table[0]; + match = BYTESEX_REVERSE(w); + w = table[1]; + table += 2; + off = BYTESEX_REVERSE(w); + printf("\t match: 0x%08x, offset: 0x%08x\n", match, off); + } + break; + } + + default: + for (int i = 0; i < 5; i++) { + if (i < len) + printf("%02x ", code_base[bci+i]); + else + printf(" "); + } + printf("%s\n", Bytecodes::name((Bytecodes::Code)code_base[bci])); + break; + } + bci += len; + } + } + if (!nodisass) { + printf("0x%08x:\t", (int)codebuf+idx); + { + int len; + unsigned s1, s2; + + s1 = *(unsigned short *)((int)codebuf + idx); + s2 = *(unsigned short *)((int)codebuf + idx + 2); + if (s1 == T_UNDEFINED_16 || ((s1 << 16) + s2) == T_UNDEFINED_32) { + if (s1 == T_UNDEFINED_16) { + printf("undefined (0xde00) - UNPATCHED BRANCH???"); + len = 2; + } else { + printf("undefined (0xf7f0a000) - UNPATCHED BRANCH???"); + len = 4; + } + } else { + len = print_insn_little_arm((bfd_vma)codebuf+idx, &info); + if (len == -1) len = 2; + idx += len; + } + putchar('\n'); + } + } + } +} +#endif + +#define BCI(len, pop, push, special, islocal, islocal_n, isstore, local_n, local_type) \ + ((len) | ((pop)<<3) | ((push)<<6) | (unsigned)((special) << 31) | ((islocal) << 30) | ((islocal_n) << 29) | ((isstore) << 28) | ((local_n) << 9) | ((local_type) << 11)) + +#define BCI_LEN(x) ((x) & 7) +#define BCI_POP(x) (((x)>>3) & 7) +#define BCI_PUSH(x) (((x)>>6) & 7) +#define BCI_LOCAL_N(x) (((x)>>9) & 3) +#define BCI_LOCAL_TYPE(x) (((x) >> 11) & 7) + +#define BCI_TYPE_INT 0 +#define BCI_TYPE_LONG 1 +#define BCI_TYPE_FLOAT 2 +#define BCI_TYPE_DOUBLE 3 +#define BCI_TYPE_REF 4 + +#define BCI_SPECIAL(x) ((x) & 0x80000000) +#define BCI_ISLOCAL(x) ((x) & 0x40000000) +#define BCI_ISLOCAL_N(x) ((x) & 0x20000000) +#define BCI_ISSTORE(x) ((x) & 0x10000000) + +static const unsigned bcinfo[256] = { + BCI(1, 0, 0, 0, 0, 0, 0, 0, 0), // nop + BCI(1, 0, 1, 0, 0, 0, 0, 0, 0), // aconst_null + BCI(1, 0, 1, 0, 0, 0, 0, 0, 0), // iconst_m1 + BCI(1, 0, 1, 0, 0, 0, 0, 0, 0), // iconst_0 + BCI(1, 0, 1, 0, 0, 0, 0, 0, 0), // iconst_1 + BCI(1, 0, 1, 0, 0, 0, 0, 0, 0), // iconst_2 + BCI(1, 0, 1, 0, 0, 0, 0, 0, 0), // iconst_3 + BCI(1, 0, 1, 0, 0, 0, 0, 0, 0), // iconst_4 + BCI(1, 0, 1, 0, 0, 0, 0, 0, 0), // iconst_5 + BCI(1, 0, 2, 0, 0, 0, 0, 0, 0), // lconst_0 + BCI(1, 0, 2, 0, 0, 0, 0, 0, 0), // lconst_1 + BCI(1, 0, 1, 0, 0, 0, 0, 0, 0), // fconst_0 + BCI(1, 0, 1, 0, 0, 0, 0, 0, 0), // fconst_1 + BCI(1, 0, 1, 0, 0, 0, 0, 0, 0), // fconst_2 + BCI(1, 0, 2, 0, 0, 0, 0, 0, 0), // dconst_0 + BCI(1, 0, 2, 0, 0, 0, 0, 0, 0), // dconst_1 + BCI(2, 0, 1, 0, 0, 0, 0, 0, 0), // bipush + BCI(3, 0, 1, 0, 0, 0, 0, 0, 0), // bipush + BCI(2, 0, 1, 0, 0, 0, 0, 0, 0), // ldc + BCI(3, 0, 1, 0, 0, 0, 0, 0, 0), // ldc_w + BCI(3, 0, 2, 0, 0, 0, 0, 0, 0), // ldc2_w + BCI(2, 0, 1, 0, 1, 0, 0, 0, BCI_TYPE_INT), // iload + BCI(2, 0, 2, 0, 1, 0, 0, 0, BCI_TYPE_LONG), // lload + BCI(2, 0, 1, 0, 1, 0, 0, 0, BCI_TYPE_FLOAT), // fload + BCI(2, 0, 2, 0, 1, 0, 0, 0, BCI_TYPE_DOUBLE), // dload + BCI(2, 0, 1, 0, 1, 0, 0, 0, BCI_TYPE_REF), // aload + BCI(1, 0, 1, 0, 1, 1, 0, 0, BCI_TYPE_INT), // iload_0 + BCI(1, 0, 1, 0, 1, 1, 0, 1, BCI_TYPE_INT), // iload_1 + BCI(1, 0, 1, 0, 1, 1, 0, 2, BCI_TYPE_INT), // iload_2 + BCI(1, 0, 1, 0, 1, 1, 0, 3, BCI_TYPE_INT), // iload_3 + BCI(1, 0, 2, 0, 1, 1, 0, 0, BCI_TYPE_LONG), // lload_0 + BCI(1, 0, 2, 0, 1, 1, 0, 1, BCI_TYPE_LONG), // lload_1 + BCI(1, 0, 2, 0, 1, 1, 0, 2, BCI_TYPE_LONG), // lload_2 + BCI(1, 0, 2, 0, 1, 1, 0, 3, BCI_TYPE_LONG), // lload_3 + BCI(1, 0, 1, 0, 1, 1, 0, 0, BCI_TYPE_FLOAT), // fload_0 + BCI(1, 0, 1, 0, 1, 1, 0, 1, BCI_TYPE_FLOAT), // fload_1 + BCI(1, 0, 1, 0, 1, 1, 0, 2, BCI_TYPE_FLOAT), // fload_2 + BCI(1, 0, 1, 0, 1, 1, 0, 3, BCI_TYPE_FLOAT), // fload_3 + BCI(1, 0, 2, 0, 1, 1, 0, 0, BCI_TYPE_DOUBLE), // dload_0 + BCI(1, 0, 2, 0, 1, 1, 0, 1, BCI_TYPE_DOUBLE), // dload_1 + BCI(1, 0, 2, 0, 1, 1, 0, 2, BCI_TYPE_DOUBLE), // dload_2 + BCI(1, 0, 2, 0, 1, 1, 0, 3, BCI_TYPE_DOUBLE), // dload_3 + BCI(1, 0, 1, 0, 1, 1, 0, 0, BCI_TYPE_REF), // aload_0 + BCI(1, 0, 1, 0, 1, 1, 0, 1, BCI_TYPE_REF), // aload_1 + BCI(1, 0, 1, 0, 1, 1, 0, 2, BCI_TYPE_REF), // aload_2 + BCI(1, 0, 1, 0, 1, 1, 0, 3, BCI_TYPE_REF), // aload_3 + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // iaload + BCI(1, 2, 2, 0, 0, 0, 0, 0, 0), // laload + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // faload + BCI(1, 2, 2, 0, 0, 0, 0, 0, 0), // daload + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // aaload + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // baload + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // caload + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // saload + BCI(2, 1, 0, 0, 1, 0, 1, 0, BCI_TYPE_INT), // istore + BCI(2, 2, 0, 0, 1, 0, 1, 0, BCI_TYPE_LONG), // lstore + BCI(2, 1, 0, 0, 1, 0, 1, 0, BCI_TYPE_FLOAT), // fstore + BCI(2, 2, 0, 0, 1, 0, 1, 0, BCI_TYPE_DOUBLE), // dstore + BCI(2, 1, 0, 0, 1, 0, 1, 0, BCI_TYPE_REF), // astore + BCI(1, 1, 0, 0, 1, 1, 1, 0, BCI_TYPE_INT), // istore_0 + BCI(1, 1, 0, 0, 1, 1, 1, 1, BCI_TYPE_INT), // istore_1 + BCI(1, 1, 0, 0, 1, 1, 1, 2, BCI_TYPE_INT), // istore_2 + BCI(1, 1, 0, 0, 1, 1, 1, 3, BCI_TYPE_INT), // istore_3 + BCI(1, 2, 0, 0, 1, 1, 1, 0, BCI_TYPE_LONG), // lstore_0 + BCI(1, 2, 0, 0, 1, 1, 1, 1, BCI_TYPE_LONG), // lstore_1 + BCI(1, 2, 0, 0, 1, 1, 1, 2, BCI_TYPE_LONG), // lstore_2 + BCI(1, 2, 0, 0, 1, 1, 1, 3, BCI_TYPE_LONG), // lstore_3 + BCI(1, 1, 0, 0, 1, 1, 1, 0, BCI_TYPE_FLOAT), // fstore_0 + BCI(1, 1, 0, 0, 1, 1, 1, 1, BCI_TYPE_FLOAT), // fstore_1 + BCI(1, 1, 0, 0, 1, 1, 1, 2, BCI_TYPE_FLOAT), // fstore_2 + BCI(1, 1, 0, 0, 1, 1, 1, 3, BCI_TYPE_FLOAT), // fstore_3 + BCI(1, 2, 0, 0, 1, 1, 1, 0, BCI_TYPE_DOUBLE), // dstore_0 + BCI(1, 2, 0, 0, 1, 1, 1, 1, BCI_TYPE_DOUBLE), // dstore_1 + BCI(1, 2, 0, 0, 1, 1, 1, 2, BCI_TYPE_DOUBLE), // dstore_2 + BCI(1, 2, 0, 0, 1, 1, 1, 3, BCI_TYPE_DOUBLE), // dstore_3 + BCI(1, 1, 0, 0, 1, 1, 1, 0, BCI_TYPE_REF), // astore_0 + BCI(1, 1, 0, 0, 1, 1, 1, 1, BCI_TYPE_REF), // astore_1 + BCI(1, 1, 0, 0, 1, 1, 1, 2, BCI_TYPE_REF), // astore_2 + BCI(1, 1, 0, 0, 1, 1, 1, 3, BCI_TYPE_REF), // astore_3 + BCI(1, 3, 0, 0, 0, 0, 0, 0, 0), // iastore + BCI(1, 4, 0, 0, 0, 0, 0, 0, 0), // dastore + BCI(1, 3, 0, 0, 0, 0, 0, 0, 0), // fastore + BCI(1, 4, 0, 0, 0, 0, 0, 0, 0), // lastore + BCI(1, 3, 0, 0, 0, 0, 0, 0, 0), // aastore + BCI(1, 3, 0, 0, 0, 0, 0, 0, 0), // bastore + BCI(1, 3, 0, 0, 0, 0, 0, 0, 0), // castore + BCI(1, 3, 0, 0, 0, 0, 0, 0, 0), // sastore + BCI(1, 1, 0, 0, 0, 0, 0, 0, 0), // pop + BCI(1, 2, 0, 0, 0, 0, 0, 0, 0), // pop2 + BCI(1, 1, 2, 0, 0, 0, 0, 0, 0), // dup + BCI(1, 2, 3, 0, 0, 0, 0, 0, 0), // dup_x1 + BCI(1, 3, 4, 0, 0, 0, 0, 0, 0), // dup_x2 + BCI(1, 2, 4, 0, 0, 0, 0, 0, 0), // dup2 + BCI(1, 3, 5, 0, 0, 0, 0, 0, 0), // dup2_x1 + BCI(1, 4, 6, 0, 0, 0, 0, 0, 0), // dup2_x2 + BCI(1, 1, 1, 0, 0, 0, 0, 0, 0), // swap + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // iadd + BCI(1, 4, 2, 0, 0, 0, 0, 0, 0), // ladd + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // fadd + BCI(1, 4, 2, 0, 0, 0, 0, 0, 0), // dadd + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // isub + BCI(1, 4, 2, 0, 0, 0, 0, 0, 0), // lsub + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // fsub + BCI(1, 4, 2, 0, 0, 0, 0, 0, 0), // dsub + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // imul + BCI(1, 4, 2, 0, 0, 0, 0, 0, 0), // lmul + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // fmul + BCI(1, 4, 2, 0, 0, 0, 0, 0, 0), // dmul + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // idiv + BCI(1, 4, 2, 0, 0, 0, 0, 0, 0), // ldiv + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // fdiv + BCI(1, 4, 2, 0, 0, 0, 0, 0, 0), // ddiv + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // irem + BCI(1, 4, 2, 0, 0, 0, 0, 0, 0), // lrem + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // frem + BCI(1, 4, 2, 0, 0, 0, 0, 0, 0), // drem + BCI(1, 1, 1, 0, 0, 0, 0, 0, 0), // ineg + BCI(1, 2, 2, 0, 0, 0, 0, 0, 0), // lneg + BCI(1, 1, 1, 0, 0, 0, 0, 0, 0), // fneg + BCI(1, 2, 2, 0, 0, 0, 0, 0, 0), // dneg + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // ishl + BCI(1, 3, 2, 0, 0, 0, 0, 0, 0), // lshl + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // ishr + BCI(1, 3, 2, 0, 0, 0, 0, 0, 0), // lshr + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // iushr + BCI(1, 3, 2, 0, 0, 0, 0, 0, 0), // lushr + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // iand + BCI(1, 4, 2, 0, 0, 0, 0, 0, 0), // land + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // ior + BCI(1, 4, 2, 0, 0, 0, 0, 0, 0), // lor + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // ixor + BCI(1, 4, 2, 0, 0, 0, 0, 0, 0), // lxor + BCI(3, 0, 0, 0, 1, 0, 1, 0, BCI_TYPE_INT), // iinc + BCI(1, 1, 2, 0, 0, 0, 0, 0, 0), // i2l + BCI(1, 1, 1, 0, 0, 0, 0, 0, 0), // i2f + BCI(1, 1, 2, 0, 0, 0, 0, 0, 0), // i2d + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // l2i + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // l2f + BCI(1, 2, 2, 0, 0, 0, 0, 0, 0), // l2d + BCI(1, 1, 1, 0, 0, 0, 0, 0, 0), // f2i + BCI(1, 1, 2, 0, 0, 0, 0, 0, 0), // f2l + BCI(1, 1, 2, 0, 0, 0, 0, 0, 0), // f2d + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // d2i + BCI(1, 2, 2, 0, 0, 0, 0, 0, 0), // d2l + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // d2f + BCI(1, 1, 1, 0, 0, 0, 0, 0, 0), // i2b + BCI(1, 1, 1, 0, 0, 0, 0, 0, 0), // i2c + BCI(1, 1, 1, 0, 0, 0, 0, 0, 0), // i2s + BCI(1, 4, 1, 0, 0, 0, 0, 0, 0), // lcmp + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // fcmpl + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // fcmpg + BCI(1, 4, 1, 0, 0, 0, 0, 0, 0), // dcmpl + BCI(1, 4, 1, 0, 0, 0, 0, 0, 0), // dcmpg + BCI(3, 1, 0, 1, 0, 0, 0, 0, 0), // ifeq + BCI(3, 1, 0, 1, 0, 0, 0, 0, 0), // ifne + BCI(3, 1, 0, 1, 0, 0, 0, 0, 0), // iflt + BCI(3, 1, 0, 1, 0, 0, 0, 0, 0), // ifge + BCI(3, 1, 0, 1, 0, 0, 0, 0, 0), // ifgt + BCI(3, 1, 0, 1, 0, 0, 0, 0, 0), // ifle + BCI(3, 2, 0, 1, 0, 0, 0, 0, 0), // if_icmpeq + BCI(3, 2, 0, 1, 0, 0, 0, 0, 0), // if_icmpne + BCI(3, 2, 0, 1, 0, 0, 0, 0, 0), // if_icmplt + BCI(3, 2, 0, 1, 0, 0, 0, 0, 0), // if_icmpge + BCI(3, 2, 0, 1, 0, 0, 0, 0, 0), // if_icmpgt + BCI(3, 2, 0, 1, 0, 0, 0, 0, 0), // if_icmple + BCI(3, 2, 0, 1, 0, 0, 0, 0, 0), // if_acmpeq + BCI(3, 2, 0, 1, 0, 0, 0, 0, 0), // if_acmpne + BCI(3, 0, 0, 1, 0, 0, 0, 0, 0), // goto + BCI(3, 0, 1, 1, 0, 0, 0, 0, 0), // jsr + BCI(2, 0, 0, 1, 0, 0, 0, 0, 0), // ret + BCI(0, 1, 0, 1, 0, 0, 0, 0, 0), // tableswitch + BCI(0, 1, 0, 1, 0, 0, 0, 0, 0), // lookupswitch + BCI(1, 1, 0, 1, 0, 0, 0, 0, 0), // ireturn + BCI(1, 2, 0, 1, 0, 0, 0, 0, 0), // lreturn + BCI(1, 1, 0, 1, 0, 0, 0, 0, 0), // freturn + BCI(1, 2, 0, 1, 0, 0, 0, 0, 0), // dreturn + BCI(1, 1, 0, 1, 0, 0, 0, 0, 0), // areturn + BCI(1, 0, 0, 1, 0, 0, 0, 0, 0), // return + BCI(3, 0, 0, 1, 0, 0, 0, 0, 0), // getstatic + BCI(3, 0, 0, 1, 0, 0, 0, 0, 0), // putstatic + BCI(3, 0, 0, 1, 0, 0, 0, 0, 0), // getfield + BCI(3, 0, 0, 1, 0, 0, 0, 0, 0), // putfield + BCI(3, 0, 0, 1, 0, 0, 0, 0, 0), // invokevirtual + BCI(3, 0, 0, 1, 0, 0, 0, 0, 0), // invokespecial + BCI(3, 0, 0, 1, 0, 0, 0, 0, 0), // invokestatic + BCI(3, 0, 0, 1, 0, 0, 0, 0, 0), // invokeinterface + BCI(0, 0, 0, 1, 0, 0, 0, 0, 0), // xxxunusedxxx + BCI(3, 0, 1, 0, 0, 0, 0, 0, 0), // new + BCI(2, 1, 1, 0, 0, 0, 0, 0, 0), // newarray + BCI(3, 1, 1, 0, 0, 0, 0, 0, 0), // anewarray + BCI(1, 1, 1, 0, 0, 0, 0, 0, 0), // arraylength + BCI(1, 1, 1, 1, 0, 0, 0, 0, 0), // athrow + BCI(3, 1, 1, 0, 0, 0, 0, 0, 0), // checkcast + BCI(3, 1, 1, 0, 0, 0, 0, 0, 0), // instanceof + BCI(1, 1, 0, 0, 0, 0, 0, 0, 0), // monitorenter + BCI(1, 1, 0, 0, 0, 0, 0, 0, 0), // monitorexit + BCI(0, 0, 0, 1, 0, 0, 0, 0, 0), // wide + BCI(4, 0, 0, 1, 0, 0, 0, 0, 0), // multianewarray + BCI(3, 1, 0, 1, 0, 0, 0, 0, 0), // ifnull + BCI(3, 1, 0, 1, 0, 0, 0, 0, 0), // ifnonnull + BCI(5, 0, 0, 1, 0, 0, 0, 0, 0), // goto_w + BCI(5, 0, 0, 1, 0, 0, 0, 0, 0), // jsr_w + BCI(1, 0, 0, 1, 0, 0, 0, 0, 0), // breakpoint + BCI(0, 0, 0, 1, 0, 0, 0, 0, 0), // unused 0xcb + BCI(3, 1, 1, 0, 0, 0, 0, 0, 0), // bgetfield + BCI(3, 1, 1, 0, 0, 0, 0, 0, 0), // cgetfield + BCI(0, 0, 0, 1, 0, 0, 0, 0, 0), // unused 0xce + BCI(0, 0, 0, 1, 0, 0, 0, 0, 0), // unused 0xcf + BCI(3, 1, 1, 0, 0, 0, 0, 0, 0), // igetfield + BCI(3, 1, 2, 0, 0, 0, 0, 0, 0), // lgetfield + BCI(3, 1, 1, 0, 0, 0, 0, 0, 0), // sgetfield + BCI(3, 2, 0, 0, 0, 0, 0, 0, 0), // aputfield + BCI(3, 2, 0, 0, 0, 0, 0, 0, 0), // bputfield + BCI(3, 2, 0, 0, 0, 0, 0, 0, 0), // cputfield + BCI(0, 0, 0, 1, 0, 0, 0, 0, 0), // unused 0xd6 + BCI(0, 0, 0, 1, 0, 0, 0, 0, 0), // unused 0xd7 + BCI(3, 2, 0, 0, 0, 0, 0, 0, 0), // iputfield + BCI(3, 3, 0, 0, 0, 0, 0, 0, 0), // lputfield + BCI(0, 0, 0, 1, 0, 0, 0, 0, 0), // unused 0xda + BCI(1, 0, 1, 0, 1, 1, 0, 0, BCI_TYPE_REF), // iaccess_0 + BCI(1, 0, 1, 0, 1, 1, 0, 1, BCI_TYPE_REF), // iaccess_1 + BCI(1, 0, 1, 0, 1, 1, 0, 2, BCI_TYPE_REF), // iaccess_2 + BCI(1, 0, 1, 0, 1, 1, 0, 3, BCI_TYPE_REF), // iaccess_3 + BCI(3, 0, 0, 1, 0, 0, 0, 0, 0), // invokeresolved + BCI(3, 0, 0, 1, 0, 0, 0, 0, 0), // invokespecialresolved + BCI(3, 0, 0, 1, 0, 0, 0, 0, 0), // invokestaticresolved + BCI(3, 0, 0, 1, 0, 0, 0, 0, 0), // invokevfinal + BCI(2, 0, 1, 0, 1, 0, 0, 0, BCI_TYPE_INT), // iload_iload + BCI(2, 0, 1, 0, 1, 0, 0, 0, BCI_TYPE_INT), // iload_iload_N + BCI(1, 0, 0, 1, 0, 0, 0, 0, 0), // return_register_finalizer + BCI(1, 4, 2, 0, 0, 0, 0, 0, 0), // dmac + BCI(1, 0, 1, 0, 1, 1, 0, 0, BCI_TYPE_INT), // iload_0_iconst_N + BCI(1, 0, 1, 0, 1, 1, 0, 1, BCI_TYPE_INT), // iload_1_iconst_N + BCI(1, 0, 1, 0, 1, 1, 0, 2, BCI_TYPE_INT), // iload_2_iconst_N + BCI(1, 0, 1, 0, 1, 1, 0, 3, BCI_TYPE_INT), // iload_3_iconst_N + BCI(2, 0, 1, 0, 1, 0, 0, 0, BCI_TYPE_INT), // iload_iconst_N + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // iadd_istore_N + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // isub_istore_N + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // iand_istore_N + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // ior_istore_N + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // ixor_istore_N + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // iadd_u4store + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // isub_u4store + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // iand_u4store + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // ior_u4store + BCI(1, 2, 1, 0, 0, 0, 0, 0, 0), // ixor_u4store + BCI(1, 0, 1, 0, 1, 1, 0, 0, BCI_TYPE_INT), // iload_0_iload + BCI(1, 0, 1, 0, 1, 1, 0, 1, BCI_TYPE_INT), // iload_1_iload + BCI(1, 0, 1, 0, 1, 1, 0, 2, BCI_TYPE_INT), // iload_2_iload + BCI(1, 0, 1, 0, 1, 1, 0, 3, BCI_TYPE_INT), // iload_3_iload + BCI(1, 0, 1, 0, 1, 1, 0, 0, BCI_TYPE_INT), // iload_0_iload_N + BCI(1, 0, 1, 0, 1, 1, 0, 1, BCI_TYPE_INT), // iload_1_iload_N + BCI(1, 0, 1, 0, 1, 1, 0, 2, BCI_TYPE_INT), // iload_2_iload_N + BCI(1, 0, 1, 0, 1, 1, 0, 3, BCI_TYPE_INT), // iload_3_iload_N + BCI(0, 0, 0, 1, 0, 0, 0, 0, 0), // impdep1 + BCI(0, 0, 0, 1, 0, 0, 0, 0, 0), // impdep2 +}; + +void Thumb2_pass1(Thumb2_Info *jinfo, unsigned bci) +{ + unsigned code_size = jinfo->code_size; + jubyte *code_base = jinfo->code_base; + unsigned *bc_stackinfo = jinfo->bc_stackinfo; + unsigned *locals_info = jinfo->locals_info; + //constantPoolCacheOop cp = jinfo->method->constants()->cache(); + + bc_stackinfo[bci] |= BC_BRANCH_TARGET; + while (bci < code_size) { + unsigned stackinfo = bc_stackinfo[bci]; + unsigned bytecodeinfo; + unsigned opcode; + + if (stackinfo & BC_VISITED_P1) break; + bc_stackinfo[bci] = (stackinfo & BC_FLAGS_MASK) | BC_VISITED_P1; + opcode = code_base[bci]; +// printf("bci = 0x%04x, opcode = 0x%02x (%s)", bci, opcode, Bytecodes::name((Bytecodes::Code)opcode)); + bytecodeinfo = bcinfo[opcode]; + if (!BCI_SPECIAL(bytecodeinfo)) { + bci += BCI_LEN(bytecodeinfo); + continue; + } + + switch (opcode) { + + case opc_goto: { + int off = GET_JAVA_S2(code_base+bci+1); + bci += off; + bc_stackinfo[bci] |= BC_BRANCH_TARGET; + if (off < 0) bc_stackinfo[bci] |= BC_BACK_TARGET; + break; + } + case opc_goto_w: { + int off = GET_JAVA_U4(code_base+bci+1); + bci += off; + bc_stackinfo[bci] |= BC_BRANCH_TARGET; + if (off < 0) bc_stackinfo[bci] |= BC_BACK_TARGET; + break; + } + + case opc_if_icmpeq: + case opc_if_icmpne: + case opc_if_icmplt: + case opc_if_icmpge: + case opc_if_icmpgt: + case opc_if_icmple: + case opc_if_acmpeq: + case opc_if_acmpne: + case opc_ifeq: + case opc_ifne: + case opc_iflt: + case opc_ifge: + case opc_ifgt: + case opc_ifle: + case opc_ifnull: + case opc_ifnonnull: { + int off = GET_JAVA_S2(code_base+bci+1); + if (off < 0) bc_stackinfo[bci+off] |= BC_BACK_TARGET; + Thumb2_pass1(jinfo, bci + off); + bci += 3; + break; + } + + case opc_jsr: { + int off = GET_JAVA_S2(code_base+bci+1); + if (off < 0) bc_stackinfo[bci+off] |= BC_BACK_TARGET; + Thumb2_pass1(jinfo, bci + off); + bci += 3; + break; + } + case opc_jsr_w: { + int off = GET_JAVA_U4(code_base+bci+1); + if (off < 0) bc_stackinfo[bci+off] |= BC_BACK_TARGET; + Thumb2_pass1(jinfo, bci + off); + bci += 5; + break; + } + + case opc_ireturn: + case opc_lreturn: + case opc_freturn: + case opc_dreturn: + case opc_areturn: + case opc_return: + case opc_return_register_finalizer: + case opc_ret: + case opc_athrow: + // The test for BC_VISITED_P1 above will break out of the loop!!! + break; + + case opc_tableswitch: { + int low, high; + unsigned w; + unsigned *table; + unsigned nbci; + int def; + + nbci = bci & ~3; + w = *(unsigned int *)(code_base + nbci + 8); + low = (int)BYTESEX_REVERSE(w); + w = *(unsigned int *)(code_base + nbci + 12); + high = (int)BYTESEX_REVERSE(w); + w = *(unsigned int *)(code_base + nbci + 4); + def = (int)BYTESEX_REVERSE(w); + table = (unsigned int *)(code_base + nbci + 16); + + while (low <= high) { + int off; + w = *table++; + off = (int)BYTESEX_REVERSE(w); + if (off < 0) bc_stackinfo[bci+off] |= BC_BACK_TARGET; + Thumb2_pass1(jinfo, bci + off); + low++; + } + + bci += def; + bc_stackinfo[bci] |= BC_BRANCH_TARGET; + if (def < 0) bc_stackinfo[bci] |= BC_BACK_TARGET; + break; + } + + case opc_lookupswitch: { + unsigned w; + unsigned nbci; + int def; + int npairs; // The Java spec says signed but must be >= 0?? + unsigned *table; + + nbci = bci & ~3; + w = *(unsigned int *)(code_base + nbci + 4); + def = (int)BYTESEX_REVERSE(w); + w = *(unsigned int *)(code_base + nbci + 8); + npairs = (int)BYTESEX_REVERSE(w); + table = (unsigned int *)(code_base + nbci + 16); + + for (int i = 0; i < npairs; i++) { + int off; + w = *table; + table += 2; + off = (int)BYTESEX_REVERSE(w); + if (off < 0) bc_stackinfo[bci+off] |= BC_BACK_TARGET; + Thumb2_pass1(jinfo, bci + off); + } + + bci += def; + bc_stackinfo[bci] |= BC_BRANCH_TARGET; + if (def < 0) bc_stackinfo[bci] |= BC_BACK_TARGET; + break; + } + + case opc_getstatic: + case opc_putstatic: + case opc_getfield: + case opc_putfield: { + bci += 3; + break; + } + + case opc_invokeresolved: + case opc_invokespecialresolved: + case opc_invokestaticresolved: + case opc_invokevfinal: + case opc_invokevirtual: + case opc_invokespecial: + case opc_invokestatic: + bci += 3; + break; + + case opc_invokeinterface: + bci += 5; + break; + + case opc_multianewarray: + bci += 4; + break; + + case opc_wide: + opcode = code_base[bci+1]; + if (opcode == opc_iinc) { + bci += 6; + } else { + bci += 4; + } + break; + + default: + opcode = code_base[bci]; + fatal1("Undefined opcode %d\n", opcode); + break; + } + } +} + +#ifdef ZOMBIE_DETECTION +int Thumb2_is_zombie(Thumb2_Info *jinfo, unsigned bci) +{ + unsigned code_size = jinfo->code_size; + jubyte *code_base = jinfo->code_base; + unsigned bytecodeinfo; + unsigned opcode; + unsigned *bc_stackinfo = jinfo->bc_stackinfo; + + do { + opcode = code_base[bci]; + // Short circuit exit - commented out because even if it has been executed + // we treat throw, jsr, and ret as zombies because they will call out to the + // interpreter. + // if (opcode > OPC_LAST_JAVA_OP) return 0; + bytecodeinfo = bcinfo[opcode]; + if (!BCI_SPECIAL(bytecodeinfo)) { + bci += BCI_LEN(bytecodeinfo); +#if 0 + if (opcode >= opc_iload_iload) { + opcode = code_base[bci]; + bci += BCI_LEN(bcinfo[opcode]); + } else if (BCI_ISLOCAL(bytecodeinfo)) { + if (opcode == opc_iload || (opcode >= opc_iload_0 && opcode <= opc_iload_3)) { + opcode = code_base[bci]; + if (opcode == opc_iload || (opcode >= opc_iload_0 && opcode <= opc_iload_3) || + (opcode >= opc_iconst_m1 && opcode <= opc_iconst_5)) { + printf("found new zombie at %d\n", bci); + return 1; + } + } + } else if (opcode == opc_iadd || opcode == opc_isub || + opcode == opc_iand || opcode == opc_ior || opcode == opc_ixor) { + opcode = code_base[bci]; + if (opcode == opc_istore || (opcode >= opc_istore_0 && opcode <= opc_istore_3)) { + printf("found new zombie at %d\n", bci); + return 1; + } + } +#endif + } else { + switch (opcode) { + case opc_goto: + case opc_goto_w: + case opc_ifeq: + case opc_ifne: + case opc_iflt: + case opc_ifge: + case opc_ifgt: + case opc_ifle: + case opc_ifnull: + case opc_ifnonnull: + case opc_if_icmpeq: + case opc_if_icmpne: + case opc_if_icmplt: + case opc_if_icmpge: + case opc_if_icmpgt: + case opc_if_icmple: + case opc_if_acmpeq: + case opc_if_acmpne: + case opc_tableswitch: + case opc_lookupswitch: + return 0; + case opc_ireturn: + case opc_lreturn: + case opc_freturn: + case opc_dreturn: + case opc_areturn: + case opc_return: + case opc_return_register_finalizer: + return 0; + case opc_jsr: + case opc_jsr_w: + case opc_ret: + case opc_athrow: + return 1; + case opc_invokeinterface: + case opc_invokevirtual: + case opc_invokespecial: + case opc_invokestatic: + case opc_putfield: + case opc_getfield: + case opc_putstatic: + case opc_getstatic: { + constantPoolCacheOop cp = jinfo->method->constants()->cache(); + ConstantPoolCacheEntry* cache; + int index = GET_NATIVE_U2(code_base+bci+1); + + cache = cp->entry_at(index); + if (!cache->is_resolved((Bytecodes::Code)opcode)) return 1; + bci += 3; + if (opcode == opc_invokeinterface) bci += 2; + break; + + } + case opc_invokeresolved: + case opc_invokespecialresolved: + case opc_invokestaticresolved: + case opc_invokevfinal: + bci += 3; + break; + + case opc_multianewarray: + bci += 4; + break; + + case opc_wide: + opcode = code_base[bci+1]; + if (opcode == opc_iinc) { + bci += 6; + } else { + bci += 4; + } + break; + + default: + opcode = code_base[bci]; + fatal1("Undefined opcode %d\n", opcode); + break; + } + } + if (bci >= code_size) break; + } while (!(bc_stackinfo[bci] & BC_BRANCH_TARGET)); + return 0; +} +#endif // ZOMBIT_DETECTION + +void Thumb2_RegAlloc(Thumb2_Info *jinfo, unsigned *pregs, unsigned npregs) +{ + unsigned *locals_info = jinfo->locals_info; + unsigned i, j; + unsigned linfo; + unsigned score, max_score; + unsigned local; + unsigned nlocals = jinfo->method->max_locals(); + + for (i = 0; i < npregs; i++) { + max_score = 0; + for (j = 0; j < nlocals; j++) { + linfo = locals_info[j]; + + if (linfo & ((1<> 2; + if (linfo & (1<> 2); + if (linfo & (1<> 2; + if (score > max_score) max_score = score, local = j; + } + if (max_score < 2) break; + locals_info[local] |= 1<jregs->r_local[local] = pregs[i]; + } +#ifdef T2EE_PRINT_REGUSAGE + if (t2ee_print_regusage) { + printf("Regalloc: %d physical registers allocated as follows\n", npregs); + for (j = 0; j < nlocals; j++) { + unsigned r = jinfo->jregs->r_local[j]; + if (r) { + unsigned typ = (locals_info[j] >> LOCAL_INT) & 0x1f; + printf(" ARM Reg R%d -> local %d (type = %s)\n", r, j, local_types[LOG2(typ)]); + } + } + } +#endif +} + +void Thumb2_pass2(Thumb2_Info *jinfo, unsigned stackdepth, unsigned bci) +{ + unsigned code_size = jinfo->code_size; + jubyte *code_base = jinfo->code_base; + unsigned *bc_stackinfo = jinfo->bc_stackinfo; + unsigned *locals_info = jinfo->locals_info; + unsigned check_zombie = 0; + //constantPoolCacheOop cp = jinfo->method->constants()->cache(); + + while (bci < code_size) { + unsigned stackinfo = bc_stackinfo[bci]; + unsigned bytecodeinfo; + unsigned opcode; + + if (stackinfo & BC_VISITED_P2) break; + JASSERT((int)stackdepth >= 0, "stackdepth < 0!!"); + bc_stackinfo[bci] = (stackinfo & BC_FLAGS_MASK) | stackdepth | BC_VISITED_P2; +#ifdef ZOMBIE_DETECTION + if (check_zombie || (stackinfo & BC_BRANCH_TARGET)) { + if (Thumb2_is_zombie(jinfo, bci)) { + printf("zombie code at %d\n", bci); + bc_stackinfo[bci] |= BC_ZOMBIE; + return; + } + check_zombie = 0; + } +#endif + opcode = code_base[bci]; +// printf("bci = 0x%04x, opcode = 0x%02x (%s), stackdepth = %d\n", bci, opcode, Bytecodes::name((Bytecodes::Code)opcode), stackdepth); + bytecodeinfo = bcinfo[opcode]; + if (!BCI_SPECIAL(bytecodeinfo)) { + if (BCI_ISLOCAL(bytecodeinfo)) { + unsigned local = BCI_LOCAL_N(bytecodeinfo); + unsigned local_type = BCI_LOCAL_TYPE(bytecodeinfo) + LOCAL_INT; + unsigned local_modified = 0; + unsigned linfo; + unsigned read_count, write_count; + + if (!BCI_ISLOCAL_N(bytecodeinfo)) local = code_base[bci+1]; + if (BCI_ISSTORE(bytecodeinfo)) local_modified = 1U << LOCAL_MODIFIED; + linfo = locals_info[local]; + read_count = LOCAL_READS(linfo); + write_count = LOCAL_WRITES(linfo); + if (local_modified) + write_count = LOCAL_INC_COUNT(write_count); + else + read_count = LOCAL_INC_COUNT(read_count); + + locals_info[local] |= (1 << local_type) | LOCAL_SET_COUNTS(read_count, write_count) | local_modified; + if (local_type == LOCAL_LONG || local_type == LOCAL_DOUBLE) { + locals_info[local+1] |= (1 << local_type) | LOCAL_SET_COUNTS(read_count, write_count) | local_modified; + } + } + bci += BCI_LEN(bytecodeinfo); + stackdepth += BCI_PUSH(bytecodeinfo) - BCI_POP(bytecodeinfo); + JASSERT(stackdepth <= (unsigned)jinfo->method->max_stack(), "stack over/under flow?"); + continue; + } + + switch (opcode) { + + case opc_goto: + bci += GET_JAVA_S2(code_base+bci+1); + break; + case opc_goto_w: + bci += GET_JAVA_U4(code_base+bci+1); + break; + + case opc_ifeq: + case opc_ifne: + case opc_iflt: + case opc_ifge: + case opc_ifgt: + case opc_ifle: + case opc_ifnull: + case opc_ifnonnull: + stackdepth -= 1; + Thumb2_pass2(jinfo, stackdepth, bci + GET_JAVA_S2(code_base+bci+1)); + check_zombie = 1; + bci += 3; + break; + + case opc_if_icmpeq: + case opc_if_icmpne: + case opc_if_icmplt: + case opc_if_icmpge: + case opc_if_icmpgt: + case opc_if_icmple: + case opc_if_acmpeq: + case opc_if_acmpne: + stackdepth -= 2; + Thumb2_pass2(jinfo, stackdepth, bci + GET_JAVA_S2(code_base+bci+1)); + check_zombie = 1; + bci += 3; + break; + + case opc_jsr: + Thumb2_pass2(jinfo, stackdepth+1, bci + GET_JAVA_S2(code_base+bci+1)); + bci += 3; + stackdepth = 0; + break; + case opc_jsr_w: + Thumb2_pass2(jinfo, stackdepth+1, bci + GET_JAVA_U4(code_base+bci+1)); + bci += 5; + break; + + case opc_ireturn: + case opc_lreturn: + case opc_freturn: + case opc_dreturn: + case opc_areturn: + case opc_return: + case opc_return_register_finalizer: + case opc_ret: + case opc_athrow: + // The test for BC_VISITED_P2 above will break out of the loop!!! + break; + + case opc_tableswitch: { + int low, high; + unsigned w; + unsigned *table; + unsigned nbci; + int def; + + stackdepth -= 1; + nbci = bci & ~3; + w = *(unsigned int *)(code_base + nbci + 8); + low = (int)BYTESEX_REVERSE(w); + w = *(unsigned int *)(code_base + nbci + 12); + high = (int)BYTESEX_REVERSE(w); + w = *(unsigned int *)(code_base + nbci + 4); + def = (int)BYTESEX_REVERSE(w); + table = (unsigned int *)(code_base + nbci + 16); + + while (low <= high) { + int off; + w = *table++; + off = (int)BYTESEX_REVERSE(w); + Thumb2_pass2(jinfo, stackdepth, bci + off); + low++; + } + + check_zombie = 1; + bci += def; + break; + } + + case opc_lookupswitch: { + unsigned w; + unsigned nbci; + int def; + int npairs; // The Java spec says signed but must be >= 0?? + unsigned *table; + + stackdepth -= 1; + nbci = bci & ~3; + w = *(unsigned int *)(code_base + nbci + 4); + def = (int)BYTESEX_REVERSE(w); + w = *(unsigned int *)(code_base + nbci + 8); + npairs = (int)BYTESEX_REVERSE(w); + table = (unsigned int *)(code_base + nbci + 16); + + for (int i = 0; i < npairs; i++) { + int off; + w = *table; + table += 2; + off = (int)BYTESEX_REVERSE(w); + Thumb2_pass2(jinfo, stackdepth, bci + off); + } + + check_zombie = 1; + bci += def; + break; + } + + case opc_getstatic: + case opc_putstatic: + case opc_getfield: + case opc_putfield: { + int index = GET_JAVA_U2(code_base+bci+1); + constantPoolOop pool = jinfo->method->constants(); + symbolOop sig = pool->signature_ref_at(index); + jbyte *base = sig->base(); + jbyte c = *base; + int stackchange; + + opcode = code_base[bci]; + if (opcode == opc_getfield || opcode == opc_putfield) + stackdepth -= 1; + stackchange = 1; + if (c == 'J' || c == 'D') stackchange = 2; + if (opcode == opc_getfield || opcode == opc_getstatic) + stackdepth += stackchange; + else + stackdepth -= stackchange; + bci += 3; + break; + } + + case opc_invokeresolved: + case opc_invokespecialresolved: + case opc_invokestaticresolved: + case opc_invokevfinal: + case opc_invokeinterface: + case opc_invokevirtual: + case opc_invokespecial: + case opc_invokestatic: { + int index = GET_JAVA_U2(code_base+bci+1); + constantPoolOop pool = jinfo->method->constants(); + //symbolOop name = pool->name_ref_at(index); + symbolOop sig = pool->signature_ref_at(index); + jbyte *base = sig->base(); + + //tty->print("%d: %s: %s\n", opcode, name->as_C_string(), sig->as_C_string()); + stackdepth += method_stackchange(base); + opcode = code_base[bci]; + bci += 3; + if (opcode == opc_invokeinterface) bci += 2; + if (opcode != opc_invokestatic && opcode != opc_invokestaticresolved) + stackdepth -= 1; + break; + } + + case opc_multianewarray: + stackdepth = (stackdepth - code_base[bci+3]) + 1; + bci += 4; + break; + + case opc_wide: + opcode = code_base[bci+1]; + if (opcode == opc_iinc) { + bci += 6; + } else { + bci += 4; + if (opcode == opc_iload || + opcode == opc_fload || opcode == opc_aload) + stackdepth += 1; + else if (opcode == opc_lload || opcode == opc_dload) + stackdepth += 2; + else if (opcode == opc_istore || + opcode == opc_fstore || opcode == opc_astore) + stackdepth -= 1; + else if (opcode == opc_lstore || opcode == opc_dstore) + stackdepth -= 2; + else if (opcode != opc_ret) + fatal1("Undefined wide opcode %d\n", opcode); + } + break; + + default: + opcode = code_base[bci]; + fatal1("Undefined opcode %d\n", opcode); + break; + } + } +} + +//------------------------------------------------------------------------------------- + +#define Thumb2 1 +#define ThumbEE 0 + +#define DA 0 +#define IA 1 +#define DB 2 +#define IB 3 + +#define PUSH_ED 0 +#define PUSH_EA 1 +#define PUSH_FD 2 +#define PUSH_FA 3 + +#define POP_FA 0 +#define POP_FD 1 +#define POP_EA 2 +#define POP_ED 3 + +#define ROR(imm, sh) (((imm) >> (sh)) | ((imm) << (32 - (sh)))) +#define ROL(imm, sh) (((imm) << (sh)) | ((imm) >> (32 - (sh)))) + +#define abs(i) ((i) < 0 ? -(i) : (i)) +#define U(i) ((i) < 0 ? 0 : 1) + +#define LS_STR 0 +#define LS_STRB 1 +#define LS_STRH 2 +#define LS_LDRSB 3 +#define LS_LDR 4 +#define LS_LDRB 5 +#define LS_LDRH 6 +#define LS_LDRSH 7 + +#define LS_IS_LDR(op) ((op) >= LS_LDRSB) +#define LS_IS_WORD(op) (((op) & 3) == LS_STR) +#define LS_IS_BYTE(op) (((op) & 3) == LS_STRB || (op) == LS_LDRSB) +#define LS_IS_HW(op) (((op) & 3) == LS_STRH || (op) == LS_LDRSH) + +static const unsigned t_ls_ops[16] = { + 0x5000, 0xf8400000, + 0x5400, 0xf8000000, + 0x5200, 0xf8200000, + 0x5600, 0xf9100000, + 0x5800, 0xf8500000, + 0x5c00, 0xf8100000, + 0x5a00, 0xf8300000, + 0x5e00, 0xf9300000, +}; + +#define DP_ADC 0 +#define DP_ADD 1 +#define DP_AND 2 +#define DP_ASR 3 +#define DP_BIC 4 +#define DP_CMN 5 +#define DP_CMP 6 +#define DP_EOR 7 +#define DP_LSL 8 +#define DP_LSR 9 +#define DP_MOV 10 +#define DP_MVN 11 +#define DP_ORN 12 +#define DP_ORR 13 +#define DP_ROR 14 +#define DP_RSB 15 +#define DP_SBC 16 +#define DP_SUB 17 +#define DP_TEQ 18 +#define DP_TST 19 +#define DP_MUL 20 + +static const unsigned n_ops[] = { + DP_SBC, // ADC x, y == SBC x, ~y + DP_SUB, // ADD x, y == SUB x, -y + DP_BIC, // AND x, y == BIX x, ~y + (unsigned)-1, // ASR + DP_AND, // BIC x, y == AND x, ~y + DP_CMP, // CMN x, y == CMP x, -y + DP_CMN, // CMP x, y == CMN x, -y + (unsigned)-1, // EOR + (unsigned)-1, // LSL + (unsigned)-1, // LSR + DP_MVN, // MOV x, y == MVN x, ~y + DP_MOV, // MVN x, y == MOV x, ~y + DP_ORR, // ORN x, y == ORR x, ~y + DP_ORN, // ORR x, y == ORN x, ~y + (unsigned)-1, // ROR + (unsigned)-1, // RSB + DP_ADC, // SBC x, y == ADC x, ~y + DP_ADD, // ADD x, y == SUB x, -y + (unsigned)-1, // TEQ + (unsigned)-1, // TST + (unsigned)-1, // MUL +}; + +#define N_OP(op) n_ops[(op)] + +static const unsigned t_dop_ops[] = { +// Rd, Rm, #N Rd, Rn, Rm + 0xf1400000, 0xeb400000, // ADC + 0xf1000000, 0xeb000000, // ADD + 0xf0000000, 0xea000000, // AND + 0xea4f0020, 0xfa40f000, // ASR + 0xf0200000, 0xea200000, // BIC + 0xf1100f00, 0xeb100f00, // CMN + 0xf1b00f00, 0xebb00f00, // CMP + 0xf0800000, 0xea800000, // EOR + 0xea4f0000, 0xfa00f000, // LSL + 0xea4f0010, 0xfa20f000, // LSR + 0xf04f0000, 0xea4f0000, // MOV + 0xf06f0000, 0xea6f0000, // MVN + 0xf0600000, 0xea600000, // ORN + 0xf0400000, 0xea400000, // ORR + 0xea4f0030, 0xfa6f0000, // ROR + 0xf1c00000, 0xebc00000, // RSB + 0xf1600000, 0xeb600000, // SBC + 0xf1a00000, 0xeba00000, // SUB + 0xf0900f00, 0xea900f00, // TEQ + 0xf0100f00, 0xea100f00, // TST + (unsigned)-1, 0xfb00f000, // MUL +}; + +#define DP_IMM(op) t_dop_ops[(op)*2] +#define DP_REG(op) t_dop_ops[(op)*2+1] + +#define VP_ADD 0 +#define VP_SUB 1 +#define VP_MUL 2 +#define VP_DIV 3 + +static const unsigned t_vop_ops[] = { + 0xee300a00, // VADD + 0xee300a40, // VSUB + 0xee200a00, // VMUL + 0xee800a00, // VDIV +}; + +#define VP_REG(op) t_vop_ops[op] + +#define T1_LS_OP(op) t_ls_ops[(op)*2] +#define T2_LS_OP(op) t_ls_ops[(op)*2+1] + +#define SHIFT_LSL 0 +#define SHIFT_LSR 1 +#define SHIFT_ASR 2 +#define SHIFT_ROR 3 +#define SHIFT_RRX 3 + +//------------------------------------------------------------------------------------ + +#define E_STR_IMM6(src, imm6) (0xce00 | ((imm6)<<3) | (src)) +#define E_LDR_IMM6(dst, imm6) (0xcc00 | ((imm6)<<3) | (dst)) +#define E_LDR_IMM5(dst, imm5) (0xcb00 | ((imm5)<<3) | (dst)) +#define E_LDR_IMM3(dst, base, imm3) (0xc800 | ((imm3)<<6) | ((base) << 3) | (dst)) + +#define T_MOV_IMM8(r, imm8) (0x2000 | ((r)<<8) | (imm8)) +#define T_MOV_BYTELANE(r, typ, b) (0xf04f0000 | ((typ) << 12) | ((r) << 8) | (b)) +#define T_MOV_ROT_IMM(r, ror, imm) \ + (0xf04f0000 | (((ror) & 0x10) << (26-4)) | (((ror) & 0xe) << (12-1)) | \ + (((ror) & 1) << 7) | ((r) << 8) | ((imm) & 0x7f)) +#define T_MOVW_IMM16(r, imm) \ + (0xf2400000 | (((imm) & 0xf000) << (16-12)) | (((imm) & 0x800) << (26-11)) | \ + (((imm) & 0x700) << (12-8)) | ((imm) & 0xff) | ((r) << 8)) +#define T_MOVT_IMM16(r, imm) \ + (0xf2c00000 | (((imm) & 0xf000) << (16-12)) | (((imm) & 0x800) << (26-11)) | \ + (((imm) & 0x700) << (12-8)) | ((imm) & 0xff) | ((r) << 8)) +#define T_MVN_BYTELANE(r, typ, b) (0xf06f0000 | ((typ) << 12) | ((r) << 8) | (b)) +#define T_MVN_ROT_IMM(r, ror, imm) (0xf06f0000 | (((ror) & 0x10) << (26-4)) | \ + (((ror) & 0xe) << (12-1)) | (((ror) & 1) << 7) | ((r) << 8) | ((imm) & 0x7f)) + +#define T_ORR_ROT_IMM(dst, src, ror, imm) (0xf0400000 | (((ror) & 0x10) << (26-4)) | \ + (((ror) & 0xe) << (12-1)) | (((ror) & 1) << 7) | ((src) << 16) | \ + ((dst) << 8) | ((imm) & 0x7f)) +#define T_ORN_ROT_IMM(dst, src, ror, imm) (0xf0600000 | (((ror) & 0x10) << (26-4)) | \ + (((ror) & 0xe) << (12-1)) | (((ror) & 1) << 7) | ((src) << 16) | \ + ((dst) << 8) | ((imm) & 0x7f)) + +#define T_STR_IMM5(src, base, imm5) (0x6000 | ((imm5) << 6) | ((base) << 3) | (src)) +#define T_STR_SP_IMM8(src, imm8) (0x9000 | ((src) << 8) | (imm8)) +#define T_STR_IMM12(src, base, imm12) (0xf8c00000 | ((src)<<12) | ((base)<<16) | (imm12)) +#define T_STR_IMM8(src, base, imm8, pre, wb) (0xf8400800 | ((src)<<12) | \ + ((base)<<16) | ((pre)<<10) | (U(imm8)<<9) | ((wb)<<8) | abs(imm8)) + +#define T_LDR_IMM5(dst, base, imm5) (0x6800 | ((imm5) << 6) | ((base) << 3) | (dst)) +#define T_LDR_SP_IMM8(src, imm8) (0x9800 | ((dst) << 8) | (imm8)) +#define T_LDR_IMM12(dst, base, imm12) (0xf8d00000 | ((dst)<<12) | ((base)<<16) | (imm12)) +#define T_LDR_IMM8(src, base, imm8, pre, wb) (0xf8500800 | ((dst)<<12) | \ + ((base)<<16) | ((pre)<<10) | (U(imm8)<<9) | ((wb)<<8) | abs(imm8)) + +#define T_STRB_IMM5(src, base, imm5) (0x7000 | ((imm5) << 6) | ((base) << 3) | (src)) +#define T_STRB_IMM12(src, base, imm12) (0xf8800000 | ((src)<<12) | ((base)<<16) | (imm12)) +#define T_STRB_IMM8(src, base, imm8, pre, wb) (0xf8000800 | ((src)<<12) | \ + ((base)<<16) | ((pre)<<10) | (U(imm8)<<9) | ((wb)<<8) | abs(imm8)) + +#define T_LDRB_IMM5(dst, base, imm5) (0x7800 | ((imm5) << 6) | ((base) << 3) | (dst)) +#define T_LDRB_IMM12(dst, base, imm12) (0xf8900000 | ((dst)<<12) | ((base)<<16) | (imm12)) +#define T_LDRB_IMM8(dst, base, imm8, pre, wb) (0xf8100800 | ((dst)<<12) | \ + ((base)<<16) | ((pre)<<10) | (U(imm8)<<9) | ((wb)<<8) | abs(imm8)) + +#define T_STRH_IMM5(dst, base, imm5) (0x8000 | ((imm5) << 6) | ((base) << 3) | (dst)) +#define T_STRH_IMM12(dst, base, imm12) (0xf8a00000 | ((dst)<<12) | ((base)<<16) | (imm12)) +#define T_STRH_IMM8(dst, base, imm8, pre, wb) (0xf8200800 | ((dst)<<12) | \ + ((base)<<16) | ((pre)<<10) | (U(imm8)<<9) | ((wb)<<8) | abs(imm8)) + +#define T_LDRH_IMM5(dst, base, imm5) (0x8800 | ((imm5) << 6) | ((base) << 3) | (dst)) +#define T_LDRH_IMM12(dst, base, imm12) (0xf8b00000 | ((dst)<<12) | ((base)<<16) | (imm12)) +#define T_LDRH_IMM8(dst, base, imm8, pre, wb) (0xf8300800 | ((dst)<<12) | \ + ((base)<<16) | ((pre)<<10) | (U(imm8)<<9) | ((wb)<<8) | abs(imm8)) + +#define T_LDRSH_IMM12(dst, base, imm12) (0xf9b00000 | ((dst)<<12) | ((base)<<16) | (imm12)) +#define T_LDRSH_IMM8(dst, base, imm8, pre, wb) (0xf9300800 | ((dst)<<12) | \ + ((base)<<16) | ((pre)<<10) | (U(imm8)<<9) | ((wb)<<8) | abs(imm8)) + +#define T_LDRSB_IMM12(dst, base, imm12) (0xf9900000 | ((dst)<<12) | ((base)<<16) | (imm12)) +#define T_LDRSB_IMM8(dst, base, imm8, pre, wb) (0xf9100800 | ((dst)<<12) | \ + ((base)<<16) | ((pre)<<10) | (U(imm8)<<9) | ((wb)<<8) | abs(imm8)) + +#define T_LDRD_IMM(lo, hi, base, imm8, pre, wb) (0xe8500000 | ((base)<<16) | \ + ((lo) << 12) | ((hi)<<8) | ((pre)<<24) | (U(imm8)<<23) | ((wb)<<21) | abs(imm8)) +#define T_STRD_IMM(lo, hi, base, imm8, pre, wb) (0xe8400000 | ((base)<<16) | \ + ((lo) << 12) | ((hi)<<8) | ((pre)<<24) | (U(imm8)<<23) | ((wb)<<21) | abs(imm8)) + +#define T_LDREX(dst, base, off) (0xe8500f00 | ((base) << 16) | ((dst) << 12) | ((off) >> 2)) +#define T_STREX(dst, src, base, off) (0xe8400000 | ((base) << 16) | \ + ((src) << 12) | ((dst) << 8) | ((off >> 2))) + +#define T_STM8(base, regset) (0xc000 | ((base) << 8) | (regset)) +#define T_STM16(base, regset, st, wb) (0xe8000000 | ((st) << 23) | ((wb) << 21) | \ + ((base) << 16) | (regset)) + +#define T_LDM8(base, regset) (0xc800 | ((base) << 8) | (regset)) +#define T_LDM16(base, regset, st, wb) (0xe8100000 | ((st) << 23) | ((wb) << 21) | \ + ((base) << 16) | (regset)) +#define T_POP(regset) (0xbc00 | (((regset & (1<> ARM_PC) << 8) | (regset & 0xff)) +#define T_PUSH(regset) (0xb400 | (((regset & (1<> ARM_LR) << 8) | (regset & 0xff)) + +#define T1_LDR_STR_REG(op, xfer, base, off) ((op) | ((off) << 6) | ((base) << 3) | (xfer)) +#define T2_LDR_STR_REG(op, xfer, base, off, sh) ((op) | ((base) << 16) | ((xfer) << 12) | \ + ((sh)<<4) | (off)) + +#define T_CHKA(size, idx) (0xca00 | (((size) & 8) << (7-3)) | ((idx) << 3) | ((size) & 7)) +#define T_HBL(handler) (0xc300 | (handler)) +#define T_ENTER_LEAVE(enter) (0xf3bf8f0f | ((enter)<<4)) + +#define T1_ADD_IMM(dst, src, imm3) (0x1c00 | ((imm3) << 6) | ((src) << 3) | (dst)) +#define T2_ADD_IMM(r, imm8) (0x3000 | ((r) << 8) | (imm8)) +#define T3_ADD_BYTELANE(dst, src, typ, b) (0xf1000000 | ((src) << 16) | ((typ) << 12) | \ + ((dst) << 8) | (b)) +#define T3_ADD_ROT_IMM(dst, src, ror, imm) (0xf1000000 | ((src) << 16) | ((dst) << 8) | \ + (((ror) & 0x10) << (26-4)) | (((ror) & 0x0e) << (12-1)) | (((ror) & 1) << 7) | \ + ((imm) & 0x7f)) +#define T4_ADD_IMM(dst, src, imm) (0xf2000000 | ((src) << 16) | ((dst) << 8) | \ + (((imm) & 0x800) << (26-11)) | (((imm) & 0x700) << (12-8)) | ((imm) & 0xff)) + +#define T1_SUB_IMM(dst, src, imm3) (0x1e00 | ((imm3) << 6) | ((src) << 3) | (dst)) +#define T2_SUB_IMM(r, imm8) (0x3800 | ((r) << 8) | (imm8)) +#define T3_SUB_BYTELANE(dst, src, typ, b) (0xf1a00000 | ((src) << 16) | ((typ) << 12) | \ + ((dst) << 8) | (b)) +#define T3_SUB_ROT_IMM(dst, src, ror, imm) (0xf1a00000 | ((src) << 16) | ((dst) << 8) | \ + (((ror) & 0x10) << (26-4)) | (((ror) & 0x0e) << (12-1)) | (((ror) & 1) << 7) | \ + ((imm) & 0x7f)) +#define T4_SUB_IMM(dst, src, imm) (0xf2a00000 | ((src) << 16) | ((dst) << 8) | \ + (((imm) & 0x800) << (26-11)) | (((imm) & 0x700) << (12-8)) | ((imm) & 0xff)) + +#define T_DOP_BYTELANE(op, dst, src, typ, b) ((op) | ((dst) << 8) | ((src) << 16) | \ + ((typ) << 12) | (b)) +#define T_DOP_ROT_IMM(op, dst, src, ror, imm) ((op) | ((dst) << 8) | ((src) << 16) | \ + (((ror) & 0x10) << (26-4)) | (((ror) & 0x0e) << (12-1)) | (((ror) & 1) << 7) | \ + ((imm) & 0x7f)) +#define T_SHIFT_IMM(op, dst, src, imm) ((op) | ((dst) << 8) | (src) | \ + (((imm) & 3) << 6) | (((imm) & 0x1c) << (12-2))) +#define T_DOP_REG(op, dst, lho, rho, st, sh) ((op) | ((dst) << 8) | ((lho) << 16) | (rho) | \ + ((st) << 4) | (((sh) & 0x1c) << (12-2)) | (((sh) & 3) << 6)) +#define T3_ADD_BYTELANE(dst, src, typ, b) (0xf1000000 | ((src) << 16) | ((typ) << 12) | \ + ((dst) << 8) | (b)) + +#define T_CMP_IMM(src, imm) (0x2800 | ((src) << 8) | (imm)) +#define T_CMP_REG(lho, rho) (0x4280 | ((rho) << 3) | (lho)) + +#define T_NEG(dst, src) (0x4240 | (dst) | ((src) << 3)) +#define T_MVN(dst, src) (0x43c0 | (dst) | ((src) << 3)) +#define T_MOV(dst, src) (0x4600 | (((dst) & 8) << (7-3)) | ((src) << 3) | ((dst) & 7)) + +#define T_VMOVS_TOARM(dst, src) \ + (0xee100a10 | ((dst) << 12) | (((src) & 1) << 7) | (((src) & 0x1e)<<(16-1))) +#define T_VMOVS_TOVFP(dst, src) \ + (0xee000a10 | ((src) << 12) | (((dst) & 1) << 7) | (((dst) & 0x1e)<<(16-1))) + +#define T_VMOVD_TOARM(dst_lo, dst_hi, src) \ + (0xec500b10 | ((dst_lo) << 12) | ((dst_hi) << 16) | (((src) & 0x10)<<(5-4)) | ((src) & 0x0f)) +#define T_VMOVD_TOVFP(dst, src_lo, src_hi) \ + (0xec400b10 | ((src_lo) << 12) | ((src_hi) << 16) | (((dst) & 0x10)<<(5-4)) | ((dst) & 0x0f)) + +#define T_VOP_REG_S(op, dst, lho, rho) ((op) | \ + (((dst) & 1) << 22) | (((dst) & 0x1e) << (12-1)) | \ + (((lho) & 1) << 7) | (((lho) & 0x1e) << (16-1)) | \ + (((rho) & 1) << 5) | (((rho) & 0x1e) >> 1)) +#define T_VOP_REG_D(op, dst, lho, rho) ((op) | (1 << 8) | \ + (((dst) & 0x10) << (22-4)) | (((dst) & 0xf) << 12) | \ + (((lho) & 0x10) << (7-4)) | (((lho) & 0xf) << 16) | \ + (((rho) & 0x10) << (5-4)) | ((rho) & 0xf)) + +#define T_VCMP_S(lho, rho, e) (0xeeb40a40 | ((e) << 7) | \ + (((lho) & 1) << 22) | (((lho) & 0x1e) << (12-1)) | \ + (((rho) & 1) << 5) | (((rho) & 0x1e) >>1)) +#define T_VCMP_D(lho, rho, e) (0xeeb40b40 | ((e) << 7) | \ + (((lho) & 0x10) << (22-4)) | (((lho) & 0x0f) << 12) | \ + (((rho) & 0x10) << (5-4)) | ((rho) & 0x0f)) +#define T_VMRS(dst) (0xeef10a10 | ((dst) << 12)) + +#define T_MLA(res, lho, rho, a) \ + (0xfb000000 | ((res) << 8) | ((lho) << 16) | (rho) | ((a) << 12)) +#define T_UMULL(res_lo, res_hi, lho, rho) \ + (0xfba00000 | ((res_lo) << 12) | ((res_hi) << 8) | ((lho) << 16) | (rho)) + +#define T_BX(src) (0x4700 | ((src) << 3)) +#define T_TBH(base, idx) (0xe8d0f010 | ((base) << 16) | (idx)) + +#define T_SXTB(dst, src) (0xb240 | ((src) << 3) | (dst)) +#define T_SXTH(dst, src) (0xb200 | ((src) << 3) | (dst)) +#define T2_SXTB(dst, src) (0xfa4ff080 | ((dst) << 8) | (src)) +#define T2_SXTH(dst, src) (0xfa0ff080 | ((dst) << 8) | (src)) +#define T_UXTH(dst, src) (0xb280 | ((src) << 3) | (dst)) +#define T2_UXTH(dst, src) (0xfa1ff080 | ((dst) << 8) | (src)) + +int out_16(CodeBuf *codebuf, u32 s) +{ + codebuf->codebuf[codebuf->idx++] = s; + return 0; +} + +int out_16x2(CodeBuf *codebuf, u32 sx2) +{ + unsigned s1 = sx2 >> 16; + unsigned s2 = sx2 & 0xffff; + + out_16(codebuf, s1); + return out_16(codebuf, s2); +} + +int out_32(CodeBuf *codebuf, u32 w) +{ + *(u32 *)&(codebuf->codebuf[codebuf->idx]) = w; + codebuf->idx += 2; + return 0; +} + +u32 out_pos(CodeBuf *codebuf) +{ + return (u32)&(codebuf->codebuf[codebuf->idx]); +} + +u32 out_loc(CodeBuf *codebuf) +{ + return codebuf->idx * 2; +} + +#define CODE_ALIGN 64 +#define CODE_ALIGN_SIZE 64 + +u32 out_align(CodeBuf *codebuf, unsigned align) +{ + codebuf->idx += (((out_pos(codebuf) + (align-1)) & ~(align-1)) - out_pos(codebuf)) / sizeof(short); + return out_pos(codebuf); +} + +int thumb_single_shift(unsigned imm) +{ + unsigned lsl; + + if (!imm) return -1; + lsl = 0; + while (!(imm & 0x80000000)) { + imm <<= 1; + lsl++; + } + if (lsl >= 24) return -1; + if ((imm & 0xff000000) == imm) return lsl+8; + return -1; +} + +int thumb_bytelane(u32 imm) +{ + unsigned b1 = imm & 0xff; + unsigned b2 = (imm >> 8) & 0xff; + unsigned b3 = (imm >> 16) & 0xff; + unsigned b4 = imm >> 24; + int mov_type = -1; + + if (b1 == b3 && b2 == 0 && b4 == 0) mov_type = 1; + if (b1 == b2 && b1 == b3 && b1 == b4) mov_type = 3; + if (b2 == b4 && b1 == 0 && b3 == 0) mov_type = 2; + if (imm < 256) mov_type = 0; + return mov_type; +} + +int mov_imm(CodeBuf *codebuf, Reg r, u32 imm) +{ + int mov_type, rol; + + if (Thumb2) { + if (r < ARM_R8 && imm < 256) + return out_16(codebuf, T_MOV_IMM8(r, imm)); + mov_type = thumb_bytelane(imm); + if (mov_type >= 0) { + if (mov_type == 2) imm >>= 8; + return out_16x2(codebuf, T_MOV_BYTELANE(r, mov_type, (imm & 0xff))); + } + mov_type = thumb_bytelane(~imm); + if (mov_type >= 0) { + imm = ~imm; + if (mov_type == 2) imm >>= 8; + return out_16x2(codebuf, T_MVN_BYTELANE(r, mov_type, (imm & 0xff))); + } + rol = thumb_single_shift(imm); + if (rol >= 0) + return out_16x2(codebuf, T_MOV_ROT_IMM(r, rol, ROL(imm, rol))); + rol = thumb_single_shift(~imm); + if (rol >= 0) + return out_16x2(codebuf, T_MVN_ROT_IMM(r, rol, ROL(~imm, rol))); + if ((imm & ~0xffff) == 0) + return out_16x2(codebuf, T_MOVW_IMM16(r, imm & 0xffff)); + if (r < ARM_R8) { + rol = thumb_single_shift(imm & ~0xff); + if (rol >= 0) { + out_16(codebuf, T_MOV_IMM8(r, imm & 0xff)); + return out_16x2(codebuf, T_ORR_ROT_IMM(r, r, rol, ROL(imm & ~0xff, rol))); + } + } + out_16x2(codebuf, T_MOVW_IMM16(r, imm & 0xffff)); + return out_16x2(codebuf, T_MOVT_IMM16(r, imm >> 16)); + } + J_Unimplemented(); +} + +int load_store_reg_no_wb(CodeBuf *codebuf, u32 op, Reg xfer, Reg base, Reg offset, + u32 shift, int pre) +{ + if (pre) { + if (xfer < ARM_R8 && base < ARM_R8 && offset < ARM_R8) { + if (ThumbEE) { + if ((shift == 0 && LS_IS_BYTE(op)) || (shift == 1 && LS_IS_HW(op)) || + (shift == 2 && LS_IS_WORD(op))) + return out_16(codebuf, T1_LDR_STR_REG(T1_LS_OP(op), xfer, base, offset)); + } else if (shift == 0) + return out_16(codebuf, T1_LDR_STR_REG(T1_LS_OP(op), xfer, base, offset)); + } + if (shift < 4) + return out_16x2(codebuf, T2_LDR_STR_REG(T2_LS_OP(op), xfer, base, offset, shift)); + } + J_Unimplemented(); +} + +static int add_reg(CodeBuf *codebuf, u32 dst, u32 lho, u32 rho); + +int load_store_reg(CodeBuf *codebuf, u32 op, Reg xfer, Reg base, Reg offset, + u32 shift, int pre, int wb) +{ + int rc = load_store_reg_no_wb(codebuf, op, xfer, base, offset, shift, pre); + if (wb) { + return add_reg(codebuf, base, base, offset); + } + return rc; +} + +int str_reg(CodeBuf *codebuf, Reg src, Reg base, Reg offset, u32 shift, int pre, int wb) +{ + return load_store_reg(codebuf, LS_STR, src, base, offset, shift, pre, wb); +} + +int ldr_reg(CodeBuf *codebuf, Reg dst, Reg base, Reg offset, u32 shift, int pre, int wb) +{ + return load_store_reg(codebuf, LS_LDR, dst, base, offset, shift, pre, wb); +} + +int strb_reg(CodeBuf *codebuf, Reg src, Reg base, Reg offset, u32 shift, int pre, int wb) +{ + return load_store_reg(codebuf, LS_STRB, src, base, offset, shift, pre, wb); +} + +int ldrb_reg(CodeBuf *codebuf, Reg dst, Reg base, Reg offset, u32 shift, int pre, int wb) +{ + return load_store_reg(codebuf, LS_LDRB, dst, base, offset, shift, pre, wb); +} + +int strh_reg(CodeBuf *codebuf, Reg src, Reg base, Reg offset, u32 shift, int pre, int wb) +{ + return load_store_reg(codebuf, LS_STRH, src, base, offset, shift, pre, wb); +} + +int ldrh_reg(CodeBuf *codebuf, Reg dst, Reg base, Reg offset, u32 shift, int pre, int wb) +{ + return load_store_reg(codebuf, LS_LDRH, dst, base, offset, shift, pre, wb); +} + +int ldrsh_reg(CodeBuf *codebuf, Reg dst, Reg base, Reg offset, u32 shift, int pre, int wb) +{ + return load_store_reg(codebuf, LS_LDRSH, dst, base, offset, shift, pre, wb); +} + +int ldrsb_reg(CodeBuf *codebuf, Reg dst, Reg base, Reg offset, u32 shift, int pre, int wb) +{ + return load_store_reg(codebuf, LS_LDRSB, dst, base, offset, shift, pre, wb); +} + +int ldrex_imm(CodeBuf *codebuf, Reg dst, Reg base, unsigned offset) +{ + if (Thumb2) { + if ((offset & 3) == 0 && offset < 256 * 4) { + return out_16x2(codebuf, T_LDREX(dst, base, offset)); + } + } + J_Unimplemented(); +} + +int strex_imm(CodeBuf *codebuf, Reg dst, Reg src, Reg base, unsigned offset) +{ + if (Thumb2) { + if ((offset & 3) == 0 && offset < 256 * 4) { + return out_16x2(codebuf, T_STREX(dst, src, base, offset)); + } + } + J_Unimplemented(); +} + +int str_imm(CodeBuf *codebuf, Reg src, Reg base, int offset, int pre, int wb) +{ + unsigned uoff; + + if (!pre && !wb) pre = 1, offset = 0; + uoff = (unsigned)offset; + if (Thumb2) { + if (pre && !wb && offset >= 0) { + if (base < ARM_R8 && src < ARM_R8 && uoff < 128 && (uoff & 3) == 0) + return out_16(codebuf, T_STR_IMM5(src, base, uoff>>2)); + if (base == ARM_SP && src < ARM_R8 && uoff < 1024 && (uoff &3) ==0) + return out_16(codebuf, T_STR_SP_IMM8(src, uoff>>2)); + if (ThumbEE && base == ARM_R9 && src < ARM_R8 && uoff < 256 && (uoff & 3) == 0) + return out_16(codebuf, E_STR_IMM6(src, uoff>>2)); + if (uoff < (1 << 12)) + return out_16x2(codebuf, T_STR_IMM12(src, base, uoff)); + } else if (offset < 256 && offset > -256) + return out_16x2(codebuf, T_STR_IMM8(src, base, offset, pre, wb)); + JASSERT(base != ARM_IP && src != ARM_IP, "src or base == IP in str_imm"); + mov_imm(codebuf, ARM_IP, offset); + return str_reg(codebuf, src, base, ARM_IP, 0, pre, wb); + } + J_Unimplemented(); +} + +int ldr_imm(CodeBuf *codebuf, Reg dst, Reg base, int offset, int pre, int wb) +{ + unsigned uoff; + + if (!pre && !wb) pre = 1, offset = 0; + uoff = (unsigned)offset; + if (Thumb2) { + if (pre && !wb && offset >= 0) { + if (base < ARM_R8 && dst < ARM_R8 && uoff < 128 && (uoff & 3) ==0) + return out_16(codebuf, T_LDR_IMM5(dst, base, uoff>>2)); + if (base == ARM_SP && dst < ARM_R8 && uoff < 1024 & (uoff & 3) == 0) + return out_16(codebuf, T_LDR_SP_IMM8(dst, uoff>>2)); + if (ThumbEE && base == ARM_R9 && dst < ARM_R8 && uoff < 256 && (uoff & 3) == 0) + return out_16(codebuf, E_LDR_IMM6(dst, uoff>>2)); + if (ThumbEE && base == ARM_R10 && dst < ARM_R8 && uoff < 128 && (uoff & 3) == 0) + return out_16(codebuf, E_LDR_IMM5(dst, uoff>>2)); + if (uoff < (1 << 12)) + return out_16x2(codebuf, T_LDR_IMM12(dst, base, uoff)); + } else { + if (ThumbEE && pre && !wb && offset <= 0 && offset > -32 && (uoff & 3) == 0 && + base < ARM_R8 && dst < ARM_R8) + return out_16(codebuf, E_LDR_IMM3(dst, base, -offset >> 2)); + if (offset < 256 && offset > -256) + return out_16x2(codebuf, T_LDR_IMM8(dst, base, offset, pre, wb)); + } + JASSERT(base != ARM_IP, "base == IP in ldr_imm"); + mov_imm(codebuf, ARM_IP, offset); + return ldr_reg(codebuf, dst, base, ARM_IP, 0, pre, wb); + } + J_Unimplemented(); +} + +int strb_imm(CodeBuf *codebuf, Reg src, Reg base, int offset, int pre, int wb) +{ + unsigned uoff; + + if (!pre && !wb) pre = 1, offset = 0; + uoff = (unsigned)offset; + if (Thumb2) { + if (pre && !wb && offset >= 0) { + if (base < ARM_R8 && src < ARM_R8 && uoff < 32) + return out_16(codebuf, T_STRB_IMM5(src, base, uoff)); + if (uoff < (1 << 12)) + return out_16x2(codebuf, T_STRB_IMM12(src, base, uoff)); + } else if (offset < 256 && offset > -256) + return out_16x2(codebuf, T_STRB_IMM8(src, base, offset, pre, wb)); + JASSERT(base != ARM_IP && src != ARM_IP, "src or base == IP in str_imm"); + mov_imm(codebuf, ARM_IP, offset); + return strb_reg(codebuf, src, base, ARM_IP, 0, pre, wb); + } + J_Unimplemented(); +} + +int ldrb_imm(CodeBuf *codebuf, Reg dst, Reg base, int offset, int pre, int wb) +{ + unsigned uoff; + + if (!pre && !wb) pre = 1, offset = 0; + uoff = (unsigned)offset; + if (Thumb2) { + if (pre && !wb && offset >= 0) { + if (base < ARM_R8 && dst < ARM_R8 && uoff < 32) + return out_16(codebuf, T_LDRB_IMM5(dst, base, uoff)); + if (uoff < (1 << 12)) + return out_16x2(codebuf, T_LDRB_IMM12(dst, base, uoff)); + } else if (offset < 256 && offset > -256) + return out_16x2(codebuf, T_LDRB_IMM8(dst, base, offset, pre, wb)); + JASSERT(base != ARM_IP, "base == IP in ldr_imm"); + mov_imm(codebuf, ARM_IP, offset); + return ldrb_reg(codebuf, dst, base, ARM_IP, 0, pre, wb); + } + J_Unimplemented(); +} + +int strh_imm(CodeBuf *codebuf, Reg src, Reg base, int offset, int pre, int wb) +{ + unsigned uoff; + + if (!pre && !wb) pre = 1, offset = 0; + uoff = (unsigned)offset; + if (Thumb2) { + if (pre && !wb && offset >= 0) { + if (base < ARM_R8 && src < ARM_R8 && uoff < 64 && (uoff & 1) == 0) + return out_16(codebuf, T_STRH_IMM5(src, base, uoff>>1)); + if (uoff < (1 << 12)) + return out_16x2(codebuf, T_STRH_IMM12(src, base, uoff)); + } else if (offset < 256 && offset > -256) + return out_16x2(codebuf, T_STRH_IMM8(src, base, offset, pre, wb)); + JASSERT(base != ARM_IP && src != ARM_IP, "src or base == IP in str_imm"); + mov_imm(codebuf, ARM_IP, offset); + return strh_reg(codebuf, src, base, ARM_IP, 0, pre, wb); + } + J_Unimplemented(); +} + +int ldrh_imm(CodeBuf *codebuf, Reg dst, Reg base, int offset, int pre, int wb) +{ + unsigned uoff; + + if (!pre && !wb) pre = 1, offset = 0; + uoff = (unsigned)offset; + if (Thumb2) { + if (pre && !wb && offset >= 0) { + if (base < ARM_R8 && dst < ARM_R8 && uoff < 64 && (uoff & 1) == 0) + return out_16(codebuf, T_LDRH_IMM5(dst, base, uoff>>1)); + if (uoff < (1 << 12)) + return out_16x2(codebuf, T_LDRH_IMM12(dst, base, uoff)); + } else if (offset < 256 && offset > -256) + return out_16x2(codebuf, T_LDRH_IMM8(dst, base, offset, pre, wb)); + JASSERT(base != ARM_IP, "base == IP in ldr_imm"); + mov_imm(codebuf, ARM_IP, offset); + return ldrh_reg(codebuf, dst, base, ARM_IP, 0, pre, wb); + } + J_Unimplemented(); +} + +int ldrsh_imm(CodeBuf *codebuf, Reg dst, Reg base, int offset, int pre, int wb) +{ + unsigned uoff; + + if (!pre && !wb) pre = 1, offset = 0; + uoff = (unsigned)offset; + if (Thumb2) { + if (pre && !wb && offset >= 0) { + if (uoff < (1 << 12)) + return out_16x2(codebuf, T_LDRSH_IMM12(dst, base, uoff)); + } else if (offset < 256 && offset > -256) + return out_16x2(codebuf, T_LDRSH_IMM8(dst, base, offset, pre, wb)); + JASSERT(base != ARM_IP, "base == IP in ldr_imm"); + mov_imm(codebuf, ARM_IP, offset); + return ldrsh_reg(codebuf, dst, base, ARM_IP, 0, pre, wb); + } + J_Unimplemented(); +} + +int ldrsb_imm(CodeBuf *codebuf, Reg dst, Reg base, int offset, int pre, int wb) +{ + unsigned uoff; + + if (!pre && !wb) pre = 1, offset = 0; + uoff = (unsigned)offset; + if (Thumb2) { + if (pre && !wb && offset >= 0) { + if (uoff < (1 << 12)) + return out_16x2(codebuf, T_LDRSB_IMM12(dst, base, uoff)); + } else if (offset < 256 && offset > -256) + return out_16x2(codebuf, T_LDRSB_IMM8(dst, base, offset, pre, wb)); + JASSERT(base != ARM_IP, "base == IP in ldr_imm"); + mov_imm(codebuf, ARM_IP, offset); + return ldrsb_reg(codebuf, dst, base, ARM_IP, 0, pre, wb); + } + J_Unimplemented(); +} + +int add_imm(CodeBuf *codebuf, u32 dst, u32 src, u32 imm); + +int ldrd_imm(CodeBuf *codebuf, Reg dst_lo, Reg dst_hi, Reg base, int offset, int pre, int wb) +{ + unsigned uoff; + + if (!pre && !wb) pre = 1, offset = 0; + uoff = (unsigned)offset; + if (Thumb2) { + if (offset < 256 * 4 && offset > -256 * 4 && (offset & 3) == 0) + return out_16x2(codebuf, T_LDRD_IMM(dst_lo, dst_hi, base, offset>>2, pre, wb)); + if (pre && !wb) { + add_imm(codebuf, ARM_IP, base, offset); + return out_16x2(codebuf, T_LDRD_IMM(dst_lo, dst_hi, ARM_IP, 0, 1, 0)); + } + } + J_Unimplemented(); +} + +int strd_imm(CodeBuf *codebuf, Reg src_lo, Reg src_hi, Reg base, int offset, int pre, int wb) +{ + unsigned uoff; + + if (!pre && !wb) pre = 1, offset = 0; + uoff = (unsigned)offset; + if (Thumb2) { + if (offset < 256 * 4 && offset > -256 * 4 && (offset & 3) == 0) + return out_16x2(codebuf, T_STRD_IMM(src_lo, src_hi, base, offset>>2, pre, wb)); + if (pre && !wb) { + add_imm(codebuf, ARM_IP, base, offset); + return out_16x2(codebuf, T_STRD_IMM(src_lo, src_hi, ARM_IP, 0, 1, 0)); + } + } + J_Unimplemented(); +} + +int stm(CodeBuf *codebuf, u32 regset, u32 base, u32 st, u32 wb) +{ + JASSERT(regset != 0, "regset != 0 in stm"); + if (Thumb2) { + if (!ThumbEE && base < ARM_R8 && (regset & ~0xff) == 0 && st == IA && wb) + return out_16(codebuf, T_STM8(base, regset)); + if (base == ARM_SP) { + if ((regset & ~0x40ff) == 0 && st == DB && wb) + return out_16(codebuf, T_PUSH(regset)); + } + if ((regset & -regset) == regset) + return str_imm(codebuf, LOG2(regset), base, (st & 1) ? 4 : -4, (st & 2) >> 1, wb); + if (st == PUSH_EA || st == PUSH_FD) + return out_16x2(codebuf, T_STM16(base, regset, st, wb)); + return out_16x2(codebuf, T_STM16(base, regset, st, wb)); + } + J_Unimplemented(); +} + +int ldm(CodeBuf *codebuf, u32 regset, u32 base, u32 st, u32 wb) +{ + JASSERT(regset != 0, "regset != 0 in stm"); + if (Thumb2) { + if (!ThumbEE && base < ARM_R8 && (regset & ~0xff) == 0 && st == IA && wb) + return out_16(codebuf, T_LDM8(base, regset)); + if (base == ARM_SP) { + if ((regset & ~0x80ff) == 0 && st == IA && wb) + return out_16(codebuf, T_POP(regset)); + } + if ((regset & -regset) == regset) + return ldr_imm(codebuf, LOG2(regset), base, (st & 1) ? 4 : -4, (st & 2) >> 1, wb); + if (st == POP_EA || st == POP_FD) + return out_16x2(codebuf, T_LDM16(base, regset, st, wb)); + } + J_Unimplemented(); +} + +int dop_reg(CodeBuf *codebuf, u32 op, u32 dst, u32 lho, u32 rho, u32 sh_typ, u32 shift) +{ + unsigned s = 0; + if (op != DP_MUL) s = 1 << 20; +// JASSERT(dst != ARM_PC, "Terrible things happen if dst == PC && S bit set"); + return out_16x2(codebuf, T_DOP_REG(DP_REG(op)|s, dst, lho, rho, sh_typ, shift)); +} + +int dop_reg_preserve(CodeBuf *codebuf, u32 op, u32 dst, u32 lho, u32 rho, u32 sh_typ, u32 shift) +{ + return out_16x2(codebuf, T_DOP_REG(DP_REG(op), dst, lho, rho, sh_typ, shift)); +} + +int sxtb(CodeBuf *codebuf, u32 dst, u32 src) +{ + if (dst < ARM_R8 && src < ARM_R8) + return out_16(codebuf, T_SXTB(dst, src)); + return out_16x2(codebuf, T2_SXTB(dst, src)); +} + +int sxth(CodeBuf *codebuf, u32 dst, u32 src) +{ + if (dst < ARM_R8 && src < ARM_R8) + return out_16(codebuf, T_SXTH(dst, src)); + return out_16x2(codebuf, T2_SXTH(dst, src)); +} + +int uxth(CodeBuf *codebuf, u32 dst, u32 src) +{ + if (dst < ARM_R8 && src < ARM_R8) + return out_16(codebuf, T_UXTH(dst, src)); + return out_16x2(codebuf, T2_UXTH(dst, src)); +} + +int mov_reg(CodeBuf *codebuf, u32 dst, u32 src) +{ + if (dst == src) return 0; + if (dst == ARM_PC) return out_16(codebuf, T_BX(src)); + return out_16(codebuf, T_MOV(dst, src)); +// return dop_reg(codebuf, DP_MOV, dst, 0, src, SHIFT_LSL, 0); +} + +int mvn_reg(CodeBuf *codebuf, u32 dst, u32 src) +{ + if (dst < ARM_R8 && src < ARM_R8) + return out_16(codebuf, T_MVN(dst, src)); + return dop_reg(codebuf, DP_MVN, dst, 0, src, SHIFT_LSL, 0); +} + +int vmov_reg_s_toVFP(CodeBuf *codebuf, u32 dst, u32 src) +{ + return out_16x2(codebuf, T_VMOVS_TOVFP(dst, src)); +} + +int vmov_reg_s_toARM(CodeBuf *codebuf, u32 dst, u32 src) +{ + return out_16x2(codebuf, T_VMOVS_TOARM(dst, src)); +} + +int vmov_reg_d_toVFP(CodeBuf *codebuf, u32 dst, u32 src_lo, u32 src_hi) +{ + return out_16x2(codebuf, T_VMOVD_TOVFP(dst, src_lo, src_hi)); +} + +int vmov_reg_d_toARM(CodeBuf *codebuf, u32 dst_lo, u32 dst_hi, u32 src) +{ + return out_16x2(codebuf, T_VMOVD_TOARM(dst_lo, dst_hi, src)); +} + +int vop_reg_s(CodeBuf *codebuf, u32 op, u32 dst, u32 lho, u32 rho) +{ + return out_16x2(codebuf, T_VOP_REG_S(VP_REG(op), dst, lho, rho)); +} + +int vop_reg_d(CodeBuf *codebuf, u32 op, u32 dst, u32 lho, u32 rho) +{ + return out_16x2(codebuf, T_VOP_REG_D(VP_REG(op), dst, lho, rho)); +} + +int vcmp_reg_s(CodeBuf *codebuf, u32 lho, u32 rho, unsigned e) +{ + return out_16x2(codebuf, T_VCMP_S(lho, rho, e)); +} + +int vcmp_reg_d(CodeBuf *codebuf, u32 lho, u32 rho, unsigned e) +{ + return out_16x2(codebuf, T_VCMP_D(lho, rho, e)); +} + +int vmrs(CodeBuf *codebuf, u32 dst) +{ + return out_16x2(codebuf, T_VMRS(dst)); +} + +int add_reg(CodeBuf *codebuf, u32 dst, u32 lho, u32 rho) +{ + return dop_reg(codebuf, DP_ADD, dst, lho, rho, SHIFT_LSL, 0); +} + +int cmp_reg(CodeBuf *codebuf, Reg lho, Reg rho) +{ + if (lho < ARM_R8 && rho < ARM_R8) + return out_16(codebuf, T_CMP_REG(lho, rho)); + return dop_reg(codebuf, DP_CMP, 0x0f, lho, rho, SHIFT_LSL, 0); +} + +int add_reg_shift(CodeBuf *codebuf, u32 dst, u32 lho, u32 rho, u2 sh_typ, u32 shift) +{ + return dop_reg(codebuf, DP_ADD, dst, lho, rho, sh_typ, shift); +} + +int add_imm(CodeBuf *codebuf, u32 dst, u32 src, u32 imm) +{ + int imm_type, rol; + + if (imm == 0) return mov_reg(codebuf, dst, src); + if (Thumb2) { + if (dst < ARM_R8 && src < ARM_R8) { + if (imm < 8) + return out_16(codebuf, T1_ADD_IMM(dst, src, imm)); + if (-imm < 8) + return out_16(codebuf, T1_SUB_IMM(dst, src, -imm)); + if (src == dst) { + if (imm < 256) + return out_16(codebuf, T2_ADD_IMM(src, imm)); + if (-imm < 256) + return out_16(codebuf, T2_SUB_IMM(src, -imm)); + } + } + imm_type = thumb_bytelane(imm); + if (imm_type >= 0) { + if (imm_type == 2) imm >>= 8; + return out_16x2(codebuf, T3_ADD_BYTELANE(dst, src, imm_type, (imm & 0xff))); + } + imm_type = thumb_bytelane(-imm); + if (imm_type >= 0) { + imm = -imm; + if (imm_type == 2) imm >>= 8; + return out_16x2(codebuf, T3_SUB_BYTELANE(dst, src, imm_type, (imm & 0xff))); + } + rol = thumb_single_shift(imm); + if (rol >= 0) + return out_16x2(codebuf, T3_ADD_ROT_IMM(dst, src, rol, ROL(imm, rol))); + rol = thumb_single_shift(-imm); + if (rol >= 0) + return out_16x2(codebuf, T3_SUB_ROT_IMM(dst, src, rol, ROL(-imm, rol))); + if (imm < (1 << 12)) + return out_16x2(codebuf, T4_ADD_IMM(dst, src, imm)); + if (-imm < (1 << 12)) + return out_16x2(codebuf, T4_SUB_IMM(dst, src, -imm)); + mov_imm(codebuf, ARM_IP, imm); + return add_reg(codebuf, dst, src, ARM_IP); + } + J_Unimplemented(); +} + +int sub_imm(CodeBuf *codebuf, u32 dst, u32 src, u32 imm) +{ + return add_imm(codebuf, dst, src, -imm); +} + +int dop_imm_s(CodeBuf *codebuf, u32 op, u32 dst, u32 src, u32 imm, unsigned s) +{ + int imm_type, rol; + unsigned n_op, n_imm; + + JASSERT(op == DP_ADC || op == DP_ADD || op == DP_AND || op == DP_BIC || op == DP_CMN || + op == DP_CMP || op == DP_EOR || op == DP_MOV || op == DP_MVN || + op == DP_ORN || op == DP_ORR || op == DP_RSB || op == DP_SBC || + op == DP_SUB || op == DP_TEQ || op == DP_TST, "bad op"); + if (op == DP_CMP || op == DP_CMN || op == DP_TEQ || op == DP_TST) dst = 0x0f; + if (op == DP_MOV || op == DP_MVN) src = 0x0f; + imm_type = thumb_bytelane(imm); + if (imm_type >= 0) { + if (imm_type == 2) imm >>= 8; + return out_16x2(codebuf, T_DOP_BYTELANE(DP_IMM(op)|s, dst, src, imm_type, (imm & 0xff))); + } + rol = thumb_single_shift(imm); + if (rol >= 0) + return out_16x2(codebuf, T_DOP_ROT_IMM(DP_IMM(op)|s, dst, src, rol, ROL(imm, rol))); + n_op = N_OP(op); + if (n_op != (unsigned)-1) { + n_imm = ~imm; + if (op == DP_ADD || op == DP_SUB || op == DP_CMP || op == DP_CMN) n_imm = -imm; + imm_type = thumb_bytelane(n_imm); + if (imm_type >= 0) { + if (imm_type == 2) n_imm >>= 8; + return out_16x2(codebuf, T_DOP_BYTELANE(DP_IMM(n_op)|s, dst, src, imm_type, (n_imm & 0xff))); + } + rol = thumb_single_shift(n_imm); + if (rol >= 0) + return out_16x2(codebuf, T_DOP_ROT_IMM(DP_IMM(n_op)|s, dst, src, rol, ROL(n_imm, rol))); + } + mov_imm(codebuf, ARM_IP, imm); + return out_16x2(codebuf, T_DOP_REG(DP_REG(op)|s, dst, src, ARM_IP, SHIFT_LSL, 0)); +} + +int dop_imm(CodeBuf *codebuf, u32 op, u32 dst, u32 src, u32 imm) +{ + return dop_imm_s(codebuf, op, dst, src, imm, 1<<20); +} + +int dop_imm_preserve(CodeBuf *codebuf, u32 op, u32 dst, u32 src, u32 imm) +{ + return dop_imm_s(codebuf, op, dst, src, imm, 0); +} + +int shift_imm(CodeBuf *codebuf, u32 op, u32 dst, u32 src, u32 imm) +{ + imm &= 31; + if (imm == 0) + return mov_reg(codebuf, dst, src); + else + return out_16x2(codebuf, T_SHIFT_IMM(DP_IMM(op), dst, src, imm)); +} + +int rsb_imm(CodeBuf *codebuf, u32 dst, u32 src, u32 imm) +{ + if (dst < ARM_R8 && src < ARM_R8 && imm == 0) + return out_16(codebuf, T_NEG(dst, src)); + return dop_imm(codebuf, DP_RSB, dst, src, imm); +} + +int adc_imm(CodeBuf *codebuf, u32 dst, u32 src, u32 imm) +{ + return dop_imm(codebuf, DP_ADC, dst, src, imm); +} + +int asr_imm(CodeBuf *codebuf, u32 dst, u32 src, u32 imm) +{ + return shift_imm(codebuf, DP_ASR, dst, src, imm); +} + +int eor_imm(CodeBuf *codebuf, u32 dst, u32 src, u32 imm) +{ + return dop_imm(codebuf, DP_EOR, dst, src, imm); +} + +int and_imm(CodeBuf *codebuf, u32 dst, u32 src, u32 imm) +{ + return dop_imm(codebuf, DP_AND, dst, src, imm); +} + +int orr_imm(CodeBuf *codebuf, u32 dst, u32 src, u32 imm) +{ + return dop_imm(codebuf, DP_ORR, dst, src, imm); +} + +int cmp_imm(CodeBuf *codebuf, Reg src, u32 imm) +{ + if (src <= ARM_R8 && imm < 256) return out_16(codebuf, T_CMP_IMM(src, imm)); + return dop_imm(codebuf, DP_CMP, 0x0f, src, imm); +} + +int tst_imm(CodeBuf *codebuf, Reg src, u32 imm) +{ + return dop_imm(codebuf, DP_TST, 0x0f, src, imm); +} + +int hbl(CodeBuf *codebuf, unsigned handler) +{ + mov_imm(codebuf, ARM_IP, 0); + str_imm(codebuf, ARM_IP, ARM_IP, 0, 1, 0); +#if 0 + if ((Thumb2 && ThumbEE)) + return out_16(codebuf, T_HBL(handler)); + if (TESTING) + return mov_imm(codebuf, ARM_R8, handler); + J_Unimplemented(); +#endif +} + +#if 0 +int enter_leave(CodeBuf *codebuf, unsigned enter) +{ + if ((Thumb2 && ThumbEE)) + return out_16x2(codebuf, T_ENTER_LEAVE(enter)); + J_Unimplemented(); +} +#endif + +int tbh(CodeBuf *codebuf, Reg base, Reg idx) +{ + out_16x2(codebuf, T_TBH(base, idx)); +} + +int umull(CodeBuf *codebuf, u32 res_lo, u32 res_hi, u32 lho, u32 rho) +{ + return out_16x2(codebuf, T_UMULL(res_lo, res_hi, lho, rho)); +} + +int mla(CodeBuf *codebuf, u32 res, u32 lho, u32 rho, u32 a) +{ + return out_16x2(codebuf, T_MLA(res, lho, rho, a)); +} + +#define COND_EQ 0 +#define COND_NE 1 +#define COND_LT 2 +#define COND_GE 3 +#define COND_GT 4 +#define COND_LE 5 +#define COND_CS 6 +#define COND_CC 7 +#define COND_MI 8 +#define COND_PL 9 + +static unsigned conds[] = { + 0x0, + 0x1, + 0xb, + 0xa, + 0xc, + 0xd, + 0x2, + 0x3, + 0x4, + 0x5, +}; + +#define NEG_COND(cond) ((cond) ^ 1) + +#define T_B(uoff) (0xe000 | ((uoff) & 0x7ff)) +#define T_BW(uoff) (0xf0009000 | \ + (((uoff) & (1<<23)) << (26-23)) | \ + (((~(uoff) & (1<<22)) >> 22) ^ (((uoff) & (1<<23)) >> 23)) << 13 | \ + (((~(uoff) & (1<<21)) >> 21) ^ (((uoff) & (1<<23)) >> 23)) << 11 | \ + (((uoff) & 0x1ff800) << (16-11)) | \ + ((uoff) & 0x7ff)) +#define T_BL(uoff) (0xf000d000 | \ + (((uoff) & (1<<23)) << (26-23)) | \ + (((~(uoff) & (1<<22)) >> 22) ^ (((uoff) & (1<<23)) >> 23)) << 13 | \ + (((~(uoff) & (1<<21)) >> 21) ^ (((uoff) & (1<<23)) >> 23)) << 11 | \ + (((uoff) & 0x1ff800) << (16-11)) | \ + ((uoff) & 0x7ff)) +#define T_BLX(uoff) (0xf000c000 | \ + (((uoff) & (1<<23)) << (26-23)) | \ + (((~(uoff) & (1<<22)) >> 22) ^ (((uoff) & (1<<23)) >> 23)) << 13 | \ + (((~(uoff) & (1<<21)) >> 21) ^ (((uoff) & (1<<23)) >> 23)) << 11 | \ + (((uoff) & 0x1ff800) << (16-11)) | \ + ((uoff) & 0x7ff)) +#define T_BCC(cond, uoff) (0xd000 | (conds[cond] << 8) | ((uoff) & 0xff)) +#define T_BCCW(cond, uoff) (0xf0008000 | \ + (conds[cond] << 22) | \ + (((uoff) & (1<<19)) << (26-19)) | \ + (((uoff) & (1<<18)) >> (18-11)) | \ + (((uoff) & (1<<17)) >> (17-13)) | \ + (((uoff) & 0x1f800) << (16-11)) | \ + ((uoff) & 0x7ff)) +#define T_BLX_REG(r) (0x4780 | ((r) << 3)) +#define T_CBZ(r, uoff) (0xb100 | (((uoff) & 0x1f) << 3) | (((uoff) & 0x20) << (8-5)) | ((r) & 7)) +#define T_CBNZ(r, uoff) (0xb900 | (((uoff) & 0x1f) << 3) | (((uoff) & 0x20) << (8-5)) | ((r) & 7)) + +#define T_IT(cond, mask) (0xbf00 | (conds[cond] << 4) | (mask)) + +#define IT_MASK_T 8 + +#define PATCH(loc) do { \ + unsigned oldidx = codebuf->idx; \ + codebuf->idx = (loc) >> 1; \ + +#define HCTAP \ + codebuf->idx = oldidx; \ + } while (0) + +int forward_16(CodeBuf *codebuf) +{ + int loc = out_loc(codebuf); + out_16(codebuf, T_UNDEFINED_16); + return loc; +} + +int forward_32(CodeBuf *codebuf) +{ + int loc = out_loc(codebuf); + out_32(codebuf, T_UNDEFINED_32); + return loc; +} + +int it(CodeBuf *codebuf, unsigned cond, unsigned mask) +{ + return out_16(codebuf, T_IT(cond, mask)); +} + +void t2_bug_align(CodeBuf *codebuf) +{ + unsigned pc = (unsigned)&codebuf->codebuf[codebuf->idx]; + if ((pc & 0xffe) != 0xffe) return; + mov_reg(codebuf, ARM_R0, ARM_R0); +} + +void t2_bug_fix(CodeBuf *codebuf, int offset) +{ + unsigned pc = (unsigned)&codebuf->codebuf[codebuf->idx]; + if ((pc & 0xffe) != 0xffe) return; + if (offset >= 0 || offset < -(4096+4)) return; + mov_reg(codebuf, ARM_R0, ARM_R0); +} + +int branch_uncond(CodeBuf *codebuf, unsigned dest) +{ + unsigned loc = (codebuf->idx * 2) + 4; + int offset; + unsigned uoff; + + JASSERT((dest & 1) == 0 && (loc & 1) == 0, "unaligned code"); + dest >>= 1; + loc >>= 1; + offset = dest - loc; + if (offset >= -(1<<10) && offset < (1<<10)) { + uoff = offset; + return out_16(codebuf, T_B(uoff)); + } + t2_bug_fix(codebuf, offset); + if (offset >= -(1<<23) && offset < (1<<23)) { + uoff = offset; + return out_16x2(codebuf, T_BW(uoff)); + } + J_Unimplemented(); +} + +int branch_uncond_patch(CodeBuf *codebuf, unsigned loc, unsigned dest) +{ + int offset; + unsigned uoff; + unsigned oldidx; + int rc; + + oldidx = codebuf->idx; + codebuf->idx = loc >> 1; + loc += 4; + JASSERT((dest & 1) == 0 && (loc & 1) == 0, "unaligned code"); + dest >>= 1; + loc >>= 1; + offset = dest - loc; + t2_bug_fix(codebuf, offset); + if (offset >= -(1<<23) && offset < (1<<23)) { + uoff = offset & ((1<<24)-1); + rc = out_16x2(codebuf, T_BW(uoff)); + codebuf->idx = oldidx; + return rc; + } + J_Unimplemented(); +} + +int branch_narrow_patch(CodeBuf *codebuf, unsigned loc) +{ + int offset; + unsigned uoff; + unsigned oldidx; + unsigned dest; + int rc; + + dest = codebuf->idx * 2; + oldidx = codebuf->idx; + codebuf->idx = loc >> 1; + loc += 4; + JASSERT((dest & 1) == 0 && (loc & 1) == 0, "unaligned code"); + dest >>= 1; + loc >>= 1; + offset = dest - loc; + if (offset >= -(1<<10) && offset < (1<<10)) { + uoff = offset & ((1<<11)-1); + rc = out_16(codebuf, T_B(uoff)); + codebuf->idx = oldidx; + return rc; + } + J_Unimplemented(); +} + +int branch(CodeBuf *codebuf, unsigned cond, unsigned dest) +{ + unsigned loc = (codebuf->idx * 2) + 4; + int offset; + unsigned uoff; + + JASSERT((dest & 1) == 0 && (loc & 1) == 0, "unaligned code"); + dest >>= 1; + loc >>= 1; + offset = dest - loc; + if (offset >= -(1<<7) && offset < (1<<7)) { + uoff = offset; + return out_16(codebuf, T_BCC(cond, uoff)); + } + t2_bug_fix(codebuf, offset); + if (offset >= -(1<<19) && offset < (1<<19)) { + uoff = offset; + return out_16x2(codebuf, T_BCCW(cond, uoff)); + } + J_Unimplemented(); +} + +int bcc_patch(CodeBuf *codebuf, unsigned cond, unsigned loc) +{ + int offset; + unsigned uoff; + unsigned oldidx; + unsigned dest; + int rc; + + dest = codebuf->idx * 2; + oldidx = codebuf->idx; + codebuf->idx = loc >> 1; + loc += 4; + JASSERT((dest & 1) == 0 && (loc & 1) == 0, "unaligned code"); + dest >>= 1; + loc >>= 1; + offset = dest-loc; + if (offset >= -(1<<7) && offset < (1<<7)) { + uoff = offset; + rc = out_16(codebuf, T_BCC(cond, uoff)); + codebuf->idx = oldidx; + return rc; + } + J_Unimplemented(); +} + +int bl(CodeBuf *codebuf, unsigned dest) +{ + unsigned loc = (unsigned)&codebuf->codebuf[codebuf->idx] + 4; + int offset; + unsigned uoff; + + JASSERT((dest & 1) == 0 && (loc & 1) == 0, "unaligned code"); + dest >>= 1; + loc >>= 1; + offset = dest - loc; + t2_bug_fix(codebuf, offset); + if (offset >= -(1<<23) && offset < (1<<23)) { + uoff = offset; + return out_16x2(codebuf, T_BL(uoff)); + } + J_Unimplemented(); +} + +int blx(CodeBuf *codebuf, unsigned dest) +{ + unsigned loc = (unsigned)&codebuf->codebuf[codebuf->idx] + 4; + int offset; + unsigned uoff; + + JASSERT((dest & 3) == 0 && (loc & 1) == 0, "unaligned code"); + dest >>= 1; + loc >>= 1; + loc &= ~1; + offset = dest - loc; + t2_bug_fix(codebuf, offset); + if (offset >= -(1<<23) && offset < (1<<23)) { + uoff = offset; + return out_16x2(codebuf, T_BLX(uoff)); + } + J_Unimplemented(); +} + +int branch_patch(CodeBuf *codebuf, unsigned cond, unsigned loc, unsigned dest) +{ + int offset; + unsigned uoff; + unsigned oldidx; + int rc; + + oldidx = codebuf->idx; + codebuf->idx = loc >> 1; + loc += 4; + JASSERT((dest & 1) == 0 && (loc & 1) == 0, "unaligned code"); + dest >>= 1; + loc >>= 1; + offset = dest - loc; + t2_bug_fix(codebuf, offset); + if (offset >= -(1<<19) && offset < (1<<19)) { + uoff = offset & ((1<<20)-1); + rc = out_16x2(codebuf, T_BCCW(cond, uoff)); + codebuf->idx = oldidx; + return rc; + } + J_Unimplemented(); +} + +int blx_reg(CodeBuf *codebuf, Reg r) +{ + return out_16(codebuf, T_BLX_REG(r)); +} + +int cbz_patch(CodeBuf *codebuf, Reg r, unsigned loc) +{ + unsigned offset; + unsigned oldidx; + unsigned dest; + int rc; + + dest = codebuf->idx * 2; + oldidx = codebuf->idx; + codebuf->idx = loc >> 1; + loc += 4; + JASSERT((dest & 1) == 0 && (loc & 1) == 0, "unaligned code"); + dest >>= 1; + loc >>= 1; + offset = dest-loc; + if (r < ARM_R8 && offset < 64) { + rc = out_16(codebuf, T_CBZ(r, offset)); + codebuf->idx = oldidx; + return rc; + } + J_Unimplemented(); +} + +int cbnz_patch(CodeBuf *codebuf, Reg r, unsigned loc) +{ + unsigned offset; + unsigned oldidx; + unsigned dest; + int rc; + + dest = codebuf->idx * 2; + oldidx = codebuf->idx; + codebuf->idx = loc >> 1; + loc += 4; + JASSERT((dest & 1) == 0 && (loc & 1) == 0, "unaligned code"); + dest >>= 1; + loc >>= 1; + offset = dest-loc; + if (r < ARM_R8 && offset < 64) { + rc = out_16(codebuf, T_CBNZ(r, offset)); + codebuf->idx = oldidx; + return rc; + } + J_Unimplemented(); +} + +int chka(CodeBuf *codebuf, u32 size, u32 idx) +{ + cmp_reg(codebuf, idx, size); + it(codebuf, COND_CS, IT_MASK_T); + bl(codebuf, handlers[H_ARRAYBOUND]); +} + +//----------------------------------------------------------------------------------- + +void Thumb2_Push_Multiple(CodeBuf *codebuf, Reg *regs, unsigned nregs) +{ + unsigned regset = 0; + unsigned regmask; + unsigned i; + Reg r; + + JASSERT(nregs > 0, "nregs must be > 0"); + if (nregs == 1) { + str_imm(codebuf, regs[0], Rstack, -4, 1, 1); + return; + } + for (i = 0; i < nregs; i++) { + r = regs[i]; + if (!IS_ARM_INT_REG(r)) J_Unimplemented(); + regmask = 1<= (regset & -regset)) { + stm(codebuf, regset, Rstack, PUSH_FD, 1); + regset = 0; + } + regset |= regmask; + } + stm(codebuf, regset, Rstack, PUSH_FD, 1); +} + +void Thumb2_Pop_Multiple(CodeBuf *codebuf, Reg *regs, unsigned nregs) +{ + unsigned regset = 0; + unsigned regmask; + unsigned i; + Reg r; + + JASSERT(nregs > 0, "nregs must be > 0"); + if (nregs == 1) { + ldr_imm(codebuf, regs[0], Rstack, 4, 0, 1); + return; + } + i = nregs; + do { + i--; + r = regs[i]; + if (!IS_ARM_INT_REG(r)) J_Unimplemented(); + regmask = 1< 0); + ldm(codebuf, regset, Rstack, POP_FD, 1); +} + +#if 0 +int load_multiple(CodeBuf *codebuf, Reg base, Reg *regs, u32 nregs, u32 st, u32 wb) +{ + unsigned regset = 0; + unsigned regmask; + unsigned pre = 0; + int dir = 1; + unsigned u; + Reg r; + + if (st == IB || st == DB) pre = 4; + if (st == DA || st == DB) dir = -4; + JASSERT(nregs > 0, "nregs must be > 0"); + if (nregs == 1) + return ldr_imm(codebuf, regs[0], base, dir, pre, wb); + if (dir > 0) { + u = 0; + do { + r = regs[u]; + regmask = 1<= regset) { + if (!wb && base != ARM_IP) { + mov_reg(codebuf, ARM_IP, base); + base = ARM_IP; + } + ldm(codebuf, regset, base, st, 1); + regset = 0; + } + regset |= regmask; + } while (++u < nregs); + ldm(codebuf, regset, base, st, wb); + } else { + u = nregs; + do { + u--; + r = regs[u]; + regmask = 1< 0); + ldm(codebuf, regset, base, st, wb); + } +} +#endif + +int mov_multiple(CodeBuf *codebuf, Reg *dst, Reg *src, unsigned nregs) +{ + unsigned u, n, p; + unsigned smask = 0; + unsigned dmask = 0; + unsigned free_mask, free_reg; + + for (u = 0, n = 0; u < nregs; u++) { + JASSERT(dst[u] != ARM_IP, "mov_multiple cannot be used for ARM_IP"); + JASSERT(src[u] != ARM_IP, "mov_multiple cannot be used for ARM_IP"); + if (dst[u] != src[u]) { + dst[n] = dst[u]; + src[n++] = src[u]; + } + } + while (n) { + // Find a reg which is in the dst reg set but not the src reg set + smask = 0; + dmask = 0; + for (u = 0; u < n; u++) { + smask |= (1 << src[u]); + dmask |= (1 << dst[u]); + } + free_mask = dmask & ~smask; + if (!free_mask) { + // No such reg => must use IP + Reg r = dst[0]; + mov_reg(codebuf, ARM_IP, r); + for (u = 0; u < n; u++) { + if (src[u] == r) src[u] = ARM_IP; + } + smask ^= (1<stack[(jstack)->depth-1]) +#define TOSM1(jstack) ((jstack)->stack[(jstack)->depth-2]) +#define TOSM2(jstack) ((jstack)->stack[(jstack)->depth-3]) +#define TOSM3(jstack) ((jstack)->stack[(jstack)->depth-4]) + +#define POP(jstack) ((jstack)->stack[--(jstack)->depth]) +#define PUSH(jstack, r) ((jstack)->stack[(jstack)->depth++] = (r)) +#define SWAP(jstack) do { \ + Reg r = (jstack)->stack[(jstack)->depth-1]; \ + (jstack)->stack[(jstack)->depth-1] = (jstack)->stack[(jstack)->depth-2]; \ + (jstack)->stack[(jstack)->depth-2] = r; \ + } while (0) + +#define JSTACK_REG(jstack) jstack_reg(jstack) +#define JSTACK_PREFER(jstack, prefer) jstack_prefer(jstack, prefer) + +static const unsigned last_clear_bit[] = { + 3, // 0000 + 3, // 0001 + 3, // 0010 + 3, // 0011 + 3, // 0100 + 3, // 0101 + 3, // 0110 + 3, // 0111 + 2, // 1000 + 2, // 1001 + 2, // 1010 + 2, // 1011 + 1, // 1100 + 1, // 1101 + 0, // 1110 + 0, // 1111 +}; + +#define LAST_CLEAR_BIT(mask) last_clear_bit[mask] + +unsigned jstack_reg(Thumb2_Stack *jstack) +{ + unsigned *stack = jstack->stack; + unsigned depth = jstack->depth; + unsigned mask = 0; + unsigned r; + unsigned i; + + for (i = 0; i < depth; i++) mask |= 1 << stack[i]; + mask &= (1 << STACK_REGS) - 1; + JASSERT(mask != (1 << STACK_REGS) - 1, "No free reg in push"); + r = LAST_CLEAR_BIT(mask); + return r; +} + +unsigned jstack_prefer(Thumb2_Stack *jstack, Reg prefer) +{ + unsigned *stack = jstack->stack; + unsigned depth = jstack->depth; + unsigned mask = 0; + unsigned r; + unsigned i; + + for (i = 0; i < depth; i++) mask |= 1 << stack[i]; + mask &= (1 << STACK_REGS) - 1; + if ((prefer & ~mask) & 0x0f) mask |= (~prefer & ((1 << STACK_REGS) - 1)); + JASSERT(mask != (1 << STACK_REGS) - 1, "No free reg in push"); + r = LAST_CLEAR_BIT(mask); + return r; +} + +void Thumb2_Fill(Thumb2_Info *jinfo, unsigned required) +{ + Thumb2_Stack *jstack = jinfo->jstack; + unsigned *stack = jstack->stack; + unsigned depth = jstack->depth; + unsigned mask = 0; + unsigned tofill; + unsigned r, i; + + if (depth >= required) return; + tofill = required - depth; + for (i = depth; i > 0;) { + i--; + mask |= 1 << stack[i]; + stack[i+tofill] = stack[i]; + } + mask &= (1 << STACK_REGS) - 1; + for (i = 0; i < tofill; i++) { + JASSERT(mask != (1 << STACK_REGS) - 1, "Fill failed!!!"); + r = LAST_CLEAR_BIT(mask); + mask |= (1 << r); + stack[i] = r; + } + jstack->depth = depth + tofill; + Thumb2_Pop_Multiple(jinfo->codebuf, stack, tofill); +} + +static const unsigned bitcount[] = { + 0, // 0000 + 1, // 0001 + 1, // 0010 + 2, // 0011 + 1, // 0100 + 2, // 0101 + 2, // 0110 + 3, // 0111 + 1, // 1000 + 2, // 1001 + 2, // 1010 + 3, // 1011 + 2, // 1100 + 3, // 1101 + 3, // 1110 + 4, // 1111 +}; + +#define BITCOUNT(mask) bitcount[mask] + +// Thumb2_Spill:- +// required - ensure that at least this many registers are available +// exclude - bitmask, do not count these registers as available +// +// The no. of available regs (STACK_REGS) less the no. of registers in +// exclude must be >= the number required, otherwise this function loops! +// +// Typical usage is +// +// Thumb2_Spill(jinfo, 2, 0); // get 2 free regs +// r_res_lo = PUSH(jinfo->jstack, JSTACK_REG(jinfo->jstack)); +// r_res_hi = PUSH(jinfo->jstack, JSTACK_REG(jinfo->jstack)); +// +// Use the exclude mask when you do not want a subsequent call to +// JSTACK_REG to return a particular register or registers. This can +// be useful, for example, with long (64) bit operations. Eg. In the +// following we use it to ensure that the hi inputs are not clobbered +// by the lo result as part of the intermediate calculation. +// +// Thumb2_Fill(jinfo, 4); +// exclude = (1<codebuf, DP_ADD, res_lo, lho_lo, rho_lo, SHIFT_LSL, 0); +// dop_reg(jinfo->codebuf, DP_ADC, res_hi, lho_hi, rho_hi, SHIFT_LSL, 0); +// +void Thumb2_Spill(Thumb2_Info *jinfo, unsigned required, unsigned exclude) +{ + Thumb2_Stack *jstack = jinfo->jstack; + unsigned *stack = jstack->stack; + unsigned depth = jstack->depth; + unsigned mask; + unsigned i; + unsigned tospill = 0; + + exclude &= (1 << STACK_REGS) - 1; + if (depth <= (STACK_REGS - required) && exclude == 0) return; + while (1) { + mask = 0; + for (i = tospill; i < depth; i++) mask |= 1 << stack[i]; + mask &= ((1 << STACK_REGS) - 1); + mask |= exclude; + if (STACK_REGS - BITCOUNT(mask) >= required) break; + tospill++; + } + if (tospill == 0) return; + Thumb2_Push_Multiple(jinfo->codebuf, stack, tospill); + for (i = tospill; i < depth; i++) + stack[i-tospill] = stack[i]; + jstack->depth = depth - tospill; + JASSERT((int)jstack->depth >= 0, "Stack underflow"); +} + +// Thumb2_Tmp:- +// Allocate a temp reg for use in local code generation. +// exclude is a bit mask of regs not to use. +// A max of 2 regs can be guaranteed (ARM_IP & ARM_LR) +// If allocating 2 regs you must include the reg you got the +// first time in the exclude list. Otherwise you just get +// the same reg again. +Reg Thumb2_Tmp(Thumb2_Info *jinfo, unsigned exclude) +{ + Thumb2_Stack *jstack = jinfo->jstack; + unsigned *stack = jstack->stack; + unsigned depth = jstack->depth; + unsigned mask; + unsigned i; + + mask = 0; + for (i = 0; i < depth; i++) mask |= 1 << stack[i]; + mask |= exclude; + for (i = 0; i < STACK_REGS; i++) + if ((mask & (1<jstack; + + if (jstack->depth > 0) + Thumb2_Push_Multiple(jinfo->codebuf, jstack->stack, jstack->depth); + jstack->depth = 0; +} + +// Call this when we are about to corrupt a local +// The local may already be on the stack +// For example +// iload 0 +// iconst 2 +// istore 0 +// istore 1 +// Without this check the code generated would be (r4 is local 0, r5 is local 1) +// mov r4, #2 +// mov r5, r4 +// With this check the code should be +// mov r3, r4 +// mov r4, #2 +// mov r5, r3 +// This is not ideal, but is better than the previous:-) +// +void Thumb2_Corrupt(Thumb2_Info *jinfo, unsigned r, unsigned ignore) +{ + Thumb2_Stack *jstack = jinfo->jstack; + unsigned *stack = jstack->stack; + unsigned depth = jstack->depth; + unsigned r_new, mask; + unsigned i; + + if (ignore >= depth) return; +// JASSERT(depth >= ignore, "Cant ignore more than the whole stack!!"); + if (IS_SREG(r)) return; + depth -= ignore; + for (i = 0; i < depth; i++) { + if (r == stack[i]) { + Thumb2_Spill(jinfo, 1, 0); + depth = jstack->depth - ignore; + r_new = JSTACK_REG(jstack); + mov_reg(jinfo->codebuf, r_new, r); + for (i = 0; i < depth; i++) if (r == stack[i]) stack[i] = r_new; + break; + } + } +} + +unsigned Thumb2_ResultLocal(Thumb2_Info *jinfo, unsigned bci) +{ + unsigned opc = jinfo->code_base[bci]; + if (jinfo->bc_stackinfo[bci] & BC_BRANCH_TARGET) return 0; + if (opc < opc_istore || opc > opc_astore_3) return 0; + if (opc == opc_istore || opc == opc_fstore || opc == opc_astore) + return jinfo->jregs->r_local[jinfo->code_base[bci+1]]; + if ((opc >= opc_istore_0 && opc <= opc_istore_3) || + (opc >= opc_fstore_0 && opc <= opc_fstore_3) || + (opc >= opc_astore_0 && opc <= opc_astore_3)) + return jinfo->jregs->r_local[(opc-opc_istore_0)&3]; + return 0; +} + +static const unsigned char dOps[] = { + DP_ADD, DP_ADC, VP_ADD, VP_ADD, + DP_SUB, DP_SBC, VP_SUB, VP_SUB, + DP_MUL, 0, VP_MUL, VP_MUL, + 0, 0, VP_DIV, VP_DIV, + 0, 0, 0, 0, + 0, 0, 0, 0, + DP_LSL, 0, + DP_ASR, 0, + DP_LSR, 0, + DP_AND, DP_AND, DP_ORR, DP_ORR, DP_EOR, DP_EOR, +}; + +unsigned Thumb2_Imm(Thumb2_Info *jinfo, unsigned imm, unsigned next_bci) +{ + Thumb2_Stack *jstack = jinfo->jstack; + unsigned r; + unsigned next_op; + + if (!(jinfo->bc_stackinfo[next_bci] & BC_BRANCH_TARGET)) { + next_op = jinfo->code_base[next_bci]; + if (next_op > OPC_LAST_JAVA_OP) { + if (Bytecodes::is_defined((Bytecodes::Code)next_op)) + next_op = (unsigned)Bytecodes::java_code((Bytecodes::Code)next_op); + } + switch (next_op) { + case opc_istore: + case opc_fstore: + case opc_astore: { + unsigned local = jinfo->code_base[next_bci+1]; + r = jinfo->jregs->r_local[local]; + if (r) { + Thumb2_Corrupt(jinfo, r, 0); + mov_imm(jinfo->codebuf, r, imm); + return 2; + } + break; + } + case opc_istore_0: + case opc_istore_1: + case opc_istore_2: + case opc_istore_3: + case opc_fstore_0: + case opc_fstore_1: + case opc_fstore_2: + case opc_fstore_3: + case opc_astore_0: + case opc_astore_1: + case opc_astore_2: + case opc_astore_3: { + unsigned local = (jinfo->code_base[next_bci]-opc_istore_0) & 3; + r = jinfo->jregs->r_local[local]; + if (r) { + Thumb2_Corrupt(jinfo, r, 0); + mov_imm(jinfo->codebuf, r, imm); + return 1; + } + break; + } + case opc_iadd: + case opc_isub: + case opc_ishl: + case opc_ishr: + case opc_iushr: + case opc_iand: + case opc_ior: + case opc_ixor: { + unsigned len = 0; + unsigned r_lho; + + Thumb2_Fill(jinfo, 1); + r_lho = POP(jstack); + + r = Thumb2_ResultLocal(jinfo, next_bci+1); + if (r) { + Thumb2_Corrupt(jinfo, r, 0); + len = Bytecodes::length_for((Bytecodes::Code)jinfo->code_base[next_bci+1]); + } else { + Thumb2_Spill(jinfo, 1, 0); + r = JSTACK_REG(jstack); + PUSH(jstack, r); + } + if (next_op == opc_ishl || next_op == opc_ishr || next_op == opc_iushr) + shift_imm(jinfo->codebuf, dOps[next_op-opc_iadd], r, r_lho, imm); + else + dop_imm(jinfo->codebuf, dOps[next_op-opc_iadd], r, r_lho, imm); + return 1+len; + } + + case opc_idiv: { + unsigned len = 0; + unsigned r_lho; + unsigned abs_imm = abs((int)imm); + + if ((imm & -imm) == abs_imm) { + unsigned l2_imm = LOG2(abs_imm); + unsigned r_lho; + + if (imm == 0) break; + if (imm == 1) return 1; + + Thumb2_Fill(jinfo, 1); + r_lho = POP(jstack); + + r = Thumb2_ResultLocal(jinfo, next_bci+1); + if (r) { + Thumb2_Corrupt(jinfo, r, 0); + len = Bytecodes::length_for((Bytecodes::Code)jinfo->code_base[next_bci+1]); + } else { + Thumb2_Spill(jinfo, 1, 0); + r = JSTACK_REG(jstack); + PUSH(jstack, r); + } + + if (abs_imm != 1) { + unsigned r_tmp = r_lho; + if (abs_imm != 2) { + r_tmp = Thumb2_Tmp(jinfo, (1<codebuf, r_tmp, r_lho, 31); + } + add_reg_shift(jinfo->codebuf, r, r_lho, r_tmp, SHIFT_LSR, 32-l2_imm); + asr_imm(jinfo->codebuf, r, r, l2_imm); + } + if ((int)imm < 0) + rsb_imm(jinfo->codebuf, r, r, 0); + return 1+len; + } + break; + } + } + } + Thumb2_Spill(jinfo, 1, 0); + r = JSTACK_REG(jstack); + PUSH(jstack, r); + mov_imm(jinfo->codebuf, r, imm); + return 0; +} + +void Thumb2_ImmX2(Thumb2_Info *jinfo, unsigned lo, unsigned hi) +{ + Thumb2_Stack *jstack = jinfo->jstack; + unsigned r_lo, r_hi; + + Thumb2_Spill(jinfo, 2, 0); + r_hi = PUSH(jstack, JSTACK_REG(jstack)); + r_lo = PUSH(jstack, JSTACK_REG(jstack)); + mov_imm(jinfo->codebuf, r_lo, lo); + mov_imm(jinfo->codebuf, r_hi, hi); +} + +#define LOCAL_OFFSET(local, stackdepth, nlocals) ((stackdepth)*4 + FRAME_SIZE + ((nlocals)-1-(local))*4) + +void load_local(Thumb2_Info *jinfo, Reg r, unsigned local, unsigned stackdepth) +{ +#ifdef USE_RLOCAL + ldr_imm(jinfo->codebuf, r, Rlocals, -local * 4, 1, 0); +#else + int nlocals = jinfo->method->max_locals(); + ldr_imm(jinfo->codebuf, r, Rstack, LOCAL_OFFSET(local, stackdepth, nlocals), 1, 0); +#endif +} + +void store_local(Thumb2_Info *jinfo, Reg r, unsigned local, unsigned stackdepth) +{ +#ifdef USE_RLOCAL + str_imm(jinfo->codebuf, r, Rlocals, -local << 2, 1, 0); +#else + int nlocals = jinfo->method->max_locals(); + str_imm(jinfo->codebuf, r, Rstack, LOCAL_OFFSET(local, stackdepth, nlocals), 1, 0); +#endif +} + +void Thumb2_Load(Thumb2_Info *jinfo, int local, unsigned stackdepth) +{ + Thumb2_Stack *jstack = jinfo->jstack; + unsigned r; + + r = jinfo->jregs->r_local[local]; + if (r) { + PUSH(jstack, r); + } else { + int nlocals = jinfo->method->max_locals(); + + Thumb2_Spill(jinfo, 1, 0); + JASSERT(stackdepth >= jstack->depth, "negative stack offset?"); + stackdepth -= jstack->depth; + if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); + r = JSTACK_REG(jstack); + PUSH(jstack, r); + load_local(jinfo, r, local, stackdepth); + } +} + +void Thumb2_LoadX2(Thumb2_Info *jinfo, int local, unsigned stackdepth) +{ + Thumb2_Stack *jstack = jinfo->jstack; + unsigned r_lo, r_hi; + int nlocals = jinfo->method->max_locals(); + + r_hi = jinfo->jregs->r_local[local]; + if (r_hi) { + r_lo = jinfo->jregs->r_local[local+1]; + if (r_lo) { + PUSH(jstack, r_hi); + PUSH(jstack, r_lo); + } else { + Thumb2_Spill(jinfo, 1, 0); + stackdepth -= jstack->depth; + if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); + PUSH(jstack, r_hi); + r_lo = PUSH(jstack, JSTACK_REG(jstack)); + load_local(jinfo, r_lo, local+1, stackdepth); + } + } else { + r_lo = jinfo->jregs->r_local[local+1]; + if (r_lo) { + Thumb2_Spill(jinfo, 1, 0); + stackdepth -= jstack->depth; + if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); + r_hi = PUSH(jstack, JSTACK_REG(jstack)); + load_local(jinfo, r_hi, local, stackdepth); + PUSH(jstack, r_lo); + } else { + Thumb2_Spill(jinfo, 2, 0); + stackdepth -= jstack->depth; + if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); + r_hi = PUSH(jstack, JSTACK_REG(jstack)); + r_lo = PUSH(jstack, JSTACK_REG(jstack)); + load_local(jinfo, r_hi, local, stackdepth); + load_local(jinfo, r_lo, local+1, stackdepth); + } + } +} + +void Thumb2_Store(Thumb2_Info *jinfo, int local, unsigned stackdepth) +{ + Thumb2_Stack *jstack = jinfo->jstack; + unsigned r, r_local; + int nlocals = jinfo->method->max_locals(); + + Thumb2_Fill(jinfo, 1); + stackdepth -= jstack->depth; + if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); + r = POP(jstack); + r_local = jinfo->jregs->r_local[local]; + if (r_local) { + Thumb2_Corrupt(jinfo, r_local, 0); + mov_reg(jinfo->codebuf, r_local, r); + } else { + store_local(jinfo, r, local, stackdepth); + } +} + +void Thumb2_StoreX2(Thumb2_Info *jinfo, int local, unsigned stackdepth) +{ + Thumb2_Stack *jstack = jinfo->jstack; + unsigned r_lo, r_hi; + unsigned r_local_lo, r_local_hi; + int nlocals = jinfo->method->max_locals(); + + Thumb2_Fill(jinfo, 2); + if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); + r_lo = POP(jstack); + r_hi = POP(jstack); + stackdepth -= 2; + + r_local_hi = jinfo->jregs->r_local[local]; + if (r_local_hi) { + Thumb2_Corrupt(jinfo, r_local_hi, 0); + mov_reg(jinfo->codebuf, r_local_hi, r_hi); + } else { + store_local(jinfo, r_hi, local, stackdepth-jstack->depth); + } + + r_local_lo = jinfo->jregs->r_local[local+1]; + if (r_local_lo) { + Thumb2_Corrupt(jinfo, r_local_lo, 0); + mov_reg(jinfo->codebuf, r_local_lo, r_lo); + } else { + store_local(jinfo, r_lo, local+1, stackdepth-jstack->depth); + } +} + +void Thumb2_Xaload(Thumb2_Info *jinfo, u32 opc) +{ + Thumb2_Stack *jstack = jinfo->jstack; + unsigned r_index, r_array, r_value; + unsigned op = opc - (unsigned)opc_iaload; + unsigned r_tmp; + + Thumb2_Fill(jinfo, 2); + r_index = POP(jstack); + r_array = POP(jstack); + Thumb2_Spill(jinfo, 1, 0); + r_tmp = Thumb2_Tmp(jinfo, (1<codebuf, r_tmp, r_array, 8, 1, 0); + chka(jinfo->codebuf, r_tmp, r_index); + if (opc == opc_baload) { + add_reg(jinfo->codebuf, r_tmp, r_array, r_index); + ldrsb_imm(jinfo->codebuf, r_value, r_tmp, 12, 1, 0); + } else if (opc == opc_caload) { + add_reg_shift(jinfo->codebuf, r_tmp, r_array, r_index, SHIFT_LSL, 1); + ldrh_imm(jinfo->codebuf, r_value, r_tmp, 12, 1, 0); + } else if (opc == opc_saload) { + add_reg_shift(jinfo->codebuf, r_tmp, r_array, r_index, SHIFT_LSL, 1); + ldrsh_imm(jinfo->codebuf, r_value, r_tmp, 12, 1, 0); + } else { + add_reg_shift(jinfo->codebuf, r_tmp, r_array, r_index, SHIFT_LSL, 2); + ldr_imm(jinfo->codebuf, r_value, r_tmp, 12, 1, 0); + } +} + +void Thumb2_X2aload(Thumb2_Info *jinfo) +{ + Thumb2_Stack *jstack = jinfo->jstack; + unsigned r_index, r_array, r_lo, r_hi; + unsigned r_tmp; + + Thumb2_Fill(jinfo, 2); + r_index = POP(jstack); + r_array = POP(jstack); + Thumb2_Spill(jinfo, 2, 0); + r_tmp = Thumb2_Tmp(jinfo, (1<codebuf, r_tmp, r_array, 8, 1, 0); + chka(jinfo->codebuf, r_tmp, r_index); + add_reg_shift(jinfo->codebuf, r_tmp, r_array, r_index, SHIFT_LSL, 3); + ldrd_imm(jinfo->codebuf, r_lo, r_hi, r_tmp, 16, 1, 0); +} + +void Thumb2_Xastore(Thumb2_Info *jinfo, u32 opc) +{ + Thumb2_Stack *jstack = jinfo->jstack; + unsigned r_value, r_index, r_array; + unsigned op = opc - (unsigned)opc_iastore; + unsigned r_tmp; + + Thumb2_Fill(jinfo, 3); + r_value = POP(jstack); + r_index = POP(jstack); + r_array = POP(jstack); + r_tmp = Thumb2_Tmp(jinfo, (1<codebuf, r_tmp, r_array, 8, 1, 0); + chka(jinfo->codebuf, r_tmp, r_index); + if (opc == opc_bastore) { + add_reg(jinfo->codebuf, r_tmp, r_array, r_index); + strb_imm(jinfo->codebuf, r_value, r_tmp, 12, 1, 0); + } else if (opc == opc_castore || opc == opc_sastore) { + add_reg_shift(jinfo->codebuf, r_tmp, r_array, r_index, SHIFT_LSL, 1); + strh_imm(jinfo->codebuf, r_value, r_tmp, 12, 1, 0); + } else { + add_reg_shift(jinfo->codebuf, r_tmp, r_array, r_index, SHIFT_LSL, 2); + str_imm(jinfo->codebuf, r_value, r_tmp, 12, 1, 0); + } +} + +void Thumb2_X2astore(Thumb2_Info *jinfo) +{ + Thumb2_Stack *jstack = jinfo->jstack; + unsigned r_lo, r_hi, r_index, r_array; + unsigned r_tmp; + + Thumb2_Fill(jinfo, 4); + r_lo = POP(jstack); + r_hi = POP(jstack); + r_index = POP(jstack); + r_array = POP(jstack); + r_tmp = Thumb2_Tmp(jinfo, (1<codebuf, r_tmp, r_array, 8, 1, 0); + chka(jinfo->codebuf, r_tmp, r_index); + add_reg_shift(jinfo->codebuf, r_tmp, r_array, r_index, SHIFT_LSL, 3); + strd_imm(jinfo->codebuf, r_lo, r_hi, r_tmp, 16, 1, 0); +} + +void Thumb2_Pop(Thumb2_Info *jinfo, unsigned n) +{ + Thumb2_Stack *jstack = jinfo->jstack; + + while (n > 0 && jstack->depth > 0) { + POP(jstack); + n--; + } + if (n > 0) add_imm(jinfo->codebuf, Rstack, Rstack, n * 4); +} + +void Thumb2_Dup(Thumb2_Info *jinfo, unsigned n) +{ + Thumb2_Stack *jstack = jinfo->jstack; + unsigned *stack = jstack->stack; + unsigned depth; + unsigned i; + + Thumb2_Fill(jinfo, n+1); + depth = jstack->depth; + for (i = 0; i <= n; i++) + stack[depth-i] = stack[depth-i-1]; + stack[depth-n-1] = stack[depth]; + jstack->depth = depth + 1; +} + +void Thumb2_Dup2(Thumb2_Info *jinfo, unsigned n) +{ + Thumb2_Stack *jstack = jinfo->jstack; + unsigned *stack = jstack->stack; + unsigned depth; + unsigned i; + + Thumb2_Fill(jinfo, n+2); + depth = jstack->depth; + for (i = 0; i <= n+1; i++) + stack[depth-i+1] = stack[depth-i-1]; + stack[depth-n-1] = stack[depth+1]; + stack[depth-n-2] = stack[depth]; + jstack->depth = depth + 2; +} + +void Thumb2_Swap(Thumb2_Info *jinfo) +{ + Thumb2_Stack *jstack = jinfo->jstack; + + Thumb2_Fill(jinfo, 2); + SWAP(jstack); +} + +void Thumb2_iOp(Thumb2_Info *jinfo, u32 opc) +{ + Thumb2_Stack *jstack = jinfo->jstack; + unsigned r_lho, r_rho, r; + + Thumb2_Fill(jinfo, 2); + r_rho = POP(jstack); + r_lho = POP(jstack); + Thumb2_Spill(jinfo, 1, 0); + r = JSTACK_REG(jstack); + PUSH(jstack, r); + dop_reg(jinfo->codebuf, dOps[opc-opc_iadd], r, r_lho, r_rho, 0, 0); +} + +void Thumb2_iNeg(Thumb2_Info *jinfo, u32 opc) +{ + Thumb2_Stack *jstack = jinfo->jstack; + unsigned r_src, r; + + Thumb2_Fill(jinfo, 1); + r_src = POP(jstack); + Thumb2_Spill(jinfo, 1, 0); + r = JSTACK_REG(jstack); + PUSH(jstack, r); + rsb_imm(jinfo->codebuf, r, r_src, 0); +} + +void Thumb2_lNeg(Thumb2_Info *jinfo, u32 opc) +{ + Thumb2_Stack *jstack = jinfo->jstack; + unsigned r_lo, r_hi, r_res_lo, r_res_hi; + unsigned r_tmp; + + Thumb2_Fill(jinfo, 2); + r_lo = POP(jstack); + r_hi = POP(jstack); + Thumb2_Spill(jinfo, 1, 0); + r_res_hi = PUSH(jstack, JSTACK_REG(jstack)); + Thumb2_Spill(jinfo, 1, (1<codebuf, r_res_lo, r_lo, 0); + r_tmp = Thumb2_Tmp(jinfo, (1<codebuf, r_tmp, 0); + dop_reg(jinfo->codebuf, DP_SBC, r_res_hi, r_tmp, r_hi, SHIFT_LSL, 0); +} + +void Thumb2_fNeg(Thumb2_Info *jinfo, u32 opc) +{ + Thumb2_Stack *jstack = jinfo->jstack; + unsigned r, r_result; + + Thumb2_Fill(jinfo, 1); + r = POP(jstack); + Thumb2_Spill(jinfo, 1, 0); + r_result = PUSH(jstack, JSTACK_REG(jstack)); + eor_imm(jinfo->codebuf, r_result, r, 0x80000000); +} + +void Thumb2_dNeg(Thumb2_Info *jinfo, u32 opc) +{ + Thumb2_Stack *jstack = jinfo->jstack; + unsigned r_lo, r_hi, r_res_lo, r_res_hi; + + Thumb2_Fill(jinfo, 2); + r_lo = POP(jstack); + r_hi = POP(jstack); + Thumb2_Spill(jinfo, 1, 0); + r_res_hi = PUSH(jstack, JSTACK_REG(jstack)); + Thumb2_Spill(jinfo, 1, (1<codebuf, r_res_lo, r_lo); + eor_imm(jinfo->codebuf, r_res_hi, r_hi, 0x80000000); +} + +void Thumb2_lOp(Thumb2_Info *jinfo, u32 opc) +{ + Thumb2_Stack *jstack = jinfo->jstack; + unsigned res_lo, res_hi; + unsigned lho_lo, lho_hi; + unsigned rho_lo, rho_hi; + + Thumb2_Fill(jinfo, 4); + rho_lo = POP(jstack); + rho_hi = POP(jstack); + lho_lo = POP(jstack); + lho_hi = POP(jstack); + Thumb2_Spill(jinfo, 1, 0); + res_hi = PUSH(jstack, JSTACK_REG(jstack)); + Thumb2_Spill(jinfo, 1, (1<codebuf, dOps[opc-opc_ladd], res_lo, lho_lo, rho_lo, SHIFT_LSL, 0); + dop_reg(jinfo->codebuf, dOps[opc-opc_ladd+1], res_hi, lho_hi, rho_hi, SHIFT_LSL, 0); +} + +void Thumb2_lmul(Thumb2_Info *jinfo) +{ + Thumb2_Stack *jstack = jinfo->jstack; + unsigned res_lo, res_hi; + unsigned lho_lo, lho_hi; + unsigned rho_lo, rho_hi; + unsigned r_tmp_lo, r_tmp_hi; + unsigned op_mask; + + Thumb2_Fill(jinfo, 4); + rho_lo = POP(jstack); + rho_hi = POP(jstack); + lho_lo = POP(jstack); + lho_hi = POP(jstack); + op_mask = (1<codebuf, r_tmp_lo, r_tmp_hi, rho_lo, lho_lo); + mla(jinfo->codebuf, r_tmp_hi, rho_lo, lho_hi, r_tmp_hi); + mla(jinfo->codebuf, res_hi, rho_hi, lho_lo, r_tmp_hi); + mov_reg(jinfo->codebuf, res_lo, r_tmp_lo); +} + +void Thumb2_fOp(Thumb2_Info *jinfo, u32 opc) +{ + Thumb2_Stack *jstack = jinfo->jstack; + unsigned rho, lho, res; + + Thumb2_Fill(jinfo, 2); + rho = POP(jstack); + lho = POP(jstack); + Thumb2_Spill(jinfo, 1, 0); + res = PUSH(jstack, JSTACK_REG(jstack)); + vmov_reg_s_toVFP(jinfo->codebuf, VFP_S0, lho); + vmov_reg_s_toVFP(jinfo->codebuf, VFP_S1, rho); + vop_reg_s(jinfo->codebuf, dOps[opc-opc_iadd], VFP_S0, VFP_S0, VFP_S1); + vmov_reg_s_toARM(jinfo->codebuf, res, VFP_S0); +} + +void Thumb2_dOp(Thumb2_Info *jinfo, u32 opc) +{ + Thumb2_Stack *jstack = jinfo->jstack; + unsigned rho_lo, rho_hi, lho_lo, lho_hi, res_lo, res_hi; + + Thumb2_Fill(jinfo, 4); + rho_lo = POP(jstack); + rho_hi = POP(jstack); + lho_lo = POP(jstack); + lho_hi = POP(jstack); + Thumb2_Spill(jinfo, 2, 0); + res_hi = PUSH(jstack, JSTACK_REG(jstack)); + res_lo = PUSH(jstack, JSTACK_REG(jstack)); + vmov_reg_d_toVFP(jinfo->codebuf, VFP_D0, lho_lo, lho_hi); + vmov_reg_d_toVFP(jinfo->codebuf, VFP_D1, rho_lo, rho_hi); + vop_reg_d(jinfo->codebuf, dOps[opc-opc_iadd], VFP_D0, VFP_D0, VFP_D1); + vmov_reg_d_toARM(jinfo->codebuf, res_lo, res_hi, VFP_D0); +} + +void Thumb2_Handler(Thumb2_Info *jinfo, unsigned handler, unsigned opcode, unsigned bci) +{ + mov_imm(jinfo->codebuf, ARM_R0, opcode); + mov_imm(jinfo->codebuf, ARM_R1, bci); + mov_imm(jinfo->codebuf, ARM_IP, 0); + str_imm(jinfo->codebuf, ARM_IP, ARM_IP, 0, 1, 0); +// hbl(jinfo->codebuf, handler); +} + +void Thumb2_Debug(Thumb2_Info *jinfo, unsigned handler) +{ +#if 0 + Thumb2_Flush(jinfo); + bl(jinfo->codebuf, handlers[handler]); +#endif +} + +void Thumb2_codegen(Thumb2_Info *jinfo, unsigned start); + +int Thumb2_Branch(Thumb2_Info *jinfo, unsigned bci, unsigned cond) +{ + int offset = GET_JAVA_S2(jinfo->code_base + bci + 1); + unsigned dest_taken = bci + offset; + unsigned dest_not_taken = bci + 3; + unsigned loc; + + if (jinfo->bc_stackinfo[dest_taken] & BC_COMPILED) { + branch(jinfo->codebuf, cond, jinfo->bc_stackinfo[dest_taken] & ~BC_FLAGS_MASK); + return dest_not_taken; + } + loc = forward_32(jinfo->codebuf); + Thumb2_codegen(jinfo, dest_not_taken); + JASSERT(jinfo->bc_stackinfo[dest_taken] & BC_COMPILED, "dest in branch not compiled!!!"); + branch_patch(jinfo->codebuf, cond, loc, jinfo->bc_stackinfo[dest_taken] & ~BC_FLAGS_MASK); + return -1; +} + +int Thumb2_Goto(Thumb2_Info *jinfo, unsigned bci, int offset, int len) +{ + unsigned dest_taken = bci + offset; + unsigned dest_not_taken = bci + len; + unsigned loc; + + if (jinfo->bc_stackinfo[dest_taken] & BC_COMPILED) { + branch_uncond(jinfo->codebuf, jinfo->bc_stackinfo[dest_taken] & ~BC_FLAGS_MASK); + return dest_not_taken; + } + loc = forward_32(jinfo->codebuf); + Thumb2_codegen(jinfo, dest_not_taken); + JASSERT(jinfo->bc_stackinfo[dest_taken] & BC_COMPILED, "dest in goto not compiled!!!"); + branch_uncond_patch(jinfo->codebuf, loc, jinfo->bc_stackinfo[dest_taken] & ~BC_FLAGS_MASK); + return -1; +} + +void Thumb2_Return(Thumb2_Info *jinfo, unsigned opcode) +{ + Reg r_lo, r; + Thumb2_Stack *jstack = jinfo->jstack; + + if (0 /*jinfo->compiled_return*/) { + unsigned bci = jinfo->compiled_return; + + JASSERT(jinfo->bc_stackinfo[bci] & BC_COMPILED, "return not compiled"); + JASSERT(jinfo->code_base[bci] == opcode, "type of return changed"); + branch_uncond(jinfo->codebuf, jinfo->bc_stackinfo[bci] & ~BC_FLAGS_MASK); + return; + } + + if (jinfo->method->is_synchronized()) { + unsigned loc_success1, loc_success2, loc_failed, loc_retry, loc_exception; + unsigned loc_illegal_monitor_state; + Thumb2_Flush(jinfo); +// Thumb2_save_locals(jinfo); + // Free the monitor + // + // sub r1, Ristate, #8 + // ldr r2, [r1, #4] + // cbz r2, throw_illegal_monitor_state + // ldr r0, [r1, #0] + // mov r3, #0 + // str r3, [r1, #4] + // cbz r0, success + // retry: + // ldrex r3, [r2, #0] + // cmp r1, r3 + // bne failed + // strex r3, r0, [r2, #0] + // cbz r3, success + // b retry + // failed: + // str r2, [r1, #4] + // ... + // success: + // + // JAZ_V1 == tmp2 + // JAZ_V2 == tmp1 + sub_imm(jinfo->codebuf, ARM_R1, Ristate, frame::interpreter_frame_monitor_size()*wordSize); + ldr_imm(jinfo->codebuf, ARM_R2, ARM_R1, 4, 1, 0); + loc_illegal_monitor_state = forward_16(jinfo->codebuf); + ldr_imm(jinfo->codebuf, ARM_R0, ARM_R1, 0, 1, 0); + mov_imm(jinfo->codebuf, ARM_R3, 0); + str_imm(jinfo->codebuf, ARM_R3, ARM_R1, 4, 1, 0); + loc_success1 = forward_16(jinfo->codebuf); + loc_retry = out_loc(jinfo->codebuf); + ldrex_imm(jinfo->codebuf, ARM_R3, ARM_R2, 0); + cmp_reg(jinfo->codebuf, ARM_R1, ARM_R3); + loc_failed = forward_16(jinfo->codebuf); + strex_imm(jinfo->codebuf, ARM_R3, ARM_R0, ARM_R2, 0); + loc_success2 = forward_16(jinfo->codebuf); + branch_uncond(jinfo->codebuf, loc_retry); + bcc_patch(jinfo->codebuf, COND_NE, loc_failed); + cbz_patch(jinfo->codebuf, ARM_R2, loc_illegal_monitor_state); + str_imm(jinfo->codebuf, ARM_R2, ARM_R1, 4, 1, 0); + mov_imm(jinfo->codebuf, ARM_R0, 0+CONSTMETHOD_CODEOFFSET); + bl(jinfo->codebuf, handlers[H_SYNCHRONIZED_EXIT]); + loc_exception = forward_16(jinfo->codebuf); + bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION]); + cbz_patch(jinfo->codebuf, ARM_R0, loc_exception); + cbz_patch(jinfo->codebuf, ARM_R0, loc_success1); + cbz_patch(jinfo->codebuf, ARM_R3, loc_success2); + } + + if (opcode != opc_return) { + if (opcode == opc_lreturn || opcode == opc_dreturn) { + Thumb2_Fill(jinfo, 2); + r_lo = POP(jstack); + r = POP(jstack); + } else { + Thumb2_Fill(jinfo, 1); + r = POP(jstack); + } + } + + mov_imm(jinfo->codebuf, ARM_LR, 0); + str_imm(jinfo->codebuf, ARM_LR, Rthread, THREAD_LAST_JAVA_SP, 1, 0); + ldr_imm(jinfo->codebuf, Rstack, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + ldr_imm(jinfo->codebuf, ARM_LR, Rstack, 0, 1, 0); + + if (opcode == opc_return) { + add_imm(jinfo->codebuf, Rstack, Rstack, jinfo->method->max_locals() * sizeof(int) + 4); + } else { + if (opcode == opc_lreturn || opcode == opc_dreturn) { + str_imm(jinfo->codebuf, r, Rstack, jinfo->method->max_locals() * sizeof(int), 1, 0); + str_imm(jinfo->codebuf, r_lo, Rstack, jinfo->method->max_locals() * sizeof(int)-4, 1, 1); + } else + str_imm(jinfo->codebuf, r, Rstack, jinfo->method->max_locals() * sizeof(int), 1, 1); + } + +// sub_imm(jinfo->codebuf, Ristate, ARM_LR, ISTATE_NEXT_FRAME); + str_imm(jinfo->codebuf, ARM_LR, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + str_imm(jinfo->codebuf, Rstack, Rthread, THREAD_JAVA_SP, 1, 0); + Thumb2_Debug(jinfo, H_DEBUG_METHODEXIT); +// enter_leave(jinfo->codebuf, 0); + ldm(jinfo->codebuf, C_REGSET + (1<method->max_locals(); + int i; + + JASSERT(jinfo->jstack->depth == 0, "stack not empty"); + if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); + for (i = 0; i < nlocals; i++) { + Reg r = jinfo->jregs->r_local[i]; + if (r) { + store_local(jinfo, r, i, stackdepth); + } + } +} +#endif + +void Thumb2_save_locals(Thumb2_Info *jinfo, unsigned stackdepth) +{ + int nlocals = jinfo->method->max_locals(); + unsigned *locals_info = jinfo->locals_info; + int i; + + JASSERT(jinfo->jstack->depth == 0, "stack not empty"); + if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); + for (i = 0; i < nlocals; i++) { + Reg r = jinfo->jregs->r_local[i]; + if (r) { + if ((locals_info[i] & (1 << LOCAL_REF)) && (locals_info[i] & (1 << LOCAL_MODIFIED))) { + store_local(jinfo, r, i, stackdepth); + } + } + } +} + +void Thumb2_restore_locals(Thumb2_Info *jinfo, unsigned stackdepth) +{ + int nlocals = jinfo->method->max_locals(); + unsigned *locals_info = jinfo->locals_info; + int i; + + JASSERT(jinfo->jstack->depth == 0, "stack not empty"); + if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); + for (i = 0; i < nlocals; i++) { + Reg r = jinfo->jregs->r_local[i]; + if (r) { + if (locals_info[i] & (1<method->max_locals(); + unsigned *locals_info = jinfo->locals_info; + int i; + + JASSERT(jinfo->jstack->depth == 0, "stack not empty"); + if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); + for (i = 0; i < nlocals; i++) { + Reg r = jinfo->jregs->r_local[i]; + if (r) { + if (locals_info[i] & (1 << LOCAL_MODIFIED)) { + store_local(jinfo, r, i, stackdepth); + } + } + } +} + +void Thumb2_invoke_restore(Thumb2_Info *jinfo, unsigned stackdepth) +{ + int nlocals = jinfo->method->max_locals(); + unsigned *locals_info = jinfo->locals_info; + int i; + + JASSERT(jinfo->jstack->depth == 0, "stack not empty"); + if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); + for (i = 0; i < nlocals; i++) { + Reg r = jinfo->jregs->r_local[i]; + if (r) { + load_local(jinfo, r, i, stackdepth); + } + } +} + +void Thumb2_Exit(Thumb2_Info *jinfo, unsigned handler, unsigned bci, unsigned stackdepth) +{ + Thumb2_Flush(jinfo); + Thumb2_invoke_save(jinfo, stackdepth); + mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); + bl(jinfo->codebuf, handlers[handler]); +} + +void Thumb2_Jsr(Thumb2_Info *jinfo, unsigned bci, unsigned stackdepth) +{ + Thumb2_Exit(jinfo, H_JSR, bci, stackdepth); +} + +int Thumb2_Accessor(Thumb2_Info *jinfo) +{ + jubyte *code_base = jinfo->code_base; + constantPoolCacheOop cp = jinfo->method->constants()->cache(); + ConstantPoolCacheEntry* cache; + int index = GET_NATIVE_U2(code_base+2); + unsigned loc; + unsigned *bc_stackinfo = jinfo->bc_stackinfo; + + JASSERT(code_base[0] == opc_aload_0 || code_base[0] == opc_iaccess_0, "not an aload_0 in accessor"); + JASSERT(code_base[4] == opc_ireturn || code_base[4] == opc_areturn, "not an ireturn in accessor"); + cache = cp->entry_at(index); + if (!cache->is_resolved((Bytecodes::Code)opc_getfield)) return 0; + + TosState tos_type = cache->flag_state(); + int field_offset = cache->f2(); + + // Slow entry point + loc = forward_32(jinfo->codebuf); + out_32(jinfo->codebuf, 0); + out_32(jinfo->codebuf, 0); + out_32(jinfo->codebuf, 0); + + // OSR entry point + mov_reg(jinfo->codebuf, ARM_PC, ARM_R0); + + out_align(jinfo->codebuf, CODE_ALIGN); + + // fast entry point + bc_stackinfo[0] = (bc_stackinfo[0] & BC_FLAGS_MASK) | (jinfo->codebuf->idx * 2) | BC_COMPILED; + branch_uncond_patch(jinfo->codebuf, loc, jinfo->codebuf->idx * 2); + ldr_imm(jinfo->codebuf, ARM_R1, ARM_R2, THREAD_JAVA_SP, 1, 0); + ldr_imm(jinfo->codebuf, ARM_R0, ARM_R1, 0, 1, 0); + if (tos_type == btos) + ldrb_imm(jinfo->codebuf, ARM_R0, ARM_R0, field_offset, 1, 0); + else if (tos_type == ctos) + ldrh_imm(jinfo->codebuf, ARM_R0, ARM_R0, field_offset, 1, 0); + else if (tos_type == stos) + ldrsh_imm(jinfo->codebuf, ARM_R0, ARM_R0, field_offset, 1, 0); + else + ldr_imm(jinfo->codebuf, ARM_R0, ARM_R0, field_offset, 1, 0); + str_imm(jinfo->codebuf, ARM_R0, ARM_R1, 0, 1, 0); + mov_reg(jinfo->codebuf, ARM_PC, ARM_LR); + + return 1; +} + +void Thumb2_Enter(Thumb2_Info *jinfo) +{ + int parms = jinfo->method->size_of_parameters(); + int extra_locals = jinfo->method->max_locals() - parms; + unsigned *locals_info = jinfo->locals_info; + int i; + + // Slow entry point - callee save + // R0 = method + // R2 = thread + stm(jinfo->codebuf, I_REGSET + (1<codebuf, out_pos(jinfo->codebuf) + CODE_ALIGN - 4); + ldm(jinfo->codebuf, I_REGSET + (1<codebuf, 0); + + // OSR entry point == Slow entry + 16 - caller save + // R0 = entry point within compiled method + // R1 = locals + // R2 = thread + { + int nlocals = jinfo->method->max_locals(); + + for (i = 0; i < nlocals; i++) { + Reg r = jinfo->jregs->r_local[i]; + if (r) { + ldr_imm(jinfo->codebuf, r, ARM_R1, -i * 4, 1, 0); + } + } + mov_reg(jinfo->codebuf, Rthread, ARM_R2); + mov_reg(jinfo->codebuf, ARM_PC, ARM_R0); + } + + out_align(jinfo->codebuf, CODE_ALIGN); + + // Fast entry point == Slow entry + 64 - caller save + // R0 = method + // R2 = thread + stm(jinfo->codebuf, C_REGSET + (1<codebuf, 1); + ldr_imm(jinfo->codebuf, Rstack, ARM_R2, THREAD_JAVA_SP, 1, 0); + Thumb2_Debug(jinfo, H_DEBUG_METHODENTRY); + mov_imm(jinfo->codebuf, ARM_R1, 0); + + if (extra_locals > 0) { + sub_imm(jinfo->codebuf, Rstack, Rstack, extra_locals * 4); + + for (i = 0; i < extra_locals; i++) { + unsigned linfo = locals_info[parms+i]; + if (linfo & (1<< LOCAL_REF)) + str_imm(jinfo->codebuf, ARM_R1, Rstack, (extra_locals-1 - i) * 4, 1, 0); + } + } + + ldr_imm(jinfo->codebuf, ARM_IP, ARM_R0, METHOD_CONSTANTS, 1, 0); + + sub_imm(jinfo->codebuf, Ristate, Rstack, FRAME_SIZE); + + add_imm(jinfo->codebuf, Rlocals, Rstack, (jinfo->method->max_locals()-1) * sizeof(int)); + str_imm(jinfo->codebuf, Rlocals, Ristate, ISTATE_LOCALS, 1, 0); + + if (jinfo->method->is_synchronized()) { + sub_imm(jinfo->codebuf, Rstack, Ristate, frame::interpreter_frame_monitor_size()*wordSize); + if (jinfo->method->is_static()) { + ldr_imm(jinfo->codebuf, ARM_R3, ARM_IP, CONSTANTPOOL_POOL_HOLDER, 1, 0); + ldr_imm(jinfo->codebuf, JAZ_V1, ARM_R3, KLASS_PART+KLASS_JAVA_MIRROR, 1, 0); + } else { + ldr_imm(jinfo->codebuf, JAZ_V1, Rlocals, 0, 1, 0); + } + str_imm(jinfo->codebuf, JAZ_V1, Rstack, 4, 1, 0); + } else + mov_reg(jinfo->codebuf, Rstack, Ristate); + + str_imm(jinfo->codebuf, ARM_R1, Ristate, ISTATE_MSG, 1, 0); + str_imm(jinfo->codebuf, ARM_R1, Ristate, ISTATE_OOP_TEMP, 1, 0); + + sub_imm(jinfo->codebuf, ARM_R3, Rstack, jinfo->method->max_stack() * sizeof(int)); + str_imm(jinfo->codebuf, ARM_R3, ARM_R2, THREAD_JAVA_SP, 1, 0); + + str_imm(jinfo->codebuf, Rstack, Ristate, ISTATE_STACK_BASE, 1, 0); + + sub_imm(jinfo->codebuf, ARM_R3, ARM_R3, 4); + str_imm(jinfo->codebuf, ARM_R3, Ristate, ISTATE_STACK_LIMIT, 1, 0); + + ldr_imm(jinfo->codebuf, ARM_R3, ARM_R2, THREAD_TOP_ZERO_FRAME, 1, 0); + str_imm(jinfo->codebuf, ARM_R3, Ristate, ISTATE_NEXT_FRAME, 1, 0); + + mov_imm(jinfo->codebuf, ARM_R3, INTERPRETER_FRAME); + str_imm(jinfo->codebuf, ARM_R3, Ristate, ISTATE_FRAME_TYPE, 1, 0); + + str_imm(jinfo->codebuf, Ristate, Ristate, ISTATE_MONITOR_BASE, 1, 0); + + add_imm(jinfo->codebuf, ARM_R3, Ristate, ISTATE_NEXT_FRAME); + str_imm(jinfo->codebuf, ARM_R3, ARM_R2, THREAD_TOP_ZERO_FRAME, 1, 0); + str_imm(jinfo->codebuf, ARM_R3, ARM_R2, THREAD_LAST_JAVA_SP, 1, 0); + + ldr_imm(jinfo->codebuf, ARM_R3, ARM_IP, CONSTANTPOOL_CACHE, 1, 0); + str_imm(jinfo->codebuf, ARM_R3, Ristate, ISTATE_CONSTANTS, 1, 0); + + str_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_THREAD, 1, 0); + str_imm(jinfo->codebuf, ARM_R0, Ristate, ISTATE_METHOD, 1, 0); + + mov_reg(jinfo->codebuf, Rthread, ARM_R2); + + if (jinfo->method->is_synchronized()) { + unsigned loc_retry, loc_failed, loc_success, loc_exception; + + // JAZ_V1 == monitor object + // + // Try to acquire the monitor. Seems very sub-optimal + // ldr r3, [JAZ_V1, #0] + // sub r1, Ristate, #8 + // orr r3, r3, #1 + // str r3, [r1, #0] + // retry: + // ldrex r0, [JAZ_V1, #0] + // cmp r3, r0 + // bne failed + // strex r0, r1, [JAZ_V1, #0] + // cbz r0, success + // b retry + // failed: + // + // success: + // + // + ldr_imm(jinfo->codebuf, ARM_R3, JAZ_V1, 0, 1, 0); + sub_imm(jinfo->codebuf, ARM_R1, Ristate, frame::interpreter_frame_monitor_size()*wordSize); + orr_imm(jinfo->codebuf, ARM_R3, ARM_R3, 1); + str_imm(jinfo->codebuf, ARM_R3, ARM_R1, 0, 1, 0); + loc_retry = out_loc(jinfo->codebuf); +// retry: + ldrex_imm(jinfo->codebuf, ARM_R0, JAZ_V1, 0); + cmp_reg(jinfo->codebuf, ARM_R3, ARM_R0); + loc_failed = forward_16(jinfo->codebuf); + strex_imm(jinfo->codebuf, ARM_R0, ARM_R1, JAZ_V1, 0); + loc_success = forward_16(jinfo->codebuf); + branch_uncond(jinfo->codebuf, loc_retry); + bcc_patch(jinfo->codebuf, COND_NE, loc_failed); +// failed: + mov_imm(jinfo->codebuf, ARM_R0, 0+CONSTMETHOD_CODEOFFSET); + bl(jinfo->codebuf, handlers[H_SYNCHRONIZED_ENTER]); + loc_exception = forward_16(jinfo->codebuf); + bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION]); + cbz_patch(jinfo->codebuf, ARM_R0, loc_exception); + cbz_patch(jinfo->codebuf, ARM_R0, loc_success); +// mov_imm(jinfo->codebuf, ARM_R0, 0+CONSTMETHOD_CODEOFFSET); +// bl(jinfo->codebuf, handlers[H_MONITOR]); +// success: + + } + + { + int nlocals = jinfo->method->max_locals(); + + for (i = 0; i < nlocals; i++) { + Reg r = jinfo->jregs->r_local[i]; + if (r) { + unsigned stackdepth = 0; + if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); + if (i < parms || (locals_info[i] & (1<code_size; + jubyte *code_base = jinfo->code_base; + unsigned *bc_stackinfo = jinfo->bc_stackinfo; + CodeBuf *codebuf = jinfo->codebuf; + Thumb2_Stack *jstack = jinfo->jstack; + unsigned bci; + unsigned opcode; + unsigned stackinfo; + int len; + unsigned stackdepth; + + for (bci = start; bci < code_size; ) { +#ifdef T2EE_PRINT_DISASS + unsigned start_idx = jinfo->codebuf->idx; + if (start_bci[start_idx] == -1) start_bci[start_idx] = bci; +#endif + opcode = code_base[bci]; + stackinfo = bc_stackinfo[bci]; + + if (stackinfo & BC_BRANCH_TARGET) Thumb2_Flush(jinfo); + JASSERT(!(stackinfo & BC_COMPILED), "code already compiled for this bytecode?"); + stackdepth = stackinfo & ~BC_FLAGS_MASK; + bc_stackinfo[bci] = (stackinfo & BC_FLAGS_MASK) | (codebuf->idx * 2) | BC_COMPILED; + + if (opcode > OPC_LAST_JAVA_OP) { + if (Bytecodes::is_defined((Bytecodes::Code)opcode)) + opcode = (unsigned)Bytecodes::java_code((Bytecodes::Code)opcode); + } + + len = Bytecodes::length_for((Bytecodes::Code)opcode); + if (len <= 0) len = Bytecodes::special_length_at((address)(code_base+bci), (address)(code_base+code_size)); + + if (IS_DEAD(stackinfo) || IS_ZOMBIE(stackinfo)) { + unsigned zlen = 0; +#ifdef T2EE_PRINT_DISASS + unsigned start_bci = bci; +#endif + + Thumb2_Exit(jinfo, H_ZOMBIE, bci, stackdepth); + do { + zlen += len; + bci += len; + if (bci >= code_size) break; + opcode = code_base[bci]; + stackinfo = bc_stackinfo[bci]; + + if (stackinfo & BC_BRANCH_TARGET) break; + if (!(IS_DEAD(stackinfo) || IS_ZOMBIE(stackinfo))) break; + + if (opcode > OPC_LAST_JAVA_OP) { + if (Bytecodes::is_defined((Bytecodes::Code)opcode)) + opcode = (unsigned)Bytecodes::java_code((Bytecodes::Code)opcode); + } + + len = Bytecodes::length_for((Bytecodes::Code)opcode); + if (len <= 0) len = Bytecodes::special_length_at((address)(code_base+bci), (address)(code_base+code_size)); + + } while (1); +#ifdef T2EE_PRINT_DISASS + end_bci[start_idx] = start_bci + zlen; +#endif + jinfo->zombie_bytes += zlen; + continue; + } + +#if 0 + if (bci >= 2620) { + unsigned zlen = 0; +#ifdef T2EE_PRINT_DISASS + unsigned start_bci = bci; +#endif + + Thumb2_Exit(jinfo, H_ZOMBIE, bci, stackdepth); + do { + zlen += len; + bci += len; + if (bci >= code_size) break; + opcode = code_base[bci]; + stackinfo = bc_stackinfo[bci]; + + if (stackinfo & BC_BRANCH_TARGET) break; + + if (opcode > OPC_LAST_JAVA_OP) { + if (Bytecodes::is_defined((Bytecodes::Code)opcode)) + opcode = (unsigned)Bytecodes::java_code((Bytecodes::Code)opcode); + } + + len = Bytecodes::length_for((Bytecodes::Code)opcode); + if (len <= 0) len = Bytecodes::special_length_at((address)(code_base+bci), (address)(code_base+code_size)); + + } while (1); +#ifdef T2EE_PRINT_DISASS + end_bci[start_idx] = start_bci + zlen; +#endif + jinfo->zombie_bytes += zlen; + continue; + } +#endif + +#ifdef T2EE_PRINT_DISASS + end_bci[start_idx] = bci + len; +#endif + + switch (opcode) { + case opc_nop: + break; + case opc_aconst_null: + len += Thumb2_Imm(jinfo, 0, bci+1); + break; + case opc_iconst_m1: + case opc_iconst_0: + case opc_iconst_1: + case opc_iconst_2: + case opc_iconst_3: + case opc_iconst_4: + case opc_iconst_5: + len += Thumb2_Imm(jinfo, opcode - (unsigned)opc_iconst_0, bci+1); + break; + case opc_lconst_0: + case opc_lconst_1: + Thumb2_ImmX2(jinfo, opcode - (unsigned)opc_lconst_0, 0); + break; + case opc_fconst_0: + case opc_fconst_1: + case opc_fconst_2: { + unsigned v = 0; + if (opcode == (unsigned)opc_fconst_1) v = 0x3f800000; + if (opcode == (unsigned)opc_fconst_2) v = 0x40000000; + len += Thumb2_Imm(jinfo, v, bci+1); + break; + } + case opc_dconst_0: + case opc_dconst_1: { + unsigned v_hi = 0; + if (opcode == (unsigned)opc_dconst_1) v_hi = 0x3ff00000; + Thumb2_ImmX2(jinfo, 0, v_hi); + break; + } + case opc_bipush: + len += Thumb2_Imm(jinfo, GET_JAVA_S1(code_base+bci+1), bci+2); + break; + case opc_sipush: + len += Thumb2_Imm(jinfo, GET_JAVA_S2(code_base+bci+1), bci+3); + break; + case opc_ldc: + case opc_ldc_w: + case opc_ldc2_w: { + unsigned index = (opcode == (unsigned)opc_ldc) ? + code_base[bci+1] : GET_JAVA_U2(code_base+bci+1); + constantPoolOop constants = jinfo->method->constants(); + unsigned v; + + switch (v = constants->tag_at(index).value()) { + case JVM_CONSTANT_Integer: + case JVM_CONSTANT_Float: + v = (unsigned)constants->int_at(index); + len += Thumb2_Imm(jinfo, v, bci+len); + break; +#if 0 + case JVM_CONSTANT_String: + v = (unsigned)constants->resolved_string_at(index); + len += Thumb2_Imm(jinfo, v, bci+len); + break; + case JVM_CONSTANT_Class: + v = (unsigned)constants->resolved_klass_at(index)->klass_part()->java_mirror(); + len += Thumb2_Imm(jinfo, v, bci+len); + break; +#endif + case JVM_CONSTANT_Long: + case JVM_CONSTANT_Double: { + unsigned long long v; + v = constants->long_at(index); + Thumb2_ImmX2(jinfo, v & 0xffffffff, v >> 32); + break; + } + case JVM_CONSTANT_Class: + case JVM_CONSTANT_String: { + Reg r; + Thumb2_Spill(jinfo, 1, 0); + r = JSTACK_REG(jstack); + PUSH(jstack, r); + ldr_imm(jinfo->codebuf, r, Ristate, ISTATE_METHOD, 1, 0); + ldr_imm(jinfo->codebuf, r, r, METHOD_CONSTANTS, 1, 0); + ldr_imm(jinfo->codebuf, r, r, CONSTANTPOOL_BASE + (index << 2), 1, 0); + if (v == JVM_CONSTANT_Class) + ldr_imm(jinfo->codebuf, r, r, KLASS_PART+KLASS_JAVA_MIRROR, 1, 0); + break; + } + default: + unsigned loc; + + JASSERT(opcode != opc_ldc2_w, "ldc2_w unresolved?"); + Thumb2_Flush(jinfo); + mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); + Thumb2_save_locals(jinfo, stackdepth); + mov_imm(jinfo->codebuf, ARM_R1, opcode != opc_ldc); + bl(jinfo->codebuf, handlers[H_LDC]); + Thumb2_restore_locals(jinfo, stackdepth); + ldr_imm(jinfo->codebuf, ARM_R0, Rthread, THREAD_VM_RESULT, 1, 0); + mov_imm(jinfo->codebuf, ARM_R2, 0); + str_imm(jinfo->codebuf, ARM_R2, Rthread, THREAD_VM_RESULT, 1, 0); + loc = forward_16(jinfo->codebuf); + bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION]); + cbnz_patch(jinfo->codebuf, ARM_R0, loc); + PUSH(jstack, ARM_R0); + break; + } + break; + } + + case opc_iload: + case opc_fload: + case opc_aload: + Thumb2_Load(jinfo, code_base[bci+1], stackdepth); + break; + case opc_lload: + case opc_dload: + Thumb2_LoadX2(jinfo, code_base[bci+1], stackdepth); + break; + case opc_iload_0: + case opc_iload_1: + case opc_iload_2: + case opc_iload_3: + case opc_fload_0: + case opc_fload_1: + case opc_fload_2: + case opc_fload_3: + case opc_aload_0: + case opc_aload_1: + case opc_aload_2: + case opc_aload_3: + Thumb2_Load(jinfo, (opcode - opc_iload_0) & 3, stackdepth); + break; + case opc_lload_0: + case opc_lload_1: + case opc_lload_2: + case opc_lload_3: + case opc_dload_0: + case opc_dload_1: + case opc_dload_2: + case opc_dload_3: + Thumb2_LoadX2(jinfo, (opcode - opc_iload_0) & 3, stackdepth); + break; + case opc_iaload: + case opc_faload: + case opc_aaload: + case opc_baload: + case opc_caload: + case opc_saload: + Thumb2_Xaload(jinfo, opcode); + break; + case opc_laload: + case opc_daload: + Thumb2_X2aload(jinfo); + break; + case opc_istore: + case opc_fstore: + case opc_astore: + Thumb2_Store(jinfo, code_base[bci+1], stackdepth); + break; + case opc_lstore: + case opc_dstore: + Thumb2_StoreX2(jinfo, code_base[bci+1], stackdepth); + break; + case opc_istore_0: + case opc_istore_1: + case opc_istore_2: + case opc_istore_3: + case opc_fstore_0: + case opc_fstore_1: + case opc_fstore_2: + case opc_fstore_3: + case opc_astore_0: + case opc_astore_1: + case opc_astore_2: + case opc_astore_3: + Thumb2_Store(jinfo, (opcode - opc_istore_0) & 3, stackdepth); + break; + case opc_lstore_0: + case opc_lstore_1: + case opc_lstore_2: + case opc_lstore_3: + case opc_dstore_0: + case opc_dstore_1: + case opc_dstore_2: + case opc_dstore_3: + Thumb2_StoreX2(jinfo, (opcode - opc_istore_0) & 3, stackdepth); + break; + case opc_iastore: + case opc_fastore: + case opc_bastore: + case opc_castore: + case opc_sastore: + Thumb2_Xastore(jinfo, opcode); + break; + case opc_lastore: + case opc_dastore: + Thumb2_X2astore(jinfo); + break; + + case opc_pop: + case opc_pop2: + Thumb2_Pop(jinfo, opcode - opc_pop + 1); + break; + + case opc_dup: + case opc_dup_x1: + case opc_dup_x2: + Thumb2_Dup(jinfo, opcode - opc_dup); + break; + + case opc_dup2: + case opc_dup2_x1: + case opc_dup2_x2: + Thumb2_Dup2(jinfo, opcode - opc_dup2); + break; + + case opc_swap: + Thumb2_Swap(jinfo); + break; + + case opc_iadd: + case opc_isub: + case opc_imul: + case opc_ishl: + case opc_ishr: + case opc_iushr: + case opc_iand: + case opc_ior: + case opc_ixor: + Thumb2_iOp(jinfo, opcode); + break; + + case opc_ladd: + case opc_lsub: + case opc_land: + case opc_lor: + case opc_lxor: + Thumb2_lOp(jinfo, opcode); + break; + + case opc_lshl: { + Reg lho_lo, lho_hi, res_lo, res_hi, shift; + unsigned loc1, loc2; + + Thumb2_Fill(jinfo, 3); + shift = POP(jstack); + lho_lo = POP(jstack); + lho_hi = POP(jstack); + Thumb2_Spill(jinfo, 2, (1<codebuf, ARM_IP, shift, 31); + tst_imm(jinfo->codebuf, shift, 32); + loc1 = forward_16(jinfo->codebuf); + mov_imm(jinfo->codebuf, res_lo, 0); + dop_reg(jinfo->codebuf, DP_LSL, res_hi, lho_lo, ARM_IP, SHIFT_LSL, 0); + loc2 = forward_16(jinfo->codebuf); + bcc_patch(jinfo->codebuf, COND_EQ, loc1); + dop_reg(jinfo->codebuf, DP_LSL, res_lo, lho_lo, ARM_IP, SHIFT_LSL, 0); + dop_reg(jinfo->codebuf, DP_LSL, res_hi, lho_hi, ARM_IP, SHIFT_LSL, 0); + rsb_imm(jinfo->codebuf, ARM_IP, ARM_IP, 32); + dop_reg(jinfo->codebuf, DP_LSR, ARM_IP, lho_lo, ARM_IP, SHIFT_LSL, 0); + dop_reg(jinfo->codebuf, DP_ORR, res_hi, res_hi, ARM_IP, SHIFT_LSL, 0); + branch_narrow_patch(jinfo->codebuf, loc2); + break; + } + + case opc_lushr: { + Reg lho_lo, lho_hi, res_lo, res_hi, shift; + unsigned loc1, loc2; + + Thumb2_Fill(jinfo, 3); + shift = POP(jstack); + lho_lo = POP(jstack); + lho_hi = POP(jstack); + Thumb2_Spill(jinfo, 2, (1<codebuf, ARM_IP, shift, 31); + tst_imm(jinfo->codebuf, shift, 32); + loc1 = forward_16(jinfo->codebuf); + mov_imm(jinfo->codebuf, res_hi, 0); + dop_reg(jinfo->codebuf, DP_LSR, res_lo, lho_hi, ARM_IP, SHIFT_LSL, 0); + loc2 = forward_16(jinfo->codebuf); + bcc_patch(jinfo->codebuf, COND_EQ, loc1); + dop_reg(jinfo->codebuf, DP_LSR, res_hi, lho_hi, ARM_IP, SHIFT_LSL, 0); + dop_reg(jinfo->codebuf, DP_LSR, res_lo, lho_lo, ARM_IP, SHIFT_LSL, 0); + rsb_imm(jinfo->codebuf, ARM_IP, ARM_IP, 32); + dop_reg(jinfo->codebuf, DP_LSL, ARM_IP, lho_hi, ARM_IP, SHIFT_LSL, 0); + dop_reg(jinfo->codebuf, DP_ORR, res_lo, res_lo, ARM_IP, SHIFT_LSL, 0); + branch_narrow_patch(jinfo->codebuf, loc2); + break; + } + + case opc_lshr: { + Reg lho_lo, lho_hi, res_lo, res_hi, shift; + unsigned loc1, loc2; + + Thumb2_Fill(jinfo, 3); + shift = POP(jstack); + lho_lo = POP(jstack); + lho_hi = POP(jstack); + Thumb2_Spill(jinfo, 2, (1<codebuf, ARM_IP, shift, 31); + tst_imm(jinfo->codebuf, shift, 32); + loc1 = forward_16(jinfo->codebuf); + asr_imm(jinfo->codebuf, res_hi, lho_hi, 31); + dop_reg(jinfo->codebuf, DP_ASR, res_lo, lho_hi, ARM_IP, SHIFT_LSL, 0); + loc2 = forward_16(jinfo->codebuf); + bcc_patch(jinfo->codebuf, COND_EQ, loc1); + dop_reg(jinfo->codebuf, DP_ASR, res_hi, lho_hi, ARM_IP, SHIFT_LSL, 0); + dop_reg(jinfo->codebuf, DP_LSR, res_lo, lho_lo, ARM_IP, SHIFT_LSL, 0); + rsb_imm(jinfo->codebuf, ARM_IP, ARM_IP, 32); + dop_reg(jinfo->codebuf, DP_LSL, ARM_IP, lho_hi, ARM_IP, SHIFT_LSL, 0); + dop_reg(jinfo->codebuf, DP_ORR, res_lo, res_lo, ARM_IP, SHIFT_LSL, 0); + branch_narrow_patch(jinfo->codebuf, loc2); + break; + } + + case opc_lmul: + Thumb2_lmul(jinfo); + break; + + case opc_fadd: + case opc_fsub: + case opc_fmul: + case opc_fdiv: + Thumb2_fOp(jinfo, opcode); + break; + + case opc_dadd: + case opc_dsub: + case opc_dmul: + case opc_ddiv: + Thumb2_dOp(jinfo, opcode); + break; + + case opc_fcmpl: + case opc_fcmpg: { + Thumb2_Stack *jstack = jinfo->jstack; + unsigned rho, lho, res; + unsigned loc1, loc2, loc_ne; + + Thumb2_Fill(jinfo, 2); + rho = POP(jstack); + lho = POP(jstack); + Thumb2_Spill(jinfo, 1, 0); + res = PUSH(jstack, JSTACK_REG(jstack)); + vmov_reg_s_toVFP(jinfo->codebuf, VFP_S0, lho); + vmov_reg_s_toVFP(jinfo->codebuf, VFP_S1, rho); + vcmp_reg_s(jinfo->codebuf, VFP_S0, VFP_S1, 1); + mov_imm(jinfo->codebuf, res, opcode == opc_fcmpl ? 1 : -1); + vmrs(jinfo->codebuf, ARM_PC); + loc1 = forward_16(jinfo->codebuf); + dop_imm_preserve(jinfo->codebuf, DP_RSB, res, res, 0); + loc2 = forward_16(jinfo->codebuf); + vcmp_reg_s(jinfo->codebuf, VFP_S0, VFP_S1, 0); + loc_ne = forward_16(jinfo->codebuf); + mov_imm(jinfo->codebuf, res, 0); + bcc_patch(jinfo->codebuf, opcode == opc_fcmpl ? COND_GT : COND_MI, loc1); + bcc_patch(jinfo->codebuf, opcode == opc_fcmpl ? COND_MI : COND_GT, loc2); + bcc_patch(jinfo->codebuf, COND_NE, loc_ne); + break; + } + + case opc_dcmpl: + case opc_dcmpg: { + Thumb2_Stack *jstack = jinfo->jstack; + unsigned rho_lo, rho_hi, lho_lo, lho_hi, res; + unsigned loc1, loc2, loc_ne; + + Thumb2_Fill(jinfo, 4); + rho_lo = POP(jstack); + rho_hi = POP(jstack); + lho_lo = POP(jstack); + lho_hi = POP(jstack); + Thumb2_Spill(jinfo, 1, 0); + res = PUSH(jstack, JSTACK_REG(jstack)); + vmov_reg_d_toVFP(jinfo->codebuf, VFP_S0, lho_lo, lho_hi); + vmov_reg_d_toVFP(jinfo->codebuf, VFP_S1, rho_lo, rho_hi); + vcmp_reg_d(jinfo->codebuf, VFP_S0, VFP_S1, 1); + mov_imm(jinfo->codebuf, res, opcode == opc_dcmpl ? 1 : -1); + vmrs(jinfo->codebuf, ARM_PC); + loc1 = forward_16(jinfo->codebuf); + dop_imm_preserve(jinfo->codebuf, DP_RSB, res, res, 0); + loc2 = forward_16(jinfo->codebuf); + vcmp_reg_d(jinfo->codebuf, VFP_S0, VFP_S1, 0); + loc_ne = forward_16(jinfo->codebuf); + mov_imm(jinfo->codebuf, res, 0); + bcc_patch(jinfo->codebuf, opcode == opc_dcmpl ? COND_GT : COND_MI, loc1); + bcc_patch(jinfo->codebuf, opcode == opc_dcmpl ? COND_MI : COND_GT, loc2); + bcc_patch(jinfo->codebuf, COND_NE, loc_ne); + break; + } + + case opc_drem: + case opc_lrem: + case opc_ldiv: { + Reg src[4], dst[4]; + + Thumb2_Fill(jinfo, 4); + src[2] = POP(jstack); + src[3] = POP(jstack); + src[0] = POP(jstack); + src[1] = POP(jstack); + Thumb2_Flush(jinfo); + dst[0] = ARM_R0; + dst[1] = ARM_R1; + dst[2] = ARM_R2; + dst[3] = ARM_R3; + mov_multiple(jinfo->codebuf, dst, src, 4); + bl(jinfo->codebuf, OPCODE2HANDLER(opcode)); + if (opcode != opc_lrem) { + PUSH(jstack, ARM_R1); + PUSH(jstack, ARM_R0); + } else { + PUSH(jstack, ARM_R3); + PUSH(jstack, ARM_R2); + } + break; + } + + case opc_frem: + case opc_idiv: + case opc_irem: { + Reg r_rho, r_lho; + + Thumb2_Fill(jinfo, 2); + r_rho = POP(jstack); + r_lho = POP(jstack); + Thumb2_Flush(jinfo); + if (r_rho == ARM_R0) { + if (r_lho == ARM_R1) { + mov_reg(jinfo->codebuf, ARM_IP, r_rho); + mov_reg(jinfo->codebuf, ARM_R0, r_lho); + mov_reg(jinfo->codebuf, ARM_R1, ARM_IP); + } else { + mov_reg(jinfo->codebuf, ARM_R1, r_rho); + mov_reg(jinfo->codebuf, ARM_R0, r_lho); + } + } else { + mov_reg(jinfo->codebuf, ARM_R0, r_lho); + mov_reg(jinfo->codebuf, ARM_R1, r_rho); + } +#if 1 + if (opcode == opc_frem) + bl(jinfo->codebuf, OPCODE2HANDLER(opcode)); + else + blx(jinfo->codebuf, OPCODE2HANDLER(opcode)); +#else + bl(jinfo->codebuf, OPCODE2HANDLER(opcode)); +#endif + PUSH(jstack, ARM_R0); + break; + } + + case opc_f2i: + case opc_i2f: { + Reg r; + + Thumb2_Fill(jinfo, 1); + r = POP(jstack); + Thumb2_Flush(jinfo); + mov_reg(jinfo->codebuf, ARM_R0, r); + bl(jinfo->codebuf, OPCODE2HANDLER(opcode)); + PUSH(jstack, ARM_R0); + break; + } + + case opc_f2d: + case opc_f2l: + case opc_i2d: { + Reg r; + + Thumb2_Fill(jinfo, 1); + r = POP(jstack); + Thumb2_Flush(jinfo); + mov_reg(jinfo->codebuf, ARM_R0, r); + bl(jinfo->codebuf, OPCODE2HANDLER(opcode)); + PUSH(jstack, ARM_R1); + PUSH(jstack, ARM_R0); + break; + } + + case opc_d2f: + case opc_d2i: + case opc_l2d: + case opc_d2l: + case opc_l2f: { + Reg lo, hi; + + Thumb2_Fill(jinfo, 2); + lo = POP(jstack); + hi = POP(jstack); + Thumb2_Flush(jinfo); + if (hi == ARM_R0) { + if (lo == ARM_R1) { + mov_reg(jinfo->codebuf, ARM_IP, hi); + mov_reg(jinfo->codebuf, ARM_R0, lo); + mov_reg(jinfo->codebuf, ARM_R1, ARM_IP); + } else { + mov_reg(jinfo->codebuf, ARM_R1, hi); + mov_reg(jinfo->codebuf, ARM_R0, lo); + } + } else { + mov_reg(jinfo->codebuf, ARM_R0, lo); + mov_reg(jinfo->codebuf, ARM_R1, hi); + } + bl(jinfo->codebuf, OPCODE2HANDLER(opcode)); + if (opcode == opc_l2d || opcode == opc_d2l) PUSH(jstack, ARM_R1); + PUSH(jstack, ARM_R0); + break; + } + + case opc_ineg: + Thumb2_iNeg(jinfo, opcode); + break; + + case opc_lneg: + Thumb2_lNeg(jinfo, opcode); + break; + + case opc_fneg: + Thumb2_fNeg(jinfo, opcode); + break; + + case opc_dneg: + Thumb2_dNeg(jinfo, opcode); + break; + + case opc_i2l: { + unsigned r, r_res_lo, r_res_hi; + + Thumb2_Fill(jinfo, 1); + r = POP(jstack); + Thumb2_Spill(jinfo, 2, 0); + r_res_hi = PUSH(jstack, JSTACK_REG(jstack)); + r_res_lo = PUSH(jstack, JSTACK_REG(jstack)); + if (r == r_res_hi) { + SWAP(jstack); + r_res_hi = r_res_lo; + r_res_lo = r; + } + mov_reg(jinfo->codebuf, r_res_lo, r); + asr_imm(jinfo->codebuf, r_res_hi, r, 31); + break; + } + + case opc_l2i: { + unsigned r_lo, r_hi; + unsigned r; + + Thumb2_Fill(jinfo, 2); + r_lo = POP(jstack); + r_hi = POP(jstack); + Thumb2_Spill(jinfo, 1, 0); + r = PUSH(jstack, r_lo); + break; + } + + case opc_i2b: { + unsigned r_src, r_dst; + + Thumb2_Fill(jinfo, 1); + r_src = POP(jstack); + Thumb2_Spill(jinfo, 1, 0); + r_dst = PUSH(jstack, JSTACK_REG(jstack)); + sxtb(jinfo->codebuf, r_dst, r_src); + break; + } + + case opc_i2s: { + unsigned r_src, r_dst; + + Thumb2_Fill(jinfo, 1); + r_src = POP(jstack); + Thumb2_Spill(jinfo, 1, 0); + r_dst = PUSH(jstack, JSTACK_REG(jstack)); + sxth(jinfo->codebuf, r_dst, r_src); + break; + } + + case opc_i2c: { + unsigned r_src, r_dst; + + Thumb2_Fill(jinfo, 1); + r_src = POP(jstack); + Thumb2_Spill(jinfo, 1, 0); + r_dst = PUSH(jstack, JSTACK_REG(jstack)); + uxth(jinfo->codebuf, r_dst, r_src); + break; + } + + case opc_lcmp: { + unsigned lho_lo, lho_hi; + unsigned rho_lo, rho_hi; + unsigned r_tmp_lo, r_tmp_hi; + unsigned res; + unsigned loc_lt, loc_eq; + + Thumb2_Fill(jinfo, 4); + rho_lo = POP(jstack); + rho_hi = POP(jstack); + lho_lo = POP(jstack); + lho_hi = POP(jstack); + Thumb2_Spill(jinfo, 1, 0); + res = JSTACK_REG(jstack); + PUSH(jstack, res); + r_tmp_lo = Thumb2_Tmp(jinfo, (1<codebuf, DP_SUB, r_tmp_lo, lho_lo, rho_lo, SHIFT_LSL, 0); + dop_reg(jinfo->codebuf, DP_SBC, r_tmp_hi, lho_hi, rho_hi, SHIFT_LSL, 0); + mov_imm(jinfo->codebuf, res, (unsigned)-1); + loc_lt = forward_16(jinfo->codebuf); + dop_reg(jinfo->codebuf, DP_ORR, res, r_tmp_lo, r_tmp_hi, SHIFT_LSL, 0); + loc_eq = forward_16(jinfo->codebuf); + mov_imm(jinfo->codebuf, res, 1); + bcc_patch(jinfo->codebuf, COND_LT, loc_lt); + bcc_patch(jinfo->codebuf, COND_EQ, loc_eq); + break; + } + + case opc_iinc: { + unsigned local = code_base[bci+1]; + int constant = GET_JAVA_S1(code_base+bci+2); + unsigned r = jinfo->jregs->r_local[local]; + + if (!r) { + int nlocals = jinfo->method->max_locals(); + r = Thumb2_Tmp(jinfo, 0); + stackdepth -= jstack->depth; + if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); + load_local(jinfo, r, local, stackdepth); + add_imm(jinfo->codebuf, r, r, constant); + store_local(jinfo, r, local, stackdepth); + } else { + Thumb2_Corrupt(jinfo, r, 0); + add_imm(jinfo->codebuf, r, r, constant); + } + break; + } + + case opc_getfield: { + constantPoolCacheOop cp = jinfo->method->constants()->cache(); + ConstantPoolCacheEntry* cache; + int index = GET_NATIVE_U2(code_base+bci+1); + Reg r_obj; + + cache = cp->entry_at(index); + if (!cache->is_resolved((Bytecodes::Code)opcode)) { + int java_index = GET_JAVA_U2(code_base+bci+1); + constantPoolOop pool = jinfo->method->constants(); + symbolOop sig = pool->signature_ref_at(java_index); + jbyte *base = sig->base(); + jbyte c = *base; + int handler = H_GETFIELD_WORD; + + if (c == 'J' || c == 'D') handler = H_GETFIELD_DW; + if (c == 'B' || c == 'Z') handler = H_GETFIELD_SB; + if (c == 'C') handler = H_GETFIELD_H; + if (c == 'S') handler = H_GETFIELD_SH; + Thumb2_Flush(jinfo); + Thumb2_save_locals(jinfo, stackdepth); + mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); + mov_imm(jinfo->codebuf, ARM_R1, index); + blx(jinfo->codebuf, handlers[handler]); + Thumb2_restore_locals(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); + break; + } + + TosState tos_type = cache->flag_state(); + int field_offset = cache->f2(); + + if (tos_type == ltos || tos_type == dtos) { + Reg r_lo, r_hi; + Thumb2_Fill(jinfo, 1); + r_obj = POP(jstack); + Thumb2_Spill(jinfo, 2, 0); + r_hi = PUSH(jstack, JSTACK_REG(jstack)); + r_lo = PUSH(jstack, JSTACK_REG(jstack)); + ldrd_imm(jinfo->codebuf, r_lo, r_hi, r_obj, field_offset, 1, 0); + } else { + Reg r; + + Thumb2_Fill(jinfo, 1); + r_obj = POP(jstack); + Thumb2_Spill(jinfo, 1, 0); + r = JSTACK_REG(jstack); + PUSH(jstack, r); + if (tos_type == btos) + ldrsb_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); + else if (tos_type == ctos) + ldrh_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); + else if (tos_type == stos) + ldrsh_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); + else + ldr_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); + } + break; + } + + case opc_monitorexit: + case opc_monitorenter: + Thumb2_Exit(jinfo, H_MONITOR, bci, stackdepth); + break; + + case opc_getstatic: { + constantPoolCacheOop cp = jinfo->method->constants()->cache(); + ConstantPoolCacheEntry* cache; + int index = GET_NATIVE_U2(code_base+bci+1); + + cache = cp->entry_at(index); + if (!cache->is_resolved((Bytecodes::Code)opcode)) { + int java_index = GET_JAVA_U2(code_base+bci+1); + constantPoolOop pool = jinfo->method->constants(); + symbolOop sig = pool->signature_ref_at(java_index); + jbyte *base = sig->base(); + jbyte c = *base; + int handler = H_GETSTATIC_WORD; + + if (c == 'J' || c == 'D') handler = H_GETSTATIC_DW; + if (c == 'B' || c == 'Z') handler = H_GETSTATIC_SB; + if (c == 'C') handler = H_GETSTATIC_H; + if (c == 'S') handler = H_GETSTATIC_SH; + Thumb2_Flush(jinfo); + Thumb2_save_locals(jinfo, stackdepth); + mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); + mov_imm(jinfo->codebuf, ARM_R1, index); + blx(jinfo->codebuf, handlers[handler]); + Thumb2_restore_locals(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); + break; + } + + TosState tos_type = cache->flag_state(); + int field_offset = cache->f2(); + + if (tos_type == ltos || tos_type == dtos) { + Reg r_lo, r_hi; + Thumb2_Spill(jinfo, 2, 0); + r_hi = PUSH(jstack, JSTACK_REG(jstack)); + r_lo = PUSH(jstack, JSTACK_REG(jstack)); + ldr_imm(jinfo->codebuf, r_lo, Ristate, ISTATE_CONSTANTS, 1, 0); + ldr_imm(jinfo->codebuf, r_lo, r_lo, CP_OFFSET + (index << 4) + 4, 1, 0); + ldrd_imm(jinfo->codebuf, r_lo, r_hi, r_lo, field_offset, 1, 0); + } else { + Reg r; + Thumb2_Spill(jinfo, 1, 0); + r = JSTACK_REG(jstack); + PUSH(jstack, r); + ldr_imm(jinfo->codebuf, r, Ristate, ISTATE_CONSTANTS, 1, 0); + ldr_imm(jinfo->codebuf, r, r, CP_OFFSET + (index << 4) + 4, 1, 0); + if (tos_type == btos) + ldrsb_imm(jinfo->codebuf, r, r, field_offset, 1, 0); + else if (tos_type == ctos) + ldrh_imm(jinfo->codebuf, r, r, field_offset, 1, 0); + else if (tos_type == stos) + ldrsh_imm(jinfo->codebuf, r, r, field_offset, 1, 0); + else + ldr_imm(jinfo->codebuf, r, r, field_offset, 1, 0); + } + break; + } + + case opc_putfield: { + constantPoolCacheOop cp = jinfo->method->constants()->cache(); + ConstantPoolCacheEntry* cache; + int index = GET_NATIVE_U2(code_base+bci+1); + Reg r_obj; + + cache = cp->entry_at(index); + if (!cache->is_resolved((Bytecodes::Code)opcode)) { + int java_index = GET_JAVA_U2(code_base+bci+1); + constantPoolOop pool = jinfo->method->constants(); + symbolOop sig = pool->signature_ref_at(java_index); + jbyte *base = sig->base(); + jbyte c = *base; + int handler = H_PUTFIELD_WORD; + + if (c == 'J' || c == 'D') handler = H_PUTFIELD_DW; + if (c == 'B' || c == 'Z') handler = H_PUTFIELD_B; + if (c == 'C' || c == 'S') handler = H_PUTFIELD_H; + if (c == '[' || c == 'L') handler = H_PUTFIELD_A; + Thumb2_Flush(jinfo); + Thumb2_save_locals(jinfo, stackdepth); + mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); + mov_imm(jinfo->codebuf, ARM_R1, index); + blx(jinfo->codebuf, handlers[handler]); + Thumb2_restore_locals(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); + break; + } + + TosState tos_type = cache->flag_state(); + int field_offset = cache->f2(); + + if (tos_type == ltos || tos_type == dtos) { + Reg r_lo, r_hi; + Thumb2_Fill(jinfo, 3); + r_lo = POP(jstack); + r_hi = POP(jstack); + r_obj = POP(jstack); + strd_imm(jinfo->codebuf, r_lo, r_hi, r_obj, field_offset, 1, 0); + } else { + Reg r; + Thumb2_Fill(jinfo, 2); + r = POP(jstack); + r_obj = POP(jstack); + if (tos_type == btos) + strb_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); + else if (tos_type == ctos | tos_type == stos) + strh_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); + else { + str_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); + if (tos_type == atos) { + Thumb2_Flush(jinfo); + mov_reg(jinfo->codebuf, ARM_R0, r_obj); + bl(jinfo->codebuf, handlers[H_APUTFIELD]); + } + } + } + break; + } + + case opc_putstatic: { + constantPoolCacheOop cp = jinfo->method->constants()->cache(); + ConstantPoolCacheEntry* cache; + int index = GET_NATIVE_U2(code_base+bci+1); + + cache = cp->entry_at(index); + if (!cache->is_resolved((Bytecodes::Code)opcode)) { + int java_index = GET_JAVA_U2(code_base+bci+1); + constantPoolOop pool = jinfo->method->constants(); + symbolOop sig = pool->signature_ref_at(java_index); + jbyte *base = sig->base(); + jbyte c = *base; + int handler = H_PUTSTATIC_WORD; + + if (c == 'J' || c == 'D') handler = H_PUTSTATIC_DW; + if (c == 'B' || c == 'Z') handler = H_PUTSTATIC_B; + if (c == 'C' || c == 'S') handler = H_PUTSTATIC_H; + if (c == '[' || c == 'L') handler = H_PUTSTATIC_A; + Thumb2_Flush(jinfo); + Thumb2_save_locals(jinfo, stackdepth); + mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); + mov_imm(jinfo->codebuf, ARM_R1, index); + blx(jinfo->codebuf, handlers[handler]); + Thumb2_restore_locals(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); + break; + } + + TosState tos_type = cache->flag_state(); + int field_offset = cache->f2(); + Reg r_obj; + + if (tos_type == ltos || tos_type == dtos) { + Reg r_lo, r_hi; + Thumb2_Fill(jinfo, 2); + r_lo = POP(jstack); + r_hi = POP(jstack); + Thumb2_Spill(jinfo, 1, (1<codebuf, r_obj, Ristate, ISTATE_CONSTANTS, 1, 0); + ldr_imm(jinfo->codebuf, r_obj, r_obj, CP_OFFSET + (index << 4) + 4, 1, 0); + strd_imm(jinfo->codebuf, r_lo, r_hi, r_obj, field_offset, 1, 0); + } else { + Reg r; + Thumb2_Fill(jinfo, 1); + r = POP(jstack); + Thumb2_Spill(jinfo, 1, (1<codebuf, r_obj, Ristate, ISTATE_CONSTANTS, 1, 0); + ldr_imm(jinfo->codebuf, r_obj, r_obj, CP_OFFSET + (index << 4) + 4, 1, 0); + if (tos_type == btos) + strb_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); + else if (tos_type == ctos | tos_type == stos) + strh_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); + else { + str_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); + if (tos_type == atos) { + Thumb2_Flush(jinfo); + mov_reg(jinfo->codebuf, ARM_R0, r_obj); + bl(jinfo->codebuf, handlers[H_APUTFIELD]); + } + } + } + break; + } + + case opc_invokestatic: + case opc_invokespecial: { + constantPoolCacheOop cp = jinfo->method->constants()->cache(); + ConstantPoolCacheEntry* cache; + int index = GET_NATIVE_U2(code_base+bci+1); + unsigned loc; + methodOop callee; + + cache = cp->entry_at(index); + if (!cache->is_resolved((Bytecodes::Code)opcode)) { + Thumb2_Flush(jinfo); + Thumb2_invoke_save(jinfo, stackdepth); + mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); + mov_imm(jinfo->codebuf, ARM_R1, index); + blx(jinfo->codebuf, + handlers[opcode == opc_invokestatic ? H_INVOKESTATIC : H_INVOKESPECIAL]); + Thumb2_invoke_restore(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); + break; + } + + callee = (methodOop)cache->f1(); + if (callee->is_accessor()) { + u1 *code = callee->code_base(); + int index = GET_NATIVE_U2(&code[2]); + constantPoolCacheOop callee_cache = callee->constants()->cache(); + ConstantPoolCacheEntry *entry = callee_cache->entry_at(index); + Reg r_obj, r; + + if (entry->is_resolved(Bytecodes::_getfield)) { +#if 0 + tty->print("Inlining accessor (opcode = %s) ", opcode == opc_invokestatic ? "invokestatic" : "invokespecial"); + callee->print_short_name(tty); + tty->print("\n"); +#endif + JASSERT(cache->parameter_size() == 1, "not 1 parameter to accessor"); + + TosState tos_type = entry->flag_state(); + int field_offset = entry->f2(); + + JASSERT(tos_type == btos || tos_type == ctos || tos_type == stos || tos_type == atos || tos_type == itos, "not itos or atos"); + + Thumb2_Fill(jinfo, 1); + r_obj = POP(jstack); + Thumb2_Spill(jinfo, 1, 0); + r = JSTACK_REG(jstack); + PUSH(jstack, r); + if (tos_type == btos) + ldrb_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); + else if (tos_type == ctos) + ldrh_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); + else if (tos_type == stos) + ldrsh_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); + else + ldr_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); + break; + } + } + + Thumb2_Flush(jinfo); + ldr_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_METHOD, 1, 0); + ldr_imm(jinfo->codebuf, ARM_R0, Ristate, ISTATE_CONSTANTS, 1, 0); + mov_imm(jinfo->codebuf, ARM_R1, 0); + ldr_imm(jinfo->codebuf, ARM_R2, ARM_R2, METHOD_CONSTMETHOD, 1, 0); + if (opcode == opc_invokespecial) + ldr_imm(jinfo->codebuf, ARM_R3, Rstack, (cache->parameter_size()-1) * sizeof(int), 1, 0); + ldr_imm(jinfo->codebuf, ARM_R0, ARM_R0, CP_OFFSET + (index << 4) + 4, 1, 0); + add_imm(jinfo->codebuf, ARM_R2, ARM_R2, bci+CONSTMETHOD_CODEOFFSET); + if (opcode == opc_invokespecial) + ldr_imm(jinfo->codebuf, ARM_R3, ARM_R3, 0, 1, 0); // Null pointer check - cbz better? + str_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_LAST_JAVA_SP, 1, 0); + ldr_imm(jinfo->codebuf, ARM_R1, ARM_R0, METHOD_FROM_INTERPRETED, 1, 0); + str_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_BCP, 1, 0); + str_imm(jinfo->codebuf, Rstack, Rthread, THREAD_JAVA_SP, 1, 0); + Thumb2_Debug(jinfo, H_DEBUG_METHODCALL); + Thumb2_invoke_save(jinfo, stackdepth); + sub_imm(jinfo->codebuf, Rstack, Rstack, 4); + ldr_imm(jinfo->codebuf, ARM_R3, ARM_R1, 0, 1, 0); + mov_reg(jinfo->codebuf, ARM_R2, Rthread); + str_imm(jinfo->codebuf, Rstack, Ristate, ISTATE_STACK, 1, 0); +add_imm(jinfo->codebuf, ARM_R3, ARM_R3, CODE_ALIGN_SIZE); +// enter_leave(jinfo->codebuf, 0); + blx_reg(jinfo->codebuf, ARM_R3); +// enter_leave(jinfo->codebuf, 1); + ldr_imm(jinfo->codebuf, Rthread, Ristate, ISTATE_THREAD, 1, 0); +#ifdef USE_RLOCAL + ldr_imm(jinfo->codebuf, Rlocals, Ristate, ISTATE_LOCALS, 1, 0); +#endif + ldr_imm(jinfo->codebuf, Rstack, Rthread, THREAD_JAVA_SP, 1, 0); + ldr_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_STACK_LIMIT, 1, 0); + JASSERT(!(bc_stackinfo[bci+len] & BC_COMPILED), "code already compiled for this bytecode?"); + Thumb2_invoke_restore(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); + ldr_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + add_imm(jinfo->codebuf, ARM_R2, ARM_R2, 4); + ldr_imm(jinfo->codebuf, ARM_R3, Rthread, THREAD_PENDING_EXC, 1, 0); + str_imm(jinfo->codebuf, ARM_R2, Rthread, THREAD_JAVA_SP, 1, 0); + str_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_LAST_JAVA_SP, 1, 0); + cmp_imm(jinfo->codebuf, ARM_R3, 0); + it(jinfo->codebuf, COND_NE, IT_MASK_T); + bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION]); + break; + } + + case opc_invokeinterface: { + constantPoolCacheOop cp = jinfo->method->constants()->cache(); + ConstantPoolCacheEntry* cache; + int index = GET_NATIVE_U2(code_base+bci+1); + unsigned loc, loc_inc_ex; + +// Currently we just call the unresolved invokeinterface entry for resolved / +// unresolved alike! + Thumb2_Flush(jinfo); + Thumb2_invoke_save(jinfo, stackdepth); + mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); + mov_imm(jinfo->codebuf, ARM_R1, index); + blx(jinfo->codebuf, handlers[H_INVOKEINTERFACE]); + Thumb2_invoke_restore(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); + break; + } + + case opc_invokevirtual: { + constantPoolCacheOop cp = jinfo->method->constants()->cache(); + ConstantPoolCacheEntry* cache; + int index = GET_NATIVE_U2(code_base+bci+1); + unsigned loc; + + cache = cp->entry_at(index); + if (!cache->is_resolved((Bytecodes::Code)opcode)) { + Thumb2_Flush(jinfo); + Thumb2_invoke_save(jinfo, stackdepth); + mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); + mov_imm(jinfo->codebuf, ARM_R1, index); + blx(jinfo->codebuf, handlers[H_INVOKEVIRTUAL]); + Thumb2_invoke_restore(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); + break; + } + + if (cache->is_vfinal()) { + methodOop callee = (methodOop)cache->f2(); + if (callee->is_accessor()) { + u1 *code = callee->code_base(); + int index = GET_NATIVE_U2(&code[2]); + constantPoolCacheOop callee_cache = callee->constants()->cache(); + ConstantPoolCacheEntry *entry = callee_cache->entry_at(index); + Reg r_obj, r; + + if (entry->is_resolved(Bytecodes::_getfield)) { +#if 0 + tty->print("Inlining accessor (opcode = invokevfinal) "); + callee->print_short_name(tty); + tty->print("\n"); +#endif + JASSERT(cache->parameter_size() == 1, "not 1 parameter to accessor"); + + TosState tos_type = entry->flag_state(); + int field_offset = entry->f2(); + + JASSERT(tos_type == btos || tos_type == ctos || tos_type == stos || tos_type == atos || tos_type == itos, "not itos or atos"); + + Thumb2_Fill(jinfo, 1); + r_obj = POP(jstack); + Thumb2_Spill(jinfo, 1, 0); + r = JSTACK_REG(jstack); + PUSH(jstack, r); + if (tos_type == btos) + ldrb_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); + else if (tos_type == ctos) + ldrh_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); + else if (tos_type == stos) + ldrsh_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); + else + ldr_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); + break; + } + } + } + + Thumb2_Flush(jinfo); + if (cache->is_vfinal()) { + ldr_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_METHOD, 1, 0); + ldr_imm(jinfo->codebuf, ARM_R0, Ristate, ISTATE_CONSTANTS, 1, 0); + mov_imm(jinfo->codebuf, ARM_R1, 0); + ldr_imm(jinfo->codebuf, ARM_R3, Rstack, (cache->parameter_size()-1) * sizeof(int), 1, 0); + ldr_imm(jinfo->codebuf, ARM_R0, ARM_R0, CP_OFFSET + (index << 4) + 8, 1, 0); + ldr_imm(jinfo->codebuf, ARM_R2, ARM_R2, METHOD_CONSTMETHOD, 1, 0); + ldr_imm(jinfo->codebuf, ARM_R3, ARM_R3, 0, 1, 0); // Null pointer check - cbz better? + str_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_LAST_JAVA_SP, 1, 0); + ldr_imm(jinfo->codebuf, ARM_R1, ARM_R0, METHOD_FROM_INTERPRETED, 1, 0); + add_imm(jinfo->codebuf, ARM_R2, ARM_R2, bci+CONSTMETHOD_CODEOFFSET); + str_imm(jinfo->codebuf, Rstack, Rthread, THREAD_JAVA_SP, 1, 0); + Thumb2_Debug(jinfo, H_DEBUG_METHODCALL); + Thumb2_invoke_save(jinfo, stackdepth); + sub_imm(jinfo->codebuf, Rstack, Rstack, 4); + ldr_imm(jinfo->codebuf, ARM_R3, ARM_R1, 0, 1, 0); + str_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_BCP, 1, 0); + mov_reg(jinfo->codebuf, ARM_R2, Rthread); + str_imm(jinfo->codebuf, Rstack, Ristate, ISTATE_STACK, 1, 0); +add_imm(jinfo->codebuf, ARM_R3, ARM_R3, CODE_ALIGN_SIZE); +// enter_leave(jinfo->codebuf, 0); + blx_reg(jinfo->codebuf, ARM_R3); +// enter_leave(jinfo->codebuf, 1); + ldr_imm(jinfo->codebuf, Rthread, Ristate, ISTATE_THREAD, 1, 0); +#ifdef USE_RLOCAL + ldr_imm(jinfo->codebuf, Rlocals, Ristate, ISTATE_LOCALS, 1, 0); +#endif + ldr_imm(jinfo->codebuf, Rstack, Rthread, THREAD_JAVA_SP, 1, 0); + ldr_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_STACK_LIMIT, 1, 0); + JASSERT(!(bc_stackinfo[bci+len] & BC_COMPILED), "code already compiled for this bytecode?"); + Thumb2_invoke_restore(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); + ldr_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + add_imm(jinfo->codebuf, ARM_R2, ARM_R2, 4); + ldr_imm(jinfo->codebuf, ARM_R3, Rthread, THREAD_PENDING_EXC, 1, 0); + str_imm(jinfo->codebuf, ARM_R2, Rthread, THREAD_JAVA_SP, 1, 0); + str_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_LAST_JAVA_SP, 1, 0); + cmp_imm(jinfo->codebuf, ARM_R3, 0); + it(jinfo->codebuf, COND_NE, IT_MASK_T); + bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION]); + break; + } else { + ldr_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_METHOD, 1, 0); + ldr_imm(jinfo->codebuf, ARM_R3, Rstack, (cache->parameter_size()-1) * sizeof(int), 1, 0); + ldr_imm(jinfo->codebuf, ARM_R2, ARM_R2, METHOD_CONSTMETHOD, 1, 0); + ldr_imm(jinfo->codebuf, ARM_R3, ARM_R3, 4, 1, 0); + mov_imm(jinfo->codebuf, ARM_R1, 0); + ldr_imm(jinfo->codebuf, ARM_R0, ARM_R3, INSTANCEKLASS_VTABLE_OFFSET + cache->f2() * 4, 1, 0); + add_imm(jinfo->codebuf, ARM_R2, ARM_R2, bci+CONSTMETHOD_CODEOFFSET); + str_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_LAST_JAVA_SP, 1, 0); + ldr_imm(jinfo->codebuf, ARM_R1, ARM_R0, METHOD_FROM_INTERPRETED, 1, 0); + str_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_BCP, 1, 0); + str_imm(jinfo->codebuf, Rstack, Rthread, THREAD_JAVA_SP, 1, 0); + Thumb2_Debug(jinfo, H_DEBUG_METHODCALL); + Thumb2_invoke_save(jinfo, stackdepth); + sub_imm(jinfo->codebuf, Rstack, Rstack, 4); + ldr_imm(jinfo->codebuf, ARM_R3, ARM_R1, 0, 1, 0); + mov_reg(jinfo->codebuf, ARM_R2, Rthread); + str_imm(jinfo->codebuf, Rstack, Ristate, ISTATE_STACK, 1, 0); +add_imm(jinfo->codebuf, ARM_R3, ARM_R3, CODE_ALIGN_SIZE); +// enter_leave(jinfo->codebuf, 0); + blx_reg(jinfo->codebuf, ARM_R3); +// enter_leave(jinfo->codebuf, 1); + ldr_imm(jinfo->codebuf, Rthread, Ristate, ISTATE_THREAD, 1, 0); +#ifdef USE_RLOCAL + ldr_imm(jinfo->codebuf, Rlocals, Ristate, ISTATE_LOCALS, 1, 0); +#endif + ldr_imm(jinfo->codebuf, Rstack, Rthread, THREAD_JAVA_SP, 1, 0); + ldr_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_STACK_LIMIT, 1, 0); + JASSERT(!(bc_stackinfo[bci+len] & BC_COMPILED), "code already compiled for this bytecode?"); + Thumb2_invoke_restore(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); + ldr_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + add_imm(jinfo->codebuf, ARM_R2, ARM_R2, 4); + ldr_imm(jinfo->codebuf, ARM_R3, Rthread, THREAD_PENDING_EXC, 1, 0); + str_imm(jinfo->codebuf, ARM_R2, Rthread, THREAD_JAVA_SP, 1, 0); + str_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_LAST_JAVA_SP, 1, 0); + cmp_imm(jinfo->codebuf, ARM_R3, 0); + it(jinfo->codebuf, COND_NE, IT_MASK_T); + bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION]); + } + break; + } + + case opc_jsr_w: + case opc_jsr: { + Thumb2_Jsr(jinfo , bci, stackdepth); + break; + } + + case opc_ret: { + Thumb2_Exit(jinfo, H_RET, bci, stackdepth); + break; + } + + case opc_athrow: + Thumb2_Exit(jinfo, H_ATHROW, bci, stackdepth); + break; + + case opc_goto: { + int offset = GET_JAVA_S2(jinfo->code_base + bci + 1); + Thumb2_Flush(jinfo); + bci = Thumb2_Goto(jinfo, bci, offset, len); + len = 0; + break; + } + + case opc_goto_w: { + int offset = GET_JAVA_U4(jinfo->code_base + bci + 1); + Thumb2_Flush(jinfo); + bci = Thumb2_Goto(jinfo, bci, offset, len); + len = 0; + break; + } + + case opc_ifeq: + case opc_ifne: + case opc_iflt: + case opc_ifge: + case opc_ifgt: + case opc_ifle: + case opc_ifnull: + case opc_ifnonnull: { + Reg r; + unsigned cond = opcode - opc_ifeq; + if (opcode >= opc_ifnull) cond = opcode - opc_ifnull; + Thumb2_Fill(jinfo, 1); + r = POP(jstack); + Thumb2_Flush(jinfo); + cmp_imm(jinfo->codebuf, r, 0); + bci = Thumb2_Branch(jinfo, bci, cond); + len = 0; + break; + } + + case opc_if_icmpeq: + case opc_if_icmpne: + case opc_if_icmplt: + case opc_if_icmpge: + case opc_if_icmpgt: + case opc_if_icmple: + case opc_if_acmpeq: + case opc_if_acmpne: { + Reg r_lho, r_rho; + unsigned cond = opcode - opc_if_icmpeq; + if (opcode >= opc_if_acmpeq) cond = opcode - opc_if_acmpeq; + Thumb2_Fill(jinfo, 2); + r_rho = POP(jstack); + r_lho = POP(jstack); + Thumb2_Flush(jinfo); + cmp_reg(jinfo->codebuf, r_lho, r_rho); + bci = Thumb2_Branch(jinfo, bci, cond); + len = 0; + break; + } + + case opc_return: + case opc_dreturn: + case opc_lreturn: + case opc_ireturn: + case opc_freturn: + case opc_areturn: + Thumb2_Return(jinfo, opcode); + if (!jinfo->compiled_return) jinfo->compiled_return = bci; + break; + + case opc_new: { + unsigned loc; + + Thumb2_Flush(jinfo); + mov_imm(jinfo->codebuf, ARM_R1, GET_JAVA_U2(code_base+bci+1)); + mov_imm(jinfo->codebuf, ARM_R3, bci+CONSTMETHOD_CODEOFFSET); + Thumb2_save_locals(jinfo, stackdepth); + bl(jinfo->codebuf, handlers[H_NEW]); + Thumb2_restore_locals(jinfo, stackdepth); + cmp_imm(jinfo->codebuf, ARM_R0, 0); + it(jinfo->codebuf, COND_EQ, IT_MASK_T); + bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION]); + PUSH(jstack, ARM_R0); + break; + } + + case opc_aastore: { + Reg src[3], dst[3]; + unsigned loc; + + Thumb2_Fill(jinfo, 3); + src[0] = POP(jstack); // value + src[1] = POP(jstack); // index + src[2] = POP(jstack); // arrayref + Thumb2_Flush(jinfo); + dst[0] = ARM_R1; + dst[1] = ARM_R2; + dst[2] = ARM_R3; + mov_multiple(jinfo->codebuf, dst, src, 3); + mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); + Thumb2_save_locals(jinfo, stackdepth - 3); // 3 args popped above + bl(jinfo->codebuf, handlers[H_AASTORE]); + Thumb2_restore_locals(jinfo, stackdepth - 3); + cmp_imm(jinfo->codebuf, ARM_R0, 0); + it(jinfo->codebuf, COND_NE, IT_MASK_T); + bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION]); + break; + } + + case opc_instanceof: { + unsigned loc; + Reg r; + + Thumb2_Fill(jinfo, 1); + r = POP(jstack); + Thumb2_Flush(jinfo); + mov_reg(jinfo->codebuf, ARM_R2, r); + mov_imm(jinfo->codebuf, ARM_R1, GET_JAVA_U2(code_base+bci+1)); + mov_imm(jinfo->codebuf, ARM_R3, bci+CONSTMETHOD_CODEOFFSET); + Thumb2_save_locals(jinfo, stackdepth - 1); + bl(jinfo->codebuf, handlers[H_INSTANCEOF]); + Thumb2_restore_locals(jinfo, stackdepth - 1); // 1 arg popped above + cmp_imm(jinfo->codebuf, ARM_R0, (unsigned)-1); + it(jinfo->codebuf, COND_EQ, IT_MASK_T); + bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION]); + PUSH(jstack, ARM_R0); + break; + } + + case opc_checkcast: { + unsigned loc; + Reg r; + + Thumb2_Fill(jinfo, 1); + r = TOS(jstack); + Thumb2_Flush(jinfo); + mov_reg(jinfo->codebuf, ARM_R2, r); + mov_imm(jinfo->codebuf, ARM_R1, GET_JAVA_U2(code_base+bci+1)); + mov_imm(jinfo->codebuf, ARM_R3, bci+CONSTMETHOD_CODEOFFSET); + Thumb2_save_locals(jinfo, stackdepth); + bl(jinfo->codebuf, handlers[H_CHECKCAST]); + Thumb2_restore_locals(jinfo, stackdepth); + cmp_imm(jinfo->codebuf, ARM_R0, 0); + it(jinfo->codebuf, COND_NE, IT_MASK_T); + bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION]); + break; + } + + case opc_newarray: { + Reg r; + unsigned loc; + + Thumb2_Fill(jinfo, 1); + r = POP(jstack); + Thumb2_Flush(jinfo); + mov_reg(jinfo->codebuf, ARM_R2, r); + mov_imm(jinfo->codebuf, ARM_R1, code_base[bci+1]); + mov_imm(jinfo->codebuf, ARM_R3, bci+CONSTMETHOD_CODEOFFSET); + Thumb2_save_locals(jinfo, stackdepth-1); + bl(jinfo->codebuf, handlers[H_NEWARRAY]); + Thumb2_restore_locals(jinfo, stackdepth-1); + ldr_imm(jinfo->codebuf, ARM_R0, Rthread, THREAD_VM_RESULT, 1, 0); + mov_imm(jinfo->codebuf, ARM_R2, 0); + str_imm(jinfo->codebuf, ARM_R2, Rthread, THREAD_VM_RESULT, 1, 0); + cmp_imm(jinfo->codebuf, ARM_R0, 0); + it(jinfo->codebuf, COND_EQ, IT_MASK_T); + bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION]); + PUSH(jstack, ARM_R0); + break; + } + + case opc_anewarray: { + Reg r; + unsigned loc; + + Thumb2_Fill(jinfo, 1); + r = POP(jstack); + Thumb2_Flush(jinfo); + mov_reg(jinfo->codebuf, ARM_R3, r); + mov_imm(jinfo->codebuf, ARM_R2, GET_JAVA_U2(code_base+bci+1)); + mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); + Thumb2_save_locals(jinfo, stackdepth-1); + bl(jinfo->codebuf, handlers[H_ANEWARRAY]); + Thumb2_restore_locals(jinfo, stackdepth-1); + ldr_imm(jinfo->codebuf, ARM_R0, Rthread, THREAD_VM_RESULT, 1, 0); + mov_imm(jinfo->codebuf, ARM_R2, 0); + str_imm(jinfo->codebuf, ARM_R2, Rthread, THREAD_VM_RESULT, 1, 0); + cmp_imm(jinfo->codebuf, ARM_R0, 0); + it(jinfo->codebuf, COND_EQ, IT_MASK_T); + bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION]); + PUSH(jstack, ARM_R0); + break; + } + + case opc_multianewarray: { + unsigned loc; + + Thumb2_Flush(jinfo); + mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); + mov_imm(jinfo->codebuf, ARM_R1, code_base[bci+3] * 4); + Thumb2_save_locals(jinfo, stackdepth); + bl(jinfo->codebuf, handlers[H_MULTIANEWARRAY]); + Thumb2_restore_locals(jinfo, stackdepth - code_base[bci+3]); + ldr_imm(jinfo->codebuf, ARM_R0, Rthread, THREAD_VM_RESULT, 1, 0); + mov_imm(jinfo->codebuf, ARM_R2, 0); + str_imm(jinfo->codebuf, ARM_R2, Rthread, THREAD_VM_RESULT, 1, 0); + cmp_imm(jinfo->codebuf, ARM_R0, 0); + it(jinfo->codebuf, COND_EQ, IT_MASK_T); + bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION]); + PUSH(jstack, ARM_R0); + break; + } + + case opc_arraylength: { + Reg r_obj, r_len; + + Thumb2_Fill(jinfo, 1); + r_obj = POP(jstack); + Thumb2_Spill(jinfo, 1, 0); + r_len = JSTACK_REG(jstack); + PUSH(jstack, r_len); + ldr_imm(jinfo->codebuf, r_len, r_obj, 8, 1, 0); + break; + } + + case opc_lookupswitch: { + unsigned w; + unsigned nbci; + int def; + int npairs; // The Java spec says signed but must be >= 0?? + unsigned *table, *tablep; + unsigned r; + unsigned oldidx; + unsigned table_loc; + int i; + + nbci = bci & ~3; + w = *(unsigned int *)(code_base + nbci + 4); + def = bci + (int)BYTESEX_REVERSE(w); + w = *(unsigned int *)(code_base + nbci + 8); + npairs = (int)BYTESEX_REVERSE(w); + table = (unsigned int *)(code_base + nbci + 12); + + Thumb2_Fill(jinfo, 1); + r = POP(jstack); + + table_loc = out_loc(jinfo->codebuf); + for (i = 0, tablep = table; i < npairs; i++) { + unsigned match; + + w = tablep[0]; + match = BYTESEX_REVERSE(w); + tablep += 2; + cmp_imm(jinfo->codebuf, r, match); + t2_bug_align(jinfo->codebuf); + forward_32(jinfo->codebuf); + } + t2_bug_align(jinfo->codebuf); + forward_32(jinfo->codebuf); + Thumb2_codegen(jinfo, bci+len); + + oldidx = codebuf->idx; + codebuf->idx = table_loc >> 1; + for (i = 0, tablep = table; i < npairs; i++) { + unsigned match; + unsigned dest; + unsigned loc; + + w = tablep[0]; + match = BYTESEX_REVERSE(w); + w = tablep[1]; + dest = bci + (int)BYTESEX_REVERSE(w); + tablep += 2; + cmp_imm(jinfo->codebuf, r, match); + JASSERT(jinfo->bc_stackinfo[dest] & BC_COMPILED, "code not compiled"); + t2_bug_align(jinfo->codebuf); + loc = forward_32(jinfo->codebuf); + branch_patch(jinfo->codebuf, COND_EQ, loc, jinfo->bc_stackinfo[dest] & ~BC_FLAGS_MASK); + } + JASSERT(jinfo->bc_stackinfo[def] & BC_COMPILED, "default in lookupswitch not compiled"); + t2_bug_align(jinfo->codebuf); + branch_uncond_patch(jinfo->codebuf, out_loc(jinfo->codebuf), jinfo->bc_stackinfo[def] & ~BC_FLAGS_MASK); + codebuf->idx = oldidx; + + bci = (unsigned)-1; + len = 0; + + break; + } + + case opc_tableswitch: { + int low, high, i; + unsigned w; + unsigned *table, *tablep; + unsigned nbci; + int def; + unsigned loc, table_loc; + unsigned r, rs; + unsigned oldidx; + unsigned negative_offsets, negative_branch_table; + + nbci = bci & ~3; + w = *(unsigned int *)(code_base + nbci + 8); + low = (int)BYTESEX_REVERSE(w); + w = *(unsigned int *)(code_base + nbci + 12); + high = (int)BYTESEX_REVERSE(w); + w = *(unsigned int *)(code_base + nbci + 4); + def = bci + (int)BYTESEX_REVERSE(w); + table = (unsigned int *)(code_base + nbci + 16); + + Thumb2_Fill(jinfo, 1); + rs = POP(jstack); + r = Thumb2_Tmp(jinfo, (1<codebuf, r, rs, low); + cmp_imm(jinfo->codebuf, r, (high-low)+1); + loc = 0; + if (jinfo->bc_stackinfo[def] & BC_COMPILED) + branch(jinfo->codebuf, COND_CS, jinfo->bc_stackinfo[def] & ~BC_FLAGS_MASK); + else + loc = forward_32(jinfo->codebuf); + tbh(jinfo->codebuf, ARM_PC, r); + table_loc = out_loc(jinfo->codebuf); + negative_offsets = 0; + for (i = low, tablep = table; i <= high; i++) { + int offset; + w = *tablep++; + offset = (int)BYTESEX_REVERSE(w); + if (offset < 0) negative_offsets++; + out_16(jinfo->codebuf, 0); + } + negative_branch_table = out_loc(jinfo->codebuf); + for (i = 0; i < (int)negative_offsets; i++) { + t2_bug_align(jinfo->codebuf); + out_16x2(jinfo->codebuf, 0); + } + + Thumb2_codegen(jinfo, bci+len); + + if (loc) { + JASSERT(jinfo->bc_stackinfo[def] & BC_COMPILED, "def not compiled in tableswitch"); + branch_patch(jinfo->codebuf, COND_CS, loc, jinfo->bc_stackinfo[def] & ~BC_FLAGS_MASK); + } + + oldidx = codebuf->idx; + codebuf->idx = table_loc >> 1; + for (i = low, tablep = table; i <= high; i++) { + unsigned dest; + int offset; + + w = *tablep++; + offset = (int)BYTESEX_REVERSE(w); + dest = bci + offset; + JASSERT(jinfo->bc_stackinfo[dest] & BC_COMPILED, "code not compiled"); + dest = jinfo->bc_stackinfo[dest] & ~BC_FLAGS_MASK; + if (offset < 0) { + unsigned oldidx; + out_16(jinfo->codebuf, (negative_branch_table >> 1) - (table_loc >> 1)); + PATCH(negative_branch_table) { + t2_bug_align(jinfo->codebuf); + branch_uncond_patch(jinfo->codebuf, out_loc(jinfo->codebuf), dest); + negative_branch_table = out_loc(jinfo->codebuf); + } HCTAP; + } else { + JASSERT((dest & 1) == 0 && (table_loc & 1) == 0, "unaligned code"); + offset = (dest >> 1) - (table_loc >> 1); + JASSERT(offset < 65536, "offset too big in tableswitch"); + out_16(jinfo->codebuf, offset); + } + } + codebuf->idx = oldidx; + bci = (unsigned)-1; + len = 0; + break; + } + + case opc_wide: { + unsigned local = GET_JAVA_U2(code_base + bci + 2); + opcode = code_base[bci+1]; + if (opcode == opc_iinc) { + int constant = GET_JAVA_S2(code_base + bci + 4); + unsigned r = jinfo->jregs->r_local[local]; + + if (!r) { + int nlocals = jinfo->method->max_locals(); + r = ARM_IP; + stackdepth -= jstack->depth; + if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); + load_local(jinfo, r, local, stackdepth); + add_imm(jinfo->codebuf, r, r, constant); + store_local(jinfo, r, local, stackdepth); + } else { + Thumb2_Corrupt(jinfo, r, 0); + add_imm(jinfo->codebuf, r, r, constant); + } + } else if (opcode == opc_ret) { + Thumb2_Exit(jinfo, H_RET, bci, stackdepth); + } else { + if (opcode == opc_iload || + opcode == opc_fload || opcode == opc_aload) + Thumb2_Load(jinfo, local, stackdepth); + else if (opcode == opc_lload || opcode == opc_dload) + Thumb2_LoadX2(jinfo, local, stackdepth); + else if (opcode == opc_istore || + opcode == opc_fstore || opcode == opc_astore) + Thumb2_Store(jinfo, local, stackdepth); + else if (opcode == opc_lstore || opcode == opc_dstore) + Thumb2_StoreX2(jinfo, local, stackdepth); + else fatal1("Undefined wide opcode %d\n", opcode); + } + break; + } + + default: + printf("unknown bytecode = %d\n", opcode); + JASSERT(0, "unknown bytecode"); + break; + } + bci += len; +#ifdef T2EE_PRINT_DISASS + if (len == 0) { + if (start_idx == jinfo->codebuf->idx) start_bci[start_idx] = -1; + } else + end_bci[start_idx] = bci; +#endif + } +} + +void Thumb2_tablegen(Thumb2_Info *jinfo) +{ + unsigned code_size = jinfo->code_size; + jubyte *code_base = jinfo->code_base; + unsigned *bc_stackinfo = jinfo->bc_stackinfo; + unsigned bci; + unsigned *count_pos = (unsigned *)out_pos(jinfo->codebuf); + unsigned count = 0; + + out_32(jinfo->codebuf, 0); + bc_stackinfo[0] |= BC_BACK_TARGET; + for (bci = 0; bci < code_size;) { + unsigned stackinfo = bc_stackinfo[bci]; + unsigned bytecodeinfo; + unsigned opcode; + + if (stackinfo & BC_BACK_TARGET) { + unsigned code_offset = (stackinfo & ~BC_FLAGS_MASK) >> 1; + JASSERT(stackinfo & BC_COMPILED, "back branch target not compiled???"); + JASSERT(code_offset < (1<<16), "oops, codesize too big"); + out_32(jinfo->codebuf, (bci << 16) | code_offset); + count++; + } + + opcode = code_base[bci]; + bytecodeinfo = bcinfo[opcode]; + if (!BCI_SPECIAL(bytecodeinfo)) { + bci += BCI_LEN(bytecodeinfo); + continue; + } else { + int len = Bytecodes::length_for((Bytecodes::Code)opcode); + if (len <= 0) len = Bytecodes::special_length_at((address)(code_base+bci), (address)(code_base+code_size)); + bci += len; + } + } + *count_pos = count; +} + +unsigned Thumb2_osr_from_bci(unsigned slow_entry, unsigned bci) +{ + unsigned *osr_table; + unsigned count; + unsigned i; + + slow_entry &= ~1; + osr_table = *(unsigned **)(slow_entry+12); + if (!osr_table) return 0; + count = *osr_table++; + for (i = 0; i < count; i++) { + unsigned u = *osr_table++; + + if (bci == (u>>16)) return (u & 0xffff) << 1; + } + return 0; +} + +static int DebugSwitch = 1; + +extern "C" void Debug_Ignore_Safepoints(void) +{ + printf("Ignore Safepoints\n"); +} + +extern "C" void Debug_Notice_Safepoints(void) +{ + printf("Notice Safepoints\n"); +} + +extern "C" void Debug_ExceptionReturn(interpreterState istate, intptr_t *stack) +{ + JavaThread *thread = istate->thread(); + + if (thread->has_pending_exception()) { + Handle ex(thread, thread->pending_exception()); + tty->print_cr("Exception %s", Klass::cast(ex->klass())->external_name()); + } +} + +extern "C" void Debug_Stack(intptr_t *stack) +{ + int i; + char msg[16]; + + tty->print(" Stack:"); + for (i = 0; i < 6; i++) { + tty->print(" ["); + sprintf(msg, "%d", i); + tty->print(msg); + tty->print("] = "); + sprintf(msg, "%08x", (int)stack[i]); + tty->print(msg); + } + tty->cr(); +} + +extern "C" void Debug_MethodEntry(interpreterState istate, intptr_t *stack, methodOop callee) +{ +#if 0 + if (DebugSwitch) { + methodOop method = istate->method(); + tty->print("Entering "); + callee->print_short_name(tty); + tty->print(" from "); + method->print_short_name(tty); + tty->cr(); + Debug_Stack(stack); + tty->flush(); + } +#endif +} + +extern "C" void Debug_MethodExit(interpreterState istate, intptr_t *stack) +{ + if (DebugSwitch) { + methodOop method = istate->method(); + JavaThread *thread = istate->thread(); + oop exc = thread->pending_exception(); + + if (!exc) return; + tty->print("Leaving "); + method->print_short_name(tty); + tty->cr(); + Debug_Stack(stack); + tty->flush(); + if (exc) tty->print_cr("Exception %s", exc->print_value_string()); + } +} + +extern "C" void Debug_MethodCall(interpreterState istate, intptr_t *stack, methodOop callee) +{ +#if 0 + if (DebugSwitch) { + methodOop method = istate->method(); + tty->print("Calling "); + callee->print_short_name(tty); + tty->print(" from "); + method->print_short_name(tty); + tty->cr(); + Debug_Stack(stack); + tty->flush(); + } +#endif +} + +extern "C" int Debug_irem_Handler(int a, int b) +{ + printf("%d %% %d\n", a, b); + return a%b; +} + +extern "C" void Thumb2_Install(methodOop mh, u32 entry); + +#define IS_COMPILED(e, cb) ((e) >= (unsigned)(cb) && (e) < (unsigned)(cb) + (cb)->size) + +static unsigned compiling; +static unsigned CompileCount = 0; +static unsigned MaxCompile = 75; + +#define COMPILE_ONLY 0 +#define COMPILE_COUNT 0 +#define DISASS_AFTER 0 +//#define COMPILE_LIST 0 + +#ifdef COMPILE_LIST +static const char *compile_list[] = { + "java.util.concurrent.ConcurrentHashMap.(IFI)V", + 0 +}; +#endif + +static unsigned compiled_methods = 0; + +#ifdef T2EE_PRINT_STATISTICS +static unsigned bytecodes_compiled = 0; +static unsigned arm_code_generated = 0; +static unsigned total_zombie_bytes = 0; +static clock_t total_compile_time = 0; +#endif + +extern "C" void Thumb2_Clear_Cache(char *base, char *limit); + +extern unsigned CPUInfo; + +extern "C" unsigned long long Thumb2_Compile(JavaThread *thread, unsigned branch_pc) +{ + frame fr = thread->last_frame(); + methodOop method = fr.interpreter_frame_method(); + symbolOop name = method->name(); + symbolOop sig = method->signature(); + jbyte *base = sig->base();; + + jubyte *code_base = (jubyte *)method->code_base(); + int code_size = method->code_size(); + InvocationCounter* ic = method->invocation_counter(); + InvocationCounter* bc = method->backedge_counter(); + Thumb2_Info jinfo_str; + CodeBuf codebuf_str; + Thumb2_Stack jstack_str; + Thumb2_Registers jregs_str; + int idx; + u32 code_handle, slow_entry; + u32 osr_entry; + Thumb2_CodeBuf *cb = thumb2_codebuf; + int compiled_accessor; + + if (!(CPUInfo & ARCH_THUMBEE)) { + ic->decay(); + bc->decay(); + return 0; + } + + slow_entry = *(unsigned *)method->from_interpreted_entry(); + if (IS_COMPILED(slow_entry, cb)) { + osr_entry = Thumb2_osr_from_bci(slow_entry, branch_pc); + if (osr_entry == 0) return 0; + return ((unsigned long long)(slow_entry + 16)) << 32 | (slow_entry+osr_entry); + } + + ic->decay(); + bc->decay(); + + // Dont compile anything with code size >= 32K. + // We rely on the bytecode index fitting in 16 bits + if (code_size >= 8000) + return 0; + + // Dont compile anything with max stack + maxlocal > 1K + // The range of an LDR in T2 is -4092..4092 + // Othersize we have difficulty access the locals from the stack pointer + if ((method->max_locals() + method->max_stack()) >= 1000) + return 0; + + if (COMPILE_COUNT && compiled_methods == COMPILE_COUNT) return 0; + + if (method->has_monitor_bytecodes()) return 0; + + if (method->has_exception_handler()) return 0; + + if (COMPILE_ONLY) { + if (strcmp(name->as_C_string(), COMPILE_ONLY) != 0) return 0; + } + +#ifdef COMPILE_LIST + { + const char **argv = compile_list; + const char *s; + while (s = *argv++) { + if (strcmp(s, method->name_and_sig_as_C_string()) == 0) + break; + } + if (!s) return 0; + } +#endif + + if (compiling) return 0; + compiling = 1; + +#ifdef T2EE_PRINT_STATISTICS + clock_t compile_time = clock(); +#endif + +#ifdef T2EE_PRINT_COMPILATION + if (t2ee_print_compilation) { + tty->print("Compiling (%d) ", compiled_methods); + tty->print_cr("%s", method->name_and_sig_as_C_string()); + } +#endif + + memset(bc_stackinfo, 0, code_size * sizeof(unsigned)); + memset(locals_info, 0, method->max_locals() * sizeof(unsigned)); +#ifdef T2EE_PRINT_DISASS + memset(start_bci, 0xff, sizeof(start_bci)); + memset(end_bci, 0xff, sizeof(end_bci)); +#endif + + jinfo_str.thread = thread; + jinfo_str.method = method; + jinfo_str.code_base = code_base; + jinfo_str.code_size = code_size; + jinfo_str.bc_stackinfo = bc_stackinfo; + jinfo_str.locals_info = locals_info; + jinfo_str.compiled_return = 0; + jinfo_str.zombie_bytes = 0; + + Thumb2_local_info_from_sig(&jinfo_str, method, base); + + Thumb2_pass1(&jinfo_str, 0); + Thumb2_pass2(&jinfo_str, 0, 0); + + codebuf_str.codebuf = (unsigned short *)cb->hp; + codebuf_str.idx = 0; + + jstack_str.stack = stack; + jstack_str.depth = 0; + + memset(r_local, 0, method->max_locals() * sizeof(unsigned)); + + jregs_str.r_local = r_local; + + jinfo_str.codebuf = &codebuf_str; + jinfo_str.jstack = &jstack_str; + jinfo_str.jregs = &jregs_str; + +#ifdef USE_RLOCAL + { + Reg pregs[4]; + pregs[0] = JAZ_V1; + pregs[1] = JAZ_V2; + pregs[2] = JAZ_V4; + pregs[3] = JAZ_V5; + Thumb2_RegAlloc(&jinfo_str, pregs, 4); + } +#else + { + Reg pregs[5]; + pregs[0] = JAZ_V1; + pregs[1] = JAZ_V2; + pregs[2] = JAZ_V3; + pregs[3] = JAZ_V4; + pregs[4] = JAZ_V5; + Thumb2_RegAlloc(&jinfo_str, pregs, 5); + } +#endif + + slow_entry = out_align(&codebuf_str, CODE_ALIGN); + + cb->hp += codebuf_str.idx * 2; + codebuf_str.codebuf = (unsigned short *)cb->hp; + codebuf_str.idx = 0; + + compiled_accessor = 0; + if (method->is_accessor() && Thumb2_Accessor(&jinfo_str)) { + compiled_accessor = 1; + } else { + Thumb2_Enter(&jinfo_str); + Thumb2_codegen(&jinfo_str, 0); + } + +#ifdef T2EE_PRINT_DISASS + if (DISASS_AFTER == 0 || compiled_methods >= DISASS_AFTER) + if (t2ee_print_disass) + Thumb2_disass(&jinfo_str); +#endif + + Thumb2_Clear_Cache(cb->hp, cb->hp + codebuf_str.idx * 2); + +#ifdef T2EE_PRINT_STATISTICS + compile_time = clock() - compile_time; + total_compile_time += compile_time; + + if (t2ee_print_statistics) { + unsigned codegen = codebuf_str.idx * 2; + bytecodes_compiled += code_size; + arm_code_generated += codegen; + total_zombie_bytes += jinfo_str.zombie_bytes; + tty->print("%d bytecodes => %d bytes code in %.2f sec, totals: %d => %d in %.2f sec\n", + code_size, codegen, (double)compile_time/(double)CLOCKS_PER_SEC, + bytecodes_compiled, arm_code_generated, (double)total_compile_time/(double)CLOCKS_PER_SEC); + } +#endif + + code_handle = out_align(&codebuf_str, sizeof(address)); + + out_32(&codebuf_str, slow_entry + 1); + + if (!compiled_accessor) { + unsigned osr_entry_table = out_pos(jinfo_str.codebuf); + + Thumb2_tablegen(&jinfo_str); + + *(unsigned *)(slow_entry + 12) = osr_entry_table; + } + + cb->hp += codebuf_str.idx * 2; + + Thumb2_Install(method, code_handle); + + compiled_methods++; + + compiling = 0; + + osr_entry = Thumb2_osr_from_bci(slow_entry, branch_pc); + + if (osr_entry == 0) return 0; + + return ((unsigned long long)(slow_entry + 16 + 1)) << 32 | (slow_entry+osr_entry+1); +} + +extern "C" void Thumb2_DivZero_Handler(void); +extern "C" void Thumb2_ArrayBounds_Handler(void); +extern "C" void Thumb2_Handle_Exception(void); +extern "C" void Thumb2_Exit_To_Interpreter(void); + +extern "C" void __divsi3(void); +extern "C" void __aeabi_ldivmod(void); +extern "C" void __aeabi_i2f(void); +extern "C" void __aeabi_i2d(void); +extern "C" void __aeabi_l2f(void); +extern "C" void __aeabi_l2d(void); +extern "C" void __aeabi_f2d(void); +extern "C" void __aeabi_d2f(void); +extern "C" void Helper_new(void); +extern "C" void Helper_instanceof(void); +extern "C" void Helper_checkcast(void); +extern "C" void Helper_aastore(void); +extern "C" void Helper_aputfield(void); +extern "C" void Helper_synchronized_enter(void); +extern "C" void Helper_synchronized_exit(void); + +extern "C" void _ZN13SharedRuntime3f2iEf(void); +extern "C" void _ZN13SharedRuntime3f2lEf(void); +extern "C" void _ZN13SharedRuntime3d2iEd(void); +extern "C" void _ZN13SharedRuntime3d2lEd(void); +extern "C" void _ZN18InterpreterRuntime8newarrayEP10JavaThread9BasicTypei(void); +extern "C" void _ZN18InterpreterRuntime9anewarrayEP10JavaThreadP19constantPoolOopDescii(void); +extern "C" void _ZN18InterpreterRuntime14multianewarrayEP10JavaThreadPi(void); +extern "C" void _ZN18InterpreterRuntime3ldcEP10JavaThreadb(void); + +extern char Thumb2_stubs[]; +extern char Thumb2_stubs_end[]; +extern char Thumb2_idiv_stub[]; +extern char Thumb2_irem_stub[]; +extern char Thumb2_invokeinterface_stub[]; +extern char Thumb2_invokevirtual_stub[]; +extern char Thumb2_invokestatic_stub[]; +extern char Thumb2_invokespecial_stub[]; +extern char Thumb2_getfield_word_stub[]; +extern char Thumb2_getfield_sh_stub[]; +extern char Thumb2_getfield_h_stub[]; +extern char Thumb2_getfield_sb_stub[]; +extern char Thumb2_getfield_dw_stub[]; +extern char Thumb2_putfield_word_stub[]; +extern char Thumb2_putfield_h_stub[]; +extern char Thumb2_putfield_b_stub[]; +extern char Thumb2_putfield_a_stub[]; +extern char Thumb2_putfield_dw_stub[]; +extern char Thumb2_getstatic_word_stub[]; +extern char Thumb2_getstatic_sh_stub[]; +extern char Thumb2_getstatic_h_stub[]; +extern char Thumb2_getstatic_sb_stub[]; +extern char Thumb2_getstatic_dw_stub[]; +extern char Thumb2_putstatic_word_stub[]; +extern char Thumb2_putstatic_h_stub[]; +extern char Thumb2_putstatic_b_stub[]; +extern char Thumb2_putstatic_a_stub[]; +extern char Thumb2_putstatic_dw_stub[]; + +#define STUBS_SIZE (Thumb2_stubs_end-Thumb2_stubs) +#define IDIV_STUB (Thumb2_idiv_stub-Thumb2_stubs) +#define IREM_STUB (Thumb2_irem_stub-Thumb2_stubs) +#define INVOKEINTERFACE_STUB (Thumb2_invokeinterface_stub-Thumb2_stubs) +#define INVOKEVIRTUAL_STUB (Thumb2_invokevirtual_stub-Thumb2_stubs) +#define INVOKESTATIC_STUB (Thumb2_invokestatic_stub-Thumb2_stubs) +#define INVOKESPECIAL_STUB (Thumb2_invokespecial_stub-Thumb2_stubs) +#define GETFIELD_WORD_STUB (Thumb2_getfield_word_stub-Thumb2_stubs) +#define GETFIELD_SH_STUB (Thumb2_getfield_sh_stub-Thumb2_stubs) +#define GETFIELD_H_STUB (Thumb2_getfield_h_stub-Thumb2_stubs) +#define GETFIELD_SB_STUB (Thumb2_getfield_sb_stub-Thumb2_stubs) +#define GETFIELD_DW_STUB (Thumb2_getfield_dw_stub-Thumb2_stubs) +#define PUTFIELD_WORD_STUB (Thumb2_putfield_word_stub-Thumb2_stubs) +#define PUTFIELD_H_STUB (Thumb2_putfield_h_stub-Thumb2_stubs) +#define PUTFIELD_B_STUB (Thumb2_putfield_b_stub-Thumb2_stubs) +#define PUTFIELD_A_STUB (Thumb2_putfield_a_stub-Thumb2_stubs) +#define PUTFIELD_DW_STUB (Thumb2_putfield_dw_stub-Thumb2_stubs) +#define GETSTATIC_WORD_STUB (Thumb2_getstatic_word_stub-Thumb2_stubs) +#define GETSTATIC_SH_STUB (Thumb2_getstatic_sh_stub-Thumb2_stubs) +#define GETSTATIC_H_STUB (Thumb2_getstatic_h_stub-Thumb2_stubs) +#define GETSTATIC_SB_STUB (Thumb2_getstatic_sb_stub-Thumb2_stubs) +#define GETSTATIC_DW_STUB (Thumb2_getstatic_dw_stub-Thumb2_stubs) +#define PUTSTATIC_WORD_STUB (Thumb2_putstatic_word_stub-Thumb2_stubs) +#define PUTSTATIC_H_STUB (Thumb2_putstatic_h_stub-Thumb2_stubs) +#define PUTSTATIC_B_STUB (Thumb2_putstatic_b_stub-Thumb2_stubs) +#define PUTSTATIC_A_STUB (Thumb2_putstatic_a_stub-Thumb2_stubs) +#define PUTSTATIC_DW_STUB (Thumb2_putstatic_dw_stub-Thumb2_stubs) + +extern "C" void Thumb2_NullPtr_Handler(void); + + +extern "C" int Thumb2_Check_Null(unsigned *regs, unsigned pc) +{ + Thumb2_CodeBuf *cb = thumb2_codebuf; + if (!(CPUInfo & ARCH_THUMBEE)) return 0; + if (IS_COMPILED(pc, cb)) { + regs[ARM_PC] = (unsigned)Thumb2_NullPtr_Handler; + regs[ARM_CPSR] &= ~CPSR_THUMB_BIT; + return 1; + } + return 0; +} + +extern "C" void Thumb2_Initialize(void) +{ + CodeBuf codebuf; + Thumb2_CodeBuf *cb; + u32 h_divzero; + u32 loc_irem, loc_idiv, loc_ldiv; + +#ifdef T2EE_PRINT_COMPILATION + t2ee_print_compilation = getenv("T2EE_PRINT_COMPILATION"); +#endif +#ifdef T2EE_PRINT_STATISTICS + t2ee_print_statistics = getenv("T2EE_PRINT_STATISTICS"); +#endif +#ifdef T2EE_PRINT_DISASS + t2ee_print_disass = getenv("T2EE_PRINT_DISASS"); +#endif +#ifdef T2EE_PRINT_REGUSAGE + t2ee_print_regusage = getenv("T2EE_PRINT_REGUSAGE"); +#endif + + cb = (Thumb2_CodeBuf *)mmap(0, THUMB2_CODEBUF_SIZE, PROT_EXEC|PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0); + if (cb == MAP_FAILED) { + UseCompiler = 0; + return; + } + + cb->size = THUMB2_CODEBUF_SIZE; + cb->hp = (char *)cb + sizeof(Thumb2_CodeBuf); + cb->sp = (char *)cb + THUMB2_CODEBUF_SIZE; + + codebuf.codebuf = (unsigned short *)cb->hp; + codebuf.idx = 0; + +#if 1 + memcpy(cb->hp, Thumb2_stubs, STUBS_SIZE); + + handlers[H_IDIV] = (unsigned)(cb->hp + IDIV_STUB); + handlers[H_IREM] = (unsigned)(cb->hp + IREM_STUB); + handlers[H_INVOKEINTERFACE] = (unsigned)(cb->hp + INVOKEINTERFACE_STUB); + handlers[H_INVOKEVIRTUAL] = (unsigned)(cb->hp + INVOKEVIRTUAL_STUB); + handlers[H_INVOKESTATIC] = (unsigned)(cb->hp + INVOKESTATIC_STUB); + handlers[H_INVOKESPECIAL] = (unsigned)(cb->hp + INVOKESPECIAL_STUB); + + handlers[H_GETFIELD_WORD] = (unsigned)(cb->hp + GETFIELD_WORD_STUB); + handlers[H_GETFIELD_SH] = (unsigned)(cb->hp + GETFIELD_SH_STUB); + handlers[H_GETFIELD_H] = (unsigned)(cb->hp + GETFIELD_H_STUB); + handlers[H_GETFIELD_SB] = (unsigned)(cb->hp + GETFIELD_SB_STUB); + handlers[H_GETFIELD_DW] = (unsigned)(cb->hp + GETFIELD_DW_STUB); + + handlers[H_PUTFIELD_WORD] = (unsigned)(cb->hp + PUTFIELD_WORD_STUB); + handlers[H_PUTFIELD_H] = (unsigned)(cb->hp + PUTFIELD_H_STUB); + handlers[H_PUTFIELD_B] = (unsigned)(cb->hp + PUTFIELD_B_STUB); + handlers[H_PUTFIELD_A] = (unsigned)(cb->hp + PUTFIELD_A_STUB); + handlers[H_PUTFIELD_DW] = (unsigned)(cb->hp + PUTFIELD_DW_STUB); + + handlers[H_GETSTATIC_WORD] = (unsigned)(cb->hp + GETSTATIC_WORD_STUB); + handlers[H_GETSTATIC_SH] = (unsigned)(cb->hp + GETSTATIC_SH_STUB); + handlers[H_GETSTATIC_H] = (unsigned)(cb->hp + GETSTATIC_H_STUB); + handlers[H_GETSTATIC_SB] = (unsigned)(cb->hp + GETSTATIC_SB_STUB); + handlers[H_GETSTATIC_DW] = (unsigned)(cb->hp + GETSTATIC_DW_STUB); + + handlers[H_PUTSTATIC_WORD] = (unsigned)(cb->hp + PUTSTATIC_WORD_STUB); + handlers[H_PUTSTATIC_H] = (unsigned)(cb->hp + PUTSTATIC_H_STUB); + handlers[H_PUTSTATIC_B] = (unsigned)(cb->hp + PUTSTATIC_B_STUB); + handlers[H_PUTSTATIC_A] = (unsigned)(cb->hp + PUTSTATIC_A_STUB); + handlers[H_PUTSTATIC_DW] = (unsigned)(cb->hp + PUTSTATIC_DW_STUB); + + codebuf.idx += (Thumb2_stubs_end-Thumb2_stubs) >> 1; +#endif + + handlers[H_LDIV] = handlers[H_LREM] = out_pos(&codebuf); + dop_reg(&codebuf, DP_ORR, ARM_IP, ARM_R2, ARM_R3, 0, 0); + loc_ldiv = forward_16(&codebuf); + mov_imm(&codebuf, ARM_IP, (u32)__aeabi_ldivmod); + mov_reg(&codebuf, ARM_PC, ARM_IP); + bcc_patch(&codebuf, COND_EQ, loc_ldiv); + mov_imm(&codebuf, ARM_IP, (u32)Thumb2_DivZero_Handler); + mov_reg(&codebuf, ARM_PC, ARM_IP); + + handlers[H_ARRAYBOUND] = out_pos(&codebuf); + mov_imm(&codebuf, ARM_R3, (u32)Thumb2_ArrayBounds_Handler); + mov_reg(&codebuf, ARM_PC, ARM_R3); + + handlers[H_HANDLE_EXCEPTION] = out_pos(&codebuf); + mov_imm(&codebuf, ARM_R3, (u32)Thumb2_Handle_Exception); + mov_reg(&codebuf, ARM_PC, ARM_R3); + + handlers[H_DREM] = out_pos(&codebuf); + mov_imm(&codebuf, ARM_IP, (u32)fmod); + mov_reg(&codebuf, ARM_PC, ARM_IP); + + handlers[H_FREM] = out_pos(&codebuf); + mov_imm(&codebuf, ARM_R3, (u32)fmodf); + mov_reg(&codebuf, ARM_PC, ARM_R3); + + handlers[H_I2F] = out_pos(&codebuf); + mov_imm(&codebuf, ARM_IP, (u32)__aeabi_i2f); + mov_reg(&codebuf, ARM_PC, ARM_IP); + + handlers[H_I2D] = out_pos(&codebuf); + mov_imm(&codebuf, ARM_IP, (u32)__aeabi_i2d); + mov_reg(&codebuf, ARM_PC, ARM_IP); + + handlers[H_L2F] = out_pos(&codebuf); + mov_imm(&codebuf, ARM_IP, (u32)__aeabi_l2f); + mov_reg(&codebuf, ARM_PC, ARM_IP); + + handlers[H_L2D] = out_pos(&codebuf); + mov_imm(&codebuf, ARM_IP, (u32)__aeabi_l2d); + mov_reg(&codebuf, ARM_PC, ARM_IP); + + handlers[H_F2I] = out_pos(&codebuf); + mov_imm(&codebuf, ARM_IP, (u32)_ZN13SharedRuntime3f2iEf); + mov_reg(&codebuf, ARM_PC, ARM_IP); + + handlers[H_F2L] = out_pos(&codebuf); + mov_imm(&codebuf, ARM_IP, (u32)_ZN13SharedRuntime3f2lEf); + mov_reg(&codebuf, ARM_PC, ARM_IP); + + handlers[H_F2D] = out_pos(&codebuf); + mov_imm(&codebuf, ARM_IP, (u32)__aeabi_f2d); + mov_reg(&codebuf, ARM_PC, ARM_IP); + + handlers[H_D2I] = out_pos(&codebuf); + mov_imm(&codebuf, ARM_IP, (u32)_ZN13SharedRuntime3d2iEd); + mov_reg(&codebuf, ARM_PC, ARM_IP); + + handlers[H_D2L] = out_pos(&codebuf); + mov_imm(&codebuf, ARM_IP, (u32)_ZN13SharedRuntime3d2lEd); + mov_reg(&codebuf, ARM_PC, ARM_IP); + + handlers[H_D2F] = out_pos(&codebuf); + mov_imm(&codebuf, ARM_IP, (u32)__aeabi_d2f); + mov_reg(&codebuf, ARM_PC, ARM_IP); + +// NEW Stub +// r1 = index +// r3 = bci +// result -> R0, == 0 => exception + handlers[H_NEW] = out_pos(&codebuf); + mov_reg(&codebuf, ARM_R0, Ristate); + ldr_imm(&codebuf, ARM_R2, ARM_R0, ISTATE_METHOD, 1, 0); + mov_imm(&codebuf, ARM_IP, (u32)Helper_new); + ldr_imm(&codebuf, ARM_R2, ARM_R2, METHOD_CONSTMETHOD, 1, 0); + add_reg(&codebuf, ARM_R2, ARM_R2, ARM_R3); +sub_imm(&codebuf, ARM_R3, Rstack, 4); + str_imm(&codebuf, ARM_R3, ARM_R0, ISTATE_STACK, 1, 0); + str_imm(&codebuf, ARM_R2, ARM_R0, ISTATE_BCP, 1, 0); + mov_reg(&codebuf, ARM_PC, ARM_IP); + +// NEWARRAY Stub +// r1 = atype +// r2 = tos +// r3 = bci +// result -> thread->vm_result + handlers[H_NEWARRAY] = out_pos(&codebuf); + ldr_imm(&codebuf, ARM_R0, Ristate, ISTATE_METHOD, 1, 0); + mov_imm(&codebuf, ARM_IP, (u32)_ZN18InterpreterRuntime8newarrayEP10JavaThread9BasicTypei); + ldr_imm(&codebuf, ARM_R0, ARM_R0, METHOD_CONSTMETHOD, 1, 0); + add_reg(&codebuf, ARM_R3, ARM_R0, ARM_R3); + mov_reg(&codebuf, ARM_R0, Rthread); + str_imm(&codebuf, ARM_R3, Ristate, ISTATE_BCP, 1, 0); +sub_imm(&codebuf, ARM_R3, Rstack, 4); + str_imm(&codebuf, ARM_R3, Ristate, ISTATE_STACK, 1, 0); + mov_reg(&codebuf, ARM_PC, ARM_IP); + +// ANEWARRAY Stub +// r0 = bci +// r2 = index +// r3 = tos +// result -> thread->vm_result + handlers[H_ANEWARRAY] = out_pos(&codebuf); +sub_imm(&codebuf, ARM_R1, Rstack, 4); + str_imm(&codebuf, ARM_R1, Ristate, ISTATE_STACK, 1, 0); + ldr_imm(&codebuf, ARM_R1, Ristate, ISTATE_METHOD, 1, 0); + ldr_imm(&codebuf, ARM_IP, ARM_R1, METHOD_CONSTMETHOD, 1, 0); + ldr_imm(&codebuf, ARM_R1, ARM_R1, METHOD_CONSTANTS, 1, 0); + add_reg(&codebuf, ARM_R0, ARM_IP, ARM_R0); + mov_imm(&codebuf, ARM_IP, (u32)_ZN18InterpreterRuntime9anewarrayEP10JavaThreadP19constantPoolOopDescii); + str_imm(&codebuf, ARM_R0, Ristate, ISTATE_BCP, 1, 0); + mov_reg(&codebuf, ARM_R0, Rthread); + mov_reg(&codebuf, ARM_PC, ARM_IP); + +// MULTIANEWARRAY Stub +// r0 = bci +// r1 = dimensions (*4) + handlers[H_MULTIANEWARRAY] = out_pos(&codebuf); + ldr_imm(&codebuf, ARM_R2, Ristate, ISTATE_METHOD, 1, 0); + sub_imm(&codebuf, ARM_R3, Rstack, 4); + ldr_imm(&codebuf, ARM_R2, ARM_R2, METHOD_CONSTMETHOD, 1, 0); + str_imm(&codebuf, ARM_R3, Ristate, ISTATE_STACK, 1, 0); + add_reg(&codebuf, ARM_R0, ARM_R2, ARM_R0); + add_reg(&codebuf, Rstack, Rstack, ARM_R1); + mov_imm(&codebuf, ARM_R3, (u32)_ZN18InterpreterRuntime14multianewarrayEP10JavaThreadPi); + str_imm(&codebuf, ARM_R0, Ristate, ISTATE_BCP, 1, 0); + mov_reg(&codebuf, ARM_R0, Rthread); + sub_imm(&codebuf, ARM_R1, Rstack, 4); + mov_reg(&codebuf, ARM_PC, ARM_R3); + +// LDC Stub +// r0 = bci + handlers[H_LDC] = out_pos(&codebuf); + ldr_imm(&codebuf, ARM_R2, Ristate, ISTATE_METHOD, 1, 0); + sub_imm(&codebuf, ARM_R3, Rstack, 4); + ldr_imm(&codebuf, ARM_R2, ARM_R2, METHOD_CONSTMETHOD, 1, 0); + str_imm(&codebuf, ARM_R3, Ristate, ISTATE_STACK, 1, 0); + add_reg(&codebuf, ARM_R0, ARM_R2, ARM_R0); + mov_imm(&codebuf, ARM_R3, (u32)_ZN18InterpreterRuntime3ldcEP10JavaThreadb); + str_imm(&codebuf, ARM_R0, Ristate, ISTATE_BCP, 1, 0); + mov_reg(&codebuf, ARM_R0, Rthread); +// mov_imm(&codebuf, ARM_R1, 0); + mov_reg(&codebuf, ARM_PC, ARM_R3); + +// INSTANCEOF Stub +// r1 = index +// r3 = bci +// result -> R0, == -1 => exception + handlers[H_INSTANCEOF] = out_pos(&codebuf); + ldr_imm(&codebuf, ARM_R0, Ristate, ISTATE_METHOD, 1, 0); + mov_imm(&codebuf, ARM_IP, (u32)Helper_instanceof); + ldr_imm(&codebuf, ARM_R0, ARM_R0, METHOD_CONSTMETHOD, 1, 0); + add_reg(&codebuf, ARM_R0, ARM_R0, ARM_R3); +sub_imm(&codebuf, ARM_R3, Rstack, 4); + str_imm(&codebuf, ARM_R3, Ristate, ISTATE_STACK, 1, 0); + str_imm(&codebuf, ARM_R0, Ristate, ISTATE_BCP, 1, 0); + mov_reg(&codebuf, ARM_R0, Ristate); + mov_reg(&codebuf, ARM_PC, ARM_IP); + +// CHECKCAST Stub +// r1 = index +// r3 = bci +// result -> R0, != 0 => exception + handlers[H_CHECKCAST] = out_pos(&codebuf); + ldr_imm(&codebuf, ARM_R0, Ristate, ISTATE_METHOD, 1, 0); + mov_imm(&codebuf, ARM_IP, (u32)Helper_checkcast); + ldr_imm(&codebuf, ARM_R0, ARM_R0, METHOD_CONSTMETHOD, 1, 0); + add_reg(&codebuf, ARM_R0, ARM_R0, ARM_R3); +sub_imm(&codebuf, ARM_R3, Rstack, 4); + str_imm(&codebuf, ARM_R3, Ristate, ISTATE_STACK, 1, 0); + str_imm(&codebuf, ARM_R0, Ristate, ISTATE_BCP, 1, 0); + mov_reg(&codebuf, ARM_R0, Ristate); + mov_reg(&codebuf, ARM_PC, ARM_IP); + +// AASTORE Stub +// r0 = bci +// r1 = value +// r2 = index +// r3 = arrayref + handlers[H_AASTORE] = out_pos(&codebuf); + ldr_imm(&codebuf, ARM_IP, Ristate, ISTATE_METHOD, 1, 0); + ldr_imm(&codebuf, ARM_IP, ARM_IP, METHOD_CONSTMETHOD, 1, 0); + add_reg(&codebuf, ARM_IP, ARM_IP, ARM_R0); +sub_imm(&codebuf, ARM_R0, Rstack, 4); + str_imm(&codebuf, ARM_R0, Ristate, ISTATE_STACK, 1, 0); + str_imm(&codebuf, ARM_IP, Ristate, ISTATE_BCP, 1, 0); + mov_imm(&codebuf, ARM_IP, (u32)Helper_aastore); + mov_reg(&codebuf, ARM_R0, Ristate); + mov_reg(&codebuf, ARM_PC, ARM_IP); + +// APUTFIELD Stub +// r0 = obj + handlers[H_APUTFIELD] = out_pos(&codebuf); + mov_imm(&codebuf, ARM_R3, (u32)Helper_aputfield); + mov_reg(&codebuf, ARM_PC, ARM_R3); + +// SYNCHRONIZED_ENTER Stub +// r0 = bci +// r1 = monitor + handlers[H_SYNCHRONIZED_ENTER] = out_pos(&codebuf); + ldr_imm(&codebuf, ARM_IP, Ristate, ISTATE_METHOD, 1, 0); + ldr_imm(&codebuf, ARM_IP, ARM_IP, METHOD_CONSTMETHOD, 1, 0); + add_reg(&codebuf, ARM_IP, ARM_IP, ARM_R0); +sub_imm(&codebuf, ARM_R0, Rstack, 4); + str_imm(&codebuf, ARM_R0, Ristate, ISTATE_STACK, 1, 0); + str_imm(&codebuf, ARM_IP, Ristate, ISTATE_BCP, 1, 0); + mov_imm(&codebuf, ARM_IP, (u32)Helper_synchronized_enter); + mov_reg(&codebuf, ARM_R0, Rthread); + mov_reg(&codebuf, ARM_PC, ARM_IP); + +// +// SYNCHRONIZED_EXIT Stub +// r0 = bci +// r1 = monitor + handlers[H_SYNCHRONIZED_EXIT] = out_pos(&codebuf); + ldr_imm(&codebuf, ARM_IP, Ristate, ISTATE_METHOD, 1, 0); + ldr_imm(&codebuf, ARM_IP, ARM_IP, METHOD_CONSTMETHOD, 1, 0); + add_reg(&codebuf, ARM_IP, ARM_IP, ARM_R0); +sub_imm(&codebuf, ARM_R0, Rstack, 4); + str_imm(&codebuf, ARM_R0, Ristate, ISTATE_STACK, 1, 0); + str_imm(&codebuf, ARM_IP, Ristate, ISTATE_BCP, 1, 0); + mov_imm(&codebuf, ARM_IP, (u32)Helper_synchronized_exit); + mov_reg(&codebuf, ARM_R0, Rthread); + mov_reg(&codebuf, ARM_PC, ARM_IP); + +#define DEBUG_REGSET ((1<hp, cb->hp + codebuf.idx * 2); + cb->hp += codebuf.idx * 2; + + thumb2_codebuf = cb; +} + +#endif // THUMB2EE From gnu_andrew at member.fsf.org Wed Jan 20 03:06:17 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Wed, 20 Jan 2010 11:06:17 +0000 Subject: [patch] cacao icedtea6-1.7 pr431 - fix --enable-cacao builds on 32bit systems. In-Reply-To: <4B55B475.2080305@zafena.se> References: <4B55B475.2080305@zafena.se> Message-ID: <17c6771e1001200306r5c654a6dxaaea5660509f9166@mail.gmail.com> 2010/1/19 Xerxes R?nby : > Hi the attached patch fixes pr431 for --enable-cacao on 32 bit systems. > > ok to push to Icedtea6-1.7? > > ok to push to Icedtea6? > > Cheers > Xerxes > I'm not sure turning on the whole zero build is appropriate and especially don't want to risk it for the release. We get this side-effect because of: +ifneq ($(ZERO_BUILD), true) + ifeq ($(ARCH_DATA_MODEL), 32) + EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client + EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt + EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjsig.so + EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.so + EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.so + EXPORT_LIST += $(EXPORT_LIB_DIR)/sa-jdi.jar + else + ifeq ($(ARCH),ia64) + else + EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.so + EXPORT_LIST += $(EXPORT_LIB_DIR)/sa-jdi.jar endif endif in zero/6890308.patch (one of Gary's upstream patches, so don't alter it). The correct solution is for cacao to provide a client directory as well. Can you try adding a symlink from server to client as part of the cacao installation in Makefile.am and see if this also solves the problem? Thanks, -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From xerxes at zafena.se Wed Jan 20 04:36:26 2010 From: xerxes at zafena.se (=?UTF-8?B?WGVyeGVzIFLDpW5ieQ==?=) Date: Wed, 20 Jan 2010 13:36:26 +0100 Subject: [patch] cacao icedtea6-1.7 pr431 - fix --enable-cacao builds on 32bit systems. In-Reply-To: <17c6771e1001200306r5c654a6dxaaea5660509f9166@mail.gmail.com> References: <4B55B475.2080305@zafena.se> <17c6771e1001200306r5c654a6dxaaea5660509f9166@mail.gmail.com> Message-ID: <4B56F8CA.2070302@zafena.se> Andrew John Hughes wrote: > 2010/1/19 Xerxes R?nby : > >> Hi the attached patch fixes pr431 for --enable-cacao on 32 bit systems. >> >> ok to push to Icedtea6-1.7? >> >> ok to push to Icedtea6? >> >> Cheers >> Xerxes >> >> > > I'm not sure turning on the whole zero build is appropriate and > especially don't want to risk it for the release. We get this > side-effect because of: > > +ifneq ($(ZERO_BUILD), true) > + ifeq ($(ARCH_DATA_MODEL), 32) > + EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client > + EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt > + EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjsig.so > + EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.so > + EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.so > + EXPORT_LIST += $(EXPORT_LIB_DIR)/sa-jdi.jar > + else > + ifeq ($(ARCH),ia64) > + else > + EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.so > + EXPORT_LIST += $(EXPORT_LIB_DIR)/sa-jdi.jar > endif > endif > > in zero/6890308.patch (one of Gary's upstream patches, so don't alter > it). The correct solution is for cacao to provide a client directory > as well. Can you try adding a symlink from server to client as part > of the cacao installation in Makefile.am and see if this also solves > the problem? > > Thanks, > I created a patch that links the server dir to client after cacao have been built. It solved pr431 on my system patch attached Cheers Xerxes -------------- next part -------------- A non-text attachment was scrubbed... Name: cacao_ln_client_server-pr431.patch Type: text/x-patch Size: 526 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100120/2c20a190/cacao_ln_client_server-pr431.patch From xranby at icedtea.classpath.org Wed Jan 20 07:24:56 2010 From: xranby at icedtea.classpath.org (xranby at icedtea.classpath.org) Date: Wed, 20 Jan 2010 15:24:56 +0000 Subject: /hg/release/icedtea6-1.7: PR icedtea/431: Create a link from cli... Message-ID: changeset 6df6b86a20bd in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=6df6b86a20bd author: Xerxes R?nby date: Wed Jan 20 16:28:45 2010 +0100 PR icedtea/431: Create a link from client to server after CACAO install. 2010-01-20 Xerxes R?nby PR icedtea/431: * Makefile.am: Create a link from client to server after CACAO install to make openjdk find the expected client dir on 32bit systems. diffstat: 2 files changed, 8 insertions(+) ChangeLog | 7 +++++++ Makefile.am | 1 + diffs (25 lines): diff -r 67b2774bbe54 -r 6df6b86a20bd ChangeLog --- a/ChangeLog Mon Jan 18 20:12:25 2010 +0000 +++ b/ChangeLog Wed Jan 20 16:28:45 2010 +0100 @@ -1,3 +1,10 @@ 2010-01-18 Andrew John Hughes + + PR icedtea/431: + * Makefile.am: + Create a link from client to server after CACAO install + to make openjdk find the expected client dir on 32bit systems. + 2010-01-18 Andrew John Hughes PR icedtea/416: diff -r 67b2774bbe54 -r 6df6b86a20bd Makefile.am --- a/Makefile.am Mon Jan 18 20:12:25 2010 +0000 +++ b/Makefile.am Wed Jan 20 16:28:45 2010 +0100 @@ -1731,6 +1731,7 @@ if !USE_SYSTEM_CACAO --with-java-runtime-library-classes=$(abs_top_builddir)/lib/rt \ --enable-jre-layout $(CACAO_CONFIGURE_ARGS); \ $(ARCH_PREFIX) $(MAKE) install + ln -s server $(abs_top_builddir)/cacao/install/jre/lib/$(INSTALL_ARCH_DIR)/client endif endif mkdir -p stamps From xranby at icedtea.classpath.org Wed Jan 20 07:28:22 2010 From: xranby at icedtea.classpath.org (xranby at icedtea.classpath.org) Date: Wed, 20 Jan 2010 15:28:22 +0000 Subject: /hg/icedtea6: PR icedtea/431: Create a link from client to serve... Message-ID: changeset daf81eeba901 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=daf81eeba901 author: Xerxes R?nby date: Wed Jan 20 16:32:31 2010 +0100 PR icedtea/431: Create a link from client to server after CACAO install. 2010-01-20 Xerxes R?nby PR icedtea/431: * Makefile.am: Create a link from client to server after CACAO install to make openjdk find the expected client dir on 32bit systems. diffstat: 2 files changed, 8 insertions(+) ChangeLog | 7 +++++++ Makefile.am | 1 + diffs (25 lines): diff -r 98c88b32cdb4 -r daf81eeba901 ChangeLog --- a/ChangeLog Tue Jan 19 14:38:40 2010 -0500 +++ b/ChangeLog Wed Jan 20 16:32:31 2010 +0100 @@ -1,3 +1,10 @@ 2010-01-19 Man Lung Wong + + PR icedtea/431: + * Makefile.am: + Create a link from client to server after CACAO install + to make openjdk find the expected client dir on 32bit systems. + 2010-01-19 Man Lung Wong * rt/net/sourceforge/jnlp/JNLPFile.java diff -r 98c88b32cdb4 -r daf81eeba901 Makefile.am --- a/Makefile.am Tue Jan 19 14:38:40 2010 -0500 +++ b/Makefile.am Wed Jan 20 16:32:31 2010 +0100 @@ -1734,6 +1734,7 @@ if !USE_SYSTEM_CACAO --with-java-runtime-library-classes=$(abs_top_builddir)/lib/rt \ --enable-jre-layout $(CACAO_CONFIGURE_ARGS); \ $(ARCH_PREFIX) $(MAKE) install + ln -s server $(abs_top_builddir)/cacao/install/jre/lib/$(INSTALL_ARCH_DIR)/client endif endif mkdir -p stamps From andrew at icedtea.classpath.org Wed Jan 20 18:02:13 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 21 Jan 2010 02:02:13 +0000 Subject: /hg/icedtea6: 3 new changesets Message-ID: changeset 94849480798f in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=94849480798f author: Andrew John Hughes date: Wed Jan 20 15:26:30 2010 +0000 Include Mercurial revisions and distro name in version output. 2010-01-08 Andrew John Hughes * Makefile.am: Calculate JDK and HotSpot Mercurial revisions if available and pass to build. Also pass DIST_NAME to build. * acinclude.m4: (IT_GET_LSB_DATA): Moved from configure.ac and extended to also obtain the name of the distribution from either lsb_release -is or $build_os. * configure.ac: Invoke IT_GET_LSB_DATA macro. * patches/icedtea-version.patch: Updated to use distribution name and JDK and HotSpot Mercurial revision IDs. changeset 423b82ca768c in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=423b82ca768c author: Andrew John Hughes date: Thu Jan 21 01:57:01 2010 +0000 Include derivative name and version (e.g IcedTea6 1.7) in crash dump. Obtain Mercurial revisions at configure time. 2010-01-20 Andrew John Hughes * Makefile.am: Pass DERIVATIVE_ID and HOTSPOT_BUILD_VERSION to build (later only when the HotSpot Mercurial revision is available). (patch.stamp): Move revision derivation to configure. * acinclude.m4: (IT_GET_LSB_DATA): Report results. (IT_CHECK_FOR_MERCURIAL): Macro wrapper around check for hg. (IT_OBTAIN_HG_REVISIONS): Obtain Mercurial revisions for IcedTea, JDK and HotSpot if available. * configure.ac: Call new macros. * patches/icedtea-version-hotspot.patch: Updated to include DERIVATIVE_ID (IcedTea6 version) in the crash dump output. changeset 32f70f3018be in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=32f70f3018be author: Andrew John Hughes date: Thu Jan 21 02:07:48 2010 +0000 Merge diffstat: 6 files changed, 212 insertions(+), 68 deletions(-) ChangeLog | 42 +++++++++++++++ Makefile.am | 33 ++++++++++-- acinclude.m4 | 59 ++++++++++++++++++++++ configure.ac | 16 +----- patches/icedtea-version-hotspot.patch | 42 +++++++++------ patches/icedtea-version.patch | 88 +++++++++++++++++++++------------ diffs (438 lines): diff -r 98c88b32cdb4 -r 32f70f3018be ChangeLog --- a/ChangeLog Tue Jan 19 14:38:40 2010 -0500 +++ b/ChangeLog Thu Jan 21 02:07:48 2010 +0000 @@ -1,3 +1,45 @@ 2010-01-19 Man Lung Wong + + * Makefile.am: + Pass DERIVATIVE_ID and HOTSPOT_BUILD_VERSION + to build (later only when the HotSpot Mercurial + revision is available). + (patch.stamp): Move revision derivation to configure. + * acinclude.m4: + (IT_GET_LSB_DATA): Report results. + (IT_CHECK_FOR_MERCURIAL): Macro wrapper around check for hg. + (IT_OBTAIN_HG_REVISIONS): Obtain Mercurial revisions for + IcedTea, JDK and HotSpot if available. + * configure.ac: + Call new macros. + * patches/icedtea-version-hotspot.patch: + Updated to include DERIVATIVE_ID (IcedTea6 version) + in the crash dump output. + +2010-01-20 Xerxes R??nby + + PR icedtea/431: + * Makefile.am: + Create a link from client to server after CACAO install + to make openjdk find the expected client dir on 32bit systems. + +2010-01-08 Andrew John Hughes + + * Makefile.am: + Calculate JDK and HotSpot Mercurial revisions + if available and pass to build. Also pass + DIST_NAME to build. + * acinclude.m4: + (IT_GET_LSB_DATA): Moved from configure.ac + and extended to also obtain the name of + the distribution from either lsb_release -is + or $build_os. + * configure.ac: + Invoke IT_GET_LSB_DATA macro. + * patches/icedtea-version.patch: + Updated to use distribution name and JDK and + HotSpot Mercurial revision IDs. + 2010-01-19 Man Lung Wong * rt/net/sourceforge/jnlp/JNLPFile.java diff -r 98c88b32cdb4 -r 32f70f3018be Makefile.am --- a/Makefile.am Tue Jan 19 14:38:40 2010 -0500 +++ b/Makefile.am Thu Jan 21 02:07:48 2010 +0000 @@ -383,6 +383,11 @@ endif JDK_UPDATE_VERSION = $(shell echo $(OPENJDK_VERSION) | sed -e "s/^b//") COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(OPENJDK_VERSION) + +if HAS_ICEDTEA_REVISION +ICEDTEA_REV="+${ICEDTEA_REVISION}" +endif + ICEDTEA_ENV = \ IMPORT_BINARY_PLUGS=true \ ALT_JDK_IMPORT_PATH="$(ICEDTEA_BOOT_DIR)" \ @@ -424,6 +429,7 @@ ICEDTEA_ENV = \ JDK_HOME="" \ RHINO_JAR="$(RHINO_JAR)" \ DISTRIBUTION_ID="$(DIST_ID)" \ + DERIVATIVE_ID="IcedTea6 $(PACKAGE_VERSION)$(ICEDTEA_REV)" \ DEBUG_CLASSFILES="true" \ DEBUG_BINARIES="true" @@ -452,6 +458,11 @@ if USE_ALT_JAR if USE_ALT_JAR ICEDTEA_ENV += \ ALT_JAR_CMD="$(ALT_JAR_CMD)" +endif + +if HAS_HOTSPOT_REVISION +ICEDTEA_ENV += \ + HOTSPOT_BUILD_VERSION="$(HOTSPOT_REVISION)" endif # OpenJDK ecj build environment. @@ -503,6 +514,8 @@ ICEDTEA_ENV_ECJ = \ JAR_KNOWS_ATFILE="$(JAR_KNOWS_ATFILE)" \ JAR_KNOWS_J_OPTIONS="$(JAR_KNOWS_J_OPTIONS)" \ JAR_ACCEPTS_STDIN_LIST="$(JAR_ACCEPTS_STDIN_LIST)" \ + DISTRIBUTION_ID="$(DIST_ID)" \ + DERIVATIVE_ID="IcedTea6 $(PACKAGE_VERSION)$(ICEDTEA_REV)" \ DEBUG_CLASSFILES="true" \ DEBUG_BINARIES="true" @@ -526,6 +539,11 @@ ICEDTEA_ENV_ECJ += \ ICEDTEA_ENV_ECJ += \ CROSS_COMPILATION="true" \ CROSS_TARGET_ARCH="$(CROSS_TARGET_ARCH)" +endif + +if HAS_HOTSPOT_REVISION +ICEDTEA_ENV_ECJ += \ + HOTSPOT_BUILD_VERSION="$(HOTSPOT_REVISION)" endif # Source files @@ -934,10 +952,7 @@ stamps/patch.stamp: stamps/patch-fsg.sta exit 2; \ fi - if [ -e $(abs_top_srcdir)/.hg ] && which $(HG) >/dev/null; then \ - revision="-r`(cd $(abs_top_srcdir); $(HG) tip --template '{node|short}')`" ; \ - fi ; \ - icedtea_version="$(PACKAGE_VERSION)$${revision}" ; \ + icedtea_version="$(PACKAGE_VERSION)$(ICEDTEA_REV)" ; \ if ! test "x$(WITH_CACAO)" = "xno"; then \ echo "JDK_DERIVATIVE_NAME=$${icedtea_version}" \ >>openjdk/jdk/make/common/shared/Defs.gmk ; \ @@ -946,8 +961,13 @@ stamps/patch.stamp: stamps/patch-fsg.sta else \ echo "JDK_DERIVATIVE_NAME=IcedTea6 $${icedtea_version}" \ >>openjdk/jdk/make/common/shared/Defs.gmk ; \ - fi - + fi ; + +if HAS_JDK_REVISION + echo "JDK_REVID=$(JDK_REVISION)" >>openjdk/jdk/make/common/shared/Defs.gmk ; +endif + + echo "DISTRO_NAME=$(DIST_NAME)" >>openjdk/jdk/make/common/shared/Defs.gmk ; \ if [ -n "$(PKGVERSION)" ]; then \ echo "DISTRO_PACKAGE_VERSION=$(PKGVERSION)" \ >>openjdk/jdk/make/common/shared/Defs.gmk ; \ @@ -1734,6 +1754,7 @@ if !USE_SYSTEM_CACAO --with-java-runtime-library-classes=$(abs_top_builddir)/lib/rt \ --enable-jre-layout $(CACAO_CONFIGURE_ARGS); \ $(ARCH_PREFIX) $(MAKE) install + ln -s server $(abs_top_builddir)/cacao/install/jre/lib/$(INSTALL_ARCH_DIR)/client endif endif mkdir -p stamps diff -r 98c88b32cdb4 -r 32f70f3018be acinclude.m4 --- a/acinclude.m4 Tue Jan 19 14:38:40 2010 -0500 +++ b/acinclude.m4 Thu Jan 21 02:07:48 2010 +0000 @@ -1146,3 +1146,62 @@ AC_SUBST(PARALLEL_JOBS) AC_SUBST(PARALLEL_JOBS) ]) +AC_DEFUN([IT_GET_LSB_DATA], +[ +AC_MSG_CHECKING([build identification]) +if test -n "$LSB_RELEASE"; then + lsb_info="$($LSB_RELEASE -ds | sed 's/^"//;s/"$//')" + if test -n "$PKGVERSION"; then + DIST_ID="$lsb_info, package $PKGVERSION" + else + DIST_ID="Built on $lsb_info ($(date))" + fi + DIST_NAME="$($LSB_RELEASE -is | sed 's/^"//;s/"$//')" +else + DIST_ID="Custom build ($(date))" + DIST_NAME="$build_os" +fi +AC_MSG_RESULT([${DIST_ID}]) +AC_SUBST(DIST_ID) +AC_SUBST(DIST_NAME) +]) + + +AC_DEFUN_ONCE([IT_CHECK_FOR_MERCURIAL], +[ + AC_PATH_TOOL([HG],[hg]) + AC_SUBST([HG]) +]) + +AC_DEFUN_ONCE([IT_OBTAIN_HG_REVISIONS], +[ + AC_REQUIRE([IT_CHECK_FOR_MERCURIAL]) + AC_REQUIRE([WITH_OPENJDK_SRC_DIR]) + ICEDTEA_REVISION="none"; + JDK_REVISION="none"; + HOTSPOT_REVISION="none"; + if which ${HG} >/dev/null; then + AC_MSG_CHECKING([for IcedTea Mercurial revision ID]) + if test -e ${abs_top_srcdir}/.hg ; then + ICEDTEA_REVISION="r`(cd ${abs_top_srcdir}; ${HG} tip --template '{node|short}')`" ; + fi ; + AC_MSG_RESULT([${ICEDTEA_REVISION}]) + AC_SUBST([ICEDTEA_REVISION]) + AC_MSG_CHECKING([for JDK Mercurial revision ID]) + if test -e ${OPENJDK_SRC_DIR}/jdk/.hg ; then + JDK_REVISION="r`(cd ${OPENJDK_SRC_DIR}/jdk; ${HG} tip --template '{node|short}')`" ; + fi ; + AC_MSG_RESULT([${JDK_REVISION}]) + AC_SUBST([JDK_REVISION]) + AC_MSG_CHECKING([for HotSpot Mercurial revision ID]) + if test -e ${OPENJDK_SRC_DIR}/hotspot/.hg ; then \ + HOTSPOT_REVISION="r`(cd ${OPENJDK_SRC_DIR}/hotspot; ${HG} tip --template '{node|short}')`" ; + fi ; + AC_MSG_RESULT([${HOTSPOT_REVISION}]) + AC_SUBST([HOTSPOT_REVISION]) + fi; + AM_CONDITIONAL([HAS_ICEDTEA_REVISION], test "x${ICEDTEA_REVISION}" != xnone) + AM_CONDITIONAL([HAS_JDK_REVISION], test "x${JDK_REVISION}" != xnone) + AM_CONDITIONAL([HAS_HOTSPOT_REVISION], test "x${HOTSPOT_REVISION}" != xnone) +]) + diff -r 98c88b32cdb4 -r 32f70f3018be configure.ac --- a/configure.ac Tue Jan 19 14:38:40 2010 -0500 +++ b/configure.ac Thu Jan 21 02:07:48 2010 +0000 @@ -39,8 +39,8 @@ dnl OpenJDK's README-builds.html lists g dnl OpenJDK's README-builds.html lists gawk as a build dependency so we dnl check for it explicitly rather than using AC_PROG_AWK. FIND_TOOL([GAWK], [gawk]) -AC_PATH_TOOL([HG],[hg]) -AC_SUBST([HG]) +IT_CHECK_FOR_MERCURIAL +IT_OBTAIN_HG_REVISIONS AC_PATH_TOOL([LSB_RELEASE],[lsb_release]) AC_CHECK_WITH_GCJ AC_CHECK_WITH_HOTSPOT_BUILD @@ -177,17 +177,7 @@ AC_ARG_WITH([pkgversion], [PKGVERSION=]) AC_SUBST(PKGVERSION) -if test -n "$LSB_RELEASE"; then - lsb_info="$($LSB_RELEASE -ds | sed 's/^"//;s/"$//')" - if test -n "$PKGVERSION"; then - DIST_ID="$lsb_info, package $PKGVERSION" - else - DIST_ID="Built on $lsb_info" - fi -else - DIST_ID="Custom build ($(date))" -fi -AC_SUBST(DIST_ID) +IT_GET_LSB_DATA SET_ARCH_DIRS SET_OS_DIRS diff -r 98c88b32cdb4 -r 32f70f3018be patches/icedtea-version-hotspot.patch --- a/patches/icedtea-version-hotspot.patch Tue Jan 19 14:38:40 2010 -0500 +++ b/patches/icedtea-version-hotspot.patch Thu Jan 21 02:07:48 2010 +0000 @@ -1,10 +1,14 @@ diff -Nru openjdk.orig/hotspot/make/linu 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 @@ +--- openjdk.orig/hotspot/make/linux/makefiles/vm.make 2010-01-18 22:58:55.000000000 +0000 ++++ openjdk/hotspot/make/linux/makefiles/vm.make 2010-01-20 17:26:22.000000000 +0000 +@@ -86,6 +86,14 @@ ${JRE_VERSION} \ ${VM_DISTRO} ++ifdef DERIVATIVE_ID ++CPPFLAGS += -DDERIVATIVE_ID="\"$(DERIVATIVE_ID)\"" ++endif ++ +ifdef DISTRIBUTION_ID +CPPFLAGS += -DDISTRIBUTION_ID="\"$(DISTRIBUTION_ID)\"" +endif @@ -12,9 +16,21 @@ diff -Nru openjdk.orig/hotspot/make/linu # CFLAGS_WARN holds compiler options to suppress/enable warnings. CFLAGS += $(CFLAGS_WARN/BYFILE) +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 2010-01-18 23:00:22.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2010-01-20 17:24:22.000000000 +0000 +@@ -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; 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 +--- openjdk.orig/hotspot/src/share/vm/utilities/vmError.cpp 2010-01-18 22:56:40.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/utilities/vmError.cpp 2010-01-20 17:25:15.000000000 +0000 @@ -165,7 +165,8 @@ static void print_bug_submit_message(outputStream *out, Thread *thread) { @@ -25,24 +41,16 @@ diff -Nru openjdk.orig/hotspot/src/share 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 @@ +@@ -341,6 +342,12 @@ Abstract_VM_Version::vm_platform_string(), UseCompressedOops ? "compressed oops" : "" ); ++#ifdef DERIVATIVE_ID ++ st->print_cr("# Derivative: %s", DERIVATIVE_ID); ++#endif +#ifdef DISTRIBUTION_ID + st->print_cr("# Distribution: %s", DISTRIBUTION_ID); +#endif STEP(60, "(printing problematic frame)") ---- 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; diff -r 98c88b32cdb4 -r 32f70f3018be patches/icedtea-version.patch --- a/patches/icedtea-version.patch Tue Jan 19 14:38:40 2010 -0500 +++ b/patches/icedtea-version.patch Thu Jan 21 02:07:48 2010 +0000 @@ -1,5 +1,6 @@ ---- openjdkold/jdk/make/common/shared/Defs.gmk 2008-08-28 04:10:47.000000000 -0400 -+++ openjdk/jdk/make/common/shared/Defs.gmk 2009-02-08 08:30:21.000000000 -0500 +diff -r 134c345baf84 make/common/shared/Defs.gmk +--- openjdk.orig/jdk/make/common/shared/Defs.gmk Thu Jun 18 11:12:13 2009 +0800 ++++ openjdk/jdk/make/common/shared/Defs.gmk Sat Jan 09 00:26:19 2010 +0000 @@ -194,7 +194,7 @@ # Default names @@ -9,22 +10,48 @@ PRODUCT_NAME = OpenJDK PRODUCT_SUFFIX = Runtime Environment JDK_RC_PLATFORM_NAME = Platform ---- openjdk/jdk/src/share/classes/sun/misc/Version-template.java.~1~ 2008-11-25 01:04:53.000000000 -0800 -+++ openjdk/jdk/src/share/classes/sun/misc/Version-template.java 2009-02-20 09:03:25.000000000 -0800 -@@ -41,6 +41,12 @@ +diff -r 134c345baf84 make/java/version/Makefile +--- openjdk.orig/jdk/make/java/version/Makefile Thu Jun 18 11:12:13 2009 +0800 ++++ openjdk/jdk/make/java/version/Makefile Sat Jan 09 00:26:19 2010 +0000 +@@ -39,7 +39,12 @@ + $(SED) -e 's/@@launcher_name@@/$(LAUNCHER_NAME)/g' \ + -e 's/@@java_version@@/$(RELEASE)/g' \ + -e 's/@@java_runtime_version@@/$(FULL_VERSION)/g' \ ++ -e 's/@@jdk_derivative_name@@/$(JDK_DERIVATIVE_NAME)/g' \ ++ -e 's/@@distro_name@@/$(DISTRO_NAME)/g' \ ++ -e 's/@@distro_package_version@@/$(DISTRO_PACKAGE_VERSION)/g' \ + -e 's/@@java_runtime_name@@/$(RUNTIME_NAME)/g' \ ++ -e 's/@@jdk_revid@@/$(JDK_REVID)/g' \ ++ -e 's/@@hotspot_revid@@/$(HOTSPOT_REVID)/g' \ + $< > $@.temp + @$(MV) $@.temp $@ + +diff -r 134c345baf84 src/share/classes/sun/misc/Version-template.java +--- openjdk.orig/jdk/src/share/classes/sun/misc/Version-template.java Thu Jun 18 11:12:13 2009 +0800 ++++ openjdk/jdk/src/share/classes/sun/misc/Version-template.java Sat Jan 09 00:26:19 2010 +0000 +@@ -41,6 +41,21 @@ private static final String java_runtime_version = "@@java_runtime_version@@"; + private static final String jdk_derivative_name = + "@@jdk_derivative_name@@"; + ++ private static final String distro_name = ++ "@@distro_name@@"; ++ + private static final String distro_package_version = + "@@distro_package_version@@"; ++ ++ private static final String jdk_revid = ++ "@@jdk_revid@@"; ++ ++ private static final String hotspot_revid = ++ "@@hotspot_revid@@"; + static { init(); } -@@ -81,12 +87,26 @@ +@@ -81,14 +96,34 @@ /* First line: platform version. */ ps.println(launcher_name + " version \"" + java_version + "\""); @@ -33,35 +60,32 @@ /* Second line: runtime version (ie, libraries). */ - ps.println(java_runtime_name + " (build " + - java_runtime_version + ")"); -+ StringBuilder sb = new StringBuilder(); -+ if (java_vm_name.toLowerCase().startsWith("cacao")) { -+ sb.append("IcedTea Runtime Environment"); -+ } else { -+ sb.append(java_runtime_name); -+ } -+ if (jdk_derivative_name.length() > 0) { -+ sb.append(" (").append(jdk_derivative_name).append(")"); -+ } -+ if (distro_package_version.length() > 0) { -+ sb.append(" (").append(distro_package_version).append(")"); -+ } else { -+ sb.append(" (build ").append(java_runtime_version).append(")"); -+ } -+ ps.println(sb.toString()); ++ StringBuilder sb = new StringBuilder(); ++ if (java_vm_name.toLowerCase().startsWith("cacao")) { ++ sb.append("IcedTea Runtime Environment"); ++ } else { ++ sb.append(java_runtime_name); ++ } ++ if (jdk_derivative_name.length() > 0) { ++ sb.append(" (").append(jdk_derivative_name).append(")"); ++ } ++ if (distro_package_version.length() > 0) { ++ sb.append(" (").append(distro_package_version).append(")"); ++ } else { ++ sb.append(" ("); ++ if (distro_name.length() > 0) ++ sb.append(distro_name).append(" "); ++ sb.append("build ").append(java_runtime_version); ++ if (jdk_revid.length() > 0) ++ sb.append("+").append(jdk_revid); ++ sb.append(")"); ++ } ++ ps.println(sb.toString()); /* Third line: JVM information. */ - String java_vm_name = System.getProperty("java.vm.name"); String java_vm_version = System.getProperty("java.vm.version"); String java_vm_info = System.getProperty("java.vm.info"); ps.println(java_vm_name + " (build " + java_vm_version + ", " + ---- openjdk/jdk/make/java/version/Makefile.~1~ 2008-11-25 01:01:15.000000000 -0800 -+++ openjdk/jdk/make/java/version/Makefile 2009-02-20 09:03:56.000000000 -0800 -@@ -39,6 +39,8 @@ - $(SED) -e 's/@@launcher_name@@/$(LAUNCHER_NAME)/g' \ - -e 's/@@java_version@@/$(RELEASE)/g' \ - -e 's/@@java_runtime_version@@/$(FULL_VERSION)/g' \ -+ -e 's/@@jdk_derivative_name@@/$(JDK_DERIVATIVE_NAME)/g' \ -+ -e 's/@@distro_package_version@@/$(DISTRO_PACKAGE_VERSION)/g' \ - -e 's/@@java_runtime_name@@/$(RUNTIME_NAME)/g' \ - $< > $@.temp - @$(MV) $@.temp $@ + java_vm_info + ")"); + } From andrew at icedtea.classpath.org Wed Jan 20 18:18:01 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 21 Jan 2010 02:18:01 +0000 Subject: /hg/icedtea6: Fix make dist so tarballs can be built. Message-ID: changeset 2d94f16209e8 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=2d94f16209e8 author: Andrew John Hughes date: Thu Jan 21 02:23:36 2010 +0000 Fix make dist so tarballs can be built. 2010-01-21 Andrew John Hughes * Makefile.am: Fix paths to patches and IcedTeaNPPlugin.cc for make dist. diffstat: 2 files changed, 7 insertions(+), 2 deletions(-) ChangeLog | 6 ++++++ Makefile.am | 3 +-- diffs (32 lines): diff -r 32f70f3018be -r 2d94f16209e8 ChangeLog --- a/ChangeLog Thu Jan 21 02:07:48 2010 +0000 +++ b/ChangeLog Thu Jan 21 02:23:36 2010 +0000 @@ -1,3 +1,9 @@ 2010-01-20 Andrew John Hughes + + * Makefile.am: + Fix paths to patches and IcedTeaNPPlugin.cc + for make dist. + 2010-01-20 Andrew John Hughes * Makefile.am: diff -r 32f70f3018be -r 2d94f16209e8 Makefile.am --- a/Makefile.am Thu Jan 21 02:07:48 2010 +0000 +++ b/Makefile.am Thu Jan 21 02:23:36 2010 +0000 @@ -552,14 +552,13 @@ endif # FIXME (distclean): Add pulseaudio sources EXTRA_DIST = rt generated \ - patches/* \ + $(abs_top_srcdir)/patches/* \ tools-copy contrib ports \ extra overlays \ javaws.png javaws.desktop visualvm.desktop \ jconsole.desktop policytool.desktop \ test/jtreg \ IcedTeaPlugin.cc \ - IcedTeaNPPlugin.cc \ HACKING pulseaudio fsg.sh \ plugin \ hotspot.map \ From andrew at icedtea.classpath.org Wed Jan 20 18:24:52 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 21 Jan 2010 02:24:52 +0000 Subject: /hg/release/icedtea6-1.7: 4 new changesets Message-ID: changeset 8f7c9c70ff2c in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=8f7c9c70ff2c author: Andrew John Hughes date: Wed Jan 20 15:26:30 2010 +0000 Include Mercurial revisions and distro name in version output. 2010-01-08 Andrew John Hughes * Makefile.am: Calculate JDK and HotSpot Mercurial revisions if available and pass to build. Also pass DIST_NAME to build. * acinclude.m4: (IT_GET_LSB_DATA): Moved from configure.ac and extended to also obtain the name of the distribution from either lsb_release -is or $build_os. * configure.ac: Invoke IT_GET_LSB_DATA macro. * patches/icedtea-version.patch: Updated to use distribution name and JDK and HotSpot Mercurial revision IDs. changeset 0079cf8cbdd7 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=0079cf8cbdd7 author: Andrew John Hughes date: Thu Jan 21 01:57:01 2010 +0000 Include derivative name and version (e.g IcedTea6 1.7) in crash dump. Obtain Mercurial revisions at configure time. 2010-01-20 Andrew John Hughes * Makefile.am: Pass DERIVATIVE_ID and HOTSPOT_BUILD_VERSION to build (later only when the HotSpot Mercurial revision is available). (patch.stamp): Move revision derivation to configure. * acinclude.m4: (IT_GET_LSB_DATA): Report results. (IT_CHECK_FOR_MERCURIAL): Macro wrapper around check for hg. (IT_OBTAIN_HG_REVISIONS): Obtain Mercurial revisions for IcedTea, JDK and HotSpot if available. * configure.ac: Call new macros. * patches/icedtea-version-hotspot.patch: Updated to include DERIVATIVE_ID (IcedTea6 version) in the crash dump output. changeset aed7457ef615 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=aed7457ef615 author: Andrew John Hughes date: Thu Jan 21 02:29:55 2010 +0000 Update ChangeLog following patch import. changeset 3469e88d33ea in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=3469e88d33ea author: Andrew John Hughes date: Thu Jan 21 02:23:36 2010 +0000 Fix make dist so tarballs can be built. 2010-01-21 Andrew John Hughes * Makefile.am: Fix paths to patches and IcedTeaNPPlugin.cc for make dist. diffstat: 6 files changed, 211 insertions(+), 70 deletions(-) ChangeLog | 41 +++++++++++++++ Makefile.am | 35 ++++++++++--- acinclude.m4 | 59 ++++++++++++++++++++++ configure.ac | 16 +----- patches/icedtea-version-hotspot.patch | 42 +++++++++------ patches/icedtea-version.patch | 88 +++++++++++++++++++++------------ diffs (444 lines): diff -r 6df6b86a20bd -r 3469e88d33ea ChangeLog --- a/ChangeLog Wed Jan 20 16:28:45 2010 +0100 +++ b/ChangeLog Thu Jan 21 02:23:36 2010 +0000 @@ -1,3 +1,44 @@ 2010-01-20 Xerxes R??nby + + * Makefile.am: + Fix paths to patches and IcedTeaNPPlugin.cc + for make dist. + +2010-01-20 Andrew John Hughes + + * Makefile.am: + Pass DERIVATIVE_ID and HOTSPOT_BUILD_VERSION + to build (later only when the HotSpot Mercurial + revision is available). + (patch.stamp): Move revision derivation to configure. + * acinclude.m4: + (IT_GET_LSB_DATA): Report results. + (IT_CHECK_FOR_MERCURIAL): Macro wrapper around check for hg. + (IT_OBTAIN_HG_REVISIONS): Obtain Mercurial revisions for + IcedTea, JDK and HotSpot if available. + * configure.ac: + Call new macros. + * patches/icedtea-version-hotspot.patch: + Updated to include DERIVATIVE_ID (IcedTea6 version) + in the crash dump output. + +2010-01-08 Andrew John Hughes + + * Makefile.am: + Calculate JDK and HotSpot Mercurial revisions + if available and pass to build. Also pass + DIST_NAME to build. + * acinclude.m4: + (IT_GET_LSB_DATA): Moved from configure.ac + and extended to also obtain the name of + the distribution from either lsb_release -is + or $build_os. + * configure.ac: + Invoke IT_GET_LSB_DATA macro. + * patches/icedtea-version.patch: + Updated to use distribution name and JDK and + HotSpot Mercurial revision IDs. + 2010-01-20 Xerxes R??nby PR icedtea/431: diff -r 6df6b86a20bd -r 3469e88d33ea Makefile.am --- a/Makefile.am Wed Jan 20 16:28:45 2010 +0100 +++ b/Makefile.am Thu Jan 21 02:23:36 2010 +0000 @@ -380,6 +380,11 @@ endif JDK_UPDATE_VERSION = $(shell echo $(OPENJDK_VERSION) | sed -e "s/^b//") COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(OPENJDK_VERSION) + +if HAS_ICEDTEA_REVISION +ICEDTEA_REV="+${ICEDTEA_REVISION}" +endif + ICEDTEA_ENV = \ IMPORT_BINARY_PLUGS=true \ ALT_JDK_IMPORT_PATH="$(ICEDTEA_BOOT_DIR)" \ @@ -421,6 +426,7 @@ ICEDTEA_ENV = \ JDK_HOME="" \ RHINO_JAR="$(RHINO_JAR)" \ DISTRIBUTION_ID="$(DIST_ID)" \ + DERIVATIVE_ID="IcedTea6 $(PACKAGE_VERSION)$(ICEDTEA_REV)" \ DEBUG_CLASSFILES="true" \ DEBUG_BINARIES="true" @@ -449,6 +455,11 @@ if USE_ALT_JAR if USE_ALT_JAR ICEDTEA_ENV += \ ALT_JAR_CMD="$(ALT_JAR_CMD)" +endif + +if HAS_HOTSPOT_REVISION +ICEDTEA_ENV += \ + HOTSPOT_BUILD_VERSION="$(HOTSPOT_REVISION)" endif # OpenJDK ecj build environment. @@ -500,6 +511,8 @@ ICEDTEA_ENV_ECJ = \ JAR_KNOWS_ATFILE="$(JAR_KNOWS_ATFILE)" \ JAR_KNOWS_J_OPTIONS="$(JAR_KNOWS_J_OPTIONS)" \ JAR_ACCEPTS_STDIN_LIST="$(JAR_ACCEPTS_STDIN_LIST)" \ + DISTRIBUTION_ID="$(DIST_ID)" \ + DERIVATIVE_ID="IcedTea6 $(PACKAGE_VERSION)$(ICEDTEA_REV)" \ DEBUG_CLASSFILES="true" \ DEBUG_BINARIES="true" @@ -525,20 +538,24 @@ ICEDTEA_ENV_ECJ += \ CROSS_TARGET_ARCH="$(CROSS_TARGET_ARCH)" endif +if HAS_HOTSPOT_REVISION +ICEDTEA_ENV_ECJ += \ + HOTSPOT_BUILD_VERSION="$(HOTSPOT_REVISION)" +endif + # Source files # FIXME (distclean): Add generated file list # FIXME (distclean): Add jtreg sources # FIXME (distclean): Add pulseaudio sources EXTRA_DIST = rt generated \ - patches/* \ + $(abs_top_srcdir)/patches/* \ tools-copy contrib ports \ extra overlays \ javaws.png javaws.desktop visualvm.desktop \ jconsole.desktop policytool.desktop \ test/jtreg \ IcedTeaPlugin.cc \ - IcedTeaNPPlugin.cc \ HACKING pulseaudio fsg.sh \ plugin \ hotspot.map \ @@ -931,10 +948,7 @@ stamps/patch.stamp: stamps/patch-fsg.sta exit 2; \ fi - if [ -e $(abs_top_srcdir)/.hg ] && which $(HG) >/dev/null; then \ - revision="-r`(cd $(abs_top_srcdir); $(HG) tip --template '{node|short}')`" ; \ - fi ; \ - icedtea_version="$(PACKAGE_VERSION)$${revision}" ; \ + icedtea_version="$(PACKAGE_VERSION)$(ICEDTEA_REV)" ; \ if ! test "x$(WITH_CACAO)" = "xno"; then \ echo "JDK_DERIVATIVE_NAME=$${icedtea_version}" \ >>openjdk/jdk/make/common/shared/Defs.gmk ; \ @@ -943,8 +957,13 @@ stamps/patch.stamp: stamps/patch-fsg.sta else \ echo "JDK_DERIVATIVE_NAME=IcedTea6 $${icedtea_version}" \ >>openjdk/jdk/make/common/shared/Defs.gmk ; \ - fi - + fi ; + +if HAS_JDK_REVISION + echo "JDK_REVID=$(JDK_REVISION)" >>openjdk/jdk/make/common/shared/Defs.gmk ; +endif + + echo "DISTRO_NAME=$(DIST_NAME)" >>openjdk/jdk/make/common/shared/Defs.gmk ; \ if [ -n "$(PKGVERSION)" ]; then \ echo "DISTRO_PACKAGE_VERSION=$(PKGVERSION)" \ >>openjdk/jdk/make/common/shared/Defs.gmk ; \ diff -r 6df6b86a20bd -r 3469e88d33ea acinclude.m4 --- a/acinclude.m4 Wed Jan 20 16:28:45 2010 +0100 +++ b/acinclude.m4 Thu Jan 21 02:23:36 2010 +0000 @@ -1146,3 +1146,62 @@ AC_SUBST(PARALLEL_JOBS) AC_SUBST(PARALLEL_JOBS) ]) +AC_DEFUN([IT_GET_LSB_DATA], +[ +AC_MSG_CHECKING([build identification]) +if test -n "$LSB_RELEASE"; then + lsb_info="$($LSB_RELEASE -ds | sed 's/^"//;s/"$//')" + if test -n "$PKGVERSION"; then + DIST_ID="$lsb_info, package $PKGVERSION" + else + DIST_ID="Built on $lsb_info ($(date))" + fi + DIST_NAME="$($LSB_RELEASE -is | sed 's/^"//;s/"$//')" +else + DIST_ID="Custom build ($(date))" + DIST_NAME="$build_os" +fi +AC_MSG_RESULT([${DIST_ID}]) +AC_SUBST(DIST_ID) +AC_SUBST(DIST_NAME) +]) + + +AC_DEFUN_ONCE([IT_CHECK_FOR_MERCURIAL], +[ + AC_PATH_TOOL([HG],[hg]) + AC_SUBST([HG]) +]) + +AC_DEFUN_ONCE([IT_OBTAIN_HG_REVISIONS], +[ + AC_REQUIRE([IT_CHECK_FOR_MERCURIAL]) + AC_REQUIRE([WITH_OPENJDK_SRC_DIR]) + ICEDTEA_REVISION="none"; + JDK_REVISION="none"; + HOTSPOT_REVISION="none"; + if which ${HG} >/dev/null; then + AC_MSG_CHECKING([for IcedTea Mercurial revision ID]) + if test -e ${abs_top_srcdir}/.hg ; then + ICEDTEA_REVISION="r`(cd ${abs_top_srcdir}; ${HG} tip --template '{node|short}')`" ; + fi ; + AC_MSG_RESULT([${ICEDTEA_REVISION}]) + AC_SUBST([ICEDTEA_REVISION]) + AC_MSG_CHECKING([for JDK Mercurial revision ID]) + if test -e ${OPENJDK_SRC_DIR}/jdk/.hg ; then + JDK_REVISION="r`(cd ${OPENJDK_SRC_DIR}/jdk; ${HG} tip --template '{node|short}')`" ; + fi ; + AC_MSG_RESULT([${JDK_REVISION}]) + AC_SUBST([JDK_REVISION]) + AC_MSG_CHECKING([for HotSpot Mercurial revision ID]) + if test -e ${OPENJDK_SRC_DIR}/hotspot/.hg ; then \ + HOTSPOT_REVISION="r`(cd ${OPENJDK_SRC_DIR}/hotspot; ${HG} tip --template '{node|short}')`" ; + fi ; + AC_MSG_RESULT([${HOTSPOT_REVISION}]) + AC_SUBST([HOTSPOT_REVISION]) + fi; + AM_CONDITIONAL([HAS_ICEDTEA_REVISION], test "x${ICEDTEA_REVISION}" != xnone) + AM_CONDITIONAL([HAS_JDK_REVISION], test "x${JDK_REVISION}" != xnone) + AM_CONDITIONAL([HAS_HOTSPOT_REVISION], test "x${HOTSPOT_REVISION}" != xnone) +]) + diff -r 6df6b86a20bd -r 3469e88d33ea configure.ac --- a/configure.ac Wed Jan 20 16:28:45 2010 +0100 +++ b/configure.ac Thu Jan 21 02:23:36 2010 +0000 @@ -39,8 +39,8 @@ dnl OpenJDK's README-builds.html lists g dnl OpenJDK's README-builds.html lists gawk as a build dependency so we dnl check for it explicitly rather than using AC_PROG_AWK. FIND_TOOL([GAWK], [gawk]) -AC_PATH_TOOL([HG],[hg]) -AC_SUBST([HG]) +IT_CHECK_FOR_MERCURIAL +IT_OBTAIN_HG_REVISIONS AC_PATH_TOOL([LSB_RELEASE],[lsb_release]) AC_CHECK_WITH_GCJ AC_CHECK_WITH_HOTSPOT_BUILD @@ -177,17 +177,7 @@ AC_ARG_WITH([pkgversion], [PKGVERSION=]) AC_SUBST(PKGVERSION) -if test -n "$LSB_RELEASE"; then - lsb_info="$($LSB_RELEASE -ds | sed 's/^"//;s/"$//')" - if test -n "$PKGVERSION"; then - DIST_ID="$lsb_info, package $PKGVERSION" - else - DIST_ID="Built on $lsb_info" - fi -else - DIST_ID="Custom build ($(date))" -fi -AC_SUBST(DIST_ID) +IT_GET_LSB_DATA SET_ARCH_DIRS SET_OS_DIRS diff -r 6df6b86a20bd -r 3469e88d33ea patches/icedtea-version-hotspot.patch --- a/patches/icedtea-version-hotspot.patch Wed Jan 20 16:28:45 2010 +0100 +++ b/patches/icedtea-version-hotspot.patch Thu Jan 21 02:23:36 2010 +0000 @@ -1,10 +1,14 @@ diff -Nru openjdk.orig/hotspot/make/linu 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 @@ +--- openjdk.orig/hotspot/make/linux/makefiles/vm.make 2010-01-18 22:58:55.000000000 +0000 ++++ openjdk/hotspot/make/linux/makefiles/vm.make 2010-01-20 17:26:22.000000000 +0000 +@@ -86,6 +86,14 @@ ${JRE_VERSION} \ ${VM_DISTRO} ++ifdef DERIVATIVE_ID ++CPPFLAGS += -DDERIVATIVE_ID="\"$(DERIVATIVE_ID)\"" ++endif ++ +ifdef DISTRIBUTION_ID +CPPFLAGS += -DDISTRIBUTION_ID="\"$(DISTRIBUTION_ID)\"" +endif @@ -12,9 +16,21 @@ diff -Nru openjdk.orig/hotspot/make/linu # CFLAGS_WARN holds compiler options to suppress/enable warnings. CFLAGS += $(CFLAGS_WARN/BYFILE) +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 2010-01-18 23:00:22.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2010-01-20 17:24:22.000000000 +0000 +@@ -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; 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 +--- openjdk.orig/hotspot/src/share/vm/utilities/vmError.cpp 2010-01-18 22:56:40.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/utilities/vmError.cpp 2010-01-20 17:25:15.000000000 +0000 @@ -165,7 +165,8 @@ static void print_bug_submit_message(outputStream *out, Thread *thread) { @@ -25,24 +41,16 @@ diff -Nru openjdk.orig/hotspot/src/share 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 @@ +@@ -341,6 +342,12 @@ Abstract_VM_Version::vm_platform_string(), UseCompressedOops ? "compressed oops" : "" ); ++#ifdef DERIVATIVE_ID ++ st->print_cr("# Derivative: %s", DERIVATIVE_ID); ++#endif +#ifdef DISTRIBUTION_ID + st->print_cr("# Distribution: %s", DISTRIBUTION_ID); +#endif STEP(60, "(printing problematic frame)") ---- 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; diff -r 6df6b86a20bd -r 3469e88d33ea patches/icedtea-version.patch --- a/patches/icedtea-version.patch Wed Jan 20 16:28:45 2010 +0100 +++ b/patches/icedtea-version.patch Thu Jan 21 02:23:36 2010 +0000 @@ -1,5 +1,6 @@ ---- openjdkold/jdk/make/common/shared/Defs.gmk 2008-08-28 04:10:47.000000000 -0400 -+++ openjdk/jdk/make/common/shared/Defs.gmk 2009-02-08 08:30:21.000000000 -0500 +diff -r 134c345baf84 make/common/shared/Defs.gmk +--- openjdk.orig/jdk/make/common/shared/Defs.gmk Thu Jun 18 11:12:13 2009 +0800 ++++ openjdk/jdk/make/common/shared/Defs.gmk Sat Jan 09 00:26:19 2010 +0000 @@ -194,7 +194,7 @@ # Default names @@ -9,22 +10,48 @@ PRODUCT_NAME = OpenJDK PRODUCT_SUFFIX = Runtime Environment JDK_RC_PLATFORM_NAME = Platform ---- openjdk/jdk/src/share/classes/sun/misc/Version-template.java.~1~ 2008-11-25 01:04:53.000000000 -0800 -+++ openjdk/jdk/src/share/classes/sun/misc/Version-template.java 2009-02-20 09:03:25.000000000 -0800 -@@ -41,6 +41,12 @@ +diff -r 134c345baf84 make/java/version/Makefile +--- openjdk.orig/jdk/make/java/version/Makefile Thu Jun 18 11:12:13 2009 +0800 ++++ openjdk/jdk/make/java/version/Makefile Sat Jan 09 00:26:19 2010 +0000 +@@ -39,7 +39,12 @@ + $(SED) -e 's/@@launcher_name@@/$(LAUNCHER_NAME)/g' \ + -e 's/@@java_version@@/$(RELEASE)/g' \ + -e 's/@@java_runtime_version@@/$(FULL_VERSION)/g' \ ++ -e 's/@@jdk_derivative_name@@/$(JDK_DERIVATIVE_NAME)/g' \ ++ -e 's/@@distro_name@@/$(DISTRO_NAME)/g' \ ++ -e 's/@@distro_package_version@@/$(DISTRO_PACKAGE_VERSION)/g' \ + -e 's/@@java_runtime_name@@/$(RUNTIME_NAME)/g' \ ++ -e 's/@@jdk_revid@@/$(JDK_REVID)/g' \ ++ -e 's/@@hotspot_revid@@/$(HOTSPOT_REVID)/g' \ + $< > $@.temp + @$(MV) $@.temp $@ + +diff -r 134c345baf84 src/share/classes/sun/misc/Version-template.java +--- openjdk.orig/jdk/src/share/classes/sun/misc/Version-template.java Thu Jun 18 11:12:13 2009 +0800 ++++ openjdk/jdk/src/share/classes/sun/misc/Version-template.java Sat Jan 09 00:26:19 2010 +0000 +@@ -41,6 +41,21 @@ private static final String java_runtime_version = "@@java_runtime_version@@"; + private static final String jdk_derivative_name = + "@@jdk_derivative_name@@"; + ++ private static final String distro_name = ++ "@@distro_name@@"; ++ + private static final String distro_package_version = + "@@distro_package_version@@"; ++ ++ private static final String jdk_revid = ++ "@@jdk_revid@@"; ++ ++ private static final String hotspot_revid = ++ "@@hotspot_revid@@"; + static { init(); } -@@ -81,12 +87,26 @@ +@@ -81,14 +96,34 @@ /* First line: platform version. */ ps.println(launcher_name + " version \"" + java_version + "\""); @@ -33,35 +60,32 @@ /* Second line: runtime version (ie, libraries). */ - ps.println(java_runtime_name + " (build " + - java_runtime_version + ")"); -+ StringBuilder sb = new StringBuilder(); -+ if (java_vm_name.toLowerCase().startsWith("cacao")) { -+ sb.append("IcedTea Runtime Environment"); -+ } else { -+ sb.append(java_runtime_name); -+ } -+ if (jdk_derivative_name.length() > 0) { -+ sb.append(" (").append(jdk_derivative_name).append(")"); -+ } -+ if (distro_package_version.length() > 0) { -+ sb.append(" (").append(distro_package_version).append(")"); -+ } else { -+ sb.append(" (build ").append(java_runtime_version).append(")"); -+ } -+ ps.println(sb.toString()); ++ StringBuilder sb = new StringBuilder(); ++ if (java_vm_name.toLowerCase().startsWith("cacao")) { ++ sb.append("IcedTea Runtime Environment"); ++ } else { ++ sb.append(java_runtime_name); ++ } ++ if (jdk_derivative_name.length() > 0) { ++ sb.append(" (").append(jdk_derivative_name).append(")"); ++ } ++ if (distro_package_version.length() > 0) { ++ sb.append(" (").append(distro_package_version).append(")"); ++ } else { ++ sb.append(" ("); ++ if (distro_name.length() > 0) ++ sb.append(distro_name).append(" "); ++ sb.append("build ").append(java_runtime_version); ++ if (jdk_revid.length() > 0) ++ sb.append("+").append(jdk_revid); ++ sb.append(")"); ++ } ++ ps.println(sb.toString()); /* Third line: JVM information. */ - String java_vm_name = System.getProperty("java.vm.name"); String java_vm_version = System.getProperty("java.vm.version"); String java_vm_info = System.getProperty("java.vm.info"); ps.println(java_vm_name + " (build " + java_vm_version + ", " + ---- openjdk/jdk/make/java/version/Makefile.~1~ 2008-11-25 01:01:15.000000000 -0800 -+++ openjdk/jdk/make/java/version/Makefile 2009-02-20 09:03:56.000000000 -0800 -@@ -39,6 +39,8 @@ - $(SED) -e 's/@@launcher_name@@/$(LAUNCHER_NAME)/g' \ - -e 's/@@java_version@@/$(RELEASE)/g' \ - -e 's/@@java_runtime_version@@/$(FULL_VERSION)/g' \ -+ -e 's/@@jdk_derivative_name@@/$(JDK_DERIVATIVE_NAME)/g' \ -+ -e 's/@@distro_package_version@@/$(DISTRO_PACKAGE_VERSION)/g' \ - -e 's/@@java_runtime_name@@/$(RUNTIME_NAME)/g' \ - $< > $@.temp - @$(MV) $@.temp $@ + java_vm_info + ")"); + } From bugzilla-daemon at icedtea.classpath.org Wed Jan 20 19:19:22 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 21 Jan 2010 03:19:22 +0000 Subject: [Bug 433] New: Failed tar extraction does not cause immediate build failure Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=433 Summary: Failed tar extraction does not cause immediate build failure Product: IcedTea Version: 6-hg Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea6 AssignedTo: unassigned at icedtea.classpath.org ReportedBy: gnu_andrew at member.fsf.org if ! test -d openjdk ; \ then \ mkdir openjdk ; \ /bin/tar xf /boom -C openjdk; \ chmod -R ug+w openjdk ; \ sh /home/andrew/projects/openjdk/icedtea6-1.7/fsg.sh ; \ fi /bin/tar: /boom: Cannot open: No such file or directory /bin/tar: Error is not recoverable: exiting now Further liberating OpenJDK... if [ ! -e /tmp/icedtea6/generated ]; then \ cp -a /home/andrew/projects/openjdk/icedtea6-1.7/generated /tmp/icedtea6; \ find /tmp/icedtea6/generated -type f -exec chmod 640 '{}' ';' \ -o -type d -exec chmod 750 '{}' ';'; \ fi mkdir -p stamps touch stamps/extract.stamp touch stamps/replace-hotspot.stamp for target in /home/andrew/projects/openjdk/icedtea6-1.7/ports/hotspot/make/*/platform_zero.in \ /home/andrew/projects/openjdk/icedtea6-1.7/ports/hotspot/make/*/makefiles/* \ /home/andrew/projects/openjdk/icedtea6-1.7/ports/hotspot/tools \ /home/andrew/projects/openjdk/icedtea6-1.7/ports/hotspot/src/*cpu/* \ /home/andrew/projects/openjdk/icedtea6-1.7/ports/hotspot/src/share/vm/*; do \ link=$(dirname $target | sed 's/^.*ports/openjdk/'|sed "s#hotspot/build#hotspot/make#"); \ cp -rv $target $link; \ done `/home/andrew/projects/openjdk/icedtea6-1.7/ports/hotspot/make/linux/platform_zero.in' -> `openjdk/hotspot/make/linux' cp: cannot create regular file `openjdk/hotspot/make/linux': No such file or directory `/home/andrew/projects/openjdk/icedtea6-1.7/ports/hotspot/make/linux/makefiles/shark.make' -> `openjdk/hotspot/make/linux/makefiles' cp: cannot create regular file `openjdk/hotspot/make/linux/makefiles': No such file or directory `/home/andrew/projects/openjdk/icedtea6-1.7/ports/hotspot/make/linux/makefiles/zero.make' -> `openjdk/hotspot/make/linux/makefiles' cp: cannot create regular file `openjdk/hotspot/make/linux/makefiles': No such file or directory `/home/andrew/projects/openjdk/icedtea6-1.7/ports/hotspot/make/linux/makefiles/zeroshark.make' -> `openjdk/hotspot/make/linux/makefiles' cp: cannot create regular file `openjdk/hotspot/make/linux/makefiles': No such file or directory `/home/andrew/projects/openjdk/icedtea6-1.7/ports/hotspot/tools' -> `openjdk/hotspot' `/home/andrew/projects/openjdk/icedtea6-1.7/ports/hotspot/tools/mkbc.c' -> `openjdk/hotspot/mkbc.c' cp: cannot create directory `openjdk/hotspot/src/cpu': No such file or directory cp: cannot create directory `openjdk/hotspot/src/os_cpu': No such file or directory `/home/andrew/projects/openjdk/icedtea6-1.7/ports/hotspot/src/share/vm/includeDB_shark' -> `openjdk/hotspot/src/share/vm' cp: cannot create regular file `openjdk/hotspot/src/share/vm': No such file or directory `/home/andrew/projects/openjdk/icedtea6-1.7/ports/hotspot/src/share/vm/includeDB_zero' -> `openjdk/hotspot/src/share/vm' cp: cannot create regular file `openjdk/hotspot/src/share/vm': No such file or directory cp: cannot create directory `openjdk/hotspot/src/share/vm': No such file or directory CACAO also fails in the same way, getting as far as applying patches. We should recheck directory existence and exit 2. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 21 02:15:03 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 21 Jan 2010 10:15:03 +0000 Subject: [Bug 431] cacao build broken, making redist all, in icedtea6 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=431 xerxes at zafena.se changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #10 from xerxes at zafena.se 2010-01-21 10:14 ------- The final solution became to link the missing cacao install client dir to the existing server dir. fixed in http://icedtea.classpath.org/hg/icedtea6/rev/daf81eeba901 and http://icedtea.classpath.org/hg/release/icedtea6-1.7/rev/6df6b86a20bd -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 21 05:00:56 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 21 Jan 2010 13:00:56 +0000 Subject: [Bug 433] Failed tar extraction does not cause immediate build failure Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=433 ------- Comment #1 from doko at ubuntu.com 2010-01-21 13:00 ------- better avoid the shell-script/rpm-build-script style in the makefile, use extra make files in subdirectories, ... or as a first step, prefix every statement list with set -e. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From doko at ubuntu.com Thu Jan 21 05:21:54 2010 From: doko at ubuntu.com (Matthias Klose) Date: Thu, 21 Jan 2010 14:21:54 +0100 Subject: Request to commit to head: Thumb 2 JIT In-Reply-To: <201001191745.o0JHjoRl004761@mint.camswl.com> References: <201001191745.o0JHjoRl004761@mint.camswl.com> Message-ID: <4B5854F2.50705@ubuntu.com> On 19.01.2010 18:45, ed at camswl.com wrote: > Hi folks, > > The following patch adds a Thumb2 JIT to the ARM port. As the diffs are quite large > and may be truncated here, I have put a .gz of the diffs at [...] > The JIT does not build by default. The default build is still the ARM interpreter. > > To build the JIT > > Edit /ports/hotspot/make/linux/makefiles/zeroshark.make and add > > -DTHUMB2EE I tested a build based on hs14 on arm-linux-gnueabi, targeting armv7/thumb. the build did succeed, and didn't abort yet in the testsuite. > On non Thumb2 platforms (ie ARM arch< V7) the JIT will revert to the interpreter. I have > tested this on ARM V5, but have been unable to test it on ARM V4 due to lack of hardware > (I have tested the build with gcc 4.1 so it should build on V4 platforms). If anyone has > access to V4 hw could the try it and let me know the results. A build on a thecus (strongarm) succeeds (Debian unstable). Currently in the jdk build, passed the vm build. Note that all compilers shipped by Debian default to v4 code generation. > OK to commit? I don't see why not. It's not enabled by default, so it should not hurt. Matthias From ludo at gnu.org Thu Jan 21 02:48:58 2010 From: ludo at gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) Date: Thu, 21 Jan 2010 11:48:58 +0100 Subject: IcedTea/OpenJDK bootstrapping issue Message-ID: <878wbrwpli.fsf@gnu.org> Hello, I?m in the process of packaging IcedTea 1.6 for the NixOS GNU/Linux distribution [0]. I?m hitting what looks like a bootstrapping issue: --8<---------------cut here---------------start------------->8--- -def-pcompile: [mkdir] Created dir: /tmp/nix-build-3k2gbs45pjl5jv02xna5x8daynvnng7g-icedtea6-1.6.1.drv-0/icedtea6-1.6.1/openjdk-ecj/build/linux-amd64/langtools/build/toolclasses [javac] Compiling 2 source files to /tmp/nix-build-3k2gbs45pjl5jv02xna5x8daynvnng7g-icedtea6-1.6.1.drv-0/icedtea6-1.6.1/openjdk-ecj/build/linux-amd64/langtools/build/toolclasses [javac] ---------- [javac] 1. ERROR in /tmp/nix-build-3k2gbs45pjl5jv02xna5x8daynvnng7g-icedtea6-1.6.1.drv-0/icedtea6-1.6.1/openjdk-ecj/langtools/make/tools/CompileProperties/CompileProperties.java (at line 1) [javac] /* [javac] ^ [javac] The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files [...] [javac] 145. ERROR in /tmp/nix-build-3k2gbs45pjl5jv02xna5x8daynvnng7g-icedtea6-1.6.1.drv-0/icedtea6-1.6.1/openjdk-ecj/langtools/make/tools/CompileProperties/CompilePropertiesTask.java (at line 95) [javac] private String superclass = "java.util.ListResourceBundle"; [javac] ^^^^^^ [javac] String cannot be resolved to a type [javac] ---------- [javac] 145 problems (145 errors) BUILD FAILED /tmp/nix-build-3k2gbs45pjl5jv02xna5x8daynvnng7g-icedtea6-1.6.1.drv-0/icedtea6-1.6.1/openjdk-ecj/langtools/make/build.xml:575: Compile failed; see the compiler error output for details. --8<---------------cut here---------------end--------------->8--- (Full build log at .) This is with GCJ 4.4.2 and ECJ 3.5.1. What am I missing here? Thanks, Ludo?. [0] http://nixos.org/ From gnu_andrew at member.fsf.org Thu Jan 21 06:00:08 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Thu, 21 Jan 2010 14:00:08 +0000 Subject: IcedTea/OpenJDK bootstrapping issue In-Reply-To: <878wbrwpli.fsf@gnu.org> References: <878wbrwpli.fsf@gnu.org> Message-ID: <17c6771e1001210600o6716d305ucaf51a6ba0fc5169@mail.gmail.com> 2010/1/21 Ludovic Court?s : > Hello, > > I?m in the process of packaging IcedTea 1.6 for the NixOS GNU/Linux > distribution [0]. ?I?m hitting what looks like a bootstrapping issue: > > --8<---------------cut here---------------start------------->8--- > -def-pcompile: > ? ?[mkdir] Created dir: /tmp/nix-build-3k2gbs45pjl5jv02xna5x8daynvnng7g-icedtea6-1.6.1.drv-0/icedtea6-1.6.1/openjdk-ecj/build/linux-amd64/langtools/build/toolclasses > ? ?[javac] Compiling 2 source files to /tmp/nix-build-3k2gbs45pjl5jv02xna5x8daynvnng7g-icedtea6-1.6.1.drv-0/icedtea6-1.6.1/openjdk-ecj/build/linux-amd64/langtools/build/toolclasses > ? ?[javac] ---------- > ? ?[javac] 1. ERROR in /tmp/nix-build-3k2gbs45pjl5jv02xna5x8daynvnng7g-icedtea6-1.6.1.drv-0/icedtea6-1.6.1/openjdk-ecj/langtools/make/tools/CompileProperties/CompileProperties.java (at line 1) > ? ?[javac] ? ? /* > ? ?[javac] ? ? ^ > ? ?[javac] The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files > > [...] > > ? ?[javac] 145. ERROR in /tmp/nix-build-3k2gbs45pjl5jv02xna5x8daynvnng7g-icedtea6-1.6.1.drv-0/icedtea6-1.6.1/openjdk-ecj/langtools/make/tools/CompileProperties/CompilePropertiesTask.java (at line 95) > ? ?[javac] ? ? private String superclass = "java.util.ListResourceBundle"; > ? ?[javac] ? ? ? ? ? ? ^^^^^^ > ? ?[javac] String cannot be resolved to a type > ? ?[javac] ---------- > ? ?[javac] 145 problems (145 errors) > > BUILD FAILED > /tmp/nix-build-3k2gbs45pjl5jv02xna5x8daynvnng7g-icedtea6-1.6.1.drv-0/icedtea6-1.6.1/openjdk-ecj/langtools/make/build.xml:575: Compile failed; see the compiler error output for details. > --8<---------------cut here---------------end--------------->8--- > > (Full build log at > .) > > This is with GCJ 4.4.2 and ECJ 3.5.1. > > What am I missing here? > > Thanks, > Ludo?. > > [0] http://nixos.org/ > It's difficult to tell from that. How are you configuring? What is the output of configure and the javac command before that? -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From gnu_andrew at member.fsf.org Thu Jan 21 06:04:58 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Thu, 21 Jan 2010 14:04:58 +0000 Subject: 1.7 and NPPlugin Message-ID: <17c6771e1001210604o4ff581e6s4df5075e8888e35e@mail.gmail.com> I thought we were ready to ship 1.7. But then I tried to build NPPlugin... cd /var/tmp/portage/dev-java/icedtea6-1.7/work/icedtea6-1.7/plugin/icedteanp; \ if [ -e /var/tmp/portage/dev-java/icedtea6-1.7/work/icedtea6-1.7/.hg ] && which /usr/bin/hg >/dev/null; then \ revision="-r`(cd /var/tmp/portage/dev-java/icedtea6-1.7/work/icedtea6-1.7; /usr/bin/hg tip --template '{rev}')`" ; \ fi ; \ if [ -n "1.7" ]; then plugin_version=" (1.7)"; fi; \ plugin_version=" 1.7$revision$plugin_version"; \ powerpc-unknown-linux-gnu-g++ -O2 -mtune=G5 -mcpu=G5 -mabi=altivec -pipe -ggdb \ -DPACKAGE_VERSION="\"1.7\"" \ -DPLUGIN_VERSION="\"$plugin_version\"" \ -DMOZILLA_VERSION_COLLAPSED="1090011" \ -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include \ -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -\ I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 \ -fshort-wchar -I/usr/include/xulrunner-1.9/stable -I/usr/include/nspr \ -fPIC -c IcedTeaNPPlugin.cc IcedTeaScriptablePluginObject.cc IcedTeaJavaRequestProcessor.cc IcedTeaPluginRequestProcesso\ r.cc IcedTeaPluginUtils.cc; \ cd ../ In file included from IcedTeaJavaRequestProcessor.h:46, from IcedTeaScriptablePluginObject.h:49, from IcedTeaNPPlugin.cc:51: IcedTeaNPPlugin.h:43:27: error: nsThreadUtils.h: No such file or directory IcedTeaNPPlugin.cc:56:31: error: nsIPluginInstance.h: No such file or directory IcedTeaNPPlugin.cc:57:35: error: nsIPluginInstancePeer.h: No such file or directory IcedTeaNPPlugin.cc:58:31: error: nsIPluginTagInfo2.h: No such file or directory IcedTeaNPPlugin.cc:62:30: error: nsICookieService.h: No such file or directory IcedTeaNPPlugin.cc:63:26: error: nsIDNSRecord.h: No such file or directory IcedTeaNPPlugin.cc:64:27: error: nsIDNSService.h: No such file or directory IcedTeaNPPlugin.cc:65:24: error: nsINetUtil.h: No such file or directory IcedTeaNPPlugin.cc:66:26: error: nsIProxyInfo.h: No such file or directory IcedTeaNPPlugin.cc:67:37: error: nsIProtocolProxyService.h: No such file or directory IcedTeaNPPlugin.cc:68:38: error: nsIScriptSecurityManager.h: No such file or directory IcedTeaNPPlugin.cc:71:22: error: nsNetCID.h: No such file or directory etc. but worst of all it doesn't fail then but goes on to do the entire second OpenJDK build (another few hours on ppc) and then fails after that! Shouldn't it be checking for this stuff during configure? On my x86_64 box, I don't even get through configure: checking for xulrunner version... configure: error: in `/mnt/builder/icedtea6-1.7': configure: error: cannot determine xulrunner version -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From ludo at gnu.org Thu Jan 21 06:12:56 2010 From: ludo at gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) Date: Thu, 21 Jan 2010 15:12:56 +0100 Subject: IcedTea/OpenJDK bootstrapping issue In-Reply-To: <17c6771e1001210600o6716d305ucaf51a6ba0fc5169@mail.gmail.com> (Andrew John Hughes's message of "Thu, 21 Jan 2010 14:00:08 +0000") References: <878wbrwpli.fsf@gnu.org> <17c6771e1001210600o6716d305ucaf51a6ba0fc5169@mail.gmail.com> Message-ID: <87r5pjv95j.fsf@gnu.org> Hi, Andrew John Hughes writes: > 2010/1/21 Ludovic Court?s : [...] >> (Full build log at >> .) [...] > It's difficult to tell from that. How are you configuring? What is > the output of configure and the javac command before that? The build log referred to above should contain all the necessary information. For convenience, the ?configure? options are: --disable-dependency-tracking --prefix=/nix/store/z847drs8clss3jdg6wcgi4jp673ng1f6-icedtea6-1.6.1 --with-gcj-home=/nix/store/c4f7h8x73yzmzkf4jkqv86m06i84i9ww-gcj-wrapper-4.4.2 --with-ecj --with-ecj-jar=/nix/store/vnjmlvih7wlpa6zwrz41z6scv0fp9f0l-ecj-3.5.1/lib/java/ecj.jar --with-openjdk-src-zip=/nix/store/9vj9ccy4z5xkf8y3ibzxhkcz4pd31ska-openjdk-6-src-b16-24_apr_2009.tar.gz --with-hotspot-src-zip=/nix/store/bcp3iyy0i1lcyif7ig5hqj3y685m61fn-09f7962b8b44.tar.gz --with-ant-home=/nix/store/08xcr99rkqb97bl3mczscpyba5vrhyhs-ant-gcj-1.7.1/lib/java --with-xalan2-jar=/nix/store/0mwfkgwn8a4xn4w5xk0xbw6m7pw0dpyi-xalan-j-2.7.1/lib/java/xalan.jar --with-xalan2-serializer-jar=/nix/store/0mwfkgwn8a4xn4w5xk0xbw6m7pw0dpyi-xalan-j-2.7.1/lib/java/xalan.jar --with-xerces2-jar=/nix/store/3zwrdp2m910ymaykgfj3j6qwdv5gf9mw-xerces-j-2.9.1/lib/java/xercesImpl.jar --with-rhino=/nix/store/1pkzx6d8shjzklflxw3061xl05m2dhdv-rhino-1.7R2/lib/java/js.jar --disable-plugin --with-parallel-job Thanks, Ludo?. From gnu_andrew at member.fsf.org Thu Jan 21 06:22:31 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Thu, 21 Jan 2010 14:22:31 +0000 Subject: IcedTea/OpenJDK bootstrapping issue In-Reply-To: <87r5pjv95j.fsf@gnu.org> References: <878wbrwpli.fsf@gnu.org> <17c6771e1001210600o6716d305ucaf51a6ba0fc5169@mail.gmail.com> <87r5pjv95j.fsf@gnu.org> Message-ID: <17c6771e1001210622y4f184c5bq9bee23007f5e73@mail.gmail.com> 2010/1/21 Ludovic Court?s : > Hi, > > Andrew John Hughes writes: > >> 2010/1/21 Ludovic Court?s : > > [...] > >>> (Full build log at >>> .) > > [...] > >> It's difficult to tell from that. ?How are you configuring? ?What is >> the output of configure and the javac command before that? > > The build log referred to above should contain all the necessary > information. ?For convenience, the ?configure? options are: > > ?--disable-dependency-tracking > ?--prefix=/nix/store/z847drs8clss3jdg6wcgi4jp673ng1f6-icedtea6-1.6.1 > ?--with-gcj-home=/nix/store/c4f7h8x73yzmzkf4jkqv86m06i84i9ww-gcj-wrapper-4.4.2 > ?--with-ecj > ?--with-ecj-jar=/nix/store/vnjmlvih7wlpa6zwrz41z6scv0fp9f0l-ecj-3.5.1/lib/java/ecj.jar > ?--with-openjdk-src-zip=/nix/store/9vj9ccy4z5xkf8y3ibzxhkcz4pd31ska-openjdk-6-src-b16-24_apr_2009.tar.gz > ?--with-hotspot-src-zip=/nix/store/bcp3iyy0i1lcyif7ig5hqj3y685m61fn-09f7962b8b44.tar.gz > ?--with-ant-home=/nix/store/08xcr99rkqb97bl3mczscpyba5vrhyhs-ant-gcj-1.7.1/lib/java > ?--with-xalan2-jar=/nix/store/0mwfkgwn8a4xn4w5xk0xbw6m7pw0dpyi-xalan-j-2.7.1/lib/java/xalan.jar > ?--with-xalan2-serializer-jar=/nix/store/0mwfkgwn8a4xn4w5xk0xbw6m7pw0dpyi-xalan-j-2.7.1/lib/java/xalan.jar > ?--with-xerces2-jar=/nix/store/3zwrdp2m910ymaykgfj3j6qwdv5gf9mw-xerces-j-2.9.1/lib/java/xercesImpl.jar > ?--with-rhino=/nix/store/1pkzx6d8shjzklflxw3061xl05m2dhdv-rhino-1.7R2/lib/java/js.jar > ?--disable-plugin > ?--with-parallel-job > > Thanks, > Ludo?. > Your ant build is not finding the rt.jar with the classfiles. It actually reports an error about tools.jar: Unable to locate tools.jar. Expected to find it in /nix/store/j4zypm6zmkffn3dqphijb6wfr7wv88xz-gcj-4.4.2/lib/tools.jar Does ant work for you with other builds? -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From ludo at gnu.org Thu Jan 21 06:46:08 2010 From: ludo at gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) Date: Thu, 21 Jan 2010 15:46:08 +0100 Subject: IcedTea/OpenJDK bootstrapping issue In-Reply-To: <17c6771e1001210622y4f184c5bq9bee23007f5e73@mail.gmail.com> (Andrew John Hughes's message of "Thu, 21 Jan 2010 14:22:31 +0000") References: <878wbrwpli.fsf@gnu.org> <17c6771e1001210600o6716d305ucaf51a6ba0fc5169@mail.gmail.com> <87r5pjv95j.fsf@gnu.org> <17c6771e1001210622y4f184c5bq9bee23007f5e73@mail.gmail.com> Message-ID: <87636vv7m7.fsf@gnu.org> Hi, Andrew John Hughes writes: > 2010/1/21 Ludovic Court?s : [...] >>>> (Full build log at >>>> .) [...] > Your ant build is not finding the rt.jar with the classfiles. It > actually reports an error about tools.jar: > > Unable to locate tools.jar. Expected to find it in > /nix/store/j4zypm6zmkffn3dqphijb6wfr7wv88xz-gcj-4.4.2/lib/tools.jar Why does it expect it in this particular path? Which package does ?tools.jar? normally come with? (Sorry, I?m not very familiar with the Java environment as you can see...) > Does ant work for you with other builds? Yes. This version of Ant was built with GCJ. It was then used to compile things like Xalan, Xerces, and Rhino. Thanks, Ludo?. From gbenson at redhat.com Thu Jan 21 06:50:23 2010 From: gbenson at redhat.com (Gary Benson) Date: Thu, 21 Jan 2010 14:50:23 +0000 Subject: Request to commit to head: Thumb 2 JIT In-Reply-To: <201001191745.o0JHjoRl004761@mint.camswl.com> References: <201001191745.o0JHjoRl004761@mint.camswl.com> Message-ID: <20100121145023.GA3486@redhat.com> ed at camswl.com wrote: > The following patch adds a Thumb2 JIT to the ARM port. [snip] I'm fine with these changes. Cheers, Gary -- http://gbenson.net/ From gnu_andrew at member.fsf.org Thu Jan 21 07:18:29 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Thu, 21 Jan 2010 15:18:29 +0000 Subject: IcedTea/OpenJDK bootstrapping issue In-Reply-To: <87636vv7m7.fsf@gnu.org> References: <878wbrwpli.fsf@gnu.org> <17c6771e1001210600o6716d305ucaf51a6ba0fc5169@mail.gmail.com> <87r5pjv95j.fsf@gnu.org> <17c6771e1001210622y4f184c5bq9bee23007f5e73@mail.gmail.com> <87636vv7m7.fsf@gnu.org> Message-ID: <17c6771e1001210718y179d75feufe060fcfd99d2821@mail.gmail.com> 2010/1/21 Ludovic Court?s : > Hi, > > Andrew John Hughes writes: > >> 2010/1/21 Ludovic Court?s : > > [...] > >>>>> (Full build log at >>>>> .) > > [...] > >> Your ant build is not finding the rt.jar with the classfiles. ?It >> actually reports an error about tools.jar: >> >> Unable to locate tools.jar. Expected to find it in >> /nix/store/j4zypm6zmkffn3dqphijb6wfr7wv88xz-gcj-4.4.2/lib/tools.jar > > Why does it expect it in this particular path? ?Which package does > ?tools.jar? normally come with? ?(Sorry, I?m not very familiar with the > Java environment as you can see...) > Because ant expects a Sun JDK layout... GCJ 4.4 has an option to generate this layout: --with-java-home=$GCC_INSTALL --enable-java-home \ --with-jvm-root-dir=$GCC_INSTALL/jdk >> Does ant work for you with other builds? > > Yes. ?This version of Ant was built with GCJ. ?It was then used to > compile things like Xalan, Xerces, and Rhino. It seems something is broken with regard to Ant. The fact it's looking for tools.jar in your gcj home directory rather than bootstrap/jdk1.6.0 suggests it's ignoring the setting of bootstrap.java.home. Have you checked that bootstrap/jd1.6.0 has a valid jar file in jre/lib/rt.jar? I would guess it does as the earlier stages have worked, but Ant is reverting to your system install. > > Thanks, > Ludo?. > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From doko at icedtea.classpath.org Thu Jan 21 07:21:47 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Thu, 21 Jan 2010 15:21:47 +0000 Subject: /hg/icedtea6: Don't hide errors in statement sequences building ... Message-ID: changeset 8aa81a796b0b in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=8aa81a796b0b author: doko at ubuntu.com date: Thu Jan 21 16:20:47 2010 +0100 Don't hide errors in statement sequences building the NPPlugin 2010-01-21 Matthias Klose * Makefile.am: Don't hide errors in statement sequences building the NPPlugin. Use ICEDTEA_REV to defined PLUGIN_VERSION. diffstat: 2 files changed, 10 insertions(+), 12 deletions(-) ChangeLog | 5 +++++ Makefile.am | 17 +++++------------ diffs (52 lines): diff -r 2d94f16209e8 -r 8aa81a796b0b ChangeLog --- a/ChangeLog Thu Jan 21 02:23:36 2010 +0000 +++ b/ChangeLog Thu Jan 21 16:20:47 2010 +0100 @@ -1,3 +1,8 @@ 2010-01-21 Andrew John Hughes + + * Makefile.am: Don't hide errors in statement sequences building + the NPPlugin. Use ICEDTEA_REV to defined PLUGIN_VERSION. + 2010-01-21 Andrew John Hughes * Makefile.am: diff -r 2d94f16209e8 -r 8aa81a796b0b Makefile.am --- a/Makefile.am Thu Jan 21 02:23:36 2010 +0000 +++ b/Makefile.am Thu Jan 21 16:20:47 2010 +0100 @@ -1481,31 +1481,24 @@ NPPLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedT IcedTeaPluginUtils.o $(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_OBJECTS)): $(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_SRC)) - cd $(NPPLUGIN_DIR); \ - if [ -e $(abs_top_srcdir)/.hg ] && which $(HG) >/dev/null; then \ - revision="-r`(cd $(abs_top_srcdir); $(HG) tip --template '{rev}')`" ; \ - fi ; \ - if [ -n "$(PKGVERSION)" ]; then plugin_version=" ($(PKGVERSION))"; fi; \ - plugin_version=" $(PACKAGE_VERSION)$$revision$$plugin_version"; \ + cd $(NPPLUGIN_DIR) && \ $(CXX) $(CXXFLAGS) \ -DPACKAGE_VERSION="\"$(PACKAGE_VERSION)\"" \ - -DPLUGIN_VERSION="\"$$plugin_version\"" \ + -DPLUGIN_VERSION="\"$(PACKAGE_VERSION)$(ICEDTEA_REV)\"" \ -DMOZILLA_VERSION_COLLAPSED="$(MOZILLA_VERSION_COLLAPSED)" \ $(GLIB_CFLAGS) \ $(GTK_CFLAGS) \ $(MOZILLA_CFLAGS) \ - -fPIC -c $(NPPLUGIN_SRC); \ - cd ../ + -fPIC -c $(NPPLUGIN_SRC) $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so: $(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_OBJECTS)) - cd $(NPPLUGIN_DIR); \ + cd $(NPPLUGIN_DIR) && \ $(CXX) $(CXXFLAGS) \ $(NPPLUGIN_OBJECTS) \ $(GLIB_LIBS) \ $(GTK_LIBS) \ $(MOZILLA_LIBS)\ - -shared -o $@; \ - cd ../ + -shared -o $@ stamps/icedtea-npplugin: $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so touch stamps/icedtea-npplugin From doko at icedtea.classpath.org Thu Jan 21 07:23:52 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Thu, 21 Jan 2010 15:23:52 +0000 Subject: /hg/release/icedtea6-1.7: Don't hide errors in statement sequenc... Message-ID: changeset 1e6c98cc8858 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=1e6c98cc8858 author: doko at ubuntu.com date: Thu Jan 21 16:22:30 2010 +0100 Don't hide errors in statement sequences building the NPPlugin 2010-01-21 Matthias Klose * Makefile.am: Don't hide errors in statement sequences building the NPPlugin. Use ICEDTEA_REV to defined PLUGIN_VERSION. diffstat: 2 files changed, 10 insertions(+), 12 deletions(-) ChangeLog | 5 +++++ Makefile.am | 17 +++++------------ diffs (52 lines): diff -r 3469e88d33ea -r 1e6c98cc8858 ChangeLog --- a/ChangeLog Thu Jan 21 02:23:36 2010 +0000 +++ b/ChangeLog Thu Jan 21 16:22:30 2010 +0100 @@ -1,3 +1,8 @@ 2010-01-21 Andrew John Hughes + + * Makefile.am: Don't hide errors in statement sequences building + the NPPlugin. Use ICEDTEA_REV to defined PLUGIN_VERSION. + 2010-01-21 Andrew John Hughes * Makefile.am: diff -r 3469e88d33ea -r 1e6c98cc8858 Makefile.am --- a/Makefile.am Thu Jan 21 02:23:36 2010 +0000 +++ b/Makefile.am Thu Jan 21 16:22:30 2010 +0100 @@ -1478,31 +1478,24 @@ NPPLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedT IcedTeaPluginUtils.o $(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_OBJECTS)): $(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_SRC)) - cd $(NPPLUGIN_DIR); \ - if [ -e $(abs_top_srcdir)/.hg ] && which $(HG) >/dev/null; then \ - revision="-r`(cd $(abs_top_srcdir); $(HG) tip --template '{rev}')`" ; \ - fi ; \ - if [ -n "$(PKGVERSION)" ]; then plugin_version=" ($(PKGVERSION))"; fi; \ - plugin_version=" $(PACKAGE_VERSION)$$revision$$plugin_version"; \ + cd $(NPPLUGIN_DIR) && \ $(CXX) $(CXXFLAGS) \ -DPACKAGE_VERSION="\"$(PACKAGE_VERSION)\"" \ - -DPLUGIN_VERSION="\"$$plugin_version\"" \ + -DPLUGIN_VERSION="\"$(PACKAGE_VERSION)$(ICEDTEA_REV)\"" \ -DMOZILLA_VERSION_COLLAPSED="$(MOZILLA_VERSION_COLLAPSED)" \ $(GLIB_CFLAGS) \ $(GTK_CFLAGS) \ $(MOZILLA_CFLAGS) \ - -fPIC -c $(NPPLUGIN_SRC); \ - cd ../ + -fPIC -c $(NPPLUGIN_SRC) $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so: $(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_OBJECTS)) - cd $(NPPLUGIN_DIR); \ + cd $(NPPLUGIN_DIR) && \ $(CXX) $(CXXFLAGS) \ $(NPPLUGIN_OBJECTS) \ $(GLIB_LIBS) \ $(GTK_LIBS) \ $(MOZILLA_LIBS)\ - -shared -o $@; \ - cd ../ + -shared -o $@ stamps/icedtea-npplugin: $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so touch stamps/icedtea-npplugin From doko at icedtea.classpath.org Thu Jan 21 07:27:59 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Thu, 21 Jan 2010 15:27:59 +0000 Subject: /hg/icedtea: Don't hide errors in statement sequences building t... Message-ID: changeset b508e729d94a in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=b508e729d94a author: doko at ubuntu.com date: Thu Jan 21 16:26:57 2010 +0100 Don't hide errors in statement sequences building the NPPlugin 2010-01-21 Matthias Klose * Makefile.am: Don't hide errors in statement sequences building the NPPlugin. Use ICEDTEA_REV to defined PLUGIN_VERSION. diffstat: 2 files changed, 10 insertions(+), 12 deletions(-) ChangeLog | 5 +++++ Makefile.am | 17 +++++------------ diffs (52 lines): diff -r fadd1b656c20 -r b508e729d94a ChangeLog --- a/ChangeLog Tue Jan 19 14:56:40 2010 -0500 +++ b/ChangeLog Thu Jan 21 16:26:57 2010 +0100 @@ -1,3 +1,8 @@ 2010-01-19 Man Lung Wong + + * Makefile.am: Don't hide errors in statement sequences building + the NPPlugin. Use ICEDTEA_REV to defined PLUGIN_VERSION. + 2010-01-19 Man Lung Wong * rt/net/sourceforge/jnlp/JNLPFile.java diff -r fadd1b656c20 -r b508e729d94a Makefile.am --- a/Makefile.am Tue Jan 19 14:56:40 2010 -0500 +++ b/Makefile.am Thu Jan 21 16:26:57 2010 +0100 @@ -1964,31 +1964,24 @@ NPPLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedT IcedTeaPluginUtils.o $(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_OBJECTS)): $(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_SRC)) - cd $(PLUGIN_DIR); \ - if [ -e $(abs_top_srcdir)/.hg ] && which $(HG) >/dev/null; then \ - revision="-r`(cd $(abs_top_srcdir); $(HG) tip --template '{rev}')`" ; \ - fi ; \ - if [ -n "$(PKGVERSION)" ]; then plugin_version=" ($(PKGVERSION))"; fi; \ - plugin_version=" $(PACKAGE_VERSION)$$revision$$plugin_version"; \ + cd $(PLUGIN_DIR) && \ $(CXX) $(CXXFLAGS) \ -DPACKAGE_VERSION="\"$(PACKAGE_VERSION)\"" \ - -DPLUGIN_VERSION="\"$$plugin_version\"" \ + -DPLUGIN_VERSION="\"$(PACKAGE_VERSION)$(ICEDTEA_REV)\"" \ -DMOZILLA_VERSION_COLLAPSED="$(MOZILLA_VERSION_COLLAPSED)" \ $(GLIB_CFLAGS) \ $(GTK_CFLAGS) \ $(MOZILLA_CFLAGS) \ - -fPIC -c $(NPPLUGIN_SRC); \ - cd ../ + -fPIC -c $(NPPLUGIN_SRC) $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so: $(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_OBJECTS)) - cd $(PLUGIN_DIR); \ + cd $(PLUGIN_DIR) && \ $(CXX) $(CXXFLAGS) \ $(NPPLUGIN_OBJECTS) \ $(GLIB_LIBS) \ $(GTK_LIBS) \ $(MOZILLA_LIBS)\ - -shared -o $@ \ - cd ../ + -shared -o $@ stamps/icedtea-npplugin: $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so touch stamps/icedtea-npplugin From andrew at icedtea.classpath.org Thu Jan 21 08:06:04 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 21 Jan 2010 16:06:04 +0000 Subject: /hg/release/icedtea6-1.7: PR icedtea/433: Add set -e before tarb... Message-ID: changeset e303235cefa8 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=e303235cefa8 author: Andrew John Hughes date: Thu Jan 21 16:11:56 2010 +0000 PR icedtea/433: Add set -e before tarball extraction so a failure stops the build. 2010-01-21 Andrew John Hughes PR icedtea/433 * Makefile.am: Add set -e to tarball extractions so that they fail immediately. diffstat: 2 files changed, 13 insertions(+) ChangeLog | 7 +++++++ Makefile.am | 6 ++++++ diffs (61 lines): diff -r 1e6c98cc8858 -r e303235cefa8 ChangeLog --- a/ChangeLog Thu Jan 21 16:22:30 2010 +0100 +++ b/ChangeLog Thu Jan 21 16:11:56 2010 +0000 @@ -1,3 +1,10 @@ 2010-01-21 Matthias Klose + + PR icedtea/433 + * Makefile.am: + Add set -e to tarball extractions so + that they fail immediately. + 2010-01-21 Matthias Klose * Makefile.am: Don't hide errors in statement sequences building diff -r 1e6c98cc8858 -r e303235cefa8 Makefile.am --- a/Makefile.am Thu Jan 21 16:22:30 2010 +0100 +++ b/Makefile.am Thu Jan 21 16:11:56 2010 +0000 @@ -772,6 +772,7 @@ if OPENJDK_SRC_DIR_FOUND if OPENJDK_SRC_DIR_FOUND cp -a $(OPENJDK_SRC_DIR) openjdk else + set -e ; \ if ! test -d openjdk ; \ then \ mkdir openjdk ; \ @@ -783,12 +784,14 @@ if BUILD_CACAO if BUILD_CACAO if !USE_SYSTEM_CACAO if USE_ALT_CACAO_SRC_DIR + set -e ; \ if ! test -d cacao ; \ then \ mkdir -p cacao/cacao ; \ cp -r $(ALT_CACAO_SRC_DIR)/* cacao/cacao/ ; \ fi else + set -e ; \ if ! test -d cacao ; \ then \ mkdir cacao ; \ @@ -800,17 +803,20 @@ endif endif endif if WITH_VISUALVM + set -e ; \ if ! test -d netbeans ; \ then \ mkdir netbeans ; \ $(TAR) xf $(NETBEANS_PROFILER_SRC_ZIP) -C netbeans ; \ fi + set -e ; \ if ! test -d visualvm ; \ then \ $(TAR) xf $(VISUALVM_SRC_ZIP) ; \ fi endif + set -e ; \ 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 '{}' ';' \ From bugzilla-daemon at icedtea.classpath.org Thu Jan 21 08:06:45 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 21 Jan 2010 16:06:45 +0000 Subject: [Bug 433] Failed tar extraction does not cause immediate build failure Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=433 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #2 from gnu_andrew at member.fsf.org 2010-01-21 16:06 ------- Fixed using set -e for now. This is the one of the most hideous Makefiles I've ever seen, though the build is a bit unusual I guess. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From jonnyt at abpni.co.uk Thu Jan 21 08:18:00 2010 From: jonnyt at abpni.co.uk (Jonathan Tripathy) Date: Thu, 21 Jan 2010 16:18:00 +0000 Subject: Running non-free software Message-ID: <4B587E38.5090402@abpni.co.uk> Hi Folks, Can IcedTea be used to run non-free (i.e.proprietary) software? We lease out computers to customers, which run linux, and wish to include the FOSS IcedTea, however our Java application is non-free, so I was wonder if there were any licensing issues that I'd need to be aware of? I'm ok with the normal GPL stuff (Give out source code, don't restrict distribution for IcedTea and other GPL applications etc..) Thanks, Jonny From aph at redhat.com Thu Jan 21 08:20:26 2010 From: aph at redhat.com (Andrew Haley) Date: Thu, 21 Jan 2010 16:20:26 +0000 Subject: Running non-free software In-Reply-To: <4B587E38.5090402@abpni.co.uk> References: <4B587E38.5090402@abpni.co.uk> Message-ID: <4B587ECA.9060305@redhat.com> On 01/21/2010 04:18 PM, Jonathan Tripathy wrote: > Hi Folks, > > Can IcedTea be used to run non-free (i.e.proprietary) software? Yes. > We lease > out computers to customers, which run linux, and wish to include the > FOSS IcedTea, however our Java application is non-free, so I was wonder > if there were any licensing issues that I'd need to be aware of? > > I'm ok with the normal GPL stuff (Give out source code, don't restrict > distribution for IcedTea and other GPL applications etc..) There's not really a special IcedTea licence. It's GPL plus an exception that makes it a bit more liberal (the "Classpath exception".) So, if you're happy with GPL, you're fine. Andrew. From roman at kennke.org Thu Jan 21 08:37:56 2010 From: roman at kennke.org (Roman Kennke) Date: Thu, 21 Jan 2010 17:37:56 +0100 Subject: Running non-free software In-Reply-To: <4B587ECA.9060305@redhat.com> References: <4B587E38.5090402@abpni.co.uk> <4B587ECA.9060305@redhat.com> Message-ID: <1264091876.7656.4.camel@moonlight> > > We lease > > out computers to customers, which run linux, and wish to include the > > FOSS IcedTea, however our Java application is non-free, so I was wonder > > if there were any licensing issues that I'd need to be aware of? > > > > I'm ok with the normal GPL stuff (Give out source code, don't restrict > > distribution for IcedTea and other GPL applications etc..) > > There's not really a special IcedTea licence. It's GPL plus an > exception that makes it a bit more liberal (the "Classpath > exception".) So, if you're happy with GPL, you're fine. To be precise, it's GPL (Hotspot and friends), and most parts of the _classlibraries_ carry the exception (minus tests IIRC). This shouldn't change anything for beeing allowed to run nonfree software on top. /Roman From enevill at icedtea.classpath.org Thu Jan 21 09:50:32 2010 From: enevill at icedtea.classpath.org (enevill at icedtea.classpath.org) Date: Thu, 21 Jan 2010 17:50:32 +0000 Subject: /hg/icedtea6: Added Thumb2 JIT + general tidying up Message-ID: changeset b227a81ef16c in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=b227a81ef16c author: Edward Nevill date: Thu Jan 21 17:56:18 2010 +0000 Added Thumb2 JIT + general tidying up diffstat: 5 files changed, 3109 insertions(+), 5677 deletions(-) ChangeLog | 9 ports/hotspot/make/linux/makefiles/zeroshark.make | 2 ports/hotspot/src/cpu/zero/vm/asm_helper.cpp | 485 + ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def | 3135 +----------- ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S | 5155 ++++++++------------ diffs (truncated from 10591 to 500 lines): diff -r 8aa81a796b0b -r b227a81ef16c ChangeLog --- a/ChangeLog Thu Jan 21 16:20:47 2010 +0100 +++ b/ChangeLog Thu Jan 21 17:56:18 2010 +0000 @@ -1,3 +1,12 @@ 2010-01-21 Matthias Klose + + * zeroshark.make, asm_helper.cpp, bytecodes_arm.def, + cppInterpreter_arm.S, thumb2.cpp (new file) + Added Thumb2 JIT (not build as default - yet) + Removal of, more, hard coded constants + Move 'complex' bytecodes from cppInterpreter_arm.S to asm_helper.cpp + General tidying up of cppInterpreter_arm.S + 2010-01-21 Matthias Klose * Makefile.am: Don't hide errors in statement sequences building diff -r 8aa81a796b0b -r b227a81ef16c ports/hotspot/make/linux/makefiles/zeroshark.make --- a/ports/hotspot/make/linux/makefiles/zeroshark.make Thu Jan 21 16:20:47 2010 +0100 +++ b/ports/hotspot/make/linux/makefiles/zeroshark.make Thu Jan 21 17:56:18 2010 +0000 @@ -29,6 +29,7 @@ ifeq ($(ZERO_LIBARCH),arm) Obj_Files += asm_helper.o Obj_Files += cppInterpreter_arm.o +Obj_Files += thumb2.o CFLAGS += -DHOTSPOT_ASM @@ -38,6 +39,7 @@ CFLAGS += -DHOTSPOT_ASM $(COMPILE.CC) -o $@ $< $(COMPILE_DONE) cppInterpreter_arm.o: offsets_arm.s bytecodes_arm.s +thumb2.o: offsets_arm.s offsets_arm.s: mkoffsets @echo Generating assembler offsets diff -r 8aa81a796b0b -r b227a81ef16c ports/hotspot/src/cpu/zero/vm/asm_helper.cpp --- a/ports/hotspot/src/cpu/zero/vm/asm_helper.cpp Thu Jan 21 16:20:47 2010 +0100 +++ b/ports/hotspot/src/cpu/zero/vm/asm_helper.cpp Thu Jan 21 17:56:18 2010 +0000 @@ -16,9 +16,59 @@ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "incls/_precompiled.incl" +#define ARCH_THUMBEE (1<<16) +#define ARCH_VFP (1<<17) +#define ARCH_CLZ (1<<18) #ifndef STATIC_OFFSETS + +#include "incls/_bytecodeInterpreter.cpp.incl" + +#include +#include + +#define VECBUFF_SIZE 64 + +extern "C" unsigned hwcap(void) +{ + int fd; + unsigned vecs[VECBUFF_SIZE]; + unsigned *p; + int i, n; + unsigned rc = 0; + unsigned arch = 4; + + fd = open("/proc/self/auxv", O_RDONLY); + if (fd < 0) return 0; + do { + n = read(fd, vecs, VECBUFF_SIZE * sizeof(unsigned)); + p = vecs; + i = n/8; + while (--i >= 0) { + unsigned tag = *p++; + unsigned value = *p++; + if (tag == 0) goto fini; + if (tag == AT_HWCAP) { + if (value & HWCAP_THUMBEE) rc |= ARCH_THUMBEE; + if (value & HWCAP_VFP) rc |= ARCH_VFP; + } else if (tag == AT_PLATFORM) { + const char *s = (const char *)value; + int c; + + if (*s++ == 'v') { + arch = 0; + while ((isdigit)(c = *s++)) arch = arch * 10 + c - '0'; + } + } + } + } while (n == VECBUFF_SIZE * sizeof(unsigned)); +fini: + close(fd); +// printf("arch = %d, rc = 0x%08x\n", arch, rc); + if (arch >= 5) rc |= ARCH_CLZ; + if (arch >= 7) rc |= ARCH_THUMBEE; + return rc | (1<obj_at_addr(index); + } +}; + +extern "C" oop Helper_new(interpreterState istate, unsigned index) +{ + JavaThread *thread = istate->thread(); + + constantPoolOop constants = istate->method()->constants(); + oop result = NULL; + if (!constants->tag_at(index).is_unresolved_klass()) { + // Make sure klass is initialized and doesn't have a finalizer + oop entry = VMStructs::klass_at_addr(constants, index); + klassOop k_entry = (klassOop) entry; + instanceKlass* ik = (instanceKlass*) k_entry->klass_part(); + if ( ik->is_initialized() && ik->can_be_fastpath_allocated() ) { + size_t obj_size = ik->size_helper(); + // If the TLAB isn't pre-zeroed then we'll have to do it + bool need_zero = !ZeroTLAB; + if (UseTLAB) { + result = (oop) thread->tlab().allocate(obj_size); + } + if (result == NULL) { + need_zero = true; + // Try allocate in shared eden + retry: + HeapWord* compare_to = *Universe::heap()->top_addr(); + HeapWord* new_top = compare_to + obj_size; + if (new_top <= *Universe::heap()->end_addr()) { + if (Atomic::cmpxchg_ptr(new_top, Universe::heap()->top_addr(), compare_to) != compare_to) { + goto retry; + } + result = (oop) compare_to; + } + } + if (result != NULL) { + // Initialize object (if nonzero size and need) and then the header + if (need_zero ) { + HeapWord* to_zero = (HeapWord*) result + sizeof(oopDesc) / oopSize; + obj_size -= sizeof(oopDesc) / oopSize; + if (obj_size > 0 ) { + memset(to_zero, 0, obj_size * HeapWordSize); + } + } + if (UseBiasedLocking) { + result->set_mark(ik->prototype_header()); + } else { + result->set_mark(markOopDesc::prototype()); + } + result->set_klass_gap(0); + result->set_klass(k_entry); + return result; + } + } + } + // Slow case allocation + InterpreterRuntime::_new(thread, istate->method()->constants(), index); + result = thread->vm_result(); + thread->set_vm_result(NULL); + return result; +} + +extern "C" int Helper_instanceof(interpreterState istate, unsigned index, oop tos) +{ + if (tos == NULL) return 0; + + // Constant pool may have actual klass or unresolved klass. If it is + // unresolved we must resolve it + if (istate->method()->constants()->tag_at(index).is_unresolved_klass()) { + InterpreterRuntime::quicken_io_cc(istate->thread()); + if (istate->thread()->has_pending_exception()) return 0; + } + klassOop klassOf = VMStructs::klass_at_addr(istate->method()->constants(), index); + klassOop objKlassOop = tos->klass(); + // + // Check for compatibilty. This check must not GC!! + // Seems way more expensive now that we must dispatch + // + return objKlassOop == klassOf || objKlassOop->klass_part()->is_subtype_of(klassOf); +} + +extern "C" oop Helper_checkcast(interpreterState istate, unsigned index, oop tos) +{ + if (tos == NULL) return NULL; + + // Constant pool may have actual klass or unresolved klass. If it is + // unresolved we must resolve it + if (istate->method()->constants()->tag_at(index).is_unresolved_klass()) { + oop except_oop; + InterpreterRuntime::quicken_io_cc(istate->thread()); + if (except_oop = istate->thread()->pending_exception()) return except_oop; + } + klassOop klassOf = VMStructs::klass_at_addr(istate->method()->constants(), index); + klassOop objKlassOop = tos->klass(); //ebx + // + // Check for compatibilty. This check must not GC!! + // Seems way more expensive now that we must dispatch + // + if (objKlassOop != klassOf && !objKlassOop->klass_part()->is_subtype_of(klassOf)) { + ResourceMark rm(istate->thread()); + const char* objName = Klass::cast(objKlassOop)->external_name(); + const char* klassName = Klass::cast(klassOf)->external_name(); + char* message = SharedRuntime::generate_class_cast_message(objName, klassName); + ThreadInVMfromJava trans(istate->thread()); + HELPER_THROW(istate->thread(), vmSymbols::java_lang_ClassCastException(), message); + } + return istate->thread()->pending_exception(); +} + +extern "C" oop Helper_aastore(interpreterState istate, oop value, int index, arrayOop arrayref) +{ + if (arrayref == NULL) { + ThreadInVMfromJava trans(istate->thread()); + HELPER_THROW(istate->thread(), vmSymbols::java_lang_NullPointerException(), ""); + } else if ((uint32_t)index >= (uint32_t)arrayref->length()) { + char message[jintAsStringSize]; + sprintf(message, "%d", index); + HELPER_THROW(istate->thread(), vmSymbols::java_lang_ArrayIndexOutOfBoundsException(), message); + } else { + if (value != NULL) { + /* Check assignability of value into arrayref */ + klassOop rhsKlassOop = value->klass(); // EBX (subclass) + klassOop elemKlassOop = ((objArrayKlass*) arrayref->klass()->klass_part())->element_klass(); + // + // Check for compatibilty. This check must not GC!! + // Seems way more expensive now that we must dispatch + // + if (rhsKlassOop != elemKlassOop && !rhsKlassOop->klass_part()->is_subtype_of(elemKlassOop)) { + HELPER_THROW(istate->thread(), vmSymbols::java_lang_ArrayStoreException(), ""); + goto handle_exception; + } + } + oop* elem_loc = (oop*)(((address) arrayref->base(T_OBJECT)) + index * sizeof(oop)); + // *(oop*)(((address) arrayref->base(T_OBJECT)) + index * sizeof(oop)) = value; + *elem_loc = value; + // Mark the card + BarrierSet* bs = Universe::heap()->barrier_set(); + static volatile jbyte* _byte_map_base = (volatile jbyte*)(((CardTableModRefBS*)bs)->byte_map_base); + OrderAccess::release_store(&_byte_map_base[(uintptr_t)elem_loc >> CardTableModRefBS::card_shift], 0); + } +handle_exception: + return istate->thread()->pending_exception(); +} + +extern "C" void Helper_aputfield(oop obj) +{ + BarrierSet* bs = Universe::heap()->barrier_set(); + static volatile jbyte* _byte_map_base = (volatile jbyte*)(((CardTableModRefBS*)bs)->byte_map_base); + OrderAccess::release_store(&_byte_map_base[(uintptr_t)obj >> CardTableModRefBS::card_shift], 0); +} + +extern "C" oop Helper_synchronized_enter(JavaThread *thread, BasicObjectLock *mon) +{ + BasicLock *lock = mon->lock(); + markOop displaced = lock->displaced_header(); + + if (thread->is_lock_owned((address)displaced->clear_lock_bits())) + lock->set_displaced_header(NULL); + else + InterpreterRuntime::monitorenter(thread, mon); + return thread->pending_exception(); +} + +extern "C" oop Helper_synchronized_exit(JavaThread *thread, BasicObjectLock *mon) +{ + { + HandleMark __hm(thread); + if (mon->obj() == NULL) + InterpreterRuntime::throw_illegal_monitor_state_exception(thread); + else + InterpreterRuntime::monitorexit(thread, mon); + } + return thread->pending_exception(); +} + +extern "C" oop Helper_SafePoint(JavaThread *thread) +{ + { + HandleMarkCleaner __hmc(thread); + } + SafepointSynchronize::block(thread); + return thread->pending_exception(); +} + +extern "C" void Helper_RaiseArrayBoundException(JavaThread *thread, int index) +{ + char message[jintAsStringSize]; + sprintf(message, "%d", index); + { + ThreadInVMfromJava trans(thread); + Exceptions::_throw_msg(thread, "[Bytecoce Interpreter]", 99, + vmSymbols::java_lang_ArrayIndexOutOfBoundsException(), message); + } +} + +extern "C" void Helper_Raise(JavaThread *thread, symbolOopDesc *name, char const *msg) +{ + ThreadInVMfromJava trans(thread); + Exceptions::_throw_msg(thread, "[Bytecoce Interpreter]", 99, name, msg); +} + +extern "C" void Helper_RaiseIllegalMonitorException(JavaThread *thread) +{ + HandleMark __hm(thread); + InterpreterRuntime::throw_illegal_monitor_state_exception(thread); +} + +extern "C" address Helper_HandleException(interpreterState istate, JavaThread *thread) +{ + HandleMarkCleaner __hmc(thread); + Handle except_oop(thread, thread->pending_exception()); + HandleMark __hm(thread); + intptr_t continuation_bci; + intptr_t *topOfStack; + address pc; + + thread->clear_pending_exception(); + continuation_bci = (intptr_t)InterpreterRuntime::exception_handler_for_exception(thread, except_oop()); + except_oop = (oop) thread->vm_result(); + thread->set_vm_result(NULL); + if (continuation_bci >= 0) { + topOfStack = (intptr_t *)istate->stack(); + *topOfStack-- = (intptr_t)except_oop(); + istate->set_stack(topOfStack); + pc = istate->method()->code_base() + continuation_bci; +#if 0 + tty->print_cr("Exception <%s> (" INTPTR_FORMAT ")", Klass::cast(except_oop->klass())->external_name(), except_oop()); + tty->print_cr(" thrown in interpreter method <%s>", istate->method()->name_and_sig_as_C_string()); + tty->print_cr(" at bci %d, continuing at %d for thread " INTPTR_FORMAT, + pc - (intptr_t)istate->method()->code_base(), + continuation_bci, thread); +#endif + return pc; + } +#if 0 + tty->print_cr("Exception <%s> (" INTPTR_FORMAT ")", Klass::cast(except_oop->klass())->external_name(), except_oop()); + tty->print_cr(" thrown in interpreter method <%s>", istate->method()->name_and_sig_as_C_string()); + tty->print_cr(" at bci %d, unwinding for thread " INTPTR_FORMAT, + pc - (intptr_t) istate->method()->code_base(), + thread); +#endif + thread->set_pending_exception(except_oop(), NULL, 0); + return 0; +} + #endif // STATIC_OFFSETS #ifdef STATIC_OFFSETS + +#include "incls/_precompiled.incl" class VMStructs { public: @@ -57,6 +359,7 @@ public: void print_def(const char *s, int v) { + fprintf(outfile, "#undef %-40s\n", s); fprintf(outfile, "#define %-40s 0x%02x\n", s, v); } @@ -65,80 +368,115 @@ void nl(void) fputc('\n', outfile); } +// ZeroFrame is not friends with VMStructs, but it is with ZeroStackPrinter +class ZeroStackPrinter { +public: + static void print_vm_offsets(void); +}; + +void ZeroStackPrinter::print_vm_offsets(void) +{ + print_def("INTERPRETER_FRAME", ZeroFrame::INTERPRETER_FRAME); +} + void VMStructs::print_vm_offsets(void) { - print_def("THREAD_PENDING_EXC", offset_of(JavaThread, _pending_exception)); - print_def("THREAD_SUSPEND_FLAGS", offset_of(JavaThread, _suspend_flags)); - print_def("THREAD_ACTIVE_HANDLES", offset_of(JavaThread, _active_handles)); - print_def("THREAD_LAST_HANDLE_MARK", offset_of(JavaThread, _last_handle_mark)); - print_def("THREAD_TLAB_TOP", offset_of(JavaThread, _tlab) + offset_of(ThreadLocalAllocBuffer, _top)); - print_def("THREAD_TLAB_END", offset_of(JavaThread, _tlab) + offset_of(ThreadLocalAllocBuffer, _end)); - print_def("THREAD_RESOURCEAREA", offset_of(JavaThread, _resource_area)); - print_def("THREAD_HANDLE_AREA", offset_of(JavaThread, _handle_area)); - print_def("THREAD_STACK_BASE", offset_of(JavaThread, _stack_base)); - print_def("THREAD_STACK_SIZE", offset_of(JavaThread, _stack_size)); - print_def("THREAD_LAST_JAVA_SP", offset_of(JavaThread, _anchor) + offset_of(JavaFrameAnchor, _last_Java_sp)); - print_def("THREAD_JNI_ENVIRONMENT", offset_of(JavaThread, _jni_environment)); - print_def("THREAD_VM_RESULT", offset_of(JavaThread, _vm_result)); - print_def("THREAD_STATE", offset_of(JavaThread, _thread_state)); - print_def("THREAD_DO_NOT_UNLOCK", offset_of(JavaThread, _do_not_unlock_if_synchronized)); - - print_def("THREAD_JAVA_STACK_BASE", offset_of(JavaThread, _zero_stack) + in_bytes(ZeroStack::base_offset())); - print_def("THREAD_JAVA_SP", offset_of(JavaThread, _zero_stack) + in_bytes(ZeroStack::sp_offset())); - print_def("THREAD_TOP_ZERO_FRAME", offset_of(JavaThread, _top_zero_frame)); - print_def("THREAD_SPECIALRUNTIMEEXITCONDITION", offset_of(JavaThread, _special_runtime_exit_condition)); - nl(); - print_def("_thread_external_suspend", Thread::_external_suspend); - print_def("_thread_ext_suspended", Thread::_ext_suspended); - print_def("_thread_deopt_suspend", Thread::_deopt_suspend); - nl(); - print_def("METHOD_CONSTMETHOD", offset_of(methodOopDesc, _constMethod)); - print_def("METHOD_CONSTANTS", offset_of(methodOopDesc, _constants)); - print_def("METHOD_METHODDATA", offset_of(methodOopDesc, _method_data)); - print_def("METHOD_INVOKECOUNT", offset_of(methodOopDesc, _interpreter_invocation_count)); - print_def("METHOD_ACCESSFLAGS", offset_of(methodOopDesc, _access_flags)); - print_def("METHOD_VTABLEINDEX", offset_of(methodOopDesc, _vtable_index)); - print_def("METHOD_RESULTINDEX", offset_of(methodOopDesc, _result_index)); - print_def("METHOD_METHODSIZE", offset_of(methodOopDesc, _method_size)); - print_def("METHOD_MAXSTACK", offset_of(methodOopDesc, _max_stack)); - print_def("METHOD_MAXLOCALS", offset_of(methodOopDesc, _max_locals)); - print_def("METHOD_SIZEOFPARAMETERS", offset_of(methodOopDesc, _size_of_parameters)); - print_def("METHOD_INVOCATIONCOUNTER", offset_of(methodOopDesc, _invocation_counter)); - print_def("METHOD_BACKEDGECOUNTER", offset_of(methodOopDesc, _backedge_counter)); - print_def("METHOD_FROM_INTERPRETED", offset_of(methodOopDesc, _from_interpreted_entry)); - // ECN: These two appear to be just tagged onto the end of the class - print_def("METHOD_NATIVEHANDLER", sizeof(methodOopDesc)); - print_def("METHOD_SIGNATUREHANDLER", sizeof(methodOopDesc)+4); - nl(); - print_def("CONSTMETHOD_CODESIZE", offset_of(constMethodOopDesc, _code_size)); - print_def("CONSTMETHOD_CODEOFFSET", sizeof(constMethodOopDesc)); - nl(); - print_def("JNIHANDLEBLOCK_TOP", offset_of(JNIHandleBlock, _top)); - nl(); - print_def("KLASS_PART", klassOopDesc::klass_part_offset_in_bytes()); - print_def("KLASS_ACCESSFLAGS", offset_of(Klass, _access_flags)); - print_def("INSTANCEKLASS_INITSTATE", offset_of(instanceKlass, _init_state)); - print_def("INSTANCEKLASS_VTABLE_LEN", offset_of(instanceKlass, _vtable_len)); - print_def("INSTANCEKLASS_ITABLE_LEN", offset_of(instanceKlass, _itable_len)); - print_def("INSTANCEKLASS_VTABLE_OFFSET", instanceKlass::vtable_start_offset() * sizeof(int *)); - print_def("OBJARRAYKLASS_ELEMENTKLASS", offset_of(objArrayKlass, _element_klass)); - nl(); - print_def("CONSTANTPOOL_TAGS", offset_of(constantPoolOopDesc, _tags)); - print_def("CONSTANTPOOL_CACHE", offset_of(constantPoolOopDesc, _cache)); - print_def("CONSTANTPOOL_BASE", sizeof(constantPoolOopDesc)); - nl(); - print_def("CP_OFFSET", in_bytes(constantPoolCacheOopDesc::base_offset())); - nl(); - print_def("BASE_OFFSET_BYTE", arrayOopDesc::base_offset_in_bytes(T_BYTE)); - print_def("BASE_OFFSET_SHORT", arrayOopDesc::base_offset_in_bytes(T_SHORT)); - print_def("BASE_OFFSET_WORD", arrayOopDesc::base_offset_in_bytes(T_INT)); - print_def("BASE_OFFSET_LONG", arrayOopDesc::base_offset_in_bytes(T_LONG)); - nl(); - print_def("SIZEOF_HANDLEMARK", sizeof(HandleMark)); + print_def("ISTATE_THREAD", offset_of(BytecodeInterpreter, _thread)); + print_def("ISTATE_BCP", offset_of(BytecodeInterpreter, _bcp)); + print_def("ISTATE_LOCALS", offset_of(BytecodeInterpreter, _locals)); + print_def("ISTATE_CONSTANTS", offset_of(BytecodeInterpreter, _constants)); + print_def("ISTATE_METHOD", offset_of(BytecodeInterpreter, _method)); + print_def("ISTATE_STACK", offset_of(BytecodeInterpreter, _stack)); + print_def("ISTATE_MSG", offset_of(BytecodeInterpreter, _msg)); + print_def("ISTATE_OOP_TEMP", offset_of(BytecodeInterpreter, _oop_temp)); + print_def("ISTATE_STACK_BASE",offset_of(BytecodeInterpreter, _stack_base)); + print_def("ISTATE_STACK_LIMIT",offset_of(BytecodeInterpreter, _stack_limit)); + print_def("ISTATE_MONITOR_BASE",offset_of(BytecodeInterpreter, _monitor_base)); + print_def("ISTATE_SELF_LINK", offset_of(BytecodeInterpreter, _self_link)); + print_def("ISTATE_FRAME_TYPE", sizeof(BytecodeInterpreter) + 0); + print_def("ISTATE_NEXT_FRAME", sizeof(BytecodeInterpreter) + 4); + print_def("FRAME_SIZE", sizeof(BytecodeInterpreter) + 8); + nl(); + ZeroStackPrinter::print_vm_offsets(); + nl(); + print_def("THREAD_PENDING_EXC", offset_of(JavaThread, _pending_exception)); + print_def("THREAD_SUSPEND_FLAGS", offset_of(JavaThread, _suspend_flags)); + print_def("THREAD_ACTIVE_HANDLES", offset_of(JavaThread, _active_handles)); + print_def("THREAD_LAST_HANDLE_MARK", offset_of(JavaThread, _last_handle_mark)); + print_def("THREAD_TLAB_TOP", offset_of(JavaThread, _tlab) + offset_of(ThreadLocalAllocBuffer, _top)); + print_def("THREAD_TLAB_END", offset_of(JavaThread, _tlab) + offset_of(ThreadLocalAllocBuffer, _end)); + print_def("THREAD_RESOURCEAREA", offset_of(JavaThread, _resource_area)); + print_def("THREAD_HANDLE_AREA", offset_of(JavaThread, _handle_area)); + print_def("THREAD_STACK_BASE", offset_of(JavaThread, _stack_base)); + print_def("THREAD_STACK_SIZE", offset_of(JavaThread, _stack_size)); + print_def("THREAD_LAST_JAVA_SP", offset_of(JavaThread, _anchor) + offset_of(JavaFrameAnchor, _last_Java_sp)); + print_def("THREAD_JNI_ENVIRONMENT", offset_of(JavaThread, _jni_environment)); + print_def("THREAD_VM_RESULT", offset_of(JavaThread, _vm_result)); + print_def("THREAD_STATE", offset_of(JavaThread, _thread_state)); + print_def("THREAD_DO_NOT_UNLOCK", offset_of(JavaThread, _do_not_unlock_if_synchronized)); + + print_def("THREAD_JAVA_STACK_BASE", offset_of(JavaThread, _zero_stack) + in_bytes(ZeroStack::base_offset())); + print_def("THREAD_JAVA_SP", offset_of(JavaThread, _zero_stack) + in_bytes(ZeroStack::sp_offset())); + print_def("THREAD_TOP_ZERO_FRAME", offset_of(JavaThread, _top_zero_frame)); + print_def("THREAD_SPECIALRUNTIMEEXITCONDITION", offset_of(JavaThread, _special_runtime_exit_condition)); + nl(); + print_def("_thread_external_suspend", Thread::_external_suspend); + print_def("_thread_ext_suspended", Thread::_ext_suspended); + print_def("_thread_deopt_suspend", Thread::_deopt_suspend); + nl(); + print_def("METHOD_CONSTMETHOD", offset_of(methodOopDesc, _constMethod)); + print_def("METHOD_CONSTANTS", offset_of(methodOopDesc, _constants)); + print_def("METHOD_METHODDATA", offset_of(methodOopDesc, _method_data)); From dbhole at redhat.com Thu Jan 21 16:30:59 2010 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 21 Jan 2010 19:30:59 -0500 Subject: 1.7 and NPPlugin In-Reply-To: <17c6771e1001210604o4ff581e6s4df5075e8888e35e@mail.gmail.com> References: <17c6771e1001210604o4ff581e6s4df5075e8888e35e@mail.gmail.com> Message-ID: <20100122003059.GA3558@redhat.com> * Andrew John Hughes [2010-01-21 09:05]: > I thought we were ready to ship 1.7. But then I tried to build NPPlugin... > > cd /var/tmp/portage/dev-java/icedtea6-1.7/work/icedtea6-1.7/plugin/icedteanp; \ > if [ -e > /var/tmp/portage/dev-java/icedtea6-1.7/work/icedtea6-1.7/.hg ] && > which /usr/bin/hg >/dev/null; then \ > revision="-r`(cd > /var/tmp/portage/dev-java/icedtea6-1.7/work/icedtea6-1.7; /usr/bin/hg > tip --template '{rev}')`" ; \ Hmm, it builds fine for me on rawhide. Can you retry with the attached patch? Deepak > fi ; \ > if [ -n "1.7" ]; then plugin_version=" (1.7)"; fi; \ > plugin_version=" 1.7$revision$plugin_version"; \ > powerpc-unknown-linux-gnu-g++ -O2 -mtune=G5 -mcpu=G5 > -mabi=altivec -pipe -ggdb \ > -DPACKAGE_VERSION="\"1.7\"" \ > -DPLUGIN_VERSION="\"$plugin_version\"" \ > -DMOZILLA_VERSION_COLLAPSED="1090011" \ > -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include \ > -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include > -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 > -\ > I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include > -I/usr/include/pixman-1 -I/usr/include/freetype2 > -I/usr/include/libpng12 \ > -fshort-wchar -I/usr/include/xulrunner-1.9/stable > -I/usr/include/nspr \ > -fPIC -c IcedTeaNPPlugin.cc IcedTeaScriptablePluginObject.cc > IcedTeaJavaRequestProcessor.cc IcedTeaPluginRequestProcesso\ > r.cc IcedTeaPluginUtils.cc; \ > cd ../ > In file included from IcedTeaJavaRequestProcessor.h:46, > from IcedTeaScriptablePluginObject.h:49, > from IcedTeaNPPlugin.cc:51: > IcedTeaNPPlugin.h:43:27: error: nsThreadUtils.h: No such file or directory > IcedTeaNPPlugin.cc:56:31: error: nsIPluginInstance.h: No such file or directory > IcedTeaNPPlugin.cc:57:35: error: nsIPluginInstancePeer.h: No such file > or directory > IcedTeaNPPlugin.cc:58:31: error: nsIPluginTagInfo2.h: No such file or directory > IcedTeaNPPlugin.cc:62:30: error: nsICookieService.h: No such file or directory > IcedTeaNPPlugin.cc:63:26: error: nsIDNSRecord.h: No such file or directory > IcedTeaNPPlugin.cc:64:27: error: nsIDNSService.h: No such file or directory > IcedTeaNPPlugin.cc:65:24: error: nsINetUtil.h: No such file or directory > IcedTeaNPPlugin.cc:66:26: error: nsIProxyInfo.h: No such file or directory > IcedTeaNPPlugin.cc:67:37: error: nsIProtocolProxyService.h: No such > file or directory > IcedTeaNPPlugin.cc:68:38: error: nsIScriptSecurityManager.h: No such > file or directory > IcedTeaNPPlugin.cc:71:22: error: nsNetCID.h: No such file or directory > etc. > > but worst of all it doesn't fail then but goes on to do the entire > second OpenJDK build (another few hours on ppc) and then fails after > that! > > Shouldn't it be checking for this stuff during configure? > > On my x86_64 box, I don't even get through configure: > > checking for xulrunner version... configure: error: in > `/mnt/builder/icedtea6-1.7': > configure: error: cannot determine xulrunner version > -- > Andrew :-) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > Support Free Java! > Contribute to GNU Classpath and the OpenJDK > http://www.gnu.org/software/classpath > http://openjdk.java.net > > PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 -------------- next part -------------- A non-text attachment was scrubbed... Name: lxul-unstable.patch Type: text/x-patch Size: 391 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100121/f3628b18/lxul-unstable.patch From gnu_andrew at member.fsf.org Thu Jan 21 19:21:49 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Fri, 22 Jan 2010 03:21:49 +0000 Subject: 1.7 and NPPlugin In-Reply-To: <20100122003059.GA3558@redhat.com> References: <17c6771e1001210604o4ff581e6s4df5075e8888e35e@mail.gmail.com> <20100122003059.GA3558@redhat.com> Message-ID: <17c6771e1001211921s52fb420en22aef0f990af7a7a@mail.gmail.com> 2010/1/22 Deepak Bhole : > * Andrew John Hughes [2010-01-21 09:05]: >> I thought we were ready to ship 1.7. ?But then I tried to build NPPlugin... >> >> cd /var/tmp/portage/dev-java/icedtea6-1.7/work/icedtea6-1.7/plugin/icedteanp; \ >> ? ? ? ? if [ -e >> /var/tmp/portage/dev-java/icedtea6-1.7/work/icedtea6-1.7/.hg ] && >> which /usr/bin/hg >/dev/null; then \ >> ? ? ? ? ? revision="-r`(cd >> /var/tmp/portage/dev-java/icedtea6-1.7/work/icedtea6-1.7; /usr/bin/hg >> tip --template '{rev}')`" ; \ > > > Hmm, it builds fine for me on rawhide. > > Can you retry with the attached patch? > > Deepak > >> ? ? ? ? fi ; \ >> ? ? ? ? if [ -n "1.7" ]; then plugin_version=" (1.7)"; fi; \ >> ? ? ? ? plugin_version=" 1.7$revision$plugin_version"; \ >> ? ? ? ? powerpc-unknown-linux-gnu-g++ -O2 -mtune=G5 -mcpu=G5 >> -mabi=altivec -pipe -ggdb \ >> ? ? ? ? ? -DPACKAGE_VERSION="\"1.7\"" \ >> ? ? ? ? ? -DPLUGIN_VERSION="\"$plugin_version\"" \ >> ? ? ? ? ? -DMOZILLA_VERSION_COLLAPSED="1090011" \ >> ? ? ? ? ? -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include ? \ >> ? ? ? ? ? -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include >> -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 >> -\ >> I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include >> -I/usr/include/pixman-1 -I/usr/include/freetype2 >> -I/usr/include/libpng12 ? \ >> ? ? ? ? ? -fshort-wchar -I/usr/include/xulrunner-1.9/stable >> -I/usr/include/nspr ? \ >> ? ? ? ? ? -fPIC -c IcedTeaNPPlugin.cc IcedTeaScriptablePluginObject.cc >> IcedTeaJavaRequestProcessor.cc IcedTeaPluginRequestProcesso\ >> r.cc IcedTeaPluginUtils.cc; \ >> ? ? ? ? cd ../ >> In file included from IcedTeaJavaRequestProcessor.h:46, >> ? ? ? ? ? ? ? ? ?from IcedTeaScriptablePluginObject.h:49, >> ? ? ? ? ? ? ? ? ?from IcedTeaNPPlugin.cc:51: >> IcedTeaNPPlugin.h:43:27: error: nsThreadUtils.h: No such file or directory >> IcedTeaNPPlugin.cc:56:31: error: nsIPluginInstance.h: No such file or directory >> IcedTeaNPPlugin.cc:57:35: error: nsIPluginInstancePeer.h: No such file >> or directory >> IcedTeaNPPlugin.cc:58:31: error: nsIPluginTagInfo2.h: No such file or directory >> IcedTeaNPPlugin.cc:62:30: error: nsICookieService.h: No such file or directory >> IcedTeaNPPlugin.cc:63:26: error: nsIDNSRecord.h: No such file or directory >> IcedTeaNPPlugin.cc:64:27: error: nsIDNSService.h: No such file or directory >> IcedTeaNPPlugin.cc:65:24: error: nsINetUtil.h: No such file or directory >> IcedTeaNPPlugin.cc:66:26: error: nsIProxyInfo.h: No such file or directory >> IcedTeaNPPlugin.cc:67:37: error: nsIProtocolProxyService.h: No such >> file or directory >> IcedTeaNPPlugin.cc:68:38: error: nsIScriptSecurityManager.h: No such >> file or directory >> IcedTeaNPPlugin.cc:71:22: error: nsNetCID.h: No such file or directory >> etc. >> >> but worst of all it doesn't fail then but goes on to do the entire >> second OpenJDK build (another few hours on ppc) and then fails after >> that! >> >> Shouldn't it be checking for this stuff during configure? >> >> On my x86_64 box, I don't even get through configure: >> >> checking for xulrunner version... configure: error: in >> `/mnt/builder/icedtea6-1.7': >> configure: error: cannot determine xulrunner version >> -- >> Andrew :-) >> >> Free Java Software Engineer >> Red Hat, Inc. (http://www.redhat.com) >> >> Support Free Java! >> Contribute to GNU Classpath and the OpenJDK >> http://www.gnu.org/software/classpath >> http://openjdk.java.net >> >> PGP Key: 94EFD9D8 (http://subkeys.pgp.net) >> Fingerprint: F8EF F1EA 401E 2E60 15FA ?7927 142C 2591 94EF D9D8 > That changed nothing, but the following made the x86_64 build complete: - CPPFLAGS="$CPPFLAGS $XULRUNNER_CFLAGS" + CPPFLAGS="$CPPFLAGS $XULRUNNER_CFLAGS $MOZILLA_CFLAGS" I'm not sure what effect the MOZILLA_CFLAGS being added will have though, especially on other platforms. I've only built it, not tested. Will the plugin work with Chromium 4.0.288.1? If so, I'll try the new Gentoo ebuild for it and test the plugin with it. How it got to 4.0 already I have no idea! I think the ppc issue is that there is no version test (there is a >1.9 on old plugin, but nothing on new). The ppc box is using 1.9.0.11 which may be too old. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From dbhole at redhat.com Thu Jan 21 23:18:48 2010 From: dbhole at redhat.com (Deepak Bhole) Date: Fri, 22 Jan 2010 02:18:48 -0500 Subject: 1.7 and NPPlugin In-Reply-To: <17c6771e1001211921s52fb420en22aef0f990af7a7a@mail.gmail.com> References: <17c6771e1001210604o4ff581e6s4df5075e8888e35e@mail.gmail.com> <20100122003059.GA3558@redhat.com> <17c6771e1001211921s52fb420en22aef0f990af7a7a@mail.gmail.com> Message-ID: <20100122071848.GA30351@redhat.com> * Andrew John Hughes [2010-01-21 22:22]: > 2010/1/22 Deepak Bhole : > > * Andrew John Hughes [2010-01-21 09:05]: > >> I thought we were ready to ship 1.7. ?But then I tried to build NPPlugin... > >> > >> cd /var/tmp/portage/dev-java/icedtea6-1.7/work/icedtea6-1.7/plugin/icedteanp; \ > >> ? ? ? ? if [ -e > >> /var/tmp/portage/dev-java/icedtea6-1.7/work/icedtea6-1.7/.hg ] && > >> which /usr/bin/hg >/dev/null; then \ > >> ? ? ? ? ? revision="-r`(cd > >> /var/tmp/portage/dev-java/icedtea6-1.7/work/icedtea6-1.7; /usr/bin/hg > >> tip --template '{rev}')`" ; \ > > > > > > Hmm, it builds fine for me on rawhide. > > > > Can you retry with the attached patch? > > > > Deepak > > > >> ? ? ? ? fi ; \ > >> ? ? ? ? if [ -n "1.7" ]; then plugin_version=" (1.7)"; fi; \ > >> ? ? ? ? plugin_version=" 1.7$revision$plugin_version"; \ > >> ? ? ? ? powerpc-unknown-linux-gnu-g++ -O2 -mtune=G5 -mcpu=G5 > >> -mabi=altivec -pipe -ggdb \ > >> ? ? ? ? ? -DPACKAGE_VERSION="\"1.7\"" \ > >> ? ? ? ? ? -DPLUGIN_VERSION="\"$plugin_version\"" \ > >> ? ? ? ? ? -DMOZILLA_VERSION_COLLAPSED="1090011" \ > >> ? ? ? ? ? -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include ? \ > >> ? ? ? ? ? -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include > >> -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 > >> -\ > >> I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include > >> -I/usr/include/pixman-1 -I/usr/include/freetype2 > >> -I/usr/include/libpng12 ? \ > >> ? ? ? ? ? -fshort-wchar -I/usr/include/xulrunner-1.9/stable > >> -I/usr/include/nspr ? \ > >> ? ? ? ? ? -fPIC -c IcedTeaNPPlugin.cc IcedTeaScriptablePluginObject.cc > >> IcedTeaJavaRequestProcessor.cc IcedTeaPluginRequestProcesso\ > >> r.cc IcedTeaPluginUtils.cc; \ > >> ? ? ? ? cd ../ > >> In file included from IcedTeaJavaRequestProcessor.h:46, > >> ? ? ? ? ? ? ? ? ?from IcedTeaScriptablePluginObject.h:49, > >> ? ? ? ? ? ? ? ? ?from IcedTeaNPPlugin.cc:51: > >> IcedTeaNPPlugin.h:43:27: error: nsThreadUtils.h: No such file or directory > >> IcedTeaNPPlugin.cc:56:31: error: nsIPluginInstance.h: No such file or directory > >> IcedTeaNPPlugin.cc:57:35: error: nsIPluginInstancePeer.h: No such file > >> or directory > >> IcedTeaNPPlugin.cc:58:31: error: nsIPluginTagInfo2.h: No such file or directory > >> IcedTeaNPPlugin.cc:62:30: error: nsICookieService.h: No such file or directory > >> IcedTeaNPPlugin.cc:63:26: error: nsIDNSRecord.h: No such file or directory > >> IcedTeaNPPlugin.cc:64:27: error: nsIDNSService.h: No such file or directory > >> IcedTeaNPPlugin.cc:65:24: error: nsINetUtil.h: No such file or directory > >> IcedTeaNPPlugin.cc:66:26: error: nsIProxyInfo.h: No such file or directory > >> IcedTeaNPPlugin.cc:67:37: error: nsIProtocolProxyService.h: No such > >> file or directory > >> IcedTeaNPPlugin.cc:68:38: error: nsIScriptSecurityManager.h: No such > >> file or directory > >> IcedTeaNPPlugin.cc:71:22: error: nsNetCID.h: No such file or directory > >> etc. > >> > >> but worst of all it doesn't fail then but goes on to do the entire > >> second OpenJDK build (another few hours on ppc) and then fails after > >> that! > >> > >> Shouldn't it be checking for this stuff during configure? > >> > >> On my x86_64 box, I don't even get through configure: > >> > >> checking for xulrunner version... configure: error: in > >> `/mnt/builder/icedtea6-1.7': > >> configure: error: cannot determine xulrunner version > >> -- > >> Andrew :-) > >> > >> Free Java Software Engineer > >> Red Hat, Inc. (http://www.redhat.com) > >> > >> Support Free Java! > >> Contribute to GNU Classpath and the OpenJDK > >> http://www.gnu.org/software/classpath > >> http://openjdk.java.net > >> > >> PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > >> Fingerprint: F8EF F1EA 401E 2E60 15FA ?7927 142C 2591 94EF D9D8 > > > > That changed nothing, but the following made the x86_64 build complete: > > - CPPFLAGS="$CPPFLAGS $XULRUNNER_CFLAGS" > + CPPFLAGS="$CPPFLAGS $XULRUNNER_CFLAGS $MOZILLA_CFLAGS" > Looks like there are some serious differences between file locations for Gentoo and Fedora :/ I have built on Fedora (xulrunner 1.9.1/ff3.5) and Rawhide (xulrunner 1.9.2/ff 3.6) and both have been fine. The new plugin works fine in Firefox and Chromium on F12, and Dennis Gilmore (from Fedora) tried it on Firefox and Chromium on rawhide and it works for him too. I will try to install Gentoo in a vm tomorrow and see what is up. With the changes that you made that build for you, can you please do a quick test on chromium/ff 3.5 to make sure the plugin is visible and works? I will try out the same tomorrow once I have the vm set up. Cheers, Deepak > I'm not sure what effect the MOZILLA_CFLAGS being added will have > though, especially on other platforms. I've only built it, not > tested. Will the plugin work with Chromium 4.0.288.1? If so, I'll > try the new Gentoo ebuild for it and test the plugin with it. How it > got to 4.0 already I have no idea! > > I think the ppc issue is that there is no version test (there is a > >1.9 on old plugin, but nothing on new). The ppc box is using > 1.9.0.11 which may be too old. > -- > Andrew :-) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > Support Free Java! > Contribute to GNU Classpath and the OpenJDK > http://www.gnu.org/software/classpath > http://openjdk.java.net > > PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From gnu_andrew at member.fsf.org Fri Jan 22 06:29:08 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Fri, 22 Jan 2010 14:29:08 +0000 Subject: 1.7 and NPPlugin In-Reply-To: <20100122071848.GA30351@redhat.com> References: <17c6771e1001210604o4ff581e6s4df5075e8888e35e@mail.gmail.com> <20100122003059.GA3558@redhat.com> <17c6771e1001211921s52fb420en22aef0f990af7a7a@mail.gmail.com> <20100122071848.GA30351@redhat.com> Message-ID: <17c6771e1001220629t178a2055wab5b1724497442ea@mail.gmail.com> 2010/1/22 Deepak Bhole : > * Andrew John Hughes [2010-01-21 22:22]: >> 2010/1/22 Deepak Bhole : >> > * Andrew John Hughes [2010-01-21 09:05]: >> >> I thought we were ready to ship 1.7. ?But then I tried to build NPPlugin... >> >> >> >> cd /var/tmp/portage/dev-java/icedtea6-1.7/work/icedtea6-1.7/plugin/icedteanp; \ >> >> ? ? ? ? if [ -e >> >> /var/tmp/portage/dev-java/icedtea6-1.7/work/icedtea6-1.7/.hg ] && >> >> which /usr/bin/hg >/dev/null; then \ >> >> ? ? ? ? ? revision="-r`(cd >> >> /var/tmp/portage/dev-java/icedtea6-1.7/work/icedtea6-1.7; /usr/bin/hg >> >> tip --template '{rev}')`" ; \ >> > >> > >> > Hmm, it builds fine for me on rawhide. >> > >> > Can you retry with the attached patch? >> > >> > Deepak >> > >> >> ? ? ? ? fi ; \ >> >> ? ? ? ? if [ -n "1.7" ]; then plugin_version=" (1.7)"; fi; \ >> >> ? ? ? ? plugin_version=" 1.7$revision$plugin_version"; \ >> >> ? ? ? ? powerpc-unknown-linux-gnu-g++ -O2 -mtune=G5 -mcpu=G5 >> >> -mabi=altivec -pipe -ggdb \ >> >> ? ? ? ? ? -DPACKAGE_VERSION="\"1.7\"" \ >> >> ? ? ? ? ? -DPLUGIN_VERSION="\"$plugin_version\"" \ >> >> ? ? ? ? ? -DMOZILLA_VERSION_COLLAPSED="1090011" \ >> >> ? ? ? ? ? -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include ? \ >> >> ? ? ? ? ? -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include >> >> -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 >> >> -\ >> >> I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include >> >> -I/usr/include/pixman-1 -I/usr/include/freetype2 >> >> -I/usr/include/libpng12 ? \ >> >> ? ? ? ? ? -fshort-wchar -I/usr/include/xulrunner-1.9/stable >> >> -I/usr/include/nspr ? \ >> >> ? ? ? ? ? -fPIC -c IcedTeaNPPlugin.cc IcedTeaScriptablePluginObject.cc >> >> IcedTeaJavaRequestProcessor.cc IcedTeaPluginRequestProcesso\ >> >> r.cc IcedTeaPluginUtils.cc; \ >> >> ? ? ? ? cd ../ >> >> In file included from IcedTeaJavaRequestProcessor.h:46, >> >> ? ? ? ? ? ? ? ? ?from IcedTeaScriptablePluginObject.h:49, >> >> ? ? ? ? ? ? ? ? ?from IcedTeaNPPlugin.cc:51: >> >> IcedTeaNPPlugin.h:43:27: error: nsThreadUtils.h: No such file or directory >> >> IcedTeaNPPlugin.cc:56:31: error: nsIPluginInstance.h: No such file or directory >> >> IcedTeaNPPlugin.cc:57:35: error: nsIPluginInstancePeer.h: No such file >> >> or directory >> >> IcedTeaNPPlugin.cc:58:31: error: nsIPluginTagInfo2.h: No such file or directory >> >> IcedTeaNPPlugin.cc:62:30: error: nsICookieService.h: No such file or directory >> >> IcedTeaNPPlugin.cc:63:26: error: nsIDNSRecord.h: No such file or directory >> >> IcedTeaNPPlugin.cc:64:27: error: nsIDNSService.h: No such file or directory >> >> IcedTeaNPPlugin.cc:65:24: error: nsINetUtil.h: No such file or directory >> >> IcedTeaNPPlugin.cc:66:26: error: nsIProxyInfo.h: No such file or directory >> >> IcedTeaNPPlugin.cc:67:37: error: nsIProtocolProxyService.h: No such >> >> file or directory >> >> IcedTeaNPPlugin.cc:68:38: error: nsIScriptSecurityManager.h: No such >> >> file or directory >> >> IcedTeaNPPlugin.cc:71:22: error: nsNetCID.h: No such file or directory >> >> etc. >> >> >> >> but worst of all it doesn't fail then but goes on to do the entire >> >> second OpenJDK build (another few hours on ppc) and then fails after >> >> that! >> >> >> >> Shouldn't it be checking for this stuff during configure? >> >> >> >> On my x86_64 box, I don't even get through configure: >> >> >> >> checking for xulrunner version... configure: error: in >> >> `/mnt/builder/icedtea6-1.7': >> >> configure: error: cannot determine xulrunner version >> >> -- >> >> Andrew :-) >> >> >> >> Free Java Software Engineer >> >> Red Hat, Inc. (http://www.redhat.com) >> >> >> >> Support Free Java! >> >> Contribute to GNU Classpath and the OpenJDK >> >> http://www.gnu.org/software/classpath >> >> http://openjdk.java.net >> >> >> >> PGP Key: 94EFD9D8 (http://subkeys.pgp.net) >> >> Fingerprint: F8EF F1EA 401E 2E60 15FA ?7927 142C 2591 94EF D9D8 >> > >> >> That changed nothing, but the following made the x86_64 build complete: >> >> - ?CPPFLAGS="$CPPFLAGS $XULRUNNER_CFLAGS" >> + ?CPPFLAGS="$CPPFLAGS $XULRUNNER_CFLAGS $MOZILLA_CFLAGS" >> > > Looks like there are some serious differences between file locations for > Gentoo and Fedora :/ > > I have built on Fedora (xulrunner 1.9.1/ff3.5) and Rawhide (xulrunner > 1.9.2/ff 3.6) and both have been fine. The new plugin works fine in Firefox and > Chromium on F12, and Dennis Gilmore (from Fedora) tried it on Firefox > and Chromium on rawhide and it works for him too. > Did you not try 1.9.0? If that isn't supposed to work, then the build shouldn't be letting it through. > I will try to install Gentoo in a vm tomorrow and see what is up. With > the changes that you made that build for you, can you please do a quick > test on chromium/ff 3.5 to make sure the plugin is visible and works? I > will try out the same tomorrow once I have the vm set up. > I'm trying to install Chromium now. Do you know where I have to put the plugin in my home directory so it picks it up? I don't want to do a system install of it. > Cheers, > Deepak > > >> I'm not sure what effect the MOZILLA_CFLAGS being added will have >> though, especially on other platforms. ?I've only built it, not >> tested. ?Will the plugin work with Chromium 4.0.288.1? ?If so, I'll >> try the new Gentoo ebuild for it and test the plugin with it. ?How it >> got to 4.0 already I have no idea! >> >> I think the ppc issue is that there is no version test (there is a >> >1.9 on old plugin, but nothing on new). ?The ppc box is using >> 1.9.0.11 which may be too old. >> -- >> Andrew :-) >> >> Free Java Software Engineer >> Red Hat, Inc. (http://www.redhat.com) >> >> Support Free Java! >> Contribute to GNU Classpath and the OpenJDK >> http://www.gnu.org/software/classpath >> http://openjdk.java.net >> >> PGP Key: 94EFD9D8 (http://subkeys.pgp.net) >> Fingerprint: F8EF F1EA 401E 2E60 15FA ?7927 142C 2591 94EF D9D8 > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From dbhole at redhat.com Fri Jan 22 07:38:36 2010 From: dbhole at redhat.com (Deepak Bhole) Date: Fri, 22 Jan 2010 10:38:36 -0500 Subject: 1.7 and NPPlugin In-Reply-To: <17c6771e1001220629t178a2055wab5b1724497442ea@mail.gmail.com> References: <17c6771e1001210604o4ff581e6s4df5075e8888e35e@mail.gmail.com> <20100122003059.GA3558@redhat.com> <17c6771e1001211921s52fb420en22aef0f990af7a7a@mail.gmail.com> <20100122071848.GA30351@redhat.com> <17c6771e1001220629t178a2055wab5b1724497442ea@mail.gmail.com> Message-ID: <20100122153835.GA6434@redhat.com> * Andrew John Hughes [2010-01-22 09:29]: > 2010/1/22 Deepak Bhole : > > * Andrew John Hughes [2010-01-21 22:22]: > >> 2010/1/22 Deepak Bhole : > >> > * Andrew John Hughes [2010-01-21 09:05]: > >> >> I thought we were ready to ship 1.7. ?But then I tried to build NPPlugin... > >> >> > >> >> cd /var/tmp/portage/dev-java/icedtea6-1.7/work/icedtea6-1.7/plugin/icedteanp; \ > >> >> ? ? ? ? if [ -e > >> >> /var/tmp/portage/dev-java/icedtea6-1.7/work/icedtea6-1.7/.hg ] && > >> >> which /usr/bin/hg >/dev/null; then \ > >> >> ? ? ? ? ? revision="-r`(cd > >> >> /var/tmp/portage/dev-java/icedtea6-1.7/work/icedtea6-1.7; /usr/bin/hg > >> >> tip --template '{rev}')`" ; \ > >> > > >> > > >> > Hmm, it builds fine for me on rawhide. > >> > > >> > Can you retry with the attached patch? > >> > > >> > Deepak > >> > > >> >> ? ? ? ? fi ; \ > >> >> ? ? ? ? if [ -n "1.7" ]; then plugin_version=" (1.7)"; fi; \ > >> >> ? ? ? ? plugin_version=" 1.7$revision$plugin_version"; \ > >> >> ? ? ? ? powerpc-unknown-linux-gnu-g++ -O2 -mtune=G5 -mcpu=G5 > >> >> -mabi=altivec -pipe -ggdb \ > >> >> ? ? ? ? ? -DPACKAGE_VERSION="\"1.7\"" \ > >> >> ? ? ? ? ? -DPLUGIN_VERSION="\"$plugin_version\"" \ > >> >> ? ? ? ? ? -DMOZILLA_VERSION_COLLAPSED="1090011" \ > >> >> ? ? ? ? ? -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include ? \ > >> >> ? ? ? ? ? -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include > >> >> -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 > >> >> -\ > >> >> I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include > >> >> -I/usr/include/pixman-1 -I/usr/include/freetype2 > >> >> -I/usr/include/libpng12 ? \ > >> >> ? ? ? ? ? -fshort-wchar -I/usr/include/xulrunner-1.9/stable > >> >> -I/usr/include/nspr ? \ > >> >> ? ? ? ? ? -fPIC -c IcedTeaNPPlugin.cc IcedTeaScriptablePluginObject.cc > >> >> IcedTeaJavaRequestProcessor.cc IcedTeaPluginRequestProcesso\ > >> >> r.cc IcedTeaPluginUtils.cc; \ > >> >> ? ? ? ? cd ../ > >> >> In file included from IcedTeaJavaRequestProcessor.h:46, > >> >> ? ? ? ? ? ? ? ? ?from IcedTeaScriptablePluginObject.h:49, > >> >> ? ? ? ? ? ? ? ? ?from IcedTeaNPPlugin.cc:51: > >> >> IcedTeaNPPlugin.h:43:27: error: nsThreadUtils.h: No such file or directory > >> >> IcedTeaNPPlugin.cc:56:31: error: nsIPluginInstance.h: No such file or directory > >> >> IcedTeaNPPlugin.cc:57:35: error: nsIPluginInstancePeer.h: No such file > >> >> or directory > >> >> IcedTeaNPPlugin.cc:58:31: error: nsIPluginTagInfo2.h: No such file or directory > >> >> IcedTeaNPPlugin.cc:62:30: error: nsICookieService.h: No such file or directory > >> >> IcedTeaNPPlugin.cc:63:26: error: nsIDNSRecord.h: No such file or directory > >> >> IcedTeaNPPlugin.cc:64:27: error: nsIDNSService.h: No such file or directory > >> >> IcedTeaNPPlugin.cc:65:24: error: nsINetUtil.h: No such file or directory > >> >> IcedTeaNPPlugin.cc:66:26: error: nsIProxyInfo.h: No such file or directory > >> >> IcedTeaNPPlugin.cc:67:37: error: nsIProtocolProxyService.h: No such > >> >> file or directory > >> >> IcedTeaNPPlugin.cc:68:38: error: nsIScriptSecurityManager.h: No such > >> >> file or directory > >> >> IcedTeaNPPlugin.cc:71:22: error: nsNetCID.h: No such file or directory > >> >> etc. > >> >> > >> >> but worst of all it doesn't fail then but goes on to do the entire > >> >> second OpenJDK build (another few hours on ppc) and then fails after > >> >> that! > >> >> > >> >> Shouldn't it be checking for this stuff during configure? > >> >> > >> >> On my x86_64 box, I don't even get through configure: > >> >> > >> >> checking for xulrunner version... configure: error: in > >> >> `/mnt/builder/icedtea6-1.7': > >> >> configure: error: cannot determine xulrunner version > >> >> -- > >> >> Andrew :-) > >> >> > >> >> Free Java Software Engineer > >> >> Red Hat, Inc. (http://www.redhat.com) > >> >> > >> >> Support Free Java! > >> >> Contribute to GNU Classpath and the OpenJDK > >> >> http://www.gnu.org/software/classpath > >> >> http://openjdk.java.net > >> >> > >> >> PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > >> >> Fingerprint: F8EF F1EA 401E 2E60 15FA ?7927 142C 2591 94EF D9D8 > >> > > >> > >> That changed nothing, but the following made the x86_64 build complete: > >> > >> - ?CPPFLAGS="$CPPFLAGS $XULRUNNER_CFLAGS" > >> + ?CPPFLAGS="$CPPFLAGS $XULRUNNER_CFLAGS $MOZILLA_CFLAGS" > >> > > > > Looks like there are some serious differences between file locations for > > Gentoo and Fedora :/ > > > > I have built on Fedora (xulrunner 1.9.1/ff3.5) and Rawhide (xulrunner > > 1.9.2/ff 3.6) and both have been fine. The new plugin works fine in Firefox and > > Chromium on F12, and Dennis Gilmore (from Fedora) tried it on Firefox > > and Chromium on rawhide and it works for him too. > > > > Did you not try 1.9.0? If that isn't supposed to work, then the build > shouldn't be letting it through. > I didn't try it on 1.9.0, but it should work there.. > > I will try to install Gentoo in a vm tomorrow and see what is up. With > > the changes that you made that build for you, can you please do a quick > > test on chromium/ff 3.5 to make sure the plugin is visible and works? I > > will try out the same tomorrow once I have the vm set up. > > > > I'm trying to install Chromium now. Do you know where I have to put > the plugin in my home directory so it picks it up? I don't want to do > a system install of it. > It should work if the link is in ~/.mozilla/plugins/ Deepak > > Cheers, > > Deepak > > > > > >> I'm not sure what effect the MOZILLA_CFLAGS being added will have > >> though, especially on other platforms. ?I've only built it, not > >> tested. ?Will the plugin work with Chromium 4.0.288.1? ?If so, I'll > >> try the new Gentoo ebuild for it and test the plugin with it. ?How it > >> got to 4.0 already I have no idea! > >> > >> I think the ppc issue is that there is no version test (there is a > >> >1.9 on old plugin, but nothing on new). ?The ppc box is using > >> 1.9.0.11 which may be too old. > >> -- > >> Andrew :-) > >> > >> Free Java Software Engineer > >> Red Hat, Inc. (http://www.redhat.com) > >> > >> Support Free Java! > >> Contribute to GNU Classpath and the OpenJDK > >> http://www.gnu.org/software/classpath > >> http://openjdk.java.net > >> > >> PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > >> Fingerprint: F8EF F1EA 401E 2E60 15FA ?7927 142C 2591 94EF D9D8 > > > > > > -- > Andrew :-) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > Support Free Java! > Contribute to GNU Classpath and the OpenJDK > http://www.gnu.org/software/classpath > http://openjdk.java.net > > PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From gnu_andrew at member.fsf.org Fri Jan 22 07:43:21 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Fri, 22 Jan 2010 15:43:21 +0000 Subject: 1.7 and NPPlugin In-Reply-To: <20100122153835.GA6434@redhat.com> References: <17c6771e1001210604o4ff581e6s4df5075e8888e35e@mail.gmail.com> <20100122003059.GA3558@redhat.com> <17c6771e1001211921s52fb420en22aef0f990af7a7a@mail.gmail.com> <20100122071848.GA30351@redhat.com> <17c6771e1001220629t178a2055wab5b1724497442ea@mail.gmail.com> <20100122153835.GA6434@redhat.com> Message-ID: <17c6771e1001220743r69557c4tfe159554c7c508a1@mail.gmail.com> 2010/1/22 Deepak Bhole : > * Andrew John Hughes [2010-01-22 09:29]: >> 2010/1/22 Deepak Bhole : >> > * Andrew John Hughes [2010-01-21 22:22]: >> >> 2010/1/22 Deepak Bhole : >> >> > * Andrew John Hughes [2010-01-21 09:05]: >> >> >> I thought we were ready to ship 1.7. ?But then I tried to build NPPlugin... >> >> >> >> >> >> cd /var/tmp/portage/dev-java/icedtea6-1.7/work/icedtea6-1.7/plugin/icedteanp; \ >> >> >> ? ? ? ? if [ -e >> >> >> /var/tmp/portage/dev-java/icedtea6-1.7/work/icedtea6-1.7/.hg ] && >> >> >> which /usr/bin/hg >/dev/null; then \ >> >> >> ? ? ? ? ? revision="-r`(cd >> >> >> /var/tmp/portage/dev-java/icedtea6-1.7/work/icedtea6-1.7; /usr/bin/hg >> >> >> tip --template '{rev}')`" ; \ >> >> > >> >> > >> >> > Hmm, it builds fine for me on rawhide. >> >> > >> >> > Can you retry with the attached patch? >> >> > >> >> > Deepak >> >> > >> >> >> ? ? ? ? fi ; \ >> >> >> ? ? ? ? if [ -n "1.7" ]; then plugin_version=" (1.7)"; fi; \ >> >> >> ? ? ? ? plugin_version=" 1.7$revision$plugin_version"; \ >> >> >> ? ? ? ? powerpc-unknown-linux-gnu-g++ -O2 -mtune=G5 -mcpu=G5 >> >> >> -mabi=altivec -pipe -ggdb \ >> >> >> ? ? ? ? ? -DPACKAGE_VERSION="\"1.7\"" \ >> >> >> ? ? ? ? ? -DPLUGIN_VERSION="\"$plugin_version\"" \ >> >> >> ? ? ? ? ? -DMOZILLA_VERSION_COLLAPSED="1090011" \ >> >> >> ? ? ? ? ? -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include ? \ >> >> >> ? ? ? ? ? -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include >> >> >> -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 >> >> >> -\ >> >> >> I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include >> >> >> -I/usr/include/pixman-1 -I/usr/include/freetype2 >> >> >> -I/usr/include/libpng12 ? \ >> >> >> ? ? ? ? ? -fshort-wchar -I/usr/include/xulrunner-1.9/stable >> >> >> -I/usr/include/nspr ? \ >> >> >> ? ? ? ? ? -fPIC -c IcedTeaNPPlugin.cc IcedTeaScriptablePluginObject.cc >> >> >> IcedTeaJavaRequestProcessor.cc IcedTeaPluginRequestProcesso\ >> >> >> r.cc IcedTeaPluginUtils.cc; \ >> >> >> ? ? ? ? cd ../ >> >> >> In file included from IcedTeaJavaRequestProcessor.h:46, >> >> >> ? ? ? ? ? ? ? ? ?from IcedTeaScriptablePluginObject.h:49, >> >> >> ? ? ? ? ? ? ? ? ?from IcedTeaNPPlugin.cc:51: >> >> >> IcedTeaNPPlugin.h:43:27: error: nsThreadUtils.h: No such file or directory >> >> >> IcedTeaNPPlugin.cc:56:31: error: nsIPluginInstance.h: No such file or directory >> >> >> IcedTeaNPPlugin.cc:57:35: error: nsIPluginInstancePeer.h: No such file >> >> >> or directory >> >> >> IcedTeaNPPlugin.cc:58:31: error: nsIPluginTagInfo2.h: No such file or directory >> >> >> IcedTeaNPPlugin.cc:62:30: error: nsICookieService.h: No such file or directory >> >> >> IcedTeaNPPlugin.cc:63:26: error: nsIDNSRecord.h: No such file or directory >> >> >> IcedTeaNPPlugin.cc:64:27: error: nsIDNSService.h: No such file or directory >> >> >> IcedTeaNPPlugin.cc:65:24: error: nsINetUtil.h: No such file or directory >> >> >> IcedTeaNPPlugin.cc:66:26: error: nsIProxyInfo.h: No such file or directory >> >> >> IcedTeaNPPlugin.cc:67:37: error: nsIProtocolProxyService.h: No such >> >> >> file or directory >> >> >> IcedTeaNPPlugin.cc:68:38: error: nsIScriptSecurityManager.h: No such >> >> >> file or directory >> >> >> IcedTeaNPPlugin.cc:71:22: error: nsNetCID.h: No such file or directory >> >> >> etc. >> >> >> >> >> >> but worst of all it doesn't fail then but goes on to do the entire >> >> >> second OpenJDK build (another few hours on ppc) and then fails after >> >> >> that! >> >> >> >> >> >> Shouldn't it be checking for this stuff during configure? >> >> >> >> >> >> On my x86_64 box, I don't even get through configure: >> >> >> >> >> >> checking for xulrunner version... configure: error: in >> >> >> `/mnt/builder/icedtea6-1.7': >> >> >> configure: error: cannot determine xulrunner version >> >> >> -- >> >> >> Andrew :-) >> >> >> >> >> >> Free Java Software Engineer >> >> >> Red Hat, Inc. (http://www.redhat.com) >> >> >> >> >> >> Support Free Java! >> >> >> Contribute to GNU Classpath and the OpenJDK >> >> >> http://www.gnu.org/software/classpath >> >> >> http://openjdk.java.net >> >> >> >> >> >> PGP Key: 94EFD9D8 (http://subkeys.pgp.net) >> >> >> Fingerprint: F8EF F1EA 401E 2E60 15FA ?7927 142C 2591 94EF D9D8 >> >> > >> >> >> >> That changed nothing, but the following made the x86_64 build complete: >> >> >> >> - ?CPPFLAGS="$CPPFLAGS $XULRUNNER_CFLAGS" >> >> + ?CPPFLAGS="$CPPFLAGS $XULRUNNER_CFLAGS $MOZILLA_CFLAGS" >> >> >> > >> > Looks like there are some serious differences between file locations for >> > Gentoo and Fedora :/ >> > >> > I have built on Fedora (xulrunner 1.9.1/ff3.5) and Rawhide (xulrunner >> > 1.9.2/ff 3.6) and both have been fine. The new plugin works fine in Firefox and >> > Chromium on F12, and Dennis Gilmore (from Fedora) tried it on Firefox >> > and Chromium on rawhide and it works for him too. >> > >> >> Did you not try 1.9.0? ?If that isn't supposed to work, then the build >> shouldn't be letting it through. >> > > > I didn't try it on 1.9.0, but it should work there.. > That's where the actual build is failing in the PPC logs I sent you. >> > I will try to install Gentoo in a vm tomorrow and see what is up. With >> > the changes that you made that build for you, can you please do a quick >> > test on chromium/ff 3.5 to make sure the plugin is visible and works? I >> > will try out the same tomorrow once I have the vm set up. >> > If it helps this is what is installed by xulrunner 1.9.1 (the one now succeeding on x86_64): /etc /etc/env.d /etc/env.d/08xulrunner /etc/gre.d /etc/gre.d/1.9.1.5.system.conf /usr /usr/bin /usr/bin/xulrunner-1.9.1 /usr/include /usr/include/xulrunner-1.9.1 /usr/include/xulrunner-1.9.1/stable /usr/include/xulrunner-1.9.1/stable/domstubs.h /usr/include/xulrunner-1.9.1/stable/jni.h /usr/include/xulrunner-1.9.1/stable/jni_md.h /usr/include/xulrunner-1.9.1/stable/jri.h /usr/include/xulrunner-1.9.1/stable/jri_md.h /usr/include/xulrunner-1.9.1/stable/jritypes.h /usr/include/xulrunner-1.9.1/stable/mozIJSSubScriptLoader.h /usr/include/xulrunner-1.9.1/stable/npapi.h /usr/include/xulrunner-1.9.1/stable/npfunctions.h /usr/include/xulrunner-1.9.1/stable/npruntime.h /usr/include/xulrunner-1.9.1/stable/nptypes.h /usr/include/xulrunner-1.9.1/stable/nsArrayEnumerator.h /usr/include/xulrunner-1.9.1/stable/nsArrayUtils.h /usr/include/xulrunner-1.9.1/stable/nsAutoLock.h /usr/include/xulrunner-1.9.1/stable/nsBaseHashtable.h /usr/include/xulrunner-1.9.1/stable/nsCOMArray.h /usr/include/xulrunner-1.9.1/stable/nsCOMPtr.h /usr/include/xulrunner-1.9.1/stable/nsCRTGlue.h /usr/include/xulrunner-1.9.1/stable/nsCategoryCache.h /usr/include/xulrunner-1.9.1/stable/nsClassHashtable.h /usr/include/xulrunner-1.9.1/stable/nsComponentManagerUtils.h /usr/include/xulrunner-1.9.1/stable/nsCycleCollectionParticipant.h /usr/include/xulrunner-1.9.1/stable/nsCycleCollector.h /usr/include/xulrunner-1.9.1/stable/nsDataHashtable.h /usr/include/xulrunner-1.9.1/stable/nsDebug.h /usr/include/xulrunner-1.9.1/stable/nsDeque.h /usr/include/xulrunner-1.9.1/stable/nsDirectoryServiceDefs.h /usr/include/xulrunner-1.9.1/stable/nsDirectoryServiceUtils.h /usr/include/xulrunner-1.9.1/stable/nsEmbedAPI.h /usr/include/xulrunner-1.9.1/stable/nsEmbedCID.h /usr/include/xulrunner-1.9.1/stable/nsEmbedString.h /usr/include/xulrunner-1.9.1/stable/nsEnumeratorUtils.h /usr/include/xulrunner-1.9.1/stable/nsError.h /usr/include/xulrunner-1.9.1/stable/nsGenericFactory.h /usr/include/xulrunner-1.9.1/stable/nsHashKeys.h /usr/include/xulrunner-1.9.1/stable/nsIASN1Object.h /usr/include/xulrunner-1.9.1/stable/nsIASN1Sequence.h /usr/include/xulrunner-1.9.1/stable/nsIArray.h /usr/include/xulrunner-1.9.1/stable/nsICRLInfo.h /usr/include/xulrunner-1.9.1/stable/nsICategoryManager.h /usr/include/xulrunner-1.9.1/stable/nsICertificateDialogs.h /usr/include/xulrunner-1.9.1/stable/nsIChannel.h /usr/include/xulrunner-1.9.1/stable/nsIClassInfo.h /usr/include/xulrunner-1.9.1/stable/nsIClassInfoImpl.h /usr/include/xulrunner-1.9.1/stable/nsIClipboardCommands.h /usr/include/xulrunner-1.9.1/stable/nsIComponentManager.h /usr/include/xulrunner-1.9.1/stable/nsIComponentRegistrar.h /usr/include/xulrunner-1.9.1/stable/nsIContextMenuListener.h /usr/include/xulrunner-1.9.1/stable/nsICookie.h /usr/include/xulrunner-1.9.1/stable/nsICookieManager.h /usr/include/xulrunner-1.9.1/stable/nsID.h /usr/include/xulrunner-1.9.1/stable/nsIDOM3DocumentEvent.h /usr/include/xulrunner-1.9.1/stable/nsIDOM3EventTarget.h /usr/include/xulrunner-1.9.1/stable/nsIDOMAbstractView.h /usr/include/xulrunner-1.9.1/stable/nsIDOMAttr.h /usr/include/xulrunner-1.9.1/stable/nsIDOMBarProp.h /usr/include/xulrunner-1.9.1/stable/nsIDOMCDATASection.h /usr/include/xulrunner-1.9.1/stable/nsIDOMCSSPrimitiveValue.h /usr/include/xulrunner-1.9.1/stable/nsIDOMCSSRule.h /usr/include/xulrunner-1.9.1/stable/nsIDOMCSSRuleList.h /usr/include/xulrunner-1.9.1/stable/nsIDOMCSSStyleDeclaration.h /usr/include/xulrunner-1.9.1/stable/nsIDOMCSSStyleSheet.h /usr/include/xulrunner-1.9.1/stable/nsIDOMCSSValue.h /usr/include/xulrunner-1.9.1/stable/nsIDOMCSSValueList.h /usr/include/xulrunner-1.9.1/stable/nsIDOMCharacterData.h /usr/include/xulrunner-1.9.1/stable/nsIDOMComment.h /usr/include/xulrunner-1.9.1/stable/nsIDOMDOMException.h /usr/include/xulrunner-1.9.1/stable/nsIDOMDOMImplementation.h /usr/include/xulrunner-1.9.1/stable/nsIDOMDocument.h /usr/include/xulrunner-1.9.1/stable/nsIDOMDocumentEvent.h /usr/include/xulrunner-1.9.1/stable/nsIDOMDocumentFragment.h /usr/include/xulrunner-1.9.1/stable/nsIDOMDocumentRange.h /usr/include/xulrunner-1.9.1/stable/nsIDOMDocumentStyle.h /usr/include/xulrunner-1.9.1/stable/nsIDOMDocumentType.h /usr/include/xulrunner-1.9.1/stable/nsIDOMDocumentView.h /usr/include/xulrunner-1.9.1/stable/nsIDOMElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMElementCSSInlineStyle.h /usr/include/xulrunner-1.9.1/stable/nsIDOMEntity.h /usr/include/xulrunner-1.9.1/stable/nsIDOMEntityReference.h /usr/include/xulrunner-1.9.1/stable/nsIDOMEvent.h /usr/include/xulrunner-1.9.1/stable/nsIDOMEventGroup.h /usr/include/xulrunner-1.9.1/stable/nsIDOMEventListener.h /usr/include/xulrunner-1.9.1/stable/nsIDOMEventTarget.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLAnchorElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLAppletElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLAreaElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLAudioElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLBRElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLBaseElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLBaseFontElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLBodyElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLButtonElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLByteRanges.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLCollection.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLDListElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLDirectoryElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLDivElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLDocument.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLEmbedElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLFieldSetElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLFontElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLFormElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLFrameElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLFrameSetElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLHRElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLHeadElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLHeadingElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLHtmlElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLIFrameElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLImageElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLInputElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLIsIndexElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLLIElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLLabelElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLLegendElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLLinkElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLMapElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLMediaElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLMediaError.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLMenuElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLMetaElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLModElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLOListElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLObjectElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLOptGroupElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLOptionElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLOptionsCollection.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLParagraphElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLParamElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLPreElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLQuoteElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLScriptElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLSelectElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLSourceElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLStyleElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLTableCaptionElem.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLTableCellElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLTableColElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLTableElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLTableRowElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLTableSectionElem.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLTextAreaElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLTimeRanges.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLTitleElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLUListElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLVideoElement.h /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLVoidCallback.h /usr/include/xulrunner-1.9.1/stable/nsIDOMMediaList.h /usr/include/xulrunner-1.9.1/stable/nsIDOMMouseEvent.h /usr/include/xulrunner-1.9.1/stable/nsIDOMMouseScrollEvent.h /usr/include/xulrunner-1.9.1/stable/nsIDOMNamedNodeMap.h /usr/include/xulrunner-1.9.1/stable/nsIDOMNode.h /usr/include/xulrunner-1.9.1/stable/nsIDOMNodeList.h /usr/include/xulrunner-1.9.1/stable/nsIDOMNotation.h /usr/include/xulrunner-1.9.1/stable/nsIDOMProcessingInstruction.h /usr/include/xulrunner-1.9.1/stable/nsIDOMProgressEvent.h /usr/include/xulrunner-1.9.1/stable/nsIDOMRange.h /usr/include/xulrunner-1.9.1/stable/nsIDOMStorage.h /usr/include/xulrunner-1.9.1/stable/nsIDOMStorageEvent.h /usr/include/xulrunner-1.9.1/stable/nsIDOMStorageItem.h /usr/include/xulrunner-1.9.1/stable/nsIDOMStorageList.h /usr/include/xulrunner-1.9.1/stable/nsIDOMStorageWindow.h /usr/include/xulrunner-1.9.1/stable/nsIDOMStorageWindow_1_9_1.h /usr/include/xulrunner-1.9.1/stable/nsIDOMStyleSheet.h /usr/include/xulrunner-1.9.1/stable/nsIDOMStyleSheetList.h /usr/include/xulrunner-1.9.1/stable/nsIDOMText.h /usr/include/xulrunner-1.9.1/stable/nsIDOMUIEvent.h /usr/include/xulrunner-1.9.1/stable/nsIDOMWindow.h /usr/include/xulrunner-1.9.1/stable/nsIDOMWindow2.h /usr/include/xulrunner-1.9.1/stable/nsIDOMWindowCollection.h /usr/include/xulrunner-1.9.1/stable/nsIDOMWindowUtils.h /usr/include/xulrunner-1.9.1/stable/nsIDebug.h /usr/include/xulrunner-1.9.1/stable/nsIDirectoryService.h /usr/include/xulrunner-1.9.1/stable/nsIEmbeddingSiteWindow.h /usr/include/xulrunner-1.9.1/stable/nsIFactory.h /usr/include/xulrunner-1.9.1/stable/nsIFile.h /usr/include/xulrunner-1.9.1/stable/nsIFileURL.h /usr/include/xulrunner-1.9.1/stable/nsIGenericFactory.h /usr/include/xulrunner-1.9.1/stable/nsIGlobalHistory.h /usr/include/xulrunner-1.9.1/stable/nsIHashable.h /usr/include/xulrunner-1.9.1/stable/nsIHistoryEntry.h /usr/include/xulrunner-1.9.1/stable/nsIHttpChannel.h /usr/include/xulrunner-1.9.1/stable/nsIHttpHeaderVisitor.h /usr/include/xulrunner-1.9.1/stable/nsIIOService.h /usr/include/xulrunner-1.9.1/stable/nsIInputStream.h /usr/include/xulrunner-1.9.1/stable/nsIInterfaceRequestor.h /usr/include/xulrunner-1.9.1/stable/nsIInterfaceRequestorUtils.h /usr/include/xulrunner-1.9.1/stable/nsIJSON.h /usr/include/xulrunner-1.9.1/stable/nsILoadGroup.h /usr/include/xulrunner-1.9.1/stable/nsILocalFile.h /usr/include/xulrunner-1.9.1/stable/nsIMemory.h /usr/include/xulrunner-1.9.1/stable/nsIModule.h /usr/include/xulrunner-1.9.1/stable/nsIMutableArray.h /usr/include/xulrunner-1.9.1/stable/nsINIParser.h /usr/include/xulrunner-1.9.1/stable/nsIObserver.h /usr/include/xulrunner-1.9.1/stable/nsIObserverService.h /usr/include/xulrunner-1.9.1/stable/nsIOutputStream.h /usr/include/xulrunner-1.9.1/stable/nsIPrefBranch.h /usr/include/xulrunner-1.9.1/stable/nsIPrefBranch2.h /usr/include/xulrunner-1.9.1/stable/nsIPrefLocalizedString.h /usr/include/xulrunner-1.9.1/stable/nsIPrefService.h /usr/include/xulrunner-1.9.1/stable/nsIProfile.h /usr/include/xulrunner-1.9.1/stable/nsIProfileChangeStatus.h /usr/include/xulrunner-1.9.1/stable/nsIProgrammingLanguage.h /usr/include/xulrunner-1.9.1/stable/nsIPromptService.h /usr/include/xulrunner-1.9.1/stable/nsIProperties.h /usr/include/xulrunner-1.9.1/stable/nsIProtocolHandler.h /usr/include/xulrunner-1.9.1/stable/nsIRequest.h /usr/include/xulrunner-1.9.1/stable/nsIRequestObserver.h /usr/include/xulrunner-1.9.1/stable/nsISHistory.h /usr/include/xulrunner-1.9.1/stable/nsISHistoryListener.h /usr/include/xulrunner-1.9.1/stable/nsIScriptableInputStream.h /usr/include/xulrunner-1.9.1/stable/nsISecurityWarningDialogs.h /usr/include/xulrunner-1.9.1/stable/nsISelection.h /usr/include/xulrunner-1.9.1/stable/nsIServiceManager.h /usr/include/xulrunner-1.9.1/stable/nsISimpleEnumerator.h /usr/include/xulrunner-1.9.1/stable/nsIStreamListener.h /usr/include/xulrunner-1.9.1/stable/nsISupports.h /usr/include/xulrunner-1.9.1/stable/nsISupportsBase.h /usr/include/xulrunner-1.9.1/stable/nsISupportsImpl.h /usr/include/xulrunner-1.9.1/stable/nsISupportsPrimitives.h /usr/include/xulrunner-1.9.1/stable/nsISupportsUtils.h /usr/include/xulrunner-1.9.1/stable/nsITooltipListener.h /usr/include/xulrunner-1.9.1/stable/nsITooltipTextProvider.h /usr/include/xulrunner-1.9.1/stable/nsITraceRefcnt.h /usr/include/xulrunner-1.9.1/stable/nsITraceableChannel.h /usr/include/xulrunner-1.9.1/stable/nsIURI.h /usr/include/xulrunner-1.9.1/stable/nsIURIContentListener.h /usr/include/xulrunner-1.9.1/stable/nsIURL.h /usr/include/xulrunner-1.9.1/stable/nsIUnicharStreamListener.h /usr/include/xulrunner-1.9.1/stable/nsIUploadChannel.h /usr/include/xulrunner-1.9.1/stable/nsIWeakReference.h /usr/include/xulrunner-1.9.1/stable/nsIWeakReferenceUtils.h /usr/include/xulrunner-1.9.1/stable/nsIWebBrowser.h /usr/include/xulrunner-1.9.1/stable/nsIWebBrowserChrome.h /usr/include/xulrunner-1.9.1/stable/nsIWebBrowserChromeFocus.h /usr/include/xulrunner-1.9.1/stable/nsIWebBrowserFind.h /usr/include/xulrunner-1.9.1/stable/nsIWebBrowserFocus.h /usr/include/xulrunner-1.9.1/stable/nsIWebBrowserPrint.h /usr/include/xulrunner-1.9.1/stable/nsIWebBrowserSetup.h /usr/include/xulrunner-1.9.1/stable/nsIWebBrowserStream.h /usr/include/xulrunner-1.9.1/stable/nsIWebProgress.h /usr/include/xulrunner-1.9.1/stable/nsIWebProgressListener.h /usr/include/xulrunner-1.9.1/stable/nsIWindowCreator.h /usr/include/xulrunner-1.9.1/stable/nsIWindowWatcher.h /usr/include/xulrunner-1.9.1/stable/nsIX509Cert.h /usr/include/xulrunner-1.9.1/stable/nsIX509CertDB.h /usr/include/xulrunner-1.9.1/stable/nsIX509CertValidity.h /usr/include/xulrunner-1.9.1/stable/nsInterfaceHashtable.h /usr/include/xulrunner-1.9.1/stable/nsMemory.h /usr/include/xulrunner-1.9.1/stable/nsObjCExceptions.h /usr/include/xulrunner-1.9.1/stable/nsParserDataListener.h /usr/include/xulrunner-1.9.1/stable/nsQuickSort.h /usr/include/xulrunner-1.9.1/stable/nsRefPtrHashtable.h /usr/include/xulrunner-1.9.1/stable/nsServiceManagerUtils.h /usr/include/xulrunner-1.9.1/stable/nsStringAPI.h /usr/include/xulrunner-1.9.1/stable/nsStringGlue.h /usr/include/xulrunner-1.9.1/stable/nsTArray.h /usr/include/xulrunner-1.9.1/stable/nsTHashtable.h /usr/include/xulrunner-1.9.1/stable/nsTObserverArray.h /usr/include/xulrunner-1.9.1/stable/nsTPtrArray.h /usr/include/xulrunner-1.9.1/stable/nsTWeakRef.h /usr/include/xulrunner-1.9.1/stable/nsTextFormatter.h /usr/include/xulrunner-1.9.1/stable/nsTraceRefcnt.h /usr/include/xulrunner-1.9.1/stable/nsUnicharUtils.h /usr/include/xulrunner-1.9.1/stable/nsVersionComparator.h /usr/include/xulrunner-1.9.1/stable/nsVoidArray.h /usr/include/xulrunner-1.9.1/stable/nsWeakReference.h /usr/include/xulrunner-1.9.1/stable/nsXPCOM.h /usr/include/xulrunner-1.9.1/stable/nsXPCOMCID.h /usr/include/xulrunner-1.9.1/stable/nsXPCOMGlue.h /usr/include/xulrunner-1.9.1/stable/nsXPCOMStrings.h /usr/include/xulrunner-1.9.1/stable/nscore.h /usr/include/xulrunner-1.9.1/stable/nsrootidl.h /usr/include/xulrunner-1.9.1/stable/pldhash.h /usr/include/xulrunner-1.9.1/stable/xpcom-config.h /usr/include/xulrunner-1.9.1/unstable /usr/include/xulrunner-1.9.1/unstable/ImageErrors.h /usr/include/xulrunner-1.9.1/unstable/ImageLogging.h /usr/include/xulrunner-1.9.1/unstable/NSReg.h /usr/include/xulrunner-1.9.1/unstable/ProxyJNI.h /usr/include/xulrunner-1.9.1/unstable/PyXPCOM.h /usr/include/xulrunner-1.9.1/unstable/VerReg.h /usr/include/xulrunner-1.9.1/unstable/XPCIDispatch.h /usr/include/xulrunner-1.9.1/unstable/bool.h /usr/include/xulrunner-1.9.1/unstable/codec.h /usr/include/xulrunner-1.9.1/unstable/comments.h /usr/include/xulrunner-1.9.1/unstable/config.h /usr/include/xulrunner-1.9.1/unstable/config_gcc.h /usr/include/xulrunner-1.9.1/unstable/config_types.h /usr/include/xulrunner-1.9.1/unstable/config_win32.h /usr/include/xulrunner-1.9.1/unstable/constants.h /usr/include/xulrunner-1.9.1/unstable/decode.h /usr/include/xulrunner-1.9.1/unstable/deprecated.h /usr/include/xulrunner-1.9.1/unstable/domstubs.h /usr/include/xulrunner-1.9.1/unstable/encode.h /usr/include/xulrunner-1.9.1/unstable/expat.h /usr/include/xulrunner-1.9.1/unstable/expat_config.h /usr/include/xulrunner-1.9.1/unstable/expat_external.h /usr/include/xulrunner-1.9.1/unstable/extIApplication.h /usr/include/xulrunner-1.9.1/unstable/fishsound.h /usr/include/xulrunner-1.9.1/unstable/ftpCore.h /usr/include/xulrunner-1.9.1/unstable/gfxASurface.h /usr/include/xulrunner-1.9.1/unstable/gfxAlphaRecovery.h /usr/include/xulrunner-1.9.1/unstable/gfxBlur.h /usr/include/xulrunner-1.9.1/unstable/gfxColor.h /usr/include/xulrunner-1.9.1/unstable/gfxContext.h /usr/include/xulrunner-1.9.1/unstable/gfxCore.h /usr/include/xulrunner-1.9.1/unstable/gfxFont.h /usr/include/xulrunner-1.9.1/unstable/gfxFontTest.h /usr/include/xulrunner-1.9.1/unstable/gfxFontUtils.h /usr/include/xulrunner-1.9.1/unstable/gfxGdkNativeRenderer.h /usr/include/xulrunner-1.9.1/unstable/gfxIFormats.h /usr/include/xulrunner-1.9.1/unstable/gfxIImageFrame.h /usr/include/xulrunner-1.9.1/unstable/gfxImageSurface.h /usr/include/xulrunner-1.9.1/unstable/gfxMatrix.h /usr/include/xulrunner-1.9.1/unstable/gfxPDFSurface.h /usr/include/xulrunner-1.9.1/unstable/gfxPSSurface.h /usr/include/xulrunner-1.9.1/unstable/gfxPangoFonts.h /usr/include/xulrunner-1.9.1/unstable/gfxPath.h /usr/include/xulrunner-1.9.1/unstable/gfxPattern.h /usr/include/xulrunner-1.9.1/unstable/gfxPlatform.h /usr/include/xulrunner-1.9.1/unstable/gfxPlatformGtk.h /usr/include/xulrunner-1.9.1/unstable/gfxPoint.h /usr/include/xulrunner-1.9.1/unstable/gfxRect.h /usr/include/xulrunner-1.9.1/unstable/gfxSkipChars.h /usr/include/xulrunner-1.9.1/unstable/gfxTextRunCache.h /usr/include/xulrunner-1.9.1/unstable/gfxTextRunWordCache.h /usr/include/xulrunner-1.9.1/unstable/gfxTypes.h /usr/include/xulrunner-1.9.1/unstable/gfxUserFontSet.h /usr/include/xulrunner-1.9.1/unstable/gfxUtils.h /usr/include/xulrunner-1.9.1/unstable/gfxXlibSurface.h /usr/include/xulrunner-1.9.1/unstable/gfxtypes.h /usr/include/xulrunner-1.9.1/unstable/gtk2xtbin.h /usr/include/xulrunner-1.9.1/unstable/gtkmozembed.h /usr/include/xulrunner-1.9.1/unstable/gtkmozembed_glue.cpp /usr/include/xulrunner-1.9.1/unstable/gtkmozembed_internal.h /usr/include/xulrunner-1.9.1/unstable/gtkxtbin.h /usr/include/xulrunner-1.9.1/unstable/imgICache.h /usr/include/xulrunner-1.9.1/unstable/imgIContainer.h /usr/include/xulrunner-1.9.1/unstable/imgIContainerObserver.h /usr/include/xulrunner-1.9.1/unstable/imgIDecoder.h /usr/include/xulrunner-1.9.1/unstable/imgIDecoderObserver.h /usr/include/xulrunner-1.9.1/unstable/imgIEncoder.h /usr/include/xulrunner-1.9.1/unstable/imgILoad.h /usr/include/xulrunner-1.9.1/unstable/imgILoader.h /usr/include/xulrunner-1.9.1/unstable/imgIRequest.h /usr/include/xulrunner-1.9.1/unstable/imgITools.h /usr/include/xulrunner-1.9.1/unstable/inICSSValueSearch.h /usr/include/xulrunner-1.9.1/unstable/inIDOMUtils.h /usr/include/xulrunner-1.9.1/unstable/inIDOMView.h /usr/include/xulrunner-1.9.1/unstable/inIDeepTreeWalker.h /usr/include/xulrunner-1.9.1/unstable/inIFlasher.h /usr/include/xulrunner-1.9.1/unstable/inISearchObserver.h /usr/include/xulrunner-1.9.1/unstable/inISearchProcess.h /usr/include/xulrunner-1.9.1/unstable/interpreter.h /usr/include/xulrunner-1.9.1/unstable/javaString.h /usr/include/xulrunner-1.9.1/unstable/javaThreads.h /usr/include/xulrunner-1.9.1/unstable/java_lang_String.h /usr/include/xulrunner-1.9.1/unstable/jdk_java_lang_String.h /usr/include/xulrunner-1.9.1/unstable/jmc.h /usr/include/xulrunner-1.9.1/unstable/jni.h /usr/include/xulrunner-1.9.1/unstable/jni_md.h /usr/include/xulrunner-1.9.1/unstable/jri.h /usr/include/xulrunner-1.9.1/unstable/jri_md.h /usr/include/xulrunner-1.9.1/unstable/jriext.h /usr/include/xulrunner-1.9.1/unstable/jritypes.h /usr/include/xulrunner-1.9.1/unstable/js-config.h /usr/include/xulrunner-1.9.1/unstable/js.msg /usr/include/xulrunner-1.9.1/unstable/jsapi.h /usr/include/xulrunner-1.9.1/unstable/jsarena.h /usr/include/xulrunner-1.9.1/unstable/jsarray.h /usr/include/xulrunner-1.9.1/unstable/jsatom.h /usr/include/xulrunner-1.9.1/unstable/jsautocfg.h /usr/include/xulrunner-1.9.1/unstable/jsautokw.h /usr/include/xulrunner-1.9.1/unstable/jsbit.h /usr/include/xulrunner-1.9.1/unstable/jsbool.h /usr/include/xulrunner-1.9.1/unstable/jsclist.h /usr/include/xulrunner-1.9.1/unstable/jscntxt.h /usr/include/xulrunner-1.9.1/unstable/jscompat.h /usr/include/xulrunner-1.9.1/unstable/jsdIDebuggerService.h /usr/include/xulrunner-1.9.1/unstable/jsdate.h /usr/include/xulrunner-1.9.1/unstable/jsdbgapi.h /usr/include/xulrunner-1.9.1/unstable/jsdebug.h /usr/include/xulrunner-1.9.1/unstable/jsdhash.h /usr/include/xulrunner-1.9.1/unstable/jsdtoa.h /usr/include/xulrunner-1.9.1/unstable/jsemit.h /usr/include/xulrunner-1.9.1/unstable/jsfun.h /usr/include/xulrunner-1.9.1/unstable/jsgc.h /usr/include/xulrunner-1.9.1/unstable/jshash.h /usr/include/xulrunner-1.9.1/unstable/jsinterp.h /usr/include/xulrunner-1.9.1/unstable/jsiter.h /usr/include/xulrunner-1.9.1/unstable/jsjava.h /usr/include/xulrunner-1.9.1/unstable/jslock.h /usr/include/xulrunner-1.9.1/unstable/jslong.h /usr/include/xulrunner-1.9.1/unstable/jsmath.h /usr/include/xulrunner-1.9.1/unstable/jsnum.h /usr/include/xulrunner-1.9.1/unstable/jsobj.h /usr/include/xulrunner-1.9.1/unstable/json.h /usr/include/xulrunner-1.9.1/unstable/jsopcode.h /usr/include/xulrunner-1.9.1/unstable/jsopcode.tbl /usr/include/xulrunner-1.9.1/unstable/jsotypes.h /usr/include/xulrunner-1.9.1/unstable/jsparse.h /usr/include/xulrunner-1.9.1/unstable/jsprf.h /usr/include/xulrunner-1.9.1/unstable/jsproto.tbl /usr/include/xulrunner-1.9.1/unstable/jsprvtd.h /usr/include/xulrunner-1.9.1/unstable/jspubtd.h /usr/include/xulrunner-1.9.1/unstable/jsregexp.h /usr/include/xulrunner-1.9.1/unstable/jsscan.h /usr/include/xulrunner-1.9.1/unstable/jsscope.h /usr/include/xulrunner-1.9.1/unstable/jsscript.h /usr/include/xulrunner-1.9.1/unstable/jsstaticcheck.h /usr/include/xulrunner-1.9.1/unstable/jsstddef.h /usr/include/xulrunner-1.9.1/unstable/jsstdint.h /usr/include/xulrunner-1.9.1/unstable/jsstr.h /usr/include/xulrunner-1.9.1/unstable/jstracer.h /usr/include/xulrunner-1.9.1/unstable/jstypes.h /usr/include/xulrunner-1.9.1/unstable/jsutil.h /usr/include/xulrunner-1.9.1/unstable/jsversion.h /usr/include/xulrunner-1.9.1/unstable/jsxdrapi.h /usr/include/xulrunner-1.9.1/unstable/jsxml.h /usr/include/xulrunner-1.9.1/unstable/jvmmgr.h /usr/include/xulrunner-1.9.1/unstable/mozAutoDocUpdate.h /usr/include/xulrunner-1.9.1/unstable/mozFlushType.h /usr/include/xulrunner-1.9.1/unstable/mozIJSSubScriptLoader.h /usr/include/xulrunner-1.9.1/unstable/mozIPersonalDictionary.h /usr/include/xulrunner-1.9.1/unstable/mozISanitizingSerializer.h /usr/include/xulrunner-1.9.1/unstable/mozISpellCheckingEngine.h /usr/include/xulrunner-1.9.1/unstable/mozISpellI18NManager.h /usr/include/xulrunner-1.9.1/unstable/mozISpellI18NUtil.h /usr/include/xulrunner-1.9.1/unstable/mozIStorageAggregateFunction.h /usr/include/xulrunner-1.9.1/unstable/mozIStorageConnection.h /usr/include/xulrunner-1.9.1/unstable/mozIStorageDataSet.h /usr/include/xulrunner-1.9.1/unstable/mozIStorageError.h /usr/include/xulrunner-1.9.1/unstable/mozIStorageFunction.h /usr/include/xulrunner-1.9.1/unstable/mozIStoragePendingStatement.h /usr/include/xulrunner-1.9.1/unstable/mozIStorageProgressHandler.h /usr/include/xulrunner-1.9.1/unstable/mozIStorageResultSet.h /usr/include/xulrunner-1.9.1/unstable/mozIStorageRow.h /usr/include/xulrunner-1.9.1/unstable/mozIStorageService.h /usr/include/xulrunner-1.9.1/unstable/mozIStorageStatement.h /usr/include/xulrunner-1.9.1/unstable/mozIStorageStatementCallback.h /usr/include/xulrunner-1.9.1/unstable/mozIStorageStatementWrapper.h /usr/include/xulrunner-1.9.1/unstable/mozIStorageValueArray.h /usr/include/xulrunner-1.9.1/unstable/mozITXTToHTMLConv.h /usr/include/xulrunner-1.9.1/unstable/mozStorage.h /usr/include/xulrunner-1.9.1/unstable/mozStorageCID.h /usr/include/xulrunner-1.9.1/unstable/mozStorageHelper.h /usr/include/xulrunner-1.9.1/unstable/mozcontainer.h /usr/include/xulrunner-1.9.1/unstable/mozdrawingarea.h /usr/include/xulrunner-1.9.1/unstable/mozilla-config.h /usr/include/xulrunner-1.9.1/unstable/mozpngconf.h /usr/include/xulrunner-1.9.1/unstable/necko-config.h /usr/include/xulrunner-1.9.1/unstable/netCore.h /usr/include/xulrunner-1.9.1/unstable/netscape_javascript_JSException.h /usr/include/xulrunner-1.9.1/unstable/netscape_javascript_JSObject.h /usr/include/xulrunner-1.9.1/unstable/npapi.h /usr/include/xulrunner-1.9.1/unstable/npfunctions.h /usr/include/xulrunner-1.9.1/unstable/npruntime.h /usr/include/xulrunner-1.9.1/unstable/nptypes.h /usr/include/xulrunner-1.9.1/unstable/nsASocketHandler.h /usr/include/xulrunner-1.9.1/unstable/nsAString.h /usr/include/xulrunner-1.9.1/unstable/nsAXPCNativeCallContext.h /usr/include/xulrunner-1.9.1/unstable/nsAboutProtocolUtils.h /usr/include/xulrunner-1.9.1/unstable/nsAccessNode.h /usr/include/xulrunner-1.9.1/unstable/nsAccessNodeWrap.h /usr/include/xulrunner-1.9.1/unstable/nsAccessibleEventData.h /usr/include/xulrunner-1.9.1/unstable/nsAccessibleRelationWrap.h /usr/include/xulrunner-1.9.1/unstable/nsAccessibleWrap.h /usr/include/xulrunner-1.9.1/unstable/nsAgg.h /usr/include/xulrunner-1.9.1/unstable/nsAlgorithm.h /usr/include/xulrunner-1.9.1/unstable/nsAppDirectoryServiceDefs.h /usr/include/xulrunner-1.9.1/unstable/nsAppShellCID.h /usr/include/xulrunner-1.9.1/unstable/nsArrayEnumerator.h /usr/include/xulrunner-1.9.1/unstable/nsArrayUtils.h /usr/include/xulrunner-1.9.1/unstable/nsAtomListUtils.h /usr/include/xulrunner-1.9.1/unstable/nsAtomService.h /usr/include/xulrunner-1.9.1/unstable/nsAttrName.h /usr/include/xulrunner-1.9.1/unstable/nsAudioStream.h /usr/include/xulrunner-1.9.1/unstable/nsAutoJSValHolder.h /usr/include/xulrunner-1.9.1/unstable/nsAutoLock.h /usr/include/xulrunner-1.9.1/unstable/nsAutoPtr.h /usr/include/xulrunner-1.9.1/unstable/nsAutoRef.h /usr/include/xulrunner-1.9.1/unstable/nsBaseHashtable.h /usr/include/xulrunner-1.9.1/unstable/nsBidi.h /usr/include/xulrunner-1.9.1/unstable/nsBidiFrames.h /usr/include/xulrunner-1.9.1/unstable/nsBidiPresUtils.h /usr/include/xulrunner-1.9.1/unstable/nsBidiUtils.h /usr/include/xulrunner-1.9.1/unstable/nsBindingManager.h /usr/include/xulrunner-1.9.1/unstable/nsCDefaultURIFixup.h /usr/include/xulrunner-1.9.1/unstable/nsCDocShell.h /usr/include/xulrunner-1.9.1/unstable/nsCExternalHandlerService.h /usr/include/xulrunner-1.9.1/unstable/nsCOMArray.h /usr/include/xulrunner-1.9.1/unstable/nsCOMPtr.h /usr/include/xulrunner-1.9.1/unstable/nsCPasswordManager.h /usr/include/xulrunner-1.9.1/unstable/nsCPasswordManagerInternal.h /usr/include/xulrunner-1.9.1/unstable/nsCPrefetchService.h /usr/include/xulrunner-1.9.1/unstable/nsCRT.h /usr/include/xulrunner-1.9.1/unstable/nsCRTGlue.h /usr/include/xulrunner-1.9.1/unstable/nsCSSAnonBoxList.h /usr/include/xulrunner-1.9.1/unstable/nsCSSAnonBoxes.h /usr/include/xulrunner-1.9.1/unstable/nsCSSFrameConstructor.h /usr/include/xulrunner-1.9.1/unstable/nsCSSKeywordList.h /usr/include/xulrunner-1.9.1/unstable/nsCSSKeywords.h /usr/include/xulrunner-1.9.1/unstable/nsCSSPropList.h /usr/include/xulrunner-1.9.1/unstable/nsCSSProperty.h /usr/include/xulrunner-1.9.1/unstable/nsCSSProps.h /usr/include/xulrunner-1.9.1/unstable/nsCSSPseudoClassList.h /usr/include/xulrunner-1.9.1/unstable/nsCSSPseudoClasses.h /usr/include/xulrunner-1.9.1/unstable/nsCSSPseudoElementList.h /usr/include/xulrunner-1.9.1/unstable/nsCSSPseudoElements.h /usr/include/xulrunner-1.9.1/unstable/nsCSSRuleProcessor.h /usr/include/xulrunner-1.9.1/unstable/nsCSSStruct.h /usr/include/xulrunner-1.9.1/unstable/nsCSSStyleSheet.h /usr/include/xulrunner-1.9.1/unstable/nsCSSValue.h /usr/include/xulrunner-1.9.1/unstable/nsCTooltipTextProvider.h /usr/include/xulrunner-1.9.1/unstable/nsCUPSShim.h /usr/include/xulrunner-1.9.1/unstable/nsCURILoader.h /usr/include/xulrunner-1.9.1/unstable/nsCWebBrowser.h /usr/include/xulrunner-1.9.1/unstable/nsCWebBrowserPersist.h /usr/include/xulrunner-1.9.1/unstable/nsCacheService.h /usr/include/xulrunner-1.9.1/unstable/nsCaret.h /usr/include/xulrunner-1.9.1/unstable/nsCaseTreatment.h /usr/include/xulrunner-1.9.1/unstable/nsCategoryCache.h /usr/include/xulrunner-1.9.1/unstable/nsCategoryManagerUtils.h /usr/include/xulrunner-1.9.1/unstable/nsChangeHint.h /usr/include/xulrunner-1.9.1/unstable/nsChannelProperties.h /usr/include/xulrunner-1.9.1/unstable/nsChannelReader.h /usr/include/xulrunner-1.9.1/unstable/nsCharTraits.h /usr/include/xulrunner-1.9.1/unstable/nsCharsetDetectionAdaptorCID.h /usr/include/xulrunner-1.9.1/unstable/nsCheapSets.h /usr/include/xulrunner-1.9.1/unstable/nsClassHashtable.h /usr/include/xulrunner-1.9.1/unstable/nsClientRect.h /usr/include/xulrunner-1.9.1/unstable/nsCollation.h /usr/include/xulrunner-1.9.1/unstable/nsCollationCID.h /usr/include/xulrunner-1.9.1/unstable/nsColor.h /usr/include/xulrunner-1.9.1/unstable/nsColorNameList.h /usr/include/xulrunner-1.9.1/unstable/nsColorNames.h /usr/include/xulrunner-1.9.1/unstable/nsCom.h /usr/include/xulrunner-1.9.1/unstable/nsCommaSeparatedTokenizer.h /usr/include/xulrunner-1.9.1/unstable/nsCompatibility.h /usr/include/xulrunner-1.9.1/unstable/nsComponentManagerUtils.h /usr/include/xulrunner-1.9.1/unstable/nsCompressedCharMap.h /usr/include/xulrunner-1.9.1/unstable/nsContentCID.h /usr/include/xulrunner-1.9.1/unstable/nsContentCreatorFunctions.h /usr/include/xulrunner-1.9.1/unstable/nsContentDLF.h /usr/include/xulrunner-1.9.1/unstable/nsContentErrors.h /usr/include/xulrunner-1.9.1/unstable/nsContentList.h /usr/include/xulrunner-1.9.1/unstable/nsContentPolicyUtils.h /usr/include/xulrunner-1.9.1/unstable/nsContentUtils.h /usr/include/xulrunner-1.9.1/unstable/nsCoord.h /usr/include/xulrunner-1.9.1/unstable/nsCopySupport.h /usr/include/xulrunner-1.9.1/unstable/nsCppSharedAllocator.h /usr/include/xulrunner-1.9.1/unstable/nsCycleCollectionParticipant.h /usr/include/xulrunner-1.9.1/unstable/nsCycleCollector.h /usr/include/xulrunner-1.9.1/unstable/nsDOMCID.h /usr/include/xulrunner-1.9.1/unstable/nsDOMCSSDeclaration.h /usr/include/xulrunner-1.9.1/unstable/nsDOMClassInfoID.h /usr/include/xulrunner-1.9.1/unstable/nsDOMError.h /usr/include/xulrunner-1.9.1/unstable/nsDOMFile.h /usr/include/xulrunner-1.9.1/unstable/nsDOMJSUtils.h /usr/include/xulrunner-1.9.1/unstable/nsDOMScriptObjectHolder.h /usr/include/xulrunner-1.9.1/unstable/nsDOMString.h /usr/include/xulrunner-1.9.1/unstable/nsDataHashtable.h /usr/include/xulrunner-1.9.1/unstable/nsDateTimeFormatCID.h /usr/include/xulrunner-1.9.1/unstable/nsDebug.h /usr/include/xulrunner-1.9.1/unstable/nsDebugImpl.h /usr/include/xulrunner-1.9.1/unstable/nsDefaultPlugin.h /usr/include/xulrunner-1.9.1/unstable/nsDependentString.h /usr/include/xulrunner-1.9.1/unstable/nsDependentSubstring.h /usr/include/xulrunner-1.9.1/unstable/nsDeque.h /usr/include/xulrunner-1.9.1/unstable/nsDetectionConfident.h /usr/include/xulrunner-1.9.1/unstable/nsDeviceContext.h /usr/include/xulrunner-1.9.1/unstable/nsDirectoryService.h /usr/include/xulrunner-1.9.1/unstable/nsDirectoryServiceDefs.h /usr/include/xulrunner-1.9.1/unstable/nsDirectoryServiceUtils.h /usr/include/xulrunner-1.9.1/unstable/nsDisplayList.h /usr/include/xulrunner-1.9.1/unstable/nsDocAccessibleWrap.h /usr/include/xulrunner-1.9.1/unstable/nsDocLoader.h /usr/include/xulrunner-1.9.1/unstable/nsDocShellCID.h /usr/include/xulrunner-1.9.1/unstable/nsDocShellLoadTypes.h /usr/include/xulrunner-1.9.1/unstable/nsDocumentCharsetInfoCID.h /usr/include/xulrunner-1.9.1/unstable/nsDoubleHashtable.h /usr/include/xulrunner-1.9.1/unstable/nsEditorCID.h /usr/include/xulrunner-1.9.1/unstable/nsEmbedAPI.h /usr/include/xulrunner-1.9.1/unstable/nsEmbedCID.h /usr/include/xulrunner-1.9.1/unstable/nsEmbedString.h /usr/include/xulrunner-1.9.1/unstable/nsEncoderDecoderUtils.h /usr/include/xulrunner-1.9.1/unstable/nsEnumeratorUtils.h /usr/include/xulrunner-1.9.1/unstable/nsError.h /usr/include/xulrunner-1.9.1/unstable/nsEscape.h /usr/include/xulrunner-1.9.1/unstable/nsEvent.h /usr/include/xulrunner-1.9.1/unstable/nsEventDispatcher.h /usr/include/xulrunner-1.9.1/unstable/nsEventQueue.h /usr/include/xulrunner-1.9.1/unstable/nsExpirationTracker.h /usr/include/xulrunner-1.9.1/unstable/nsFastLoadService.h /usr/include/xulrunner-1.9.1/unstable/nsFixedSizeAllocator.h /usr/include/xulrunner-1.9.1/unstable/nsFont.h /usr/include/xulrunner-1.9.1/unstable/nsFrameList.h /usr/include/xulrunner-1.9.1/unstable/nsFrameManager.h /usr/include/xulrunner-1.9.1/unstable/nsFrameManagerBase.h /usr/include/xulrunner-1.9.1/unstable/nsFrameSelection.h /usr/include/xulrunner-1.9.1/unstable/nsFrameTraversal.h /usr/include/xulrunner-1.9.1/unstable/nsGTKToolkit.h /usr/include/xulrunner-1.9.1/unstable/nsGUIEvent.h /usr/include/xulrunner-1.9.1/unstable/nsGenericFactory.h /usr/include/xulrunner-1.9.1/unstable/nsGfxCIID.h /usr/include/xulrunner-1.9.1/unstable/nsGkAtomList.h /usr/include/xulrunner-1.9.1/unstable/nsGkAtoms.h /usr/include/xulrunner-1.9.1/unstable/nsGrid.h /usr/include/xulrunner-1.9.1/unstable/nsGridCell.h /usr/include/xulrunner-1.9.1/unstable/nsGridLayout2.h /usr/include/xulrunner-1.9.1/unstable/nsGridRow.h /usr/include/xulrunner-1.9.1/unstable/nsGridRowGroupLayout.h /usr/include/xulrunner-1.9.1/unstable/nsGridRowLayout.h /usr/include/xulrunner-1.9.1/unstable/nsGridRowLeafFrame.h /usr/include/xulrunner-1.9.1/unstable/nsGridRowLeafLayout.h /usr/include/xulrunner-1.9.1/unstable/nsHTMLAudioElement.h /usr/include/xulrunner-1.9.1/unstable/nsHTMLFormControlAccessible.h /usr/include/xulrunner-1.9.1/unstable/nsHTMLImageAccessibleWrap.h /usr/include/xulrunner-1.9.1/unstable/nsHTMLMediaElement.h /usr/include/xulrunner-1.9.1/unstable/nsHTMLParts.h /usr/include/xulrunner-1.9.1/unstable/nsHTMLReflowMetrics.h /usr/include/xulrunner-1.9.1/unstable/nsHTMLReflowState.h /usr/include/xulrunner-1.9.1/unstable/nsHTMLTableAccessibleWrap.h /usr/include/xulrunner-1.9.1/unstable/nsHTMLTagList.h /usr/include/xulrunner-1.9.1/unstable/nsHTMLTags.h /usr/include/xulrunner-1.9.1/unstable/nsHTMLTokens.h /usr/include/xulrunner-1.9.1/unstable/nsHTMLVideoElement.h /usr/include/xulrunner-1.9.1/unstable/nsHankakuToZenkakuCID.h /usr/include/xulrunner-1.9.1/unstable/nsHashKeys.h /usr/include/xulrunner-1.9.1/unstable/nsHashPropertyBag.h /usr/include/xulrunner-1.9.1/unstable/nsHashSets.h /usr/include/xulrunner-1.9.1/unstable/nsHashtable.h /usr/include/xulrunner-1.9.1/unstable/nsHyperTextAccessible.h /usr/include/xulrunner-1.9.1/unstable/nsHyperTextAccessibleWrap.h /usr/include/xulrunner-1.9.1/unstable/nsIASN1Object.h /usr/include/xulrunner-1.9.1/unstable/nsIASN1PrintableItem.h /usr/include/xulrunner-1.9.1/unstable/nsIASN1Sequence.h /usr/include/xulrunner-1.9.1/unstable/nsIASN1Tree.h /usr/include/xulrunner-1.9.1/unstable/nsIAboutModule.h /usr/include/xulrunner-1.9.1/unstable/nsIAccessNode.h /usr/include/xulrunner-1.9.1/unstable/nsIAccessibilityService.h /usr/include/xulrunner-1.9.1/unstable/nsIAccessible.h /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleDocument.h /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleEditableText.h /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleHyperLink.h /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleHyperText.h /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleImage.h /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleProvider.h /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleRelation.h /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleRetrieval.h /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleRole.h /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleSelectable.h /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleStates.h /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleTable.h /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleText.h /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleTreeCache.h /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleTypes.h /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleValue.h /usr/include/xulrunner-1.9.1/unstable/nsIAddonRepository.h /usr/include/xulrunner-1.9.1/unstable/nsIAlertsService.h /usr/include/xulrunner-1.9.1/unstable/nsIAllocator.h /usr/include/xulrunner-1.9.1/unstable/nsIAnnotationService.h /usr/include/xulrunner-1.9.1/unstable/nsIAnonymousContentCreator.h /usr/include/xulrunner-1.9.1/unstable/nsIAppShell.h /usr/include/xulrunner-1.9.1/unstable/nsIAppShellService.h /usr/include/xulrunner-1.9.1/unstable/nsIAppStartup.h /usr/include/xulrunner-1.9.1/unstable/nsIAppStartupNotifier.h /usr/include/xulrunner-1.9.1/unstable/nsIApplicationCache.h /usr/include/xulrunner-1.9.1/unstable/nsIApplicationCacheChannel.h /usr/include/xulrunner-1.9.1/unstable/nsIApplicationCacheContainer.h /usr/include/xulrunner-1.9.1/unstable/nsIApplicationCacheService.h /usr/include/xulrunner-1.9.1/unstable/nsIArray.h /usr/include/xulrunner-1.9.1/unstable/nsIAssociatedContentSecurity.h /usr/include/xulrunner-1.9.1/unstable/nsIAsyncInputStream.h /usr/include/xulrunner-1.9.1/unstable/nsIAsyncOutputStream.h /usr/include/xulrunner-1.9.1/unstable/nsIAsyncStreamCopier.h /usr/include/xulrunner-1.9.1/unstable/nsIAtom.h /usr/include/xulrunner-1.9.1/unstable/nsIAtomService.h /usr/include/xulrunner-1.9.1/unstable/nsIAttribute.h /usr/include/xulrunner-1.9.1/unstable/nsIAuthInformation.h /usr/include/xulrunner-1.9.1/unstable/nsIAuthModule.h /usr/include/xulrunner-1.9.1/unstable/nsIAuthPrompt.h /usr/include/xulrunner-1.9.1/unstable/nsIAuthPrompt2.h /usr/include/xulrunner-1.9.1/unstable/nsIAuthPromptAdapterFactory.h /usr/include/xulrunner-1.9.1/unstable/nsIAuthPromptCallback.h /usr/include/xulrunner-1.9.1/unstable/nsIAuthPromptProvider.h /usr/include/xulrunner-1.9.1/unstable/nsIAuthPromptWrapper.h /usr/include/xulrunner-1.9.1/unstable/nsIAutoCompleteController.h /usr/include/xulrunner-1.9.1/unstable/nsIAutoCompleteInput.h /usr/include/xulrunner-1.9.1/unstable/nsIAutoCompletePopup.h /usr/include/xulrunner-1.9.1/unstable/nsIAutoCompleteResult.h /usr/include/xulrunner-1.9.1/unstable/nsIAutoCompleteResultTypes.h /usr/include/xulrunner-1.9.1/unstable/nsIAutoCompleteSearch.h /usr/include/xulrunner-1.9.1/unstable/nsIAutoCompleteSimpleResult.h /usr/include/xulrunner-1.9.1/unstable/nsIAutoConfig.h /usr/include/xulrunner-1.9.1/unstable/nsIBadCertListener2.h /usr/include/xulrunner-1.9.1/unstable/nsIBaseDOMException.h /usr/include/xulrunner-1.9.1/unstable/nsIBaseWindow.h /usr/include/xulrunner-1.9.1/unstable/nsIBidiKeyboard.h /usr/include/xulrunner-1.9.1/unstable/nsIBinaryInputStream.h /usr/include/xulrunner-1.9.1/unstable/nsIBinaryOutputStream.h /usr/include/xulrunner-1.9.1/unstable/nsIBlocklistService.h /usr/include/xulrunner-1.9.1/unstable/nsIBoxObject.h /usr/include/xulrunner-1.9.1/unstable/nsIBrowserBoxObject.h /usr/include/xulrunner-1.9.1/unstable/nsIBrowserDOMWindow.h /usr/include/xulrunner-1.9.1/unstable/nsIBrowserHistory.h /usr/include/xulrunner-1.9.1/unstable/nsIBrowserInstance.h /usr/include/xulrunner-1.9.1/unstable/nsIBrowserSearchService.h /usr/include/xulrunner-1.9.1/unstable/nsIBufEntropyCollector.h /usr/include/xulrunner-1.9.1/unstable/nsIBufferedStreams.h /usr/include/xulrunner-1.9.1/unstable/nsIByteBuffer.h /usr/include/xulrunner-1.9.1/unstable/nsIByteRangeRequest.h /usr/include/xulrunner-1.9.1/unstable/nsICMSDecoder.h /usr/include/xulrunner-1.9.1/unstable/nsICMSEncoder.h /usr/include/xulrunner-1.9.1/unstable/nsICMSMessage.h /usr/include/xulrunner-1.9.1/unstable/nsICMSMessage2.h /usr/include/xulrunner-1.9.1/unstable/nsICMSMessageErrors.h /usr/include/xulrunner-1.9.1/unstable/nsICMSSecureMessage.h /usr/include/xulrunner-1.9.1/unstable/nsICRLInfo.h /usr/include/xulrunner-1.9.1/unstable/nsICRLManager.h /usr/include/xulrunner-1.9.1/unstable/nsICSSDeclaration.h /usr/include/xulrunner-1.9.1/unstable/nsICSSGroupRule.h /usr/include/xulrunner-1.9.1/unstable/nsICSSImportRule.h /usr/include/xulrunner-1.9.1/unstable/nsICSSLoader.h /usr/include/xulrunner-1.9.1/unstable/nsICSSLoaderObserver.h /usr/include/xulrunner-1.9.1/unstable/nsICSSNameSpaceRule.h /usr/include/xulrunner-1.9.1/unstable/nsICSSOMFactory.h /usr/include/xulrunner-1.9.1/unstable/nsICSSParser.h /usr/include/xulrunner-1.9.1/unstable/nsICSSPseudoComparator.h /usr/include/xulrunner-1.9.1/unstable/nsICSSRule.h /usr/include/xulrunner-1.9.1/unstable/nsICSSRuleList.h /usr/include/xulrunner-1.9.1/unstable/nsICSSStyleRule.h /usr/include/xulrunner-1.9.1/unstable/nsICSSStyleRuleDOMWrapper.h /usr/include/xulrunner-1.9.1/unstable/nsICSSStyleSheet.h /usr/include/xulrunner-1.9.1/unstable/nsICache.h /usr/include/xulrunner-1.9.1/unstable/nsICacheEntryDescriptor.h /usr/include/xulrunner-1.9.1/unstable/nsICacheListener.h /usr/include/xulrunner-1.9.1/unstable/nsICacheService.h /usr/include/xulrunner-1.9.1/unstable/nsICacheSession.h /usr/include/xulrunner-1.9.1/unstable/nsICacheVisitor.h /usr/include/xulrunner-1.9.1/unstable/nsICachingChannel.h /usr/include/xulrunner-1.9.1/unstable/nsICancelable.h /usr/include/xulrunner-1.9.1/unstable/nsICanvasElement.h /usr/include/xulrunner-1.9.1/unstable/nsICanvasFrame.h /usr/include/xulrunner-1.9.1/unstable/nsICanvasRenderingContextInternal.h /usr/include/xulrunner-1.9.1/unstable/nsICaseConversion.h /usr/include/xulrunner-1.9.1/unstable/nsICategoryManager.h /usr/include/xulrunner-1.9.1/unstable/nsICertOverrideService.h /usr/include/xulrunner-1.9.1/unstable/nsICertPickDialogs.h /usr/include/xulrunner-1.9.1/unstable/nsICertTree.h /usr/include/xulrunner-1.9.1/unstable/nsICertificateDialogs.h /usr/include/xulrunner-1.9.1/unstable/nsIChannel.h /usr/include/xulrunner-1.9.1/unstable/nsIChannelClassifier.h /usr/include/xulrunner-1.9.1/unstable/nsIChannelEventSink.h /usr/include/xulrunner-1.9.1/unstable/nsICharRepresentable.h /usr/include/xulrunner-1.9.1/unstable/nsICharsetAlias.h /usr/include/xulrunner-1.9.1/unstable/nsICharsetConverterManager.h /usr/include/xulrunner-1.9.1/unstable/nsICharsetDetectionAdaptor.h /usr/include/xulrunner-1.9.1/unstable/nsICharsetDetectionObserver.h /usr/include/xulrunner-1.9.1/unstable/nsICharsetDetector.h /usr/include/xulrunner-1.9.1/unstable/nsICharsetResolver.h /usr/include/xulrunner-1.9.1/unstable/nsICheckboxControlFrame.h /usr/include/xulrunner-1.9.1/unstable/nsIChromeRegistry.h /usr/include/xulrunner-1.9.1/unstable/nsICipherInfo.h /usr/include/xulrunner-1.9.1/unstable/nsICiter.h /usr/include/xulrunner-1.9.1/unstable/nsIClassInfo.h /usr/include/xulrunner-1.9.1/unstable/nsIClassInfoImpl.h /usr/include/xulrunner-1.9.1/unstable/nsIClassicPluginFactory.h /usr/include/xulrunner-1.9.1/unstable/nsIClientAuthDialogs.h /usr/include/xulrunner-1.9.1/unstable/nsIClipboard.h /usr/include/xulrunner-1.9.1/unstable/nsIClipboardCommands.h /usr/include/xulrunner-1.9.1/unstable/nsIClipboardDragDropHookList.h /usr/include/xulrunner-1.9.1/unstable/nsIClipboardDragDropHooks.h /usr/include/xulrunner-1.9.1/unstable/nsIClipboardHelper.h /usr/include/xulrunner-1.9.1/unstable/nsIClipboardOwner.h /usr/include/xulrunner-1.9.1/unstable/nsICollation.h /usr/include/xulrunner-1.9.1/unstable/nsICollection.h /usr/include/xulrunner-1.9.1/unstable/nsIComboboxControlFrame.h /usr/include/xulrunner-1.9.1/unstable/nsICommandHandler.h /usr/include/xulrunner-1.9.1/unstable/nsICommandLine.h /usr/include/xulrunner-1.9.1/unstable/nsICommandLineHandler.h /usr/include/xulrunner-1.9.1/unstable/nsICommandLineRunner.h /usr/include/xulrunner-1.9.1/unstable/nsICommandLineValidator.h /usr/include/xulrunner-1.9.1/unstable/nsICommandManager.h /usr/include/xulrunner-1.9.1/unstable/nsICommandParams.h /usr/include/xulrunner-1.9.1/unstable/nsIComponentManager.h /usr/include/xulrunner-1.9.1/unstable/nsIComponentManagerObsolete.h /usr/include/xulrunner-1.9.1/unstable/nsIComponentRegistrar.h /usr/include/xulrunner-1.9.1/unstable/nsIComputedDOMStyle.h /usr/include/xulrunner-1.9.1/unstable/nsIConsoleListener.h /usr/include/xulrunner-1.9.1/unstable/nsIConsoleMessage.h /usr/include/xulrunner-1.9.1/unstable/nsIConsoleService.h /usr/include/xulrunner-1.9.1/unstable/nsIContainerBoxObject.h /usr/include/xulrunner-1.9.1/unstable/nsIContent.h /usr/include/xulrunner-1.9.1/unstable/nsIContentDispatchChooser.h /usr/include/xulrunner-1.9.1/unstable/nsIContentFilter.h /usr/include/xulrunner-1.9.1/unstable/nsIContentHandler.h /usr/include/xulrunner-1.9.1/unstable/nsIContentIterator.h /usr/include/xulrunner-1.9.1/unstable/nsIContentPolicy.h /usr/include/xulrunner-1.9.1/unstable/nsIContentPrefService.h /usr/include/xulrunner-1.9.1/unstable/nsIContentSerializer.h /usr/include/xulrunner-1.9.1/unstable/nsIContentSink.h /usr/include/xulrunner-1.9.1/unstable/nsIContentSniffer.h /usr/include/xulrunner-1.9.1/unstable/nsIContentURIGrouper.h /usr/include/xulrunner-1.9.1/unstable/nsIContentViewer.h /usr/include/xulrunner-1.9.1/unstable/nsIContentViewerContainer.h /usr/include/xulrunner-1.9.1/unstable/nsIContentViewerEdit.h /usr/include/xulrunner-1.9.1/unstable/nsIContentViewerFile.h /usr/include/xulrunner-1.9.1/unstable/nsIContextMenuListener.h /usr/include/xulrunner-1.9.1/unstable/nsIContextMenuListener2.h /usr/include/xulrunner-1.9.1/unstable/nsIController.h /usr/include/xulrunner-1.9.1/unstable/nsIControllerCommand.h /usr/include/xulrunner-1.9.1/unstable/nsIControllerCommandTable.h /usr/include/xulrunner-1.9.1/unstable/nsIControllerContext.h /usr/include/xulrunner-1.9.1/unstable/nsIControllers.h /usr/include/xulrunner-1.9.1/unstable/nsIConverterInputStream.h /usr/include/xulrunner-1.9.1/unstable/nsIConverterOutputStream.h /usr/include/xulrunner-1.9.1/unstable/nsICookie.h /usr/include/xulrunner-1.9.1/unstable/nsICookie2.h /usr/include/xulrunner-1.9.1/unstable/nsICookieAcceptDialog.h /usr/include/xulrunner-1.9.1/unstable/nsICookieManager.h /usr/include/xulrunner-1.9.1/unstable/nsICookieManager2.h /usr/include/xulrunner-1.9.1/unstable/nsICookiePermission.h /usr/include/xulrunner-1.9.1/unstable/nsICookiePromptService.h /usr/include/xulrunner-1.9.1/unstable/nsICookieService.h /usr/include/xulrunner-1.9.1/unstable/nsICookieStorage.h /usr/include/xulrunner-1.9.1/unstable/nsICryptoFIPSInfo.h /usr/include/xulrunner-1.9.1/unstable/nsICryptoHMAC.h /usr/include/xulrunner-1.9.1/unstable/nsICryptoHash.h /usr/include/xulrunner-1.9.1/unstable/nsICurrentCharsetListener.h /usr/include/xulrunner-1.9.1/unstable/nsID.h /usr/include/xulrunner-1.9.1/unstable/nsIDNSListener.h /usr/include/xulrunner-1.9.1/unstable/nsIDNSRecord.h /usr/include/xulrunner-1.9.1/unstable/nsIDNSService.h /usr/include/xulrunner-1.9.1/unstable/nsIDOM3Attr.h /usr/include/xulrunner-1.9.1/unstable/nsIDOM3Document.h /usr/include/xulrunner-1.9.1/unstable/nsIDOM3DocumentEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIDOM3EventTarget.h /usr/include/xulrunner-1.9.1/unstable/nsIDOM3Node.h /usr/include/xulrunner-1.9.1/unstable/nsIDOM3Text.h /usr/include/xulrunner-1.9.1/unstable/nsIDOM3TypeInfo.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMAbstractView.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMAttr.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMBarProp.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMBeforeUnloadEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMCDATASection.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMCRMFObject.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSS2Properties.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSCharsetRule.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSFontFaceRule.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSImportRule.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSMediaRule.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSMozDocumentRule.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSPageRule.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSPrimitiveValue.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSRule.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSRuleList.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSStyleDeclaration.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSStyleRule.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSStyleSheet.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSUnknownRule.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSValue.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSValueList.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMCanvasRenderingContext2D.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMCharacterData.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMChromeWindow.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMClassInfo.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMClientInformation.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMClientRect.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMClientRectList.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMCommandEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMComment.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMCompositionListener.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMConstructor.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMContextMenuListener.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMCounter.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMCrypto.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMCryptoDialogs.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMDOMConfiguration.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMDOMException.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMDOMImplementation.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMDOMImplementationLS.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMDOMStringList.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMDataContainerEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMDataTransfer.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocument.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocumentCSS.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocumentEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocumentFragment.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocumentRange.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocumentStyle.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocumentTraversal.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocumentType.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocumentView.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocumentXBL.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMDragEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMDragListener.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMElementCSSInlineStyle.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMEntity.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMEntityReference.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMEventGroup.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMEventListener.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMEventTarget.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMFile.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMFileException.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMFileList.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMFocusListener.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMFormListener.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMGeoGeolocation.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMGeoPosition.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMGeoPositionCallback.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMGeoPositionCoords.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMGeoPositionError.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMGeoPositionErrorCallback.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMGeoPositionOptions.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMGetSVGDocument.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLAnchorElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLAppletElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLAreaElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLAudioElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLBRElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLBaseElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLBaseFontElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLBodyElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLButtonElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLByteRanges.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLCanvasElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLCollection.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLDListElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLDirectoryElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLDivElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLDocument.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLEmbedElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLFieldSetElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLFontElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLFormElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLFrameElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLFrameSetElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLHRElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLHeadElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLHeadingElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLHtmlElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLIFrameElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLImageElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLInputElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLIsIndexElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLLIElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLLabelElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLLegendElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLLinkElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLMapElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLMediaElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLMediaError.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLMenuElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLMetaElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLModElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLOListElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLObjectElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLOptGroupElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLOptionElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLOptionsCollection.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLParagraphElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLParamElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLPreElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLQuoteElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLScriptElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLSelectElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLSourceElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLStyleElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLTableCaptionElem.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLTableCellElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLTableColElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLTableElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLTableRowElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLTableSectionElem.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLTextAreaElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLTimeRanges.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLTitleElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLUListElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLVideoElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLVoidCallback.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMHistory.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMInstallTriggerGlobal.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMJSWindow.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMKeyEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMKeyListener.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSException.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSInput.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSLoadEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSOutput.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSParser.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSParserFilter.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSProgressEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSResourceResolver.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSSerializer.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSSerializerFilter.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMLinkStyle.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMLoadListener.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMLoadStatus.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMLoadStatusEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMLocation.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMMediaList.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMMessageEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMMimeType.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMMimeTypeArray.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMModalContentWindow.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMMouseEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMMouseListener.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMMouseMotionListener.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMMouseScrollEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMMutationEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSDocument.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSDocumentStyle.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSEditableElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSEventTarget.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSFeatureFactory.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLAnchorElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLAnchorElement2.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLAreaElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLAreaElement2.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLButtonElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLDocument.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLFormControlList.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLFormElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLFrameElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLHRElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLImageElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLInputElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLOptionCollectn.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLOptionElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLSelectElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLTextAreaElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSRGBAColor.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSRange.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSUIEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSXBLFormControl.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSXPathExpression.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNameList.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNamedNodeMap.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNavigator.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNavigatorGeolocation.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNode.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNodeFilter.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNodeIterator.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNodeList.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNodeSelector.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNotation.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMNotifyPaintEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMOfflineResourceList.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMPageTransitionEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMParser.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMPkcs11.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMPlugin.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMPluginArray.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMPopupBlockedEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMProcessingInstruction.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMProgressEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMRGBColor.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMRange.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMRangeException.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMRect.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAngle.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimPresAspRatio.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimTransformList.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedAngle.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedBoolean.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedEnum.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedInteger.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedLength.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedLengthList.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedNumber.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedNumberList.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedPathData.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedPoints.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedRect.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedString.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGCircleElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGClipPathElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGDefsElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGDescElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGDocument.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGEllipseElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGException.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGFilterElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGFilters.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGFitToViewBox.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGForeignObjectElem.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGGElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGGradientElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGImageElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGLength.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGLengthList.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGLineElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGListener.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGLocatable.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGMarkerElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGMaskElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGMatrix.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGMetadataElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGNumber.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGNumberList.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGPathElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGPathSeg.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGPathSegList.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGPatternElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGPoint.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGPointList.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGPolygonElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGPolylineElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGPresAspectRatio.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGRect.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGRectElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGSVGElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGScriptElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGStopElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGStylable.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGStyleElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGSwitchElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGSymbolElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGTSpanElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGTextContentElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGTextElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGTextPathElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGTextPositionElem.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGTitleElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGTransform.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGTransformList.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGTransformable.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGURIReference.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGUnitTypes.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGUseElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGViewSpec.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGZoomAndPan.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGZoomEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGZoomListener.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMScreen.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMScriptObjectFactory.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSerializer.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSimpleGestureEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMSmartCardEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMStorage.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMStorage2.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMStorageEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMStorageItem.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMStorageList.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMStorageManager.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMStorageWindow.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMStorageWindow_1_9_1.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMStyleSheet.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMStyleSheetList.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMText.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMTextListener.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMToString.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMTreeWalker.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMUIEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMUIListener.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMUserDataHandler.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMViewCSS.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMWindow.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMWindow2.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMWindowCollection.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMWindowInternal.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMWindowUtils.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMWorkers.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMXMLDocument.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMXPathEvaluator.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMXPathException.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMXPathExpression.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMXPathNSResolver.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMXPathNamespace.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMXPathResult.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULButtonElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULCheckboxElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULCommandDispatcher.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULCommandEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULContainerElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULControlElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULDescriptionElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULDocument.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULImageElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULLabelElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULLabeledControlEl.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULListener.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULMenuListElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULMultSelectCntrlEl.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULPopupElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULSelectCntrlEl.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULSelectCntrlItemEl.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULTextboxElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULTreeElement.h /usr/include/xulrunner-1.9.1/unstable/nsIDTD.h /usr/include/xulrunner-1.9.1/unstable/nsIDataSignatureVerifier.h /usr/include/xulrunner-1.9.1/unstable/nsIDateTimeFormat.h /usr/include/xulrunner-1.9.1/unstable/nsIDebug.h /usr/include/xulrunner-1.9.1/unstable/nsIDeviceContext.h /usr/include/xulrunner-1.9.1/unstable/nsIDeviceContextSpec.h /usr/include/xulrunner-1.9.1/unstable/nsIDialogParamBlock.h /usr/include/xulrunner-1.9.1/unstable/nsIDirIndex.h /usr/include/xulrunner-1.9.1/unstable/nsIDirIndexListener.h /usr/include/xulrunner-1.9.1/unstable/nsIDirectoryEnumerator.h /usr/include/xulrunner-1.9.1/unstable/nsIDirectoryService.h /usr/include/xulrunner-1.9.1/unstable/nsIDocCharset.h /usr/include/xulrunner-1.9.1/unstable/nsIDocShell.h /usr/include/xulrunner-1.9.1/unstable/nsIDocShellHistory.h /usr/include/xulrunner-1.9.1/unstable/nsIDocShellLoadInfo.h /usr/include/xulrunner-1.9.1/unstable/nsIDocShellTreeItem.h /usr/include/xulrunner-1.9.1/unstable/nsIDocShellTreeNode.h /usr/include/xulrunner-1.9.1/unstable/nsIDocShellTreeOwner.h /usr/include/xulrunner-1.9.1/unstable/nsIDocument.h /usr/include/xulrunner-1.9.1/unstable/nsIDocumentCharsetInfo.h /usr/include/xulrunner-1.9.1/unstable/nsIDocumentEncoder.h /usr/include/xulrunner-1.9.1/unstable/nsIDocumentLoader.h /usr/include/xulrunner-1.9.1/unstable/nsIDocumentLoaderFactory.h /usr/include/xulrunner-1.9.1/unstable/nsIDocumentObserver.h /usr/include/xulrunner-1.9.1/unstable/nsIDocumentStateListener.h /usr/include/xulrunner-1.9.1/unstable/nsIDocumentTransformer.h /usr/include/xulrunner-1.9.1/unstable/nsIDocumentViewer.h /usr/include/xulrunner-1.9.1/unstable/nsIDownload.h /usr/include/xulrunner-1.9.1/unstable/nsIDownloadHistory.h /usr/include/xulrunner-1.9.1/unstable/nsIDownloadManager.h /usr/include/xulrunner-1.9.1/unstable/nsIDownloadManagerUI.h /usr/include/xulrunner-1.9.1/unstable/nsIDownloadProgressListener.h /usr/include/xulrunner-1.9.1/unstable/nsIDownloader.h /usr/include/xulrunner-1.9.1/unstable/nsIDragDropHandler.h /usr/include/xulrunner-1.9.1/unstable/nsIDragService.h /usr/include/xulrunner-1.9.1/unstable/nsIDragSession.h /usr/include/xulrunner-1.9.1/unstable/nsIDragSessionGTK.h /usr/include/xulrunner-1.9.1/unstable/nsIDynamicContainer.h /usr/include/xulrunner-1.9.1/unstable/nsIEditActionListener.h /usr/include/xulrunner-1.9.1/unstable/nsIEditingSession.h /usr/include/xulrunner-1.9.1/unstable/nsIEditor.h /usr/include/xulrunner-1.9.1/unstable/nsIEditorBoxObject.h /usr/include/xulrunner-1.9.1/unstable/nsIEditorDocShell.h /usr/include/xulrunner-1.9.1/unstable/nsIEditorIMESupport.h /usr/include/xulrunner-1.9.1/unstable/nsIEditorLogging.h /usr/include/xulrunner-1.9.1/unstable/nsIEditorMailSupport.h /usr/include/xulrunner-1.9.1/unstable/nsIEditorObserver.h /usr/include/xulrunner-1.9.1/unstable/nsIEditorSpellCheck.h /usr/include/xulrunner-1.9.1/unstable/nsIEditorStyleSheets.h /usr/include/xulrunner-1.9.1/unstable/nsIEffectiveTLDService.h /usr/include/xulrunner-1.9.1/unstable/nsIElementObserver.h /usr/include/xulrunner-1.9.1/unstable/nsIEmbeddingSiteWindow.h /usr/include/xulrunner-1.9.1/unstable/nsIEmbeddingSiteWindow2.h /usr/include/xulrunner-1.9.1/unstable/nsIEncodedChannel.h /usr/include/xulrunner-1.9.1/unstable/nsIEntityConverter.h /usr/include/xulrunner-1.9.1/unstable/nsIEntropyCollector.h /usr/include/xulrunner-1.9.1/unstable/nsIEnumerator.h /usr/include/xulrunner-1.9.1/unstable/nsIEnvironment.h /usr/include/xulrunner-1.9.1/unstable/nsIErrorService.h /usr/include/xulrunner-1.9.1/unstable/nsIEventHandler.h /usr/include/xulrunner-1.9.1/unstable/nsIEventListener.h /usr/include/xulrunner-1.9.1/unstable/nsIEventListenerManager.h /usr/include/xulrunner-1.9.1/unstable/nsIEventStateManager.h /usr/include/xulrunner-1.9.1/unstable/nsIEventTarget.h /usr/include/xulrunner-1.9.1/unstable/nsIException.h /usr/include/xulrunner-1.9.1/unstable/nsIExceptionService.h /usr/include/xulrunner-1.9.1/unstable/nsIExpatSink.h /usr/include/xulrunner-1.9.1/unstable/nsIExtendedExpatSink.h /usr/include/xulrunner-1.9.1/unstable/nsIExtensionManager.h /usr/include/xulrunner-1.9.1/unstable/nsIExternalHelperAppService.h /usr/include/xulrunner-1.9.1/unstable/nsIExternalProtocolHandler.h /usr/include/xulrunner-1.9.1/unstable/nsIExternalProtocolService.h /usr/include/xulrunner-1.9.1/unstable/nsIFIXptr.h /usr/include/xulrunner-1.9.1/unstable/nsIFTPChannel.h /usr/include/xulrunner-1.9.1/unstable/nsIFactory.h /usr/include/xulrunner-1.9.1/unstable/nsIFastLoadFileControl.h /usr/include/xulrunner-1.9.1/unstable/nsIFastLoadService.h /usr/include/xulrunner-1.9.1/unstable/nsIFaviconService.h /usr/include/xulrunner-1.9.1/unstable/nsIFeed.h /usr/include/xulrunner-1.9.1/unstable/nsIFeedContainer.h /usr/include/xulrunner-1.9.1/unstable/nsIFeedElementBase.h /usr/include/xulrunner-1.9.1/unstable/nsIFeedEntry.h /usr/include/xulrunner-1.9.1/unstable/nsIFeedGenerator.h /usr/include/xulrunner-1.9.1/unstable/nsIFeedListener.h /usr/include/xulrunner-1.9.1/unstable/nsIFeedPerson.h /usr/include/xulrunner-1.9.1/unstable/nsIFeedProcessor.h /usr/include/xulrunner-1.9.1/unstable/nsIFeedResult.h /usr/include/xulrunner-1.9.1/unstable/nsIFeedTextConstruct.h /usr/include/xulrunner-1.9.1/unstable/nsIFile.h /usr/include/xulrunner-1.9.1/unstable/nsIFileChannel.h /usr/include/xulrunner-1.9.1/unstable/nsIFileControlElement.h /usr/include/xulrunner-1.9.1/unstable/nsIFilePicker.h /usr/include/xulrunner-1.9.1/unstable/nsIFileProtocolHandler.h /usr/include/xulrunner-1.9.1/unstable/nsIFileStreams.h /usr/include/xulrunner-1.9.1/unstable/nsIFileURL.h /usr/include/xulrunner-1.9.1/unstable/nsIFileUtilities.h /usr/include/xulrunner-1.9.1/unstable/nsIFileView.h /usr/include/xulrunner-1.9.1/unstable/nsIFind.h /usr/include/xulrunner-1.9.1/unstable/nsIFindService.h /usr/include/xulrunner-1.9.1/unstable/nsIFocusController.h /usr/include/xulrunner-1.9.1/unstable/nsIFocusEventSuppressor.h /usr/include/xulrunner-1.9.1/unstable/nsIFontEnumerator.h /usr/include/xulrunner-1.9.1/unstable/nsIFontMetrics.h /usr/include/xulrunner-1.9.1/unstable/nsIForm.h /usr/include/xulrunner-1.9.1/unstable/nsIFormControl.h /usr/include/xulrunner-1.9.1/unstable/nsIFormControlFrame.h /usr/include/xulrunner-1.9.1/unstable/nsIFormFillController.h /usr/include/xulrunner-1.9.1/unstable/nsIFormHistory.h /usr/include/xulrunner-1.9.1/unstable/nsIFormProcessor.h /usr/include/xulrunner-1.9.1/unstable/nsIFormSigningDialog.h /usr/include/xulrunner-1.9.1/unstable/nsIFormSubmission.h /usr/include/xulrunner-1.9.1/unstable/nsIFormSubmitObserver.h /usr/include/xulrunner-1.9.1/unstable/nsIFormatConverter.h /usr/include/xulrunner-1.9.1/unstable/nsIFragmentContentSink.h /usr/include/xulrunner-1.9.1/unstable/nsIFrame.h /usr/include/xulrunner-1.9.1/unstable/nsIFrameDebug.h /usr/include/xulrunner-1.9.1/unstable/nsIFrameFrame.h /usr/include/xulrunner-1.9.1/unstable/nsIFrameLoader.h /usr/include/xulrunner-1.9.1/unstable/nsIFrameSetElement.h /usr/include/xulrunner-1.9.1/unstable/nsIFrameTraversal.h /usr/include/xulrunner-1.9.1/unstable/nsIFrameUtil.h /usr/include/xulrunner-1.9.1/unstable/nsIFullScreen.h /usr/include/xulrunner-1.9.1/unstable/nsIGConfService.h /usr/include/xulrunner-1.9.1/unstable/nsIGenKeypairInfoDlg.h /usr/include/xulrunner-1.9.1/unstable/nsIGenericFactory.h /usr/include/xulrunner-1.9.1/unstable/nsIGeolocationProvider.h /usr/include/xulrunner-1.9.1/unstable/nsIGlobalHistory.h /usr/include/xulrunner-1.9.1/unstable/nsIGlobalHistory2.h /usr/include/xulrunner-1.9.1/unstable/nsIGlobalHistory3.h /usr/include/xulrunner-1.9.1/unstable/nsIGnomeVFSService.h /usr/include/xulrunner-1.9.1/unstable/nsIGridPart.h /usr/include/xulrunner-1.9.1/unstable/nsIHTMLAbsPosEditor.h /usr/include/xulrunner-1.9.1/unstable/nsIHTMLCSSStyleSheet.h /usr/include/xulrunner-1.9.1/unstable/nsIHTMLCollection.h /usr/include/xulrunner-1.9.1/unstable/nsIHTMLContentSink.h /usr/include/xulrunner-1.9.1/unstable/nsIHTMLDocument.h /usr/include/xulrunner-1.9.1/unstable/nsIHTMLEditor.h /usr/include/xulrunner-1.9.1/unstable/nsIHTMLInlineTableEditor.h /usr/include/xulrunner-1.9.1/unstable/nsIHTMLObjectResizeListener.h /usr/include/xulrunner-1.9.1/unstable/nsIHTMLObjectResizer.h /usr/include/xulrunner-1.9.1/unstable/nsIHTMLToTextSink.h /usr/include/xulrunner-1.9.1/unstable/nsIHTTPHeaderListener.h /usr/include/xulrunner-1.9.1/unstable/nsIHTTPIndex.h /usr/include/xulrunner-1.9.1/unstable/nsIHandlerService.h /usr/include/xulrunner-1.9.1/unstable/nsIHashable.h /usr/include/xulrunner-1.9.1/unstable/nsIHelperAppLauncherDialog.h /usr/include/xulrunner-1.9.1/unstable/nsIHistoryEntry.h /usr/include/xulrunner-1.9.1/unstable/nsIHttpActivityObserver.h /usr/include/xulrunner-1.9.1/unstable/nsIHttpAuthManager.h /usr/include/xulrunner-1.9.1/unstable/nsIHttpAuthenticator.h /usr/include/xulrunner-1.9.1/unstable/nsIHttpChannel.h /usr/include/xulrunner-1.9.1/unstable/nsIHttpChannelInternal.h /usr/include/xulrunner-1.9.1/unstable/nsIHttpEventSink.h /usr/include/xulrunner-1.9.1/unstable/nsIHttpHeaderVisitor.h /usr/include/xulrunner-1.9.1/unstable/nsIHttpProtocolHandler.h /usr/include/xulrunner-1.9.1/unstable/nsIID.h /usr/include/xulrunner-1.9.1/unstable/nsIIDNService.h /usr/include/xulrunner-1.9.1/unstable/nsIIFrameBoxObject.h /usr/include/xulrunner-1.9.1/unstable/nsIINIParser.h /usr/include/xulrunner-1.9.1/unstable/nsIIOService.h /usr/include/xulrunner-1.9.1/unstable/nsIIOService2.h /usr/include/xulrunner-1.9.1/unstable/nsIIconURI.h /usr/include/xulrunner-1.9.1/unstable/nsIIdentityInfo.h /usr/include/xulrunner-1.9.1/unstable/nsIIdleService.h /usr/include/xulrunner-1.9.1/unstable/nsIImage.h /usr/include/xulrunner-1.9.1/unstable/nsIImageDocument.h /usr/include/xulrunner-1.9.1/unstable/nsIImageFrame.h /usr/include/xulrunner-1.9.1/unstable/nsIImageLoadingContent.h /usr/include/xulrunner-1.9.1/unstable/nsIImageMap.h /usr/include/xulrunner-1.9.1/unstable/nsIImageToPixbuf.h /usr/include/xulrunner-1.9.1/unstable/nsIIncrementalDownload.h /usr/include/xulrunner-1.9.1/unstable/nsIInlineSpellChecker.h /usr/include/xulrunner-1.9.1/unstable/nsIInputStream.h /usr/include/xulrunner-1.9.1/unstable/nsIInputStreamChannel.h /usr/include/xulrunner-1.9.1/unstable/nsIInputStreamPump.h /usr/include/xulrunner-1.9.1/unstable/nsIInputStreamTee.h /usr/include/xulrunner-1.9.1/unstable/nsIInspectorCSSUtils.h /usr/include/xulrunner-1.9.1/unstable/nsIInterfaceInfo.h /usr/include/xulrunner-1.9.1/unstable/nsIInterfaceInfoManager.h /usr/include/xulrunner-1.9.1/unstable/nsIInterfaceRequestor.h /usr/include/xulrunner-1.9.1/unstable/nsIInterfaceRequestorUtils.h /usr/include/xulrunner-1.9.1/unstable/nsIJAR.h /usr/include/xulrunner-1.9.1/unstable/nsIJARChannel.h /usr/include/xulrunner-1.9.1/unstable/nsIJARProtocolHandler.h /usr/include/xulrunner-1.9.1/unstable/nsIJARURI.h /usr/include/xulrunner-1.9.1/unstable/nsIJRILiveConnectPIPeer.h /usr/include/xulrunner-1.9.1/unstable/nsIJRILiveConnectPlugin.h /usr/include/xulrunner-1.9.1/unstable/nsIJRIPlugin.h /usr/include/xulrunner-1.9.1/unstable/nsIJSContextStack.h /usr/include/xulrunner-1.9.1/unstable/nsIJSEventListener.h /usr/include/xulrunner-1.9.1/unstable/nsIJSNativeInitializer.h /usr/include/xulrunner-1.9.1/unstable/nsIJSON.h /usr/include/xulrunner-1.9.1/unstable/nsIJSRuntimeService.h /usr/include/xulrunner-1.9.1/unstable/nsIJVMAuthTools.h /usr/include/xulrunner-1.9.1/unstable/nsIJVMConfigManager.h /usr/include/xulrunner-1.9.1/unstable/nsIJVMConsole.h /usr/include/xulrunner-1.9.1/unstable/nsIJVMManager.h /usr/include/xulrunner-1.9.1/unstable/nsIJVMPlugin.h /usr/include/xulrunner-1.9.1/unstable/nsIJVMPluginInstance.h /usr/include/xulrunner-1.9.1/unstable/nsIJVMPluginTagInfo.h /usr/include/xulrunner-1.9.1/unstable/nsIJVMPrefsWindow.h /usr/include/xulrunner-1.9.1/unstable/nsIJVMThreadManager.h /usr/include/xulrunner-1.9.1/unstable/nsIJVMWindow.h /usr/include/xulrunner-1.9.1/unstable/nsIKeyModule.h /usr/include/xulrunner-1.9.1/unstable/nsIKeygenThread.h /usr/include/xulrunner-1.9.1/unstable/nsILanguageAtomService.h /usr/include/xulrunner-1.9.1/unstable/nsILayoutDebugger.h /usr/include/xulrunner-1.9.1/unstable/nsILayoutHistoryState.h /usr/include/xulrunner-1.9.1/unstable/nsILineBreaker.h /usr/include/xulrunner-1.9.1/unstable/nsILineInputStream.h /usr/include/xulrunner-1.9.1/unstable/nsILineIterator.h /usr/include/xulrunner-1.9.1/unstable/nsILink.h /usr/include/xulrunner-1.9.1/unstable/nsILinkHandler.h /usr/include/xulrunner-1.9.1/unstable/nsIListBoxObject.h /usr/include/xulrunner-1.9.1/unstable/nsIListControlFrame.h /usr/include/xulrunner-1.9.1/unstable/nsILiveConnectManager.h /usr/include/xulrunner-1.9.1/unstable/nsILiveconnect.h /usr/include/xulrunner-1.9.1/unstable/nsILivemarkService.h /usr/include/xulrunner-1.9.1/unstable/nsILoadContext.h /usr/include/xulrunner-1.9.1/unstable/nsILoadGroup.h /usr/include/xulrunner-1.9.1/unstable/nsILocalFile.h /usr/include/xulrunner-1.9.1/unstable/nsILocalFileWin.h /usr/include/xulrunner-1.9.1/unstable/nsILocalStore.h /usr/include/xulrunner-1.9.1/unstable/nsILocale.h /usr/include/xulrunner-1.9.1/unstable/nsILocaleService.h /usr/include/xulrunner-1.9.1/unstable/nsILoginInfo.h /usr/include/xulrunner-1.9.1/unstable/nsILoginManager.h /usr/include/xulrunner-1.9.1/unstable/nsILoginManagerIEMigrationHelper.h /usr/include/xulrunner-1.9.1/unstable/nsILoginManagerPrompter.h /usr/include/xulrunner-1.9.1/unstable/nsILoginManagerStorage.h /usr/include/xulrunner-1.9.1/unstable/nsILoginMetaInfo.h /usr/include/xulrunner-1.9.1/unstable/nsILookAndFeel.h /usr/include/xulrunner-1.9.1/unstable/nsIMIMEHeaderParam.h /usr/include/xulrunner-1.9.1/unstable/nsIMIMEInfo.h /usr/include/xulrunner-1.9.1/unstable/nsIMIMEInputStream.h /usr/include/xulrunner-1.9.1/unstable/nsIMIMEService.h /usr/include/xulrunner-1.9.1/unstable/nsIMacLocale.h /usr/include/xulrunner-1.9.1/unstable/nsIMarkupDocumentViewer.h /usr/include/xulrunner-1.9.1/unstable/nsIMemory.h /usr/include/xulrunner-1.9.1/unstable/nsIMemoryReporter.h /usr/include/xulrunner-1.9.1/unstable/nsIMenuBoxObject.h /usr/include/xulrunner-1.9.1/unstable/nsIMenuFrame.h /usr/include/xulrunner-1.9.1/unstable/nsIMenuParent.h /usr/include/xulrunner-1.9.1/unstable/nsIMenuRollup.h /usr/include/xulrunner-1.9.1/unstable/nsIMetaCharsetService.h /usr/include/xulrunner-1.9.1/unstable/nsIModifyableXPointer.h /usr/include/xulrunner-1.9.1/unstable/nsIModule.h /usr/include/xulrunner-1.9.1/unstable/nsIModuleLoader.h /usr/include/xulrunner-1.9.1/unstable/nsIMultiPartChannel.h /usr/include/xulrunner-1.9.1/unstable/nsIMultiplexInputStream.h /usr/include/xulrunner-1.9.1/unstable/nsIMutable.h /usr/include/xulrunner-1.9.1/unstable/nsIMutableArray.h /usr/include/xulrunner-1.9.1/unstable/nsIMutationObserver.h /usr/include/xulrunner-1.9.1/unstable/nsINIParser.h /usr/include/xulrunner-1.9.1/unstable/nsINSSCertCache.h /usr/include/xulrunner-1.9.1/unstable/nsINSSErrorsService.h /usr/include/xulrunner-1.9.1/unstable/nsINameSpaceManager.h /usr/include/xulrunner-1.9.1/unstable/nsINativeAppSupport.h /usr/include/xulrunner-1.9.1/unstable/nsINativeKeyBindings.h /usr/include/xulrunner-1.9.1/unstable/nsINavBookmarksService.h /usr/include/xulrunner-1.9.1/unstable/nsINavHistoryService.h /usr/include/xulrunner-1.9.1/unstable/nsINestedURI.h /usr/include/xulrunner-1.9.1/unstable/nsINetUtil.h /usr/include/xulrunner-1.9.1/unstable/nsINetworkLinkService.h /usr/include/xulrunner-1.9.1/unstable/nsINode.h /usr/include/xulrunner-1.9.1/unstable/nsINodeInfo.h /usr/include/xulrunner-1.9.1/unstable/nsINodeList.h /usr/include/xulrunner-1.9.1/unstable/nsINonBlockingAlertService.h /usr/include/xulrunner-1.9.1/unstable/nsIOCSPResponder.h /usr/include/xulrunner-1.9.1/unstable/nsIOS2Locale.h /usr/include/xulrunner-1.9.1/unstable/nsIObjectFrame.h /usr/include/xulrunner-1.9.1/unstable/nsIObjectInputStream.h /usr/include/xulrunner-1.9.1/unstable/nsIObjectLoadingContent.h /usr/include/xulrunner-1.9.1/unstable/nsIObjectOutputStream.h /usr/include/xulrunner-1.9.1/unstable/nsIObserver.h /usr/include/xulrunner-1.9.1/unstable/nsIObserverService.h /usr/include/xulrunner-1.9.1/unstable/nsIOfflineCacheUpdate.h /usr/include/xulrunner-1.9.1/unstable/nsIOptionElement.h /usr/include/xulrunner-1.9.1/unstable/nsIOutputStream.h /usr/include/xulrunner-1.9.1/unstable/nsIPK11Token.h /usr/include/xulrunner-1.9.1/unstable/nsIPK11TokenDB.h /usr/include/xulrunner-1.9.1/unstable/nsIPKCS11.h /usr/include/xulrunner-1.9.1/unstable/nsIPKCS11Module.h /usr/include/xulrunner-1.9.1/unstable/nsIPKCS11ModuleDB.h /usr/include/xulrunner-1.9.1/unstable/nsIPKCS11Slot.h /usr/include/xulrunner-1.9.1/unstable/nsIPKIParamBlock.h /usr/include/xulrunner-1.9.1/unstable/nsIPageSequenceFrame.h /usr/include/xulrunner-1.9.1/unstable/nsIParentalControlsService.h /usr/include/xulrunner-1.9.1/unstable/nsIParser.h /usr/include/xulrunner-1.9.1/unstable/nsIParserFilter.h /usr/include/xulrunner-1.9.1/unstable/nsIParserNode.h /usr/include/xulrunner-1.9.1/unstable/nsIParserService.h /usr/include/xulrunner-1.9.1/unstable/nsIPasswordManager.h /usr/include/xulrunner-1.9.1/unstable/nsIPasswordManagerInternal.h /usr/include/xulrunner-1.9.1/unstable/nsIPercentHeightObserver.h /usr/include/xulrunner-1.9.1/unstable/nsIPermission.h /usr/include/xulrunner-1.9.1/unstable/nsIPermissionManager.h /usr/include/xulrunner-1.9.1/unstable/nsIPersistentProperties2.h /usr/include/xulrunner-1.9.1/unstable/nsIPhonetic.h /usr/include/xulrunner-1.9.1/unstable/nsIPipe.h /usr/include/xulrunner-1.9.1/unstable/nsIPlaintextEditor.h /usr/include/xulrunner-1.9.1/unstable/nsIPlatformCharset.h /usr/include/xulrunner-1.9.1/unstable/nsIPlugin.h /usr/include/xulrunner-1.9.1/unstable/nsIPluginDocument.h /usr/include/xulrunner-1.9.1/unstable/nsIPluginHost.h /usr/include/xulrunner-1.9.1/unstable/nsIPluginInputStream.h /usr/include/xulrunner-1.9.1/unstable/nsIPluginInstance.h /usr/include/xulrunner-1.9.1/unstable/nsIPluginInstanceInternal.h /usr/include/xulrunner-1.9.1/unstable/nsIPluginInstanceOwner.h /usr/include/xulrunner-1.9.1/unstable/nsIPluginInstancePeer.h /usr/include/xulrunner-1.9.1/unstable/nsIPluginInstancePeer2.h /usr/include/xulrunner-1.9.1/unstable/nsIPluginManager.h /usr/include/xulrunner-1.9.1/unstable/nsIPluginManager2.h /usr/include/xulrunner-1.9.1/unstable/nsIPluginStreamInfo.h /usr/include/xulrunner-1.9.1/unstable/nsIPluginStreamListener.h /usr/include/xulrunner-1.9.1/unstable/nsIPluginTag.h /usr/include/xulrunner-1.9.1/unstable/nsIPluginTagInfo.h /usr/include/xulrunner-1.9.1/unstable/nsIPluginTagInfo2.h /usr/include/xulrunner-1.9.1/unstable/nsIPluginWidget.h /usr/include/xulrunner-1.9.1/unstable/nsIPopupBoxObject.h /usr/include/xulrunner-1.9.1/unstable/nsIPopupWindowManager.h /usr/include/xulrunner-1.9.1/unstable/nsIPosixLocale.h /usr/include/xulrunner-1.9.1/unstable/nsIPref.h /usr/include/xulrunner-1.9.1/unstable/nsIPrefBranch.h /usr/include/xulrunner-1.9.1/unstable/nsIPrefBranch2.h /usr/include/xulrunner-1.9.1/unstable/nsIPrefBranchInternal.h /usr/include/xulrunner-1.9.1/unstable/nsIPrefLocalizedString.h /usr/include/xulrunner-1.9.1/unstable/nsIPrefService.h /usr/include/xulrunner-1.9.1/unstable/nsIPrefetchService.h /usr/include/xulrunner-1.9.1/unstable/nsIPresShell.h /usr/include/xulrunner-1.9.1/unstable/nsIPrincipal.h /usr/include/xulrunner-1.9.1/unstable/nsIPrintDialogService.h /usr/include/xulrunner-1.9.1/unstable/nsIPrintOptions.h /usr/include/xulrunner-1.9.1/unstable/nsIPrintProgress.h /usr/include/xulrunner-1.9.1/unstable/nsIPrintProgressParams.h /usr/include/xulrunner-1.9.1/unstable/nsIPrintSession.h /usr/include/xulrunner-1.9.1/unstable/nsIPrintSettings.h /usr/include/xulrunner-1.9.1/unstable/nsIPrintSettingsService.h /usr/include/xulrunner-1.9.1/unstable/nsIPrintStatusFeedback.h /usr/include/xulrunner-1.9.1/unstable/nsIPrintingPrompt.h /usr/include/xulrunner-1.9.1/unstable/nsIPrintingPromptService.h /usr/include/xulrunner-1.9.1/unstable/nsIPrivateBrowsingService.h /usr/include/xulrunner-1.9.1/unstable/nsIPrivateCompositionEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIPrivateDOMEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIPrivateDOMImplementation.h /usr/include/xulrunner-1.9.1/unstable/nsIPrivateTextEvent.h /usr/include/xulrunner-1.9.1/unstable/nsIPrivateTextRange.h /usr/include/xulrunner-1.9.1/unstable/nsIProcess.h /usr/include/xulrunner-1.9.1/unstable/nsIProfile.h /usr/include/xulrunner-1.9.1/unstable/nsIProfileChangeStatus.h /usr/include/xulrunner-1.9.1/unstable/nsIProfileMigrator.h /usr/include/xulrunner-1.9.1/unstable/nsIProfileUnlocker.h /usr/include/xulrunner-1.9.1/unstable/nsIProgrammingLanguage.h /usr/include/xulrunner-1.9.1/unstable/nsIProgressEventSink.h /usr/include/xulrunner-1.9.1/unstable/nsIPrompt.h /usr/include/xulrunner-1.9.1/unstable/nsIPromptFactory.h /usr/include/xulrunner-1.9.1/unstable/nsIPromptService.h /usr/include/xulrunner-1.9.1/unstable/nsIPromptService2.h /usr/include/xulrunner-1.9.1/unstable/nsIProperties.h /usr/include/xulrunner-1.9.1/unstable/nsIProperty.h /usr/include/xulrunner-1.9.1/unstable/nsIPropertyBag.h /usr/include/xulrunner-1.9.1/unstable/nsIPropertyBag2.h /usr/include/xulrunner-1.9.1/unstable/nsIProtectedAuthThread.h /usr/include/xulrunner-1.9.1/unstable/nsIProtocolHandler.h /usr/include/xulrunner-1.9.1/unstable/nsIProtocolProxyCallback.h /usr/include/xulrunner-1.9.1/unstable/nsIProtocolProxyFilter.h /usr/include/xulrunner-1.9.1/unstable/nsIProtocolProxyService.h /usr/include/xulrunner-1.9.1/unstable/nsIProtocolProxyService2.h /usr/include/xulrunner-1.9.1/unstable/nsIProxiedChannel.h /usr/include/xulrunner-1.9.1/unstable/nsIProxiedProtocolHandler.h /usr/include/xulrunner-1.9.1/unstable/nsIProxyAutoConfig.h /usr/include/xulrunner-1.9.1/unstable/nsIProxyInfo.h /usr/include/xulrunner-1.9.1/unstable/nsIProxyObjectManager.h /usr/include/xulrunner-1.9.1/unstable/nsIRDFCompositeDataSource.h /usr/include/xulrunner-1.9.1/unstable/nsIRDFContainer.h /usr/include/xulrunner-1.9.1/unstable/nsIRDFContainerUtils.h /usr/include/xulrunner-1.9.1/unstable/nsIRDFContentSink.h /usr/include/xulrunner-1.9.1/unstable/nsIRDFDataSource.h /usr/include/xulrunner-1.9.1/unstable/nsIRDFDelegateFactory.h /usr/include/xulrunner-1.9.1/unstable/nsIRDFInMemoryDataSource.h /usr/include/xulrunner-1.9.1/unstable/nsIRDFInferDataSource.h /usr/include/xulrunner-1.9.1/unstable/nsIRDFLiteral.h /usr/include/xulrunner-1.9.1/unstable/nsIRDFNode.h /usr/include/xulrunner-1.9.1/unstable/nsIRDFObserver.h /usr/include/xulrunner-1.9.1/unstable/nsIRDFPropagatableDataSource.h /usr/include/xulrunner-1.9.1/unstable/nsIRDFPurgeableDataSource.h /usr/include/xulrunner-1.9.1/unstable/nsIRDFRemoteDataSource.h /usr/include/xulrunner-1.9.1/unstable/nsIRDFResource.h /usr/include/xulrunner-1.9.1/unstable/nsIRDFService.h /usr/include/xulrunner-1.9.1/unstable/nsIRDFXMLParser.h /usr/include/xulrunner-1.9.1/unstable/nsIRDFXMLSerializer.h /usr/include/xulrunner-1.9.1/unstable/nsIRDFXMLSink.h /usr/include/xulrunner-1.9.1/unstable/nsIRDFXMLSource.h /usr/include/xulrunner-1.9.1/unstable/nsIRadioControlElement.h /usr/include/xulrunner-1.9.1/unstable/nsIRadioControlFrame.h /usr/include/xulrunner-1.9.1/unstable/nsIRadioGroupContainer.h /usr/include/xulrunner-1.9.1/unstable/nsIRadioVisitor.h /usr/include/xulrunner-1.9.1/unstable/nsIRandomGenerator.h /usr/include/xulrunner-1.9.1/unstable/nsIRange.h /usr/include/xulrunner-1.9.1/unstable/nsIRangeUtils.h /usr/include/xulrunner-1.9.1/unstable/nsIReadConfig.h /usr/include/xulrunner-1.9.1/unstable/nsIRecentBadCertsService.h /usr/include/xulrunner-1.9.1/unstable/nsIRecyclingAllocator.h /usr/include/xulrunner-1.9.1/unstable/nsIReflowCallback.h /usr/include/xulrunner-1.9.1/unstable/nsIRefreshURI.h /usr/include/xulrunner-1.9.1/unstable/nsIRegion.h /usr/include/xulrunner-1.9.1/unstable/nsIRelativeFilePref.h /usr/include/xulrunner-1.9.1/unstable/nsIRemoteService.h /usr/include/xulrunner-1.9.1/unstable/nsIRenderingContext.h /usr/include/xulrunner-1.9.1/unstable/nsIRequest.h /usr/include/xulrunner-1.9.1/unstable/nsIRequestObserver.h /usr/include/xulrunner-1.9.1/unstable/nsIRequestObserverProxy.h /usr/include/xulrunner-1.9.1/unstable/nsIResProtocolHandler.h /usr/include/xulrunner-1.9.1/unstable/nsIResumableChannel.h /usr/include/xulrunner-1.9.1/unstable/nsIRollupListener.h /usr/include/xulrunner-1.9.1/unstable/nsIRunnable.h /usr/include/xulrunner-1.9.1/unstable/nsISAXAttributes.h /usr/include/xulrunner-1.9.1/unstable/nsISAXContentHandler.h /usr/include/xulrunner-1.9.1/unstable/nsISAXDTDHandler.h /usr/include/xulrunner-1.9.1/unstable/nsISAXErrorHandler.h /usr/include/xulrunner-1.9.1/unstable/nsISAXLexicalHandler.h /usr/include/xulrunner-1.9.1/unstable/nsISAXLocator.h /usr/include/xulrunner-1.9.1/unstable/nsISAXMutableAttributes.h /usr/include/xulrunner-1.9.1/unstable/nsISAXXMLFilter.h /usr/include/xulrunner-1.9.1/unstable/nsISAXXMLReader.h /usr/include/xulrunner-1.9.1/unstable/nsISHContainer.h /usr/include/xulrunner-1.9.1/unstable/nsISHEntry.h /usr/include/xulrunner-1.9.1/unstable/nsISHTransaction.h /usr/include/xulrunner-1.9.1/unstable/nsISHistory.h /usr/include/xulrunner-1.9.1/unstable/nsISHistoryInternal.h /usr/include/xulrunner-1.9.1/unstable/nsISHistoryListener.h /usr/include/xulrunner-1.9.1/unstable/nsISMimeCert.h /usr/include/xulrunner-1.9.1/unstable/nsISOCKSSocketInfo.h /usr/include/xulrunner-1.9.1/unstable/nsISSLCertErrorDialog.h /usr/include/xulrunner-1.9.1/unstable/nsISSLErrorListener.h /usr/include/xulrunner-1.9.1/unstable/nsISSLSocketControl.h /usr/include/xulrunner-1.9.1/unstable/nsISSLStatus.h /usr/include/xulrunner-1.9.1/unstable/nsISSLStatusProvider.h /usr/include/xulrunner-1.9.1/unstable/nsISVGTextContentMetrics.h /usr/include/xulrunner-1.9.1/unstable/nsISVGValue.h /usr/include/xulrunner-1.9.1/unstable/nsISVGValueObserver.h /usr/include/xulrunner-1.9.1/unstable/nsISVGValueUtils.h /usr/include/xulrunner-1.9.1/unstable/nsISafeOutputStream.h /usr/include/xulrunner-1.9.1/unstable/nsISaveAsCharset.h /usr/include/xulrunner-1.9.1/unstable/nsIScreen.h /usr/include/xulrunner-1.9.1/unstable/nsIScreenManager.h /usr/include/xulrunner-1.9.1/unstable/nsIScriptChannel.h /usr/include/xulrunner-1.9.1/unstable/nsIScriptContext.h /usr/include/xulrunner-1.9.1/unstable/nsIScriptElement.h /usr/include/xulrunner-1.9.1/unstable/nsIScriptError.h /usr/include/xulrunner-1.9.1/unstable/nsIScriptEventHandler.h /usr/include/xulrunner-1.9.1/unstable/nsIScriptEventManager.h /usr/include/xulrunner-1.9.1/unstable/nsIScriptExternalNameSet.h /usr/include/xulrunner-1.9.1/unstable/nsIScriptGlobalObject.h /usr/include/xulrunner-1.9.1/unstable/nsIScriptGlobalObjectOwner.h /usr/include/xulrunner-1.9.1/unstable/nsIScriptLoaderObserver.h /usr/include/xulrunner-1.9.1/unstable/nsIScriptNameSpaceManager.h /usr/include/xulrunner-1.9.1/unstable/nsIScriptObjectOwner.h /usr/include/xulrunner-1.9.1/unstable/nsIScriptObjectPrincipal.h /usr/include/xulrunner-1.9.1/unstable/nsIScriptRuntime.h /usr/include/xulrunner-1.9.1/unstable/nsIScriptSecurityManager.h /usr/include/xulrunner-1.9.1/unstable/nsIScriptTimeoutHandler.h /usr/include/xulrunner-1.9.1/unstable/nsIScriptableDateFormat.h /usr/include/xulrunner-1.9.1/unstable/nsIScriptableInputStream.h /usr/include/xulrunner-1.9.1/unstable/nsIScriptableInterfaces.h /usr/include/xulrunner-1.9.1/unstable/nsIScriptablePlugin.h /usr/include/xulrunner-1.9.1/unstable/nsIScriptableRegion.h /usr/include/xulrunner-1.9.1/unstable/nsIScriptableUConv.h /usr/include/xulrunner-1.9.1/unstable/nsIScriptableUnescapeHTML.h /usr/include/xulrunner-1.9.1/unstable/nsIScrollBoxObject.h /usr/include/xulrunner-1.9.1/unstable/nsIScrollPositionListener.h /usr/include/xulrunner-1.9.1/unstable/nsIScrollable.h /usr/include/xulrunner-1.9.1/unstable/nsIScrollableFrame.h /usr/include/xulrunner-1.9.1/unstable/nsIScrollableView.h /usr/include/xulrunner-1.9.1/unstable/nsIScrollableViewProvider.h /usr/include/xulrunner-1.9.1/unstable/nsIScrollbarMediator.h /usr/include/xulrunner-1.9.1/unstable/nsISearchContext.h /usr/include/xulrunner-1.9.1/unstable/nsISecretDecoderRing.h /usr/include/xulrunner-1.9.1/unstable/nsISecureBrowserUI.h /usr/include/xulrunner-1.9.1/unstable/nsISecureEnv.h /usr/include/xulrunner-1.9.1/unstable/nsISecureLiveconnect.h /usr/include/xulrunner-1.9.1/unstable/nsISecurityCheckedComponent.h /usr/include/xulrunner-1.9.1/unstable/nsISecurityContext.h /usr/include/xulrunner-1.9.1/unstable/nsISecurityEventSink.h /usr/include/xulrunner-1.9.1/unstable/nsISecurityInfoProvider.h /usr/include/xulrunner-1.9.1/unstable/nsISecurityPref.h /usr/include/xulrunner-1.9.1/unstable/nsISecurityWarningDialogs.h /usr/include/xulrunner-1.9.1/unstable/nsISeekableStream.h /usr/include/xulrunner-1.9.1/unstable/nsISelectControlFrame.h /usr/include/xulrunner-1.9.1/unstable/nsISelectElement.h /usr/include/xulrunner-1.9.1/unstable/nsISelection.h /usr/include/xulrunner-1.9.1/unstable/nsISelection2.h /usr/include/xulrunner-1.9.1/unstable/nsISelectionController.h /usr/include/xulrunner-1.9.1/unstable/nsISelectionDisplay.h /usr/include/xulrunner-1.9.1/unstable/nsISelectionListener.h /usr/include/xulrunner-1.9.1/unstable/nsISelectionPrivate.h /usr/include/xulrunner-1.9.1/unstable/nsISemanticUnitScanner.h /usr/include/xulrunner-1.9.1/unstable/nsISerializable.h /usr/include/xulrunner-1.9.1/unstable/nsIServerSocket.h /usr/include/xulrunner-1.9.1/unstable/nsIServiceManager.h /usr/include/xulrunner-1.9.1/unstable/nsIServiceManagerObsolete.h /usr/include/xulrunner-1.9.1/unstable/nsISidebar.h /usr/include/xulrunner-1.9.1/unstable/nsISignatureVerifier.h /usr/include/xulrunner-1.9.1/unstable/nsISimpleEnumerator.h /usr/include/xulrunner-1.9.1/unstable/nsISimpleStreamListener.h /usr/include/xulrunner-1.9.1/unstable/nsISimpleTest.h /usr/include/xulrunner-1.9.1/unstable/nsISimpleUnicharStreamFactory.h /usr/include/xulrunner-1.9.1/unstable/nsISliderListener.h /usr/include/xulrunner-1.9.1/unstable/nsISocketProvider.h /usr/include/xulrunner-1.9.1/unstable/nsISocketProviderService.h /usr/include/xulrunner-1.9.1/unstable/nsISocketTransport.h /usr/include/xulrunner-1.9.1/unstable/nsISocketTransportService.h /usr/include/xulrunner-1.9.1/unstable/nsISound.h /usr/include/xulrunner-1.9.1/unstable/nsISpellChecker.h /usr/include/xulrunner-1.9.1/unstable/nsIStandardURL.h /usr/include/xulrunner-1.9.1/unstable/nsIStatefulFrame.h /usr/include/xulrunner-1.9.1/unstable/nsIStorageStream.h /usr/include/xulrunner-1.9.1/unstable/nsIStreamBufferAccess.h /usr/include/xulrunner-1.9.1/unstable/nsIStreamCipher.h /usr/include/xulrunner-1.9.1/unstable/nsIStreamConverter.h /usr/include/xulrunner-1.9.1/unstable/nsIStreamConverterService.h /usr/include/xulrunner-1.9.1/unstable/nsIStreamListener.h /usr/include/xulrunner-1.9.1/unstable/nsIStreamListenerTee.h /usr/include/xulrunner-1.9.1/unstable/nsIStreamLoader.h /usr/include/xulrunner-1.9.1/unstable/nsIStreamTransportService.h /usr/include/xulrunner-1.9.1/unstable/nsIStringBundle.h /usr/include/xulrunner-1.9.1/unstable/nsIStringBundleOverride.h /usr/include/xulrunner-1.9.1/unstable/nsIStringCharsetDetector.h /usr/include/xulrunner-1.9.1/unstable/nsIStringEnumerator.h /usr/include/xulrunner-1.9.1/unstable/nsIStringStream.h /usr/include/xulrunner-1.9.1/unstable/nsIStyleRule.h /usr/include/xulrunner-1.9.1/unstable/nsIStyleRuleProcessor.h /usr/include/xulrunner-1.9.1/unstable/nsIStyleSheet.h /usr/include/xulrunner-1.9.1/unstable/nsIStyleSheetLinkingElement.h /usr/include/xulrunner-1.9.1/unstable/nsIStyleSheetService.h /usr/include/xulrunner-1.9.1/unstable/nsISupports.h /usr/include/xulrunner-1.9.1/unstable/nsISupportsArray.h /usr/include/xulrunner-1.9.1/unstable/nsISupportsBase.h /usr/include/xulrunner-1.9.1/unstable/nsISupportsImpl.h /usr/include/xulrunner-1.9.1/unstable/nsISupportsIterators.h /usr/include/xulrunner-1.9.1/unstable/nsISupportsObsolete.h /usr/include/xulrunner-1.9.1/unstable/nsISupportsPrimitives.h /usr/include/xulrunner-1.9.1/unstable/nsISupportsPriority.h /usr/include/xulrunner-1.9.1/unstable/nsISupportsUtils.h /usr/include/xulrunner-1.9.1/unstable/nsISymantecDebugManager.h /usr/include/xulrunner-1.9.1/unstable/nsISymantecDebugger.h /usr/include/xulrunner-1.9.1/unstable/nsISyncLoadDOMService.h /usr/include/xulrunner-1.9.1/unstable/nsISyncStreamListener.h /usr/include/xulrunner-1.9.1/unstable/nsISystemProxySettings.h /usr/include/xulrunner-1.9.1/unstable/nsITXTToHTMLConv.h /usr/include/xulrunner-1.9.1/unstable/nsITableCellLayout.h /usr/include/xulrunner-1.9.1/unstable/nsITableEditor.h /usr/include/xulrunner-1.9.1/unstable/nsITableLayout.h /usr/include/xulrunner-1.9.1/unstable/nsITaggingService.h /usr/include/xulrunner-1.9.1/unstable/nsITextControlElement.h /usr/include/xulrunner-1.9.1/unstable/nsITextControlFrame.h /usr/include/xulrunner-1.9.1/unstable/nsITextScroll.h /usr/include/xulrunner-1.9.1/unstable/nsITextService.h /usr/include/xulrunner-1.9.1/unstable/nsITextServicesDocument.h /usr/include/xulrunner-1.9.1/unstable/nsITextServicesFilter.h /usr/include/xulrunner-1.9.1/unstable/nsITextToSubURI.h /usr/include/xulrunner-1.9.1/unstable/nsITextTransform.h /usr/include/xulrunner-1.9.1/unstable/nsIThebesFontMetrics.h /usr/include/xulrunner-1.9.1/unstable/nsITheme.h /usr/include/xulrunner-1.9.1/unstable/nsIThread.h /usr/include/xulrunner-1.9.1/unstable/nsIThreadInternal.h /usr/include/xulrunner-1.9.1/unstable/nsIThreadManager.h /usr/include/xulrunner-1.9.1/unstable/nsIThreadPool.h /usr/include/xulrunner-1.9.1/unstable/nsITimelineService.h /usr/include/xulrunner-1.9.1/unstable/nsITimer.h /usr/include/xulrunner-1.9.1/unstable/nsITokenDialogs.h /usr/include/xulrunner-1.9.1/unstable/nsITokenPasswordDialogs.h /usr/include/xulrunner-1.9.1/unstable/nsITokenizer.h /usr/include/xulrunner-1.9.1/unstable/nsIToolkit.h /usr/include/xulrunner-1.9.1/unstable/nsIToolkitChromeRegistry.h /usr/include/xulrunner-1.9.1/unstable/nsIToolkitProfile.h /usr/include/xulrunner-1.9.1/unstable/nsIToolkitProfileService.h /usr/include/xulrunner-1.9.1/unstable/nsITooltipListener.h /usr/include/xulrunner-1.9.1/unstable/nsITooltipTextProvider.h /usr/include/xulrunner-1.9.1/unstable/nsITraceRefcnt.h /usr/include/xulrunner-1.9.1/unstable/nsITraceableChannel.h /usr/include/xulrunner-1.9.1/unstable/nsITransaction.h /usr/include/xulrunner-1.9.1/unstable/nsITransactionList.h /usr/include/xulrunner-1.9.1/unstable/nsITransactionListener.h /usr/include/xulrunner-1.9.1/unstable/nsITransactionManager.h /usr/include/xulrunner-1.9.1/unstable/nsITransfer.h /usr/include/xulrunner-1.9.1/unstable/nsITransferable.h /usr/include/xulrunner-1.9.1/unstable/nsITransport.h /usr/include/xulrunner-1.9.1/unstable/nsITransportSecurityInfo.h /usr/include/xulrunner-1.9.1/unstable/nsITreeBoxObject.h /usr/include/xulrunner-1.9.1/unstable/nsITreeColumns.h /usr/include/xulrunner-1.9.1/unstable/nsITreeContentView.h /usr/include/xulrunner-1.9.1/unstable/nsITreeSelection.h /usr/include/xulrunner-1.9.1/unstable/nsITreeView.h /usr/include/xulrunner-1.9.1/unstable/nsITypeAheadFind.h /usr/include/xulrunner-1.9.1/unstable/nsIUGenCategory.h /usr/include/xulrunner-1.9.1/unstable/nsIURI.h /usr/include/xulrunner-1.9.1/unstable/nsIURIChecker.h /usr/include/xulrunner-1.9.1/unstable/nsIURIClassifier.h /usr/include/xulrunner-1.9.1/unstable/nsIURIContentListener.h /usr/include/xulrunner-1.9.1/unstable/nsIURIFixup.h /usr/include/xulrunner-1.9.1/unstable/nsIURILoader.h /usr/include/xulrunner-1.9.1/unstable/nsIURIRefObject.h /usr/include/xulrunner-1.9.1/unstable/nsIURL.h /usr/include/xulrunner-1.9.1/unstable/nsIURLFormatter.h /usr/include/xulrunner-1.9.1/unstable/nsIURLParser.h /usr/include/xulrunner-1.9.1/unstable/nsIUTF8ConverterService.h /usr/include/xulrunner-1.9.1/unstable/nsIUUIDGenerator.h /usr/include/xulrunner-1.9.1/unstable/nsIUnicharBuffer.h /usr/include/xulrunner-1.9.1/unstable/nsIUnicharInputStream.h /usr/include/xulrunner-1.9.1/unstable/nsIUnicharLineInputStream.h /usr/include/xulrunner-1.9.1/unstable/nsIUnicharOutputStream.h /usr/include/xulrunner-1.9.1/unstable/nsIUnicharStreamListener.h /usr/include/xulrunner-1.9.1/unstable/nsIUnicharStreamLoader.h /usr/include/xulrunner-1.9.1/unstable/nsIUnicodeDecoder.h /usr/include/xulrunner-1.9.1/unstable/nsIUnicodeEncoder.h /usr/include/xulrunner-1.9.1/unstable/nsIUnicodeNormalizer.h /usr/include/xulrunner-1.9.1/unstable/nsIUpdateService.h /usr/include/xulrunner-1.9.1/unstable/nsIUploadChannel.h /usr/include/xulrunner-1.9.1/unstable/nsIUrlClassifierDBService.h /usr/include/xulrunner-1.9.1/unstable/nsIUrlClassifierHashCompleter.h /usr/include/xulrunner-1.9.1/unstable/nsIUrlClassifierStreamUpdater.h /usr/include/xulrunner-1.9.1/unstable/nsIUrlClassifierUtils.h /usr/include/xulrunner-1.9.1/unstable/nsIUrlListManager.h /usr/include/xulrunner-1.9.1/unstable/nsIUserCertPicker.h /usr/include/xulrunner-1.9.1/unstable/nsIUserInfo.h /usr/include/xulrunner-1.9.1/unstable/nsIVariant.h /usr/include/xulrunner-1.9.1/unstable/nsIVersionComparator.h /usr/include/xulrunner-1.9.1/unstable/nsIView.h /usr/include/xulrunner-1.9.1/unstable/nsIViewManager.h /usr/include/xulrunner-1.9.1/unstable/nsIViewObserver.h /usr/include/xulrunner-1.9.1/unstable/nsIViewSourceChannel.h /usr/include/xulrunner-1.9.1/unstable/nsIWeakReference.h /usr/include/xulrunner-1.9.1/unstable/nsIWeakReferenceUtils.h /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowser.h /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowserChrome.h /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowserChrome2.h /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowserChromeFocus.h /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowserFind.h /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowserFocus.h /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowserPersist.h /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowserPrint.h /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowserSetup.h /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowserStream.h /usr/include/xulrunner-1.9.1/unstable/nsIWebContentHandlerRegistrar.h /usr/include/xulrunner-1.9.1/unstable/nsIWebNavigation.h /usr/include/xulrunner-1.9.1/unstable/nsIWebNavigationInfo.h /usr/include/xulrunner-1.9.1/unstable/nsIWebPageDescriptor.h /usr/include/xulrunner-1.9.1/unstable/nsIWebProgress.h /usr/include/xulrunner-1.9.1/unstable/nsIWebProgressListener.h /usr/include/xulrunner-1.9.1/unstable/nsIWebProgressListener2.h /usr/include/xulrunner-1.9.1/unstable/nsIWebShellServices.h /usr/include/xulrunner-1.9.1/unstable/nsIWidget.h /usr/include/xulrunner-1.9.1/unstable/nsIWin32Locale.h /usr/include/xulrunner-1.9.1/unstable/nsIWindowCreator.h /usr/include/xulrunner-1.9.1/unstable/nsIWindowCreator2.h /usr/include/xulrunner-1.9.1/unstable/nsIWindowDataSource.h /usr/include/xulrunner-1.9.1/unstable/nsIWindowMediator.h /usr/include/xulrunner-1.9.1/unstable/nsIWindowMediatorListener.h /usr/include/xulrunner-1.9.1/unstable/nsIWindowProvider.h /usr/include/xulrunner-1.9.1/unstable/nsIWindowWatcher.h /usr/include/xulrunner-1.9.1/unstable/nsIWindowlessPlugInstPeer.h /usr/include/xulrunner-1.9.1/unstable/nsIWordBreaker.h /usr/include/xulrunner-1.9.1/unstable/nsIWritablePropertyBag.h /usr/include/xulrunner-1.9.1/unstable/nsIWritablePropertyBag2.h /usr/include/xulrunner-1.9.1/unstable/nsIWyciwygChannel.h /usr/include/xulrunner-1.9.1/unstable/nsIX509Cert.h /usr/include/xulrunner-1.9.1/unstable/nsIX509Cert2.h /usr/include/xulrunner-1.9.1/unstable/nsIX509Cert3.h /usr/include/xulrunner-1.9.1/unstable/nsIX509CertDB.h /usr/include/xulrunner-1.9.1/unstable/nsIX509CertDB2.h /usr/include/xulrunner-1.9.1/unstable/nsIX509CertList.h /usr/include/xulrunner-1.9.1/unstable/nsIX509CertValidity.h /usr/include/xulrunner-1.9.1/unstable/nsIXBLAccessible.h /usr/include/xulrunner-1.9.1/unstable/nsIXBLDocumentInfo.h /usr/include/xulrunner-1.9.1/unstable/nsIXBLService.h /usr/include/xulrunner-1.9.1/unstable/nsIXFormsUtilityService.h /usr/include/xulrunner-1.9.1/unstable/nsIXMLContentBuilder.h /usr/include/xulrunner-1.9.1/unstable/nsIXMLContentSink.h /usr/include/xulrunner-1.9.1/unstable/nsIXMLEncodingService.h /usr/include/xulrunner-1.9.1/unstable/nsIXMLHttpRequest.h /usr/include/xulrunner-1.9.1/unstable/nsIXPCScriptNotify.h /usr/include/xulrunner-1.9.1/unstable/nsIXPCScriptable.h /usr/include/xulrunner-1.9.1/unstable/nsIXPCSecurityManager.h /usr/include/xulrunner-1.9.1/unstable/nsIXPCToolsCompiler.h /usr/include/xulrunner-1.9.1/unstable/nsIXPCToolsProfiler.h /usr/include/xulrunner-1.9.1/unstable/nsIXPConnect.h /usr/include/xulrunner-1.9.1/unstable/nsIXPIDialogService.h /usr/include/xulrunner-1.9.1/unstable/nsIXPIInstallInfo.h /usr/include/xulrunner-1.9.1/unstable/nsIXPIProgressDialog.h /usr/include/xulrunner-1.9.1/unstable/nsIXPInstallManager.h /usr/include/xulrunner-1.9.1/unstable/nsIXPTLoader.h /usr/include/xulrunner-1.9.1/unstable/nsIXPathEvaluatorInternal.h /usr/include/xulrunner-1.9.1/unstable/nsIXPointer.h /usr/include/xulrunner-1.9.1/unstable/nsIXSLTException.h /usr/include/xulrunner-1.9.1/unstable/nsIXSLTProcessor.h /usr/include/xulrunner-1.9.1/unstable/nsIXSLTProcessorObsolete.h /usr/include/xulrunner-1.9.1/unstable/nsIXSLTProcessorPrivate.h /usr/include/xulrunner-1.9.1/unstable/nsIXTFAttributeHandler.h /usr/include/xulrunner-1.9.1/unstable/nsIXTFElement.h /usr/include/xulrunner-1.9.1/unstable/nsIXTFElementFactory.h /usr/include/xulrunner-1.9.1/unstable/nsIXTFElementWrapper.h /usr/include/xulrunner-1.9.1/unstable/nsIXTFPrivate.h /usr/include/xulrunner-1.9.1/unstable/nsIXTFService.h /usr/include/xulrunner-1.9.1/unstable/nsIXULAppInfo.h /usr/include/xulrunner-1.9.1/unstable/nsIXULAppInstall.h /usr/include/xulrunner-1.9.1/unstable/nsIXULBrowserWindow.h /usr/include/xulrunner-1.9.1/unstable/nsIXULBuilderListener.h /usr/include/xulrunner-1.9.1/unstable/nsIXULDocument.h /usr/include/xulrunner-1.9.1/unstable/nsIXULOverlayProvider.h /usr/include/xulrunner-1.9.1/unstable/nsIXULPrototypeCache.h /usr/include/xulrunner-1.9.1/unstable/nsIXULRuntime.h /usr/include/xulrunner-1.9.1/unstable/nsIXULSortService.h /usr/include/xulrunner-1.9.1/unstable/nsIXULTemplateBuilder.h /usr/include/xulrunner-1.9.1/unstable/nsIXULTemplateQueryProcessor.h /usr/include/xulrunner-1.9.1/unstable/nsIXULTemplateResult.h /usr/include/xulrunner-1.9.1/unstable/nsIXULTemplateRuleFilter.h /usr/include/xulrunner-1.9.1/unstable/nsIXULWindow.h /usr/include/xulrunner-1.9.1/unstable/nsIZipReader.h /usr/include/xulrunner-1.9.1/unstable/nsIZipWriter.h /usr/include/xulrunner-1.9.1/unstable/nsImageMapUtils.h /usr/include/xulrunner-1.9.1/unstable/nsInt64.h /usr/include/xulrunner-1.9.1/unstable/nsInterfaceHashtable.h /usr/include/xulrunner-1.9.1/unstable/nsInterfaceRequestorAgg.h /usr/include/xulrunner-1.9.1/unstable/nsJSPrincipals.h /usr/include/xulrunner-1.9.1/unstable/nsJSProtocolHandler.h /usr/include/xulrunner-1.9.1/unstable/nsJVMManager.h /usr/include/xulrunner-1.9.1/unstable/nsJVMPluginTagInfo.h /usr/include/xulrunner-1.9.1/unstable/nsLWBrkCIID.h /usr/include/xulrunner-1.9.1/unstable/nsLayoutCID.h /usr/include/xulrunner-1.9.1/unstable/nsLayoutErrors.h /usr/include/xulrunner-1.9.1/unstable/nsLayoutStatics.h /usr/include/xulrunner-1.9.1/unstable/nsLayoutStylesheetCache.h /usr/include/xulrunner-1.9.1/unstable/nsLayoutUtils.h /usr/include/xulrunner-1.9.1/unstable/nsLineBreaker.h /usr/include/xulrunner-1.9.1/unstable/nsLinebreakConverter.h /usr/include/xulrunner-1.9.1/unstable/nsLiteralString.h /usr/include/xulrunner-1.9.1/unstable/nsLocalFile.h /usr/include/xulrunner-1.9.1/unstable/nsLocalFileUnix.h /usr/include/xulrunner-1.9.1/unstable/nsLocaleCID.h /usr/include/xulrunner-1.9.1/unstable/nsMargin.h /usr/include/xulrunner-1.9.1/unstable/nsMathUtils.h /usr/include/xulrunner-1.9.1/unstable/nsMediaCache.h /usr/include/xulrunner-1.9.1/unstable/nsMediaDecoder.h /usr/include/xulrunner-1.9.1/unstable/nsMediaStream.h /usr/include/xulrunner-1.9.1/unstable/nsMemory.h /usr/include/xulrunner-1.9.1/unstable/nsMetaCharsetCID.h /usr/include/xulrunner-1.9.1/unstable/nsMimeTypes.h /usr/include/xulrunner-1.9.1/unstable/nsModule.h /usr/include/xulrunner-1.9.1/unstable/nsMorkReader.h /usr/include/xulrunner-1.9.1/unstable/nsMultiplexInputStream.h /usr/include/xulrunner-1.9.1/unstable/nsMutationEvent.h /usr/include/xulrunner-1.9.1/unstable/nsNativeCharsetUtils.h /usr/include/xulrunner-1.9.1/unstable/nsNetCID.h /usr/include/xulrunner-1.9.1/unstable/nsNetError.h /usr/include/xulrunner-1.9.1/unstable/nsNetStrings.h /usr/include/xulrunner-1.9.1/unstable/nsNetUtil.h /usr/include/xulrunner-1.9.1/unstable/nsNodeInfoManager.h /usr/include/xulrunner-1.9.1/unstable/nsOSHelperAppService.h /usr/include/xulrunner-1.9.1/unstable/nsObjCExceptions.h /usr/include/xulrunner-1.9.1/unstable/nsObserverService.h /usr/include/xulrunner-1.9.1/unstable/nsObsoleteModuleLoading.h /usr/include/xulrunner-1.9.1/unstable/nsOggDecoder.h /usr/include/xulrunner-1.9.1/unstable/nsPIAccessible.h /usr/include/xulrunner-1.9.1/unstable/nsPIAccessibleDocument.h /usr/include/xulrunner-1.9.1/unstable/nsPIBoxObject.h /usr/include/xulrunner-1.9.1/unstable/nsPICertNotification.h /usr/include/xulrunner-1.9.1/unstable/nsPICommandUpdater.h /usr/include/xulrunner-1.9.1/unstable/nsPIDNSService.h /usr/include/xulrunner-1.9.1/unstable/nsPIDOMEventTarget.h /usr/include/xulrunner-1.9.1/unstable/nsPIDOMStorage.h /usr/include/xulrunner-1.9.1/unstable/nsPIDOMWindow.h /usr/include/xulrunner-1.9.1/unstable/nsPIEditorTransaction.h /usr/include/xulrunner-1.9.1/unstable/nsPIPlacesDatabase.h /usr/include/xulrunner-1.9.1/unstable/nsPIPluginHost.h /usr/include/xulrunner-1.9.1/unstable/nsPIPluginInstancePeer.h /usr/include/xulrunner-1.9.1/unstable/nsPIPromptService.h /usr/include/xulrunner-1.9.1/unstable/nsPISocketTransportService.h /usr/include/xulrunner-1.9.1/unstable/nsPIWindowRoot.h /usr/include/xulrunner-1.9.1/unstable/nsPIWindowWatcher.h /usr/include/xulrunner-1.9.1/unstable/nsPLDOMEvent.h /usr/include/xulrunner-1.9.1/unstable/nsPSPrinters.h /usr/include/xulrunner-1.9.1/unstable/nsPaperPS.h /usr/include/xulrunner-1.9.1/unstable/nsParserCIID.h /usr/include/xulrunner-1.9.1/unstable/nsParserDataListener.h /usr/include/xulrunner-1.9.1/unstable/nsPluginError.h /usr/include/xulrunner-1.9.1/unstable/nsPluginLogging.h /usr/include/xulrunner-1.9.1/unstable/nsPluginNativeWindow.h /usr/include/xulrunner-1.9.1/unstable/nsPluginsCID.h /usr/include/xulrunner-1.9.1/unstable/nsPoint.h /usr/include/xulrunner-1.9.1/unstable/nsPrefsCID.h /usr/include/xulrunner-1.9.1/unstable/nsPresContext.h /usr/include/xulrunner-1.9.1/unstable/nsPresShellIterator.h /usr/include/xulrunner-1.9.1/unstable/nsPresState.h /usr/include/xulrunner-1.9.1/unstable/nsPrintfCString.h /usr/include/xulrunner-1.9.1/unstable/nsProcess.h /usr/include/xulrunner-1.9.1/unstable/nsProfileDirServiceProvider.h /usr/include/xulrunner-1.9.1/unstable/nsPromiseFlatString.h /usr/include/xulrunner-1.9.1/unstable/nsPromptUtils.h /usr/include/xulrunner-1.9.1/unstable/nsPropertyTable.h /usr/include/xulrunner-1.9.1/unstable/nsProxiedService.h /usr/include/xulrunner-1.9.1/unstable/nsProxyRelease.h /usr/include/xulrunner-1.9.1/unstable/nsQuickSort.h /usr/include/xulrunner-1.9.1/unstable/nsRDFCID.h /usr/include/xulrunner-1.9.1/unstable/nsRDFResource.h /usr/include/xulrunner-1.9.1/unstable/nsReadLine.h /usr/include/xulrunner-1.9.1/unstable/nsReadableUtils.h /usr/include/xulrunner-1.9.1/unstable/nsRect.h /usr/include/xulrunner-1.9.1/unstable/nsRecyclingAllocator.h /usr/include/xulrunner-1.9.1/unstable/nsRefPtrHashtable.h /usr/include/xulrunner-1.9.1/unstable/nsReferencedElement.h /usr/include/xulrunner-1.9.1/unstable/nsRegion.h /usr/include/xulrunner-1.9.1/unstable/nsRootAccessible.h /usr/include/xulrunner-1.9.1/unstable/nsRootAccessibleWrap.h /usr/include/xulrunner-1.9.1/unstable/nsRuleData.h /usr/include/xulrunner-1.9.1/unstable/nsRuleNode.h /usr/include/xulrunner-1.9.1/unstable/nsRuleWalker.h /usr/include/xulrunner-1.9.1/unstable/nsSAXAttributes.h /usr/include/xulrunner-1.9.1/unstable/nsSAXLocator.h /usr/include/xulrunner-1.9.1/unstable/nsSAXXMLReader.h /usr/include/xulrunner-1.9.1/unstable/nsSVGEffects.h /usr/include/xulrunner-1.9.1/unstable/nsSVGFilterInstance.h /usr/include/xulrunner-1.9.1/unstable/nsSVGForeignObjectFrame.h /usr/include/xulrunner-1.9.1/unstable/nsSVGIntegrationUtils.h /usr/include/xulrunner-1.9.1/unstable/nsSVGMatrix.h /usr/include/xulrunner-1.9.1/unstable/nsSVGNumber.h /usr/include/xulrunner-1.9.1/unstable/nsSVGPoint.h /usr/include/xulrunner-1.9.1/unstable/nsSVGRect.h /usr/include/xulrunner-1.9.1/unstable/nsSVGUtils.h /usr/include/xulrunner-1.9.1/unstable/nsScannerString.h /usr/include/xulrunner-1.9.1/unstable/nsScriptLoader.h /usr/include/xulrunner-1.9.1/unstable/nsScriptableInputStream.h /usr/include/xulrunner-1.9.1/unstable/nsServiceManagerUtils.h /usr/include/xulrunner-1.9.1/unstable/nsSize.h /usr/include/xulrunner-1.9.1/unstable/nsSoftwareUpdateIIDs.h /usr/include/xulrunner-1.9.1/unstable/nsStackWalk.h /usr/include/xulrunner-1.9.1/unstable/nsStaticAtom.h /usr/include/xulrunner-1.9.1/unstable/nsStaticComponents.h /usr/include/xulrunner-1.9.1/unstable/nsStaticNameTable.h /usr/include/xulrunner-1.9.1/unstable/nsStorageStream.h /usr/include/xulrunner-1.9.1/unstable/nsStreamUtils.h /usr/include/xulrunner-1.9.1/unstable/nsString.h /usr/include/xulrunner-1.9.1/unstable/nsStringAPI.h /usr/include/xulrunner-1.9.1/unstable/nsStringBuffer.h /usr/include/xulrunner-1.9.1/unstable/nsStringEnumerator.h /usr/include/xulrunner-1.9.1/unstable/nsStringFwd.h /usr/include/xulrunner-1.9.1/unstable/nsStringGlue.h /usr/include/xulrunner-1.9.1/unstable/nsStringIterator.h /usr/include/xulrunner-1.9.1/unstable/nsStringStream.h /usr/include/xulrunner-1.9.1/unstable/nsStringUtil.h /usr/include/xulrunner-1.9.1/unstable/nsStubDocumentObserver.h /usr/include/xulrunner-1.9.1/unstable/nsStubImageDecoderObserver.h /usr/include/xulrunner-1.9.1/unstable/nsStubMutationObserver.h /usr/include/xulrunner-1.9.1/unstable/nsStyleChangeList.h /usr/include/xulrunner-1.9.1/unstable/nsStyleConsts.h /usr/include/xulrunner-1.9.1/unstable/nsStyleContext.h /usr/include/xulrunner-1.9.1/unstable/nsStyleCoord.h /usr/include/xulrunner-1.9.1/unstable/nsStyleSet.h /usr/include/xulrunner-1.9.1/unstable/nsStyleStruct.h /usr/include/xulrunner-1.9.1/unstable/nsStyleStructFwd.h /usr/include/xulrunner-1.9.1/unstable/nsStyleStructInlines.h /usr/include/xulrunner-1.9.1/unstable/nsStyleStructList.h /usr/include/xulrunner-1.9.1/unstable/nsStyleTransformMatrix.h /usr/include/xulrunner-1.9.1/unstable/nsStyleUtil.h /usr/include/xulrunner-1.9.1/unstable/nsSubstring.h /usr/include/xulrunner-1.9.1/unstable/nsSubstringTuple.h /usr/include/xulrunner-1.9.1/unstable/nsSupportsArray.h /usr/include/xulrunner-1.9.1/unstable/nsSupportsPrimitives.h /usr/include/xulrunner-1.9.1/unstable/nsSystemPrefLog.h /usr/include/xulrunner-1.9.1/unstable/nsSystemPrefService.h /usr/include/xulrunner-1.9.1/unstable/nsTArray.h /usr/include/xulrunner-1.9.1/unstable/nsTDependentString.h /usr/include/xulrunner-1.9.1/unstable/nsTDependentSubstring.h /usr/include/xulrunner-1.9.1/unstable/nsTHashtable.h /usr/include/xulrunner-1.9.1/unstable/nsTObserverArray.h /usr/include/xulrunner-1.9.1/unstable/nsTPromiseFlatString.h /usr/include/xulrunner-1.9.1/unstable/nsTPtrArray.h /usr/include/xulrunner-1.9.1/unstable/nsTString.h /usr/include/xulrunner-1.9.1/unstable/nsTSubstring.h /usr/include/xulrunner-1.9.1/unstable/nsTSubstringTuple.h /usr/include/xulrunner-1.9.1/unstable/nsTWeakRef.h /usr/include/xulrunner-1.9.1/unstable/nsTextAccessibleWrap.h /usr/include/xulrunner-1.9.1/unstable/nsTextFormatter.h /usr/include/xulrunner-1.9.1/unstable/nsTextFragment.h /usr/include/xulrunner-1.9.1/unstable/nsTextServicesCID.h /usr/include/xulrunner-1.9.1/unstable/nsThemeConstants.h /usr/include/xulrunner-1.9.1/unstable/nsThreadUtils.h /usr/include/xulrunner-1.9.1/unstable/nsThreadUtilsInternal.h /usr/include/xulrunner-1.9.1/unstable/nsTime.h /usr/include/xulrunner-1.9.1/unstable/nsTimeStamp.h /usr/include/xulrunner-1.9.1/unstable/nsTimer.h /usr/include/xulrunner-1.9.1/unstable/nsToken.h /usr/include/xulrunner-1.9.1/unstable/nsToolkitCompsCID.h /usr/include/xulrunner-1.9.1/unstable/nsTraceRefcnt.h /usr/include/xulrunner-1.9.1/unstable/nsTraceRefcntImpl.h /usr/include/xulrunner-1.9.1/unstable/nsTransactionManagerCID.h /usr/include/xulrunner-1.9.1/unstable/nsTransform2D.h /usr/include/xulrunner-1.9.1/unstable/nsTreeColFrame.h /usr/include/xulrunner-1.9.1/unstable/nsTreeUtils.h /usr/include/xulrunner-1.9.1/unstable/nsUCVJA2CID.h /usr/include/xulrunner-1.9.1/unstable/nsUCVJACID.h /usr/include/xulrunner-1.9.1/unstable/nsUConvCID.h /usr/include/xulrunner-1.9.1/unstable/nsUCvCnCID.h /usr/include/xulrunner-1.9.1/unstable/nsUCvIBMCID.h /usr/include/xulrunner-1.9.1/unstable/nsUCvKOCID.h /usr/include/xulrunner-1.9.1/unstable/nsUCvLatinCID.h /usr/include/xulrunner-1.9.1/unstable/nsUCvMathCID.h /usr/include/xulrunner-1.9.1/unstable/nsUCvTW2CID.h /usr/include/xulrunner-1.9.1/unstable/nsUCvTWCID.h /usr/include/xulrunner-1.9.1/unstable/nsURIHashKey.h /usr/include/xulrunner-1.9.1/unstable/nsURILoader.h /usr/include/xulrunner-1.9.1/unstable/nsUTF8Utils.h /usr/include/xulrunner-1.9.1/unstable/nsUnicharUtilCIID.h /usr/include/xulrunner-1.9.1/unstable/nsUnicharUtils.h /usr/include/xulrunner-1.9.1/unstable/nsVariant.h /usr/include/xulrunner-1.9.1/unstable/nsVersionComparator.h /usr/include/xulrunner-1.9.1/unstable/nsViewsCID.h /usr/include/xulrunner-1.9.1/unstable/nsVoidArray.h /usr/include/xulrunner-1.9.1/unstable/nsWaveDecoder.h /usr/include/xulrunner-1.9.1/unstable/nsWeakPtr.h /usr/include/xulrunner-1.9.1/unstable/nsWeakReference.h /usr/include/xulrunner-1.9.1/unstable/nsWhitespaceTokenizer.h /usr/include/xulrunner-1.9.1/unstable/nsWidgetSupport.h /usr/include/xulrunner-1.9.1/unstable/nsWidgetsCID.h /usr/include/xulrunner-1.9.1/unstable/nsWrapperCache.h /usr/include/xulrunner-1.9.1/unstable/nsXBLBinding.h /usr/include/xulrunner-1.9.1/unstable/nsXMLEncodingCID.h /usr/include/xulrunner-1.9.1/unstable/nsXMLNameSpaceMap.h /usr/include/xulrunner-1.9.1/unstable/nsXPCOM.h /usr/include/xulrunner-1.9.1/unstable/nsXPCOMCID.h /usr/include/xulrunner-1.9.1/unstable/nsXPCOMCIDInternal.h /usr/include/xulrunner-1.9.1/unstable/nsXPCOMGlue.h /usr/include/xulrunner-1.9.1/unstable/nsXPCOMStrings.h /usr/include/xulrunner-1.9.1/unstable/nsXPFEComponentsCID.h /usr/include/xulrunner-1.9.1/unstable/nsXPIDLString.h /usr/include/xulrunner-1.9.1/unstable/nsXPITriggerInfo.h /usr/include/xulrunner-1.9.1/unstable/nsXPTCUtils.h /usr/include/xulrunner-1.9.1/unstable/nsXULAppAPI.h /usr/include/xulrunner-1.9.1/unstable/nsXULMenuAccessibleWrap.h /usr/include/xulrunner-1.9.1/unstable/nsXULPopupManager.h /usr/include/xulrunner-1.9.1/unstable/nsXULTreeAccessibleWrap.h /usr/include/xulrunner-1.9.1/unstable/nscore.h /usr/include/xulrunner-1.9.1/unstable/nsjvm.h /usr/include/xulrunner-1.9.1/unstable/nsplugin.h /usr/include/xulrunner-1.9.1/unstable/nsplugindefs.h /usr/include/xulrunner-1.9.1/unstable/nspluginroot.h /usr/include/xulrunner-1.9.1/unstable/nspr_md.h /usr/include/xulrunner-1.9.1/unstable/nsrootidl.h /usr/include/xulrunner-1.9.1/unstable/ogg.h /usr/include/xulrunner-1.9.1/unstable/oggplay.h /usr/include/xulrunner-1.9.1/unstable/oggplay_buffer.h /usr/include/xulrunner-1.9.1/unstable/oggplay_callback.h /usr/include/xulrunner-1.9.1/unstable/oggplay_callback_info.h /usr/include/xulrunner-1.9.1/unstable/oggplay_data.h /usr/include/xulrunner-1.9.1/unstable/oggplay_enums.h /usr/include/xulrunner-1.9.1/unstable/oggplay_private.h /usr/include/xulrunner-1.9.1/unstable/oggplay_query.h /usr/include/xulrunner-1.9.1/unstable/oggplay_reader.h /usr/include/xulrunner-1.9.1/unstable/oggplay_seek.h /usr/include/xulrunner-1.9.1/unstable/oggplay_tools.h /usr/include/xulrunner-1.9.1/unstable/oggz.h /usr/include/xulrunner-1.9.1/unstable/oggz_comments.h /usr/include/xulrunner-1.9.1/unstable/oggz_constants.h /usr/include/xulrunner-1.9.1/unstable/oggz_deprecated.h /usr/include/xulrunner-1.9.1/unstable/oggz_io.h /usr/include/xulrunner-1.9.1/unstable/oggz_off_t.h /usr/include/xulrunner-1.9.1/unstable/oggz_off_t_generated.h /usr/include/xulrunner-1.9.1/unstable/oggz_read.h /usr/include/xulrunner-1.9.1/unstable/oggz_seek.h /usr/include/xulrunner-1.9.1/unstable/oggz_stream.h /usr/include/xulrunner-1.9.1/unstable/oggz_table.h /usr/include/xulrunner-1.9.1/unstable/oggz_write.h /usr/include/xulrunner-1.9.1/unstable/oobj.h /usr/include/xulrunner-1.9.1/unstable/os_types.h /usr/include/xulrunner-1.9.1/unstable/pldhash.h /usr/include/xulrunner-1.9.1/unstable/png.h /usr/include/xulrunner-1.9.1/unstable/pngconf.h /usr/include/xulrunner-1.9.1/unstable/psSharedCore.h /usr/include/xulrunner-1.9.1/unstable/qcms.h /usr/include/xulrunner-1.9.1/unstable/qcmstypes.h /usr/include/xulrunner-1.9.1/unstable/rdf.h /usr/include/xulrunner-1.9.1/unstable/rdfIDataSource.h /usr/include/xulrunner-1.9.1/unstable/rdfISerializer.h /usr/include/xulrunner-1.9.1/unstable/rdfITripleVisitor.h /usr/include/xulrunner-1.9.1/unstable/sqlite3.h /usr/include/xulrunner-1.9.1/unstable/std_semaphore.h /usr/include/xulrunner-1.9.1/unstable/stopwatch.h /usr/include/xulrunner-1.9.1/unstable/string-template-def-char.h /usr/include/xulrunner-1.9.1/unstable/string-template-def-unichar.h /usr/include/xulrunner-1.9.1/unstable/string-template-undef.h /usr/include/xulrunner-1.9.1/unstable/sydney_audio.h /usr/include/xulrunner-1.9.1/unstable/sysmacros_md.h /usr/include/xulrunner-1.9.1/unstable/theora.h /usr/include/xulrunner-1.9.1/unstable/theoradec.h /usr/include/xulrunner-1.9.1/unstable/tree.h /usr/include/xulrunner-1.9.1/unstable/txDouble.h /usr/include/xulrunner-1.9.1/unstable/txIEXSLTRegExFunctions.h /usr/include/xulrunner-1.9.1/unstable/txIFunctionEvaluationContext.h /usr/include/xulrunner-1.9.1/unstable/txINodeSet.h /usr/include/xulrunner-1.9.1/unstable/txIXPathObject.h /usr/include/xulrunner-1.9.1/unstable/typedefs.h /usr/include/xulrunner-1.9.1/unstable/typedefs_md.h /usr/include/xulrunner-1.9.1/unstable/uconvutil.h /usr/include/xulrunner-1.9.1/unstable/widgetCore.h /usr/include/xulrunner-1.9.1/unstable/xpcIJSModuleLoader.h /usr/include/xulrunner-1.9.1/unstable/xpcIJSWeakReference.h /usr/include/xulrunner-1.9.1/unstable/xpc_map_end.h /usr/include/xulrunner-1.9.1/unstable/xpccomponents.h /usr/include/xulrunner-1.9.1/unstable/xpcexception.h /usr/include/xulrunner-1.9.1/unstable/xpcjsid.h /usr/include/xulrunner-1.9.1/unstable/xpcom-config.h /usr/include/xulrunner-1.9.1/unstable/xpt_arena.h /usr/include/xulrunner-1.9.1/unstable/xpt_struct.h /usr/include/xulrunner-1.9.1/unstable/xpt_xdr.h /usr/include/xulrunner-1.9.1/unstable/xptcall.h /usr/include/xulrunner-1.9.1/unstable/xptcstubsdecl.inc /usr/include/xulrunner-1.9.1/unstable/xptcstubsdef.inc /usr/include/xulrunner-1.9.1/unstable/xptinfo.h /usr/include/xulrunner-1.9.1/unstable/xrecore.h /usr/include/xulrunner-1.9.1/unstable/zip.h /usr/include/xulrunner-1.9.1/unstable/zipfile.h /usr/include/xulrunner-1.9.1/unstable/zipstruct.h /usr/include/xulrunner-1.9.1/unstable/zipstub.h /usr/lib /usr/lib/debug /usr/lib/debug/usr /usr/lib/debug/usr/lib64 /usr/lib/debug/usr/lib64/xulrunner-1.9.1 /usr/lib/debug/usr/lib64/xulrunner-1.9.1/components /usr/lib/debug/usr/lib64/xulrunner-1.9.1/components/libdbusservice.so.debug /usr/lib/debug/usr/lib64/xulrunner-1.9.1/components/libimgicon.so.debug /usr/lib/debug/usr/lib64/xulrunner-1.9.1/components/libmozgnome.so.debug /usr/lib/debug/usr/lib64/xulrunner-1.9.1/components/libnkgnomevfs.so.debug /usr/lib/debug/usr/lib64/xulrunner-1.9.1/components/libpyloader.so.debug /usr/lib/debug/usr/lib64/xulrunner-1.9.1/components/libxpctools.so.debug /usr/lib/debug/usr/lib64/xulrunner-1.9.1/libjavaxpcomglue.so.debug /usr/lib/debug/usr/lib64/xulrunner-1.9.1/libmozjs.so.debug /usr/lib/debug/usr/lib64/xulrunner-1.9.1/libpyxpcom.so.debug /usr/lib/debug/usr/lib64/xulrunner-1.9.1/libsqlite3.so.debug /usr/lib/debug/usr/lib64/xulrunner-1.9.1/libxpcom.so.debug /usr/lib/debug/usr/lib64/xulrunner-1.9.1/libxul.so.debug /usr/lib/debug/usr/lib64/xulrunner-1.9.1/mozilla-xremote-client.debug /usr/lib/debug/usr/lib64/xulrunner-1.9.1/plugins /usr/lib/debug/usr/lib64/xulrunner-1.9.1/plugins/libnullplugin.so.debug /usr/lib/debug/usr/lib64/xulrunner-1.9.1/plugins/libunixprintplugin.so.debug /usr/lib/debug/usr/lib64/xulrunner-1.9.1/python /usr/lib/debug/usr/lib64/xulrunner-1.9.1/python/xpcom /usr/lib/debug/usr/lib64/xulrunner-1.9.1/python/xpcom/_xpcom.so.debug /usr/lib/debug/usr/lib64/xulrunner-1.9.1/xpcshell.debug /usr/lib/debug/usr/lib64/xulrunner-1.9.1/xpidl.debug /usr/lib/debug/usr/lib64/xulrunner-1.9.1/xpt_dump.debug /usr/lib/debug/usr/lib64/xulrunner-1.9.1/xpt_link.debug /usr/lib/debug/usr/lib64/xulrunner-1.9.1/xulrunner-bin.debug /usr/lib/debug/usr/lib64/xulrunner-1.9.1/xulrunner-stub.debug /usr/lib64 /usr/lib64/pkgconfig /usr/lib64/pkgconfig/libxul-embedding-unstable.pc /usr/lib64/pkgconfig/libxul-embedding.pc /usr/lib64/pkgconfig/libxul-unstable.pc /usr/lib64/pkgconfig/libxul.pc /usr/lib64/pkgconfig/mozilla-gtkmozembed-embedding.pc /usr/lib64/pkgconfig/mozilla-gtkmozembed.pc /usr/lib64/pkgconfig/mozilla-js.pc /usr/lib64/pkgconfig/mozilla-nspr.pc /usr/lib64/pkgconfig/mozilla-nss.pc /usr/lib64/pkgconfig/mozilla-plugin.pc /usr/lib64/python2.6 /usr/lib64/python2.6/site-packages /usr/lib64/python2.6/site-packages/xpcom /usr/lib64/xulrunner-1.9.1 /usr/lib64/xulrunner-1.9.1/LICENSE /usr/lib64/xulrunner-1.9.1/README.txt /usr/lib64/xulrunner-1.9.1/chrome /usr/lib64/xulrunner-1.9.1/chrome/classic.jar /usr/lib64/xulrunner-1.9.1/chrome/classic.manifest /usr/lib64/xulrunner-1.9.1/chrome/comm.jar /usr/lib64/xulrunner-1.9.1/chrome/comm.manifest /usr/lib64/xulrunner-1.9.1/chrome/en-US.jar /usr/lib64/xulrunner-1.9.1/chrome/en-US.manifest /usr/lib64/xulrunner-1.9.1/chrome/icons /usr/lib64/xulrunner-1.9.1/chrome/icons/default /usr/lib64/xulrunner-1.9.1/chrome/icons/default/default16.png /usr/lib64/xulrunner-1.9.1/chrome/icons/default/default32.png /usr/lib64/xulrunner-1.9.1/chrome/icons/default/default48.png /usr/lib64/xulrunner-1.9.1/chrome/pippki.jar /usr/lib64/xulrunner-1.9.1/chrome/pippki.manifest /usr/lib64/xulrunner-1.9.1/chrome/toolkit.jar /usr/lib64/xulrunner-1.9.1/chrome/toolkit.manifest /usr/lib64/xulrunner-1.9.1/components /usr/lib64/xulrunner-1.9.1/components/FeedProcessor.js /usr/lib64/xulrunner-1.9.1/components/NetworkGeolocationProvider.js /usr/lib64/xulrunner-1.9.1/components/accessibility.xpt /usr/lib64/xulrunner-1.9.1/components/alerts.xpt /usr/lib64/xulrunner-1.9.1/components/appshell.xpt /usr/lib64/xulrunner-1.9.1/components/appstartup.xpt /usr/lib64/xulrunner-1.9.1/components/autocomplete.xpt /usr/lib64/xulrunner-1.9.1/components/autoconfig.xpt /usr/lib64/xulrunner-1.9.1/components/caps.xpt /usr/lib64/xulrunner-1.9.1/components/chardet.xpt /usr/lib64/xulrunner-1.9.1/components/chrome.xpt /usr/lib64/xulrunner-1.9.1/components/commandhandler.xpt /usr/lib64/xulrunner-1.9.1/components/commandlines.xpt /usr/lib64/xulrunner-1.9.1/components/composer.xpt /usr/lib64/xulrunner-1.9.1/components/content_base.xpt /usr/lib64/xulrunner-1.9.1/components/content_html.xpt /usr/lib64/xulrunner-1.9.1/components/content_htmldoc.xpt /usr/lib64/xulrunner-1.9.1/components/content_xmldoc.xpt /usr/lib64/xulrunner-1.9.1/components/content_xslt.xpt /usr/lib64/xulrunner-1.9.1/components/content_xtf.xpt /usr/lib64/xulrunner-1.9.1/components/contentprefs.xpt /usr/lib64/xulrunner-1.9.1/components/cookie.xpt /usr/lib64/xulrunner-1.9.1/components/directory.xpt /usr/lib64/xulrunner-1.9.1/components/docshell.xpt /usr/lib64/xulrunner-1.9.1/components/dom.xpt /usr/lib64/xulrunner-1.9.1/components/dom_base.xpt /usr/lib64/xulrunner-1.9.1/components/dom_canvas.xpt /usr/lib64/xulrunner-1.9.1/components/dom_core.xpt /usr/lib64/xulrunner-1.9.1/components/dom_css.xpt /usr/lib64/xulrunner-1.9.1/components/dom_events.xpt /usr/lib64/xulrunner-1.9.1/components/dom_geolocation.xpt /usr/lib64/xulrunner-1.9.1/components/dom_html.xpt /usr/lib64/xulrunner-1.9.1/components/dom_json.xpt /usr/lib64/xulrunner-1.9.1/components/dom_loadsave.xpt /usr/lib64/xulrunner-1.9.1/components/dom_offline.xpt /usr/lib64/xulrunner-1.9.1/components/dom_range.xpt /usr/lib64/xulrunner-1.9.1/components/dom_sidebar.xpt /usr/lib64/xulrunner-1.9.1/components/dom_storage.xpt /usr/lib64/xulrunner-1.9.1/components/dom_stylesheets.xpt /usr/lib64/xulrunner-1.9.1/components/dom_svg.xpt /usr/lib64/xulrunner-1.9.1/components/dom_threads.xpt /usr/lib64/xulrunner-1.9.1/components/dom_traversal.xpt /usr/lib64/xulrunner-1.9.1/components/dom_views.xpt /usr/lib64/xulrunner-1.9.1/components/dom_xbl.xpt /usr/lib64/xulrunner-1.9.1/components/dom_xpath.xpt /usr/lib64/xulrunner-1.9.1/components/dom_xul.xpt /usr/lib64/xulrunner-1.9.1/components/downloads.xpt /usr/lib64/xulrunner-1.9.1/components/editor.xpt /usr/lib64/xulrunner-1.9.1/components/embed_base.xpt /usr/lib64/xulrunner-1.9.1/components/extensions.xpt /usr/lib64/xulrunner-1.9.1/components/exthandler.xpt /usr/lib64/xulrunner-1.9.1/components/exthelper.xpt /usr/lib64/xulrunner-1.9.1/components/fastfind.xpt /usr/lib64/xulrunner-1.9.1/components/feeds.xpt /usr/lib64/xulrunner-1.9.1/components/filepicker.xpt /usr/lib64/xulrunner-1.9.1/components/find.xpt /usr/lib64/xulrunner-1.9.1/components/gfx.xpt /usr/lib64/xulrunner-1.9.1/components/htmlparser.xpt /usr/lib64/xulrunner-1.9.1/components/imgicon.xpt /usr/lib64/xulrunner-1.9.1/components/imglib2.xpt /usr/lib64/xulrunner-1.9.1/components/inspector.xpt /usr/lib64/xulrunner-1.9.1/components/intl.xpt /usr/lib64/xulrunner-1.9.1/components/jar.xpt /usr/lib64/xulrunner-1.9.1/components/jsconsole-clhandler.js /usr/lib64/xulrunner-1.9.1/components/jsdservice.xpt /usr/lib64/xulrunner-1.9.1/components/layout_base.xpt /usr/lib64/xulrunner-1.9.1/components/layout_printing.xpt /usr/lib64/xulrunner-1.9.1/components/layout_xul.xpt /usr/lib64/xulrunner-1.9.1/components/layout_xul_tree.xpt /usr/lib64/xulrunner-1.9.1/components/libdbusservice.so /usr/lib64/xulrunner-1.9.1/components/libimgicon.so /usr/lib64/xulrunner-1.9.1/components/libmozgnome.so /usr/lib64/xulrunner-1.9.1/components/libnkgnomevfs.so /usr/lib64/xulrunner-1.9.1/components/libpyloader.so /usr/lib64/xulrunner-1.9.1/components/libxpctools.so /usr/lib64/xulrunner-1.9.1/components/locale.xpt /usr/lib64/xulrunner-1.9.1/components/loginmgr.xpt /usr/lib64/xulrunner-1.9.1/components/lwbrk.xpt /usr/lib64/xulrunner-1.9.1/components/mimetype.xpt /usr/lib64/xulrunner-1.9.1/components/mozbrwsr.xpt /usr/lib64/xulrunner-1.9.1/components/mozfind.xpt /usr/lib64/xulrunner-1.9.1/components/necko.xpt /usr/lib64/xulrunner-1.9.1/components/necko_about.xpt /usr/lib64/xulrunner-1.9.1/components/necko_cache.xpt /usr/lib64/xulrunner-1.9.1/components/necko_cookie.xpt /usr/lib64/xulrunner-1.9.1/components/necko_dns.xpt /usr/lib64/xulrunner-1.9.1/components/necko_file.xpt /usr/lib64/xulrunner-1.9.1/components/necko_ftp.xpt /usr/lib64/xulrunner-1.9.1/components/necko_http.xpt /usr/lib64/xulrunner-1.9.1/components/necko_res.xpt /usr/lib64/xulrunner-1.9.1/components/necko_socket.xpt /usr/lib64/xulrunner-1.9.1/components/necko_strconv.xpt /usr/lib64/xulrunner-1.9.1/components/necko_viewsource.xpt /usr/lib64/xulrunner-1.9.1/components/nsAddonRepository.js /usr/lib64/xulrunner-1.9.1/components/nsBadCertHandler.js /usr/lib64/xulrunner-1.9.1/components/nsBlocklistService.js /usr/lib64/xulrunner-1.9.1/components/nsContentDispatchChooser.js /usr/lib64/xulrunner-1.9.1/components/nsContentPrefService.js /usr/lib64/xulrunner-1.9.1/components/nsDefaultCLH.js /usr/lib64/xulrunner-1.9.1/components/nsDownloadManagerUI.js /usr/lib64/xulrunner-1.9.1/components/nsExtensionManager.js /usr/lib64/xulrunner-1.9.1/components/nsFilePicker.js /usr/lib64/xulrunner-1.9.1/components/nsHandlerService.js /usr/lib64/xulrunner-1.9.1/components/nsHelperAppDlg.js /usr/lib64/xulrunner-1.9.1/components/nsLivemarkService.js /usr/lib64/xulrunner-1.9.1/components/nsLoginInfo.js /usr/lib64/xulrunner-1.9.1/components/nsLoginManager.js /usr/lib64/xulrunner-1.9.1/components/nsLoginManagerPrompter.js /usr/lib64/xulrunner-1.9.1/components/nsPlacesDBFlush.js /usr/lib64/xulrunner-1.9.1/components/nsProgressDialog.js /usr/lib64/xulrunner-1.9.1/components/nsProxyAutoConfig.js /usr/lib64/xulrunner-1.9.1/components/nsSearchService.js /usr/lib64/xulrunner-1.9.1/components/nsSearchSuggestions.js /usr/lib64/xulrunner-1.9.1/components/nsTaggingService.js /usr/lib64/xulrunner-1.9.1/components/nsTryToClose.js /usr/lib64/xulrunner-1.9.1/components/nsURLFormatter.js /usr/lib64/xulrunner-1.9.1/components/nsUpdateService.js /usr/lib64/xulrunner-1.9.1/components/nsUrlClassifierLib.js /usr/lib64/xulrunner-1.9.1/components/nsUrlClassifierListManager.js /usr/lib64/xulrunner-1.9.1/components/nsWebHandlerApp.js /usr/lib64/xulrunner-1.9.1/components/nsXULAppInstall.js /usr/lib64/xulrunner-1.9.1/components/oji.xpt /usr/lib64/xulrunner-1.9.1/components/parentalcontrols.xpt /usr/lib64/xulrunner-1.9.1/components/pipboot.xpt /usr/lib64/xulrunner-1.9.1/components/pipnss.xpt /usr/lib64/xulrunner-1.9.1/components/pippki.xpt /usr/lib64/xulrunner-1.9.1/components/places.xpt /usr/lib64/xulrunner-1.9.1/components/plugin.xpt /usr/lib64/xulrunner-1.9.1/components/pluginGlue.js /usr/lib64/xulrunner-1.9.1/components/pref.xpt /usr/lib64/xulrunner-1.9.1/components/prefetch.xpt /usr/lib64/xulrunner-1.9.1/components/profile.xpt /usr/lib64/xulrunner-1.9.1/components/proxyObjInst.xpt /usr/lib64/xulrunner-1.9.1/components/pyabout.py /usr/lib64/xulrunner-1.9.1/components/rdf.xpt /usr/lib64/xulrunner-1.9.1/components/satchel.xpt /usr/lib64/xulrunner-1.9.1/components/saxparser.xpt /usr/lib64/xulrunner-1.9.1/components/shistory.xpt /usr/lib64/xulrunner-1.9.1/components/spellchecker.xpt /usr/lib64/xulrunner-1.9.1/components/storage-Legacy.js /usr/lib64/xulrunner-1.9.1/components/storage-mozStorage.js /usr/lib64/xulrunner-1.9.1/components/storage.xpt /usr/lib64/xulrunner-1.9.1/components/toolkitprofile.xpt /usr/lib64/xulrunner-1.9.1/components/toolkitremote.xpt /usr/lib64/xulrunner-1.9.1/components/toolkitsearch.xpt /usr/lib64/xulrunner-1.9.1/components/txEXSLTRegExFunctions.js /usr/lib64/xulrunner-1.9.1/components/txmgr.xpt /usr/lib64/xulrunner-1.9.1/components/txtsvc.xpt /usr/lib64/xulrunner-1.9.1/components/uconv.xpt /usr/lib64/xulrunner-1.9.1/components/unicharutil.xpt /usr/lib64/xulrunner-1.9.1/components/update.xpt /usr/lib64/xulrunner-1.9.1/components/uriloader.xpt /usr/lib64/xulrunner-1.9.1/components/url-classifier.xpt /usr/lib64/xulrunner-1.9.1/components/urlformatter.xpt /usr/lib64/xulrunner-1.9.1/components/webBrowser_core.xpt /usr/lib64/xulrunner-1.9.1/components/webbrowserpersist.xpt /usr/lib64/xulrunner-1.9.1/components/webshell_idls.xpt /usr/lib64/xulrunner-1.9.1/components/widget.xpt /usr/lib64/xulrunner-1.9.1/components/windowds.xpt /usr/lib64/xulrunner-1.9.1/components/windowwatcher.xpt /usr/lib64/xulrunner-1.9.1/components/xpcom_base.xpt /usr/lib64/xulrunner-1.9.1/components/xpcom_components.xpt /usr/lib64/xulrunner-1.9.1/components/xpcom_ds.xpt /usr/lib64/xulrunner-1.9.1/components/xpcom_io.xpt /usr/lib64/xulrunner-1.9.1/components/xpcom_system.xpt /usr/lib64/xulrunner-1.9.1/components/xpcom_threads.xpt /usr/lib64/xulrunner-1.9.1/components/xpcom_xpti.xpt /usr/lib64/xulrunner-1.9.1/components/xpconnect.xpt /usr/lib64/xulrunner-1.9.1/components/xpctools.xpt /usr/lib64/xulrunner-1.9.1/components/xpinstall.xpt /usr/lib64/xulrunner-1.9.1/components/xulapp.xpt /usr/lib64/xulrunner-1.9.1/components/xulapp_setup.xpt /usr/lib64/xulrunner-1.9.1/components/xuldoc.xpt /usr/lib64/xulrunner-1.9.1/components/xultmpl.xpt /usr/lib64/xulrunner-1.9.1/components/zipwriter.xpt /usr/lib64/xulrunner-1.9.1/defaults /usr/lib64/xulrunner-1.9.1/defaults/autoconfig /usr/lib64/xulrunner-1.9.1/defaults/autoconfig/platform.js /usr/lib64/xulrunner-1.9.1/defaults/autoconfig/prefcalls.js /usr/lib64/xulrunner-1.9.1/defaults/pref /usr/lib64/xulrunner-1.9.1/defaults/pref/all-gentoo.js /usr/lib64/xulrunner-1.9.1/defaults/pref/xulrunner.js /usr/lib64/xulrunner-1.9.1/defaults/profile /usr/lib64/xulrunner-1.9.1/defaults/profile/US /usr/lib64/xulrunner-1.9.1/defaults/profile/US/chrome /usr/lib64/xulrunner-1.9.1/defaults/profile/US/chrome/userChrome-example.css /usr/lib64/xulrunner-1.9.1/defaults/profile/US/chrome/userContent-example.css /usr/lib64/xulrunner-1.9.1/defaults/profile/US/localstore.rdf /usr/lib64/xulrunner-1.9.1/defaults/profile/chrome /usr/lib64/xulrunner-1.9.1/defaults/profile/chrome/userChrome-example.css /usr/lib64/xulrunner-1.9.1/defaults/profile/chrome/userContent-example.css /usr/lib64/xulrunner-1.9.1/defaults/profile/localstore.rdf /usr/lib64/xulrunner-1.9.1/dependentlibs.list /usr/lib64/xulrunner-1.9.1/dictionaries /usr/lib64/xulrunner-1.9.1/dictionaries/en-US.aff /usr/lib64/xulrunner-1.9.1/dictionaries/en-US.dic /usr/lib64/xulrunner-1.9.1/greprefs /usr/lib64/xulrunner-1.9.1/greprefs/all.js /usr/lib64/xulrunner-1.9.1/greprefs/security-prefs.js /usr/lib64/xulrunner-1.9.1/greprefs/xpinstall.js /usr/lib64/xulrunner-1.9.1/icons /usr/lib64/xulrunner-1.9.1/icons/document.png /usr/lib64/xulrunner-1.9.1/icons/mozicon16.xpm /usr/lib64/xulrunner-1.9.1/icons/mozicon50.xpm /usr/lib64/xulrunner-1.9.1/javaxpcom.jar /usr/lib64/xulrunner-1.9.1/libjavaxpcomglue.so /usr/lib64/xulrunner-1.9.1/libmozjs.so /usr/lib64/xulrunner-1.9.1/libpyxpcom.so /usr/lib64/xulrunner-1.9.1/libsqlite3.so /usr/lib64/xulrunner-1.9.1/libxpcom.so /usr/lib64/xulrunner-1.9.1/libxul.so /usr/lib64/xulrunner-1.9.1/modules /usr/lib64/xulrunner-1.9.1/modules/DownloadLastDir.jsm /usr/lib64/xulrunner-1.9.1/modules/DownloadUtils.jsm /usr/lib64/xulrunner-1.9.1/modules/ISO8601DateUtils.jsm /usr/lib64/xulrunner-1.9.1/modules/Microformats.js /usr/lib64/xulrunner-1.9.1/modules/PlacesDBUtils.jsm /usr/lib64/xulrunner-1.9.1/modules/PluralForm.jsm /usr/lib64/xulrunner-1.9.1/modules/SpatialNavigation.js /usr/lib64/xulrunner-1.9.1/modules/WindowDraggingUtils.jsm /usr/lib64/xulrunner-1.9.1/modules/XPCOMUtils.jsm /usr/lib64/xulrunner-1.9.1/modules/debug.js /usr/lib64/xulrunner-1.9.1/modules/utils.js /usr/lib64/xulrunner-1.9.1/mozilla-xremote-client /usr/lib64/xulrunner-1.9.1/platform.ini /usr/lib64/xulrunner-1.9.1/plugins /usr/lib64/xulrunner-1.9.1/plugins/libnullplugin.so /usr/lib64/xulrunner-1.9.1/plugins/libunixprintplugin.so /usr/lib64/xulrunner-1.9.1/python /usr/lib64/xulrunner-1.9.1/python/xpcom /usr/lib64/xulrunner-1.9.1/python/xpcom/__init__.py /usr/lib64/xulrunner-1.9.1/python/xpcom/_xpcom.so /usr/lib64/xulrunner-1.9.1/python/xpcom/client /usr/lib64/xulrunner-1.9.1/python/xpcom/client/__init__.py /usr/lib64/xulrunner-1.9.1/python/xpcom/components.py /usr/lib64/xulrunner-1.9.1/python/xpcom/file.py /usr/lib64/xulrunner-1.9.1/python/xpcom/nsError.py /usr/lib64/xulrunner-1.9.1/python/xpcom/primitives.py /usr/lib64/xulrunner-1.9.1/python/xpcom/server /usr/lib64/xulrunner-1.9.1/python/xpcom/server/__init__.py /usr/lib64/xulrunner-1.9.1/python/xpcom/server/enumerator.py /usr/lib64/xulrunner-1.9.1/python/xpcom/server/factory.py /usr/lib64/xulrunner-1.9.1/python/xpcom/server/loader.py /usr/lib64/xulrunner-1.9.1/python/xpcom/server/module.py /usr/lib64/xulrunner-1.9.1/python/xpcom/server/policy.py /usr/lib64/xulrunner-1.9.1/python/xpcom/shutdown.py /usr/lib64/xulrunner-1.9.1/python/xpcom/tools /usr/lib64/xulrunner-1.9.1/python/xpcom/tools/regxpcom.py /usr/lib64/xulrunner-1.9.1/python/xpcom/tools/tracer_demo.py /usr/lib64/xulrunner-1.9.1/python/xpcom/xpcom_consts.py /usr/lib64/xulrunner-1.9.1/python/xpcom/xpt.py /usr/lib64/xulrunner-1.9.1/res /usr/lib64/xulrunner-1.9.1/res/EditorOverride.css /usr/lib64/xulrunner-1.9.1/res/arrow.gif /usr/lib64/xulrunner-1.9.1/res/arrowd.gif /usr/lib64/xulrunner-1.9.1/res/broken-image.gif /usr/lib64/xulrunner-1.9.1/res/charsetData.properties /usr/lib64/xulrunner-1.9.1/res/charsetalias.properties /usr/lib64/xulrunner-1.9.1/res/contenteditable.css /usr/lib64/xulrunner-1.9.1/res/designmode.css /usr/lib64/xulrunner-1.9.1/res/dtd /usr/lib64/xulrunner-1.9.1/res/dtd/mathml.dtd /usr/lib64/xulrunner-1.9.1/res/dtd/xhtml11.dtd /usr/lib64/xulrunner-1.9.1/res/entityTables /usr/lib64/xulrunner-1.9.1/res/entityTables/html40Latin1.properties /usr/lib64/xulrunner-1.9.1/res/entityTables/html40Special.properties /usr/lib64/xulrunner-1.9.1/res/entityTables/html40Symbols.properties /usr/lib64/xulrunner-1.9.1/res/entityTables/htmlEntityVersions.properties /usr/lib64/xulrunner-1.9.1/res/entityTables/mathml20.properties /usr/lib64/xulrunner-1.9.1/res/entityTables/transliterate.properties /usr/lib64/xulrunner-1.9.1/res/fonts /usr/lib64/xulrunner-1.9.1/res/fonts/mathfont.properties /usr/lib64/xulrunner-1.9.1/res/fonts/mathfontSTIXNonUnicode.properties /usr/lib64/xulrunner-1.9.1/res/fonts/mathfontSTIXSize1.properties /usr/lib64/xulrunner-1.9.1/res/fonts/mathfontStandardSymbolsL.properties /usr/lib64/xulrunner-1.9.1/res/fonts/mathfontUnicode.properties /usr/lib64/xulrunner-1.9.1/res/forms.css /usr/lib64/xulrunner-1.9.1/res/grabber.gif /usr/lib64/xulrunner-1.9.1/res/hiddenWindow.html /usr/lib64/xulrunner-1.9.1/res/html /usr/lib64/xulrunner-1.9.1/res/html.css /usr/lib64/xulrunner-1.9.1/res/html/folder.png /usr/lib64/xulrunner-1.9.1/res/langGroups.properties /usr/lib64/xulrunner-1.9.1/res/language.properties /usr/lib64/xulrunner-1.9.1/res/loading-image.gif /usr/lib64/xulrunner-1.9.1/res/mathml.css /usr/lib64/xulrunner-1.9.1/res/quirk.css /usr/lib64/xulrunner-1.9.1/res/svg.css /usr/lib64/xulrunner-1.9.1/res/table-add-column-after-active.gif /usr/lib64/xulrunner-1.9.1/res/table-add-column-after-hover.gif /usr/lib64/xulrunner-1.9.1/res/table-add-column-after.gif /usr/lib64/xulrunner-1.9.1/res/table-add-column-before-active.gif /usr/lib64/xulrunner-1.9.1/res/table-add-column-before-hover.gif /usr/lib64/xulrunner-1.9.1/res/table-add-column-before.gif /usr/lib64/xulrunner-1.9.1/res/table-add-row-after-active.gif /usr/lib64/xulrunner-1.9.1/res/table-add-row-after-hover.gif /usr/lib64/xulrunner-1.9.1/res/table-add-row-after.gif /usr/lib64/xulrunner-1.9.1/res/table-add-row-before-active.gif /usr/lib64/xulrunner-1.9.1/res/table-add-row-before-hover.gif /usr/lib64/xulrunner-1.9.1/res/table-add-row-before.gif /usr/lib64/xulrunner-1.9.1/res/table-remove-column-active.gif /usr/lib64/xulrunner-1.9.1/res/table-remove-column-hover.gif /usr/lib64/xulrunner-1.9.1/res/table-remove-column.gif /usr/lib64/xulrunner-1.9.1/res/table-remove-row-active.gif /usr/lib64/xulrunner-1.9.1/res/table-remove-row-hover.gif /usr/lib64/xulrunner-1.9.1/res/table-remove-row.gif /usr/lib64/xulrunner-1.9.1/res/ua.css /usr/lib64/xulrunner-1.9.1/res/unixcharset.properties /usr/lib64/xulrunner-1.9.1/res/viewsource.css /usr/lib64/xulrunner-1.9.1/run-mozilla.sh /usr/lib64/xulrunner-1.9.1/xpcshell /usr/lib64/xulrunner-1.9.1/xpidl /usr/lib64/xulrunner-1.9.1/xpt_dump /usr/lib64/xulrunner-1.9.1/xpt_link /usr/lib64/xulrunner-1.9.1/xulrunner /usr/lib64/xulrunner-1.9.1/xulrunner-bin /usr/lib64/xulrunner-1.9.1/xulrunner-stub /usr/lib64/xulrunner-devel-1.9.1 /usr/lib64/xulrunner-devel-1.9.1/bin /usr/lib64/xulrunner-devel-1.9.1/idl /usr/lib64/xulrunner-devel-1.9.1/include /usr/lib64/xulrunner-devel-1.9.1/lib /usr/lib64/xulrunner-devel-1.9.1/sdk /usr/lib64/xulrunner-devel-1.9.1/sdk/idl /usr/lib64/xulrunner-devel-1.9.1/sdk/include /usr/lib64/xulrunner-devel-1.9.1/sdk/lib /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/MozillaGlue.jar /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/MozillaInterfaces-src.jar /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/MozillaInterfaces.jar /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/libembed_base_s.a /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/libembed_base_standalone.a /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/libmozjs.so /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/libmozreg_s.a /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/libunicharutil_external_s.a /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/libxpcom.so /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/libxpcomglue.a /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/libxpcomglue_s.a /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/libxul.so /usr/lib64/xulrunner-devel-1.9.1/xpcom-config.h /usr/share /usr/share/idl /usr/share/idl/xulrunner-1.9.1 /usr/share/idl/xulrunner-1.9.1/stable /usr/share/idl/xulrunner-1.9.1/stable/domstubs.idl /usr/share/idl/xulrunner-1.9.1/stable/mozIJSSubScriptLoader.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIASN1Object.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIASN1Sequence.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIArray.idl /usr/share/idl/xulrunner-1.9.1/stable/nsICRLInfo.idl /usr/share/idl/xulrunner-1.9.1/stable/nsICategoryManager.idl /usr/share/idl/xulrunner-1.9.1/stable/nsICertificateDialogs.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIChannel.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIClassInfo.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIClipboardCommands.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIComponentManager.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIComponentRegistrar.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIContextMenuListener.idl /usr/share/idl/xulrunner-1.9.1/stable/nsICookie.idl /usr/share/idl/xulrunner-1.9.1/stable/nsICookieManager.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOM3DocumentEvent.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOM3EventTarget.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMAbstractView.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMAttr.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMBarProp.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMCDATASection.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMCSSPrimitiveValue.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMCSSRule.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMCSSRuleList.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMCSSStyleDeclaration.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMCSSStyleSheet.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMCSSValue.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMCSSValueList.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMCharacterData.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMComment.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMDOMException.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMDOMImplementation.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMDocument.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMDocumentEvent.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMDocumentFragment.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMDocumentRange.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMDocumentStyle.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMDocumentType.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMDocumentView.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMElementCSSInlineStyle.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMEntity.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMEntityReference.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMEvent.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMEventGroup.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMEventListener.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMEventTarget.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLAnchorElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLAppletElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLAreaElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLAudioElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLBRElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLBaseElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLBaseFontElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLBodyElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLButtonElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLByteRanges.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLCollection.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLDListElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLDirectoryElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLDivElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLDocument.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLEmbedElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLFieldSetElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLFontElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLFormElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLFrameElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLFrameSetElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLHRElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLHeadElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLHeadingElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLHtmlElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLIFrameElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLImageElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLInputElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLIsIndexElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLLIElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLLabelElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLLegendElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLLinkElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLMapElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLMediaElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLMediaError.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLMenuElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLMetaElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLModElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLOListElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLObjectElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLOptGroupElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLOptionElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLOptionsCollection.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLParagraphElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLParamElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLPreElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLQuoteElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLScriptElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLSelectElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLSourceElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLStyleElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLTableCaptionElem.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLTableCellElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLTableColElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLTableElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLTableRowElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLTableSectionElem.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLTextAreaElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLTimeRanges.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLTitleElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLUListElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLVideoElement.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLVoidCallback.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMMediaList.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMMouseEvent.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMMouseScrollEvent.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMNamedNodeMap.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMNode.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMNodeList.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMNotation.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMProcessingInstruction.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMProgressEvent.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMRange.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMStorage.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMStorageEvent.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMStorageItem.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMStorageList.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMStorageWindow.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMStorageWindow_1_9_1.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMStyleSheet.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMStyleSheetList.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMText.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMUIEvent.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMWindow.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMWindow2.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMWindowCollection.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMWindowUtils.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDebug.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIDirectoryService.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIEmbeddingSiteWindow.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIFactory.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIFile.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIFileURL.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIGlobalHistory.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIHashable.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIHistoryEntry.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIHttpChannel.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIHttpHeaderVisitor.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIIOService.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIInputStream.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIInterfaceRequestor.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIJSON.idl /usr/share/idl/xulrunner-1.9.1/stable/nsILoadGroup.idl /usr/share/idl/xulrunner-1.9.1/stable/nsILocalFile.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIMemory.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIModule.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIMutableArray.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIObserver.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIObserverService.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIOutputStream.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIPrefBranch.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIPrefBranch2.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIPrefLocalizedString.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIPrefService.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIProfile.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIProfileChangeStatus.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIProgrammingLanguage.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIPromptService.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIProperties.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIProtocolHandler.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIRequest.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIRequestObserver.idl /usr/share/idl/xulrunner-1.9.1/stable/nsISHistory.idl /usr/share/idl/xulrunner-1.9.1/stable/nsISHistoryListener.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIScriptableInputStream.idl /usr/share/idl/xulrunner-1.9.1/stable/nsISecurityWarningDialogs.idl /usr/share/idl/xulrunner-1.9.1/stable/nsISelection.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIServiceManager.idl /usr/share/idl/xulrunner-1.9.1/stable/nsISimpleEnumerator.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIStreamListener.idl /usr/share/idl/xulrunner-1.9.1/stable/nsISupports.idl /usr/share/idl/xulrunner-1.9.1/stable/nsISupportsPrimitives.idl /usr/share/idl/xulrunner-1.9.1/stable/nsITooltipListener.idl /usr/share/idl/xulrunner-1.9.1/stable/nsITooltipTextProvider.idl /usr/share/idl/xulrunner-1.9.1/stable/nsITraceRefcnt.idl /usr/share/idl/xulrunner-1.9.1/stable/nsITraceableChannel.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIURI.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIURIContentListener.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIURL.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIUnicharStreamListener.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIUploadChannel.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIWeakReference.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIWebBrowser.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIWebBrowserChrome.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIWebBrowserChromeFocus.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIWebBrowserFind.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIWebBrowserFocus.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIWebBrowserPrint.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIWebBrowserSetup.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIWebBrowserStream.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIWebProgress.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIWebProgressListener.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIWindowCreator.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIWindowWatcher.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIX509Cert.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIX509CertDB.idl /usr/share/idl/xulrunner-1.9.1/stable/nsIX509CertValidity.idl /usr/share/idl/xulrunner-1.9.1/stable/nsrootidl.idl /usr/share/idl/xulrunner-1.9.1/unstable /usr/share/idl/xulrunner-1.9.1/unstable/XPCIDispatch.idl /usr/share/idl/xulrunner-1.9.1/unstable/domstubs.idl /usr/share/idl/xulrunner-1.9.1/unstable/extIApplication.idl /usr/share/idl/xulrunner-1.9.1/unstable/gfxIFormats.idl /usr/share/idl/xulrunner-1.9.1/unstable/gfxIImageFrame.idl /usr/share/idl/xulrunner-1.9.1/unstable/gfxtypes.idl /usr/share/idl/xulrunner-1.9.1/unstable/imgICache.idl /usr/share/idl/xulrunner-1.9.1/unstable/imgIContainer.idl /usr/share/idl/xulrunner-1.9.1/unstable/imgIContainerObserver.idl /usr/share/idl/xulrunner-1.9.1/unstable/imgIDecoder.idl /usr/share/idl/xulrunner-1.9.1/unstable/imgIDecoderObserver.idl /usr/share/idl/xulrunner-1.9.1/unstable/imgIEncoder.idl /usr/share/idl/xulrunner-1.9.1/unstable/imgILoad.idl /usr/share/idl/xulrunner-1.9.1/unstable/imgILoader.idl /usr/share/idl/xulrunner-1.9.1/unstable/imgIRequest.idl /usr/share/idl/xulrunner-1.9.1/unstable/imgITools.idl /usr/share/idl/xulrunner-1.9.1/unstable/inICSSValueSearch.idl /usr/share/idl/xulrunner-1.9.1/unstable/inIDOMUtils.idl /usr/share/idl/xulrunner-1.9.1/unstable/inIDOMView.idl /usr/share/idl/xulrunner-1.9.1/unstable/inIDeepTreeWalker.idl /usr/share/idl/xulrunner-1.9.1/unstable/inIFlasher.idl /usr/share/idl/xulrunner-1.9.1/unstable/inISearchObserver.idl /usr/share/idl/xulrunner-1.9.1/unstable/inISearchProcess.idl /usr/share/idl/xulrunner-1.9.1/unstable/jsdIDebuggerService.idl /usr/share/idl/xulrunner-1.9.1/unstable/mozIJSSubScriptLoader.idl /usr/share/idl/xulrunner-1.9.1/unstable/mozIPersonalDictionary.idl /usr/share/idl/xulrunner-1.9.1/unstable/mozISpellCheckingEngine.idl /usr/share/idl/xulrunner-1.9.1/unstable/mozISpellI18NManager.idl /usr/share/idl/xulrunner-1.9.1/unstable/mozISpellI18NUtil.idl /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageAggregateFunction.idl /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageConnection.idl /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageDataSet.idl /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageError.idl /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageFunction.idl /usr/share/idl/xulrunner-1.9.1/unstable/mozIStoragePendingStatement.idl /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageProgressHandler.idl /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageResultSet.idl /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageRow.idl /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageService.idl /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageStatement.idl /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageStatementCallback.idl /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageStatementWrapper.idl /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageValueArray.idl /usr/share/idl/xulrunner-1.9.1/unstable/mozITXTToHTMLConv.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsCDefaultURIFixup.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsCDocShell.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsCExternalHandlerService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsCURILoader.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsCWebBrowser.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsCWebBrowserPersist.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIASN1Object.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIASN1PrintableItem.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIASN1Sequence.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIASN1Tree.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAboutModule.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessNode.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibilityService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessible.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleDocument.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleEditableText.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleEvent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleHyperLink.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleHyperText.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleImage.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleProvider.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleRelation.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleRetrieval.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleRole.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleSelectable.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleStates.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleTable.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleText.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleTreeCache.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleTypes.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleValue.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAddonRepository.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAlertsService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAnnotationService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAppShell.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAppShellService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAppStartup.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIApplicationCache.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIApplicationCacheChannel.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIApplicationCacheContainer.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIApplicationCacheService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIArray.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAssociatedContentSecurity.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAsyncInputStream.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAsyncOutputStream.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAsyncStreamCopier.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAtom.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAtomService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAuthInformation.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAuthModule.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAuthPrompt.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAuthPrompt2.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAuthPromptAdapterFactory.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAuthPromptCallback.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAuthPromptProvider.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAuthPromptWrapper.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAutoCompleteController.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAutoCompleteInput.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAutoCompletePopup.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAutoCompleteResult.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAutoCompleteResultTypes.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAutoCompleteSearch.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAutoCompleteSimpleResult.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIAutoConfig.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIBadCertListener2.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIBaseWindow.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIBidiKeyboard.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIBinaryInputStream.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIBinaryOutputStream.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIBlocklistService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIBoxObject.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIBrowserBoxObject.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIBrowserDOMWindow.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIBrowserHistory.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIBrowserInstance.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIBrowserSearchService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIBufEntropyCollector.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIBufferedStreams.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIByteRangeRequest.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICMSDecoder.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICMSEncoder.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICMSMessage.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICMSMessage2.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICMSMessageErrors.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICMSSecureMessage.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICRLInfo.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICRLManager.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICache.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICacheEntryDescriptor.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICacheListener.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICacheService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICacheSession.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICacheVisitor.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICachingChannel.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICancelable.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICategoryManager.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICertOverrideService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICertPickDialogs.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICertTree.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICertificateDialogs.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIChannel.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIChannelClassifier.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIChannelEventSink.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICharsetConverterManager.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICharsetResolver.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIChromeRegistry.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICipherInfo.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICiter.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIClassInfo.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIClassicPluginFactory.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIClientAuthDialogs.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIClipboard.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIClipboardCommands.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIClipboardDragDropHookList.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIClipboardDragDropHooks.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIClipboardHelper.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIClipboardOwner.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICollation.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICollection.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICommandHandler.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICommandLine.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICommandLineHandler.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICommandLineRunner.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICommandLineValidator.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICommandManager.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICommandParams.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIComponentManager.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIComponentManagerObsolete.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIComponentRegistrar.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIConsoleListener.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIConsoleMessage.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIConsoleService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIContainerBoxObject.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentDispatchChooser.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentFilter.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentHandler.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentPolicy.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentPrefService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentSniffer.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentURIGrouper.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentViewer.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentViewerContainer.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentViewerEdit.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentViewerFile.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIContextMenuListener.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIContextMenuListener2.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIController.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIControllerCommand.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIControllerCommandTable.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIControllerContext.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIControllers.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIConverterInputStream.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIConverterOutputStream.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICookie.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICookie2.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICookieAcceptDialog.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICookieManager.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICookieManager2.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICookiePermission.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICookiePromptService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICookieService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICookieStorage.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICryptoFIPSInfo.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICryptoHMAC.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICryptoHash.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsICurrentCharsetListener.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDNSListener.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDNSRecord.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDNSService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOM3Attr.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOM3Document.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOM3DocumentEvent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOM3EventTarget.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOM3Node.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOM3Text.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOM3TypeInfo.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMAbstractView.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMAttr.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMBarProp.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMBeforeUnloadEvent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCDATASection.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCRMFObject.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSS2Properties.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSCharsetRule.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSFontFaceRule.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSImportRule.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSMediaRule.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSMozDocumentRule.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSPageRule.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSPrimitiveValue.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSRule.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSRuleList.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSStyleDeclaration.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSStyleRule.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSStyleSheet.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSUnknownRule.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSValue.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSValueList.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCanvasRenderingContext2D.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCharacterData.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMChromeWindow.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMClientInformation.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMClientRect.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMClientRectList.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCommandEvent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMComment.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMConstructor.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCounter.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCrypto.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCryptoDialogs.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDOMConfiguration.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDOMException.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDOMImplementation.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDOMImplementationLS.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDOMStringList.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDataContainerEvent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDataTransfer.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocument.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocumentCSS.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocumentEvent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocumentFragment.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocumentRange.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocumentStyle.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocumentTraversal.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocumentType.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocumentView.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocumentXBL.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDragEvent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMElementCSSInlineStyle.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMEntity.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMEntityReference.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMEvent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMEventGroup.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMEventListener.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMEventTarget.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMFile.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMFileException.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMFileList.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMGeoGeolocation.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMGeoPosition.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMGeoPositionCallback.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMGeoPositionCoords.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMGeoPositionError.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMGeoPositionErrorCallback.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMGeoPositionOptions.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMGetSVGDocument.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLAnchorElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLAppletElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLAreaElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLAudioElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLBRElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLBaseElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLBaseFontElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLBodyElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLButtonElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLByteRanges.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLCanvasElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLCollection.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLDListElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLDirectoryElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLDivElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLDocument.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLEmbedElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLFieldSetElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLFontElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLFormElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLFrameElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLFrameSetElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLHRElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLHeadElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLHeadingElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLHtmlElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLIFrameElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLImageElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLInputElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLIsIndexElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLLIElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLLabelElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLLegendElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLLinkElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLMapElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLMediaElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLMediaError.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLMenuElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLMetaElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLModElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLOListElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLObjectElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLOptGroupElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLOptionElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLOptionsCollection.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLParagraphElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLParamElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLPreElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLQuoteElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLScriptElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLSelectElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLSourceElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLStyleElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLTableCaptionElem.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLTableCellElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLTableColElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLTableElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLTableRowElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLTableSectionElem.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLTextAreaElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLTimeRanges.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLTitleElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLUListElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLVideoElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLVoidCallback.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHistory.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMJSWindow.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMKeyEvent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSException.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSInput.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSLoadEvent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSOutput.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSParser.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSParserFilter.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSProgressEvent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSResourceResolver.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSSerializer.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSSerializerFilter.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLinkStyle.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLoadStatus.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLoadStatusEvent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLocation.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMMediaList.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMMessageEvent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMMimeType.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMMimeTypeArray.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMModalContentWindow.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMMouseEvent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMMouseScrollEvent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMMutationEvent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSDocument.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSDocumentStyle.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSEditableElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSEvent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSEventTarget.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSFeatureFactory.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLAnchorElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLAnchorElement2.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLAreaElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLAreaElement2.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLButtonElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLDocument.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLFormControlList.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLFormElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLFrameElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLHRElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLImageElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLInputElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLOptionCollectn.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLOptionElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLSelectElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLTextAreaElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSRGBAColor.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSRange.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSUIEvent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSXBLFormControl.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSXPathExpression.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNameList.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNamedNodeMap.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNavigator.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNavigatorGeolocation.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNode.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNodeFilter.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNodeIterator.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNodeList.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNodeSelector.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNotation.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNotifyPaintEvent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMOfflineResourceList.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMPageTransitionEvent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMParser.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMPkcs11.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMPlugin.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMPluginArray.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMPopupBlockedEvent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMProcessingInstruction.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMProgressEvent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMRGBColor.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMRange.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMRangeException.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMRect.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAngle.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimPresAspRatio.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimTransformList.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedAngle.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedBoolean.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedEnum.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedInteger.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedLength.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedLengthList.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedNumber.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedNumberList.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedPathData.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedPoints.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedRect.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedString.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGCircleElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGClipPathElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGDefsElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGDescElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGDocument.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGEllipseElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGEvent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGException.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGFilterElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGFilters.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGFitToViewBox.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGForeignObjectElem.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGGElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGGradientElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGImageElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGLength.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGLengthList.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGLineElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGLocatable.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGMarkerElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGMaskElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGMatrix.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGMetadataElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGNumber.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGNumberList.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGPathElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGPathSeg.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGPathSegList.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGPatternElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGPoint.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGPointList.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGPolygonElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGPolylineElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGPresAspectRatio.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGRect.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGRectElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGSVGElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGScriptElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGStopElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGStylable.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGStyleElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGSwitchElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGSymbolElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGTSpanElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGTextContentElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGTextElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGTextPathElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGTextPositionElem.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGTitleElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGTransform.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGTransformList.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGTransformable.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGURIReference.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGUnitTypes.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGUseElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGViewSpec.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGZoomAndPan.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGZoomEvent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMScreen.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSerializer.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSimpleGestureEvent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSmartCardEvent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStorage.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStorage2.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStorageEvent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStorageItem.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStorageList.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStorageManager.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStorageWindow.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStorageWindow_1_9_1.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStyleSheet.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStyleSheetList.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMText.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMToString.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMTreeWalker.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMUIEvent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMUserDataHandler.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMViewCSS.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMWindow.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMWindow2.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMWindowCollection.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMWindowInternal.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMWindowUtils.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMWorkers.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXMLDocument.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXPathEvaluator.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXPathException.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXPathExpression.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXPathNSResolver.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXPathNamespace.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXPathResult.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULButtonElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULCheckboxElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULCommandDispatcher.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULCommandEvent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULContainerElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULControlElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULDescriptionElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULDocument.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULImageElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULLabelElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULLabeledControlEl.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULMenuListElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULMultSelectCntrlEl.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULPopupElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULSelectCntrlEl.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULSelectCntrlItemEl.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULTextboxElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULTreeElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDataSignatureVerifier.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDebug.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDialogParamBlock.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDirIndex.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDirIndexListener.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDirectoryEnumerator.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDirectoryService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocCharset.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocShell.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocShellHistory.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocShellLoadInfo.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocShellTreeItem.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocShellTreeNode.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocShellTreeOwner.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocumentCharsetInfo.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocumentEncoder.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocumentLoader.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocumentLoaderFactory.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocumentStateListener.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDownload.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDownloadHistory.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDownloadManager.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDownloadManagerUI.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDownloadProgressListener.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDownloader.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDragDropHandler.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDragService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDragSession.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIDynamicContainer.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditActionListener.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditingSession.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditor.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditorBoxObject.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditorDocShell.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditorIMESupport.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditorLogging.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditorMailSupport.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditorObserver.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditorSpellCheck.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditorStyleSheets.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIEffectiveTLDService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIEmbeddingSiteWindow.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIEmbeddingSiteWindow2.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIEncodedChannel.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIEntityConverter.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIEntropyCollector.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIEnumerator.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIEnvironment.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIErrorService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIEventHandler.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIEventTarget.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIException.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIExceptionService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIExpatSink.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIExtendedExpatSink.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIExtensionManager.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIExternalHelperAppService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIExternalProtocolHandler.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIExternalProtocolService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFIXptr.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFTPChannel.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFactory.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFastLoadFileControl.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFastLoadService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFaviconService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeed.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeedContainer.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeedElementBase.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeedEntry.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeedGenerator.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeedListener.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeedPerson.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeedProcessor.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeedResult.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeedTextConstruct.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFile.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFileChannel.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFilePicker.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFileProtocolHandler.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFileStreams.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFileURL.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFileUtilities.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFileView.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFind.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFindService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFontEnumerator.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFormFillController.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFormHistory.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFormSigningDialog.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFormSubmitObserver.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFormatConverter.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFrameLoader.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIFullScreen.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIGConfService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIGenKeypairInfoDlg.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIGeolocationProvider.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIGlobalHistory.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIGlobalHistory2.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIGlobalHistory3.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIGnomeVFSService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIHTMLAbsPosEditor.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIHTMLEditor.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIHTMLInlineTableEditor.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIHTMLObjectResizeListener.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIHTMLObjectResizer.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIHTTPHeaderListener.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIHTTPIndex.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIHandlerService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIHashable.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIHelperAppLauncherDialog.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIHistoryEntry.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIHttpActivityObserver.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIHttpAuthManager.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIHttpAuthenticator.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIHttpChannel.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIHttpChannelInternal.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIHttpEventSink.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIHttpHeaderVisitor.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIHttpProtocolHandler.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIIDNService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIIFrameBoxObject.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIINIParser.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIIOService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIIOService2.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIIconURI.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIIdentityInfo.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIIdleService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIImageDocument.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIImageLoadingContent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIIncrementalDownload.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIInlineSpellChecker.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIInputStream.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIInputStreamChannel.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIInputStreamPump.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIInputStreamTee.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIInterfaceInfo.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIInterfaceInfoManager.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIInterfaceRequestor.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIJAR.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIJARChannel.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIJARProtocolHandler.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIJARURI.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIJRILiveConnectPIPeer.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIJRILiveConnectPlugin.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIJSContextStack.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIJSON.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIJSRuntimeService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIJVMAuthTools.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIJVMConfigManager.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIJVMManager.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIJVMPluginInstance.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIKeyModule.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIKeygenThread.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsILineInputStream.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIListBoxObject.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsILivemarkService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsILoadContext.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsILoadGroup.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsILocalFile.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsILocalFileWin.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsILocale.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsILocaleService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsILoginInfo.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsILoginManager.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsILoginManagerIEMigrationHelper.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsILoginManagerPrompter.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsILoginManagerStorage.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsILoginMetaInfo.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIMIMEHeaderParam.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIMIMEInfo.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIMIMEInputStream.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIMIMEService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIMarkupDocumentViewer.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIMemory.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIMemoryReporter.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIMenuBoxObject.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIModifyableXPointer.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIModule.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIModuleLoader.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIMultiPartChannel.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIMultiplexInputStream.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIMutable.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIMutableArray.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsINSSCertCache.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsINSSErrorsService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsINativeAppSupport.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsINavBookmarksService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsINavHistoryService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsINestedURI.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsINetUtil.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsINetworkLinkService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsINonBlockingAlertService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIOCSPResponder.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIObjectInputStream.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIObjectLoadingContent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIObjectOutputStream.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIObserver.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIObserverService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIOfflineCacheUpdate.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIOutputStream.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPK11Token.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPK11TokenDB.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPKCS11.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPKCS11Module.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPKCS11ModuleDB.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPKCS11Slot.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPKIParamBlock.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIParentalControlsService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPasswordManager.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPasswordManagerInternal.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPermission.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPermissionManager.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPersistentProperties2.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPhonetic.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPipe.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPlaintextEditor.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPlugin.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginDocument.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginHost.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginInputStream.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginInstance.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginInstanceOwner.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginInstancePeer.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginInstancePeer2.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginManager.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginManager2.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginStreamInfo.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginStreamListener.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginTag.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginTagInfo.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginTagInfo2.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPopupBoxObject.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPopupWindowManager.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPref.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrefBranch.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrefBranch2.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrefBranchInternal.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrefLocalizedString.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrefService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrefetchService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrincipal.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrintOptions.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrintProgress.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrintProgressParams.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrintSession.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrintSettings.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrintSettingsService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrintStatusFeedback.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrintingPrompt.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrintingPromptService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrivateBrowsingService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIProcess.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIProfile.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIProfileChangeStatus.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIProfileMigrator.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIProfileUnlocker.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIProgrammingLanguage.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIProgressEventSink.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrompt.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPromptFactory.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPromptService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPromptService2.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIProperties.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIProperty.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPropertyBag.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIPropertyBag2.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIProtectedAuthThread.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIProtocolHandler.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIProtocolProxyCallback.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIProtocolProxyFilter.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIProtocolProxyService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIProtocolProxyService2.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIProxiedChannel.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIProxiedProtocolHandler.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIProxyAutoConfig.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIProxyInfo.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIProxyObjectManager.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFCompositeDataSource.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFContainer.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFContainerUtils.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFDataSource.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFDelegateFactory.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFInMemoryDataSource.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFInferDataSource.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFLiteral.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFNode.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFObserver.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFPropagatableDataSource.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFPurgeableDataSource.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFRemoteDataSource.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFResource.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFXMLParser.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFXMLSerializer.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFXMLSink.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFXMLSource.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRandomGenerator.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIReadConfig.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRecentBadCertsService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRecyclingAllocator.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRefreshURI.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRelativeFilePref.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRemoteService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRequest.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRequestObserver.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRequestObserverProxy.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIResProtocolHandler.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIResumableChannel.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRollupListener.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIRunnable.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISAXAttributes.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISAXContentHandler.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISAXDTDHandler.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISAXErrorHandler.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISAXLexicalHandler.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISAXLocator.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISAXMutableAttributes.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISAXXMLFilter.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISAXXMLReader.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISHContainer.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISHEntry.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISHTransaction.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISHistory.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISHistoryInternal.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISHistoryListener.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISMimeCert.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISOCKSSocketInfo.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISSLCertErrorDialog.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISSLErrorListener.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISSLSocketControl.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISSLStatus.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISSLStatusProvider.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISafeOutputStream.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISaveAsCharset.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIScreen.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIScreenManager.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptChannel.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptError.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptEventHandler.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptEventManager.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptLoaderObserver.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptSecurityManager.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptableDateFormat.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptableInputStream.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptableInterfaces.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptablePlugin.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptableRegion.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptableUConv.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptableUnescapeHTML.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIScrollBoxObject.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIScrollable.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISearchContext.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISecretDecoderRing.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISecureBrowserUI.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISecurityCheckedComponent.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISecurityEventSink.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISecurityInfoProvider.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISecurityPref.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISecurityWarningDialogs.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISeekableStream.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISelectElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISelection.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISelection2.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISelectionController.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISelectionDisplay.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISelectionListener.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISelectionPrivate.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISemanticUnitScanner.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISerializable.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIServerSocket.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIServiceManager.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISidebar.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISignatureVerifier.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISimpleEnumerator.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISimpleStreamListener.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISimpleTest.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISimpleUnicharStreamFactory.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISliderListener.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISocketProvider.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISocketProviderService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISocketTransport.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISocketTransportService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISound.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIStandardURL.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIStorageStream.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIStreamBufferAccess.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIStreamCipher.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIStreamConverter.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIStreamConverterService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIStreamListener.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIStreamListenerTee.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIStreamLoader.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIStreamTransportService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIStringBundle.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIStringBundleOverride.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIStringEnumerator.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIStringStream.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIStyleSheetService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISupports.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISupportsArray.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISupportsIterators.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISupportsPrimitives.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISupportsPriority.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISyncLoadDOMService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISyncStreamListener.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsISystemProxySettings.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsITXTToHTMLConv.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsITableEditor.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsITaggingService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsITextScroll.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsITextServicesFilter.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsITextToSubURI.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIThread.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIThreadInternal.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIThreadManager.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIThreadPool.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsITimelineService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsITimer.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsITokenDialogs.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsITokenPasswordDialogs.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIToolkit.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIToolkitChromeRegistry.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIToolkitProfile.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIToolkitProfileService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsITooltipListener.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsITooltipTextProvider.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsITraceRefcnt.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsITraceableChannel.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsITransaction.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsITransactionList.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsITransactionListener.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsITransactionManager.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsITransfer.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsITransferable.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsITransport.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsITransportSecurityInfo.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsITreeBoxObject.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsITreeColumns.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsITreeContentView.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsITreeSelection.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsITreeView.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsITypeAheadFind.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIURI.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIURIChecker.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIURIClassifier.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIURIContentListener.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIURIFixup.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIURILoader.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIURIRefObject.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIURL.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIURLFormatter.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIURLParser.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIUTF8ConverterService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIUUIDGenerator.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIUnicharInputStream.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIUnicharLineInputStream.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIUnicharOutputStream.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIUnicharStreamListener.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIUnicharStreamLoader.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIUnicodeNormalizer.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIUpdateService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIUploadChannel.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIUrlClassifierDBService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIUrlClassifierHashCompleter.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIUrlClassifierStreamUpdater.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIUrlClassifierUtils.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIUrlListManager.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIUserCertPicker.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIUserInfo.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIVariant.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIVersionComparator.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIViewSourceChannel.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIWeakReference.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowser.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowserChrome.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowserChrome2.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowserChromeFocus.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowserFind.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowserFocus.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowserPersist.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowserPrint.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowserSetup.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowserStream.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebContentHandlerRegistrar.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebNavigation.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebNavigationInfo.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebPageDescriptor.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebProgress.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebProgressListener.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebProgressListener2.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIWindowCreator.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIWindowCreator2.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIWindowDataSource.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIWindowMediator.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIWindowMediatorListener.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIWindowProvider.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIWindowWatcher.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIWindowlessPlugInstPeer.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIWritablePropertyBag.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIWritablePropertyBag2.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIWyciwygChannel.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIX509Cert.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIX509Cert2.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIX509Cert3.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIX509CertDB.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIX509CertDB2.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIX509CertList.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIX509CertValidity.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXBLAccessible.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXMLContentBuilder.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXMLHttpRequest.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPCScriptNotify.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPCScriptable.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPCSecurityManager.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPCToolsCompiler.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPCToolsProfiler.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPConnect.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPIDialogService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPIInstallInfo.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPIProgressDialog.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPInstallManager.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPTLoader.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPointer.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXSLTException.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXSLTProcessor.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXSLTProcessorObsolete.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXSLTProcessorPrivate.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXTFAttributeHandler.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXTFElement.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXTFElementFactory.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXTFElementWrapper.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXTFPrivate.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULAppInfo.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULAppInstall.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULBrowserWindow.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULBuilderListener.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULOverlayProvider.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULRuntime.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULSortService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULTemplateBuilder.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULTemplateQueryProcessor.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULTemplateResult.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULTemplateRuleFilter.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULWindow.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIZipReader.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsIZipWriter.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsPIAccessible.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsPIAccessibleDocument.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsPICertNotification.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsPICommandUpdater.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsPIDNSService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsPIEditorTransaction.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsPIPlacesDatabase.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsPIPluginHost.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsPIPluginInstancePeer.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsPIPromptService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsPISocketTransportService.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsPIWindowWatcher.idl /usr/share/idl/xulrunner-1.9.1/unstable/nspluginroot.idl /usr/share/idl/xulrunner-1.9.1/unstable/nsrootidl.idl /usr/share/idl/xulrunner-1.9.1/unstable/rdfIDataSource.idl /usr/share/idl/xulrunner-1.9.1/unstable/rdfISerializer.idl /usr/share/idl/xulrunner-1.9.1/unstable/rdfITripleVisitor.idl /usr/share/idl/xulrunner-1.9.1/unstable/txIEXSLTRegExFunctions.idl /usr/share/idl/xulrunner-1.9.1/unstable/txIFunctionEvaluationContext.idl /usr/share/idl/xulrunner-1.9.1/unstable/txINodeSet.idl /usr/share/idl/xulrunner-1.9.1/unstable/txIXPathObject.idl /usr/share/idl/xulrunner-1.9.1/unstable/xpcIJSModuleLoader.idl /usr/share/idl/xulrunner-1.9.1/unstable/xpcIJSWeakReference.idl /usr/share/idl/xulrunner-1.9.1/unstable/xpccomponents.idl /usr/share/idl/xulrunner-1.9.1/unstable/xpcexception.idl /usr/share/idl/xulrunner-1.9.1/unstable/xpcjsid.idl /usr/share/xulrunner-1.9 /usr/share/xulrunner-1.9/package.env >> >> I'm trying to install Chromium now. ?Do you know where I have to put >> the plugin in my home directory so it picks it up? I don't want to do >> a system install of it. >> > > > It should work if the link is in ~/.mozilla/plugins/ > Ugh... Chromium uses that too? I went for that because I didn't want it in there, interfering with my main browser. > Deepak > >> > Cheers, >> > Deepak >> > >> > >> >> I'm not sure what effect the MOZILLA_CFLAGS being added will have >> >> though, especially on other platforms. ?I've only built it, not >> >> tested. ?Will the plugin work with Chromium 4.0.288.1? ?If so, I'll >> >> try the new Gentoo ebuild for it and test the plugin with it. ?How it >> >> got to 4.0 already I have no idea! >> >> >> >> I think the ppc issue is that there is no version test (there is a >> >> >1.9 on old plugin, but nothing on new). ?The ppc box is using >> >> 1.9.0.11 which may be too old. >> >> -- >> >> Andrew :-) >> >> >> >> Free Java Software Engineer >> >> Red Hat, Inc. (http://www.redhat.com) >> >> >> >> Support Free Java! >> >> Contribute to GNU Classpath and the OpenJDK >> >> http://www.gnu.org/software/classpath >> >> http://openjdk.java.net >> >> >> >> PGP Key: 94EFD9D8 (http://subkeys.pgp.net) >> >> Fingerprint: F8EF F1EA 401E 2E60 15FA ?7927 142C 2591 94EF D9D8 >> > >> >> >> >> -- >> Andrew :-) >> >> Free Java Software Engineer >> Red Hat, Inc. (http://www.redhat.com) >> >> Support Free Java! >> Contribute to GNU Classpath and the OpenJDK >> http://www.gnu.org/software/classpath >> http://openjdk.java.net >> >> PGP Key: 94EFD9D8 (http://subkeys.pgp.net) >> Fingerprint: F8EF F1EA 401E 2E60 15FA ?7927 142C 2591 94EF D9D8 > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From gnu_andrew at member.fsf.org Fri Jan 22 08:05:51 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Fri, 22 Jan 2010 16:05:51 +0000 Subject: 1.7 and NPPlugin In-Reply-To: <17c6771e1001220743r69557c4tfe159554c7c508a1@mail.gmail.com> References: <17c6771e1001210604o4ff581e6s4df5075e8888e35e@mail.gmail.com> <20100122003059.GA3558@redhat.com> <17c6771e1001211921s52fb420en22aef0f990af7a7a@mail.gmail.com> <20100122071848.GA30351@redhat.com> <17c6771e1001220629t178a2055wab5b1724497442ea@mail.gmail.com> <20100122153835.GA6434@redhat.com> <17c6771e1001220743r69557c4tfe159554c7c508a1@mail.gmail.com> Message-ID: <17c6771e1001220805g120192b8rad0eabe4ee667fd3@mail.gmail.com> 2010/1/22 Andrew John Hughes : > 2010/1/22 Deepak Bhole : >> * Andrew John Hughes [2010-01-22 09:29]: >>> 2010/1/22 Deepak Bhole : >>> > * Andrew John Hughes [2010-01-21 22:22]: >>> >> 2010/1/22 Deepak Bhole : >>> >> > * Andrew John Hughes [2010-01-21 09:05]: >>> >> >> I thought we were ready to ship 1.7. ?But then I tried to build NPPlugin... >>> >> >> >>> >> >> cd /var/tmp/portage/dev-java/icedtea6-1.7/work/icedtea6-1.7/plugin/icedteanp; \ >>> >> >> ? ? ? ? if [ -e >>> >> >> /var/tmp/portage/dev-java/icedtea6-1.7/work/icedtea6-1.7/.hg ] && >>> >> >> which /usr/bin/hg >/dev/null; then \ >>> >> >> ? ? ? ? ? revision="-r`(cd >>> >> >> /var/tmp/portage/dev-java/icedtea6-1.7/work/icedtea6-1.7; /usr/bin/hg >>> >> >> tip --template '{rev}')`" ; \ >>> >> > >>> >> > >>> >> > Hmm, it builds fine for me on rawhide. >>> >> > >>> >> > Can you retry with the attached patch? >>> >> > >>> >> > Deepak >>> >> > >>> >> >> ? ? ? ? fi ; \ >>> >> >> ? ? ? ? if [ -n "1.7" ]; then plugin_version=" (1.7)"; fi; \ >>> >> >> ? ? ? ? plugin_version=" 1.7$revision$plugin_version"; \ >>> >> >> ? ? ? ? powerpc-unknown-linux-gnu-g++ -O2 -mtune=G5 -mcpu=G5 >>> >> >> -mabi=altivec -pipe -ggdb \ >>> >> >> ? ? ? ? ? -DPACKAGE_VERSION="\"1.7\"" \ >>> >> >> ? ? ? ? ? -DPLUGIN_VERSION="\"$plugin_version\"" \ >>> >> >> ? ? ? ? ? -DMOZILLA_VERSION_COLLAPSED="1090011" \ >>> >> >> ? ? ? ? ? -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include ? \ >>> >> >> ? ? ? ? ? -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include >>> >> >> -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 >>> >> >> -\ >>> >> >> I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include >>> >> >> -I/usr/include/pixman-1 -I/usr/include/freetype2 >>> >> >> -I/usr/include/libpng12 ? \ >>> >> >> ? ? ? ? ? -fshort-wchar -I/usr/include/xulrunner-1.9/stable >>> >> >> -I/usr/include/nspr ? \ >>> >> >> ? ? ? ? ? -fPIC -c IcedTeaNPPlugin.cc IcedTeaScriptablePluginObject.cc >>> >> >> IcedTeaJavaRequestProcessor.cc IcedTeaPluginRequestProcesso\ >>> >> >> r.cc IcedTeaPluginUtils.cc; \ >>> >> >> ? ? ? ? cd ../ >>> >> >> In file included from IcedTeaJavaRequestProcessor.h:46, >>> >> >> ? ? ? ? ? ? ? ? ?from IcedTeaScriptablePluginObject.h:49, >>> >> >> ? ? ? ? ? ? ? ? ?from IcedTeaNPPlugin.cc:51: >>> >> >> IcedTeaNPPlugin.h:43:27: error: nsThreadUtils.h: No such file or directory >>> >> >> IcedTeaNPPlugin.cc:56:31: error: nsIPluginInstance.h: No such file or directory >>> >> >> IcedTeaNPPlugin.cc:57:35: error: nsIPluginInstancePeer.h: No such file >>> >> >> or directory >>> >> >> IcedTeaNPPlugin.cc:58:31: error: nsIPluginTagInfo2.h: No such file or directory >>> >> >> IcedTeaNPPlugin.cc:62:30: error: nsICookieService.h: No such file or directory >>> >> >> IcedTeaNPPlugin.cc:63:26: error: nsIDNSRecord.h: No such file or directory >>> >> >> IcedTeaNPPlugin.cc:64:27: error: nsIDNSService.h: No such file or directory >>> >> >> IcedTeaNPPlugin.cc:65:24: error: nsINetUtil.h: No such file or directory >>> >> >> IcedTeaNPPlugin.cc:66:26: error: nsIProxyInfo.h: No such file or directory >>> >> >> IcedTeaNPPlugin.cc:67:37: error: nsIProtocolProxyService.h: No such >>> >> >> file or directory >>> >> >> IcedTeaNPPlugin.cc:68:38: error: nsIScriptSecurityManager.h: No such >>> >> >> file or directory >>> >> >> IcedTeaNPPlugin.cc:71:22: error: nsNetCID.h: No such file or directory >>> >> >> etc. >>> >> >> >>> >> >> but worst of all it doesn't fail then but goes on to do the entire >>> >> >> second OpenJDK build (another few hours on ppc) and then fails after >>> >> >> that! >>> >> >> >>> >> >> Shouldn't it be checking for this stuff during configure? >>> >> >> >>> >> >> On my x86_64 box, I don't even get through configure: >>> >> >> >>> >> >> checking for xulrunner version... configure: error: in >>> >> >> `/mnt/builder/icedtea6-1.7': >>> >> >> configure: error: cannot determine xulrunner version >>> >> >> -- >>> >> >> Andrew :-) >>> >> >> >>> >> >> Free Java Software Engineer >>> >> >> Red Hat, Inc. (http://www.redhat.com) >>> >> >> >>> >> >> Support Free Java! >>> >> >> Contribute to GNU Classpath and the OpenJDK >>> >> >> http://www.gnu.org/software/classpath >>> >> >> http://openjdk.java.net >>> >> >> >>> >> >> PGP Key: 94EFD9D8 (http://subkeys.pgp.net) >>> >> >> Fingerprint: F8EF F1EA 401E 2E60 15FA ?7927 142C 2591 94EF D9D8 >>> >> > >>> >> >>> >> That changed nothing, but the following made the x86_64 build complete: >>> >> >>> >> - ?CPPFLAGS="$CPPFLAGS $XULRUNNER_CFLAGS" >>> >> + ?CPPFLAGS="$CPPFLAGS $XULRUNNER_CFLAGS $MOZILLA_CFLAGS" >>> >> >>> > >>> > Looks like there are some serious differences between file locations for >>> > Gentoo and Fedora :/ >>> > >>> > I have built on Fedora (xulrunner 1.9.1/ff3.5) and Rawhide (xulrunner >>> > 1.9.2/ff 3.6) and both have been fine. The new plugin works fine in Firefox and >>> > Chromium on F12, and Dennis Gilmore (from Fedora) tried it on Firefox >>> > and Chromium on rawhide and it works for him too. >>> > >>> >>> Did you not try 1.9.0? ?If that isn't supposed to work, then the build >>> shouldn't be letting it through. >>> >> >> >> I didn't try it on 1.9.0, but it should work there.. >> > > That's where the actual build is failing in the PPC logs I sent you. > >>> > I will try to install Gentoo in a vm tomorrow and see what is up. With >>> > the changes that you made that build for you, can you please do a quick >>> > test on chromium/ff 3.5 to make sure the plugin is visible and works? I >>> > will try out the same tomorrow once I have the vm set up. >>> > > > If it helps this is what is installed by xulrunner 1.9.1 (the one now > succeeding on x86_64): > > /etc > /etc/env.d > /etc/env.d/08xulrunner > /etc/gre.d > /etc/gre.d/1.9.1.5.system.conf > /usr > /usr/bin > /usr/bin/xulrunner-1.9.1 > /usr/include > /usr/include/xulrunner-1.9.1 > /usr/include/xulrunner-1.9.1/stable > /usr/include/xulrunner-1.9.1/stable/domstubs.h > /usr/include/xulrunner-1.9.1/stable/jni.h > /usr/include/xulrunner-1.9.1/stable/jni_md.h > /usr/include/xulrunner-1.9.1/stable/jri.h > /usr/include/xulrunner-1.9.1/stable/jri_md.h > /usr/include/xulrunner-1.9.1/stable/jritypes.h > /usr/include/xulrunner-1.9.1/stable/mozIJSSubScriptLoader.h > /usr/include/xulrunner-1.9.1/stable/npapi.h > /usr/include/xulrunner-1.9.1/stable/npfunctions.h > /usr/include/xulrunner-1.9.1/stable/npruntime.h > /usr/include/xulrunner-1.9.1/stable/nptypes.h > /usr/include/xulrunner-1.9.1/stable/nsArrayEnumerator.h > /usr/include/xulrunner-1.9.1/stable/nsArrayUtils.h > /usr/include/xulrunner-1.9.1/stable/nsAutoLock.h > /usr/include/xulrunner-1.9.1/stable/nsBaseHashtable.h > /usr/include/xulrunner-1.9.1/stable/nsCOMArray.h > /usr/include/xulrunner-1.9.1/stable/nsCOMPtr.h > /usr/include/xulrunner-1.9.1/stable/nsCRTGlue.h > /usr/include/xulrunner-1.9.1/stable/nsCategoryCache.h > /usr/include/xulrunner-1.9.1/stable/nsClassHashtable.h > /usr/include/xulrunner-1.9.1/stable/nsComponentManagerUtils.h > /usr/include/xulrunner-1.9.1/stable/nsCycleCollectionParticipant.h > /usr/include/xulrunner-1.9.1/stable/nsCycleCollector.h > /usr/include/xulrunner-1.9.1/stable/nsDataHashtable.h > /usr/include/xulrunner-1.9.1/stable/nsDebug.h > /usr/include/xulrunner-1.9.1/stable/nsDeque.h > /usr/include/xulrunner-1.9.1/stable/nsDirectoryServiceDefs.h > /usr/include/xulrunner-1.9.1/stable/nsDirectoryServiceUtils.h > /usr/include/xulrunner-1.9.1/stable/nsEmbedAPI.h > /usr/include/xulrunner-1.9.1/stable/nsEmbedCID.h > /usr/include/xulrunner-1.9.1/stable/nsEmbedString.h > /usr/include/xulrunner-1.9.1/stable/nsEnumeratorUtils.h > /usr/include/xulrunner-1.9.1/stable/nsError.h > /usr/include/xulrunner-1.9.1/stable/nsGenericFactory.h > /usr/include/xulrunner-1.9.1/stable/nsHashKeys.h > /usr/include/xulrunner-1.9.1/stable/nsIASN1Object.h > /usr/include/xulrunner-1.9.1/stable/nsIASN1Sequence.h > /usr/include/xulrunner-1.9.1/stable/nsIArray.h > /usr/include/xulrunner-1.9.1/stable/nsICRLInfo.h > /usr/include/xulrunner-1.9.1/stable/nsICategoryManager.h > /usr/include/xulrunner-1.9.1/stable/nsICertificateDialogs.h > /usr/include/xulrunner-1.9.1/stable/nsIChannel.h > /usr/include/xulrunner-1.9.1/stable/nsIClassInfo.h > /usr/include/xulrunner-1.9.1/stable/nsIClassInfoImpl.h > /usr/include/xulrunner-1.9.1/stable/nsIClipboardCommands.h > /usr/include/xulrunner-1.9.1/stable/nsIComponentManager.h > /usr/include/xulrunner-1.9.1/stable/nsIComponentRegistrar.h > /usr/include/xulrunner-1.9.1/stable/nsIContextMenuListener.h > /usr/include/xulrunner-1.9.1/stable/nsICookie.h > /usr/include/xulrunner-1.9.1/stable/nsICookieManager.h > /usr/include/xulrunner-1.9.1/stable/nsID.h > /usr/include/xulrunner-1.9.1/stable/nsIDOM3DocumentEvent.h > /usr/include/xulrunner-1.9.1/stable/nsIDOM3EventTarget.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMAbstractView.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMAttr.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMBarProp.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMCDATASection.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMCSSPrimitiveValue.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMCSSRule.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMCSSRuleList.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMCSSStyleDeclaration.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMCSSStyleSheet.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMCSSValue.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMCSSValueList.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMCharacterData.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMComment.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMDOMException.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMDOMImplementation.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMDocument.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMDocumentEvent.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMDocumentFragment.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMDocumentRange.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMDocumentStyle.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMDocumentType.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMDocumentView.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMElementCSSInlineStyle.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMEntity.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMEntityReference.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMEvent.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMEventGroup.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMEventListener.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMEventTarget.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLAnchorElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLAppletElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLAreaElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLAudioElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLBRElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLBaseElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLBaseFontElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLBodyElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLButtonElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLByteRanges.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLCollection.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLDListElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLDirectoryElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLDivElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLDocument.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLEmbedElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLFieldSetElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLFontElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLFormElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLFrameElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLFrameSetElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLHRElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLHeadElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLHeadingElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLHtmlElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLIFrameElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLImageElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLInputElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLIsIndexElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLLIElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLLabelElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLLegendElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLLinkElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLMapElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLMediaElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLMediaError.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLMenuElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLMetaElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLModElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLOListElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLObjectElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLOptGroupElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLOptionElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLOptionsCollection.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLParagraphElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLParamElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLPreElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLQuoteElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLScriptElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLSelectElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLSourceElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLStyleElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLTableCaptionElem.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLTableCellElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLTableColElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLTableElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLTableRowElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLTableSectionElem.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLTextAreaElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLTimeRanges.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLTitleElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLUListElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLVideoElement.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLVoidCallback.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMMediaList.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMMouseEvent.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMMouseScrollEvent.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMNamedNodeMap.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMNode.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMNodeList.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMNotation.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMProcessingInstruction.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMProgressEvent.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMRange.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMStorage.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMStorageEvent.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMStorageItem.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMStorageList.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMStorageWindow.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMStorageWindow_1_9_1.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMStyleSheet.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMStyleSheetList.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMText.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMUIEvent.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMWindow.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMWindow2.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMWindowCollection.h > /usr/include/xulrunner-1.9.1/stable/nsIDOMWindowUtils.h > /usr/include/xulrunner-1.9.1/stable/nsIDebug.h > /usr/include/xulrunner-1.9.1/stable/nsIDirectoryService.h > /usr/include/xulrunner-1.9.1/stable/nsIEmbeddingSiteWindow.h > /usr/include/xulrunner-1.9.1/stable/nsIFactory.h > /usr/include/xulrunner-1.9.1/stable/nsIFile.h > /usr/include/xulrunner-1.9.1/stable/nsIFileURL.h > /usr/include/xulrunner-1.9.1/stable/nsIGenericFactory.h > /usr/include/xulrunner-1.9.1/stable/nsIGlobalHistory.h > /usr/include/xulrunner-1.9.1/stable/nsIHashable.h > /usr/include/xulrunner-1.9.1/stable/nsIHistoryEntry.h > /usr/include/xulrunner-1.9.1/stable/nsIHttpChannel.h > /usr/include/xulrunner-1.9.1/stable/nsIHttpHeaderVisitor.h > /usr/include/xulrunner-1.9.1/stable/nsIIOService.h > /usr/include/xulrunner-1.9.1/stable/nsIInputStream.h > /usr/include/xulrunner-1.9.1/stable/nsIInterfaceRequestor.h > /usr/include/xulrunner-1.9.1/stable/nsIInterfaceRequestorUtils.h > /usr/include/xulrunner-1.9.1/stable/nsIJSON.h > /usr/include/xulrunner-1.9.1/stable/nsILoadGroup.h > /usr/include/xulrunner-1.9.1/stable/nsILocalFile.h > /usr/include/xulrunner-1.9.1/stable/nsIMemory.h > /usr/include/xulrunner-1.9.1/stable/nsIModule.h > /usr/include/xulrunner-1.9.1/stable/nsIMutableArray.h > /usr/include/xulrunner-1.9.1/stable/nsINIParser.h > /usr/include/xulrunner-1.9.1/stable/nsIObserver.h > /usr/include/xulrunner-1.9.1/stable/nsIObserverService.h > /usr/include/xulrunner-1.9.1/stable/nsIOutputStream.h > /usr/include/xulrunner-1.9.1/stable/nsIPrefBranch.h > /usr/include/xulrunner-1.9.1/stable/nsIPrefBranch2.h > /usr/include/xulrunner-1.9.1/stable/nsIPrefLocalizedString.h > /usr/include/xulrunner-1.9.1/stable/nsIPrefService.h > /usr/include/xulrunner-1.9.1/stable/nsIProfile.h > /usr/include/xulrunner-1.9.1/stable/nsIProfileChangeStatus.h > /usr/include/xulrunner-1.9.1/stable/nsIProgrammingLanguage.h > /usr/include/xulrunner-1.9.1/stable/nsIPromptService.h > /usr/include/xulrunner-1.9.1/stable/nsIProperties.h > /usr/include/xulrunner-1.9.1/stable/nsIProtocolHandler.h > /usr/include/xulrunner-1.9.1/stable/nsIRequest.h > /usr/include/xulrunner-1.9.1/stable/nsIRequestObserver.h > /usr/include/xulrunner-1.9.1/stable/nsISHistory.h > /usr/include/xulrunner-1.9.1/stable/nsISHistoryListener.h > /usr/include/xulrunner-1.9.1/stable/nsIScriptableInputStream.h > /usr/include/xulrunner-1.9.1/stable/nsISecurityWarningDialogs.h > /usr/include/xulrunner-1.9.1/stable/nsISelection.h > /usr/include/xulrunner-1.9.1/stable/nsIServiceManager.h > /usr/include/xulrunner-1.9.1/stable/nsISimpleEnumerator.h > /usr/include/xulrunner-1.9.1/stable/nsIStreamListener.h > /usr/include/xulrunner-1.9.1/stable/nsISupports.h > /usr/include/xulrunner-1.9.1/stable/nsISupportsBase.h > /usr/include/xulrunner-1.9.1/stable/nsISupportsImpl.h > /usr/include/xulrunner-1.9.1/stable/nsISupportsPrimitives.h > /usr/include/xulrunner-1.9.1/stable/nsISupportsUtils.h > /usr/include/xulrunner-1.9.1/stable/nsITooltipListener.h > /usr/include/xulrunner-1.9.1/stable/nsITooltipTextProvider.h > /usr/include/xulrunner-1.9.1/stable/nsITraceRefcnt.h > /usr/include/xulrunner-1.9.1/stable/nsITraceableChannel.h > /usr/include/xulrunner-1.9.1/stable/nsIURI.h > /usr/include/xulrunner-1.9.1/stable/nsIURIContentListener.h > /usr/include/xulrunner-1.9.1/stable/nsIURL.h > /usr/include/xulrunner-1.9.1/stable/nsIUnicharStreamListener.h > /usr/include/xulrunner-1.9.1/stable/nsIUploadChannel.h > /usr/include/xulrunner-1.9.1/stable/nsIWeakReference.h > /usr/include/xulrunner-1.9.1/stable/nsIWeakReferenceUtils.h > /usr/include/xulrunner-1.9.1/stable/nsIWebBrowser.h > /usr/include/xulrunner-1.9.1/stable/nsIWebBrowserChrome.h > /usr/include/xulrunner-1.9.1/stable/nsIWebBrowserChromeFocus.h > /usr/include/xulrunner-1.9.1/stable/nsIWebBrowserFind.h > /usr/include/xulrunner-1.9.1/stable/nsIWebBrowserFocus.h > /usr/include/xulrunner-1.9.1/stable/nsIWebBrowserPrint.h > /usr/include/xulrunner-1.9.1/stable/nsIWebBrowserSetup.h > /usr/include/xulrunner-1.9.1/stable/nsIWebBrowserStream.h > /usr/include/xulrunner-1.9.1/stable/nsIWebProgress.h > /usr/include/xulrunner-1.9.1/stable/nsIWebProgressListener.h > /usr/include/xulrunner-1.9.1/stable/nsIWindowCreator.h > /usr/include/xulrunner-1.9.1/stable/nsIWindowWatcher.h > /usr/include/xulrunner-1.9.1/stable/nsIX509Cert.h > /usr/include/xulrunner-1.9.1/stable/nsIX509CertDB.h > /usr/include/xulrunner-1.9.1/stable/nsIX509CertValidity.h > /usr/include/xulrunner-1.9.1/stable/nsInterfaceHashtable.h > /usr/include/xulrunner-1.9.1/stable/nsMemory.h > /usr/include/xulrunner-1.9.1/stable/nsObjCExceptions.h > /usr/include/xulrunner-1.9.1/stable/nsParserDataListener.h > /usr/include/xulrunner-1.9.1/stable/nsQuickSort.h > /usr/include/xulrunner-1.9.1/stable/nsRefPtrHashtable.h > /usr/include/xulrunner-1.9.1/stable/nsServiceManagerUtils.h > /usr/include/xulrunner-1.9.1/stable/nsStringAPI.h > /usr/include/xulrunner-1.9.1/stable/nsStringGlue.h > /usr/include/xulrunner-1.9.1/stable/nsTArray.h > /usr/include/xulrunner-1.9.1/stable/nsTHashtable.h > /usr/include/xulrunner-1.9.1/stable/nsTObserverArray.h > /usr/include/xulrunner-1.9.1/stable/nsTPtrArray.h > /usr/include/xulrunner-1.9.1/stable/nsTWeakRef.h > /usr/include/xulrunner-1.9.1/stable/nsTextFormatter.h > /usr/include/xulrunner-1.9.1/stable/nsTraceRefcnt.h > /usr/include/xulrunner-1.9.1/stable/nsUnicharUtils.h > /usr/include/xulrunner-1.9.1/stable/nsVersionComparator.h > /usr/include/xulrunner-1.9.1/stable/nsVoidArray.h > /usr/include/xulrunner-1.9.1/stable/nsWeakReference.h > /usr/include/xulrunner-1.9.1/stable/nsXPCOM.h > /usr/include/xulrunner-1.9.1/stable/nsXPCOMCID.h > /usr/include/xulrunner-1.9.1/stable/nsXPCOMGlue.h > /usr/include/xulrunner-1.9.1/stable/nsXPCOMStrings.h > /usr/include/xulrunner-1.9.1/stable/nscore.h > /usr/include/xulrunner-1.9.1/stable/nsrootidl.h > /usr/include/xulrunner-1.9.1/stable/pldhash.h > /usr/include/xulrunner-1.9.1/stable/xpcom-config.h > /usr/include/xulrunner-1.9.1/unstable > /usr/include/xulrunner-1.9.1/unstable/ImageErrors.h > /usr/include/xulrunner-1.9.1/unstable/ImageLogging.h > /usr/include/xulrunner-1.9.1/unstable/NSReg.h > /usr/include/xulrunner-1.9.1/unstable/ProxyJNI.h > /usr/include/xulrunner-1.9.1/unstable/PyXPCOM.h > /usr/include/xulrunner-1.9.1/unstable/VerReg.h > /usr/include/xulrunner-1.9.1/unstable/XPCIDispatch.h > /usr/include/xulrunner-1.9.1/unstable/bool.h > /usr/include/xulrunner-1.9.1/unstable/codec.h > /usr/include/xulrunner-1.9.1/unstable/comments.h > /usr/include/xulrunner-1.9.1/unstable/config.h > /usr/include/xulrunner-1.9.1/unstable/config_gcc.h > /usr/include/xulrunner-1.9.1/unstable/config_types.h > /usr/include/xulrunner-1.9.1/unstable/config_win32.h > /usr/include/xulrunner-1.9.1/unstable/constants.h > /usr/include/xulrunner-1.9.1/unstable/decode.h > /usr/include/xulrunner-1.9.1/unstable/deprecated.h > /usr/include/xulrunner-1.9.1/unstable/domstubs.h > /usr/include/xulrunner-1.9.1/unstable/encode.h > /usr/include/xulrunner-1.9.1/unstable/expat.h > /usr/include/xulrunner-1.9.1/unstable/expat_config.h > /usr/include/xulrunner-1.9.1/unstable/expat_external.h > /usr/include/xulrunner-1.9.1/unstable/extIApplication.h > /usr/include/xulrunner-1.9.1/unstable/fishsound.h > /usr/include/xulrunner-1.9.1/unstable/ftpCore.h > /usr/include/xulrunner-1.9.1/unstable/gfxASurface.h > /usr/include/xulrunner-1.9.1/unstable/gfxAlphaRecovery.h > /usr/include/xulrunner-1.9.1/unstable/gfxBlur.h > /usr/include/xulrunner-1.9.1/unstable/gfxColor.h > /usr/include/xulrunner-1.9.1/unstable/gfxContext.h > /usr/include/xulrunner-1.9.1/unstable/gfxCore.h > /usr/include/xulrunner-1.9.1/unstable/gfxFont.h > /usr/include/xulrunner-1.9.1/unstable/gfxFontTest.h > /usr/include/xulrunner-1.9.1/unstable/gfxFontUtils.h > /usr/include/xulrunner-1.9.1/unstable/gfxGdkNativeRenderer.h > /usr/include/xulrunner-1.9.1/unstable/gfxIFormats.h > /usr/include/xulrunner-1.9.1/unstable/gfxIImageFrame.h > /usr/include/xulrunner-1.9.1/unstable/gfxImageSurface.h > /usr/include/xulrunner-1.9.1/unstable/gfxMatrix.h > /usr/include/xulrunner-1.9.1/unstable/gfxPDFSurface.h > /usr/include/xulrunner-1.9.1/unstable/gfxPSSurface.h > /usr/include/xulrunner-1.9.1/unstable/gfxPangoFonts.h > /usr/include/xulrunner-1.9.1/unstable/gfxPath.h > /usr/include/xulrunner-1.9.1/unstable/gfxPattern.h > /usr/include/xulrunner-1.9.1/unstable/gfxPlatform.h > /usr/include/xulrunner-1.9.1/unstable/gfxPlatformGtk.h > /usr/include/xulrunner-1.9.1/unstable/gfxPoint.h > /usr/include/xulrunner-1.9.1/unstable/gfxRect.h > /usr/include/xulrunner-1.9.1/unstable/gfxSkipChars.h > /usr/include/xulrunner-1.9.1/unstable/gfxTextRunCache.h > /usr/include/xulrunner-1.9.1/unstable/gfxTextRunWordCache.h > /usr/include/xulrunner-1.9.1/unstable/gfxTypes.h > /usr/include/xulrunner-1.9.1/unstable/gfxUserFontSet.h > /usr/include/xulrunner-1.9.1/unstable/gfxUtils.h > /usr/include/xulrunner-1.9.1/unstable/gfxXlibSurface.h > /usr/include/xulrunner-1.9.1/unstable/gfxtypes.h > /usr/include/xulrunner-1.9.1/unstable/gtk2xtbin.h > /usr/include/xulrunner-1.9.1/unstable/gtkmozembed.h > /usr/include/xulrunner-1.9.1/unstable/gtkmozembed_glue.cpp > /usr/include/xulrunner-1.9.1/unstable/gtkmozembed_internal.h > /usr/include/xulrunner-1.9.1/unstable/gtkxtbin.h > /usr/include/xulrunner-1.9.1/unstable/imgICache.h > /usr/include/xulrunner-1.9.1/unstable/imgIContainer.h > /usr/include/xulrunner-1.9.1/unstable/imgIContainerObserver.h > /usr/include/xulrunner-1.9.1/unstable/imgIDecoder.h > /usr/include/xulrunner-1.9.1/unstable/imgIDecoderObserver.h > /usr/include/xulrunner-1.9.1/unstable/imgIEncoder.h > /usr/include/xulrunner-1.9.1/unstable/imgILoad.h > /usr/include/xulrunner-1.9.1/unstable/imgILoader.h > /usr/include/xulrunner-1.9.1/unstable/imgIRequest.h > /usr/include/xulrunner-1.9.1/unstable/imgITools.h > /usr/include/xulrunner-1.9.1/unstable/inICSSValueSearch.h > /usr/include/xulrunner-1.9.1/unstable/inIDOMUtils.h > /usr/include/xulrunner-1.9.1/unstable/inIDOMView.h > /usr/include/xulrunner-1.9.1/unstable/inIDeepTreeWalker.h > /usr/include/xulrunner-1.9.1/unstable/inIFlasher.h > /usr/include/xulrunner-1.9.1/unstable/inISearchObserver.h > /usr/include/xulrunner-1.9.1/unstable/inISearchProcess.h > /usr/include/xulrunner-1.9.1/unstable/interpreter.h > /usr/include/xulrunner-1.9.1/unstable/javaString.h > /usr/include/xulrunner-1.9.1/unstable/javaThreads.h > /usr/include/xulrunner-1.9.1/unstable/java_lang_String.h > /usr/include/xulrunner-1.9.1/unstable/jdk_java_lang_String.h > /usr/include/xulrunner-1.9.1/unstable/jmc.h > /usr/include/xulrunner-1.9.1/unstable/jni.h > /usr/include/xulrunner-1.9.1/unstable/jni_md.h > /usr/include/xulrunner-1.9.1/unstable/jri.h > /usr/include/xulrunner-1.9.1/unstable/jri_md.h > /usr/include/xulrunner-1.9.1/unstable/jriext.h > /usr/include/xulrunner-1.9.1/unstable/jritypes.h > /usr/include/xulrunner-1.9.1/unstable/js-config.h > /usr/include/xulrunner-1.9.1/unstable/js.msg > /usr/include/xulrunner-1.9.1/unstable/jsapi.h > /usr/include/xulrunner-1.9.1/unstable/jsarena.h > /usr/include/xulrunner-1.9.1/unstable/jsarray.h > /usr/include/xulrunner-1.9.1/unstable/jsatom.h > /usr/include/xulrunner-1.9.1/unstable/jsautocfg.h > /usr/include/xulrunner-1.9.1/unstable/jsautokw.h > /usr/include/xulrunner-1.9.1/unstable/jsbit.h > /usr/include/xulrunner-1.9.1/unstable/jsbool.h > /usr/include/xulrunner-1.9.1/unstable/jsclist.h > /usr/include/xulrunner-1.9.1/unstable/jscntxt.h > /usr/include/xulrunner-1.9.1/unstable/jscompat.h > /usr/include/xulrunner-1.9.1/unstable/jsdIDebuggerService.h > /usr/include/xulrunner-1.9.1/unstable/jsdate.h > /usr/include/xulrunner-1.9.1/unstable/jsdbgapi.h > /usr/include/xulrunner-1.9.1/unstable/jsdebug.h > /usr/include/xulrunner-1.9.1/unstable/jsdhash.h > /usr/include/xulrunner-1.9.1/unstable/jsdtoa.h > /usr/include/xulrunner-1.9.1/unstable/jsemit.h > /usr/include/xulrunner-1.9.1/unstable/jsfun.h > /usr/include/xulrunner-1.9.1/unstable/jsgc.h > /usr/include/xulrunner-1.9.1/unstable/jshash.h > /usr/include/xulrunner-1.9.1/unstable/jsinterp.h > /usr/include/xulrunner-1.9.1/unstable/jsiter.h > /usr/include/xulrunner-1.9.1/unstable/jsjava.h > /usr/include/xulrunner-1.9.1/unstable/jslock.h > /usr/include/xulrunner-1.9.1/unstable/jslong.h > /usr/include/xulrunner-1.9.1/unstable/jsmath.h > /usr/include/xulrunner-1.9.1/unstable/jsnum.h > /usr/include/xulrunner-1.9.1/unstable/jsobj.h > /usr/include/xulrunner-1.9.1/unstable/json.h > /usr/include/xulrunner-1.9.1/unstable/jsopcode.h > /usr/include/xulrunner-1.9.1/unstable/jsopcode.tbl > /usr/include/xulrunner-1.9.1/unstable/jsotypes.h > /usr/include/xulrunner-1.9.1/unstable/jsparse.h > /usr/include/xulrunner-1.9.1/unstable/jsprf.h > /usr/include/xulrunner-1.9.1/unstable/jsproto.tbl > /usr/include/xulrunner-1.9.1/unstable/jsprvtd.h > /usr/include/xulrunner-1.9.1/unstable/jspubtd.h > /usr/include/xulrunner-1.9.1/unstable/jsregexp.h > /usr/include/xulrunner-1.9.1/unstable/jsscan.h > /usr/include/xulrunner-1.9.1/unstable/jsscope.h > /usr/include/xulrunner-1.9.1/unstable/jsscript.h > /usr/include/xulrunner-1.9.1/unstable/jsstaticcheck.h > /usr/include/xulrunner-1.9.1/unstable/jsstddef.h > /usr/include/xulrunner-1.9.1/unstable/jsstdint.h > /usr/include/xulrunner-1.9.1/unstable/jsstr.h > /usr/include/xulrunner-1.9.1/unstable/jstracer.h > /usr/include/xulrunner-1.9.1/unstable/jstypes.h > /usr/include/xulrunner-1.9.1/unstable/jsutil.h > /usr/include/xulrunner-1.9.1/unstable/jsversion.h > /usr/include/xulrunner-1.9.1/unstable/jsxdrapi.h > /usr/include/xulrunner-1.9.1/unstable/jsxml.h > /usr/include/xulrunner-1.9.1/unstable/jvmmgr.h > /usr/include/xulrunner-1.9.1/unstable/mozAutoDocUpdate.h > /usr/include/xulrunner-1.9.1/unstable/mozFlushType.h > /usr/include/xulrunner-1.9.1/unstable/mozIJSSubScriptLoader.h > /usr/include/xulrunner-1.9.1/unstable/mozIPersonalDictionary.h > /usr/include/xulrunner-1.9.1/unstable/mozISanitizingSerializer.h > /usr/include/xulrunner-1.9.1/unstable/mozISpellCheckingEngine.h > /usr/include/xulrunner-1.9.1/unstable/mozISpellI18NManager.h > /usr/include/xulrunner-1.9.1/unstable/mozISpellI18NUtil.h > /usr/include/xulrunner-1.9.1/unstable/mozIStorageAggregateFunction.h > /usr/include/xulrunner-1.9.1/unstable/mozIStorageConnection.h > /usr/include/xulrunner-1.9.1/unstable/mozIStorageDataSet.h > /usr/include/xulrunner-1.9.1/unstable/mozIStorageError.h > /usr/include/xulrunner-1.9.1/unstable/mozIStorageFunction.h > /usr/include/xulrunner-1.9.1/unstable/mozIStoragePendingStatement.h > /usr/include/xulrunner-1.9.1/unstable/mozIStorageProgressHandler.h > /usr/include/xulrunner-1.9.1/unstable/mozIStorageResultSet.h > /usr/include/xulrunner-1.9.1/unstable/mozIStorageRow.h > /usr/include/xulrunner-1.9.1/unstable/mozIStorageService.h > /usr/include/xulrunner-1.9.1/unstable/mozIStorageStatement.h > /usr/include/xulrunner-1.9.1/unstable/mozIStorageStatementCallback.h > /usr/include/xulrunner-1.9.1/unstable/mozIStorageStatementWrapper.h > /usr/include/xulrunner-1.9.1/unstable/mozIStorageValueArray.h > /usr/include/xulrunner-1.9.1/unstable/mozITXTToHTMLConv.h > /usr/include/xulrunner-1.9.1/unstable/mozStorage.h > /usr/include/xulrunner-1.9.1/unstable/mozStorageCID.h > /usr/include/xulrunner-1.9.1/unstable/mozStorageHelper.h > /usr/include/xulrunner-1.9.1/unstable/mozcontainer.h > /usr/include/xulrunner-1.9.1/unstable/mozdrawingarea.h > /usr/include/xulrunner-1.9.1/unstable/mozilla-config.h > /usr/include/xulrunner-1.9.1/unstable/mozpngconf.h > /usr/include/xulrunner-1.9.1/unstable/necko-config.h > /usr/include/xulrunner-1.9.1/unstable/netCore.h > /usr/include/xulrunner-1.9.1/unstable/netscape_javascript_JSException.h > /usr/include/xulrunner-1.9.1/unstable/netscape_javascript_JSObject.h > /usr/include/xulrunner-1.9.1/unstable/npapi.h > /usr/include/xulrunner-1.9.1/unstable/npfunctions.h > /usr/include/xulrunner-1.9.1/unstable/npruntime.h > /usr/include/xulrunner-1.9.1/unstable/nptypes.h > /usr/include/xulrunner-1.9.1/unstable/nsASocketHandler.h > /usr/include/xulrunner-1.9.1/unstable/nsAString.h > /usr/include/xulrunner-1.9.1/unstable/nsAXPCNativeCallContext.h > /usr/include/xulrunner-1.9.1/unstable/nsAboutProtocolUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsAccessNode.h > /usr/include/xulrunner-1.9.1/unstable/nsAccessNodeWrap.h > /usr/include/xulrunner-1.9.1/unstable/nsAccessibleEventData.h > /usr/include/xulrunner-1.9.1/unstable/nsAccessibleRelationWrap.h > /usr/include/xulrunner-1.9.1/unstable/nsAccessibleWrap.h > /usr/include/xulrunner-1.9.1/unstable/nsAgg.h > /usr/include/xulrunner-1.9.1/unstable/nsAlgorithm.h > /usr/include/xulrunner-1.9.1/unstable/nsAppDirectoryServiceDefs.h > /usr/include/xulrunner-1.9.1/unstable/nsAppShellCID.h > /usr/include/xulrunner-1.9.1/unstable/nsArrayEnumerator.h > /usr/include/xulrunner-1.9.1/unstable/nsArrayUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsAtomListUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsAtomService.h > /usr/include/xulrunner-1.9.1/unstable/nsAttrName.h > /usr/include/xulrunner-1.9.1/unstable/nsAudioStream.h > /usr/include/xulrunner-1.9.1/unstable/nsAutoJSValHolder.h > /usr/include/xulrunner-1.9.1/unstable/nsAutoLock.h > /usr/include/xulrunner-1.9.1/unstable/nsAutoPtr.h > /usr/include/xulrunner-1.9.1/unstable/nsAutoRef.h > /usr/include/xulrunner-1.9.1/unstable/nsBaseHashtable.h > /usr/include/xulrunner-1.9.1/unstable/nsBidi.h > /usr/include/xulrunner-1.9.1/unstable/nsBidiFrames.h > /usr/include/xulrunner-1.9.1/unstable/nsBidiPresUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsBidiUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsBindingManager.h > /usr/include/xulrunner-1.9.1/unstable/nsCDefaultURIFixup.h > /usr/include/xulrunner-1.9.1/unstable/nsCDocShell.h > /usr/include/xulrunner-1.9.1/unstable/nsCExternalHandlerService.h > /usr/include/xulrunner-1.9.1/unstable/nsCOMArray.h > /usr/include/xulrunner-1.9.1/unstable/nsCOMPtr.h > /usr/include/xulrunner-1.9.1/unstable/nsCPasswordManager.h > /usr/include/xulrunner-1.9.1/unstable/nsCPasswordManagerInternal.h > /usr/include/xulrunner-1.9.1/unstable/nsCPrefetchService.h > /usr/include/xulrunner-1.9.1/unstable/nsCRT.h > /usr/include/xulrunner-1.9.1/unstable/nsCRTGlue.h > /usr/include/xulrunner-1.9.1/unstable/nsCSSAnonBoxList.h > /usr/include/xulrunner-1.9.1/unstable/nsCSSAnonBoxes.h > /usr/include/xulrunner-1.9.1/unstable/nsCSSFrameConstructor.h > /usr/include/xulrunner-1.9.1/unstable/nsCSSKeywordList.h > /usr/include/xulrunner-1.9.1/unstable/nsCSSKeywords.h > /usr/include/xulrunner-1.9.1/unstable/nsCSSPropList.h > /usr/include/xulrunner-1.9.1/unstable/nsCSSProperty.h > /usr/include/xulrunner-1.9.1/unstable/nsCSSProps.h > /usr/include/xulrunner-1.9.1/unstable/nsCSSPseudoClassList.h > /usr/include/xulrunner-1.9.1/unstable/nsCSSPseudoClasses.h > /usr/include/xulrunner-1.9.1/unstable/nsCSSPseudoElementList.h > /usr/include/xulrunner-1.9.1/unstable/nsCSSPseudoElements.h > /usr/include/xulrunner-1.9.1/unstable/nsCSSRuleProcessor.h > /usr/include/xulrunner-1.9.1/unstable/nsCSSStruct.h > /usr/include/xulrunner-1.9.1/unstable/nsCSSStyleSheet.h > /usr/include/xulrunner-1.9.1/unstable/nsCSSValue.h > /usr/include/xulrunner-1.9.1/unstable/nsCTooltipTextProvider.h > /usr/include/xulrunner-1.9.1/unstable/nsCUPSShim.h > /usr/include/xulrunner-1.9.1/unstable/nsCURILoader.h > /usr/include/xulrunner-1.9.1/unstable/nsCWebBrowser.h > /usr/include/xulrunner-1.9.1/unstable/nsCWebBrowserPersist.h > /usr/include/xulrunner-1.9.1/unstable/nsCacheService.h > /usr/include/xulrunner-1.9.1/unstable/nsCaret.h > /usr/include/xulrunner-1.9.1/unstable/nsCaseTreatment.h > /usr/include/xulrunner-1.9.1/unstable/nsCategoryCache.h > /usr/include/xulrunner-1.9.1/unstable/nsCategoryManagerUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsChangeHint.h > /usr/include/xulrunner-1.9.1/unstable/nsChannelProperties.h > /usr/include/xulrunner-1.9.1/unstable/nsChannelReader.h > /usr/include/xulrunner-1.9.1/unstable/nsCharTraits.h > /usr/include/xulrunner-1.9.1/unstable/nsCharsetDetectionAdaptorCID.h > /usr/include/xulrunner-1.9.1/unstable/nsCheapSets.h > /usr/include/xulrunner-1.9.1/unstable/nsClassHashtable.h > /usr/include/xulrunner-1.9.1/unstable/nsClientRect.h > /usr/include/xulrunner-1.9.1/unstable/nsCollation.h > /usr/include/xulrunner-1.9.1/unstable/nsCollationCID.h > /usr/include/xulrunner-1.9.1/unstable/nsColor.h > /usr/include/xulrunner-1.9.1/unstable/nsColorNameList.h > /usr/include/xulrunner-1.9.1/unstable/nsColorNames.h > /usr/include/xulrunner-1.9.1/unstable/nsCom.h > /usr/include/xulrunner-1.9.1/unstable/nsCommaSeparatedTokenizer.h > /usr/include/xulrunner-1.9.1/unstable/nsCompatibility.h > /usr/include/xulrunner-1.9.1/unstable/nsComponentManagerUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsCompressedCharMap.h > /usr/include/xulrunner-1.9.1/unstable/nsContentCID.h > /usr/include/xulrunner-1.9.1/unstable/nsContentCreatorFunctions.h > /usr/include/xulrunner-1.9.1/unstable/nsContentDLF.h > /usr/include/xulrunner-1.9.1/unstable/nsContentErrors.h > /usr/include/xulrunner-1.9.1/unstable/nsContentList.h > /usr/include/xulrunner-1.9.1/unstable/nsContentPolicyUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsContentUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsCoord.h > /usr/include/xulrunner-1.9.1/unstable/nsCopySupport.h > /usr/include/xulrunner-1.9.1/unstable/nsCppSharedAllocator.h > /usr/include/xulrunner-1.9.1/unstable/nsCycleCollectionParticipant.h > /usr/include/xulrunner-1.9.1/unstable/nsCycleCollector.h > /usr/include/xulrunner-1.9.1/unstable/nsDOMCID.h > /usr/include/xulrunner-1.9.1/unstable/nsDOMCSSDeclaration.h > /usr/include/xulrunner-1.9.1/unstable/nsDOMClassInfoID.h > /usr/include/xulrunner-1.9.1/unstable/nsDOMError.h > /usr/include/xulrunner-1.9.1/unstable/nsDOMFile.h > /usr/include/xulrunner-1.9.1/unstable/nsDOMJSUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsDOMScriptObjectHolder.h > /usr/include/xulrunner-1.9.1/unstable/nsDOMString.h > /usr/include/xulrunner-1.9.1/unstable/nsDataHashtable.h > /usr/include/xulrunner-1.9.1/unstable/nsDateTimeFormatCID.h > /usr/include/xulrunner-1.9.1/unstable/nsDebug.h > /usr/include/xulrunner-1.9.1/unstable/nsDebugImpl.h > /usr/include/xulrunner-1.9.1/unstable/nsDefaultPlugin.h > /usr/include/xulrunner-1.9.1/unstable/nsDependentString.h > /usr/include/xulrunner-1.9.1/unstable/nsDependentSubstring.h > /usr/include/xulrunner-1.9.1/unstable/nsDeque.h > /usr/include/xulrunner-1.9.1/unstable/nsDetectionConfident.h > /usr/include/xulrunner-1.9.1/unstable/nsDeviceContext.h > /usr/include/xulrunner-1.9.1/unstable/nsDirectoryService.h > /usr/include/xulrunner-1.9.1/unstable/nsDirectoryServiceDefs.h > /usr/include/xulrunner-1.9.1/unstable/nsDirectoryServiceUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsDisplayList.h > /usr/include/xulrunner-1.9.1/unstable/nsDocAccessibleWrap.h > /usr/include/xulrunner-1.9.1/unstable/nsDocLoader.h > /usr/include/xulrunner-1.9.1/unstable/nsDocShellCID.h > /usr/include/xulrunner-1.9.1/unstable/nsDocShellLoadTypes.h > /usr/include/xulrunner-1.9.1/unstable/nsDocumentCharsetInfoCID.h > /usr/include/xulrunner-1.9.1/unstable/nsDoubleHashtable.h > /usr/include/xulrunner-1.9.1/unstable/nsEditorCID.h > /usr/include/xulrunner-1.9.1/unstable/nsEmbedAPI.h > /usr/include/xulrunner-1.9.1/unstable/nsEmbedCID.h > /usr/include/xulrunner-1.9.1/unstable/nsEmbedString.h > /usr/include/xulrunner-1.9.1/unstable/nsEncoderDecoderUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsEnumeratorUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsError.h > /usr/include/xulrunner-1.9.1/unstable/nsEscape.h > /usr/include/xulrunner-1.9.1/unstable/nsEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsEventDispatcher.h > /usr/include/xulrunner-1.9.1/unstable/nsEventQueue.h > /usr/include/xulrunner-1.9.1/unstable/nsExpirationTracker.h > /usr/include/xulrunner-1.9.1/unstable/nsFastLoadService.h > /usr/include/xulrunner-1.9.1/unstable/nsFixedSizeAllocator.h > /usr/include/xulrunner-1.9.1/unstable/nsFont.h > /usr/include/xulrunner-1.9.1/unstable/nsFrameList.h > /usr/include/xulrunner-1.9.1/unstable/nsFrameManager.h > /usr/include/xulrunner-1.9.1/unstable/nsFrameManagerBase.h > /usr/include/xulrunner-1.9.1/unstable/nsFrameSelection.h > /usr/include/xulrunner-1.9.1/unstable/nsFrameTraversal.h > /usr/include/xulrunner-1.9.1/unstable/nsGTKToolkit.h > /usr/include/xulrunner-1.9.1/unstable/nsGUIEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsGenericFactory.h > /usr/include/xulrunner-1.9.1/unstable/nsGfxCIID.h > /usr/include/xulrunner-1.9.1/unstable/nsGkAtomList.h > /usr/include/xulrunner-1.9.1/unstable/nsGkAtoms.h > /usr/include/xulrunner-1.9.1/unstable/nsGrid.h > /usr/include/xulrunner-1.9.1/unstable/nsGridCell.h > /usr/include/xulrunner-1.9.1/unstable/nsGridLayout2.h > /usr/include/xulrunner-1.9.1/unstable/nsGridRow.h > /usr/include/xulrunner-1.9.1/unstable/nsGridRowGroupLayout.h > /usr/include/xulrunner-1.9.1/unstable/nsGridRowLayout.h > /usr/include/xulrunner-1.9.1/unstable/nsGridRowLeafFrame.h > /usr/include/xulrunner-1.9.1/unstable/nsGridRowLeafLayout.h > /usr/include/xulrunner-1.9.1/unstable/nsHTMLAudioElement.h > /usr/include/xulrunner-1.9.1/unstable/nsHTMLFormControlAccessible.h > /usr/include/xulrunner-1.9.1/unstable/nsHTMLImageAccessibleWrap.h > /usr/include/xulrunner-1.9.1/unstable/nsHTMLMediaElement.h > /usr/include/xulrunner-1.9.1/unstable/nsHTMLParts.h > /usr/include/xulrunner-1.9.1/unstable/nsHTMLReflowMetrics.h > /usr/include/xulrunner-1.9.1/unstable/nsHTMLReflowState.h > /usr/include/xulrunner-1.9.1/unstable/nsHTMLTableAccessibleWrap.h > /usr/include/xulrunner-1.9.1/unstable/nsHTMLTagList.h > /usr/include/xulrunner-1.9.1/unstable/nsHTMLTags.h > /usr/include/xulrunner-1.9.1/unstable/nsHTMLTokens.h > /usr/include/xulrunner-1.9.1/unstable/nsHTMLVideoElement.h > /usr/include/xulrunner-1.9.1/unstable/nsHankakuToZenkakuCID.h > /usr/include/xulrunner-1.9.1/unstable/nsHashKeys.h > /usr/include/xulrunner-1.9.1/unstable/nsHashPropertyBag.h > /usr/include/xulrunner-1.9.1/unstable/nsHashSets.h > /usr/include/xulrunner-1.9.1/unstable/nsHashtable.h > /usr/include/xulrunner-1.9.1/unstable/nsHyperTextAccessible.h > /usr/include/xulrunner-1.9.1/unstable/nsHyperTextAccessibleWrap.h > /usr/include/xulrunner-1.9.1/unstable/nsIASN1Object.h > /usr/include/xulrunner-1.9.1/unstable/nsIASN1PrintableItem.h > /usr/include/xulrunner-1.9.1/unstable/nsIASN1Sequence.h > /usr/include/xulrunner-1.9.1/unstable/nsIASN1Tree.h > /usr/include/xulrunner-1.9.1/unstable/nsIAboutModule.h > /usr/include/xulrunner-1.9.1/unstable/nsIAccessNode.h > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibilityService.h > /usr/include/xulrunner-1.9.1/unstable/nsIAccessible.h > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleDocument.h > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleEditableText.h > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleHyperLink.h > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleHyperText.h > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleImage.h > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleProvider.h > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleRelation.h > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleRetrieval.h > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleRole.h > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleSelectable.h > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleStates.h > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleTable.h > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleText.h > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleTreeCache.h > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleTypes.h > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleValue.h > /usr/include/xulrunner-1.9.1/unstable/nsIAddonRepository.h > /usr/include/xulrunner-1.9.1/unstable/nsIAlertsService.h > /usr/include/xulrunner-1.9.1/unstable/nsIAllocator.h > /usr/include/xulrunner-1.9.1/unstable/nsIAnnotationService.h > /usr/include/xulrunner-1.9.1/unstable/nsIAnonymousContentCreator.h > /usr/include/xulrunner-1.9.1/unstable/nsIAppShell.h > /usr/include/xulrunner-1.9.1/unstable/nsIAppShellService.h > /usr/include/xulrunner-1.9.1/unstable/nsIAppStartup.h > /usr/include/xulrunner-1.9.1/unstable/nsIAppStartupNotifier.h > /usr/include/xulrunner-1.9.1/unstable/nsIApplicationCache.h > /usr/include/xulrunner-1.9.1/unstable/nsIApplicationCacheChannel.h > /usr/include/xulrunner-1.9.1/unstable/nsIApplicationCacheContainer.h > /usr/include/xulrunner-1.9.1/unstable/nsIApplicationCacheService.h > /usr/include/xulrunner-1.9.1/unstable/nsIArray.h > /usr/include/xulrunner-1.9.1/unstable/nsIAssociatedContentSecurity.h > /usr/include/xulrunner-1.9.1/unstable/nsIAsyncInputStream.h > /usr/include/xulrunner-1.9.1/unstable/nsIAsyncOutputStream.h > /usr/include/xulrunner-1.9.1/unstable/nsIAsyncStreamCopier.h > /usr/include/xulrunner-1.9.1/unstable/nsIAtom.h > /usr/include/xulrunner-1.9.1/unstable/nsIAtomService.h > /usr/include/xulrunner-1.9.1/unstable/nsIAttribute.h > /usr/include/xulrunner-1.9.1/unstable/nsIAuthInformation.h > /usr/include/xulrunner-1.9.1/unstable/nsIAuthModule.h > /usr/include/xulrunner-1.9.1/unstable/nsIAuthPrompt.h > /usr/include/xulrunner-1.9.1/unstable/nsIAuthPrompt2.h > /usr/include/xulrunner-1.9.1/unstable/nsIAuthPromptAdapterFactory.h > /usr/include/xulrunner-1.9.1/unstable/nsIAuthPromptCallback.h > /usr/include/xulrunner-1.9.1/unstable/nsIAuthPromptProvider.h > /usr/include/xulrunner-1.9.1/unstable/nsIAuthPromptWrapper.h > /usr/include/xulrunner-1.9.1/unstable/nsIAutoCompleteController.h > /usr/include/xulrunner-1.9.1/unstable/nsIAutoCompleteInput.h > /usr/include/xulrunner-1.9.1/unstable/nsIAutoCompletePopup.h > /usr/include/xulrunner-1.9.1/unstable/nsIAutoCompleteResult.h > /usr/include/xulrunner-1.9.1/unstable/nsIAutoCompleteResultTypes.h > /usr/include/xulrunner-1.9.1/unstable/nsIAutoCompleteSearch.h > /usr/include/xulrunner-1.9.1/unstable/nsIAutoCompleteSimpleResult.h > /usr/include/xulrunner-1.9.1/unstable/nsIAutoConfig.h > /usr/include/xulrunner-1.9.1/unstable/nsIBadCertListener2.h > /usr/include/xulrunner-1.9.1/unstable/nsIBaseDOMException.h > /usr/include/xulrunner-1.9.1/unstable/nsIBaseWindow.h > /usr/include/xulrunner-1.9.1/unstable/nsIBidiKeyboard.h > /usr/include/xulrunner-1.9.1/unstable/nsIBinaryInputStream.h > /usr/include/xulrunner-1.9.1/unstable/nsIBinaryOutputStream.h > /usr/include/xulrunner-1.9.1/unstable/nsIBlocklistService.h > /usr/include/xulrunner-1.9.1/unstable/nsIBoxObject.h > /usr/include/xulrunner-1.9.1/unstable/nsIBrowserBoxObject.h > /usr/include/xulrunner-1.9.1/unstable/nsIBrowserDOMWindow.h > /usr/include/xulrunner-1.9.1/unstable/nsIBrowserHistory.h > /usr/include/xulrunner-1.9.1/unstable/nsIBrowserInstance.h > /usr/include/xulrunner-1.9.1/unstable/nsIBrowserSearchService.h > /usr/include/xulrunner-1.9.1/unstable/nsIBufEntropyCollector.h > /usr/include/xulrunner-1.9.1/unstable/nsIBufferedStreams.h > /usr/include/xulrunner-1.9.1/unstable/nsIByteBuffer.h > /usr/include/xulrunner-1.9.1/unstable/nsIByteRangeRequest.h > /usr/include/xulrunner-1.9.1/unstable/nsICMSDecoder.h > /usr/include/xulrunner-1.9.1/unstable/nsICMSEncoder.h > /usr/include/xulrunner-1.9.1/unstable/nsICMSMessage.h > /usr/include/xulrunner-1.9.1/unstable/nsICMSMessage2.h > /usr/include/xulrunner-1.9.1/unstable/nsICMSMessageErrors.h > /usr/include/xulrunner-1.9.1/unstable/nsICMSSecureMessage.h > /usr/include/xulrunner-1.9.1/unstable/nsICRLInfo.h > /usr/include/xulrunner-1.9.1/unstable/nsICRLManager.h > /usr/include/xulrunner-1.9.1/unstable/nsICSSDeclaration.h > /usr/include/xulrunner-1.9.1/unstable/nsICSSGroupRule.h > /usr/include/xulrunner-1.9.1/unstable/nsICSSImportRule.h > /usr/include/xulrunner-1.9.1/unstable/nsICSSLoader.h > /usr/include/xulrunner-1.9.1/unstable/nsICSSLoaderObserver.h > /usr/include/xulrunner-1.9.1/unstable/nsICSSNameSpaceRule.h > /usr/include/xulrunner-1.9.1/unstable/nsICSSOMFactory.h > /usr/include/xulrunner-1.9.1/unstable/nsICSSParser.h > /usr/include/xulrunner-1.9.1/unstable/nsICSSPseudoComparator.h > /usr/include/xulrunner-1.9.1/unstable/nsICSSRule.h > /usr/include/xulrunner-1.9.1/unstable/nsICSSRuleList.h > /usr/include/xulrunner-1.9.1/unstable/nsICSSStyleRule.h > /usr/include/xulrunner-1.9.1/unstable/nsICSSStyleRuleDOMWrapper.h > /usr/include/xulrunner-1.9.1/unstable/nsICSSStyleSheet.h > /usr/include/xulrunner-1.9.1/unstable/nsICache.h > /usr/include/xulrunner-1.9.1/unstable/nsICacheEntryDescriptor.h > /usr/include/xulrunner-1.9.1/unstable/nsICacheListener.h > /usr/include/xulrunner-1.9.1/unstable/nsICacheService.h > /usr/include/xulrunner-1.9.1/unstable/nsICacheSession.h > /usr/include/xulrunner-1.9.1/unstable/nsICacheVisitor.h > /usr/include/xulrunner-1.9.1/unstable/nsICachingChannel.h > /usr/include/xulrunner-1.9.1/unstable/nsICancelable.h > /usr/include/xulrunner-1.9.1/unstable/nsICanvasElement.h > /usr/include/xulrunner-1.9.1/unstable/nsICanvasFrame.h > /usr/include/xulrunner-1.9.1/unstable/nsICanvasRenderingContextInternal.h > /usr/include/xulrunner-1.9.1/unstable/nsICaseConversion.h > /usr/include/xulrunner-1.9.1/unstable/nsICategoryManager.h > /usr/include/xulrunner-1.9.1/unstable/nsICertOverrideService.h > /usr/include/xulrunner-1.9.1/unstable/nsICertPickDialogs.h > /usr/include/xulrunner-1.9.1/unstable/nsICertTree.h > /usr/include/xulrunner-1.9.1/unstable/nsICertificateDialogs.h > /usr/include/xulrunner-1.9.1/unstable/nsIChannel.h > /usr/include/xulrunner-1.9.1/unstable/nsIChannelClassifier.h > /usr/include/xulrunner-1.9.1/unstable/nsIChannelEventSink.h > /usr/include/xulrunner-1.9.1/unstable/nsICharRepresentable.h > /usr/include/xulrunner-1.9.1/unstable/nsICharsetAlias.h > /usr/include/xulrunner-1.9.1/unstable/nsICharsetConverterManager.h > /usr/include/xulrunner-1.9.1/unstable/nsICharsetDetectionAdaptor.h > /usr/include/xulrunner-1.9.1/unstable/nsICharsetDetectionObserver.h > /usr/include/xulrunner-1.9.1/unstable/nsICharsetDetector.h > /usr/include/xulrunner-1.9.1/unstable/nsICharsetResolver.h > /usr/include/xulrunner-1.9.1/unstable/nsICheckboxControlFrame.h > /usr/include/xulrunner-1.9.1/unstable/nsIChromeRegistry.h > /usr/include/xulrunner-1.9.1/unstable/nsICipherInfo.h > /usr/include/xulrunner-1.9.1/unstable/nsICiter.h > /usr/include/xulrunner-1.9.1/unstable/nsIClassInfo.h > /usr/include/xulrunner-1.9.1/unstable/nsIClassInfoImpl.h > /usr/include/xulrunner-1.9.1/unstable/nsIClassicPluginFactory.h > /usr/include/xulrunner-1.9.1/unstable/nsIClientAuthDialogs.h > /usr/include/xulrunner-1.9.1/unstable/nsIClipboard.h > /usr/include/xulrunner-1.9.1/unstable/nsIClipboardCommands.h > /usr/include/xulrunner-1.9.1/unstable/nsIClipboardDragDropHookList.h > /usr/include/xulrunner-1.9.1/unstable/nsIClipboardDragDropHooks.h > /usr/include/xulrunner-1.9.1/unstable/nsIClipboardHelper.h > /usr/include/xulrunner-1.9.1/unstable/nsIClipboardOwner.h > /usr/include/xulrunner-1.9.1/unstable/nsICollation.h > /usr/include/xulrunner-1.9.1/unstable/nsICollection.h > /usr/include/xulrunner-1.9.1/unstable/nsIComboboxControlFrame.h > /usr/include/xulrunner-1.9.1/unstable/nsICommandHandler.h > /usr/include/xulrunner-1.9.1/unstable/nsICommandLine.h > /usr/include/xulrunner-1.9.1/unstable/nsICommandLineHandler.h > /usr/include/xulrunner-1.9.1/unstable/nsICommandLineRunner.h > /usr/include/xulrunner-1.9.1/unstable/nsICommandLineValidator.h > /usr/include/xulrunner-1.9.1/unstable/nsICommandManager.h > /usr/include/xulrunner-1.9.1/unstable/nsICommandParams.h > /usr/include/xulrunner-1.9.1/unstable/nsIComponentManager.h > /usr/include/xulrunner-1.9.1/unstable/nsIComponentManagerObsolete.h > /usr/include/xulrunner-1.9.1/unstable/nsIComponentRegistrar.h > /usr/include/xulrunner-1.9.1/unstable/nsIComputedDOMStyle.h > /usr/include/xulrunner-1.9.1/unstable/nsIConsoleListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIConsoleMessage.h > /usr/include/xulrunner-1.9.1/unstable/nsIConsoleService.h > /usr/include/xulrunner-1.9.1/unstable/nsIContainerBoxObject.h > /usr/include/xulrunner-1.9.1/unstable/nsIContent.h > /usr/include/xulrunner-1.9.1/unstable/nsIContentDispatchChooser.h > /usr/include/xulrunner-1.9.1/unstable/nsIContentFilter.h > /usr/include/xulrunner-1.9.1/unstable/nsIContentHandler.h > /usr/include/xulrunner-1.9.1/unstable/nsIContentIterator.h > /usr/include/xulrunner-1.9.1/unstable/nsIContentPolicy.h > /usr/include/xulrunner-1.9.1/unstable/nsIContentPrefService.h > /usr/include/xulrunner-1.9.1/unstable/nsIContentSerializer.h > /usr/include/xulrunner-1.9.1/unstable/nsIContentSink.h > /usr/include/xulrunner-1.9.1/unstable/nsIContentSniffer.h > /usr/include/xulrunner-1.9.1/unstable/nsIContentURIGrouper.h > /usr/include/xulrunner-1.9.1/unstable/nsIContentViewer.h > /usr/include/xulrunner-1.9.1/unstable/nsIContentViewerContainer.h > /usr/include/xulrunner-1.9.1/unstable/nsIContentViewerEdit.h > /usr/include/xulrunner-1.9.1/unstable/nsIContentViewerFile.h > /usr/include/xulrunner-1.9.1/unstable/nsIContextMenuListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIContextMenuListener2.h > /usr/include/xulrunner-1.9.1/unstable/nsIController.h > /usr/include/xulrunner-1.9.1/unstable/nsIControllerCommand.h > /usr/include/xulrunner-1.9.1/unstable/nsIControllerCommandTable.h > /usr/include/xulrunner-1.9.1/unstable/nsIControllerContext.h > /usr/include/xulrunner-1.9.1/unstable/nsIControllers.h > /usr/include/xulrunner-1.9.1/unstable/nsIConverterInputStream.h > /usr/include/xulrunner-1.9.1/unstable/nsIConverterOutputStream.h > /usr/include/xulrunner-1.9.1/unstable/nsICookie.h > /usr/include/xulrunner-1.9.1/unstable/nsICookie2.h > /usr/include/xulrunner-1.9.1/unstable/nsICookieAcceptDialog.h > /usr/include/xulrunner-1.9.1/unstable/nsICookieManager.h > /usr/include/xulrunner-1.9.1/unstable/nsICookieManager2.h > /usr/include/xulrunner-1.9.1/unstable/nsICookiePermission.h > /usr/include/xulrunner-1.9.1/unstable/nsICookiePromptService.h > /usr/include/xulrunner-1.9.1/unstable/nsICookieService.h > /usr/include/xulrunner-1.9.1/unstable/nsICookieStorage.h > /usr/include/xulrunner-1.9.1/unstable/nsICryptoFIPSInfo.h > /usr/include/xulrunner-1.9.1/unstable/nsICryptoHMAC.h > /usr/include/xulrunner-1.9.1/unstable/nsICryptoHash.h > /usr/include/xulrunner-1.9.1/unstable/nsICurrentCharsetListener.h > /usr/include/xulrunner-1.9.1/unstable/nsID.h > /usr/include/xulrunner-1.9.1/unstable/nsIDNSListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIDNSRecord.h > /usr/include/xulrunner-1.9.1/unstable/nsIDNSService.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOM3Attr.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOM3Document.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOM3DocumentEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOM3EventTarget.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOM3Node.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOM3Text.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOM3TypeInfo.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMAbstractView.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMAttr.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMBarProp.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMBeforeUnloadEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCDATASection.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCRMFObject.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSS2Properties.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSCharsetRule.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSFontFaceRule.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSImportRule.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSMediaRule.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSMozDocumentRule.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSPageRule.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSPrimitiveValue.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSRule.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSRuleList.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSStyleDeclaration.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSStyleRule.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSStyleSheet.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSUnknownRule.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSValue.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSValueList.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCanvasRenderingContext2D.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCharacterData.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMChromeWindow.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMClassInfo.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMClientInformation.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMClientRect.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMClientRectList.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCommandEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMComment.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCompositionListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMConstructor.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMContextMenuListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCounter.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCrypto.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCryptoDialogs.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDOMConfiguration.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDOMException.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDOMImplementation.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDOMImplementationLS.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDOMStringList.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDataContainerEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDataTransfer.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocument.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocumentCSS.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocumentEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocumentFragment.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocumentRange.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocumentStyle.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocumentTraversal.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocumentType.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocumentView.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocumentXBL.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDragEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDragListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMElementCSSInlineStyle.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMEntity.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMEntityReference.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMEventGroup.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMEventListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMEventTarget.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMFile.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMFileException.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMFileList.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMFocusListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMFormListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMGeoGeolocation.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMGeoPosition.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMGeoPositionCallback.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMGeoPositionCoords.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMGeoPositionError.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMGeoPositionErrorCallback.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMGeoPositionOptions.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMGetSVGDocument.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLAnchorElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLAppletElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLAreaElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLAudioElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLBRElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLBaseElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLBaseFontElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLBodyElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLButtonElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLByteRanges.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLCanvasElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLCollection.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLDListElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLDirectoryElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLDivElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLDocument.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLEmbedElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLFieldSetElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLFontElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLFormElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLFrameElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLFrameSetElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLHRElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLHeadElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLHeadingElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLHtmlElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLIFrameElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLImageElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLInputElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLIsIndexElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLLIElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLLabelElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLLegendElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLLinkElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLMapElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLMediaElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLMediaError.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLMenuElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLMetaElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLModElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLOListElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLObjectElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLOptGroupElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLOptionElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLOptionsCollection.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLParagraphElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLParamElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLPreElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLQuoteElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLScriptElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLSelectElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLSourceElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLStyleElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLTableCaptionElem.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLTableCellElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLTableColElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLTableElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLTableRowElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLTableSectionElem.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLTextAreaElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLTimeRanges.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLTitleElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLUListElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLVideoElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLVoidCallback.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHistory.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMInstallTriggerGlobal.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMJSWindow.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMKeyEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMKeyListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSException.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSInput.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSLoadEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSOutput.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSParser.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSParserFilter.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSProgressEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSResourceResolver.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSSerializer.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSSerializerFilter.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLinkStyle.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLoadListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLoadStatus.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLoadStatusEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLocation.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMMediaList.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMMessageEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMMimeType.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMMimeTypeArray.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMModalContentWindow.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMMouseEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMMouseListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMMouseMotionListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMMouseScrollEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMMutationEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSDocument.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSDocumentStyle.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSEditableElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSEventTarget.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSFeatureFactory.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLAnchorElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLAnchorElement2.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLAreaElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLAreaElement2.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLButtonElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLDocument.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLFormControlList.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLFormElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLFrameElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLHRElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLImageElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLInputElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLOptionCollectn.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLOptionElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLSelectElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLTextAreaElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSRGBAColor.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSRange.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSUIEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSXBLFormControl.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSXPathExpression.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNameList.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNamedNodeMap.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNavigator.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNavigatorGeolocation.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNode.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNodeFilter.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNodeIterator.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNodeList.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNodeSelector.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNotation.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNotifyPaintEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMOfflineResourceList.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMPageTransitionEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMParser.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMPkcs11.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMPlugin.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMPluginArray.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMPopupBlockedEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMProcessingInstruction.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMProgressEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMRGBColor.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMRange.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMRangeException.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMRect.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAngle.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimPresAspRatio.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimTransformList.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedAngle.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedBoolean.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedEnum.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedInteger.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedLength.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedLengthList.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedNumber.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedNumberList.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedPathData.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedPoints.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedRect.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedString.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGCircleElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGClipPathElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGDefsElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGDescElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGDocument.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGEllipseElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGException.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGFilterElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGFilters.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGFitToViewBox.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGForeignObjectElem.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGGElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGGradientElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGImageElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGLength.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGLengthList.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGLineElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGLocatable.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGMarkerElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGMaskElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGMatrix.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGMetadataElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGNumber.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGNumberList.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGPathElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGPathSeg.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGPathSegList.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGPatternElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGPoint.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGPointList.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGPolygonElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGPolylineElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGPresAspectRatio.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGRect.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGRectElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGSVGElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGScriptElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGStopElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGStylable.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGStyleElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGSwitchElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGSymbolElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGTSpanElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGTextContentElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGTextElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGTextPathElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGTextPositionElem.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGTitleElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGTransform.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGTransformList.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGTransformable.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGURIReference.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGUnitTypes.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGUseElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGViewSpec.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGZoomAndPan.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGZoomEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGZoomListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMScreen.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMScriptObjectFactory.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSerializer.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSimpleGestureEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSmartCardEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMStorage.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMStorage2.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMStorageEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMStorageItem.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMStorageList.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMStorageManager.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMStorageWindow.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMStorageWindow_1_9_1.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMStyleSheet.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMStyleSheetList.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMText.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMTextListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMToString.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMTreeWalker.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMUIEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMUIListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMUserDataHandler.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMViewCSS.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMWindow.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMWindow2.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMWindowCollection.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMWindowInternal.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMWindowUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMWorkers.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXMLDocument.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXPathEvaluator.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXPathException.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXPathExpression.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXPathNSResolver.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXPathNamespace.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXPathResult.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULButtonElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULCheckboxElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULCommandDispatcher.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULCommandEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULContainerElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULControlElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULDescriptionElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULDocument.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULImageElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULLabelElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULLabeledControlEl.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULMenuListElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULMultSelectCntrlEl.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULPopupElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULSelectCntrlEl.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULSelectCntrlItemEl.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULTextboxElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULTreeElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIDTD.h > /usr/include/xulrunner-1.9.1/unstable/nsIDataSignatureVerifier.h > /usr/include/xulrunner-1.9.1/unstable/nsIDateTimeFormat.h > /usr/include/xulrunner-1.9.1/unstable/nsIDebug.h > /usr/include/xulrunner-1.9.1/unstable/nsIDeviceContext.h > /usr/include/xulrunner-1.9.1/unstable/nsIDeviceContextSpec.h > /usr/include/xulrunner-1.9.1/unstable/nsIDialogParamBlock.h > /usr/include/xulrunner-1.9.1/unstable/nsIDirIndex.h > /usr/include/xulrunner-1.9.1/unstable/nsIDirIndexListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIDirectoryEnumerator.h > /usr/include/xulrunner-1.9.1/unstable/nsIDirectoryService.h > /usr/include/xulrunner-1.9.1/unstable/nsIDocCharset.h > /usr/include/xulrunner-1.9.1/unstable/nsIDocShell.h > /usr/include/xulrunner-1.9.1/unstable/nsIDocShellHistory.h > /usr/include/xulrunner-1.9.1/unstable/nsIDocShellLoadInfo.h > /usr/include/xulrunner-1.9.1/unstable/nsIDocShellTreeItem.h > /usr/include/xulrunner-1.9.1/unstable/nsIDocShellTreeNode.h > /usr/include/xulrunner-1.9.1/unstable/nsIDocShellTreeOwner.h > /usr/include/xulrunner-1.9.1/unstable/nsIDocument.h > /usr/include/xulrunner-1.9.1/unstable/nsIDocumentCharsetInfo.h > /usr/include/xulrunner-1.9.1/unstable/nsIDocumentEncoder.h > /usr/include/xulrunner-1.9.1/unstable/nsIDocumentLoader.h > /usr/include/xulrunner-1.9.1/unstable/nsIDocumentLoaderFactory.h > /usr/include/xulrunner-1.9.1/unstable/nsIDocumentObserver.h > /usr/include/xulrunner-1.9.1/unstable/nsIDocumentStateListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIDocumentTransformer.h > /usr/include/xulrunner-1.9.1/unstable/nsIDocumentViewer.h > /usr/include/xulrunner-1.9.1/unstable/nsIDownload.h > /usr/include/xulrunner-1.9.1/unstable/nsIDownloadHistory.h > /usr/include/xulrunner-1.9.1/unstable/nsIDownloadManager.h > /usr/include/xulrunner-1.9.1/unstable/nsIDownloadManagerUI.h > /usr/include/xulrunner-1.9.1/unstable/nsIDownloadProgressListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIDownloader.h > /usr/include/xulrunner-1.9.1/unstable/nsIDragDropHandler.h > /usr/include/xulrunner-1.9.1/unstable/nsIDragService.h > /usr/include/xulrunner-1.9.1/unstable/nsIDragSession.h > /usr/include/xulrunner-1.9.1/unstable/nsIDragSessionGTK.h > /usr/include/xulrunner-1.9.1/unstable/nsIDynamicContainer.h > /usr/include/xulrunner-1.9.1/unstable/nsIEditActionListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIEditingSession.h > /usr/include/xulrunner-1.9.1/unstable/nsIEditor.h > /usr/include/xulrunner-1.9.1/unstable/nsIEditorBoxObject.h > /usr/include/xulrunner-1.9.1/unstable/nsIEditorDocShell.h > /usr/include/xulrunner-1.9.1/unstable/nsIEditorIMESupport.h > /usr/include/xulrunner-1.9.1/unstable/nsIEditorLogging.h > /usr/include/xulrunner-1.9.1/unstable/nsIEditorMailSupport.h > /usr/include/xulrunner-1.9.1/unstable/nsIEditorObserver.h > /usr/include/xulrunner-1.9.1/unstable/nsIEditorSpellCheck.h > /usr/include/xulrunner-1.9.1/unstable/nsIEditorStyleSheets.h > /usr/include/xulrunner-1.9.1/unstable/nsIEffectiveTLDService.h > /usr/include/xulrunner-1.9.1/unstable/nsIElementObserver.h > /usr/include/xulrunner-1.9.1/unstable/nsIEmbeddingSiteWindow.h > /usr/include/xulrunner-1.9.1/unstable/nsIEmbeddingSiteWindow2.h > /usr/include/xulrunner-1.9.1/unstable/nsIEncodedChannel.h > /usr/include/xulrunner-1.9.1/unstable/nsIEntityConverter.h > /usr/include/xulrunner-1.9.1/unstable/nsIEntropyCollector.h > /usr/include/xulrunner-1.9.1/unstable/nsIEnumerator.h > /usr/include/xulrunner-1.9.1/unstable/nsIEnvironment.h > /usr/include/xulrunner-1.9.1/unstable/nsIErrorService.h > /usr/include/xulrunner-1.9.1/unstable/nsIEventHandler.h > /usr/include/xulrunner-1.9.1/unstable/nsIEventListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIEventListenerManager.h > /usr/include/xulrunner-1.9.1/unstable/nsIEventStateManager.h > /usr/include/xulrunner-1.9.1/unstable/nsIEventTarget.h > /usr/include/xulrunner-1.9.1/unstable/nsIException.h > /usr/include/xulrunner-1.9.1/unstable/nsIExceptionService.h > /usr/include/xulrunner-1.9.1/unstable/nsIExpatSink.h > /usr/include/xulrunner-1.9.1/unstable/nsIExtendedExpatSink.h > /usr/include/xulrunner-1.9.1/unstable/nsIExtensionManager.h > /usr/include/xulrunner-1.9.1/unstable/nsIExternalHelperAppService.h > /usr/include/xulrunner-1.9.1/unstable/nsIExternalProtocolHandler.h > /usr/include/xulrunner-1.9.1/unstable/nsIExternalProtocolService.h > /usr/include/xulrunner-1.9.1/unstable/nsIFIXptr.h > /usr/include/xulrunner-1.9.1/unstable/nsIFTPChannel.h > /usr/include/xulrunner-1.9.1/unstable/nsIFactory.h > /usr/include/xulrunner-1.9.1/unstable/nsIFastLoadFileControl.h > /usr/include/xulrunner-1.9.1/unstable/nsIFastLoadService.h > /usr/include/xulrunner-1.9.1/unstable/nsIFaviconService.h > /usr/include/xulrunner-1.9.1/unstable/nsIFeed.h > /usr/include/xulrunner-1.9.1/unstable/nsIFeedContainer.h > /usr/include/xulrunner-1.9.1/unstable/nsIFeedElementBase.h > /usr/include/xulrunner-1.9.1/unstable/nsIFeedEntry.h > /usr/include/xulrunner-1.9.1/unstable/nsIFeedGenerator.h > /usr/include/xulrunner-1.9.1/unstable/nsIFeedListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIFeedPerson.h > /usr/include/xulrunner-1.9.1/unstable/nsIFeedProcessor.h > /usr/include/xulrunner-1.9.1/unstable/nsIFeedResult.h > /usr/include/xulrunner-1.9.1/unstable/nsIFeedTextConstruct.h > /usr/include/xulrunner-1.9.1/unstable/nsIFile.h > /usr/include/xulrunner-1.9.1/unstable/nsIFileChannel.h > /usr/include/xulrunner-1.9.1/unstable/nsIFileControlElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIFilePicker.h > /usr/include/xulrunner-1.9.1/unstable/nsIFileProtocolHandler.h > /usr/include/xulrunner-1.9.1/unstable/nsIFileStreams.h > /usr/include/xulrunner-1.9.1/unstable/nsIFileURL.h > /usr/include/xulrunner-1.9.1/unstable/nsIFileUtilities.h > /usr/include/xulrunner-1.9.1/unstable/nsIFileView.h > /usr/include/xulrunner-1.9.1/unstable/nsIFind.h > /usr/include/xulrunner-1.9.1/unstable/nsIFindService.h > /usr/include/xulrunner-1.9.1/unstable/nsIFocusController.h > /usr/include/xulrunner-1.9.1/unstable/nsIFocusEventSuppressor.h > /usr/include/xulrunner-1.9.1/unstable/nsIFontEnumerator.h > /usr/include/xulrunner-1.9.1/unstable/nsIFontMetrics.h > /usr/include/xulrunner-1.9.1/unstable/nsIForm.h > /usr/include/xulrunner-1.9.1/unstable/nsIFormControl.h > /usr/include/xulrunner-1.9.1/unstable/nsIFormControlFrame.h > /usr/include/xulrunner-1.9.1/unstable/nsIFormFillController.h > /usr/include/xulrunner-1.9.1/unstable/nsIFormHistory.h > /usr/include/xulrunner-1.9.1/unstable/nsIFormProcessor.h > /usr/include/xulrunner-1.9.1/unstable/nsIFormSigningDialog.h > /usr/include/xulrunner-1.9.1/unstable/nsIFormSubmission.h > /usr/include/xulrunner-1.9.1/unstable/nsIFormSubmitObserver.h > /usr/include/xulrunner-1.9.1/unstable/nsIFormatConverter.h > /usr/include/xulrunner-1.9.1/unstable/nsIFragmentContentSink.h > /usr/include/xulrunner-1.9.1/unstable/nsIFrame.h > /usr/include/xulrunner-1.9.1/unstable/nsIFrameDebug.h > /usr/include/xulrunner-1.9.1/unstable/nsIFrameFrame.h > /usr/include/xulrunner-1.9.1/unstable/nsIFrameLoader.h > /usr/include/xulrunner-1.9.1/unstable/nsIFrameSetElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIFrameTraversal.h > /usr/include/xulrunner-1.9.1/unstable/nsIFrameUtil.h > /usr/include/xulrunner-1.9.1/unstable/nsIFullScreen.h > /usr/include/xulrunner-1.9.1/unstable/nsIGConfService.h > /usr/include/xulrunner-1.9.1/unstable/nsIGenKeypairInfoDlg.h > /usr/include/xulrunner-1.9.1/unstable/nsIGenericFactory.h > /usr/include/xulrunner-1.9.1/unstable/nsIGeolocationProvider.h > /usr/include/xulrunner-1.9.1/unstable/nsIGlobalHistory.h > /usr/include/xulrunner-1.9.1/unstable/nsIGlobalHistory2.h > /usr/include/xulrunner-1.9.1/unstable/nsIGlobalHistory3.h > /usr/include/xulrunner-1.9.1/unstable/nsIGnomeVFSService.h > /usr/include/xulrunner-1.9.1/unstable/nsIGridPart.h > /usr/include/xulrunner-1.9.1/unstable/nsIHTMLAbsPosEditor.h > /usr/include/xulrunner-1.9.1/unstable/nsIHTMLCSSStyleSheet.h > /usr/include/xulrunner-1.9.1/unstable/nsIHTMLCollection.h > /usr/include/xulrunner-1.9.1/unstable/nsIHTMLContentSink.h > /usr/include/xulrunner-1.9.1/unstable/nsIHTMLDocument.h > /usr/include/xulrunner-1.9.1/unstable/nsIHTMLEditor.h > /usr/include/xulrunner-1.9.1/unstable/nsIHTMLInlineTableEditor.h > /usr/include/xulrunner-1.9.1/unstable/nsIHTMLObjectResizeListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIHTMLObjectResizer.h > /usr/include/xulrunner-1.9.1/unstable/nsIHTMLToTextSink.h > /usr/include/xulrunner-1.9.1/unstable/nsIHTTPHeaderListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIHTTPIndex.h > /usr/include/xulrunner-1.9.1/unstable/nsIHandlerService.h > /usr/include/xulrunner-1.9.1/unstable/nsIHashable.h > /usr/include/xulrunner-1.9.1/unstable/nsIHelperAppLauncherDialog.h > /usr/include/xulrunner-1.9.1/unstable/nsIHistoryEntry.h > /usr/include/xulrunner-1.9.1/unstable/nsIHttpActivityObserver.h > /usr/include/xulrunner-1.9.1/unstable/nsIHttpAuthManager.h > /usr/include/xulrunner-1.9.1/unstable/nsIHttpAuthenticator.h > /usr/include/xulrunner-1.9.1/unstable/nsIHttpChannel.h > /usr/include/xulrunner-1.9.1/unstable/nsIHttpChannelInternal.h > /usr/include/xulrunner-1.9.1/unstable/nsIHttpEventSink.h > /usr/include/xulrunner-1.9.1/unstable/nsIHttpHeaderVisitor.h > /usr/include/xulrunner-1.9.1/unstable/nsIHttpProtocolHandler.h > /usr/include/xulrunner-1.9.1/unstable/nsIID.h > /usr/include/xulrunner-1.9.1/unstable/nsIIDNService.h > /usr/include/xulrunner-1.9.1/unstable/nsIIFrameBoxObject.h > /usr/include/xulrunner-1.9.1/unstable/nsIINIParser.h > /usr/include/xulrunner-1.9.1/unstable/nsIIOService.h > /usr/include/xulrunner-1.9.1/unstable/nsIIOService2.h > /usr/include/xulrunner-1.9.1/unstable/nsIIconURI.h > /usr/include/xulrunner-1.9.1/unstable/nsIIdentityInfo.h > /usr/include/xulrunner-1.9.1/unstable/nsIIdleService.h > /usr/include/xulrunner-1.9.1/unstable/nsIImage.h > /usr/include/xulrunner-1.9.1/unstable/nsIImageDocument.h > /usr/include/xulrunner-1.9.1/unstable/nsIImageFrame.h > /usr/include/xulrunner-1.9.1/unstable/nsIImageLoadingContent.h > /usr/include/xulrunner-1.9.1/unstable/nsIImageMap.h > /usr/include/xulrunner-1.9.1/unstable/nsIImageToPixbuf.h > /usr/include/xulrunner-1.9.1/unstable/nsIIncrementalDownload.h > /usr/include/xulrunner-1.9.1/unstable/nsIInlineSpellChecker.h > /usr/include/xulrunner-1.9.1/unstable/nsIInputStream.h > /usr/include/xulrunner-1.9.1/unstable/nsIInputStreamChannel.h > /usr/include/xulrunner-1.9.1/unstable/nsIInputStreamPump.h > /usr/include/xulrunner-1.9.1/unstable/nsIInputStreamTee.h > /usr/include/xulrunner-1.9.1/unstable/nsIInspectorCSSUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsIInterfaceInfo.h > /usr/include/xulrunner-1.9.1/unstable/nsIInterfaceInfoManager.h > /usr/include/xulrunner-1.9.1/unstable/nsIInterfaceRequestor.h > /usr/include/xulrunner-1.9.1/unstable/nsIInterfaceRequestorUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsIJAR.h > /usr/include/xulrunner-1.9.1/unstable/nsIJARChannel.h > /usr/include/xulrunner-1.9.1/unstable/nsIJARProtocolHandler.h > /usr/include/xulrunner-1.9.1/unstable/nsIJARURI.h > /usr/include/xulrunner-1.9.1/unstable/nsIJRILiveConnectPIPeer.h > /usr/include/xulrunner-1.9.1/unstable/nsIJRILiveConnectPlugin.h > /usr/include/xulrunner-1.9.1/unstable/nsIJRIPlugin.h > /usr/include/xulrunner-1.9.1/unstable/nsIJSContextStack.h > /usr/include/xulrunner-1.9.1/unstable/nsIJSEventListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIJSNativeInitializer.h > /usr/include/xulrunner-1.9.1/unstable/nsIJSON.h > /usr/include/xulrunner-1.9.1/unstable/nsIJSRuntimeService.h > /usr/include/xulrunner-1.9.1/unstable/nsIJVMAuthTools.h > /usr/include/xulrunner-1.9.1/unstable/nsIJVMConfigManager.h > /usr/include/xulrunner-1.9.1/unstable/nsIJVMConsole.h > /usr/include/xulrunner-1.9.1/unstable/nsIJVMManager.h > /usr/include/xulrunner-1.9.1/unstable/nsIJVMPlugin.h > /usr/include/xulrunner-1.9.1/unstable/nsIJVMPluginInstance.h > /usr/include/xulrunner-1.9.1/unstable/nsIJVMPluginTagInfo.h > /usr/include/xulrunner-1.9.1/unstable/nsIJVMPrefsWindow.h > /usr/include/xulrunner-1.9.1/unstable/nsIJVMThreadManager.h > /usr/include/xulrunner-1.9.1/unstable/nsIJVMWindow.h > /usr/include/xulrunner-1.9.1/unstable/nsIKeyModule.h > /usr/include/xulrunner-1.9.1/unstable/nsIKeygenThread.h > /usr/include/xulrunner-1.9.1/unstable/nsILanguageAtomService.h > /usr/include/xulrunner-1.9.1/unstable/nsILayoutDebugger.h > /usr/include/xulrunner-1.9.1/unstable/nsILayoutHistoryState.h > /usr/include/xulrunner-1.9.1/unstable/nsILineBreaker.h > /usr/include/xulrunner-1.9.1/unstable/nsILineInputStream.h > /usr/include/xulrunner-1.9.1/unstable/nsILineIterator.h > /usr/include/xulrunner-1.9.1/unstable/nsILink.h > /usr/include/xulrunner-1.9.1/unstable/nsILinkHandler.h > /usr/include/xulrunner-1.9.1/unstable/nsIListBoxObject.h > /usr/include/xulrunner-1.9.1/unstable/nsIListControlFrame.h > /usr/include/xulrunner-1.9.1/unstable/nsILiveConnectManager.h > /usr/include/xulrunner-1.9.1/unstable/nsILiveconnect.h > /usr/include/xulrunner-1.9.1/unstable/nsILivemarkService.h > /usr/include/xulrunner-1.9.1/unstable/nsILoadContext.h > /usr/include/xulrunner-1.9.1/unstable/nsILoadGroup.h > /usr/include/xulrunner-1.9.1/unstable/nsILocalFile.h > /usr/include/xulrunner-1.9.1/unstable/nsILocalFileWin.h > /usr/include/xulrunner-1.9.1/unstable/nsILocalStore.h > /usr/include/xulrunner-1.9.1/unstable/nsILocale.h > /usr/include/xulrunner-1.9.1/unstable/nsILocaleService.h > /usr/include/xulrunner-1.9.1/unstable/nsILoginInfo.h > /usr/include/xulrunner-1.9.1/unstable/nsILoginManager.h > /usr/include/xulrunner-1.9.1/unstable/nsILoginManagerIEMigrationHelper.h > /usr/include/xulrunner-1.9.1/unstable/nsILoginManagerPrompter.h > /usr/include/xulrunner-1.9.1/unstable/nsILoginManagerStorage.h > /usr/include/xulrunner-1.9.1/unstable/nsILoginMetaInfo.h > /usr/include/xulrunner-1.9.1/unstable/nsILookAndFeel.h > /usr/include/xulrunner-1.9.1/unstable/nsIMIMEHeaderParam.h > /usr/include/xulrunner-1.9.1/unstable/nsIMIMEInfo.h > /usr/include/xulrunner-1.9.1/unstable/nsIMIMEInputStream.h > /usr/include/xulrunner-1.9.1/unstable/nsIMIMEService.h > /usr/include/xulrunner-1.9.1/unstable/nsIMacLocale.h > /usr/include/xulrunner-1.9.1/unstable/nsIMarkupDocumentViewer.h > /usr/include/xulrunner-1.9.1/unstable/nsIMemory.h > /usr/include/xulrunner-1.9.1/unstable/nsIMemoryReporter.h > /usr/include/xulrunner-1.9.1/unstable/nsIMenuBoxObject.h > /usr/include/xulrunner-1.9.1/unstable/nsIMenuFrame.h > /usr/include/xulrunner-1.9.1/unstable/nsIMenuParent.h > /usr/include/xulrunner-1.9.1/unstable/nsIMenuRollup.h > /usr/include/xulrunner-1.9.1/unstable/nsIMetaCharsetService.h > /usr/include/xulrunner-1.9.1/unstable/nsIModifyableXPointer.h > /usr/include/xulrunner-1.9.1/unstable/nsIModule.h > /usr/include/xulrunner-1.9.1/unstable/nsIModuleLoader.h > /usr/include/xulrunner-1.9.1/unstable/nsIMultiPartChannel.h > /usr/include/xulrunner-1.9.1/unstable/nsIMultiplexInputStream.h > /usr/include/xulrunner-1.9.1/unstable/nsIMutable.h > /usr/include/xulrunner-1.9.1/unstable/nsIMutableArray.h > /usr/include/xulrunner-1.9.1/unstable/nsIMutationObserver.h > /usr/include/xulrunner-1.9.1/unstable/nsINIParser.h > /usr/include/xulrunner-1.9.1/unstable/nsINSSCertCache.h > /usr/include/xulrunner-1.9.1/unstable/nsINSSErrorsService.h > /usr/include/xulrunner-1.9.1/unstable/nsINameSpaceManager.h > /usr/include/xulrunner-1.9.1/unstable/nsINativeAppSupport.h > /usr/include/xulrunner-1.9.1/unstable/nsINativeKeyBindings.h > /usr/include/xulrunner-1.9.1/unstable/nsINavBookmarksService.h > /usr/include/xulrunner-1.9.1/unstable/nsINavHistoryService.h > /usr/include/xulrunner-1.9.1/unstable/nsINestedURI.h > /usr/include/xulrunner-1.9.1/unstable/nsINetUtil.h > /usr/include/xulrunner-1.9.1/unstable/nsINetworkLinkService.h > /usr/include/xulrunner-1.9.1/unstable/nsINode.h > /usr/include/xulrunner-1.9.1/unstable/nsINodeInfo.h > /usr/include/xulrunner-1.9.1/unstable/nsINodeList.h > /usr/include/xulrunner-1.9.1/unstable/nsINonBlockingAlertService.h > /usr/include/xulrunner-1.9.1/unstable/nsIOCSPResponder.h > /usr/include/xulrunner-1.9.1/unstable/nsIOS2Locale.h > /usr/include/xulrunner-1.9.1/unstable/nsIObjectFrame.h > /usr/include/xulrunner-1.9.1/unstable/nsIObjectInputStream.h > /usr/include/xulrunner-1.9.1/unstable/nsIObjectLoadingContent.h > /usr/include/xulrunner-1.9.1/unstable/nsIObjectOutputStream.h > /usr/include/xulrunner-1.9.1/unstable/nsIObserver.h > /usr/include/xulrunner-1.9.1/unstable/nsIObserverService.h > /usr/include/xulrunner-1.9.1/unstable/nsIOfflineCacheUpdate.h > /usr/include/xulrunner-1.9.1/unstable/nsIOptionElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIOutputStream.h > /usr/include/xulrunner-1.9.1/unstable/nsIPK11Token.h > /usr/include/xulrunner-1.9.1/unstable/nsIPK11TokenDB.h > /usr/include/xulrunner-1.9.1/unstable/nsIPKCS11.h > /usr/include/xulrunner-1.9.1/unstable/nsIPKCS11Module.h > /usr/include/xulrunner-1.9.1/unstable/nsIPKCS11ModuleDB.h > /usr/include/xulrunner-1.9.1/unstable/nsIPKCS11Slot.h > /usr/include/xulrunner-1.9.1/unstable/nsIPKIParamBlock.h > /usr/include/xulrunner-1.9.1/unstable/nsIPageSequenceFrame.h > /usr/include/xulrunner-1.9.1/unstable/nsIParentalControlsService.h > /usr/include/xulrunner-1.9.1/unstable/nsIParser.h > /usr/include/xulrunner-1.9.1/unstable/nsIParserFilter.h > /usr/include/xulrunner-1.9.1/unstable/nsIParserNode.h > /usr/include/xulrunner-1.9.1/unstable/nsIParserService.h > /usr/include/xulrunner-1.9.1/unstable/nsIPasswordManager.h > /usr/include/xulrunner-1.9.1/unstable/nsIPasswordManagerInternal.h > /usr/include/xulrunner-1.9.1/unstable/nsIPercentHeightObserver.h > /usr/include/xulrunner-1.9.1/unstable/nsIPermission.h > /usr/include/xulrunner-1.9.1/unstable/nsIPermissionManager.h > /usr/include/xulrunner-1.9.1/unstable/nsIPersistentProperties2.h > /usr/include/xulrunner-1.9.1/unstable/nsIPhonetic.h > /usr/include/xulrunner-1.9.1/unstable/nsIPipe.h > /usr/include/xulrunner-1.9.1/unstable/nsIPlaintextEditor.h > /usr/include/xulrunner-1.9.1/unstable/nsIPlatformCharset.h > /usr/include/xulrunner-1.9.1/unstable/nsIPlugin.h > /usr/include/xulrunner-1.9.1/unstable/nsIPluginDocument.h > /usr/include/xulrunner-1.9.1/unstable/nsIPluginHost.h > /usr/include/xulrunner-1.9.1/unstable/nsIPluginInputStream.h > /usr/include/xulrunner-1.9.1/unstable/nsIPluginInstance.h > /usr/include/xulrunner-1.9.1/unstable/nsIPluginInstanceInternal.h > /usr/include/xulrunner-1.9.1/unstable/nsIPluginInstanceOwner.h > /usr/include/xulrunner-1.9.1/unstable/nsIPluginInstancePeer.h > /usr/include/xulrunner-1.9.1/unstable/nsIPluginInstancePeer2.h > /usr/include/xulrunner-1.9.1/unstable/nsIPluginManager.h > /usr/include/xulrunner-1.9.1/unstable/nsIPluginManager2.h > /usr/include/xulrunner-1.9.1/unstable/nsIPluginStreamInfo.h > /usr/include/xulrunner-1.9.1/unstable/nsIPluginStreamListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIPluginTag.h > /usr/include/xulrunner-1.9.1/unstable/nsIPluginTagInfo.h > /usr/include/xulrunner-1.9.1/unstable/nsIPluginTagInfo2.h > /usr/include/xulrunner-1.9.1/unstable/nsIPluginWidget.h > /usr/include/xulrunner-1.9.1/unstable/nsIPopupBoxObject.h > /usr/include/xulrunner-1.9.1/unstable/nsIPopupWindowManager.h > /usr/include/xulrunner-1.9.1/unstable/nsIPosixLocale.h > /usr/include/xulrunner-1.9.1/unstable/nsIPref.h > /usr/include/xulrunner-1.9.1/unstable/nsIPrefBranch.h > /usr/include/xulrunner-1.9.1/unstable/nsIPrefBranch2.h > /usr/include/xulrunner-1.9.1/unstable/nsIPrefBranchInternal.h > /usr/include/xulrunner-1.9.1/unstable/nsIPrefLocalizedString.h > /usr/include/xulrunner-1.9.1/unstable/nsIPrefService.h > /usr/include/xulrunner-1.9.1/unstable/nsIPrefetchService.h > /usr/include/xulrunner-1.9.1/unstable/nsIPresShell.h > /usr/include/xulrunner-1.9.1/unstable/nsIPrincipal.h > /usr/include/xulrunner-1.9.1/unstable/nsIPrintDialogService.h > /usr/include/xulrunner-1.9.1/unstable/nsIPrintOptions.h > /usr/include/xulrunner-1.9.1/unstable/nsIPrintProgress.h > /usr/include/xulrunner-1.9.1/unstable/nsIPrintProgressParams.h > /usr/include/xulrunner-1.9.1/unstable/nsIPrintSession.h > /usr/include/xulrunner-1.9.1/unstable/nsIPrintSettings.h > /usr/include/xulrunner-1.9.1/unstable/nsIPrintSettingsService.h > /usr/include/xulrunner-1.9.1/unstable/nsIPrintStatusFeedback.h > /usr/include/xulrunner-1.9.1/unstable/nsIPrintingPrompt.h > /usr/include/xulrunner-1.9.1/unstable/nsIPrintingPromptService.h > /usr/include/xulrunner-1.9.1/unstable/nsIPrivateBrowsingService.h > /usr/include/xulrunner-1.9.1/unstable/nsIPrivateCompositionEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIPrivateDOMEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIPrivateDOMImplementation.h > /usr/include/xulrunner-1.9.1/unstable/nsIPrivateTextEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsIPrivateTextRange.h > /usr/include/xulrunner-1.9.1/unstable/nsIProcess.h > /usr/include/xulrunner-1.9.1/unstable/nsIProfile.h > /usr/include/xulrunner-1.9.1/unstable/nsIProfileChangeStatus.h > /usr/include/xulrunner-1.9.1/unstable/nsIProfileMigrator.h > /usr/include/xulrunner-1.9.1/unstable/nsIProfileUnlocker.h > /usr/include/xulrunner-1.9.1/unstable/nsIProgrammingLanguage.h > /usr/include/xulrunner-1.9.1/unstable/nsIProgressEventSink.h > /usr/include/xulrunner-1.9.1/unstable/nsIPrompt.h > /usr/include/xulrunner-1.9.1/unstable/nsIPromptFactory.h > /usr/include/xulrunner-1.9.1/unstable/nsIPromptService.h > /usr/include/xulrunner-1.9.1/unstable/nsIPromptService2.h > /usr/include/xulrunner-1.9.1/unstable/nsIProperties.h > /usr/include/xulrunner-1.9.1/unstable/nsIProperty.h > /usr/include/xulrunner-1.9.1/unstable/nsIPropertyBag.h > /usr/include/xulrunner-1.9.1/unstable/nsIPropertyBag2.h > /usr/include/xulrunner-1.9.1/unstable/nsIProtectedAuthThread.h > /usr/include/xulrunner-1.9.1/unstable/nsIProtocolHandler.h > /usr/include/xulrunner-1.9.1/unstable/nsIProtocolProxyCallback.h > /usr/include/xulrunner-1.9.1/unstable/nsIProtocolProxyFilter.h > /usr/include/xulrunner-1.9.1/unstable/nsIProtocolProxyService.h > /usr/include/xulrunner-1.9.1/unstable/nsIProtocolProxyService2.h > /usr/include/xulrunner-1.9.1/unstable/nsIProxiedChannel.h > /usr/include/xulrunner-1.9.1/unstable/nsIProxiedProtocolHandler.h > /usr/include/xulrunner-1.9.1/unstable/nsIProxyAutoConfig.h > /usr/include/xulrunner-1.9.1/unstable/nsIProxyInfo.h > /usr/include/xulrunner-1.9.1/unstable/nsIProxyObjectManager.h > /usr/include/xulrunner-1.9.1/unstable/nsIRDFCompositeDataSource.h > /usr/include/xulrunner-1.9.1/unstable/nsIRDFContainer.h > /usr/include/xulrunner-1.9.1/unstable/nsIRDFContainerUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsIRDFContentSink.h > /usr/include/xulrunner-1.9.1/unstable/nsIRDFDataSource.h > /usr/include/xulrunner-1.9.1/unstable/nsIRDFDelegateFactory.h > /usr/include/xulrunner-1.9.1/unstable/nsIRDFInMemoryDataSource.h > /usr/include/xulrunner-1.9.1/unstable/nsIRDFInferDataSource.h > /usr/include/xulrunner-1.9.1/unstable/nsIRDFLiteral.h > /usr/include/xulrunner-1.9.1/unstable/nsIRDFNode.h > /usr/include/xulrunner-1.9.1/unstable/nsIRDFObserver.h > /usr/include/xulrunner-1.9.1/unstable/nsIRDFPropagatableDataSource.h > /usr/include/xulrunner-1.9.1/unstable/nsIRDFPurgeableDataSource.h > /usr/include/xulrunner-1.9.1/unstable/nsIRDFRemoteDataSource.h > /usr/include/xulrunner-1.9.1/unstable/nsIRDFResource.h > /usr/include/xulrunner-1.9.1/unstable/nsIRDFService.h > /usr/include/xulrunner-1.9.1/unstable/nsIRDFXMLParser.h > /usr/include/xulrunner-1.9.1/unstable/nsIRDFXMLSerializer.h > /usr/include/xulrunner-1.9.1/unstable/nsIRDFXMLSink.h > /usr/include/xulrunner-1.9.1/unstable/nsIRDFXMLSource.h > /usr/include/xulrunner-1.9.1/unstable/nsIRadioControlElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIRadioControlFrame.h > /usr/include/xulrunner-1.9.1/unstable/nsIRadioGroupContainer.h > /usr/include/xulrunner-1.9.1/unstable/nsIRadioVisitor.h > /usr/include/xulrunner-1.9.1/unstable/nsIRandomGenerator.h > /usr/include/xulrunner-1.9.1/unstable/nsIRange.h > /usr/include/xulrunner-1.9.1/unstable/nsIRangeUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsIReadConfig.h > /usr/include/xulrunner-1.9.1/unstable/nsIRecentBadCertsService.h > /usr/include/xulrunner-1.9.1/unstable/nsIRecyclingAllocator.h > /usr/include/xulrunner-1.9.1/unstable/nsIReflowCallback.h > /usr/include/xulrunner-1.9.1/unstable/nsIRefreshURI.h > /usr/include/xulrunner-1.9.1/unstable/nsIRegion.h > /usr/include/xulrunner-1.9.1/unstable/nsIRelativeFilePref.h > /usr/include/xulrunner-1.9.1/unstable/nsIRemoteService.h > /usr/include/xulrunner-1.9.1/unstable/nsIRenderingContext.h > /usr/include/xulrunner-1.9.1/unstable/nsIRequest.h > /usr/include/xulrunner-1.9.1/unstable/nsIRequestObserver.h > /usr/include/xulrunner-1.9.1/unstable/nsIRequestObserverProxy.h > /usr/include/xulrunner-1.9.1/unstable/nsIResProtocolHandler.h > /usr/include/xulrunner-1.9.1/unstable/nsIResumableChannel.h > /usr/include/xulrunner-1.9.1/unstable/nsIRollupListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIRunnable.h > /usr/include/xulrunner-1.9.1/unstable/nsISAXAttributes.h > /usr/include/xulrunner-1.9.1/unstable/nsISAXContentHandler.h > /usr/include/xulrunner-1.9.1/unstable/nsISAXDTDHandler.h > /usr/include/xulrunner-1.9.1/unstable/nsISAXErrorHandler.h > /usr/include/xulrunner-1.9.1/unstable/nsISAXLexicalHandler.h > /usr/include/xulrunner-1.9.1/unstable/nsISAXLocator.h > /usr/include/xulrunner-1.9.1/unstable/nsISAXMutableAttributes.h > /usr/include/xulrunner-1.9.1/unstable/nsISAXXMLFilter.h > /usr/include/xulrunner-1.9.1/unstable/nsISAXXMLReader.h > /usr/include/xulrunner-1.9.1/unstable/nsISHContainer.h > /usr/include/xulrunner-1.9.1/unstable/nsISHEntry.h > /usr/include/xulrunner-1.9.1/unstable/nsISHTransaction.h > /usr/include/xulrunner-1.9.1/unstable/nsISHistory.h > /usr/include/xulrunner-1.9.1/unstable/nsISHistoryInternal.h > /usr/include/xulrunner-1.9.1/unstable/nsISHistoryListener.h > /usr/include/xulrunner-1.9.1/unstable/nsISMimeCert.h > /usr/include/xulrunner-1.9.1/unstable/nsISOCKSSocketInfo.h > /usr/include/xulrunner-1.9.1/unstable/nsISSLCertErrorDialog.h > /usr/include/xulrunner-1.9.1/unstable/nsISSLErrorListener.h > /usr/include/xulrunner-1.9.1/unstable/nsISSLSocketControl.h > /usr/include/xulrunner-1.9.1/unstable/nsISSLStatus.h > /usr/include/xulrunner-1.9.1/unstable/nsISSLStatusProvider.h > /usr/include/xulrunner-1.9.1/unstable/nsISVGTextContentMetrics.h > /usr/include/xulrunner-1.9.1/unstable/nsISVGValue.h > /usr/include/xulrunner-1.9.1/unstable/nsISVGValueObserver.h > /usr/include/xulrunner-1.9.1/unstable/nsISVGValueUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsISafeOutputStream.h > /usr/include/xulrunner-1.9.1/unstable/nsISaveAsCharset.h > /usr/include/xulrunner-1.9.1/unstable/nsIScreen.h > /usr/include/xulrunner-1.9.1/unstable/nsIScreenManager.h > /usr/include/xulrunner-1.9.1/unstable/nsIScriptChannel.h > /usr/include/xulrunner-1.9.1/unstable/nsIScriptContext.h > /usr/include/xulrunner-1.9.1/unstable/nsIScriptElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIScriptError.h > /usr/include/xulrunner-1.9.1/unstable/nsIScriptEventHandler.h > /usr/include/xulrunner-1.9.1/unstable/nsIScriptEventManager.h > /usr/include/xulrunner-1.9.1/unstable/nsIScriptExternalNameSet.h > /usr/include/xulrunner-1.9.1/unstable/nsIScriptGlobalObject.h > /usr/include/xulrunner-1.9.1/unstable/nsIScriptGlobalObjectOwner.h > /usr/include/xulrunner-1.9.1/unstable/nsIScriptLoaderObserver.h > /usr/include/xulrunner-1.9.1/unstable/nsIScriptNameSpaceManager.h > /usr/include/xulrunner-1.9.1/unstable/nsIScriptObjectOwner.h > /usr/include/xulrunner-1.9.1/unstable/nsIScriptObjectPrincipal.h > /usr/include/xulrunner-1.9.1/unstable/nsIScriptRuntime.h > /usr/include/xulrunner-1.9.1/unstable/nsIScriptSecurityManager.h > /usr/include/xulrunner-1.9.1/unstable/nsIScriptTimeoutHandler.h > /usr/include/xulrunner-1.9.1/unstable/nsIScriptableDateFormat.h > /usr/include/xulrunner-1.9.1/unstable/nsIScriptableInputStream.h > /usr/include/xulrunner-1.9.1/unstable/nsIScriptableInterfaces.h > /usr/include/xulrunner-1.9.1/unstable/nsIScriptablePlugin.h > /usr/include/xulrunner-1.9.1/unstable/nsIScriptableRegion.h > /usr/include/xulrunner-1.9.1/unstable/nsIScriptableUConv.h > /usr/include/xulrunner-1.9.1/unstable/nsIScriptableUnescapeHTML.h > /usr/include/xulrunner-1.9.1/unstable/nsIScrollBoxObject.h > /usr/include/xulrunner-1.9.1/unstable/nsIScrollPositionListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIScrollable.h > /usr/include/xulrunner-1.9.1/unstable/nsIScrollableFrame.h > /usr/include/xulrunner-1.9.1/unstable/nsIScrollableView.h > /usr/include/xulrunner-1.9.1/unstable/nsIScrollableViewProvider.h > /usr/include/xulrunner-1.9.1/unstable/nsIScrollbarMediator.h > /usr/include/xulrunner-1.9.1/unstable/nsISearchContext.h > /usr/include/xulrunner-1.9.1/unstable/nsISecretDecoderRing.h > /usr/include/xulrunner-1.9.1/unstable/nsISecureBrowserUI.h > /usr/include/xulrunner-1.9.1/unstable/nsISecureEnv.h > /usr/include/xulrunner-1.9.1/unstable/nsISecureLiveconnect.h > /usr/include/xulrunner-1.9.1/unstable/nsISecurityCheckedComponent.h > /usr/include/xulrunner-1.9.1/unstable/nsISecurityContext.h > /usr/include/xulrunner-1.9.1/unstable/nsISecurityEventSink.h > /usr/include/xulrunner-1.9.1/unstable/nsISecurityInfoProvider.h > /usr/include/xulrunner-1.9.1/unstable/nsISecurityPref.h > /usr/include/xulrunner-1.9.1/unstable/nsISecurityWarningDialogs.h > /usr/include/xulrunner-1.9.1/unstable/nsISeekableStream.h > /usr/include/xulrunner-1.9.1/unstable/nsISelectControlFrame.h > /usr/include/xulrunner-1.9.1/unstable/nsISelectElement.h > /usr/include/xulrunner-1.9.1/unstable/nsISelection.h > /usr/include/xulrunner-1.9.1/unstable/nsISelection2.h > /usr/include/xulrunner-1.9.1/unstable/nsISelectionController.h > /usr/include/xulrunner-1.9.1/unstable/nsISelectionDisplay.h > /usr/include/xulrunner-1.9.1/unstable/nsISelectionListener.h > /usr/include/xulrunner-1.9.1/unstable/nsISelectionPrivate.h > /usr/include/xulrunner-1.9.1/unstable/nsISemanticUnitScanner.h > /usr/include/xulrunner-1.9.1/unstable/nsISerializable.h > /usr/include/xulrunner-1.9.1/unstable/nsIServerSocket.h > /usr/include/xulrunner-1.9.1/unstable/nsIServiceManager.h > /usr/include/xulrunner-1.9.1/unstable/nsIServiceManagerObsolete.h > /usr/include/xulrunner-1.9.1/unstable/nsISidebar.h > /usr/include/xulrunner-1.9.1/unstable/nsISignatureVerifier.h > /usr/include/xulrunner-1.9.1/unstable/nsISimpleEnumerator.h > /usr/include/xulrunner-1.9.1/unstable/nsISimpleStreamListener.h > /usr/include/xulrunner-1.9.1/unstable/nsISimpleTest.h > /usr/include/xulrunner-1.9.1/unstable/nsISimpleUnicharStreamFactory.h > /usr/include/xulrunner-1.9.1/unstable/nsISliderListener.h > /usr/include/xulrunner-1.9.1/unstable/nsISocketProvider.h > /usr/include/xulrunner-1.9.1/unstable/nsISocketProviderService.h > /usr/include/xulrunner-1.9.1/unstable/nsISocketTransport.h > /usr/include/xulrunner-1.9.1/unstable/nsISocketTransportService.h > /usr/include/xulrunner-1.9.1/unstable/nsISound.h > /usr/include/xulrunner-1.9.1/unstable/nsISpellChecker.h > /usr/include/xulrunner-1.9.1/unstable/nsIStandardURL.h > /usr/include/xulrunner-1.9.1/unstable/nsIStatefulFrame.h > /usr/include/xulrunner-1.9.1/unstable/nsIStorageStream.h > /usr/include/xulrunner-1.9.1/unstable/nsIStreamBufferAccess.h > /usr/include/xulrunner-1.9.1/unstable/nsIStreamCipher.h > /usr/include/xulrunner-1.9.1/unstable/nsIStreamConverter.h > /usr/include/xulrunner-1.9.1/unstable/nsIStreamConverterService.h > /usr/include/xulrunner-1.9.1/unstable/nsIStreamListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIStreamListenerTee.h > /usr/include/xulrunner-1.9.1/unstable/nsIStreamLoader.h > /usr/include/xulrunner-1.9.1/unstable/nsIStreamTransportService.h > /usr/include/xulrunner-1.9.1/unstable/nsIStringBundle.h > /usr/include/xulrunner-1.9.1/unstable/nsIStringBundleOverride.h > /usr/include/xulrunner-1.9.1/unstable/nsIStringCharsetDetector.h > /usr/include/xulrunner-1.9.1/unstable/nsIStringEnumerator.h > /usr/include/xulrunner-1.9.1/unstable/nsIStringStream.h > /usr/include/xulrunner-1.9.1/unstable/nsIStyleRule.h > /usr/include/xulrunner-1.9.1/unstable/nsIStyleRuleProcessor.h > /usr/include/xulrunner-1.9.1/unstable/nsIStyleSheet.h > /usr/include/xulrunner-1.9.1/unstable/nsIStyleSheetLinkingElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIStyleSheetService.h > /usr/include/xulrunner-1.9.1/unstable/nsISupports.h > /usr/include/xulrunner-1.9.1/unstable/nsISupportsArray.h > /usr/include/xulrunner-1.9.1/unstable/nsISupportsBase.h > /usr/include/xulrunner-1.9.1/unstable/nsISupportsImpl.h > /usr/include/xulrunner-1.9.1/unstable/nsISupportsIterators.h > /usr/include/xulrunner-1.9.1/unstable/nsISupportsObsolete.h > /usr/include/xulrunner-1.9.1/unstable/nsISupportsPrimitives.h > /usr/include/xulrunner-1.9.1/unstable/nsISupportsPriority.h > /usr/include/xulrunner-1.9.1/unstable/nsISupportsUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsISymantecDebugManager.h > /usr/include/xulrunner-1.9.1/unstable/nsISymantecDebugger.h > /usr/include/xulrunner-1.9.1/unstable/nsISyncLoadDOMService.h > /usr/include/xulrunner-1.9.1/unstable/nsISyncStreamListener.h > /usr/include/xulrunner-1.9.1/unstable/nsISystemProxySettings.h > /usr/include/xulrunner-1.9.1/unstable/nsITXTToHTMLConv.h > /usr/include/xulrunner-1.9.1/unstable/nsITableCellLayout.h > /usr/include/xulrunner-1.9.1/unstable/nsITableEditor.h > /usr/include/xulrunner-1.9.1/unstable/nsITableLayout.h > /usr/include/xulrunner-1.9.1/unstable/nsITaggingService.h > /usr/include/xulrunner-1.9.1/unstable/nsITextControlElement.h > /usr/include/xulrunner-1.9.1/unstable/nsITextControlFrame.h > /usr/include/xulrunner-1.9.1/unstable/nsITextScroll.h > /usr/include/xulrunner-1.9.1/unstable/nsITextService.h > /usr/include/xulrunner-1.9.1/unstable/nsITextServicesDocument.h > /usr/include/xulrunner-1.9.1/unstable/nsITextServicesFilter.h > /usr/include/xulrunner-1.9.1/unstable/nsITextToSubURI.h > /usr/include/xulrunner-1.9.1/unstable/nsITextTransform.h > /usr/include/xulrunner-1.9.1/unstable/nsIThebesFontMetrics.h > /usr/include/xulrunner-1.9.1/unstable/nsITheme.h > /usr/include/xulrunner-1.9.1/unstable/nsIThread.h > /usr/include/xulrunner-1.9.1/unstable/nsIThreadInternal.h > /usr/include/xulrunner-1.9.1/unstable/nsIThreadManager.h > /usr/include/xulrunner-1.9.1/unstable/nsIThreadPool.h > /usr/include/xulrunner-1.9.1/unstable/nsITimelineService.h > /usr/include/xulrunner-1.9.1/unstable/nsITimer.h > /usr/include/xulrunner-1.9.1/unstable/nsITokenDialogs.h > /usr/include/xulrunner-1.9.1/unstable/nsITokenPasswordDialogs.h > /usr/include/xulrunner-1.9.1/unstable/nsITokenizer.h > /usr/include/xulrunner-1.9.1/unstable/nsIToolkit.h > /usr/include/xulrunner-1.9.1/unstable/nsIToolkitChromeRegistry.h > /usr/include/xulrunner-1.9.1/unstable/nsIToolkitProfile.h > /usr/include/xulrunner-1.9.1/unstable/nsIToolkitProfileService.h > /usr/include/xulrunner-1.9.1/unstable/nsITooltipListener.h > /usr/include/xulrunner-1.9.1/unstable/nsITooltipTextProvider.h > /usr/include/xulrunner-1.9.1/unstable/nsITraceRefcnt.h > /usr/include/xulrunner-1.9.1/unstable/nsITraceableChannel.h > /usr/include/xulrunner-1.9.1/unstable/nsITransaction.h > /usr/include/xulrunner-1.9.1/unstable/nsITransactionList.h > /usr/include/xulrunner-1.9.1/unstable/nsITransactionListener.h > /usr/include/xulrunner-1.9.1/unstable/nsITransactionManager.h > /usr/include/xulrunner-1.9.1/unstable/nsITransfer.h > /usr/include/xulrunner-1.9.1/unstable/nsITransferable.h > /usr/include/xulrunner-1.9.1/unstable/nsITransport.h > /usr/include/xulrunner-1.9.1/unstable/nsITransportSecurityInfo.h > /usr/include/xulrunner-1.9.1/unstable/nsITreeBoxObject.h > /usr/include/xulrunner-1.9.1/unstable/nsITreeColumns.h > /usr/include/xulrunner-1.9.1/unstable/nsITreeContentView.h > /usr/include/xulrunner-1.9.1/unstable/nsITreeSelection.h > /usr/include/xulrunner-1.9.1/unstable/nsITreeView.h > /usr/include/xulrunner-1.9.1/unstable/nsITypeAheadFind.h > /usr/include/xulrunner-1.9.1/unstable/nsIUGenCategory.h > /usr/include/xulrunner-1.9.1/unstable/nsIURI.h > /usr/include/xulrunner-1.9.1/unstable/nsIURIChecker.h > /usr/include/xulrunner-1.9.1/unstable/nsIURIClassifier.h > /usr/include/xulrunner-1.9.1/unstable/nsIURIContentListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIURIFixup.h > /usr/include/xulrunner-1.9.1/unstable/nsIURILoader.h > /usr/include/xulrunner-1.9.1/unstable/nsIURIRefObject.h > /usr/include/xulrunner-1.9.1/unstable/nsIURL.h > /usr/include/xulrunner-1.9.1/unstable/nsIURLFormatter.h > /usr/include/xulrunner-1.9.1/unstable/nsIURLParser.h > /usr/include/xulrunner-1.9.1/unstable/nsIUTF8ConverterService.h > /usr/include/xulrunner-1.9.1/unstable/nsIUUIDGenerator.h > /usr/include/xulrunner-1.9.1/unstable/nsIUnicharBuffer.h > /usr/include/xulrunner-1.9.1/unstable/nsIUnicharInputStream.h > /usr/include/xulrunner-1.9.1/unstable/nsIUnicharLineInputStream.h > /usr/include/xulrunner-1.9.1/unstable/nsIUnicharOutputStream.h > /usr/include/xulrunner-1.9.1/unstable/nsIUnicharStreamListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIUnicharStreamLoader.h > /usr/include/xulrunner-1.9.1/unstable/nsIUnicodeDecoder.h > /usr/include/xulrunner-1.9.1/unstable/nsIUnicodeEncoder.h > /usr/include/xulrunner-1.9.1/unstable/nsIUnicodeNormalizer.h > /usr/include/xulrunner-1.9.1/unstable/nsIUpdateService.h > /usr/include/xulrunner-1.9.1/unstable/nsIUploadChannel.h > /usr/include/xulrunner-1.9.1/unstable/nsIUrlClassifierDBService.h > /usr/include/xulrunner-1.9.1/unstable/nsIUrlClassifierHashCompleter.h > /usr/include/xulrunner-1.9.1/unstable/nsIUrlClassifierStreamUpdater.h > /usr/include/xulrunner-1.9.1/unstable/nsIUrlClassifierUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsIUrlListManager.h > /usr/include/xulrunner-1.9.1/unstable/nsIUserCertPicker.h > /usr/include/xulrunner-1.9.1/unstable/nsIUserInfo.h > /usr/include/xulrunner-1.9.1/unstable/nsIVariant.h > /usr/include/xulrunner-1.9.1/unstable/nsIVersionComparator.h > /usr/include/xulrunner-1.9.1/unstable/nsIView.h > /usr/include/xulrunner-1.9.1/unstable/nsIViewManager.h > /usr/include/xulrunner-1.9.1/unstable/nsIViewObserver.h > /usr/include/xulrunner-1.9.1/unstable/nsIViewSourceChannel.h > /usr/include/xulrunner-1.9.1/unstable/nsIWeakReference.h > /usr/include/xulrunner-1.9.1/unstable/nsIWeakReferenceUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowser.h > /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowserChrome.h > /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowserChrome2.h > /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowserChromeFocus.h > /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowserFind.h > /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowserFocus.h > /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowserPersist.h > /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowserPrint.h > /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowserSetup.h > /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowserStream.h > /usr/include/xulrunner-1.9.1/unstable/nsIWebContentHandlerRegistrar.h > /usr/include/xulrunner-1.9.1/unstable/nsIWebNavigation.h > /usr/include/xulrunner-1.9.1/unstable/nsIWebNavigationInfo.h > /usr/include/xulrunner-1.9.1/unstable/nsIWebPageDescriptor.h > /usr/include/xulrunner-1.9.1/unstable/nsIWebProgress.h > /usr/include/xulrunner-1.9.1/unstable/nsIWebProgressListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIWebProgressListener2.h > /usr/include/xulrunner-1.9.1/unstable/nsIWebShellServices.h > /usr/include/xulrunner-1.9.1/unstable/nsIWidget.h > /usr/include/xulrunner-1.9.1/unstable/nsIWin32Locale.h > /usr/include/xulrunner-1.9.1/unstable/nsIWindowCreator.h > /usr/include/xulrunner-1.9.1/unstable/nsIWindowCreator2.h > /usr/include/xulrunner-1.9.1/unstable/nsIWindowDataSource.h > /usr/include/xulrunner-1.9.1/unstable/nsIWindowMediator.h > /usr/include/xulrunner-1.9.1/unstable/nsIWindowMediatorListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIWindowProvider.h > /usr/include/xulrunner-1.9.1/unstable/nsIWindowWatcher.h > /usr/include/xulrunner-1.9.1/unstable/nsIWindowlessPlugInstPeer.h > /usr/include/xulrunner-1.9.1/unstable/nsIWordBreaker.h > /usr/include/xulrunner-1.9.1/unstable/nsIWritablePropertyBag.h > /usr/include/xulrunner-1.9.1/unstable/nsIWritablePropertyBag2.h > /usr/include/xulrunner-1.9.1/unstable/nsIWyciwygChannel.h > /usr/include/xulrunner-1.9.1/unstable/nsIX509Cert.h > /usr/include/xulrunner-1.9.1/unstable/nsIX509Cert2.h > /usr/include/xulrunner-1.9.1/unstable/nsIX509Cert3.h > /usr/include/xulrunner-1.9.1/unstable/nsIX509CertDB.h > /usr/include/xulrunner-1.9.1/unstable/nsIX509CertDB2.h > /usr/include/xulrunner-1.9.1/unstable/nsIX509CertList.h > /usr/include/xulrunner-1.9.1/unstable/nsIX509CertValidity.h > /usr/include/xulrunner-1.9.1/unstable/nsIXBLAccessible.h > /usr/include/xulrunner-1.9.1/unstable/nsIXBLDocumentInfo.h > /usr/include/xulrunner-1.9.1/unstable/nsIXBLService.h > /usr/include/xulrunner-1.9.1/unstable/nsIXFormsUtilityService.h > /usr/include/xulrunner-1.9.1/unstable/nsIXMLContentBuilder.h > /usr/include/xulrunner-1.9.1/unstable/nsIXMLContentSink.h > /usr/include/xulrunner-1.9.1/unstable/nsIXMLEncodingService.h > /usr/include/xulrunner-1.9.1/unstable/nsIXMLHttpRequest.h > /usr/include/xulrunner-1.9.1/unstable/nsIXPCScriptNotify.h > /usr/include/xulrunner-1.9.1/unstable/nsIXPCScriptable.h > /usr/include/xulrunner-1.9.1/unstable/nsIXPCSecurityManager.h > /usr/include/xulrunner-1.9.1/unstable/nsIXPCToolsCompiler.h > /usr/include/xulrunner-1.9.1/unstable/nsIXPCToolsProfiler.h > /usr/include/xulrunner-1.9.1/unstable/nsIXPConnect.h > /usr/include/xulrunner-1.9.1/unstable/nsIXPIDialogService.h > /usr/include/xulrunner-1.9.1/unstable/nsIXPIInstallInfo.h > /usr/include/xulrunner-1.9.1/unstable/nsIXPIProgressDialog.h > /usr/include/xulrunner-1.9.1/unstable/nsIXPInstallManager.h > /usr/include/xulrunner-1.9.1/unstable/nsIXPTLoader.h > /usr/include/xulrunner-1.9.1/unstable/nsIXPathEvaluatorInternal.h > /usr/include/xulrunner-1.9.1/unstable/nsIXPointer.h > /usr/include/xulrunner-1.9.1/unstable/nsIXSLTException.h > /usr/include/xulrunner-1.9.1/unstable/nsIXSLTProcessor.h > /usr/include/xulrunner-1.9.1/unstable/nsIXSLTProcessorObsolete.h > /usr/include/xulrunner-1.9.1/unstable/nsIXSLTProcessorPrivate.h > /usr/include/xulrunner-1.9.1/unstable/nsIXTFAttributeHandler.h > /usr/include/xulrunner-1.9.1/unstable/nsIXTFElement.h > /usr/include/xulrunner-1.9.1/unstable/nsIXTFElementFactory.h > /usr/include/xulrunner-1.9.1/unstable/nsIXTFElementWrapper.h > /usr/include/xulrunner-1.9.1/unstable/nsIXTFPrivate.h > /usr/include/xulrunner-1.9.1/unstable/nsIXTFService.h > /usr/include/xulrunner-1.9.1/unstable/nsIXULAppInfo.h > /usr/include/xulrunner-1.9.1/unstable/nsIXULAppInstall.h > /usr/include/xulrunner-1.9.1/unstable/nsIXULBrowserWindow.h > /usr/include/xulrunner-1.9.1/unstable/nsIXULBuilderListener.h > /usr/include/xulrunner-1.9.1/unstable/nsIXULDocument.h > /usr/include/xulrunner-1.9.1/unstable/nsIXULOverlayProvider.h > /usr/include/xulrunner-1.9.1/unstable/nsIXULPrototypeCache.h > /usr/include/xulrunner-1.9.1/unstable/nsIXULRuntime.h > /usr/include/xulrunner-1.9.1/unstable/nsIXULSortService.h > /usr/include/xulrunner-1.9.1/unstable/nsIXULTemplateBuilder.h > /usr/include/xulrunner-1.9.1/unstable/nsIXULTemplateQueryProcessor.h > /usr/include/xulrunner-1.9.1/unstable/nsIXULTemplateResult.h > /usr/include/xulrunner-1.9.1/unstable/nsIXULTemplateRuleFilter.h > /usr/include/xulrunner-1.9.1/unstable/nsIXULWindow.h > /usr/include/xulrunner-1.9.1/unstable/nsIZipReader.h > /usr/include/xulrunner-1.9.1/unstable/nsIZipWriter.h > /usr/include/xulrunner-1.9.1/unstable/nsImageMapUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsInt64.h > /usr/include/xulrunner-1.9.1/unstable/nsInterfaceHashtable.h > /usr/include/xulrunner-1.9.1/unstable/nsInterfaceRequestorAgg.h > /usr/include/xulrunner-1.9.1/unstable/nsJSPrincipals.h > /usr/include/xulrunner-1.9.1/unstable/nsJSProtocolHandler.h > /usr/include/xulrunner-1.9.1/unstable/nsJVMManager.h > /usr/include/xulrunner-1.9.1/unstable/nsJVMPluginTagInfo.h > /usr/include/xulrunner-1.9.1/unstable/nsLWBrkCIID.h > /usr/include/xulrunner-1.9.1/unstable/nsLayoutCID.h > /usr/include/xulrunner-1.9.1/unstable/nsLayoutErrors.h > /usr/include/xulrunner-1.9.1/unstable/nsLayoutStatics.h > /usr/include/xulrunner-1.9.1/unstable/nsLayoutStylesheetCache.h > /usr/include/xulrunner-1.9.1/unstable/nsLayoutUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsLineBreaker.h > /usr/include/xulrunner-1.9.1/unstable/nsLinebreakConverter.h > /usr/include/xulrunner-1.9.1/unstable/nsLiteralString.h > /usr/include/xulrunner-1.9.1/unstable/nsLocalFile.h > /usr/include/xulrunner-1.9.1/unstable/nsLocalFileUnix.h > /usr/include/xulrunner-1.9.1/unstable/nsLocaleCID.h > /usr/include/xulrunner-1.9.1/unstable/nsMargin.h > /usr/include/xulrunner-1.9.1/unstable/nsMathUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsMediaCache.h > /usr/include/xulrunner-1.9.1/unstable/nsMediaDecoder.h > /usr/include/xulrunner-1.9.1/unstable/nsMediaStream.h > /usr/include/xulrunner-1.9.1/unstable/nsMemory.h > /usr/include/xulrunner-1.9.1/unstable/nsMetaCharsetCID.h > /usr/include/xulrunner-1.9.1/unstable/nsMimeTypes.h > /usr/include/xulrunner-1.9.1/unstable/nsModule.h > /usr/include/xulrunner-1.9.1/unstable/nsMorkReader.h > /usr/include/xulrunner-1.9.1/unstable/nsMultiplexInputStream.h > /usr/include/xulrunner-1.9.1/unstable/nsMutationEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsNativeCharsetUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsNetCID.h > /usr/include/xulrunner-1.9.1/unstable/nsNetError.h > /usr/include/xulrunner-1.9.1/unstable/nsNetStrings.h > /usr/include/xulrunner-1.9.1/unstable/nsNetUtil.h > /usr/include/xulrunner-1.9.1/unstable/nsNodeInfoManager.h > /usr/include/xulrunner-1.9.1/unstable/nsOSHelperAppService.h > /usr/include/xulrunner-1.9.1/unstable/nsObjCExceptions.h > /usr/include/xulrunner-1.9.1/unstable/nsObserverService.h > /usr/include/xulrunner-1.9.1/unstable/nsObsoleteModuleLoading.h > /usr/include/xulrunner-1.9.1/unstable/nsOggDecoder.h > /usr/include/xulrunner-1.9.1/unstable/nsPIAccessible.h > /usr/include/xulrunner-1.9.1/unstable/nsPIAccessibleDocument.h > /usr/include/xulrunner-1.9.1/unstable/nsPIBoxObject.h > /usr/include/xulrunner-1.9.1/unstable/nsPICertNotification.h > /usr/include/xulrunner-1.9.1/unstable/nsPICommandUpdater.h > /usr/include/xulrunner-1.9.1/unstable/nsPIDNSService.h > /usr/include/xulrunner-1.9.1/unstable/nsPIDOMEventTarget.h > /usr/include/xulrunner-1.9.1/unstable/nsPIDOMStorage.h > /usr/include/xulrunner-1.9.1/unstable/nsPIDOMWindow.h > /usr/include/xulrunner-1.9.1/unstable/nsPIEditorTransaction.h > /usr/include/xulrunner-1.9.1/unstable/nsPIPlacesDatabase.h > /usr/include/xulrunner-1.9.1/unstable/nsPIPluginHost.h > /usr/include/xulrunner-1.9.1/unstable/nsPIPluginInstancePeer.h > /usr/include/xulrunner-1.9.1/unstable/nsPIPromptService.h > /usr/include/xulrunner-1.9.1/unstable/nsPISocketTransportService.h > /usr/include/xulrunner-1.9.1/unstable/nsPIWindowRoot.h > /usr/include/xulrunner-1.9.1/unstable/nsPIWindowWatcher.h > /usr/include/xulrunner-1.9.1/unstable/nsPLDOMEvent.h > /usr/include/xulrunner-1.9.1/unstable/nsPSPrinters.h > /usr/include/xulrunner-1.9.1/unstable/nsPaperPS.h > /usr/include/xulrunner-1.9.1/unstable/nsParserCIID.h > /usr/include/xulrunner-1.9.1/unstable/nsParserDataListener.h > /usr/include/xulrunner-1.9.1/unstable/nsPluginError.h > /usr/include/xulrunner-1.9.1/unstable/nsPluginLogging.h > /usr/include/xulrunner-1.9.1/unstable/nsPluginNativeWindow.h > /usr/include/xulrunner-1.9.1/unstable/nsPluginsCID.h > /usr/include/xulrunner-1.9.1/unstable/nsPoint.h > /usr/include/xulrunner-1.9.1/unstable/nsPrefsCID.h > /usr/include/xulrunner-1.9.1/unstable/nsPresContext.h > /usr/include/xulrunner-1.9.1/unstable/nsPresShellIterator.h > /usr/include/xulrunner-1.9.1/unstable/nsPresState.h > /usr/include/xulrunner-1.9.1/unstable/nsPrintfCString.h > /usr/include/xulrunner-1.9.1/unstable/nsProcess.h > /usr/include/xulrunner-1.9.1/unstable/nsProfileDirServiceProvider.h > /usr/include/xulrunner-1.9.1/unstable/nsPromiseFlatString.h > /usr/include/xulrunner-1.9.1/unstable/nsPromptUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsPropertyTable.h > /usr/include/xulrunner-1.9.1/unstable/nsProxiedService.h > /usr/include/xulrunner-1.9.1/unstable/nsProxyRelease.h > /usr/include/xulrunner-1.9.1/unstable/nsQuickSort.h > /usr/include/xulrunner-1.9.1/unstable/nsRDFCID.h > /usr/include/xulrunner-1.9.1/unstable/nsRDFResource.h > /usr/include/xulrunner-1.9.1/unstable/nsReadLine.h > /usr/include/xulrunner-1.9.1/unstable/nsReadableUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsRect.h > /usr/include/xulrunner-1.9.1/unstable/nsRecyclingAllocator.h > /usr/include/xulrunner-1.9.1/unstable/nsRefPtrHashtable.h > /usr/include/xulrunner-1.9.1/unstable/nsReferencedElement.h > /usr/include/xulrunner-1.9.1/unstable/nsRegion.h > /usr/include/xulrunner-1.9.1/unstable/nsRootAccessible.h > /usr/include/xulrunner-1.9.1/unstable/nsRootAccessibleWrap.h > /usr/include/xulrunner-1.9.1/unstable/nsRuleData.h > /usr/include/xulrunner-1.9.1/unstable/nsRuleNode.h > /usr/include/xulrunner-1.9.1/unstable/nsRuleWalker.h > /usr/include/xulrunner-1.9.1/unstable/nsSAXAttributes.h > /usr/include/xulrunner-1.9.1/unstable/nsSAXLocator.h > /usr/include/xulrunner-1.9.1/unstable/nsSAXXMLReader.h > /usr/include/xulrunner-1.9.1/unstable/nsSVGEffects.h > /usr/include/xulrunner-1.9.1/unstable/nsSVGFilterInstance.h > /usr/include/xulrunner-1.9.1/unstable/nsSVGForeignObjectFrame.h > /usr/include/xulrunner-1.9.1/unstable/nsSVGIntegrationUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsSVGMatrix.h > /usr/include/xulrunner-1.9.1/unstable/nsSVGNumber.h > /usr/include/xulrunner-1.9.1/unstable/nsSVGPoint.h > /usr/include/xulrunner-1.9.1/unstable/nsSVGRect.h > /usr/include/xulrunner-1.9.1/unstable/nsSVGUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsScannerString.h > /usr/include/xulrunner-1.9.1/unstable/nsScriptLoader.h > /usr/include/xulrunner-1.9.1/unstable/nsScriptableInputStream.h > /usr/include/xulrunner-1.9.1/unstable/nsServiceManagerUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsSize.h > /usr/include/xulrunner-1.9.1/unstable/nsSoftwareUpdateIIDs.h > /usr/include/xulrunner-1.9.1/unstable/nsStackWalk.h > /usr/include/xulrunner-1.9.1/unstable/nsStaticAtom.h > /usr/include/xulrunner-1.9.1/unstable/nsStaticComponents.h > /usr/include/xulrunner-1.9.1/unstable/nsStaticNameTable.h > /usr/include/xulrunner-1.9.1/unstable/nsStorageStream.h > /usr/include/xulrunner-1.9.1/unstable/nsStreamUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsString.h > /usr/include/xulrunner-1.9.1/unstable/nsStringAPI.h > /usr/include/xulrunner-1.9.1/unstable/nsStringBuffer.h > /usr/include/xulrunner-1.9.1/unstable/nsStringEnumerator.h > /usr/include/xulrunner-1.9.1/unstable/nsStringFwd.h > /usr/include/xulrunner-1.9.1/unstable/nsStringGlue.h > /usr/include/xulrunner-1.9.1/unstable/nsStringIterator.h > /usr/include/xulrunner-1.9.1/unstable/nsStringStream.h > /usr/include/xulrunner-1.9.1/unstable/nsStringUtil.h > /usr/include/xulrunner-1.9.1/unstable/nsStubDocumentObserver.h > /usr/include/xulrunner-1.9.1/unstable/nsStubImageDecoderObserver.h > /usr/include/xulrunner-1.9.1/unstable/nsStubMutationObserver.h > /usr/include/xulrunner-1.9.1/unstable/nsStyleChangeList.h > /usr/include/xulrunner-1.9.1/unstable/nsStyleConsts.h > /usr/include/xulrunner-1.9.1/unstable/nsStyleContext.h > /usr/include/xulrunner-1.9.1/unstable/nsStyleCoord.h > /usr/include/xulrunner-1.9.1/unstable/nsStyleSet.h > /usr/include/xulrunner-1.9.1/unstable/nsStyleStruct.h > /usr/include/xulrunner-1.9.1/unstable/nsStyleStructFwd.h > /usr/include/xulrunner-1.9.1/unstable/nsStyleStructInlines.h > /usr/include/xulrunner-1.9.1/unstable/nsStyleStructList.h > /usr/include/xulrunner-1.9.1/unstable/nsStyleTransformMatrix.h > /usr/include/xulrunner-1.9.1/unstable/nsStyleUtil.h > /usr/include/xulrunner-1.9.1/unstable/nsSubstring.h > /usr/include/xulrunner-1.9.1/unstable/nsSubstringTuple.h > /usr/include/xulrunner-1.9.1/unstable/nsSupportsArray.h > /usr/include/xulrunner-1.9.1/unstable/nsSupportsPrimitives.h > /usr/include/xulrunner-1.9.1/unstable/nsSystemPrefLog.h > /usr/include/xulrunner-1.9.1/unstable/nsSystemPrefService.h > /usr/include/xulrunner-1.9.1/unstable/nsTArray.h > /usr/include/xulrunner-1.9.1/unstable/nsTDependentString.h > /usr/include/xulrunner-1.9.1/unstable/nsTDependentSubstring.h > /usr/include/xulrunner-1.9.1/unstable/nsTHashtable.h > /usr/include/xulrunner-1.9.1/unstable/nsTObserverArray.h > /usr/include/xulrunner-1.9.1/unstable/nsTPromiseFlatString.h > /usr/include/xulrunner-1.9.1/unstable/nsTPtrArray.h > /usr/include/xulrunner-1.9.1/unstable/nsTString.h > /usr/include/xulrunner-1.9.1/unstable/nsTSubstring.h > /usr/include/xulrunner-1.9.1/unstable/nsTSubstringTuple.h > /usr/include/xulrunner-1.9.1/unstable/nsTWeakRef.h > /usr/include/xulrunner-1.9.1/unstable/nsTextAccessibleWrap.h > /usr/include/xulrunner-1.9.1/unstable/nsTextFormatter.h > /usr/include/xulrunner-1.9.1/unstable/nsTextFragment.h > /usr/include/xulrunner-1.9.1/unstable/nsTextServicesCID.h > /usr/include/xulrunner-1.9.1/unstable/nsThemeConstants.h > /usr/include/xulrunner-1.9.1/unstable/nsThreadUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsThreadUtilsInternal.h > /usr/include/xulrunner-1.9.1/unstable/nsTime.h > /usr/include/xulrunner-1.9.1/unstable/nsTimeStamp.h > /usr/include/xulrunner-1.9.1/unstable/nsTimer.h > /usr/include/xulrunner-1.9.1/unstable/nsToken.h > /usr/include/xulrunner-1.9.1/unstable/nsToolkitCompsCID.h > /usr/include/xulrunner-1.9.1/unstable/nsTraceRefcnt.h > /usr/include/xulrunner-1.9.1/unstable/nsTraceRefcntImpl.h > /usr/include/xulrunner-1.9.1/unstable/nsTransactionManagerCID.h > /usr/include/xulrunner-1.9.1/unstable/nsTransform2D.h > /usr/include/xulrunner-1.9.1/unstable/nsTreeColFrame.h > /usr/include/xulrunner-1.9.1/unstable/nsTreeUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsUCVJA2CID.h > /usr/include/xulrunner-1.9.1/unstable/nsUCVJACID.h > /usr/include/xulrunner-1.9.1/unstable/nsUConvCID.h > /usr/include/xulrunner-1.9.1/unstable/nsUCvCnCID.h > /usr/include/xulrunner-1.9.1/unstable/nsUCvIBMCID.h > /usr/include/xulrunner-1.9.1/unstable/nsUCvKOCID.h > /usr/include/xulrunner-1.9.1/unstable/nsUCvLatinCID.h > /usr/include/xulrunner-1.9.1/unstable/nsUCvMathCID.h > /usr/include/xulrunner-1.9.1/unstable/nsUCvTW2CID.h > /usr/include/xulrunner-1.9.1/unstable/nsUCvTWCID.h > /usr/include/xulrunner-1.9.1/unstable/nsURIHashKey.h > /usr/include/xulrunner-1.9.1/unstable/nsURILoader.h > /usr/include/xulrunner-1.9.1/unstable/nsUTF8Utils.h > /usr/include/xulrunner-1.9.1/unstable/nsUnicharUtilCIID.h > /usr/include/xulrunner-1.9.1/unstable/nsUnicharUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsVariant.h > /usr/include/xulrunner-1.9.1/unstable/nsVersionComparator.h > /usr/include/xulrunner-1.9.1/unstable/nsViewsCID.h > /usr/include/xulrunner-1.9.1/unstable/nsVoidArray.h > /usr/include/xulrunner-1.9.1/unstable/nsWaveDecoder.h > /usr/include/xulrunner-1.9.1/unstable/nsWeakPtr.h > /usr/include/xulrunner-1.9.1/unstable/nsWeakReference.h > /usr/include/xulrunner-1.9.1/unstable/nsWhitespaceTokenizer.h > /usr/include/xulrunner-1.9.1/unstable/nsWidgetSupport.h > /usr/include/xulrunner-1.9.1/unstable/nsWidgetsCID.h > /usr/include/xulrunner-1.9.1/unstable/nsWrapperCache.h > /usr/include/xulrunner-1.9.1/unstable/nsXBLBinding.h > /usr/include/xulrunner-1.9.1/unstable/nsXMLEncodingCID.h > /usr/include/xulrunner-1.9.1/unstable/nsXMLNameSpaceMap.h > /usr/include/xulrunner-1.9.1/unstable/nsXPCOM.h > /usr/include/xulrunner-1.9.1/unstable/nsXPCOMCID.h > /usr/include/xulrunner-1.9.1/unstable/nsXPCOMCIDInternal.h > /usr/include/xulrunner-1.9.1/unstable/nsXPCOMGlue.h > /usr/include/xulrunner-1.9.1/unstable/nsXPCOMStrings.h > /usr/include/xulrunner-1.9.1/unstable/nsXPFEComponentsCID.h > /usr/include/xulrunner-1.9.1/unstable/nsXPIDLString.h > /usr/include/xulrunner-1.9.1/unstable/nsXPITriggerInfo.h > /usr/include/xulrunner-1.9.1/unstable/nsXPTCUtils.h > /usr/include/xulrunner-1.9.1/unstable/nsXULAppAPI.h > /usr/include/xulrunner-1.9.1/unstable/nsXULMenuAccessibleWrap.h > /usr/include/xulrunner-1.9.1/unstable/nsXULPopupManager.h > /usr/include/xulrunner-1.9.1/unstable/nsXULTreeAccessibleWrap.h > /usr/include/xulrunner-1.9.1/unstable/nscore.h > /usr/include/xulrunner-1.9.1/unstable/nsjvm.h > /usr/include/xulrunner-1.9.1/unstable/nsplugin.h > /usr/include/xulrunner-1.9.1/unstable/nsplugindefs.h > /usr/include/xulrunner-1.9.1/unstable/nspluginroot.h > /usr/include/xulrunner-1.9.1/unstable/nspr_md.h > /usr/include/xulrunner-1.9.1/unstable/nsrootidl.h > /usr/include/xulrunner-1.9.1/unstable/ogg.h > /usr/include/xulrunner-1.9.1/unstable/oggplay.h > /usr/include/xulrunner-1.9.1/unstable/oggplay_buffer.h > /usr/include/xulrunner-1.9.1/unstable/oggplay_callback.h > /usr/include/xulrunner-1.9.1/unstable/oggplay_callback_info.h > /usr/include/xulrunner-1.9.1/unstable/oggplay_data.h > /usr/include/xulrunner-1.9.1/unstable/oggplay_enums.h > /usr/include/xulrunner-1.9.1/unstable/oggplay_private.h > /usr/include/xulrunner-1.9.1/unstable/oggplay_query.h > /usr/include/xulrunner-1.9.1/unstable/oggplay_reader.h > /usr/include/xulrunner-1.9.1/unstable/oggplay_seek.h > /usr/include/xulrunner-1.9.1/unstable/oggplay_tools.h > /usr/include/xulrunner-1.9.1/unstable/oggz.h > /usr/include/xulrunner-1.9.1/unstable/oggz_comments.h > /usr/include/xulrunner-1.9.1/unstable/oggz_constants.h > /usr/include/xulrunner-1.9.1/unstable/oggz_deprecated.h > /usr/include/xulrunner-1.9.1/unstable/oggz_io.h > /usr/include/xulrunner-1.9.1/unstable/oggz_off_t.h > /usr/include/xulrunner-1.9.1/unstable/oggz_off_t_generated.h > /usr/include/xulrunner-1.9.1/unstable/oggz_read.h > /usr/include/xulrunner-1.9.1/unstable/oggz_seek.h > /usr/include/xulrunner-1.9.1/unstable/oggz_stream.h > /usr/include/xulrunner-1.9.1/unstable/oggz_table.h > /usr/include/xulrunner-1.9.1/unstable/oggz_write.h > /usr/include/xulrunner-1.9.1/unstable/oobj.h > /usr/include/xulrunner-1.9.1/unstable/os_types.h > /usr/include/xulrunner-1.9.1/unstable/pldhash.h > /usr/include/xulrunner-1.9.1/unstable/png.h > /usr/include/xulrunner-1.9.1/unstable/pngconf.h > /usr/include/xulrunner-1.9.1/unstable/psSharedCore.h > /usr/include/xulrunner-1.9.1/unstable/qcms.h > /usr/include/xulrunner-1.9.1/unstable/qcmstypes.h > /usr/include/xulrunner-1.9.1/unstable/rdf.h > /usr/include/xulrunner-1.9.1/unstable/rdfIDataSource.h > /usr/include/xulrunner-1.9.1/unstable/rdfISerializer.h > /usr/include/xulrunner-1.9.1/unstable/rdfITripleVisitor.h > /usr/include/xulrunner-1.9.1/unstable/sqlite3.h > /usr/include/xulrunner-1.9.1/unstable/std_semaphore.h > /usr/include/xulrunner-1.9.1/unstable/stopwatch.h > /usr/include/xulrunner-1.9.1/unstable/string-template-def-char.h > /usr/include/xulrunner-1.9.1/unstable/string-template-def-unichar.h > /usr/include/xulrunner-1.9.1/unstable/string-template-undef.h > /usr/include/xulrunner-1.9.1/unstable/sydney_audio.h > /usr/include/xulrunner-1.9.1/unstable/sysmacros_md.h > /usr/include/xulrunner-1.9.1/unstable/theora.h > /usr/include/xulrunner-1.9.1/unstable/theoradec.h > /usr/include/xulrunner-1.9.1/unstable/tree.h > /usr/include/xulrunner-1.9.1/unstable/txDouble.h > /usr/include/xulrunner-1.9.1/unstable/txIEXSLTRegExFunctions.h > /usr/include/xulrunner-1.9.1/unstable/txIFunctionEvaluationContext.h > /usr/include/xulrunner-1.9.1/unstable/txINodeSet.h > /usr/include/xulrunner-1.9.1/unstable/txIXPathObject.h > /usr/include/xulrunner-1.9.1/unstable/typedefs.h > /usr/include/xulrunner-1.9.1/unstable/typedefs_md.h > /usr/include/xulrunner-1.9.1/unstable/uconvutil.h > /usr/include/xulrunner-1.9.1/unstable/widgetCore.h > /usr/include/xulrunner-1.9.1/unstable/xpcIJSModuleLoader.h > /usr/include/xulrunner-1.9.1/unstable/xpcIJSWeakReference.h > /usr/include/xulrunner-1.9.1/unstable/xpc_map_end.h > /usr/include/xulrunner-1.9.1/unstable/xpccomponents.h > /usr/include/xulrunner-1.9.1/unstable/xpcexception.h > /usr/include/xulrunner-1.9.1/unstable/xpcjsid.h > /usr/include/xulrunner-1.9.1/unstable/xpcom-config.h > /usr/include/xulrunner-1.9.1/unstable/xpt_arena.h > /usr/include/xulrunner-1.9.1/unstable/xpt_struct.h > /usr/include/xulrunner-1.9.1/unstable/xpt_xdr.h > /usr/include/xulrunner-1.9.1/unstable/xptcall.h > /usr/include/xulrunner-1.9.1/unstable/xptcstubsdecl.inc > /usr/include/xulrunner-1.9.1/unstable/xptcstubsdef.inc > /usr/include/xulrunner-1.9.1/unstable/xptinfo.h > /usr/include/xulrunner-1.9.1/unstable/xrecore.h > /usr/include/xulrunner-1.9.1/unstable/zip.h > /usr/include/xulrunner-1.9.1/unstable/zipfile.h > /usr/include/xulrunner-1.9.1/unstable/zipstruct.h > /usr/include/xulrunner-1.9.1/unstable/zipstub.h > /usr/lib > /usr/lib/debug > /usr/lib/debug/usr > /usr/lib/debug/usr/lib64 > /usr/lib/debug/usr/lib64/xulrunner-1.9.1 > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/components > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/components/libdbusservice.so.debug > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/components/libimgicon.so.debug > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/components/libmozgnome.so.debug > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/components/libnkgnomevfs.so.debug > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/components/libpyloader.so.debug > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/components/libxpctools.so.debug > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/libjavaxpcomglue.so.debug > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/libmozjs.so.debug > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/libpyxpcom.so.debug > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/libsqlite3.so.debug > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/libxpcom.so.debug > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/libxul.so.debug > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/mozilla-xremote-client.debug > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/plugins > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/plugins/libnullplugin.so.debug > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/plugins/libunixprintplugin.so.debug > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/python > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/python/xpcom > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/python/xpcom/_xpcom.so.debug > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/xpcshell.debug > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/xpidl.debug > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/xpt_dump.debug > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/xpt_link.debug > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/xulrunner-bin.debug > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/xulrunner-stub.debug > /usr/lib64 > /usr/lib64/pkgconfig > /usr/lib64/pkgconfig/libxul-embedding-unstable.pc > /usr/lib64/pkgconfig/libxul-embedding.pc > /usr/lib64/pkgconfig/libxul-unstable.pc > /usr/lib64/pkgconfig/libxul.pc > /usr/lib64/pkgconfig/mozilla-gtkmozembed-embedding.pc > /usr/lib64/pkgconfig/mozilla-gtkmozembed.pc > /usr/lib64/pkgconfig/mozilla-js.pc > /usr/lib64/pkgconfig/mozilla-nspr.pc > /usr/lib64/pkgconfig/mozilla-nss.pc > /usr/lib64/pkgconfig/mozilla-plugin.pc > /usr/lib64/python2.6 > /usr/lib64/python2.6/site-packages > /usr/lib64/python2.6/site-packages/xpcom > /usr/lib64/xulrunner-1.9.1 > /usr/lib64/xulrunner-1.9.1/LICENSE > /usr/lib64/xulrunner-1.9.1/README.txt > /usr/lib64/xulrunner-1.9.1/chrome > /usr/lib64/xulrunner-1.9.1/chrome/classic.jar > /usr/lib64/xulrunner-1.9.1/chrome/classic.manifest > /usr/lib64/xulrunner-1.9.1/chrome/comm.jar > /usr/lib64/xulrunner-1.9.1/chrome/comm.manifest > /usr/lib64/xulrunner-1.9.1/chrome/en-US.jar > /usr/lib64/xulrunner-1.9.1/chrome/en-US.manifest > /usr/lib64/xulrunner-1.9.1/chrome/icons > /usr/lib64/xulrunner-1.9.1/chrome/icons/default > /usr/lib64/xulrunner-1.9.1/chrome/icons/default/default16.png > /usr/lib64/xulrunner-1.9.1/chrome/icons/default/default32.png > /usr/lib64/xulrunner-1.9.1/chrome/icons/default/default48.png > /usr/lib64/xulrunner-1.9.1/chrome/pippki.jar > /usr/lib64/xulrunner-1.9.1/chrome/pippki.manifest > /usr/lib64/xulrunner-1.9.1/chrome/toolkit.jar > /usr/lib64/xulrunner-1.9.1/chrome/toolkit.manifest > /usr/lib64/xulrunner-1.9.1/components > /usr/lib64/xulrunner-1.9.1/components/FeedProcessor.js > /usr/lib64/xulrunner-1.9.1/components/NetworkGeolocationProvider.js > /usr/lib64/xulrunner-1.9.1/components/accessibility.xpt > /usr/lib64/xulrunner-1.9.1/components/alerts.xpt > /usr/lib64/xulrunner-1.9.1/components/appshell.xpt > /usr/lib64/xulrunner-1.9.1/components/appstartup.xpt > /usr/lib64/xulrunner-1.9.1/components/autocomplete.xpt > /usr/lib64/xulrunner-1.9.1/components/autoconfig.xpt > /usr/lib64/xulrunner-1.9.1/components/caps.xpt > /usr/lib64/xulrunner-1.9.1/components/chardet.xpt > /usr/lib64/xulrunner-1.9.1/components/chrome.xpt > /usr/lib64/xulrunner-1.9.1/components/commandhandler.xpt > /usr/lib64/xulrunner-1.9.1/components/commandlines.xpt > /usr/lib64/xulrunner-1.9.1/components/composer.xpt > /usr/lib64/xulrunner-1.9.1/components/content_base.xpt > /usr/lib64/xulrunner-1.9.1/components/content_html.xpt > /usr/lib64/xulrunner-1.9.1/components/content_htmldoc.xpt > /usr/lib64/xulrunner-1.9.1/components/content_xmldoc.xpt > /usr/lib64/xulrunner-1.9.1/components/content_xslt.xpt > /usr/lib64/xulrunner-1.9.1/components/content_xtf.xpt > /usr/lib64/xulrunner-1.9.1/components/contentprefs.xpt > /usr/lib64/xulrunner-1.9.1/components/cookie.xpt > /usr/lib64/xulrunner-1.9.1/components/directory.xpt > /usr/lib64/xulrunner-1.9.1/components/docshell.xpt > /usr/lib64/xulrunner-1.9.1/components/dom.xpt > /usr/lib64/xulrunner-1.9.1/components/dom_base.xpt > /usr/lib64/xulrunner-1.9.1/components/dom_canvas.xpt > /usr/lib64/xulrunner-1.9.1/components/dom_core.xpt > /usr/lib64/xulrunner-1.9.1/components/dom_css.xpt > /usr/lib64/xulrunner-1.9.1/components/dom_events.xpt > /usr/lib64/xulrunner-1.9.1/components/dom_geolocation.xpt > /usr/lib64/xulrunner-1.9.1/components/dom_html.xpt > /usr/lib64/xulrunner-1.9.1/components/dom_json.xpt > /usr/lib64/xulrunner-1.9.1/components/dom_loadsave.xpt > /usr/lib64/xulrunner-1.9.1/components/dom_offline.xpt > /usr/lib64/xulrunner-1.9.1/components/dom_range.xpt > /usr/lib64/xulrunner-1.9.1/components/dom_sidebar.xpt > /usr/lib64/xulrunner-1.9.1/components/dom_storage.xpt > /usr/lib64/xulrunner-1.9.1/components/dom_stylesheets.xpt > /usr/lib64/xulrunner-1.9.1/components/dom_svg.xpt > /usr/lib64/xulrunner-1.9.1/components/dom_threads.xpt > /usr/lib64/xulrunner-1.9.1/components/dom_traversal.xpt > /usr/lib64/xulrunner-1.9.1/components/dom_views.xpt > /usr/lib64/xulrunner-1.9.1/components/dom_xbl.xpt > /usr/lib64/xulrunner-1.9.1/components/dom_xpath.xpt > /usr/lib64/xulrunner-1.9.1/components/dom_xul.xpt > /usr/lib64/xulrunner-1.9.1/components/downloads.xpt > /usr/lib64/xulrunner-1.9.1/components/editor.xpt > /usr/lib64/xulrunner-1.9.1/components/embed_base.xpt > /usr/lib64/xulrunner-1.9.1/components/extensions.xpt > /usr/lib64/xulrunner-1.9.1/components/exthandler.xpt > /usr/lib64/xulrunner-1.9.1/components/exthelper.xpt > /usr/lib64/xulrunner-1.9.1/components/fastfind.xpt > /usr/lib64/xulrunner-1.9.1/components/feeds.xpt > /usr/lib64/xulrunner-1.9.1/components/filepicker.xpt > /usr/lib64/xulrunner-1.9.1/components/find.xpt > /usr/lib64/xulrunner-1.9.1/components/gfx.xpt > /usr/lib64/xulrunner-1.9.1/components/htmlparser.xpt > /usr/lib64/xulrunner-1.9.1/components/imgicon.xpt > /usr/lib64/xulrunner-1.9.1/components/imglib2.xpt > /usr/lib64/xulrunner-1.9.1/components/inspector.xpt > /usr/lib64/xulrunner-1.9.1/components/intl.xpt > /usr/lib64/xulrunner-1.9.1/components/jar.xpt > /usr/lib64/xulrunner-1.9.1/components/jsconsole-clhandler.js > /usr/lib64/xulrunner-1.9.1/components/jsdservice.xpt > /usr/lib64/xulrunner-1.9.1/components/layout_base.xpt > /usr/lib64/xulrunner-1.9.1/components/layout_printing.xpt > /usr/lib64/xulrunner-1.9.1/components/layout_xul.xpt > /usr/lib64/xulrunner-1.9.1/components/layout_xul_tree.xpt > /usr/lib64/xulrunner-1.9.1/components/libdbusservice.so > /usr/lib64/xulrunner-1.9.1/components/libimgicon.so > /usr/lib64/xulrunner-1.9.1/components/libmozgnome.so > /usr/lib64/xulrunner-1.9.1/components/libnkgnomevfs.so > /usr/lib64/xulrunner-1.9.1/components/libpyloader.so > /usr/lib64/xulrunner-1.9.1/components/libxpctools.so > /usr/lib64/xulrunner-1.9.1/components/locale.xpt > /usr/lib64/xulrunner-1.9.1/components/loginmgr.xpt > /usr/lib64/xulrunner-1.9.1/components/lwbrk.xpt > /usr/lib64/xulrunner-1.9.1/components/mimetype.xpt > /usr/lib64/xulrunner-1.9.1/components/mozbrwsr.xpt > /usr/lib64/xulrunner-1.9.1/components/mozfind.xpt > /usr/lib64/xulrunner-1.9.1/components/necko.xpt > /usr/lib64/xulrunner-1.9.1/components/necko_about.xpt > /usr/lib64/xulrunner-1.9.1/components/necko_cache.xpt > /usr/lib64/xulrunner-1.9.1/components/necko_cookie.xpt > /usr/lib64/xulrunner-1.9.1/components/necko_dns.xpt > /usr/lib64/xulrunner-1.9.1/components/necko_file.xpt > /usr/lib64/xulrunner-1.9.1/components/necko_ftp.xpt > /usr/lib64/xulrunner-1.9.1/components/necko_http.xpt > /usr/lib64/xulrunner-1.9.1/components/necko_res.xpt > /usr/lib64/xulrunner-1.9.1/components/necko_socket.xpt > /usr/lib64/xulrunner-1.9.1/components/necko_strconv.xpt > /usr/lib64/xulrunner-1.9.1/components/necko_viewsource.xpt > /usr/lib64/xulrunner-1.9.1/components/nsAddonRepository.js > /usr/lib64/xulrunner-1.9.1/components/nsBadCertHandler.js > /usr/lib64/xulrunner-1.9.1/components/nsBlocklistService.js > /usr/lib64/xulrunner-1.9.1/components/nsContentDispatchChooser.js > /usr/lib64/xulrunner-1.9.1/components/nsContentPrefService.js > /usr/lib64/xulrunner-1.9.1/components/nsDefaultCLH.js > /usr/lib64/xulrunner-1.9.1/components/nsDownloadManagerUI.js > /usr/lib64/xulrunner-1.9.1/components/nsExtensionManager.js > /usr/lib64/xulrunner-1.9.1/components/nsFilePicker.js > /usr/lib64/xulrunner-1.9.1/components/nsHandlerService.js > /usr/lib64/xulrunner-1.9.1/components/nsHelperAppDlg.js > /usr/lib64/xulrunner-1.9.1/components/nsLivemarkService.js > /usr/lib64/xulrunner-1.9.1/components/nsLoginInfo.js > /usr/lib64/xulrunner-1.9.1/components/nsLoginManager.js > /usr/lib64/xulrunner-1.9.1/components/nsLoginManagerPrompter.js > /usr/lib64/xulrunner-1.9.1/components/nsPlacesDBFlush.js > /usr/lib64/xulrunner-1.9.1/components/nsProgressDialog.js > /usr/lib64/xulrunner-1.9.1/components/nsProxyAutoConfig.js > /usr/lib64/xulrunner-1.9.1/components/nsSearchService.js > /usr/lib64/xulrunner-1.9.1/components/nsSearchSuggestions.js > /usr/lib64/xulrunner-1.9.1/components/nsTaggingService.js > /usr/lib64/xulrunner-1.9.1/components/nsTryToClose.js > /usr/lib64/xulrunner-1.9.1/components/nsURLFormatter.js > /usr/lib64/xulrunner-1.9.1/components/nsUpdateService.js > /usr/lib64/xulrunner-1.9.1/components/nsUrlClassifierLib.js > /usr/lib64/xulrunner-1.9.1/components/nsUrlClassifierListManager.js > /usr/lib64/xulrunner-1.9.1/components/nsWebHandlerApp.js > /usr/lib64/xulrunner-1.9.1/components/nsXULAppInstall.js > /usr/lib64/xulrunner-1.9.1/components/oji.xpt > /usr/lib64/xulrunner-1.9.1/components/parentalcontrols.xpt > /usr/lib64/xulrunner-1.9.1/components/pipboot.xpt > /usr/lib64/xulrunner-1.9.1/components/pipnss.xpt > /usr/lib64/xulrunner-1.9.1/components/pippki.xpt > /usr/lib64/xulrunner-1.9.1/components/places.xpt > /usr/lib64/xulrunner-1.9.1/components/plugin.xpt > /usr/lib64/xulrunner-1.9.1/components/pluginGlue.js > /usr/lib64/xulrunner-1.9.1/components/pref.xpt > /usr/lib64/xulrunner-1.9.1/components/prefetch.xpt > /usr/lib64/xulrunner-1.9.1/components/profile.xpt > /usr/lib64/xulrunner-1.9.1/components/proxyObjInst.xpt > /usr/lib64/xulrunner-1.9.1/components/pyabout.py > /usr/lib64/xulrunner-1.9.1/components/rdf.xpt > /usr/lib64/xulrunner-1.9.1/components/satchel.xpt > /usr/lib64/xulrunner-1.9.1/components/saxparser.xpt > /usr/lib64/xulrunner-1.9.1/components/shistory.xpt > /usr/lib64/xulrunner-1.9.1/components/spellchecker.xpt > /usr/lib64/xulrunner-1.9.1/components/storage-Legacy.js > /usr/lib64/xulrunner-1.9.1/components/storage-mozStorage.js > /usr/lib64/xulrunner-1.9.1/components/storage.xpt > /usr/lib64/xulrunner-1.9.1/components/toolkitprofile.xpt > /usr/lib64/xulrunner-1.9.1/components/toolkitremote.xpt > /usr/lib64/xulrunner-1.9.1/components/toolkitsearch.xpt > /usr/lib64/xulrunner-1.9.1/components/txEXSLTRegExFunctions.js > /usr/lib64/xulrunner-1.9.1/components/txmgr.xpt > /usr/lib64/xulrunner-1.9.1/components/txtsvc.xpt > /usr/lib64/xulrunner-1.9.1/components/uconv.xpt > /usr/lib64/xulrunner-1.9.1/components/unicharutil.xpt > /usr/lib64/xulrunner-1.9.1/components/update.xpt > /usr/lib64/xulrunner-1.9.1/components/uriloader.xpt > /usr/lib64/xulrunner-1.9.1/components/url-classifier.xpt > /usr/lib64/xulrunner-1.9.1/components/urlformatter.xpt > /usr/lib64/xulrunner-1.9.1/components/webBrowser_core.xpt > /usr/lib64/xulrunner-1.9.1/components/webbrowserpersist.xpt > /usr/lib64/xulrunner-1.9.1/components/webshell_idls.xpt > /usr/lib64/xulrunner-1.9.1/components/widget.xpt > /usr/lib64/xulrunner-1.9.1/components/windowds.xpt > /usr/lib64/xulrunner-1.9.1/components/windowwatcher.xpt > /usr/lib64/xulrunner-1.9.1/components/xpcom_base.xpt > /usr/lib64/xulrunner-1.9.1/components/xpcom_components.xpt > /usr/lib64/xulrunner-1.9.1/components/xpcom_ds.xpt > /usr/lib64/xulrunner-1.9.1/components/xpcom_io.xpt > /usr/lib64/xulrunner-1.9.1/components/xpcom_system.xpt > /usr/lib64/xulrunner-1.9.1/components/xpcom_threads.xpt > /usr/lib64/xulrunner-1.9.1/components/xpcom_xpti.xpt > /usr/lib64/xulrunner-1.9.1/components/xpconnect.xpt > /usr/lib64/xulrunner-1.9.1/components/xpctools.xpt > /usr/lib64/xulrunner-1.9.1/components/xpinstall.xpt > /usr/lib64/xulrunner-1.9.1/components/xulapp.xpt > /usr/lib64/xulrunner-1.9.1/components/xulapp_setup.xpt > /usr/lib64/xulrunner-1.9.1/components/xuldoc.xpt > /usr/lib64/xulrunner-1.9.1/components/xultmpl.xpt > /usr/lib64/xulrunner-1.9.1/components/zipwriter.xpt > /usr/lib64/xulrunner-1.9.1/defaults > /usr/lib64/xulrunner-1.9.1/defaults/autoconfig > /usr/lib64/xulrunner-1.9.1/defaults/autoconfig/platform.js > /usr/lib64/xulrunner-1.9.1/defaults/autoconfig/prefcalls.js > /usr/lib64/xulrunner-1.9.1/defaults/pref > /usr/lib64/xulrunner-1.9.1/defaults/pref/all-gentoo.js > /usr/lib64/xulrunner-1.9.1/defaults/pref/xulrunner.js > /usr/lib64/xulrunner-1.9.1/defaults/profile > /usr/lib64/xulrunner-1.9.1/defaults/profile/US > /usr/lib64/xulrunner-1.9.1/defaults/profile/US/chrome > /usr/lib64/xulrunner-1.9.1/defaults/profile/US/chrome/userChrome-example.css > /usr/lib64/xulrunner-1.9.1/defaults/profile/US/chrome/userContent-example.css > /usr/lib64/xulrunner-1.9.1/defaults/profile/US/localstore.rdf > /usr/lib64/xulrunner-1.9.1/defaults/profile/chrome > /usr/lib64/xulrunner-1.9.1/defaults/profile/chrome/userChrome-example.css > /usr/lib64/xulrunner-1.9.1/defaults/profile/chrome/userContent-example.css > /usr/lib64/xulrunner-1.9.1/defaults/profile/localstore.rdf > /usr/lib64/xulrunner-1.9.1/dependentlibs.list > /usr/lib64/xulrunner-1.9.1/dictionaries > /usr/lib64/xulrunner-1.9.1/dictionaries/en-US.aff > /usr/lib64/xulrunner-1.9.1/dictionaries/en-US.dic > /usr/lib64/xulrunner-1.9.1/greprefs > /usr/lib64/xulrunner-1.9.1/greprefs/all.js > /usr/lib64/xulrunner-1.9.1/greprefs/security-prefs.js > /usr/lib64/xulrunner-1.9.1/greprefs/xpinstall.js > /usr/lib64/xulrunner-1.9.1/icons > /usr/lib64/xulrunner-1.9.1/icons/document.png > /usr/lib64/xulrunner-1.9.1/icons/mozicon16.xpm > /usr/lib64/xulrunner-1.9.1/icons/mozicon50.xpm > /usr/lib64/xulrunner-1.9.1/javaxpcom.jar > /usr/lib64/xulrunner-1.9.1/libjavaxpcomglue.so > /usr/lib64/xulrunner-1.9.1/libmozjs.so > /usr/lib64/xulrunner-1.9.1/libpyxpcom.so > /usr/lib64/xulrunner-1.9.1/libsqlite3.so > /usr/lib64/xulrunner-1.9.1/libxpcom.so > /usr/lib64/xulrunner-1.9.1/libxul.so > /usr/lib64/xulrunner-1.9.1/modules > /usr/lib64/xulrunner-1.9.1/modules/DownloadLastDir.jsm > /usr/lib64/xulrunner-1.9.1/modules/DownloadUtils.jsm > /usr/lib64/xulrunner-1.9.1/modules/ISO8601DateUtils.jsm > /usr/lib64/xulrunner-1.9.1/modules/Microformats.js > /usr/lib64/xulrunner-1.9.1/modules/PlacesDBUtils.jsm > /usr/lib64/xulrunner-1.9.1/modules/PluralForm.jsm > /usr/lib64/xulrunner-1.9.1/modules/SpatialNavigation.js > /usr/lib64/xulrunner-1.9.1/modules/WindowDraggingUtils.jsm > /usr/lib64/xulrunner-1.9.1/modules/XPCOMUtils.jsm > /usr/lib64/xulrunner-1.9.1/modules/debug.js > /usr/lib64/xulrunner-1.9.1/modules/utils.js > /usr/lib64/xulrunner-1.9.1/mozilla-xremote-client > /usr/lib64/xulrunner-1.9.1/platform.ini > /usr/lib64/xulrunner-1.9.1/plugins > /usr/lib64/xulrunner-1.9.1/plugins/libnullplugin.so > /usr/lib64/xulrunner-1.9.1/plugins/libunixprintplugin.so > /usr/lib64/xulrunner-1.9.1/python > /usr/lib64/xulrunner-1.9.1/python/xpcom > /usr/lib64/xulrunner-1.9.1/python/xpcom/__init__.py > /usr/lib64/xulrunner-1.9.1/python/xpcom/_xpcom.so > /usr/lib64/xulrunner-1.9.1/python/xpcom/client > /usr/lib64/xulrunner-1.9.1/python/xpcom/client/__init__.py > /usr/lib64/xulrunner-1.9.1/python/xpcom/components.py > /usr/lib64/xulrunner-1.9.1/python/xpcom/file.py > /usr/lib64/xulrunner-1.9.1/python/xpcom/nsError.py > /usr/lib64/xulrunner-1.9.1/python/xpcom/primitives.py > /usr/lib64/xulrunner-1.9.1/python/xpcom/server > /usr/lib64/xulrunner-1.9.1/python/xpcom/server/__init__.py > /usr/lib64/xulrunner-1.9.1/python/xpcom/server/enumerator.py > /usr/lib64/xulrunner-1.9.1/python/xpcom/server/factory.py > /usr/lib64/xulrunner-1.9.1/python/xpcom/server/loader.py > /usr/lib64/xulrunner-1.9.1/python/xpcom/server/module.py > /usr/lib64/xulrunner-1.9.1/python/xpcom/server/policy.py > /usr/lib64/xulrunner-1.9.1/python/xpcom/shutdown.py > /usr/lib64/xulrunner-1.9.1/python/xpcom/tools > /usr/lib64/xulrunner-1.9.1/python/xpcom/tools/regxpcom.py > /usr/lib64/xulrunner-1.9.1/python/xpcom/tools/tracer_demo.py > /usr/lib64/xulrunner-1.9.1/python/xpcom/xpcom_consts.py > /usr/lib64/xulrunner-1.9.1/python/xpcom/xpt.py > /usr/lib64/xulrunner-1.9.1/res > /usr/lib64/xulrunner-1.9.1/res/EditorOverride.css > /usr/lib64/xulrunner-1.9.1/res/arrow.gif > /usr/lib64/xulrunner-1.9.1/res/arrowd.gif > /usr/lib64/xulrunner-1.9.1/res/broken-image.gif > /usr/lib64/xulrunner-1.9.1/res/charsetData.properties > /usr/lib64/xulrunner-1.9.1/res/charsetalias.properties > /usr/lib64/xulrunner-1.9.1/res/contenteditable.css > /usr/lib64/xulrunner-1.9.1/res/designmode.css > /usr/lib64/xulrunner-1.9.1/res/dtd > /usr/lib64/xulrunner-1.9.1/res/dtd/mathml.dtd > /usr/lib64/xulrunner-1.9.1/res/dtd/xhtml11.dtd > /usr/lib64/xulrunner-1.9.1/res/entityTables > /usr/lib64/xulrunner-1.9.1/res/entityTables/html40Latin1.properties > /usr/lib64/xulrunner-1.9.1/res/entityTables/html40Special.properties > /usr/lib64/xulrunner-1.9.1/res/entityTables/html40Symbols.properties > /usr/lib64/xulrunner-1.9.1/res/entityTables/htmlEntityVersions.properties > /usr/lib64/xulrunner-1.9.1/res/entityTables/mathml20.properties > /usr/lib64/xulrunner-1.9.1/res/entityTables/transliterate.properties > /usr/lib64/xulrunner-1.9.1/res/fonts > /usr/lib64/xulrunner-1.9.1/res/fonts/mathfont.properties > /usr/lib64/xulrunner-1.9.1/res/fonts/mathfontSTIXNonUnicode.properties > /usr/lib64/xulrunner-1.9.1/res/fonts/mathfontSTIXSize1.properties > /usr/lib64/xulrunner-1.9.1/res/fonts/mathfontStandardSymbolsL.properties > /usr/lib64/xulrunner-1.9.1/res/fonts/mathfontUnicode.properties > /usr/lib64/xulrunner-1.9.1/res/forms.css > /usr/lib64/xulrunner-1.9.1/res/grabber.gif > /usr/lib64/xulrunner-1.9.1/res/hiddenWindow.html > /usr/lib64/xulrunner-1.9.1/res/html > /usr/lib64/xulrunner-1.9.1/res/html.css > /usr/lib64/xulrunner-1.9.1/res/html/folder.png > /usr/lib64/xulrunner-1.9.1/res/langGroups.properties > /usr/lib64/xulrunner-1.9.1/res/language.properties > /usr/lib64/xulrunner-1.9.1/res/loading-image.gif > /usr/lib64/xulrunner-1.9.1/res/mathml.css > /usr/lib64/xulrunner-1.9.1/res/quirk.css > /usr/lib64/xulrunner-1.9.1/res/svg.css > /usr/lib64/xulrunner-1.9.1/res/table-add-column-after-active.gif > /usr/lib64/xulrunner-1.9.1/res/table-add-column-after-hover.gif > /usr/lib64/xulrunner-1.9.1/res/table-add-column-after.gif > /usr/lib64/xulrunner-1.9.1/res/table-add-column-before-active.gif > /usr/lib64/xulrunner-1.9.1/res/table-add-column-before-hover.gif > /usr/lib64/xulrunner-1.9.1/res/table-add-column-before.gif > /usr/lib64/xulrunner-1.9.1/res/table-add-row-after-active.gif > /usr/lib64/xulrunner-1.9.1/res/table-add-row-after-hover.gif > /usr/lib64/xulrunner-1.9.1/res/table-add-row-after.gif > /usr/lib64/xulrunner-1.9.1/res/table-add-row-before-active.gif > /usr/lib64/xulrunner-1.9.1/res/table-add-row-before-hover.gif > /usr/lib64/xulrunner-1.9.1/res/table-add-row-before.gif > /usr/lib64/xulrunner-1.9.1/res/table-remove-column-active.gif > /usr/lib64/xulrunner-1.9.1/res/table-remove-column-hover.gif > /usr/lib64/xulrunner-1.9.1/res/table-remove-column.gif > /usr/lib64/xulrunner-1.9.1/res/table-remove-row-active.gif > /usr/lib64/xulrunner-1.9.1/res/table-remove-row-hover.gif > /usr/lib64/xulrunner-1.9.1/res/table-remove-row.gif > /usr/lib64/xulrunner-1.9.1/res/ua.css > /usr/lib64/xulrunner-1.9.1/res/unixcharset.properties > /usr/lib64/xulrunner-1.9.1/res/viewsource.css > /usr/lib64/xulrunner-1.9.1/run-mozilla.sh > /usr/lib64/xulrunner-1.9.1/xpcshell > /usr/lib64/xulrunner-1.9.1/xpidl > /usr/lib64/xulrunner-1.9.1/xpt_dump > /usr/lib64/xulrunner-1.9.1/xpt_link > /usr/lib64/xulrunner-1.9.1/xulrunner > /usr/lib64/xulrunner-1.9.1/xulrunner-bin > /usr/lib64/xulrunner-1.9.1/xulrunner-stub > /usr/lib64/xulrunner-devel-1.9.1 > /usr/lib64/xulrunner-devel-1.9.1/bin > /usr/lib64/xulrunner-devel-1.9.1/idl > /usr/lib64/xulrunner-devel-1.9.1/include > /usr/lib64/xulrunner-devel-1.9.1/lib > /usr/lib64/xulrunner-devel-1.9.1/sdk > /usr/lib64/xulrunner-devel-1.9.1/sdk/idl > /usr/lib64/xulrunner-devel-1.9.1/sdk/include > /usr/lib64/xulrunner-devel-1.9.1/sdk/lib > /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/MozillaGlue.jar > /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/MozillaInterfaces-src.jar > /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/MozillaInterfaces.jar > /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/libembed_base_s.a > /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/libembed_base_standalone.a > /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/libmozjs.so > /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/libmozreg_s.a > /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/libunicharutil_external_s.a > /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/libxpcom.so > /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/libxpcomglue.a > /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/libxpcomglue_s.a > /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/libxul.so > /usr/lib64/xulrunner-devel-1.9.1/xpcom-config.h > /usr/share > /usr/share/idl > /usr/share/idl/xulrunner-1.9.1 > /usr/share/idl/xulrunner-1.9.1/stable > /usr/share/idl/xulrunner-1.9.1/stable/domstubs.idl > /usr/share/idl/xulrunner-1.9.1/stable/mozIJSSubScriptLoader.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIASN1Object.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIASN1Sequence.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIArray.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsICRLInfo.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsICategoryManager.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsICertificateDialogs.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIChannel.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIClassInfo.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIClipboardCommands.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIComponentManager.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIComponentRegistrar.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIContextMenuListener.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsICookie.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsICookieManager.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOM3DocumentEvent.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOM3EventTarget.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMAbstractView.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMAttr.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMBarProp.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMCDATASection.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMCSSPrimitiveValue.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMCSSRule.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMCSSRuleList.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMCSSStyleDeclaration.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMCSSStyleSheet.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMCSSValue.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMCSSValueList.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMCharacterData.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMComment.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMDOMException.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMDOMImplementation.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMDocument.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMDocumentEvent.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMDocumentFragment.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMDocumentRange.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMDocumentStyle.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMDocumentType.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMDocumentView.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMElementCSSInlineStyle.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMEntity.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMEntityReference.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMEvent.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMEventGroup.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMEventListener.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMEventTarget.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLAnchorElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLAppletElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLAreaElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLAudioElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLBRElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLBaseElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLBaseFontElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLBodyElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLButtonElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLByteRanges.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLCollection.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLDListElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLDirectoryElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLDivElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLDocument.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLEmbedElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLFieldSetElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLFontElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLFormElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLFrameElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLFrameSetElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLHRElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLHeadElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLHeadingElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLHtmlElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLIFrameElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLImageElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLInputElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLIsIndexElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLLIElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLLabelElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLLegendElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLLinkElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLMapElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLMediaElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLMediaError.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLMenuElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLMetaElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLModElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLOListElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLObjectElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLOptGroupElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLOptionElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLOptionsCollection.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLParagraphElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLParamElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLPreElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLQuoteElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLScriptElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLSelectElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLSourceElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLStyleElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLTableCaptionElem.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLTableCellElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLTableColElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLTableElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLTableRowElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLTableSectionElem.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLTextAreaElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLTimeRanges.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLTitleElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLUListElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLVideoElement.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLVoidCallback.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMMediaList.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMMouseEvent.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMMouseScrollEvent.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMNamedNodeMap.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMNode.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMNodeList.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMNotation.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMProcessingInstruction.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMProgressEvent.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMRange.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMStorage.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMStorageEvent.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMStorageItem.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMStorageList.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMStorageWindow.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMStorageWindow_1_9_1.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMStyleSheet.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMStyleSheetList.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMText.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMUIEvent.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMWindow.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMWindow2.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMWindowCollection.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMWindowUtils.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDebug.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIDirectoryService.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIEmbeddingSiteWindow.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIFactory.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIFile.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIFileURL.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIGlobalHistory.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIHashable.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIHistoryEntry.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIHttpChannel.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIHttpHeaderVisitor.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIIOService.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIInputStream.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIInterfaceRequestor.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIJSON.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsILoadGroup.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsILocalFile.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIMemory.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIModule.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIMutableArray.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIObserver.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIObserverService.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIOutputStream.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIPrefBranch.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIPrefBranch2.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIPrefLocalizedString.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIPrefService.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIProfile.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIProfileChangeStatus.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIProgrammingLanguage.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIPromptService.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIProperties.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIProtocolHandler.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIRequest.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIRequestObserver.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsISHistory.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsISHistoryListener.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIScriptableInputStream.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsISecurityWarningDialogs.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsISelection.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIServiceManager.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsISimpleEnumerator.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIStreamListener.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsISupports.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsISupportsPrimitives.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsITooltipListener.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsITooltipTextProvider.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsITraceRefcnt.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsITraceableChannel.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIURI.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIURIContentListener.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIURL.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIUnicharStreamListener.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIUploadChannel.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIWeakReference.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIWebBrowser.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIWebBrowserChrome.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIWebBrowserChromeFocus.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIWebBrowserFind.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIWebBrowserFocus.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIWebBrowserPrint.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIWebBrowserSetup.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIWebBrowserStream.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIWebProgress.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIWebProgressListener.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIWindowCreator.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIWindowWatcher.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIX509Cert.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIX509CertDB.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsIX509CertValidity.idl > /usr/share/idl/xulrunner-1.9.1/stable/nsrootidl.idl > /usr/share/idl/xulrunner-1.9.1/unstable > /usr/share/idl/xulrunner-1.9.1/unstable/XPCIDispatch.idl > /usr/share/idl/xulrunner-1.9.1/unstable/domstubs.idl > /usr/share/idl/xulrunner-1.9.1/unstable/extIApplication.idl > /usr/share/idl/xulrunner-1.9.1/unstable/gfxIFormats.idl > /usr/share/idl/xulrunner-1.9.1/unstable/gfxIImageFrame.idl > /usr/share/idl/xulrunner-1.9.1/unstable/gfxtypes.idl > /usr/share/idl/xulrunner-1.9.1/unstable/imgICache.idl > /usr/share/idl/xulrunner-1.9.1/unstable/imgIContainer.idl > /usr/share/idl/xulrunner-1.9.1/unstable/imgIContainerObserver.idl > /usr/share/idl/xulrunner-1.9.1/unstable/imgIDecoder.idl > /usr/share/idl/xulrunner-1.9.1/unstable/imgIDecoderObserver.idl > /usr/share/idl/xulrunner-1.9.1/unstable/imgIEncoder.idl > /usr/share/idl/xulrunner-1.9.1/unstable/imgILoad.idl > /usr/share/idl/xulrunner-1.9.1/unstable/imgILoader.idl > /usr/share/idl/xulrunner-1.9.1/unstable/imgIRequest.idl > /usr/share/idl/xulrunner-1.9.1/unstable/imgITools.idl > /usr/share/idl/xulrunner-1.9.1/unstable/inICSSValueSearch.idl > /usr/share/idl/xulrunner-1.9.1/unstable/inIDOMUtils.idl > /usr/share/idl/xulrunner-1.9.1/unstable/inIDOMView.idl > /usr/share/idl/xulrunner-1.9.1/unstable/inIDeepTreeWalker.idl > /usr/share/idl/xulrunner-1.9.1/unstable/inIFlasher.idl > /usr/share/idl/xulrunner-1.9.1/unstable/inISearchObserver.idl > /usr/share/idl/xulrunner-1.9.1/unstable/inISearchProcess.idl > /usr/share/idl/xulrunner-1.9.1/unstable/jsdIDebuggerService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/mozIJSSubScriptLoader.idl > /usr/share/idl/xulrunner-1.9.1/unstable/mozIPersonalDictionary.idl > /usr/share/idl/xulrunner-1.9.1/unstable/mozISpellCheckingEngine.idl > /usr/share/idl/xulrunner-1.9.1/unstable/mozISpellI18NManager.idl > /usr/share/idl/xulrunner-1.9.1/unstable/mozISpellI18NUtil.idl > /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageAggregateFunction.idl > /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageConnection.idl > /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageDataSet.idl > /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageError.idl > /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageFunction.idl > /usr/share/idl/xulrunner-1.9.1/unstable/mozIStoragePendingStatement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageProgressHandler.idl > /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageResultSet.idl > /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageRow.idl > /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageStatement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageStatementCallback.idl > /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageStatementWrapper.idl > /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageValueArray.idl > /usr/share/idl/xulrunner-1.9.1/unstable/mozITXTToHTMLConv.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsCDefaultURIFixup.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsCDocShell.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsCExternalHandlerService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsCURILoader.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsCWebBrowser.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsCWebBrowserPersist.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIASN1Object.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIASN1PrintableItem.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIASN1Sequence.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIASN1Tree.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAboutModule.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessNode.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibilityService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessible.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleDocument.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleEditableText.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleEvent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleHyperLink.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleHyperText.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleImage.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleProvider.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleRelation.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleRetrieval.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleRole.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleSelectable.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleStates.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleTable.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleText.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleTreeCache.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleTypes.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleValue.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAddonRepository.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAlertsService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAnnotationService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAppShell.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAppShellService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAppStartup.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIApplicationCache.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIApplicationCacheChannel.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIApplicationCacheContainer.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIApplicationCacheService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIArray.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAssociatedContentSecurity.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAsyncInputStream.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAsyncOutputStream.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAsyncStreamCopier.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAtom.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAtomService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAuthInformation.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAuthModule.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAuthPrompt.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAuthPrompt2.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAuthPromptAdapterFactory.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAuthPromptCallback.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAuthPromptProvider.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAuthPromptWrapper.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAutoCompleteController.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAutoCompleteInput.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAutoCompletePopup.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAutoCompleteResult.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAutoCompleteResultTypes.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAutoCompleteSearch.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAutoCompleteSimpleResult.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAutoConfig.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIBadCertListener2.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIBaseWindow.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIBidiKeyboard.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIBinaryInputStream.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIBinaryOutputStream.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIBlocklistService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIBoxObject.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIBrowserBoxObject.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIBrowserDOMWindow.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIBrowserHistory.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIBrowserInstance.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIBrowserSearchService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIBufEntropyCollector.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIBufferedStreams.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIByteRangeRequest.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICMSDecoder.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICMSEncoder.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICMSMessage.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICMSMessage2.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICMSMessageErrors.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICMSSecureMessage.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICRLInfo.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICRLManager.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICache.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICacheEntryDescriptor.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICacheListener.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICacheService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICacheSession.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICacheVisitor.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICachingChannel.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICancelable.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICategoryManager.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICertOverrideService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICertPickDialogs.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICertTree.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICertificateDialogs.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIChannel.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIChannelClassifier.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIChannelEventSink.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICharsetConverterManager.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICharsetResolver.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIChromeRegistry.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICipherInfo.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICiter.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIClassInfo.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIClassicPluginFactory.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIClientAuthDialogs.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIClipboard.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIClipboardCommands.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIClipboardDragDropHookList.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIClipboardDragDropHooks.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIClipboardHelper.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIClipboardOwner.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICollation.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICollection.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICommandHandler.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICommandLine.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICommandLineHandler.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICommandLineRunner.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICommandLineValidator.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICommandManager.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICommandParams.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIComponentManager.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIComponentManagerObsolete.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIComponentRegistrar.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIConsoleListener.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIConsoleMessage.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIConsoleService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIContainerBoxObject.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentDispatchChooser.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentFilter.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentHandler.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentPolicy.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentPrefService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentSniffer.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentURIGrouper.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentViewer.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentViewerContainer.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentViewerEdit.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentViewerFile.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIContextMenuListener.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIContextMenuListener2.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIController.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIControllerCommand.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIControllerCommandTable.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIControllerContext.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIControllers.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIConverterInputStream.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIConverterOutputStream.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICookie.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICookie2.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICookieAcceptDialog.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICookieManager.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICookieManager2.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICookiePermission.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICookiePromptService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICookieService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICookieStorage.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICryptoFIPSInfo.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICryptoHMAC.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICryptoHash.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsICurrentCharsetListener.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDNSListener.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDNSRecord.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDNSService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOM3Attr.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOM3Document.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOM3DocumentEvent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOM3EventTarget.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOM3Node.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOM3Text.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOM3TypeInfo.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMAbstractView.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMAttr.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMBarProp.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMBeforeUnloadEvent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCDATASection.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCRMFObject.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSS2Properties.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSCharsetRule.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSFontFaceRule.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSImportRule.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSMediaRule.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSMozDocumentRule.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSPageRule.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSPrimitiveValue.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSRule.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSRuleList.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSStyleDeclaration.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSStyleRule.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSStyleSheet.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSUnknownRule.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSValue.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSValueList.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCanvasRenderingContext2D.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCharacterData.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMChromeWindow.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMClientInformation.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMClientRect.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMClientRectList.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCommandEvent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMComment.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMConstructor.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCounter.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCrypto.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCryptoDialogs.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDOMConfiguration.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDOMException.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDOMImplementation.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDOMImplementationLS.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDOMStringList.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDataContainerEvent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDataTransfer.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocument.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocumentCSS.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocumentEvent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocumentFragment.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocumentRange.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocumentStyle.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocumentTraversal.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocumentType.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocumentView.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocumentXBL.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDragEvent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMElementCSSInlineStyle.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMEntity.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMEntityReference.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMEvent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMEventGroup.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMEventListener.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMEventTarget.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMFile.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMFileException.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMFileList.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMGeoGeolocation.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMGeoPosition.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMGeoPositionCallback.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMGeoPositionCoords.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMGeoPositionError.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMGeoPositionErrorCallback.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMGeoPositionOptions.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMGetSVGDocument.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLAnchorElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLAppletElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLAreaElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLAudioElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLBRElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLBaseElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLBaseFontElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLBodyElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLButtonElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLByteRanges.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLCanvasElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLCollection.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLDListElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLDirectoryElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLDivElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLDocument.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLEmbedElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLFieldSetElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLFontElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLFormElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLFrameElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLFrameSetElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLHRElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLHeadElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLHeadingElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLHtmlElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLIFrameElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLImageElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLInputElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLIsIndexElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLLIElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLLabelElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLLegendElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLLinkElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLMapElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLMediaElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLMediaError.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLMenuElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLMetaElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLModElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLOListElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLObjectElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLOptGroupElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLOptionElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLOptionsCollection.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLParagraphElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLParamElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLPreElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLQuoteElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLScriptElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLSelectElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLSourceElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLStyleElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLTableCaptionElem.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLTableCellElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLTableColElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLTableElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLTableRowElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLTableSectionElem.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLTextAreaElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLTimeRanges.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLTitleElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLUListElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLVideoElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLVoidCallback.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHistory.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMJSWindow.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMKeyEvent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSException.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSInput.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSLoadEvent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSOutput.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSParser.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSParserFilter.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSProgressEvent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSResourceResolver.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSSerializer.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSSerializerFilter.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLinkStyle.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLoadStatus.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLoadStatusEvent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLocation.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMMediaList.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMMessageEvent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMMimeType.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMMimeTypeArray.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMModalContentWindow.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMMouseEvent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMMouseScrollEvent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMMutationEvent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSDocument.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSDocumentStyle.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSEditableElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSEvent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSEventTarget.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSFeatureFactory.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLAnchorElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLAnchorElement2.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLAreaElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLAreaElement2.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLButtonElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLDocument.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLFormControlList.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLFormElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLFrameElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLHRElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLImageElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLInputElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLOptionCollectn.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLOptionElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLSelectElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLTextAreaElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSRGBAColor.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSRange.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSUIEvent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSXBLFormControl.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSXPathExpression.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNameList.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNamedNodeMap.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNavigator.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNavigatorGeolocation.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNode.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNodeFilter.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNodeIterator.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNodeList.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNodeSelector.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNotation.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNotifyPaintEvent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMOfflineResourceList.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMPageTransitionEvent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMParser.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMPkcs11.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMPlugin.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMPluginArray.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMPopupBlockedEvent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMProcessingInstruction.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMProgressEvent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMRGBColor.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMRange.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMRangeException.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMRect.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAngle.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimPresAspRatio.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimTransformList.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedAngle.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedBoolean.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedEnum.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedInteger.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedLength.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedLengthList.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedNumber.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedNumberList.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedPathData.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedPoints.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedRect.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedString.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGCircleElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGClipPathElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGDefsElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGDescElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGDocument.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGEllipseElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGEvent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGException.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGFilterElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGFilters.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGFitToViewBox.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGForeignObjectElem.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGGElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGGradientElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGImageElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGLength.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGLengthList.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGLineElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGLocatable.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGMarkerElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGMaskElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGMatrix.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGMetadataElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGNumber.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGNumberList.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGPathElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGPathSeg.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGPathSegList.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGPatternElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGPoint.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGPointList.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGPolygonElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGPolylineElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGPresAspectRatio.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGRect.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGRectElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGSVGElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGScriptElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGStopElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGStylable.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGStyleElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGSwitchElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGSymbolElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGTSpanElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGTextContentElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGTextElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGTextPathElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGTextPositionElem.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGTitleElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGTransform.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGTransformList.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGTransformable.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGURIReference.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGUnitTypes.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGUseElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGViewSpec.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGZoomAndPan.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGZoomEvent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMScreen.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSerializer.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSimpleGestureEvent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSmartCardEvent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStorage.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStorage2.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStorageEvent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStorageItem.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStorageList.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStorageManager.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStorageWindow.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStorageWindow_1_9_1.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStyleSheet.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStyleSheetList.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMText.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMToString.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMTreeWalker.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMUIEvent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMUserDataHandler.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMViewCSS.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMWindow.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMWindow2.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMWindowCollection.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMWindowInternal.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMWindowUtils.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMWorkers.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXMLDocument.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXPathEvaluator.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXPathException.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXPathExpression.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXPathNSResolver.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXPathNamespace.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXPathResult.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULButtonElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULCheckboxElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULCommandDispatcher.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULCommandEvent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULContainerElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULControlElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULDescriptionElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULDocument.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULImageElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULLabelElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULLabeledControlEl.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULMenuListElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULMultSelectCntrlEl.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULPopupElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULSelectCntrlEl.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULSelectCntrlItemEl.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULTextboxElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULTreeElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDataSignatureVerifier.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDebug.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDialogParamBlock.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDirIndex.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDirIndexListener.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDirectoryEnumerator.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDirectoryService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocCharset.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocShell.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocShellHistory.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocShellLoadInfo.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocShellTreeItem.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocShellTreeNode.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocShellTreeOwner.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocumentCharsetInfo.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocumentEncoder.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocumentLoader.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocumentLoaderFactory.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocumentStateListener.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDownload.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDownloadHistory.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDownloadManager.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDownloadManagerUI.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDownloadProgressListener.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDownloader.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDragDropHandler.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDragService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDragSession.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDynamicContainer.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditActionListener.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditingSession.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditor.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditorBoxObject.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditorDocShell.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditorIMESupport.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditorLogging.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditorMailSupport.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditorObserver.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditorSpellCheck.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditorStyleSheets.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEffectiveTLDService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEmbeddingSiteWindow.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEmbeddingSiteWindow2.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEncodedChannel.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEntityConverter.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEntropyCollector.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEnumerator.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEnvironment.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIErrorService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEventHandler.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEventTarget.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIException.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIExceptionService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIExpatSink.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIExtendedExpatSink.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIExtensionManager.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIExternalHelperAppService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIExternalProtocolHandler.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIExternalProtocolService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFIXptr.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFTPChannel.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFactory.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFastLoadFileControl.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFastLoadService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFaviconService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeed.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeedContainer.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeedElementBase.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeedEntry.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeedGenerator.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeedListener.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeedPerson.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeedProcessor.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeedResult.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeedTextConstruct.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFile.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFileChannel.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFilePicker.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFileProtocolHandler.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFileStreams.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFileURL.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFileUtilities.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFileView.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFind.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFindService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFontEnumerator.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFormFillController.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFormHistory.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFormSigningDialog.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFormSubmitObserver.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFormatConverter.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFrameLoader.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFullScreen.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIGConfService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIGenKeypairInfoDlg.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIGeolocationProvider.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIGlobalHistory.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIGlobalHistory2.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIGlobalHistory3.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIGnomeVFSService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHTMLAbsPosEditor.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHTMLEditor.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHTMLInlineTableEditor.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHTMLObjectResizeListener.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHTMLObjectResizer.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHTTPHeaderListener.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHTTPIndex.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHandlerService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHashable.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHelperAppLauncherDialog.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHistoryEntry.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHttpActivityObserver.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHttpAuthManager.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHttpAuthenticator.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHttpChannel.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHttpChannelInternal.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHttpEventSink.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHttpHeaderVisitor.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHttpProtocolHandler.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIIDNService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIIFrameBoxObject.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIINIParser.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIIOService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIIOService2.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIIconURI.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIIdentityInfo.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIIdleService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIImageDocument.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIImageLoadingContent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIIncrementalDownload.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIInlineSpellChecker.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIInputStream.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIInputStreamChannel.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIInputStreamPump.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIInputStreamTee.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIInterfaceInfo.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIInterfaceInfoManager.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIInterfaceRequestor.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIJAR.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIJARChannel.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIJARProtocolHandler.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIJARURI.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIJRILiveConnectPIPeer.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIJRILiveConnectPlugin.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIJSContextStack.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIJSON.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIJSRuntimeService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIJVMAuthTools.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIJVMConfigManager.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIJVMManager.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIJVMPluginInstance.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIKeyModule.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIKeygenThread.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsILineInputStream.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIListBoxObject.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsILivemarkService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsILoadContext.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsILoadGroup.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsILocalFile.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsILocalFileWin.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsILocale.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsILocaleService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsILoginInfo.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsILoginManager.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsILoginManagerIEMigrationHelper.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsILoginManagerPrompter.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsILoginManagerStorage.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsILoginMetaInfo.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIMIMEHeaderParam.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIMIMEInfo.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIMIMEInputStream.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIMIMEService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIMarkupDocumentViewer.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIMemory.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIMemoryReporter.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIMenuBoxObject.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIModifyableXPointer.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIModule.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIModuleLoader.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIMultiPartChannel.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIMultiplexInputStream.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIMutable.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIMutableArray.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsINSSCertCache.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsINSSErrorsService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsINativeAppSupport.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsINavBookmarksService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsINavHistoryService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsINestedURI.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsINetUtil.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsINetworkLinkService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsINonBlockingAlertService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIOCSPResponder.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIObjectInputStream.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIObjectLoadingContent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIObjectOutputStream.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIObserver.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIObserverService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIOfflineCacheUpdate.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIOutputStream.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPK11Token.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPK11TokenDB.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPKCS11.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPKCS11Module.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPKCS11ModuleDB.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPKCS11Slot.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPKIParamBlock.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIParentalControlsService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPasswordManager.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPasswordManagerInternal.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPermission.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPermissionManager.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPersistentProperties2.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPhonetic.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPipe.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPlaintextEditor.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPlugin.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginDocument.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginHost.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginInputStream.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginInstance.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginInstanceOwner.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginInstancePeer.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginInstancePeer2.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginManager.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginManager2.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginStreamInfo.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginStreamListener.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginTag.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginTagInfo.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginTagInfo2.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPopupBoxObject.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPopupWindowManager.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPref.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrefBranch.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrefBranch2.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrefBranchInternal.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrefLocalizedString.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrefService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrefetchService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrincipal.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrintOptions.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrintProgress.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrintProgressParams.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrintSession.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrintSettings.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrintSettingsService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrintStatusFeedback.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrintingPrompt.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrintingPromptService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrivateBrowsingService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProcess.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProfile.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProfileChangeStatus.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProfileMigrator.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProfileUnlocker.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProgrammingLanguage.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProgressEventSink.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrompt.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPromptFactory.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPromptService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPromptService2.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProperties.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProperty.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPropertyBag.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPropertyBag2.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProtectedAuthThread.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProtocolHandler.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProtocolProxyCallback.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProtocolProxyFilter.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProtocolProxyService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProtocolProxyService2.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProxiedChannel.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProxiedProtocolHandler.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProxyAutoConfig.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProxyInfo.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProxyObjectManager.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFCompositeDataSource.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFContainer.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFContainerUtils.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFDataSource.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFDelegateFactory.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFInMemoryDataSource.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFInferDataSource.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFLiteral.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFNode.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFObserver.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFPropagatableDataSource.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFPurgeableDataSource.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFRemoteDataSource.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFResource.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFXMLParser.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFXMLSerializer.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFXMLSink.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFXMLSource.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRandomGenerator.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIReadConfig.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRecentBadCertsService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRecyclingAllocator.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRefreshURI.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRelativeFilePref.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRemoteService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRequest.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRequestObserver.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRequestObserverProxy.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIResProtocolHandler.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIResumableChannel.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRollupListener.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRunnable.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISAXAttributes.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISAXContentHandler.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISAXDTDHandler.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISAXErrorHandler.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISAXLexicalHandler.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISAXLocator.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISAXMutableAttributes.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISAXXMLFilter.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISAXXMLReader.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISHContainer.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISHEntry.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISHTransaction.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISHistory.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISHistoryInternal.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISHistoryListener.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISMimeCert.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISOCKSSocketInfo.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISSLCertErrorDialog.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISSLErrorListener.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISSLSocketControl.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISSLStatus.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISSLStatusProvider.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISafeOutputStream.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISaveAsCharset.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScreen.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScreenManager.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptChannel.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptError.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptEventHandler.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptEventManager.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptLoaderObserver.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptSecurityManager.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptableDateFormat.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptableInputStream.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptableInterfaces.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptablePlugin.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptableRegion.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptableUConv.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptableUnescapeHTML.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScrollBoxObject.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScrollable.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISearchContext.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISecretDecoderRing.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISecureBrowserUI.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISecurityCheckedComponent.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISecurityEventSink.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISecurityInfoProvider.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISecurityPref.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISecurityWarningDialogs.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISeekableStream.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISelectElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISelection.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISelection2.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISelectionController.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISelectionDisplay.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISelectionListener.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISelectionPrivate.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISemanticUnitScanner.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISerializable.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIServerSocket.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIServiceManager.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISidebar.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISignatureVerifier.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISimpleEnumerator.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISimpleStreamListener.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISimpleTest.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISimpleUnicharStreamFactory.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISliderListener.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISocketProvider.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISocketProviderService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISocketTransport.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISocketTransportService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISound.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStandardURL.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStorageStream.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStreamBufferAccess.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStreamCipher.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStreamConverter.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStreamConverterService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStreamListener.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStreamListenerTee.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStreamLoader.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStreamTransportService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStringBundle.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStringBundleOverride.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStringEnumerator.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStringStream.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStyleSheetService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISupports.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISupportsArray.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISupportsIterators.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISupportsPrimitives.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISupportsPriority.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISyncLoadDOMService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISyncStreamListener.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsISystemProxySettings.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsITXTToHTMLConv.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsITableEditor.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsITaggingService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsITextScroll.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsITextServicesFilter.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsITextToSubURI.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIThread.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIThreadInternal.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIThreadManager.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIThreadPool.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsITimelineService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsITimer.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsITokenDialogs.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsITokenPasswordDialogs.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIToolkit.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIToolkitChromeRegistry.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIToolkitProfile.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIToolkitProfileService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsITooltipListener.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsITooltipTextProvider.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsITraceRefcnt.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsITraceableChannel.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsITransaction.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsITransactionList.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsITransactionListener.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsITransactionManager.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsITransfer.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsITransferable.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsITransport.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsITransportSecurityInfo.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsITreeBoxObject.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsITreeColumns.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsITreeContentView.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsITreeSelection.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsITreeView.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsITypeAheadFind.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIURI.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIURIChecker.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIURIClassifier.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIURIContentListener.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIURIFixup.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIURILoader.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIURIRefObject.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIURL.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIURLFormatter.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIURLParser.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUTF8ConverterService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUUIDGenerator.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUnicharInputStream.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUnicharLineInputStream.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUnicharOutputStream.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUnicharStreamListener.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUnicharStreamLoader.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUnicodeNormalizer.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUpdateService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUploadChannel.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUrlClassifierDBService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUrlClassifierHashCompleter.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUrlClassifierStreamUpdater.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUrlClassifierUtils.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUrlListManager.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUserCertPicker.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUserInfo.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIVariant.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIVersionComparator.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIViewSourceChannel.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWeakReference.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowser.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowserChrome.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowserChrome2.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowserChromeFocus.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowserFind.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowserFocus.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowserPersist.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowserPrint.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowserSetup.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowserStream.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebContentHandlerRegistrar.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebNavigation.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebNavigationInfo.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebPageDescriptor.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebProgress.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebProgressListener.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebProgressListener2.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWindowCreator.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWindowCreator2.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWindowDataSource.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWindowMediator.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWindowMediatorListener.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWindowProvider.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWindowWatcher.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWindowlessPlugInstPeer.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWritablePropertyBag.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWritablePropertyBag2.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWyciwygChannel.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIX509Cert.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIX509Cert2.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIX509Cert3.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIX509CertDB.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIX509CertDB2.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIX509CertList.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIX509CertValidity.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXBLAccessible.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXMLContentBuilder.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXMLHttpRequest.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPCScriptNotify.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPCScriptable.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPCSecurityManager.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPCToolsCompiler.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPCToolsProfiler.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPConnect.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPIDialogService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPIInstallInfo.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPIProgressDialog.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPInstallManager.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPTLoader.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPointer.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXSLTException.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXSLTProcessor.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXSLTProcessorObsolete.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXSLTProcessorPrivate.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXTFAttributeHandler.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXTFElement.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXTFElementFactory.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXTFElementWrapper.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXTFPrivate.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULAppInfo.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULAppInstall.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULBrowserWindow.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULBuilderListener.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULOverlayProvider.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULRuntime.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULSortService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULTemplateBuilder.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULTemplateQueryProcessor.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULTemplateResult.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULTemplateRuleFilter.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULWindow.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIZipReader.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsIZipWriter.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsPIAccessible.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsPIAccessibleDocument.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsPICertNotification.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsPICommandUpdater.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsPIDNSService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsPIEditorTransaction.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsPIPlacesDatabase.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsPIPluginHost.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsPIPluginInstancePeer.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsPIPromptService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsPISocketTransportService.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsPIWindowWatcher.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nspluginroot.idl > /usr/share/idl/xulrunner-1.9.1/unstable/nsrootidl.idl > /usr/share/idl/xulrunner-1.9.1/unstable/rdfIDataSource.idl > /usr/share/idl/xulrunner-1.9.1/unstable/rdfISerializer.idl > /usr/share/idl/xulrunner-1.9.1/unstable/rdfITripleVisitor.idl > /usr/share/idl/xulrunner-1.9.1/unstable/txIEXSLTRegExFunctions.idl > /usr/share/idl/xulrunner-1.9.1/unstable/txIFunctionEvaluationContext.idl > /usr/share/idl/xulrunner-1.9.1/unstable/txINodeSet.idl > /usr/share/idl/xulrunner-1.9.1/unstable/txIXPathObject.idl > /usr/share/idl/xulrunner-1.9.1/unstable/xpcIJSModuleLoader.idl > /usr/share/idl/xulrunner-1.9.1/unstable/xpcIJSWeakReference.idl > /usr/share/idl/xulrunner-1.9.1/unstable/xpccomponents.idl > /usr/share/idl/xulrunner-1.9.1/unstable/xpcexception.idl > /usr/share/idl/xulrunner-1.9.1/unstable/xpcjsid.idl > /usr/share/xulrunner-1.9 > /usr/share/xulrunner-1.9/package.env > >>> >>> I'm trying to install Chromium now. ?Do you know where I have to put >>> the plugin in my home directory so it picks it up? I don't want to do >>> a system install of it. >>> >> >> >> It should work if the link is in ~/.mozilla/plugins/ >> > > Ugh... Chromium uses that too? ?I went for that because I didn't want > it in there, interfering with my main browser. > >> Deepak >> >>> > Cheers, >>> > Deepak >>> > >>> > >>> >> I'm not sure what effect the MOZILLA_CFLAGS being added will have >>> >> though, especially on other platforms. ?I've only built it, not >>> >> tested. ?Will the plugin work with Chromium 4.0.288.1? ?If so, I'll >>> >> try the new Gentoo ebuild for it and test the plugin with it. ?How it >>> >> got to 4.0 already I have no idea! >>> >> >>> >> I think the ppc issue is that there is no version test (there is a >>> >> >1.9 on old plugin, but nothing on new). ?The ppc box is using >>> >> 1.9.0.11 which may be too old. >>> >> -- >>> >> Andrew :-) >>> >> >>> >> Free Java Software Engineer >>> >> Red Hat, Inc. (http://www.redhat.com) >>> >> >>> >> Support Free Java! >>> >> Contribute to GNU Classpath and the OpenJDK >>> >> http://www.gnu.org/software/classpath >>> >> http://openjdk.java.net >>> >> >>> >> PGP Key: 94EFD9D8 (http://subkeys.pgp.net) >>> >> Fingerprint: F8EF F1EA 401E 2E60 15FA ?7927 142C 2591 94EF D9D8 >>> > >>> >>> >>> >>> -- >>> Andrew :-) >>> >>> Free Java Software Engineer >>> Red Hat, Inc. (http://www.redhat.com) >>> >>> Support Free Java! >>> Contribute to GNU Classpath and the OpenJDK >>> http://www.gnu.org/software/classpath >>> http://openjdk.java.net >>> >>> PGP Key: 94EFD9D8 (http://subkeys.pgp.net) >>> Fingerprint: F8EF F1EA 401E 2E60 15FA ?7927 142C 2591 94EF D9D8 >> > > > > -- > Andrew :-) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > Support Free Java! > Contribute to GNU Classpath and the OpenJDK > http://www.gnu.org/software/classpath > http://openjdk.java.net > > PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > Fingerprint: F8EF F1EA 401E 2E60 15FA ?7927 142C 2591 94EF D9D8 > http://www.java.com/en/download/help/testvm.xml works, though it claims I'm running the proprietary JDK and not OpenJDK. I haven't been able to run the in-tree tests because they seem to want to build in the source tree. I'll try and take a look at moving them to the Makefile. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From bugzilla-daemon at icedtea.classpath.org Fri Jan 22 08:07:18 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 22 Jan 2010 16:07:18 +0000 Subject: [Bug 434] New: Shark on ARM SIGSEGV from null pointer in $r2 instead of %stack_pointer_addr Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=434 Summary: Shark on ARM SIGSEGV from null pointer in $r2 instead of %stack_pointer_addr Product: IcedTea Version: 6-hg Platform: Other OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: Shark AssignedTo: unassigned at icedtea.classpath.org ReportedBy: xerxes at zafena.se testcase run CaffeineMarkEmbeddedApp from cm30, this have worked flawlessly before using shark on arm so i suspect a regression using the latest shark. Starting program: /media/disk/icedtea6-tot/openjdk-ecj/build/linux-arm/j2sdk-image/bin/java CaffeineMarkEmbeddedApp [Thread debugging using libthread_db enabled] [New Thread 0x40020670 (LWP 17688)] [New Thread 0x40d24490 (LWP 17765)] [New Thread 0x672f2490 (LWP 17766)] [New Thread 0x673f2490 (LWP 17792)] [New Thread 0x674f2490 (LWP 17793)] [New Thread 0x67631490 (LWP 17859)] [New Thread 0x67751490 (LWP 17860)] [New Thread 0x67851490 (LWP 17861)] [New Thread 0x678d1490 (LWP 17862)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x40d24490 (LWP 17765)] 0x676536e4 in ?? () (gdb) disassemble $pc-4 $pc+256 Dump of assembler code from 0x676536e0 to 0x676537e4: 0x676536e0: push {r4, r5, r6, r7, r11, lr} 0x676536e4: ldr r12, [r2, #480] 0x676536e8: ldr r3, [r2, #472] 0x676536ec: sub r4, r12, #40 ; 0x28 0x676536f0: cmp r4, r3 0x676536f4: bcc 0x6765384c 0x676536f8: mov r5, r2 0x676536fc: str r4, [r4, #24] 0x67653700: mov r2, #3 ; 0x3 0x67653704: str r2, [r4, #32] 0x67653708: ldr r2, [r5, #484] 0x6765370c: str r2, [r4, #36] 0x67653710: add r2, r4, #36 ; 0x24 0x67653714: str r2, [r5, #484] 0x67653718: ldr r6, [r4, #40] 0x6765371c: ldr r2, [r4, #44] 0x67653720: cmp r6, #0 ; 0x0 0x67653724: beq 0x676537b4 0x67653728: ldr r3, [r1, #16] 0x6765372c: add r7, r4, #4 ; 0x4 0x67653730: add r1, r1, #20 ; 0x14 0x67653734: ldr r12, [r3, #76] 0x67653738: ldr lr, [r12] 0x6765373c: str r7, [r5, #480] 0x67653740: str r2, [r4, #8] 0x67653744: sub r7, r6, #1 ; 0x1 0x67653748: str r7, [r4, #4] 0x6765374c: str r0, [r4, #20] 0x67653750: str r1, [r4, #28] 0x67653754: str r2, [r4, #44] 0x67653758: mov r0, r3 0x6765375c: mov r1, r12 0x67653760: mov r2, r5 0x67653764: bx lr 0x67653768: ldr r2, [r5, #4] 0x6765376c: cmp r2, #0 ; 0x0 0x67653770: movne r4, #0 ; 0x0 0x67653774: strne r4, [r5, #4] 0x67653778: strne r2, [r5, #4] 0x6765377c: ldrne r2, [r5, #484] 0x67653780: addne r4, r2, #12 ; 0xc 0x67653784: strne r4, [r5, #480] 0x67653788: ldrne r2, [r2] 0x6765378c: strne r2, [r5, #484] 0x67653790: ldreq r2, [r4, #8] 0x67653794: ldreq r4, [r5, #484] 0x67653798: addeq r0, r4, #8 ; 0x8 0x6765379c: streq r0, [r5, #480] 0x676537a0: ldreq r0, [r4] 0x676537a4: streq r0, [r5, #484] 0x676537a8: addeq r2, r6, r2 0x676537ac: streq r2, [r4, #8] 0x676537b0: pop {r4, r5, r6, r7, r11, pc} 0x676537b4: ldr r3, [pc, #168] ; 0x67653864 0x676537b8: ldr r3, [r3] 0x676537bc: cmp r3, #1 ; 0x1 0x676537c0: bne 0x6765382c 0x676537c4: add r3, r4, #12 ; 0xc 0x676537c8: str r3, [r5, #480] 0x676537cc: str r0, [r4, #20] 0x676537d0: add r0, r1, #21 ; 0x15 0x676537d4: str r0, [r4, #28] 0x676537d8: str r2, [r4, #44] 0x676537dc: ldr r2, [r5, #484] 0x676537e0: str r2, [r5, #256] 0x676537e4: mov r0, r5 0x676537e8: ldr r2, [pc, #120] ; 0x67653868 0x676537ec: bx r2 0x676537f0: mov r2, #0 ; 0x0 0x676537f4: str r2, [r5, #256] 0x676537f8: ldr r2, [r5, #4] 0x676537fc: cmp r2, #0 ; 0x0 0x67653800: movne r0, #0 ; 0x0 0x67653804: strne r0, [r5, #4] 0x67653808: strne r2, [r5, #4] 0x6765380c: ldrne r0, [r5, #484] 0x67653810: addne r1, r0, #12 ; 0xc 0x67653814: strne r1, [r5, #480] 0x67653818: ldrne r0, [r0] 0x6765381c: strne r0, [r5, #484] 0x67653820: popne {r4, r5, r6, r7, r11, pc} 0x67653824: ldr r2, [r4, #44] 0x67653828: ldr r2, [r4, #20] 0x6765382c: mov r2, #0 ; 0x0 0x67653830: ldr r0, [r5, #484] 0x67653834: add r1, r0, #8 ; 0x8 0x67653838: str r1, [r5, #480] 0x6765383c: ldr r1, [r0] 0x67653840: str r1, [r5, #484] 0x67653844: str r2, [r0, #8] 0x67653848: pop {r4, r5, r6, r7, r11, pc} 0x6765384c: ldr r0, [pc, #8] ; 0x6765385c 0x67653850: mov r1, #117 ; 0x75 0x67653854: ldr r4, [pc, #4] ; 0x67653860 0x67653858: bx r4 0x6765385c: adcmi r5, r0, r0, lsl #26 0x67653860: eormi r0, lr, r12, lsr #22 0x67653864: adcmi r12, r11, r8, lsl #14 0x67653868: submi r11, r8, r4, ror #17 0x6765386c: ldrsheq r9, [pc], -r2 0x67653870: strbvs r1, [sp, -r12, ror #31]! 0x67653874: strbvs r1, [sp, -r12, ror #31]! 0x67653878: andeq r0, r0, r0 0x6765387c: andeq r0, r0, r0 0x67653880: andeq r0, r0, r0 0x67653884: andeq r0, r0, r0 0x67653888: andeq r0, r0, r0 0x6765388c: andeq r0, r0, r0 0x67653890: andeq r0, r0, r0 (gdb) c Continuing. # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (os_linux_zero.cpp:236), pid=17688, tid=1087521936 # Error: caught unhandled signal 11 # # JRE version: 6.0_17-b17 # Java VM: OpenJDK Shark VM (14.0-b16 mixed mode linux-arm ) # An error report file with more information is saved as: # /media/disk/test/cm30/hs_err_pid17688.log # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # Program received signal SIGABRT, Aborted. ########################################################## Dumped LLVM ir used for in memory code generation. # After PreEmit passes: # Machine code for function MethodAtom::arithmeticSeries: Frame Objects: fi#0: size=4, align=4, at location [SP-4] fi#1: size=4, align=4, at location [SP-8] fi#2: size=4, align=4, at location [SP-12] fi#3: size=4, align=4, at location [SP-16] fi#4: size=4, align=4, at location [SP-20] fi#5: size=4, align=4, at location [SP-24] Constant Pool: cp#0: i32 1084251392, align=4 cp#1: i32 1076759340, align=4 cp#2: i32 1084999432, align=4 cp#3: i32 1078507748, align=4 Function Live Ins: %R0 in reg%1036, %R1 in reg%1037, %R2 in reg%1038 BB#0: derived from LLVM BB %0 Live Ins: %R0 %R1 %R2 %LR %R11 %R7 %R6 %R5 %R4 STM %SP, 12, pred:14, pred:%reg0, %SP, %R4, %R5, %R6, %R7, %R11, %LR %R12 = LDR %R2, %reg0, 480, pred:14, pred:%reg0; mem:LD4[%stack_pointer_addr] %R3 = LDR %R2, %reg0, 472, pred:14, pred:%reg0; mem:LD4[%7] %R4 = SUBri %R12, 40, pred:14, pred:%reg0, opt:%reg0 CMPrr %R4, %R3, pred:14, pred:%reg0, %CPSR Bcc , pred:3, pred:%CPSR Successors according to CFG: BB#6 BB#1 BB#1: derived from LLVM BB %no_overflow Live Ins: %R2 %R4 %R0 %R1 Predecessors according to CFG: BB#0 %R5 = MOVr %R2, pred:14, pred:%reg0, opt:%reg0 STR %R4, %R4, %reg0, 24, pred:14, pred:%reg0; mem:ST4[%9] %R2 = MOVi 3, pred:14, pred:%reg0, opt:%reg0 STR %R2, %R4, %reg0, 32, pred:14, pred:%reg0; mem:ST4[%10] %R2 = LDR %R5, %reg0, 484, pred:14, pred:%reg0; mem:LD4[%frame_pointer_addr] STR %R2, %R4, %reg0, 36, pred:14, pred:%reg0; mem:ST4[%11] %R2 = ADDri %R4, 36, pred:14, pred:%reg0, opt:%reg0 STR %R2, %R5, %reg0, 484, pred:14, pred:%reg0; mem:ST4[%frame_pointer_addr2] %R6 = LDR %R4, %reg0, 40, pred:14, pred:%reg0; mem:LD4[%19] %R2 = LDR %R4, %reg0, 44, pred:14, pred:%reg0; mem:LD4[%17] CMPzri %R6, 0, pred:14, pred:%reg0, %CPSR Bcc , pred:0, pred:%CPSR Successors according to CFG: BB#2 BB#3 BB#2: derived from LLVM BB %bci_6 Live Ins: %R5 %R4 %R2 %R6 %R0 %R1 Predecessors according to CFG: BB#1 %R3 = LDR %R1, %reg0, 16, pred:14, pred:%reg0; mem:LD4[%25] %R7 = ADDri %R4, 4, pred:14, pred:%reg0, opt:%reg0 %R1 = ADDri %R1, 20, pred:14, pred:%reg0, opt:%reg0 %R12 = LDR %R3, %reg0, 76, pred:14, pred:%reg0; mem:LD4[%28] %LR = LDR %R12, %reg0, 0, pred:14, pred:%reg0; mem:LD4[%30] STR %R7, %R5, %reg0, 480, pred:14, pred:%reg0; mem:ST4[%stack_pointer_addr5] STR %R2, %R4, %reg0, 8, pred:14, pred:%reg0; mem:ST4[%36] %R7 = SUBri %R6, 1, pred:14, pred:%reg0, opt:%reg0 STR %R7, %R4, %reg0, 4, pred:14, pred:%reg0; mem:ST4[%37] STR %R0, %R4, %reg0, 20, pred:14, pred:%reg0; mem:ST4[%39] STR %R1, %R4, %reg0, 28, pred:14, pred:%reg0; mem:ST4[%41] STR %R2, %R4, %reg0, 44, pred:14, pred:%reg0; mem:ST4[%43] %R0 = MOVr %R3, pred:14, pred:%reg0, opt:%reg0 %R1 = MOVr %R12, pred:14, pred:%reg0, opt:%reg0 %R2 = MOVr %R5, pred:14, pred:%reg0, opt:%reg0 BX %LR, %R0, %R1, %R2, %R0, %R1, %R2, %R3, %R12, %LR, %CPSR, ... %R2 = LDR %R5, %reg0, 4, pred:14, pred:%reg0; mem:LD4[%pending_exception_addr] CMPzri %R2, 0, pred:14, pred:%reg0, %CPSR %R4 = MOVi 0, pred:1, pred:%CPSR, opt:%reg0 STR %R4, %R5, %reg0, 4, pred:1, pred:%CPSR; mem:ST4[%pending_exception_addr6] STR %R2, %R5, %reg0, 4, pred:1, pred:%CPSR; mem:ST4[%pending_exception_addr7] %R2 = LDR %R5, %reg0, 484, pred:1, pred:%CPSR; mem:LD4[%frame_pointer_addr8] %R4 = ADDri %R2, 12, pred:1, pred:%CPSR, opt:%reg0 STR %R4, %R5, %reg0, 480, pred:1, pred:%CPSR; mem:ST4[%stack_pointer_addr10] %R2 = LDR %R2, %reg0, 0, pred:1, pred:%CPSR; mem:LD4[%61] STR %R2, %R5, %reg0, 484, pred:1, pred:%CPSR; mem:ST4[%frame_pointer_addr11] %R2 = LDR %R4, %reg0, 8, pred:0, pred:%CPSR; mem:LD4[%44] %R4 = LDR %R5, %reg0, 484, pred:0, pred:%CPSR; mem:LD4[%frame_pointer_addr12] %R0 = ADDri %R4, 8, pred:0, pred:%CPSR, opt:%reg0 STR %R0, %R5, %reg0, 480, pred:0, pred:%CPSR; mem:ST4[%stack_pointer_addr14] %R0 = LDR %R4, %reg0, 0, pred:0, pred:%CPSR; mem:LD4[%70] STR %R0, %R5, %reg0, 484, pred:0, pred:%CPSR; mem:ST4[%frame_pointer_addr15] %R2 = ADDrr %R6, %R2, pred:0, pred:%CPSR, opt:%reg0 STR %R2, %R4, %reg0, 8, pred:0, pred:%CPSR; mem:ST4[%73] LDM_RET %SP, 9, pred:14, pred:%reg0, %SP, %R4, %R5, %R6, %R7, %R11, %PC Successors according to CFG: BB#7 BB#3 BB#3: derived from LLVM BB %bci_4 Live Ins: %R5 %R4 %R2 %R0 %R1 Predecessors according to CFG: BB#1 BB#2 %R3 = LDRcp , %reg0, 0, pred:14, pred:%reg0 %R3 = LDR %R3, %reg0, 0, pred:14, pred:%reg0; mem:LD4[inttoptr (i32 1084999432 to i32*)] CMPzri %R3, 1, pred:14, pred:%reg0, %CPSR Bcc , pred:1, pred:%CPSR Successors according to CFG: BB#4 BB#5 BB#4: derived from LLVM BB %do_safepoint Live Ins: %R5 %R4 %R2 %R0 %R1 Predecessors according to CFG: BB#3 %R3 = ADDri %R4, 12, pred:14, pred:%reg0, opt:%reg0 STR %R3, %R5, %reg0, 480, pred:14, pred:%reg0; mem:ST4[%stack_pointer_addr17] STR %R0, %R4, %reg0, 20, pred:14, pred:%reg0; mem:ST4[%81] %R0 = ADDri %R1, 21, pred:14, pred:%reg0, opt:%reg0 STR %R0, %R4, %reg0, 28, pred:14, pred:%reg0; mem:ST4[%83] STR %R2, %R4, %reg0, 44, pred:14, pred:%reg0; mem:ST4[%85] %R2 = LDR %R5, %reg0, 484, pred:14, pred:%reg0; mem:LD4[%frame_pointer_addr18] STR %R2, %R5, %reg0, 256, pred:14, pred:%reg0; mem:ST4[%frame_anchor_addr] %R0 = MOVr %R5, pred:14, pred:%reg0, opt:%reg0 %R2 = LDRcp , %reg0, 0, pred:14, pred:%reg0 BX %R2, %R0, %R0, %R1, %R2, %R3, %R12, %LR, %CPSR, ... %R2 = MOVi 0, pred:14, pred:%reg0, opt:%reg0 STR %R2, %R5, %reg0, 256, pred:14, pred:%reg0; mem:ST4[%frame_anchor_addr19] %R2 = LDR %R5, %reg0, 4, pred:14, pred:%reg0; mem:LD4[%pending_exception_addr22] CMPzri %R2, 0, pred:14, pred:%reg0, %CPSR %R0 = MOVi 0, pred:1, pred:%CPSR, opt:%reg0 STR %R0, %R5, %reg0, 4, pred:1, pred:%CPSR; mem:ST4[%pending_exception_addr24] STR %R2, %R5, %reg0, 4, pred:1, pred:%CPSR; mem:ST4[%pending_exception_addr25] %R0 = LDR %R5, %reg0, 484, pred:1, pred:%CPSR; mem:LD4[%frame_pointer_addr26] %R1 = ADDri %R0, 12, pred:1, pred:%CPSR, opt:%reg0 STR %R1, %R5, %reg0, 480, pred:1, pred:%CPSR; mem:ST4[%stack_pointer_addr28] %R0 = LDR %R0, %reg0, 0, pred:1, pred:%CPSR; mem:LD4[%114] STR %R0, %R5, %reg0, 484, pred:1, pred:%CPSR; mem:ST4[%frame_pointer_addr29] LDM_RET %SP, 9, pred:1, pred:%CPSR, %SP, %R4, %R5, %R6, %R7, %R11, %PC %R2 = LDR %R4, %reg0, 44, pred:14, pred:%reg0; mem:LD4[%94] %R2 = LDR %R4, %reg0, 20, pred:14, pred:%reg0; mem:LD4[%91] Successors according to CFG: BB#5 BB#5: derived from LLVM BB %do_safepoint.safepointed_crit_edge Live Ins: %D10 %D11 %D12 %D13 %D14 %D15 %D8 %D9 %R10 %R5 %R8 %R9 %S16 %S17 %S18 %S19 %S20 %S21 %S22 %S23 %S24 %S25 %S26 %S27 %S28 %S29 %S30 %S31 Predecessors according to CFG: BB#3 BB#4 %R2 = MOVi 0, pred:14, pred:%reg0, opt:%reg0 %R0 = LDR %R5, %reg0, 484, pred:14, pred:%reg0; mem:LD4[%frame_pointer_addr31] %R1 = ADDri %R0, 8, pred:14, pred:%reg0, opt:%reg0 STR %R1, %R5, %reg0, 480, pred:14, pred:%reg0; mem:ST4[%stack_pointer_addr33] %R1 = LDR %R0, %reg0, 0, pred:14, pred:%reg0; mem:LD4[%103] STR %R1, %R5, %reg0, 484, pred:14, pred:%reg0; mem:ST4[%frame_pointer_addr34] STR %R2, %R0, %reg0, 8, pred:14, pred:%reg0; mem:ST4[%106] LDM_RET %SP, 9, pred:14, pred:%reg0, %SP, %R4, %R5, %R6, %R7, %R11, %PC BB#6: derived from LLVM BB %stack_overflow Predecessors according to CFG: BB#0 %R0 = LDRcp , %reg0, 0, pred:14, pred:%reg0 %R1 = MOVi 117, pred:14, pred:%reg0, opt:%reg0 %R4 = LDRcp , %reg0, 0, pred:14, pred:%reg0 BX %R4, %R0, %R1, %R0, %R1, %R2, %R3, %R12, %LR, %CPSR, ... BB#7: derived from LLVM BB %exception Live Ins: %R5 %R2 Predecessors according to CFG: BB#2 BB#8: CONSTPOOL_ENTRY 0, , 4 CONSTPOOL_ENTRY 1, , 4 CONSTPOOL_ENTRY 2, , 4 CONSTPOOL_ENTRY 3, , 4 # End machine code for function MethodAtom::arithmeticSeries. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jan 22 08:08:03 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 22 Jan 2010 16:08:03 +0000 Subject: [Bug 434] Shark on ARM SIGSEGV from null pointer in $r2 instead of %stack_pointer_addr Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=434 ------- Comment #1 from xerxes at zafena.se 2010-01-22 16:08 ------- Created an attachment (id=284) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=284&action=view) gdb single instruction stepping before crash.txt -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jan 22 08:10:09 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 22 Jan 2010 16:10:09 +0000 Subject: [Bug 434] Shark on ARM SIGSEGV from null pointer in $r2 instead of %stack_pointer_addr Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=434 ------- Comment #2 from xerxes at zafena.se 2010-01-22 16:10 ------- Created an attachment (id=285) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=285&action=view) hs_err_pid17688.log -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jan 22 08:11:34 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 22 Jan 2010 16:11:34 +0000 Subject: [Bug 434] Shark on ARM SIGSEGV from null pointer in $r2 instead of %stack_pointer_addr Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=434 ------- Comment #3 from xerxes at zafena.se 2010-01-22 16:11 ------- 0x676536e4: ldr r12, [r2, #480] on this line where the crash happens $r2 = 0x0 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jan 22 08:23:57 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 22 Jan 2010 16:23:57 +0000 Subject: [Bug 434] Shark on ARM SIGSEGV from null pointer in $r2 instead of %stack_pointer_addr Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=434 ------- Comment #4 from xerxes at zafena.se 2010-01-22 16:23 ------- smells like stack corrupton: 0x40d2216c: stack_word[1] = 0x00000000 0x40d22170: stack_word[0] = 0x40df5140 0x40d22174: oop_tmp = 0x00023f38 <---- this are the stack pointer addr 0x40d22178: method = MethodAtom.arithmeticSeries(I)I 0x40d2217c: unextended_sp = 0x40d22164 0x40d22180: pc = 0x40e458d4 (bci 11) 0x40d22184: frame_type = SHARK_FRAME 0x40d22188: next_frame = 0x40d221ac as can be seen in the gdb single instruction step before crash log the code pops the stack before entering the frame where the crash happened. so this next fame are wher the crash happened 0x40d2218c: local[2] = 0x00000001 0x40d22190: local[1] = 0x455f9290 0x40d22194: local[0] = 0x40d221f0 0x40d22198: oop_tmp = 0x000001e0 <--- aha! this is 0x0+#480 0x40d2219c: method = MethodAtom.arithmeticSeries(I)I 0x40d221a0: unextended_sp = 0x40d22188 0x40d221a4: pc = 0x40e458d4 (bci 11) 0x40d221a8: frame_type = SHARK_FRAME 0x40d221ac: next_frame = 0x40d221d0 0x40d221b0: local[2] = 0x00000002 0x40d221b4: local[1] = 0x455f9290 0x40d221b8: local[0] = 0x630465c0 0x40d221bc: oop_tmp = 0x40d22214 0x40d221c0: method = MethodAtom.arithmeticSeries(I)I 0x40d221c4: unextended_sp = 0x40d221ac 0x40d221c8: pc = 0x40e458d4 (bci 11) 0x40d221cc: frame_type = SHARK_FRAME 0x40d221d0: next_frame = 0x40d221f4 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From dbhole at redhat.com Fri Jan 22 08:35:10 2010 From: dbhole at redhat.com (Deepak Bhole) Date: Fri, 22 Jan 2010 11:35:10 -0500 Subject: 1.7 and NPPlugin In-Reply-To: <17c6771e1001220805g120192b8rad0eabe4ee667fd3@mail.gmail.com> References: <17c6771e1001210604o4ff581e6s4df5075e8888e35e@mail.gmail.com> <20100122003059.GA3558@redhat.com> <17c6771e1001211921s52fb420en22aef0f990af7a7a@mail.gmail.com> <20100122071848.GA30351@redhat.com> <17c6771e1001220629t178a2055wab5b1724497442ea@mail.gmail.com> <20100122153835.GA6434@redhat.com> <17c6771e1001220743r69557c4tfe159554c7c508a1@mail.gmail.com> <17c6771e1001220805g120192b8rad0eabe4ee667fd3@mail.gmail.com> Message-ID: <20100122163508.GC6434@redhat.com> * Andrew John Hughes [2010-01-22 11:06]: > 2010/1/22 Andrew John Hughes : > > 2010/1/22 Deepak Bhole : > >> * Andrew John Hughes [2010-01-22 09:29]: > >>> 2010/1/22 Deepak Bhole : > >>> > * Andrew John Hughes [2010-01-21 22:22]: > >>> >> 2010/1/22 Deepak Bhole : > >>> >> > * Andrew John Hughes [2010-01-21 09:05]: > >>> >> >> I thought we were ready to ship 1.7. ?But then I tried to build NPPlugin... > >>> >> >> > >>> >> >> cd /var/tmp/portage/dev-java/icedtea6-1.7/work/icedtea6-1.7/plugin/icedteanp; \ > >>> >> >> ? ? ? ? if [ -e > >>> >> >> /var/tmp/portage/dev-java/icedtea6-1.7/work/icedtea6-1.7/.hg ] && > >>> >> >> which /usr/bin/hg >/dev/null; then \ > >>> >> >> ? ? ? ? ? revision="-r`(cd > >>> >> >> /var/tmp/portage/dev-java/icedtea6-1.7/work/icedtea6-1.7; /usr/bin/hg > >>> >> >> tip --template '{rev}')`" ; \ > >>> >> > > >>> >> > > >>> >> > Hmm, it builds fine for me on rawhide. > >>> >> > > >>> >> > Can you retry with the attached patch? > >>> >> > > >>> >> > Deepak > >>> >> > > >>> >> >> ? ? ? ? fi ; \ > >>> >> >> ? ? ? ? if [ -n "1.7" ]; then plugin_version=" (1.7)"; fi; \ > >>> >> >> ? ? ? ? plugin_version=" 1.7$revision$plugin_version"; \ > >>> >> >> ? ? ? ? powerpc-unknown-linux-gnu-g++ -O2 -mtune=G5 -mcpu=G5 > >>> >> >> -mabi=altivec -pipe -ggdb \ > >>> >> >> ? ? ? ? ? -DPACKAGE_VERSION="\"1.7\"" \ > >>> >> >> ? ? ? ? ? -DPLUGIN_VERSION="\"$plugin_version\"" \ > >>> >> >> ? ? ? ? ? -DMOZILLA_VERSION_COLLAPSED="1090011" \ > >>> >> >> ? ? ? ? ? -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include ? \ > >>> >> >> ? ? ? ? ? -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include > >>> >> >> -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 > >>> >> >> -\ > >>> >> >> I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include > >>> >> >> -I/usr/include/pixman-1 -I/usr/include/freetype2 > >>> >> >> -I/usr/include/libpng12 ? \ > >>> >> >> ? ? ? ? ? -fshort-wchar -I/usr/include/xulrunner-1.9/stable > >>> >> >> -I/usr/include/nspr ? \ > >>> >> >> ? ? ? ? ? -fPIC -c IcedTeaNPPlugin.cc IcedTeaScriptablePluginObject.cc > >>> >> >> IcedTeaJavaRequestProcessor.cc IcedTeaPluginRequestProcesso\ > >>> >> >> r.cc IcedTeaPluginUtils.cc; \ > >>> >> >> ? ? ? ? cd ../ > >>> >> >> In file included from IcedTeaJavaRequestProcessor.h:46, > >>> >> >> ? ? ? ? ? ? ? ? ?from IcedTeaScriptablePluginObject.h:49, > >>> >> >> ? ? ? ? ? ? ? ? ?from IcedTeaNPPlugin.cc:51: > >>> >> >> IcedTeaNPPlugin.h:43:27: error: nsThreadUtils.h: No such file or directory > >>> >> >> IcedTeaNPPlugin.cc:56:31: error: nsIPluginInstance.h: No such file or directory > >>> >> >> IcedTeaNPPlugin.cc:57:35: error: nsIPluginInstancePeer.h: No such file > >>> >> >> or directory > >>> >> >> IcedTeaNPPlugin.cc:58:31: error: nsIPluginTagInfo2.h: No such file or directory > >>> >> >> IcedTeaNPPlugin.cc:62:30: error: nsICookieService.h: No such file or directory > >>> >> >> IcedTeaNPPlugin.cc:63:26: error: nsIDNSRecord.h: No such file or directory > >>> >> >> IcedTeaNPPlugin.cc:64:27: error: nsIDNSService.h: No such file or directory > >>> >> >> IcedTeaNPPlugin.cc:65:24: error: nsINetUtil.h: No such file or directory > >>> >> >> IcedTeaNPPlugin.cc:66:26: error: nsIProxyInfo.h: No such file or directory > >>> >> >> IcedTeaNPPlugin.cc:67:37: error: nsIProtocolProxyService.h: No such > >>> >> >> file or directory > >>> >> >> IcedTeaNPPlugin.cc:68:38: error: nsIScriptSecurityManager.h: No such > >>> >> >> file or directory > >>> >> >> IcedTeaNPPlugin.cc:71:22: error: nsNetCID.h: No such file or directory > >>> >> >> etc. > >>> >> >> > >>> >> >> but worst of all it doesn't fail then but goes on to do the entire > >>> >> >> second OpenJDK build (another few hours on ppc) and then fails after > >>> >> >> that! > >>> >> >> > >>> >> >> Shouldn't it be checking for this stuff during configure? > >>> >> >> > >>> >> >> On my x86_64 box, I don't even get through configure: > >>> >> >> > >>> >> >> checking for xulrunner version... configure: error: in > >>> >> >> `/mnt/builder/icedtea6-1.7': > >>> >> >> configure: error: cannot determine xulrunner version > >>> >> >> -- > >>> >> >> Andrew :-) > >>> >> >> > >>> >> >> Free Java Software Engineer > >>> >> >> Red Hat, Inc. (http://www.redhat.com) > >>> >> >> > >>> >> >> Support Free Java! > >>> >> >> Contribute to GNU Classpath and the OpenJDK > >>> >> >> http://www.gnu.org/software/classpath > >>> >> >> http://openjdk.java.net > >>> >> >> > >>> >> >> PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > >>> >> >> Fingerprint: F8EF F1EA 401E 2E60 15FA ?7927 142C 2591 94EF D9D8 > >>> >> > > >>> >> > >>> >> That changed nothing, but the following made the x86_64 build complete: > >>> >> > >>> >> - ?CPPFLAGS="$CPPFLAGS $XULRUNNER_CFLAGS" > >>> >> + ?CPPFLAGS="$CPPFLAGS $XULRUNNER_CFLAGS $MOZILLA_CFLAGS" > >>> >> > >>> > > >>> > Looks like there are some serious differences between file locations for > >>> > Gentoo and Fedora :/ > >>> > > >>> > I have built on Fedora (xulrunner 1.9.1/ff3.5) and Rawhide (xulrunner > >>> > 1.9.2/ff 3.6) and both have been fine. The new plugin works fine in Firefox and > >>> > Chromium on F12, and Dennis Gilmore (from Fedora) tried it on Firefox > >>> > and Chromium on rawhide and it works for him too. > >>> > > >>> > >>> Did you not try 1.9.0? ?If that isn't supposed to work, then the build > >>> shouldn't be letting it through. > >>> > >> > >> > >> I didn't try it on 1.9.0, but it should work there.. > >> > > > > That's where the actual build is failing in the PPC logs I sent you. > > > >>> > I will try to install Gentoo in a vm tomorrow and see what is up. With > >>> > the changes that you made that build for you, can you please do a quick > >>> > test on chromium/ff 3.5 to make sure the plugin is visible and works? I > >>> > will try out the same tomorrow once I have the vm set up. > >>> > > > > > If it helps this is what is installed by xulrunner 1.9.1 (the one now > > succeeding on x86_64): > > > > /etc > > /etc/env.d > > /etc/env.d/08xulrunner > > /etc/gre.d > > /etc/gre.d/1.9.1.5.system.conf > > /usr > > /usr/bin > > /usr/bin/xulrunner-1.9.1 > > /usr/include > > /usr/include/xulrunner-1.9.1 > > /usr/include/xulrunner-1.9.1/stable > > /usr/include/xulrunner-1.9.1/stable/domstubs.h > > /usr/include/xulrunner-1.9.1/stable/jni.h > > /usr/include/xulrunner-1.9.1/stable/jni_md.h > > /usr/include/xulrunner-1.9.1/stable/jri.h > > /usr/include/xulrunner-1.9.1/stable/jri_md.h > > /usr/include/xulrunner-1.9.1/stable/jritypes.h > > /usr/include/xulrunner-1.9.1/stable/mozIJSSubScriptLoader.h > > /usr/include/xulrunner-1.9.1/stable/npapi.h > > /usr/include/xulrunner-1.9.1/stable/npfunctions.h > > /usr/include/xulrunner-1.9.1/stable/npruntime.h > > /usr/include/xulrunner-1.9.1/stable/nptypes.h > > /usr/include/xulrunner-1.9.1/stable/nsArrayEnumerator.h > > /usr/include/xulrunner-1.9.1/stable/nsArrayUtils.h > > /usr/include/xulrunner-1.9.1/stable/nsAutoLock.h > > /usr/include/xulrunner-1.9.1/stable/nsBaseHashtable.h > > /usr/include/xulrunner-1.9.1/stable/nsCOMArray.h > > /usr/include/xulrunner-1.9.1/stable/nsCOMPtr.h > > /usr/include/xulrunner-1.9.1/stable/nsCRTGlue.h > > /usr/include/xulrunner-1.9.1/stable/nsCategoryCache.h > > /usr/include/xulrunner-1.9.1/stable/nsClassHashtable.h > > /usr/include/xulrunner-1.9.1/stable/nsComponentManagerUtils.h > > /usr/include/xulrunner-1.9.1/stable/nsCycleCollectionParticipant.h > > /usr/include/xulrunner-1.9.1/stable/nsCycleCollector.h > > /usr/include/xulrunner-1.9.1/stable/nsDataHashtable.h > > /usr/include/xulrunner-1.9.1/stable/nsDebug.h > > /usr/include/xulrunner-1.9.1/stable/nsDeque.h > > /usr/include/xulrunner-1.9.1/stable/nsDirectoryServiceDefs.h > > /usr/include/xulrunner-1.9.1/stable/nsDirectoryServiceUtils.h > > /usr/include/xulrunner-1.9.1/stable/nsEmbedAPI.h > > /usr/include/xulrunner-1.9.1/stable/nsEmbedCID.h > > /usr/include/xulrunner-1.9.1/stable/nsEmbedString.h > > /usr/include/xulrunner-1.9.1/stable/nsEnumeratorUtils.h > > /usr/include/xulrunner-1.9.1/stable/nsError.h > > /usr/include/xulrunner-1.9.1/stable/nsGenericFactory.h > > /usr/include/xulrunner-1.9.1/stable/nsHashKeys.h > > /usr/include/xulrunner-1.9.1/stable/nsIASN1Object.h > > /usr/include/xulrunner-1.9.1/stable/nsIASN1Sequence.h > > /usr/include/xulrunner-1.9.1/stable/nsIArray.h > > /usr/include/xulrunner-1.9.1/stable/nsICRLInfo.h > > /usr/include/xulrunner-1.9.1/stable/nsICategoryManager.h > > /usr/include/xulrunner-1.9.1/stable/nsICertificateDialogs.h > > /usr/include/xulrunner-1.9.1/stable/nsIChannel.h > > /usr/include/xulrunner-1.9.1/stable/nsIClassInfo.h > > /usr/include/xulrunner-1.9.1/stable/nsIClassInfoImpl.h > > /usr/include/xulrunner-1.9.1/stable/nsIClipboardCommands.h > > /usr/include/xulrunner-1.9.1/stable/nsIComponentManager.h > > /usr/include/xulrunner-1.9.1/stable/nsIComponentRegistrar.h > > /usr/include/xulrunner-1.9.1/stable/nsIContextMenuListener.h > > /usr/include/xulrunner-1.9.1/stable/nsICookie.h > > /usr/include/xulrunner-1.9.1/stable/nsICookieManager.h > > /usr/include/xulrunner-1.9.1/stable/nsID.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOM3DocumentEvent.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOM3EventTarget.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMAbstractView.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMAttr.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMBarProp.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMCDATASection.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMCSSPrimitiveValue.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMCSSRule.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMCSSRuleList.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMCSSStyleDeclaration.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMCSSStyleSheet.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMCSSValue.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMCSSValueList.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMCharacterData.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMComment.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMDOMException.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMDOMImplementation.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMDocument.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMDocumentEvent.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMDocumentFragment.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMDocumentRange.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMDocumentStyle.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMDocumentType.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMDocumentView.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMElementCSSInlineStyle.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMEntity.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMEntityReference.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMEvent.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMEventGroup.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMEventListener.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMEventTarget.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLAnchorElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLAppletElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLAreaElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLAudioElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLBRElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLBaseElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLBaseFontElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLBodyElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLButtonElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLByteRanges.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLCollection.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLDListElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLDirectoryElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLDivElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLDocument.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLEmbedElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLFieldSetElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLFontElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLFormElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLFrameElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLFrameSetElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLHRElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLHeadElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLHeadingElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLHtmlElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLIFrameElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLImageElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLInputElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLIsIndexElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLLIElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLLabelElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLLegendElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLLinkElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLMapElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLMediaElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLMediaError.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLMenuElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLMetaElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLModElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLOListElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLObjectElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLOptGroupElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLOptionElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLOptionsCollection.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLParagraphElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLParamElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLPreElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLQuoteElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLScriptElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLSelectElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLSourceElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLStyleElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLTableCaptionElem.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLTableCellElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLTableColElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLTableElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLTableRowElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLTableSectionElem.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLTextAreaElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLTimeRanges.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLTitleElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLUListElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLVideoElement.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMHTMLVoidCallback.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMMediaList.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMMouseEvent.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMMouseScrollEvent.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMNamedNodeMap.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMNode.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMNodeList.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMNotation.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMProcessingInstruction.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMProgressEvent.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMRange.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMStorage.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMStorageEvent.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMStorageItem.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMStorageList.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMStorageWindow.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMStorageWindow_1_9_1.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMStyleSheet.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMStyleSheetList.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMText.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMUIEvent.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMWindow.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMWindow2.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMWindowCollection.h > > /usr/include/xulrunner-1.9.1/stable/nsIDOMWindowUtils.h > > /usr/include/xulrunner-1.9.1/stable/nsIDebug.h > > /usr/include/xulrunner-1.9.1/stable/nsIDirectoryService.h > > /usr/include/xulrunner-1.9.1/stable/nsIEmbeddingSiteWindow.h > > /usr/include/xulrunner-1.9.1/stable/nsIFactory.h > > /usr/include/xulrunner-1.9.1/stable/nsIFile.h > > /usr/include/xulrunner-1.9.1/stable/nsIFileURL.h > > /usr/include/xulrunner-1.9.1/stable/nsIGenericFactory.h > > /usr/include/xulrunner-1.9.1/stable/nsIGlobalHistory.h > > /usr/include/xulrunner-1.9.1/stable/nsIHashable.h > > /usr/include/xulrunner-1.9.1/stable/nsIHistoryEntry.h > > /usr/include/xulrunner-1.9.1/stable/nsIHttpChannel.h > > /usr/include/xulrunner-1.9.1/stable/nsIHttpHeaderVisitor.h > > /usr/include/xulrunner-1.9.1/stable/nsIIOService.h > > /usr/include/xulrunner-1.9.1/stable/nsIInputStream.h > > /usr/include/xulrunner-1.9.1/stable/nsIInterfaceRequestor.h > > /usr/include/xulrunner-1.9.1/stable/nsIInterfaceRequestorUtils.h > > /usr/include/xulrunner-1.9.1/stable/nsIJSON.h > > /usr/include/xulrunner-1.9.1/stable/nsILoadGroup.h > > /usr/include/xulrunner-1.9.1/stable/nsILocalFile.h > > /usr/include/xulrunner-1.9.1/stable/nsIMemory.h > > /usr/include/xulrunner-1.9.1/stable/nsIModule.h > > /usr/include/xulrunner-1.9.1/stable/nsIMutableArray.h > > /usr/include/xulrunner-1.9.1/stable/nsINIParser.h > > /usr/include/xulrunner-1.9.1/stable/nsIObserver.h > > /usr/include/xulrunner-1.9.1/stable/nsIObserverService.h > > /usr/include/xulrunner-1.9.1/stable/nsIOutputStream.h > > /usr/include/xulrunner-1.9.1/stable/nsIPrefBranch.h > > /usr/include/xulrunner-1.9.1/stable/nsIPrefBranch2.h > > /usr/include/xulrunner-1.9.1/stable/nsIPrefLocalizedString.h > > /usr/include/xulrunner-1.9.1/stable/nsIPrefService.h > > /usr/include/xulrunner-1.9.1/stable/nsIProfile.h > > /usr/include/xulrunner-1.9.1/stable/nsIProfileChangeStatus.h > > /usr/include/xulrunner-1.9.1/stable/nsIProgrammingLanguage.h > > /usr/include/xulrunner-1.9.1/stable/nsIPromptService.h > > /usr/include/xulrunner-1.9.1/stable/nsIProperties.h > > /usr/include/xulrunner-1.9.1/stable/nsIProtocolHandler.h > > /usr/include/xulrunner-1.9.1/stable/nsIRequest.h > > /usr/include/xulrunner-1.9.1/stable/nsIRequestObserver.h > > /usr/include/xulrunner-1.9.1/stable/nsISHistory.h > > /usr/include/xulrunner-1.9.1/stable/nsISHistoryListener.h > > /usr/include/xulrunner-1.9.1/stable/nsIScriptableInputStream.h > > /usr/include/xulrunner-1.9.1/stable/nsISecurityWarningDialogs.h > > /usr/include/xulrunner-1.9.1/stable/nsISelection.h > > /usr/include/xulrunner-1.9.1/stable/nsIServiceManager.h > > /usr/include/xulrunner-1.9.1/stable/nsISimpleEnumerator.h > > /usr/include/xulrunner-1.9.1/stable/nsIStreamListener.h > > /usr/include/xulrunner-1.9.1/stable/nsISupports.h > > /usr/include/xulrunner-1.9.1/stable/nsISupportsBase.h > > /usr/include/xulrunner-1.9.1/stable/nsISupportsImpl.h > > /usr/include/xulrunner-1.9.1/stable/nsISupportsPrimitives.h > > /usr/include/xulrunner-1.9.1/stable/nsISupportsUtils.h > > /usr/include/xulrunner-1.9.1/stable/nsITooltipListener.h > > /usr/include/xulrunner-1.9.1/stable/nsITooltipTextProvider.h > > /usr/include/xulrunner-1.9.1/stable/nsITraceRefcnt.h > > /usr/include/xulrunner-1.9.1/stable/nsITraceableChannel.h > > /usr/include/xulrunner-1.9.1/stable/nsIURI.h > > /usr/include/xulrunner-1.9.1/stable/nsIURIContentListener.h > > /usr/include/xulrunner-1.9.1/stable/nsIURL.h > > /usr/include/xulrunner-1.9.1/stable/nsIUnicharStreamListener.h > > /usr/include/xulrunner-1.9.1/stable/nsIUploadChannel.h > > /usr/include/xulrunner-1.9.1/stable/nsIWeakReference.h > > /usr/include/xulrunner-1.9.1/stable/nsIWeakReferenceUtils.h > > /usr/include/xulrunner-1.9.1/stable/nsIWebBrowser.h > > /usr/include/xulrunner-1.9.1/stable/nsIWebBrowserChrome.h > > /usr/include/xulrunner-1.9.1/stable/nsIWebBrowserChromeFocus.h > > /usr/include/xulrunner-1.9.1/stable/nsIWebBrowserFind.h > > /usr/include/xulrunner-1.9.1/stable/nsIWebBrowserFocus.h > > /usr/include/xulrunner-1.9.1/stable/nsIWebBrowserPrint.h > > /usr/include/xulrunner-1.9.1/stable/nsIWebBrowserSetup.h > > /usr/include/xulrunner-1.9.1/stable/nsIWebBrowserStream.h > > /usr/include/xulrunner-1.9.1/stable/nsIWebProgress.h > > /usr/include/xulrunner-1.9.1/stable/nsIWebProgressListener.h > > /usr/include/xulrunner-1.9.1/stable/nsIWindowCreator.h > > /usr/include/xulrunner-1.9.1/stable/nsIWindowWatcher.h > > /usr/include/xulrunner-1.9.1/stable/nsIX509Cert.h > > /usr/include/xulrunner-1.9.1/stable/nsIX509CertDB.h > > /usr/include/xulrunner-1.9.1/stable/nsIX509CertValidity.h > > /usr/include/xulrunner-1.9.1/stable/nsInterfaceHashtable.h > > /usr/include/xulrunner-1.9.1/stable/nsMemory.h > > /usr/include/xulrunner-1.9.1/stable/nsObjCExceptions.h > > /usr/include/xulrunner-1.9.1/stable/nsParserDataListener.h > > /usr/include/xulrunner-1.9.1/stable/nsQuickSort.h > > /usr/include/xulrunner-1.9.1/stable/nsRefPtrHashtable.h > > /usr/include/xulrunner-1.9.1/stable/nsServiceManagerUtils.h > > /usr/include/xulrunner-1.9.1/stable/nsStringAPI.h > > /usr/include/xulrunner-1.9.1/stable/nsStringGlue.h > > /usr/include/xulrunner-1.9.1/stable/nsTArray.h > > /usr/include/xulrunner-1.9.1/stable/nsTHashtable.h > > /usr/include/xulrunner-1.9.1/stable/nsTObserverArray.h > > /usr/include/xulrunner-1.9.1/stable/nsTPtrArray.h > > /usr/include/xulrunner-1.9.1/stable/nsTWeakRef.h > > /usr/include/xulrunner-1.9.1/stable/nsTextFormatter.h > > /usr/include/xulrunner-1.9.1/stable/nsTraceRefcnt.h > > /usr/include/xulrunner-1.9.1/stable/nsUnicharUtils.h > > /usr/include/xulrunner-1.9.1/stable/nsVersionComparator.h > > /usr/include/xulrunner-1.9.1/stable/nsVoidArray.h > > /usr/include/xulrunner-1.9.1/stable/nsWeakReference.h > > /usr/include/xulrunner-1.9.1/stable/nsXPCOM.h > > /usr/include/xulrunner-1.9.1/stable/nsXPCOMCID.h > > /usr/include/xulrunner-1.9.1/stable/nsXPCOMGlue.h > > /usr/include/xulrunner-1.9.1/stable/nsXPCOMStrings.h > > /usr/include/xulrunner-1.9.1/stable/nscore.h > > /usr/include/xulrunner-1.9.1/stable/nsrootidl.h > > /usr/include/xulrunner-1.9.1/stable/pldhash.h > > /usr/include/xulrunner-1.9.1/stable/xpcom-config.h > > /usr/include/xulrunner-1.9.1/unstable > > /usr/include/xulrunner-1.9.1/unstable/ImageErrors.h > > /usr/include/xulrunner-1.9.1/unstable/ImageLogging.h > > /usr/include/xulrunner-1.9.1/unstable/NSReg.h > > /usr/include/xulrunner-1.9.1/unstable/ProxyJNI.h > > /usr/include/xulrunner-1.9.1/unstable/PyXPCOM.h > > /usr/include/xulrunner-1.9.1/unstable/VerReg.h > > /usr/include/xulrunner-1.9.1/unstable/XPCIDispatch.h > > /usr/include/xulrunner-1.9.1/unstable/bool.h > > /usr/include/xulrunner-1.9.1/unstable/codec.h > > /usr/include/xulrunner-1.9.1/unstable/comments.h > > /usr/include/xulrunner-1.9.1/unstable/config.h > > /usr/include/xulrunner-1.9.1/unstable/config_gcc.h > > /usr/include/xulrunner-1.9.1/unstable/config_types.h > > /usr/include/xulrunner-1.9.1/unstable/config_win32.h > > /usr/include/xulrunner-1.9.1/unstable/constants.h > > /usr/include/xulrunner-1.9.1/unstable/decode.h > > /usr/include/xulrunner-1.9.1/unstable/deprecated.h > > /usr/include/xulrunner-1.9.1/unstable/domstubs.h > > /usr/include/xulrunner-1.9.1/unstable/encode.h > > /usr/include/xulrunner-1.9.1/unstable/expat.h > > /usr/include/xulrunner-1.9.1/unstable/expat_config.h > > /usr/include/xulrunner-1.9.1/unstable/expat_external.h > > /usr/include/xulrunner-1.9.1/unstable/extIApplication.h > > /usr/include/xulrunner-1.9.1/unstable/fishsound.h > > /usr/include/xulrunner-1.9.1/unstable/ftpCore.h > > /usr/include/xulrunner-1.9.1/unstable/gfxASurface.h > > /usr/include/xulrunner-1.9.1/unstable/gfxAlphaRecovery.h > > /usr/include/xulrunner-1.9.1/unstable/gfxBlur.h > > /usr/include/xulrunner-1.9.1/unstable/gfxColor.h > > /usr/include/xulrunner-1.9.1/unstable/gfxContext.h > > /usr/include/xulrunner-1.9.1/unstable/gfxCore.h > > /usr/include/xulrunner-1.9.1/unstable/gfxFont.h > > /usr/include/xulrunner-1.9.1/unstable/gfxFontTest.h > > /usr/include/xulrunner-1.9.1/unstable/gfxFontUtils.h > > /usr/include/xulrunner-1.9.1/unstable/gfxGdkNativeRenderer.h > > /usr/include/xulrunner-1.9.1/unstable/gfxIFormats.h > > /usr/include/xulrunner-1.9.1/unstable/gfxIImageFrame.h > > /usr/include/xulrunner-1.9.1/unstable/gfxImageSurface.h > > /usr/include/xulrunner-1.9.1/unstable/gfxMatrix.h > > /usr/include/xulrunner-1.9.1/unstable/gfxPDFSurface.h > > /usr/include/xulrunner-1.9.1/unstable/gfxPSSurface.h > > /usr/include/xulrunner-1.9.1/unstable/gfxPangoFonts.h > > /usr/include/xulrunner-1.9.1/unstable/gfxPath.h > > /usr/include/xulrunner-1.9.1/unstable/gfxPattern.h > > /usr/include/xulrunner-1.9.1/unstable/gfxPlatform.h > > /usr/include/xulrunner-1.9.1/unstable/gfxPlatformGtk.h > > /usr/include/xulrunner-1.9.1/unstable/gfxPoint.h > > /usr/include/xulrunner-1.9.1/unstable/gfxRect.h > > /usr/include/xulrunner-1.9.1/unstable/gfxSkipChars.h > > /usr/include/xulrunner-1.9.1/unstable/gfxTextRunCache.h > > /usr/include/xulrunner-1.9.1/unstable/gfxTextRunWordCache.h > > /usr/include/xulrunner-1.9.1/unstable/gfxTypes.h > > /usr/include/xulrunner-1.9.1/unstable/gfxUserFontSet.h > > /usr/include/xulrunner-1.9.1/unstable/gfxUtils.h > > /usr/include/xulrunner-1.9.1/unstable/gfxXlibSurface.h > > /usr/include/xulrunner-1.9.1/unstable/gfxtypes.h > > /usr/include/xulrunner-1.9.1/unstable/gtk2xtbin.h > > /usr/include/xulrunner-1.9.1/unstable/gtkmozembed.h > > /usr/include/xulrunner-1.9.1/unstable/gtkmozembed_glue.cpp > > /usr/include/xulrunner-1.9.1/unstable/gtkmozembed_internal.h > > /usr/include/xulrunner-1.9.1/unstable/gtkxtbin.h > > /usr/include/xulrunner-1.9.1/unstable/imgICache.h > > /usr/include/xulrunner-1.9.1/unstable/imgIContainer.h > > /usr/include/xulrunner-1.9.1/unstable/imgIContainerObserver.h > > /usr/include/xulrunner-1.9.1/unstable/imgIDecoder.h > > /usr/include/xulrunner-1.9.1/unstable/imgIDecoderObserver.h > > /usr/include/xulrunner-1.9.1/unstable/imgIEncoder.h > > /usr/include/xulrunner-1.9.1/unstable/imgILoad.h > > /usr/include/xulrunner-1.9.1/unstable/imgILoader.h > > /usr/include/xulrunner-1.9.1/unstable/imgIRequest.h > > /usr/include/xulrunner-1.9.1/unstable/imgITools.h > > /usr/include/xulrunner-1.9.1/unstable/inICSSValueSearch.h > > /usr/include/xulrunner-1.9.1/unstable/inIDOMUtils.h > > /usr/include/xulrunner-1.9.1/unstable/inIDOMView.h > > /usr/include/xulrunner-1.9.1/unstable/inIDeepTreeWalker.h > > /usr/include/xulrunner-1.9.1/unstable/inIFlasher.h > > /usr/include/xulrunner-1.9.1/unstable/inISearchObserver.h > > /usr/include/xulrunner-1.9.1/unstable/inISearchProcess.h > > /usr/include/xulrunner-1.9.1/unstable/interpreter.h > > /usr/include/xulrunner-1.9.1/unstable/javaString.h > > /usr/include/xulrunner-1.9.1/unstable/javaThreads.h > > /usr/include/xulrunner-1.9.1/unstable/java_lang_String.h > > /usr/include/xulrunner-1.9.1/unstable/jdk_java_lang_String.h > > /usr/include/xulrunner-1.9.1/unstable/jmc.h > > /usr/include/xulrunner-1.9.1/unstable/jni.h > > /usr/include/xulrunner-1.9.1/unstable/jni_md.h > > /usr/include/xulrunner-1.9.1/unstable/jri.h > > /usr/include/xulrunner-1.9.1/unstable/jri_md.h > > /usr/include/xulrunner-1.9.1/unstable/jriext.h > > /usr/include/xulrunner-1.9.1/unstable/jritypes.h > > /usr/include/xulrunner-1.9.1/unstable/js-config.h > > /usr/include/xulrunner-1.9.1/unstable/js.msg > > /usr/include/xulrunner-1.9.1/unstable/jsapi.h > > /usr/include/xulrunner-1.9.1/unstable/jsarena.h > > /usr/include/xulrunner-1.9.1/unstable/jsarray.h > > /usr/include/xulrunner-1.9.1/unstable/jsatom.h > > /usr/include/xulrunner-1.9.1/unstable/jsautocfg.h > > /usr/include/xulrunner-1.9.1/unstable/jsautokw.h > > /usr/include/xulrunner-1.9.1/unstable/jsbit.h > > /usr/include/xulrunner-1.9.1/unstable/jsbool.h > > /usr/include/xulrunner-1.9.1/unstable/jsclist.h > > /usr/include/xulrunner-1.9.1/unstable/jscntxt.h > > /usr/include/xulrunner-1.9.1/unstable/jscompat.h > > /usr/include/xulrunner-1.9.1/unstable/jsdIDebuggerService.h > > /usr/include/xulrunner-1.9.1/unstable/jsdate.h > > /usr/include/xulrunner-1.9.1/unstable/jsdbgapi.h > > /usr/include/xulrunner-1.9.1/unstable/jsdebug.h > > /usr/include/xulrunner-1.9.1/unstable/jsdhash.h > > /usr/include/xulrunner-1.9.1/unstable/jsdtoa.h > > /usr/include/xulrunner-1.9.1/unstable/jsemit.h > > /usr/include/xulrunner-1.9.1/unstable/jsfun.h > > /usr/include/xulrunner-1.9.1/unstable/jsgc.h > > /usr/include/xulrunner-1.9.1/unstable/jshash.h > > /usr/include/xulrunner-1.9.1/unstable/jsinterp.h > > /usr/include/xulrunner-1.9.1/unstable/jsiter.h > > /usr/include/xulrunner-1.9.1/unstable/jsjava.h > > /usr/include/xulrunner-1.9.1/unstable/jslock.h > > /usr/include/xulrunner-1.9.1/unstable/jslong.h > > /usr/include/xulrunner-1.9.1/unstable/jsmath.h > > /usr/include/xulrunner-1.9.1/unstable/jsnum.h > > /usr/include/xulrunner-1.9.1/unstable/jsobj.h > > /usr/include/xulrunner-1.9.1/unstable/json.h > > /usr/include/xulrunner-1.9.1/unstable/jsopcode.h > > /usr/include/xulrunner-1.9.1/unstable/jsopcode.tbl > > /usr/include/xulrunner-1.9.1/unstable/jsotypes.h > > /usr/include/xulrunner-1.9.1/unstable/jsparse.h > > /usr/include/xulrunner-1.9.1/unstable/jsprf.h > > /usr/include/xulrunner-1.9.1/unstable/jsproto.tbl > > /usr/include/xulrunner-1.9.1/unstable/jsprvtd.h > > /usr/include/xulrunner-1.9.1/unstable/jspubtd.h > > /usr/include/xulrunner-1.9.1/unstable/jsregexp.h > > /usr/include/xulrunner-1.9.1/unstable/jsscan.h > > /usr/include/xulrunner-1.9.1/unstable/jsscope.h > > /usr/include/xulrunner-1.9.1/unstable/jsscript.h > > /usr/include/xulrunner-1.9.1/unstable/jsstaticcheck.h > > /usr/include/xulrunner-1.9.1/unstable/jsstddef.h > > /usr/include/xulrunner-1.9.1/unstable/jsstdint.h > > /usr/include/xulrunner-1.9.1/unstable/jsstr.h > > /usr/include/xulrunner-1.9.1/unstable/jstracer.h > > /usr/include/xulrunner-1.9.1/unstable/jstypes.h > > /usr/include/xulrunner-1.9.1/unstable/jsutil.h > > /usr/include/xulrunner-1.9.1/unstable/jsversion.h > > /usr/include/xulrunner-1.9.1/unstable/jsxdrapi.h > > /usr/include/xulrunner-1.9.1/unstable/jsxml.h > > /usr/include/xulrunner-1.9.1/unstable/jvmmgr.h > > /usr/include/xulrunner-1.9.1/unstable/mozAutoDocUpdate.h > > /usr/include/xulrunner-1.9.1/unstable/mozFlushType.h > > /usr/include/xulrunner-1.9.1/unstable/mozIJSSubScriptLoader.h > > /usr/include/xulrunner-1.9.1/unstable/mozIPersonalDictionary.h > > /usr/include/xulrunner-1.9.1/unstable/mozISanitizingSerializer.h > > /usr/include/xulrunner-1.9.1/unstable/mozISpellCheckingEngine.h > > /usr/include/xulrunner-1.9.1/unstable/mozISpellI18NManager.h > > /usr/include/xulrunner-1.9.1/unstable/mozISpellI18NUtil.h > > /usr/include/xulrunner-1.9.1/unstable/mozIStorageAggregateFunction.h > > /usr/include/xulrunner-1.9.1/unstable/mozIStorageConnection.h > > /usr/include/xulrunner-1.9.1/unstable/mozIStorageDataSet.h > > /usr/include/xulrunner-1.9.1/unstable/mozIStorageError.h > > /usr/include/xulrunner-1.9.1/unstable/mozIStorageFunction.h > > /usr/include/xulrunner-1.9.1/unstable/mozIStoragePendingStatement.h > > /usr/include/xulrunner-1.9.1/unstable/mozIStorageProgressHandler.h > > /usr/include/xulrunner-1.9.1/unstable/mozIStorageResultSet.h > > /usr/include/xulrunner-1.9.1/unstable/mozIStorageRow.h > > /usr/include/xulrunner-1.9.1/unstable/mozIStorageService.h > > /usr/include/xulrunner-1.9.1/unstable/mozIStorageStatement.h > > /usr/include/xulrunner-1.9.1/unstable/mozIStorageStatementCallback.h > > /usr/include/xulrunner-1.9.1/unstable/mozIStorageStatementWrapper.h > > /usr/include/xulrunner-1.9.1/unstable/mozIStorageValueArray.h > > /usr/include/xulrunner-1.9.1/unstable/mozITXTToHTMLConv.h > > /usr/include/xulrunner-1.9.1/unstable/mozStorage.h > > /usr/include/xulrunner-1.9.1/unstable/mozStorageCID.h > > /usr/include/xulrunner-1.9.1/unstable/mozStorageHelper.h > > /usr/include/xulrunner-1.9.1/unstable/mozcontainer.h > > /usr/include/xulrunner-1.9.1/unstable/mozdrawingarea.h > > /usr/include/xulrunner-1.9.1/unstable/mozilla-config.h > > /usr/include/xulrunner-1.9.1/unstable/mozpngconf.h > > /usr/include/xulrunner-1.9.1/unstable/necko-config.h > > /usr/include/xulrunner-1.9.1/unstable/netCore.h > > /usr/include/xulrunner-1.9.1/unstable/netscape_javascript_JSException.h > > /usr/include/xulrunner-1.9.1/unstable/netscape_javascript_JSObject.h > > /usr/include/xulrunner-1.9.1/unstable/npapi.h > > /usr/include/xulrunner-1.9.1/unstable/npfunctions.h > > /usr/include/xulrunner-1.9.1/unstable/npruntime.h > > /usr/include/xulrunner-1.9.1/unstable/nptypes.h > > /usr/include/xulrunner-1.9.1/unstable/nsASocketHandler.h > > /usr/include/xulrunner-1.9.1/unstable/nsAString.h > > /usr/include/xulrunner-1.9.1/unstable/nsAXPCNativeCallContext.h > > /usr/include/xulrunner-1.9.1/unstable/nsAboutProtocolUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsAccessNode.h > > /usr/include/xulrunner-1.9.1/unstable/nsAccessNodeWrap.h > > /usr/include/xulrunner-1.9.1/unstable/nsAccessibleEventData.h > > /usr/include/xulrunner-1.9.1/unstable/nsAccessibleRelationWrap.h > > /usr/include/xulrunner-1.9.1/unstable/nsAccessibleWrap.h > > /usr/include/xulrunner-1.9.1/unstable/nsAgg.h > > /usr/include/xulrunner-1.9.1/unstable/nsAlgorithm.h > > /usr/include/xulrunner-1.9.1/unstable/nsAppDirectoryServiceDefs.h > > /usr/include/xulrunner-1.9.1/unstable/nsAppShellCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsArrayEnumerator.h > > /usr/include/xulrunner-1.9.1/unstable/nsArrayUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsAtomListUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsAtomService.h > > /usr/include/xulrunner-1.9.1/unstable/nsAttrName.h > > /usr/include/xulrunner-1.9.1/unstable/nsAudioStream.h > > /usr/include/xulrunner-1.9.1/unstable/nsAutoJSValHolder.h > > /usr/include/xulrunner-1.9.1/unstable/nsAutoLock.h > > /usr/include/xulrunner-1.9.1/unstable/nsAutoPtr.h > > /usr/include/xulrunner-1.9.1/unstable/nsAutoRef.h > > /usr/include/xulrunner-1.9.1/unstable/nsBaseHashtable.h > > /usr/include/xulrunner-1.9.1/unstable/nsBidi.h > > /usr/include/xulrunner-1.9.1/unstable/nsBidiFrames.h > > /usr/include/xulrunner-1.9.1/unstable/nsBidiPresUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsBidiUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsBindingManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsCDefaultURIFixup.h > > /usr/include/xulrunner-1.9.1/unstable/nsCDocShell.h > > /usr/include/xulrunner-1.9.1/unstable/nsCExternalHandlerService.h > > /usr/include/xulrunner-1.9.1/unstable/nsCOMArray.h > > /usr/include/xulrunner-1.9.1/unstable/nsCOMPtr.h > > /usr/include/xulrunner-1.9.1/unstable/nsCPasswordManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsCPasswordManagerInternal.h > > /usr/include/xulrunner-1.9.1/unstable/nsCPrefetchService.h > > /usr/include/xulrunner-1.9.1/unstable/nsCRT.h > > /usr/include/xulrunner-1.9.1/unstable/nsCRTGlue.h > > /usr/include/xulrunner-1.9.1/unstable/nsCSSAnonBoxList.h > > /usr/include/xulrunner-1.9.1/unstable/nsCSSAnonBoxes.h > > /usr/include/xulrunner-1.9.1/unstable/nsCSSFrameConstructor.h > > /usr/include/xulrunner-1.9.1/unstable/nsCSSKeywordList.h > > /usr/include/xulrunner-1.9.1/unstable/nsCSSKeywords.h > > /usr/include/xulrunner-1.9.1/unstable/nsCSSPropList.h > > /usr/include/xulrunner-1.9.1/unstable/nsCSSProperty.h > > /usr/include/xulrunner-1.9.1/unstable/nsCSSProps.h > > /usr/include/xulrunner-1.9.1/unstable/nsCSSPseudoClassList.h > > /usr/include/xulrunner-1.9.1/unstable/nsCSSPseudoClasses.h > > /usr/include/xulrunner-1.9.1/unstable/nsCSSPseudoElementList.h > > /usr/include/xulrunner-1.9.1/unstable/nsCSSPseudoElements.h > > /usr/include/xulrunner-1.9.1/unstable/nsCSSRuleProcessor.h > > /usr/include/xulrunner-1.9.1/unstable/nsCSSStruct.h > > /usr/include/xulrunner-1.9.1/unstable/nsCSSStyleSheet.h > > /usr/include/xulrunner-1.9.1/unstable/nsCSSValue.h > > /usr/include/xulrunner-1.9.1/unstable/nsCTooltipTextProvider.h > > /usr/include/xulrunner-1.9.1/unstable/nsCUPSShim.h > > /usr/include/xulrunner-1.9.1/unstable/nsCURILoader.h > > /usr/include/xulrunner-1.9.1/unstable/nsCWebBrowser.h > > /usr/include/xulrunner-1.9.1/unstable/nsCWebBrowserPersist.h > > /usr/include/xulrunner-1.9.1/unstable/nsCacheService.h > > /usr/include/xulrunner-1.9.1/unstable/nsCaret.h > > /usr/include/xulrunner-1.9.1/unstable/nsCaseTreatment.h > > /usr/include/xulrunner-1.9.1/unstable/nsCategoryCache.h > > /usr/include/xulrunner-1.9.1/unstable/nsCategoryManagerUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsChangeHint.h > > /usr/include/xulrunner-1.9.1/unstable/nsChannelProperties.h > > /usr/include/xulrunner-1.9.1/unstable/nsChannelReader.h > > /usr/include/xulrunner-1.9.1/unstable/nsCharTraits.h > > /usr/include/xulrunner-1.9.1/unstable/nsCharsetDetectionAdaptorCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsCheapSets.h > > /usr/include/xulrunner-1.9.1/unstable/nsClassHashtable.h > > /usr/include/xulrunner-1.9.1/unstable/nsClientRect.h > > /usr/include/xulrunner-1.9.1/unstable/nsCollation.h > > /usr/include/xulrunner-1.9.1/unstable/nsCollationCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsColor.h > > /usr/include/xulrunner-1.9.1/unstable/nsColorNameList.h > > /usr/include/xulrunner-1.9.1/unstable/nsColorNames.h > > /usr/include/xulrunner-1.9.1/unstable/nsCom.h > > /usr/include/xulrunner-1.9.1/unstable/nsCommaSeparatedTokenizer.h > > /usr/include/xulrunner-1.9.1/unstable/nsCompatibility.h > > /usr/include/xulrunner-1.9.1/unstable/nsComponentManagerUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsCompressedCharMap.h > > /usr/include/xulrunner-1.9.1/unstable/nsContentCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsContentCreatorFunctions.h > > /usr/include/xulrunner-1.9.1/unstable/nsContentDLF.h > > /usr/include/xulrunner-1.9.1/unstable/nsContentErrors.h > > /usr/include/xulrunner-1.9.1/unstable/nsContentList.h > > /usr/include/xulrunner-1.9.1/unstable/nsContentPolicyUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsContentUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsCoord.h > > /usr/include/xulrunner-1.9.1/unstable/nsCopySupport.h > > /usr/include/xulrunner-1.9.1/unstable/nsCppSharedAllocator.h > > /usr/include/xulrunner-1.9.1/unstable/nsCycleCollectionParticipant.h > > /usr/include/xulrunner-1.9.1/unstable/nsCycleCollector.h > > /usr/include/xulrunner-1.9.1/unstable/nsDOMCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsDOMCSSDeclaration.h > > /usr/include/xulrunner-1.9.1/unstable/nsDOMClassInfoID.h > > /usr/include/xulrunner-1.9.1/unstable/nsDOMError.h > > /usr/include/xulrunner-1.9.1/unstable/nsDOMFile.h > > /usr/include/xulrunner-1.9.1/unstable/nsDOMJSUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsDOMScriptObjectHolder.h > > /usr/include/xulrunner-1.9.1/unstable/nsDOMString.h > > /usr/include/xulrunner-1.9.1/unstable/nsDataHashtable.h > > /usr/include/xulrunner-1.9.1/unstable/nsDateTimeFormatCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsDebug.h > > /usr/include/xulrunner-1.9.1/unstable/nsDebugImpl.h > > /usr/include/xulrunner-1.9.1/unstable/nsDefaultPlugin.h > > /usr/include/xulrunner-1.9.1/unstable/nsDependentString.h > > /usr/include/xulrunner-1.9.1/unstable/nsDependentSubstring.h > > /usr/include/xulrunner-1.9.1/unstable/nsDeque.h > > /usr/include/xulrunner-1.9.1/unstable/nsDetectionConfident.h > > /usr/include/xulrunner-1.9.1/unstable/nsDeviceContext.h > > /usr/include/xulrunner-1.9.1/unstable/nsDirectoryService.h > > /usr/include/xulrunner-1.9.1/unstable/nsDirectoryServiceDefs.h > > /usr/include/xulrunner-1.9.1/unstable/nsDirectoryServiceUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsDisplayList.h > > /usr/include/xulrunner-1.9.1/unstable/nsDocAccessibleWrap.h > > /usr/include/xulrunner-1.9.1/unstable/nsDocLoader.h > > /usr/include/xulrunner-1.9.1/unstable/nsDocShellCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsDocShellLoadTypes.h > > /usr/include/xulrunner-1.9.1/unstable/nsDocumentCharsetInfoCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsDoubleHashtable.h > > /usr/include/xulrunner-1.9.1/unstable/nsEditorCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsEmbedAPI.h > > /usr/include/xulrunner-1.9.1/unstable/nsEmbedCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsEmbedString.h > > /usr/include/xulrunner-1.9.1/unstable/nsEncoderDecoderUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsEnumeratorUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsError.h > > /usr/include/xulrunner-1.9.1/unstable/nsEscape.h > > /usr/include/xulrunner-1.9.1/unstable/nsEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsEventDispatcher.h > > /usr/include/xulrunner-1.9.1/unstable/nsEventQueue.h > > /usr/include/xulrunner-1.9.1/unstable/nsExpirationTracker.h > > /usr/include/xulrunner-1.9.1/unstable/nsFastLoadService.h > > /usr/include/xulrunner-1.9.1/unstable/nsFixedSizeAllocator.h > > /usr/include/xulrunner-1.9.1/unstable/nsFont.h > > /usr/include/xulrunner-1.9.1/unstable/nsFrameList.h > > /usr/include/xulrunner-1.9.1/unstable/nsFrameManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsFrameManagerBase.h > > /usr/include/xulrunner-1.9.1/unstable/nsFrameSelection.h > > /usr/include/xulrunner-1.9.1/unstable/nsFrameTraversal.h > > /usr/include/xulrunner-1.9.1/unstable/nsGTKToolkit.h > > /usr/include/xulrunner-1.9.1/unstable/nsGUIEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsGenericFactory.h > > /usr/include/xulrunner-1.9.1/unstable/nsGfxCIID.h > > /usr/include/xulrunner-1.9.1/unstable/nsGkAtomList.h > > /usr/include/xulrunner-1.9.1/unstable/nsGkAtoms.h > > /usr/include/xulrunner-1.9.1/unstable/nsGrid.h > > /usr/include/xulrunner-1.9.1/unstable/nsGridCell.h > > /usr/include/xulrunner-1.9.1/unstable/nsGridLayout2.h > > /usr/include/xulrunner-1.9.1/unstable/nsGridRow.h > > /usr/include/xulrunner-1.9.1/unstable/nsGridRowGroupLayout.h > > /usr/include/xulrunner-1.9.1/unstable/nsGridRowLayout.h > > /usr/include/xulrunner-1.9.1/unstable/nsGridRowLeafFrame.h > > /usr/include/xulrunner-1.9.1/unstable/nsGridRowLeafLayout.h > > /usr/include/xulrunner-1.9.1/unstable/nsHTMLAudioElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsHTMLFormControlAccessible.h > > /usr/include/xulrunner-1.9.1/unstable/nsHTMLImageAccessibleWrap.h > > /usr/include/xulrunner-1.9.1/unstable/nsHTMLMediaElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsHTMLParts.h > > /usr/include/xulrunner-1.9.1/unstable/nsHTMLReflowMetrics.h > > /usr/include/xulrunner-1.9.1/unstable/nsHTMLReflowState.h > > /usr/include/xulrunner-1.9.1/unstable/nsHTMLTableAccessibleWrap.h > > /usr/include/xulrunner-1.9.1/unstable/nsHTMLTagList.h > > /usr/include/xulrunner-1.9.1/unstable/nsHTMLTags.h > > /usr/include/xulrunner-1.9.1/unstable/nsHTMLTokens.h > > /usr/include/xulrunner-1.9.1/unstable/nsHTMLVideoElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsHankakuToZenkakuCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsHashKeys.h > > /usr/include/xulrunner-1.9.1/unstable/nsHashPropertyBag.h > > /usr/include/xulrunner-1.9.1/unstable/nsHashSets.h > > /usr/include/xulrunner-1.9.1/unstable/nsHashtable.h > > /usr/include/xulrunner-1.9.1/unstable/nsHyperTextAccessible.h > > /usr/include/xulrunner-1.9.1/unstable/nsHyperTextAccessibleWrap.h > > /usr/include/xulrunner-1.9.1/unstable/nsIASN1Object.h > > /usr/include/xulrunner-1.9.1/unstable/nsIASN1PrintableItem.h > > /usr/include/xulrunner-1.9.1/unstable/nsIASN1Sequence.h > > /usr/include/xulrunner-1.9.1/unstable/nsIASN1Tree.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAboutModule.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAccessNode.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibilityService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAccessible.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleDocument.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleEditableText.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleHyperLink.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleHyperText.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleImage.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleProvider.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleRelation.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleRetrieval.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleRole.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleSelectable.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleStates.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleTable.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleText.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleTreeCache.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleTypes.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAccessibleValue.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAddonRepository.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAlertsService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAllocator.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAnnotationService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAnonymousContentCreator.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAppShell.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAppShellService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAppStartup.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAppStartupNotifier.h > > /usr/include/xulrunner-1.9.1/unstable/nsIApplicationCache.h > > /usr/include/xulrunner-1.9.1/unstable/nsIApplicationCacheChannel.h > > /usr/include/xulrunner-1.9.1/unstable/nsIApplicationCacheContainer.h > > /usr/include/xulrunner-1.9.1/unstable/nsIApplicationCacheService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIArray.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAssociatedContentSecurity.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAsyncInputStream.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAsyncOutputStream.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAsyncStreamCopier.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAtom.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAtomService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAttribute.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAuthInformation.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAuthModule.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAuthPrompt.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAuthPrompt2.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAuthPromptAdapterFactory.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAuthPromptCallback.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAuthPromptProvider.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAuthPromptWrapper.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAutoCompleteController.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAutoCompleteInput.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAutoCompletePopup.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAutoCompleteResult.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAutoCompleteResultTypes.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAutoCompleteSearch.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAutoCompleteSimpleResult.h > > /usr/include/xulrunner-1.9.1/unstable/nsIAutoConfig.h > > /usr/include/xulrunner-1.9.1/unstable/nsIBadCertListener2.h > > /usr/include/xulrunner-1.9.1/unstable/nsIBaseDOMException.h > > /usr/include/xulrunner-1.9.1/unstable/nsIBaseWindow.h > > /usr/include/xulrunner-1.9.1/unstable/nsIBidiKeyboard.h > > /usr/include/xulrunner-1.9.1/unstable/nsIBinaryInputStream.h > > /usr/include/xulrunner-1.9.1/unstable/nsIBinaryOutputStream.h > > /usr/include/xulrunner-1.9.1/unstable/nsIBlocklistService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIBoxObject.h > > /usr/include/xulrunner-1.9.1/unstable/nsIBrowserBoxObject.h > > /usr/include/xulrunner-1.9.1/unstable/nsIBrowserDOMWindow.h > > /usr/include/xulrunner-1.9.1/unstable/nsIBrowserHistory.h > > /usr/include/xulrunner-1.9.1/unstable/nsIBrowserInstance.h > > /usr/include/xulrunner-1.9.1/unstable/nsIBrowserSearchService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIBufEntropyCollector.h > > /usr/include/xulrunner-1.9.1/unstable/nsIBufferedStreams.h > > /usr/include/xulrunner-1.9.1/unstable/nsIByteBuffer.h > > /usr/include/xulrunner-1.9.1/unstable/nsIByteRangeRequest.h > > /usr/include/xulrunner-1.9.1/unstable/nsICMSDecoder.h > > /usr/include/xulrunner-1.9.1/unstable/nsICMSEncoder.h > > /usr/include/xulrunner-1.9.1/unstable/nsICMSMessage.h > > /usr/include/xulrunner-1.9.1/unstable/nsICMSMessage2.h > > /usr/include/xulrunner-1.9.1/unstable/nsICMSMessageErrors.h > > /usr/include/xulrunner-1.9.1/unstable/nsICMSSecureMessage.h > > /usr/include/xulrunner-1.9.1/unstable/nsICRLInfo.h > > /usr/include/xulrunner-1.9.1/unstable/nsICRLManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsICSSDeclaration.h > > /usr/include/xulrunner-1.9.1/unstable/nsICSSGroupRule.h > > /usr/include/xulrunner-1.9.1/unstable/nsICSSImportRule.h > > /usr/include/xulrunner-1.9.1/unstable/nsICSSLoader.h > > /usr/include/xulrunner-1.9.1/unstable/nsICSSLoaderObserver.h > > /usr/include/xulrunner-1.9.1/unstable/nsICSSNameSpaceRule.h > > /usr/include/xulrunner-1.9.1/unstable/nsICSSOMFactory.h > > /usr/include/xulrunner-1.9.1/unstable/nsICSSParser.h > > /usr/include/xulrunner-1.9.1/unstable/nsICSSPseudoComparator.h > > /usr/include/xulrunner-1.9.1/unstable/nsICSSRule.h > > /usr/include/xulrunner-1.9.1/unstable/nsICSSRuleList.h > > /usr/include/xulrunner-1.9.1/unstable/nsICSSStyleRule.h > > /usr/include/xulrunner-1.9.1/unstable/nsICSSStyleRuleDOMWrapper.h > > /usr/include/xulrunner-1.9.1/unstable/nsICSSStyleSheet.h > > /usr/include/xulrunner-1.9.1/unstable/nsICache.h > > /usr/include/xulrunner-1.9.1/unstable/nsICacheEntryDescriptor.h > > /usr/include/xulrunner-1.9.1/unstable/nsICacheListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsICacheService.h > > /usr/include/xulrunner-1.9.1/unstable/nsICacheSession.h > > /usr/include/xulrunner-1.9.1/unstable/nsICacheVisitor.h > > /usr/include/xulrunner-1.9.1/unstable/nsICachingChannel.h > > /usr/include/xulrunner-1.9.1/unstable/nsICancelable.h > > /usr/include/xulrunner-1.9.1/unstable/nsICanvasElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsICanvasFrame.h > > /usr/include/xulrunner-1.9.1/unstable/nsICanvasRenderingContextInternal.h > > /usr/include/xulrunner-1.9.1/unstable/nsICaseConversion.h > > /usr/include/xulrunner-1.9.1/unstable/nsICategoryManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsICertOverrideService.h > > /usr/include/xulrunner-1.9.1/unstable/nsICertPickDialogs.h > > /usr/include/xulrunner-1.9.1/unstable/nsICertTree.h > > /usr/include/xulrunner-1.9.1/unstable/nsICertificateDialogs.h > > /usr/include/xulrunner-1.9.1/unstable/nsIChannel.h > > /usr/include/xulrunner-1.9.1/unstable/nsIChannelClassifier.h > > /usr/include/xulrunner-1.9.1/unstable/nsIChannelEventSink.h > > /usr/include/xulrunner-1.9.1/unstable/nsICharRepresentable.h > > /usr/include/xulrunner-1.9.1/unstable/nsICharsetAlias.h > > /usr/include/xulrunner-1.9.1/unstable/nsICharsetConverterManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsICharsetDetectionAdaptor.h > > /usr/include/xulrunner-1.9.1/unstable/nsICharsetDetectionObserver.h > > /usr/include/xulrunner-1.9.1/unstable/nsICharsetDetector.h > > /usr/include/xulrunner-1.9.1/unstable/nsICharsetResolver.h > > /usr/include/xulrunner-1.9.1/unstable/nsICheckboxControlFrame.h > > /usr/include/xulrunner-1.9.1/unstable/nsIChromeRegistry.h > > /usr/include/xulrunner-1.9.1/unstable/nsICipherInfo.h > > /usr/include/xulrunner-1.9.1/unstable/nsICiter.h > > /usr/include/xulrunner-1.9.1/unstable/nsIClassInfo.h > > /usr/include/xulrunner-1.9.1/unstable/nsIClassInfoImpl.h > > /usr/include/xulrunner-1.9.1/unstable/nsIClassicPluginFactory.h > > /usr/include/xulrunner-1.9.1/unstable/nsIClientAuthDialogs.h > > /usr/include/xulrunner-1.9.1/unstable/nsIClipboard.h > > /usr/include/xulrunner-1.9.1/unstable/nsIClipboardCommands.h > > /usr/include/xulrunner-1.9.1/unstable/nsIClipboardDragDropHookList.h > > /usr/include/xulrunner-1.9.1/unstable/nsIClipboardDragDropHooks.h > > /usr/include/xulrunner-1.9.1/unstable/nsIClipboardHelper.h > > /usr/include/xulrunner-1.9.1/unstable/nsIClipboardOwner.h > > /usr/include/xulrunner-1.9.1/unstable/nsICollation.h > > /usr/include/xulrunner-1.9.1/unstable/nsICollection.h > > /usr/include/xulrunner-1.9.1/unstable/nsIComboboxControlFrame.h > > /usr/include/xulrunner-1.9.1/unstable/nsICommandHandler.h > > /usr/include/xulrunner-1.9.1/unstable/nsICommandLine.h > > /usr/include/xulrunner-1.9.1/unstable/nsICommandLineHandler.h > > /usr/include/xulrunner-1.9.1/unstable/nsICommandLineRunner.h > > /usr/include/xulrunner-1.9.1/unstable/nsICommandLineValidator.h > > /usr/include/xulrunner-1.9.1/unstable/nsICommandManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsICommandParams.h > > /usr/include/xulrunner-1.9.1/unstable/nsIComponentManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsIComponentManagerObsolete.h > > /usr/include/xulrunner-1.9.1/unstable/nsIComponentRegistrar.h > > /usr/include/xulrunner-1.9.1/unstable/nsIComputedDOMStyle.h > > /usr/include/xulrunner-1.9.1/unstable/nsIConsoleListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIConsoleMessage.h > > /usr/include/xulrunner-1.9.1/unstable/nsIConsoleService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIContainerBoxObject.h > > /usr/include/xulrunner-1.9.1/unstable/nsIContent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIContentDispatchChooser.h > > /usr/include/xulrunner-1.9.1/unstable/nsIContentFilter.h > > /usr/include/xulrunner-1.9.1/unstable/nsIContentHandler.h > > /usr/include/xulrunner-1.9.1/unstable/nsIContentIterator.h > > /usr/include/xulrunner-1.9.1/unstable/nsIContentPolicy.h > > /usr/include/xulrunner-1.9.1/unstable/nsIContentPrefService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIContentSerializer.h > > /usr/include/xulrunner-1.9.1/unstable/nsIContentSink.h > > /usr/include/xulrunner-1.9.1/unstable/nsIContentSniffer.h > > /usr/include/xulrunner-1.9.1/unstable/nsIContentURIGrouper.h > > /usr/include/xulrunner-1.9.1/unstable/nsIContentViewer.h > > /usr/include/xulrunner-1.9.1/unstable/nsIContentViewerContainer.h > > /usr/include/xulrunner-1.9.1/unstable/nsIContentViewerEdit.h > > /usr/include/xulrunner-1.9.1/unstable/nsIContentViewerFile.h > > /usr/include/xulrunner-1.9.1/unstable/nsIContextMenuListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIContextMenuListener2.h > > /usr/include/xulrunner-1.9.1/unstable/nsIController.h > > /usr/include/xulrunner-1.9.1/unstable/nsIControllerCommand.h > > /usr/include/xulrunner-1.9.1/unstable/nsIControllerCommandTable.h > > /usr/include/xulrunner-1.9.1/unstable/nsIControllerContext.h > > /usr/include/xulrunner-1.9.1/unstable/nsIControllers.h > > /usr/include/xulrunner-1.9.1/unstable/nsIConverterInputStream.h > > /usr/include/xulrunner-1.9.1/unstable/nsIConverterOutputStream.h > > /usr/include/xulrunner-1.9.1/unstable/nsICookie.h > > /usr/include/xulrunner-1.9.1/unstable/nsICookie2.h > > /usr/include/xulrunner-1.9.1/unstable/nsICookieAcceptDialog.h > > /usr/include/xulrunner-1.9.1/unstable/nsICookieManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsICookieManager2.h > > /usr/include/xulrunner-1.9.1/unstable/nsICookiePermission.h > > /usr/include/xulrunner-1.9.1/unstable/nsICookiePromptService.h > > /usr/include/xulrunner-1.9.1/unstable/nsICookieService.h > > /usr/include/xulrunner-1.9.1/unstable/nsICookieStorage.h > > /usr/include/xulrunner-1.9.1/unstable/nsICryptoFIPSInfo.h > > /usr/include/xulrunner-1.9.1/unstable/nsICryptoHMAC.h > > /usr/include/xulrunner-1.9.1/unstable/nsICryptoHash.h > > /usr/include/xulrunner-1.9.1/unstable/nsICurrentCharsetListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsID.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDNSListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDNSRecord.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDNSService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOM3Attr.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOM3Document.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOM3DocumentEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOM3EventTarget.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOM3Node.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOM3Text.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOM3TypeInfo.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMAbstractView.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMAttr.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMBarProp.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMBeforeUnloadEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCDATASection.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCRMFObject.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSS2Properties.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSCharsetRule.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSFontFaceRule.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSImportRule.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSMediaRule.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSMozDocumentRule.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSPageRule.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSPrimitiveValue.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSRule.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSRuleList.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSStyleDeclaration.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSStyleRule.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSStyleSheet.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSUnknownRule.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSValue.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCSSValueList.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCanvasRenderingContext2D.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCharacterData.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMChromeWindow.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMClassInfo.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMClientInformation.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMClientRect.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMClientRectList.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCommandEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMComment.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCompositionListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMConstructor.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMContextMenuListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCounter.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCrypto.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMCryptoDialogs.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDOMConfiguration.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDOMException.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDOMImplementation.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDOMImplementationLS.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDOMStringList.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDataContainerEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDataTransfer.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocument.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocumentCSS.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocumentEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocumentFragment.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocumentRange.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocumentStyle.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocumentTraversal.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocumentType.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocumentView.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDocumentXBL.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDragEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMDragListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMElementCSSInlineStyle.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMEntity.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMEntityReference.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMEventGroup.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMEventListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMEventTarget.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMFile.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMFileException.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMFileList.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMFocusListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMFormListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMGeoGeolocation.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMGeoPosition.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMGeoPositionCallback.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMGeoPositionCoords.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMGeoPositionError.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMGeoPositionErrorCallback.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMGeoPositionOptions.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMGetSVGDocument.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLAnchorElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLAppletElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLAreaElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLAudioElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLBRElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLBaseElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLBaseFontElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLBodyElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLButtonElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLByteRanges.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLCanvasElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLCollection.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLDListElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLDirectoryElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLDivElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLDocument.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLEmbedElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLFieldSetElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLFontElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLFormElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLFrameElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLFrameSetElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLHRElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLHeadElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLHeadingElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLHtmlElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLIFrameElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLImageElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLInputElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLIsIndexElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLLIElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLLabelElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLLegendElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLLinkElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLMapElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLMediaElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLMediaError.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLMenuElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLMetaElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLModElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLOListElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLObjectElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLOptGroupElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLOptionElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLOptionsCollection.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLParagraphElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLParamElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLPreElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLQuoteElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLScriptElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLSelectElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLSourceElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLStyleElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLTableCaptionElem.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLTableCellElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLTableColElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLTableElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLTableRowElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLTableSectionElem.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLTextAreaElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLTimeRanges.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLTitleElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLUListElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLVideoElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHTMLVoidCallback.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMHistory.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMInstallTriggerGlobal.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMJSWindow.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMKeyEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMKeyListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSException.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSInput.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSLoadEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSOutput.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSParser.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSParserFilter.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSProgressEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSResourceResolver.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSSerializer.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLSSerializerFilter.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLinkStyle.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLoadListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLoadStatus.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLoadStatusEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMLocation.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMMediaList.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMMessageEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMMimeType.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMMimeTypeArray.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMModalContentWindow.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMMouseEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMMouseListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMMouseMotionListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMMouseScrollEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMMutationEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSDocument.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSDocumentStyle.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSEditableElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSEventTarget.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSFeatureFactory.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLAnchorElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLAnchorElement2.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLAreaElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLAreaElement2.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLButtonElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLDocument.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLFormControlList.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLFormElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLFrameElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLHRElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLImageElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLInputElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLOptionCollectn.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLOptionElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLSelectElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSHTMLTextAreaElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSRGBAColor.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSRange.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSUIEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSXBLFormControl.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNSXPathExpression.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNameList.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNamedNodeMap.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNavigator.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNavigatorGeolocation.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNode.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNodeFilter.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNodeIterator.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNodeList.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNodeSelector.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNotation.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMNotifyPaintEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMOfflineResourceList.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMPageTransitionEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMParser.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMPkcs11.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMPlugin.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMPluginArray.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMPopupBlockedEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMProcessingInstruction.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMProgressEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMRGBColor.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMRange.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMRangeException.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMRect.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAngle.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimPresAspRatio.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimTransformList.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedAngle.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedBoolean.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedEnum.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedInteger.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedLength.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedLengthList.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedNumber.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedNumberList.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedPathData.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedPoints.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedRect.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedString.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGCircleElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGClipPathElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGDefsElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGDescElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGDocument.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGEllipseElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGException.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGFilterElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGFilters.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGFitToViewBox.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGForeignObjectElem.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGGElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGGradientElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGImageElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGLength.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGLengthList.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGLineElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGLocatable.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGMarkerElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGMaskElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGMatrix.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGMetadataElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGNumber.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGNumberList.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGPathElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGPathSeg.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGPathSegList.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGPatternElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGPoint.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGPointList.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGPolygonElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGPolylineElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGPresAspectRatio.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGRect.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGRectElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGSVGElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGScriptElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGStopElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGStylable.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGStyleElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGSwitchElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGSymbolElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGTSpanElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGTextContentElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGTextElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGTextPathElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGTextPositionElem.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGTitleElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGTransform.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGTransformList.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGTransformable.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGURIReference.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGUnitTypes.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGUseElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGViewSpec.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGZoomAndPan.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGZoomEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSVGZoomListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMScreen.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMScriptObjectFactory.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSerializer.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSimpleGestureEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMSmartCardEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMStorage.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMStorage2.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMStorageEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMStorageItem.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMStorageList.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMStorageManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMStorageWindow.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMStorageWindow_1_9_1.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMStyleSheet.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMStyleSheetList.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMText.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMTextListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMToString.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMTreeWalker.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMUIEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMUIListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMUserDataHandler.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMViewCSS.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMWindow.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMWindow2.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMWindowCollection.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMWindowInternal.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMWindowUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMWorkers.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXMLDocument.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXPathEvaluator.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXPathException.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXPathExpression.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXPathNSResolver.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXPathNamespace.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXPathResult.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULButtonElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULCheckboxElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULCommandDispatcher.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULCommandEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULContainerElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULControlElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULDescriptionElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULDocument.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULImageElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULLabelElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULLabeledControlEl.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULMenuListElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULMultSelectCntrlEl.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULPopupElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULSelectCntrlEl.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULSelectCntrlItemEl.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULTextboxElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDOMXULTreeElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDTD.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDataSignatureVerifier.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDateTimeFormat.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDebug.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDeviceContext.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDeviceContextSpec.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDialogParamBlock.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDirIndex.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDirIndexListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDirectoryEnumerator.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDirectoryService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDocCharset.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDocShell.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDocShellHistory.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDocShellLoadInfo.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDocShellTreeItem.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDocShellTreeNode.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDocShellTreeOwner.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDocument.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDocumentCharsetInfo.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDocumentEncoder.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDocumentLoader.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDocumentLoaderFactory.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDocumentObserver.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDocumentStateListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDocumentTransformer.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDocumentViewer.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDownload.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDownloadHistory.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDownloadManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDownloadManagerUI.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDownloadProgressListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDownloader.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDragDropHandler.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDragService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDragSession.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDragSessionGTK.h > > /usr/include/xulrunner-1.9.1/unstable/nsIDynamicContainer.h > > /usr/include/xulrunner-1.9.1/unstable/nsIEditActionListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIEditingSession.h > > /usr/include/xulrunner-1.9.1/unstable/nsIEditor.h > > /usr/include/xulrunner-1.9.1/unstable/nsIEditorBoxObject.h > > /usr/include/xulrunner-1.9.1/unstable/nsIEditorDocShell.h > > /usr/include/xulrunner-1.9.1/unstable/nsIEditorIMESupport.h > > /usr/include/xulrunner-1.9.1/unstable/nsIEditorLogging.h > > /usr/include/xulrunner-1.9.1/unstable/nsIEditorMailSupport.h > > /usr/include/xulrunner-1.9.1/unstable/nsIEditorObserver.h > > /usr/include/xulrunner-1.9.1/unstable/nsIEditorSpellCheck.h > > /usr/include/xulrunner-1.9.1/unstable/nsIEditorStyleSheets.h > > /usr/include/xulrunner-1.9.1/unstable/nsIEffectiveTLDService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIElementObserver.h > > /usr/include/xulrunner-1.9.1/unstable/nsIEmbeddingSiteWindow.h > > /usr/include/xulrunner-1.9.1/unstable/nsIEmbeddingSiteWindow2.h > > /usr/include/xulrunner-1.9.1/unstable/nsIEncodedChannel.h > > /usr/include/xulrunner-1.9.1/unstable/nsIEntityConverter.h > > /usr/include/xulrunner-1.9.1/unstable/nsIEntropyCollector.h > > /usr/include/xulrunner-1.9.1/unstable/nsIEnumerator.h > > /usr/include/xulrunner-1.9.1/unstable/nsIEnvironment.h > > /usr/include/xulrunner-1.9.1/unstable/nsIErrorService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIEventHandler.h > > /usr/include/xulrunner-1.9.1/unstable/nsIEventListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIEventListenerManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsIEventStateManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsIEventTarget.h > > /usr/include/xulrunner-1.9.1/unstable/nsIException.h > > /usr/include/xulrunner-1.9.1/unstable/nsIExceptionService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIExpatSink.h > > /usr/include/xulrunner-1.9.1/unstable/nsIExtendedExpatSink.h > > /usr/include/xulrunner-1.9.1/unstable/nsIExtensionManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsIExternalHelperAppService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIExternalProtocolHandler.h > > /usr/include/xulrunner-1.9.1/unstable/nsIExternalProtocolService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFIXptr.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFTPChannel.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFactory.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFastLoadFileControl.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFastLoadService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFaviconService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFeed.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFeedContainer.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFeedElementBase.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFeedEntry.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFeedGenerator.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFeedListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFeedPerson.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFeedProcessor.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFeedResult.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFeedTextConstruct.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFile.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFileChannel.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFileControlElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFilePicker.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFileProtocolHandler.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFileStreams.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFileURL.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFileUtilities.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFileView.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFind.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFindService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFocusController.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFocusEventSuppressor.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFontEnumerator.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFontMetrics.h > > /usr/include/xulrunner-1.9.1/unstable/nsIForm.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFormControl.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFormControlFrame.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFormFillController.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFormHistory.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFormProcessor.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFormSigningDialog.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFormSubmission.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFormSubmitObserver.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFormatConverter.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFragmentContentSink.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFrame.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFrameDebug.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFrameFrame.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFrameLoader.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFrameSetElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFrameTraversal.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFrameUtil.h > > /usr/include/xulrunner-1.9.1/unstable/nsIFullScreen.h > > /usr/include/xulrunner-1.9.1/unstable/nsIGConfService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIGenKeypairInfoDlg.h > > /usr/include/xulrunner-1.9.1/unstable/nsIGenericFactory.h > > /usr/include/xulrunner-1.9.1/unstable/nsIGeolocationProvider.h > > /usr/include/xulrunner-1.9.1/unstable/nsIGlobalHistory.h > > /usr/include/xulrunner-1.9.1/unstable/nsIGlobalHistory2.h > > /usr/include/xulrunner-1.9.1/unstable/nsIGlobalHistory3.h > > /usr/include/xulrunner-1.9.1/unstable/nsIGnomeVFSService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIGridPart.h > > /usr/include/xulrunner-1.9.1/unstable/nsIHTMLAbsPosEditor.h > > /usr/include/xulrunner-1.9.1/unstable/nsIHTMLCSSStyleSheet.h > > /usr/include/xulrunner-1.9.1/unstable/nsIHTMLCollection.h > > /usr/include/xulrunner-1.9.1/unstable/nsIHTMLContentSink.h > > /usr/include/xulrunner-1.9.1/unstable/nsIHTMLDocument.h > > /usr/include/xulrunner-1.9.1/unstable/nsIHTMLEditor.h > > /usr/include/xulrunner-1.9.1/unstable/nsIHTMLInlineTableEditor.h > > /usr/include/xulrunner-1.9.1/unstable/nsIHTMLObjectResizeListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIHTMLObjectResizer.h > > /usr/include/xulrunner-1.9.1/unstable/nsIHTMLToTextSink.h > > /usr/include/xulrunner-1.9.1/unstable/nsIHTTPHeaderListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIHTTPIndex.h > > /usr/include/xulrunner-1.9.1/unstable/nsIHandlerService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIHashable.h > > /usr/include/xulrunner-1.9.1/unstable/nsIHelperAppLauncherDialog.h > > /usr/include/xulrunner-1.9.1/unstable/nsIHistoryEntry.h > > /usr/include/xulrunner-1.9.1/unstable/nsIHttpActivityObserver.h > > /usr/include/xulrunner-1.9.1/unstable/nsIHttpAuthManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsIHttpAuthenticator.h > > /usr/include/xulrunner-1.9.1/unstable/nsIHttpChannel.h > > /usr/include/xulrunner-1.9.1/unstable/nsIHttpChannelInternal.h > > /usr/include/xulrunner-1.9.1/unstable/nsIHttpEventSink.h > > /usr/include/xulrunner-1.9.1/unstable/nsIHttpHeaderVisitor.h > > /usr/include/xulrunner-1.9.1/unstable/nsIHttpProtocolHandler.h > > /usr/include/xulrunner-1.9.1/unstable/nsIID.h > > /usr/include/xulrunner-1.9.1/unstable/nsIIDNService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIIFrameBoxObject.h > > /usr/include/xulrunner-1.9.1/unstable/nsIINIParser.h > > /usr/include/xulrunner-1.9.1/unstable/nsIIOService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIIOService2.h > > /usr/include/xulrunner-1.9.1/unstable/nsIIconURI.h > > /usr/include/xulrunner-1.9.1/unstable/nsIIdentityInfo.h > > /usr/include/xulrunner-1.9.1/unstable/nsIIdleService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIImage.h > > /usr/include/xulrunner-1.9.1/unstable/nsIImageDocument.h > > /usr/include/xulrunner-1.9.1/unstable/nsIImageFrame.h > > /usr/include/xulrunner-1.9.1/unstable/nsIImageLoadingContent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIImageMap.h > > /usr/include/xulrunner-1.9.1/unstable/nsIImageToPixbuf.h > > /usr/include/xulrunner-1.9.1/unstable/nsIIncrementalDownload.h > > /usr/include/xulrunner-1.9.1/unstable/nsIInlineSpellChecker.h > > /usr/include/xulrunner-1.9.1/unstable/nsIInputStream.h > > /usr/include/xulrunner-1.9.1/unstable/nsIInputStreamChannel.h > > /usr/include/xulrunner-1.9.1/unstable/nsIInputStreamPump.h > > /usr/include/xulrunner-1.9.1/unstable/nsIInputStreamTee.h > > /usr/include/xulrunner-1.9.1/unstable/nsIInspectorCSSUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsIInterfaceInfo.h > > /usr/include/xulrunner-1.9.1/unstable/nsIInterfaceInfoManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsIInterfaceRequestor.h > > /usr/include/xulrunner-1.9.1/unstable/nsIInterfaceRequestorUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsIJAR.h > > /usr/include/xulrunner-1.9.1/unstable/nsIJARChannel.h > > /usr/include/xulrunner-1.9.1/unstable/nsIJARProtocolHandler.h > > /usr/include/xulrunner-1.9.1/unstable/nsIJARURI.h > > /usr/include/xulrunner-1.9.1/unstable/nsIJRILiveConnectPIPeer.h > > /usr/include/xulrunner-1.9.1/unstable/nsIJRILiveConnectPlugin.h > > /usr/include/xulrunner-1.9.1/unstable/nsIJRIPlugin.h > > /usr/include/xulrunner-1.9.1/unstable/nsIJSContextStack.h > > /usr/include/xulrunner-1.9.1/unstable/nsIJSEventListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIJSNativeInitializer.h > > /usr/include/xulrunner-1.9.1/unstable/nsIJSON.h > > /usr/include/xulrunner-1.9.1/unstable/nsIJSRuntimeService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIJVMAuthTools.h > > /usr/include/xulrunner-1.9.1/unstable/nsIJVMConfigManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsIJVMConsole.h > > /usr/include/xulrunner-1.9.1/unstable/nsIJVMManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsIJVMPlugin.h > > /usr/include/xulrunner-1.9.1/unstable/nsIJVMPluginInstance.h > > /usr/include/xulrunner-1.9.1/unstable/nsIJVMPluginTagInfo.h > > /usr/include/xulrunner-1.9.1/unstable/nsIJVMPrefsWindow.h > > /usr/include/xulrunner-1.9.1/unstable/nsIJVMThreadManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsIJVMWindow.h > > /usr/include/xulrunner-1.9.1/unstable/nsIKeyModule.h > > /usr/include/xulrunner-1.9.1/unstable/nsIKeygenThread.h > > /usr/include/xulrunner-1.9.1/unstable/nsILanguageAtomService.h > > /usr/include/xulrunner-1.9.1/unstable/nsILayoutDebugger.h > > /usr/include/xulrunner-1.9.1/unstable/nsILayoutHistoryState.h > > /usr/include/xulrunner-1.9.1/unstable/nsILineBreaker.h > > /usr/include/xulrunner-1.9.1/unstable/nsILineInputStream.h > > /usr/include/xulrunner-1.9.1/unstable/nsILineIterator.h > > /usr/include/xulrunner-1.9.1/unstable/nsILink.h > > /usr/include/xulrunner-1.9.1/unstable/nsILinkHandler.h > > /usr/include/xulrunner-1.9.1/unstable/nsIListBoxObject.h > > /usr/include/xulrunner-1.9.1/unstable/nsIListControlFrame.h > > /usr/include/xulrunner-1.9.1/unstable/nsILiveConnectManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsILiveconnect.h > > /usr/include/xulrunner-1.9.1/unstable/nsILivemarkService.h > > /usr/include/xulrunner-1.9.1/unstable/nsILoadContext.h > > /usr/include/xulrunner-1.9.1/unstable/nsILoadGroup.h > > /usr/include/xulrunner-1.9.1/unstable/nsILocalFile.h > > /usr/include/xulrunner-1.9.1/unstable/nsILocalFileWin.h > > /usr/include/xulrunner-1.9.1/unstable/nsILocalStore.h > > /usr/include/xulrunner-1.9.1/unstable/nsILocale.h > > /usr/include/xulrunner-1.9.1/unstable/nsILocaleService.h > > /usr/include/xulrunner-1.9.1/unstable/nsILoginInfo.h > > /usr/include/xulrunner-1.9.1/unstable/nsILoginManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsILoginManagerIEMigrationHelper.h > > /usr/include/xulrunner-1.9.1/unstable/nsILoginManagerPrompter.h > > /usr/include/xulrunner-1.9.1/unstable/nsILoginManagerStorage.h > > /usr/include/xulrunner-1.9.1/unstable/nsILoginMetaInfo.h > > /usr/include/xulrunner-1.9.1/unstable/nsILookAndFeel.h > > /usr/include/xulrunner-1.9.1/unstable/nsIMIMEHeaderParam.h > > /usr/include/xulrunner-1.9.1/unstable/nsIMIMEInfo.h > > /usr/include/xulrunner-1.9.1/unstable/nsIMIMEInputStream.h > > /usr/include/xulrunner-1.9.1/unstable/nsIMIMEService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIMacLocale.h > > /usr/include/xulrunner-1.9.1/unstable/nsIMarkupDocumentViewer.h > > /usr/include/xulrunner-1.9.1/unstable/nsIMemory.h > > /usr/include/xulrunner-1.9.1/unstable/nsIMemoryReporter.h > > /usr/include/xulrunner-1.9.1/unstable/nsIMenuBoxObject.h > > /usr/include/xulrunner-1.9.1/unstable/nsIMenuFrame.h > > /usr/include/xulrunner-1.9.1/unstable/nsIMenuParent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIMenuRollup.h > > /usr/include/xulrunner-1.9.1/unstable/nsIMetaCharsetService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIModifyableXPointer.h > > /usr/include/xulrunner-1.9.1/unstable/nsIModule.h > > /usr/include/xulrunner-1.9.1/unstable/nsIModuleLoader.h > > /usr/include/xulrunner-1.9.1/unstable/nsIMultiPartChannel.h > > /usr/include/xulrunner-1.9.1/unstable/nsIMultiplexInputStream.h > > /usr/include/xulrunner-1.9.1/unstable/nsIMutable.h > > /usr/include/xulrunner-1.9.1/unstable/nsIMutableArray.h > > /usr/include/xulrunner-1.9.1/unstable/nsIMutationObserver.h > > /usr/include/xulrunner-1.9.1/unstable/nsINIParser.h > > /usr/include/xulrunner-1.9.1/unstable/nsINSSCertCache.h > > /usr/include/xulrunner-1.9.1/unstable/nsINSSErrorsService.h > > /usr/include/xulrunner-1.9.1/unstable/nsINameSpaceManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsINativeAppSupport.h > > /usr/include/xulrunner-1.9.1/unstable/nsINativeKeyBindings.h > > /usr/include/xulrunner-1.9.1/unstable/nsINavBookmarksService.h > > /usr/include/xulrunner-1.9.1/unstable/nsINavHistoryService.h > > /usr/include/xulrunner-1.9.1/unstable/nsINestedURI.h > > /usr/include/xulrunner-1.9.1/unstable/nsINetUtil.h > > /usr/include/xulrunner-1.9.1/unstable/nsINetworkLinkService.h > > /usr/include/xulrunner-1.9.1/unstable/nsINode.h > > /usr/include/xulrunner-1.9.1/unstable/nsINodeInfo.h > > /usr/include/xulrunner-1.9.1/unstable/nsINodeList.h > > /usr/include/xulrunner-1.9.1/unstable/nsINonBlockingAlertService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIOCSPResponder.h > > /usr/include/xulrunner-1.9.1/unstable/nsIOS2Locale.h > > /usr/include/xulrunner-1.9.1/unstable/nsIObjectFrame.h > > /usr/include/xulrunner-1.9.1/unstable/nsIObjectInputStream.h > > /usr/include/xulrunner-1.9.1/unstable/nsIObjectLoadingContent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIObjectOutputStream.h > > /usr/include/xulrunner-1.9.1/unstable/nsIObserver.h > > /usr/include/xulrunner-1.9.1/unstable/nsIObserverService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIOfflineCacheUpdate.h > > /usr/include/xulrunner-1.9.1/unstable/nsIOptionElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIOutputStream.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPK11Token.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPK11TokenDB.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPKCS11.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPKCS11Module.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPKCS11ModuleDB.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPKCS11Slot.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPKIParamBlock.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPageSequenceFrame.h > > /usr/include/xulrunner-1.9.1/unstable/nsIParentalControlsService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIParser.h > > /usr/include/xulrunner-1.9.1/unstable/nsIParserFilter.h > > /usr/include/xulrunner-1.9.1/unstable/nsIParserNode.h > > /usr/include/xulrunner-1.9.1/unstable/nsIParserService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPasswordManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPasswordManagerInternal.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPercentHeightObserver.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPermission.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPermissionManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPersistentProperties2.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPhonetic.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPipe.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPlaintextEditor.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPlatformCharset.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPlugin.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPluginDocument.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPluginHost.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPluginInputStream.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPluginInstance.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPluginInstanceInternal.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPluginInstanceOwner.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPluginInstancePeer.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPluginInstancePeer2.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPluginManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPluginManager2.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPluginStreamInfo.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPluginStreamListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPluginTag.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPluginTagInfo.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPluginTagInfo2.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPluginWidget.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPopupBoxObject.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPopupWindowManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPosixLocale.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPref.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPrefBranch.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPrefBranch2.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPrefBranchInternal.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPrefLocalizedString.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPrefService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPrefetchService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPresShell.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPrincipal.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPrintDialogService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPrintOptions.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPrintProgress.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPrintProgressParams.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPrintSession.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPrintSettings.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPrintSettingsService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPrintStatusFeedback.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPrintingPrompt.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPrintingPromptService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPrivateBrowsingService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPrivateCompositionEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPrivateDOMEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPrivateDOMImplementation.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPrivateTextEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPrivateTextRange.h > > /usr/include/xulrunner-1.9.1/unstable/nsIProcess.h > > /usr/include/xulrunner-1.9.1/unstable/nsIProfile.h > > /usr/include/xulrunner-1.9.1/unstable/nsIProfileChangeStatus.h > > /usr/include/xulrunner-1.9.1/unstable/nsIProfileMigrator.h > > /usr/include/xulrunner-1.9.1/unstable/nsIProfileUnlocker.h > > /usr/include/xulrunner-1.9.1/unstable/nsIProgrammingLanguage.h > > /usr/include/xulrunner-1.9.1/unstable/nsIProgressEventSink.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPrompt.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPromptFactory.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPromptService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPromptService2.h > > /usr/include/xulrunner-1.9.1/unstable/nsIProperties.h > > /usr/include/xulrunner-1.9.1/unstable/nsIProperty.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPropertyBag.h > > /usr/include/xulrunner-1.9.1/unstable/nsIPropertyBag2.h > > /usr/include/xulrunner-1.9.1/unstable/nsIProtectedAuthThread.h > > /usr/include/xulrunner-1.9.1/unstable/nsIProtocolHandler.h > > /usr/include/xulrunner-1.9.1/unstable/nsIProtocolProxyCallback.h > > /usr/include/xulrunner-1.9.1/unstable/nsIProtocolProxyFilter.h > > /usr/include/xulrunner-1.9.1/unstable/nsIProtocolProxyService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIProtocolProxyService2.h > > /usr/include/xulrunner-1.9.1/unstable/nsIProxiedChannel.h > > /usr/include/xulrunner-1.9.1/unstable/nsIProxiedProtocolHandler.h > > /usr/include/xulrunner-1.9.1/unstable/nsIProxyAutoConfig.h > > /usr/include/xulrunner-1.9.1/unstable/nsIProxyInfo.h > > /usr/include/xulrunner-1.9.1/unstable/nsIProxyObjectManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRDFCompositeDataSource.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRDFContainer.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRDFContainerUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRDFContentSink.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRDFDataSource.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRDFDelegateFactory.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRDFInMemoryDataSource.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRDFInferDataSource.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRDFLiteral.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRDFNode.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRDFObserver.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRDFPropagatableDataSource.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRDFPurgeableDataSource.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRDFRemoteDataSource.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRDFResource.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRDFService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRDFXMLParser.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRDFXMLSerializer.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRDFXMLSink.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRDFXMLSource.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRadioControlElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRadioControlFrame.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRadioGroupContainer.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRadioVisitor.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRandomGenerator.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRange.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRangeUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsIReadConfig.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRecentBadCertsService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRecyclingAllocator.h > > /usr/include/xulrunner-1.9.1/unstable/nsIReflowCallback.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRefreshURI.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRegion.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRelativeFilePref.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRemoteService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRenderingContext.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRequest.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRequestObserver.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRequestObserverProxy.h > > /usr/include/xulrunner-1.9.1/unstable/nsIResProtocolHandler.h > > /usr/include/xulrunner-1.9.1/unstable/nsIResumableChannel.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRollupListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIRunnable.h > > /usr/include/xulrunner-1.9.1/unstable/nsISAXAttributes.h > > /usr/include/xulrunner-1.9.1/unstable/nsISAXContentHandler.h > > /usr/include/xulrunner-1.9.1/unstable/nsISAXDTDHandler.h > > /usr/include/xulrunner-1.9.1/unstable/nsISAXErrorHandler.h > > /usr/include/xulrunner-1.9.1/unstable/nsISAXLexicalHandler.h > > /usr/include/xulrunner-1.9.1/unstable/nsISAXLocator.h > > /usr/include/xulrunner-1.9.1/unstable/nsISAXMutableAttributes.h > > /usr/include/xulrunner-1.9.1/unstable/nsISAXXMLFilter.h > > /usr/include/xulrunner-1.9.1/unstable/nsISAXXMLReader.h > > /usr/include/xulrunner-1.9.1/unstable/nsISHContainer.h > > /usr/include/xulrunner-1.9.1/unstable/nsISHEntry.h > > /usr/include/xulrunner-1.9.1/unstable/nsISHTransaction.h > > /usr/include/xulrunner-1.9.1/unstable/nsISHistory.h > > /usr/include/xulrunner-1.9.1/unstable/nsISHistoryInternal.h > > /usr/include/xulrunner-1.9.1/unstable/nsISHistoryListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsISMimeCert.h > > /usr/include/xulrunner-1.9.1/unstable/nsISOCKSSocketInfo.h > > /usr/include/xulrunner-1.9.1/unstable/nsISSLCertErrorDialog.h > > /usr/include/xulrunner-1.9.1/unstable/nsISSLErrorListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsISSLSocketControl.h > > /usr/include/xulrunner-1.9.1/unstable/nsISSLStatus.h > > /usr/include/xulrunner-1.9.1/unstable/nsISSLStatusProvider.h > > /usr/include/xulrunner-1.9.1/unstable/nsISVGTextContentMetrics.h > > /usr/include/xulrunner-1.9.1/unstable/nsISVGValue.h > > /usr/include/xulrunner-1.9.1/unstable/nsISVGValueObserver.h > > /usr/include/xulrunner-1.9.1/unstable/nsISVGValueUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsISafeOutputStream.h > > /usr/include/xulrunner-1.9.1/unstable/nsISaveAsCharset.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScreen.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScreenManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScriptChannel.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScriptContext.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScriptElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScriptError.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScriptEventHandler.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScriptEventManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScriptExternalNameSet.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScriptGlobalObject.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScriptGlobalObjectOwner.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScriptLoaderObserver.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScriptNameSpaceManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScriptObjectOwner.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScriptObjectPrincipal.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScriptRuntime.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScriptSecurityManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScriptTimeoutHandler.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScriptableDateFormat.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScriptableInputStream.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScriptableInterfaces.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScriptablePlugin.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScriptableRegion.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScriptableUConv.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScriptableUnescapeHTML.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScrollBoxObject.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScrollPositionListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScrollable.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScrollableFrame.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScrollableView.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScrollableViewProvider.h > > /usr/include/xulrunner-1.9.1/unstable/nsIScrollbarMediator.h > > /usr/include/xulrunner-1.9.1/unstable/nsISearchContext.h > > /usr/include/xulrunner-1.9.1/unstable/nsISecretDecoderRing.h > > /usr/include/xulrunner-1.9.1/unstable/nsISecureBrowserUI.h > > /usr/include/xulrunner-1.9.1/unstable/nsISecureEnv.h > > /usr/include/xulrunner-1.9.1/unstable/nsISecureLiveconnect.h > > /usr/include/xulrunner-1.9.1/unstable/nsISecurityCheckedComponent.h > > /usr/include/xulrunner-1.9.1/unstable/nsISecurityContext.h > > /usr/include/xulrunner-1.9.1/unstable/nsISecurityEventSink.h > > /usr/include/xulrunner-1.9.1/unstable/nsISecurityInfoProvider.h > > /usr/include/xulrunner-1.9.1/unstable/nsISecurityPref.h > > /usr/include/xulrunner-1.9.1/unstable/nsISecurityWarningDialogs.h > > /usr/include/xulrunner-1.9.1/unstable/nsISeekableStream.h > > /usr/include/xulrunner-1.9.1/unstable/nsISelectControlFrame.h > > /usr/include/xulrunner-1.9.1/unstable/nsISelectElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsISelection.h > > /usr/include/xulrunner-1.9.1/unstable/nsISelection2.h > > /usr/include/xulrunner-1.9.1/unstable/nsISelectionController.h > > /usr/include/xulrunner-1.9.1/unstable/nsISelectionDisplay.h > > /usr/include/xulrunner-1.9.1/unstable/nsISelectionListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsISelectionPrivate.h > > /usr/include/xulrunner-1.9.1/unstable/nsISemanticUnitScanner.h > > /usr/include/xulrunner-1.9.1/unstable/nsISerializable.h > > /usr/include/xulrunner-1.9.1/unstable/nsIServerSocket.h > > /usr/include/xulrunner-1.9.1/unstable/nsIServiceManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsIServiceManagerObsolete.h > > /usr/include/xulrunner-1.9.1/unstable/nsISidebar.h > > /usr/include/xulrunner-1.9.1/unstable/nsISignatureVerifier.h > > /usr/include/xulrunner-1.9.1/unstable/nsISimpleEnumerator.h > > /usr/include/xulrunner-1.9.1/unstable/nsISimpleStreamListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsISimpleTest.h > > /usr/include/xulrunner-1.9.1/unstable/nsISimpleUnicharStreamFactory.h > > /usr/include/xulrunner-1.9.1/unstable/nsISliderListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsISocketProvider.h > > /usr/include/xulrunner-1.9.1/unstable/nsISocketProviderService.h > > /usr/include/xulrunner-1.9.1/unstable/nsISocketTransport.h > > /usr/include/xulrunner-1.9.1/unstable/nsISocketTransportService.h > > /usr/include/xulrunner-1.9.1/unstable/nsISound.h > > /usr/include/xulrunner-1.9.1/unstable/nsISpellChecker.h > > /usr/include/xulrunner-1.9.1/unstable/nsIStandardURL.h > > /usr/include/xulrunner-1.9.1/unstable/nsIStatefulFrame.h > > /usr/include/xulrunner-1.9.1/unstable/nsIStorageStream.h > > /usr/include/xulrunner-1.9.1/unstable/nsIStreamBufferAccess.h > > /usr/include/xulrunner-1.9.1/unstable/nsIStreamCipher.h > > /usr/include/xulrunner-1.9.1/unstable/nsIStreamConverter.h > > /usr/include/xulrunner-1.9.1/unstable/nsIStreamConverterService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIStreamListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIStreamListenerTee.h > > /usr/include/xulrunner-1.9.1/unstable/nsIStreamLoader.h > > /usr/include/xulrunner-1.9.1/unstable/nsIStreamTransportService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIStringBundle.h > > /usr/include/xulrunner-1.9.1/unstable/nsIStringBundleOverride.h > > /usr/include/xulrunner-1.9.1/unstable/nsIStringCharsetDetector.h > > /usr/include/xulrunner-1.9.1/unstable/nsIStringEnumerator.h > > /usr/include/xulrunner-1.9.1/unstable/nsIStringStream.h > > /usr/include/xulrunner-1.9.1/unstable/nsIStyleRule.h > > /usr/include/xulrunner-1.9.1/unstable/nsIStyleRuleProcessor.h > > /usr/include/xulrunner-1.9.1/unstable/nsIStyleSheet.h > > /usr/include/xulrunner-1.9.1/unstable/nsIStyleSheetLinkingElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIStyleSheetService.h > > /usr/include/xulrunner-1.9.1/unstable/nsISupports.h > > /usr/include/xulrunner-1.9.1/unstable/nsISupportsArray.h > > /usr/include/xulrunner-1.9.1/unstable/nsISupportsBase.h > > /usr/include/xulrunner-1.9.1/unstable/nsISupportsImpl.h > > /usr/include/xulrunner-1.9.1/unstable/nsISupportsIterators.h > > /usr/include/xulrunner-1.9.1/unstable/nsISupportsObsolete.h > > /usr/include/xulrunner-1.9.1/unstable/nsISupportsPrimitives.h > > /usr/include/xulrunner-1.9.1/unstable/nsISupportsPriority.h > > /usr/include/xulrunner-1.9.1/unstable/nsISupportsUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsISymantecDebugManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsISymantecDebugger.h > > /usr/include/xulrunner-1.9.1/unstable/nsISyncLoadDOMService.h > > /usr/include/xulrunner-1.9.1/unstable/nsISyncStreamListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsISystemProxySettings.h > > /usr/include/xulrunner-1.9.1/unstable/nsITXTToHTMLConv.h > > /usr/include/xulrunner-1.9.1/unstable/nsITableCellLayout.h > > /usr/include/xulrunner-1.9.1/unstable/nsITableEditor.h > > /usr/include/xulrunner-1.9.1/unstable/nsITableLayout.h > > /usr/include/xulrunner-1.9.1/unstable/nsITaggingService.h > > /usr/include/xulrunner-1.9.1/unstable/nsITextControlElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsITextControlFrame.h > > /usr/include/xulrunner-1.9.1/unstable/nsITextScroll.h > > /usr/include/xulrunner-1.9.1/unstable/nsITextService.h > > /usr/include/xulrunner-1.9.1/unstable/nsITextServicesDocument.h > > /usr/include/xulrunner-1.9.1/unstable/nsITextServicesFilter.h > > /usr/include/xulrunner-1.9.1/unstable/nsITextToSubURI.h > > /usr/include/xulrunner-1.9.1/unstable/nsITextTransform.h > > /usr/include/xulrunner-1.9.1/unstable/nsIThebesFontMetrics.h > > /usr/include/xulrunner-1.9.1/unstable/nsITheme.h > > /usr/include/xulrunner-1.9.1/unstable/nsIThread.h > > /usr/include/xulrunner-1.9.1/unstable/nsIThreadInternal.h > > /usr/include/xulrunner-1.9.1/unstable/nsIThreadManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsIThreadPool.h > > /usr/include/xulrunner-1.9.1/unstable/nsITimelineService.h > > /usr/include/xulrunner-1.9.1/unstable/nsITimer.h > > /usr/include/xulrunner-1.9.1/unstable/nsITokenDialogs.h > > /usr/include/xulrunner-1.9.1/unstable/nsITokenPasswordDialogs.h > > /usr/include/xulrunner-1.9.1/unstable/nsITokenizer.h > > /usr/include/xulrunner-1.9.1/unstable/nsIToolkit.h > > /usr/include/xulrunner-1.9.1/unstable/nsIToolkitChromeRegistry.h > > /usr/include/xulrunner-1.9.1/unstable/nsIToolkitProfile.h > > /usr/include/xulrunner-1.9.1/unstable/nsIToolkitProfileService.h > > /usr/include/xulrunner-1.9.1/unstable/nsITooltipListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsITooltipTextProvider.h > > /usr/include/xulrunner-1.9.1/unstable/nsITraceRefcnt.h > > /usr/include/xulrunner-1.9.1/unstable/nsITraceableChannel.h > > /usr/include/xulrunner-1.9.1/unstable/nsITransaction.h > > /usr/include/xulrunner-1.9.1/unstable/nsITransactionList.h > > /usr/include/xulrunner-1.9.1/unstable/nsITransactionListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsITransactionManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsITransfer.h > > /usr/include/xulrunner-1.9.1/unstable/nsITransferable.h > > /usr/include/xulrunner-1.9.1/unstable/nsITransport.h > > /usr/include/xulrunner-1.9.1/unstable/nsITransportSecurityInfo.h > > /usr/include/xulrunner-1.9.1/unstable/nsITreeBoxObject.h > > /usr/include/xulrunner-1.9.1/unstable/nsITreeColumns.h > > /usr/include/xulrunner-1.9.1/unstable/nsITreeContentView.h > > /usr/include/xulrunner-1.9.1/unstable/nsITreeSelection.h > > /usr/include/xulrunner-1.9.1/unstable/nsITreeView.h > > /usr/include/xulrunner-1.9.1/unstable/nsITypeAheadFind.h > > /usr/include/xulrunner-1.9.1/unstable/nsIUGenCategory.h > > /usr/include/xulrunner-1.9.1/unstable/nsIURI.h > > /usr/include/xulrunner-1.9.1/unstable/nsIURIChecker.h > > /usr/include/xulrunner-1.9.1/unstable/nsIURIClassifier.h > > /usr/include/xulrunner-1.9.1/unstable/nsIURIContentListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIURIFixup.h > > /usr/include/xulrunner-1.9.1/unstable/nsIURILoader.h > > /usr/include/xulrunner-1.9.1/unstable/nsIURIRefObject.h > > /usr/include/xulrunner-1.9.1/unstable/nsIURL.h > > /usr/include/xulrunner-1.9.1/unstable/nsIURLFormatter.h > > /usr/include/xulrunner-1.9.1/unstable/nsIURLParser.h > > /usr/include/xulrunner-1.9.1/unstable/nsIUTF8ConverterService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIUUIDGenerator.h > > /usr/include/xulrunner-1.9.1/unstable/nsIUnicharBuffer.h > > /usr/include/xulrunner-1.9.1/unstable/nsIUnicharInputStream.h > > /usr/include/xulrunner-1.9.1/unstable/nsIUnicharLineInputStream.h > > /usr/include/xulrunner-1.9.1/unstable/nsIUnicharOutputStream.h > > /usr/include/xulrunner-1.9.1/unstable/nsIUnicharStreamListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIUnicharStreamLoader.h > > /usr/include/xulrunner-1.9.1/unstable/nsIUnicodeDecoder.h > > /usr/include/xulrunner-1.9.1/unstable/nsIUnicodeEncoder.h > > /usr/include/xulrunner-1.9.1/unstable/nsIUnicodeNormalizer.h > > /usr/include/xulrunner-1.9.1/unstable/nsIUpdateService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIUploadChannel.h > > /usr/include/xulrunner-1.9.1/unstable/nsIUrlClassifierDBService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIUrlClassifierHashCompleter.h > > /usr/include/xulrunner-1.9.1/unstable/nsIUrlClassifierStreamUpdater.h > > /usr/include/xulrunner-1.9.1/unstable/nsIUrlClassifierUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsIUrlListManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsIUserCertPicker.h > > /usr/include/xulrunner-1.9.1/unstable/nsIUserInfo.h > > /usr/include/xulrunner-1.9.1/unstable/nsIVariant.h > > /usr/include/xulrunner-1.9.1/unstable/nsIVersionComparator.h > > /usr/include/xulrunner-1.9.1/unstable/nsIView.h > > /usr/include/xulrunner-1.9.1/unstable/nsIViewManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsIViewObserver.h > > /usr/include/xulrunner-1.9.1/unstable/nsIViewSourceChannel.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWeakReference.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWeakReferenceUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowser.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowserChrome.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowserChrome2.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowserChromeFocus.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowserFind.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowserFocus.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowserPersist.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowserPrint.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowserSetup.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWebBrowserStream.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWebContentHandlerRegistrar.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWebNavigation.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWebNavigationInfo.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWebPageDescriptor.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWebProgress.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWebProgressListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWebProgressListener2.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWebShellServices.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWidget.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWin32Locale.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWindowCreator.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWindowCreator2.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWindowDataSource.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWindowMediator.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWindowMediatorListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWindowProvider.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWindowWatcher.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWindowlessPlugInstPeer.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWordBreaker.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWritablePropertyBag.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWritablePropertyBag2.h > > /usr/include/xulrunner-1.9.1/unstable/nsIWyciwygChannel.h > > /usr/include/xulrunner-1.9.1/unstable/nsIX509Cert.h > > /usr/include/xulrunner-1.9.1/unstable/nsIX509Cert2.h > > /usr/include/xulrunner-1.9.1/unstable/nsIX509Cert3.h > > /usr/include/xulrunner-1.9.1/unstable/nsIX509CertDB.h > > /usr/include/xulrunner-1.9.1/unstable/nsIX509CertDB2.h > > /usr/include/xulrunner-1.9.1/unstable/nsIX509CertList.h > > /usr/include/xulrunner-1.9.1/unstable/nsIX509CertValidity.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXBLAccessible.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXBLDocumentInfo.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXBLService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXFormsUtilityService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXMLContentBuilder.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXMLContentSink.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXMLEncodingService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXMLHttpRequest.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXPCScriptNotify.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXPCScriptable.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXPCSecurityManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXPCToolsCompiler.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXPCToolsProfiler.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXPConnect.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXPIDialogService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXPIInstallInfo.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXPIProgressDialog.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXPInstallManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXPTLoader.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXPathEvaluatorInternal.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXPointer.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXSLTException.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXSLTProcessor.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXSLTProcessorObsolete.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXSLTProcessorPrivate.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXTFAttributeHandler.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXTFElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXTFElementFactory.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXTFElementWrapper.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXTFPrivate.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXTFService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXULAppInfo.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXULAppInstall.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXULBrowserWindow.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXULBuilderListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXULDocument.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXULOverlayProvider.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXULPrototypeCache.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXULRuntime.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXULSortService.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXULTemplateBuilder.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXULTemplateQueryProcessor.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXULTemplateResult.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXULTemplateRuleFilter.h > > /usr/include/xulrunner-1.9.1/unstable/nsIXULWindow.h > > /usr/include/xulrunner-1.9.1/unstable/nsIZipReader.h > > /usr/include/xulrunner-1.9.1/unstable/nsIZipWriter.h > > /usr/include/xulrunner-1.9.1/unstable/nsImageMapUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsInt64.h > > /usr/include/xulrunner-1.9.1/unstable/nsInterfaceHashtable.h > > /usr/include/xulrunner-1.9.1/unstable/nsInterfaceRequestorAgg.h > > /usr/include/xulrunner-1.9.1/unstable/nsJSPrincipals.h > > /usr/include/xulrunner-1.9.1/unstable/nsJSProtocolHandler.h > > /usr/include/xulrunner-1.9.1/unstable/nsJVMManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsJVMPluginTagInfo.h > > /usr/include/xulrunner-1.9.1/unstable/nsLWBrkCIID.h > > /usr/include/xulrunner-1.9.1/unstable/nsLayoutCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsLayoutErrors.h > > /usr/include/xulrunner-1.9.1/unstable/nsLayoutStatics.h > > /usr/include/xulrunner-1.9.1/unstable/nsLayoutStylesheetCache.h > > /usr/include/xulrunner-1.9.1/unstable/nsLayoutUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsLineBreaker.h > > /usr/include/xulrunner-1.9.1/unstable/nsLinebreakConverter.h > > /usr/include/xulrunner-1.9.1/unstable/nsLiteralString.h > > /usr/include/xulrunner-1.9.1/unstable/nsLocalFile.h > > /usr/include/xulrunner-1.9.1/unstable/nsLocalFileUnix.h > > /usr/include/xulrunner-1.9.1/unstable/nsLocaleCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsMargin.h > > /usr/include/xulrunner-1.9.1/unstable/nsMathUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsMediaCache.h > > /usr/include/xulrunner-1.9.1/unstable/nsMediaDecoder.h > > /usr/include/xulrunner-1.9.1/unstable/nsMediaStream.h > > /usr/include/xulrunner-1.9.1/unstable/nsMemory.h > > /usr/include/xulrunner-1.9.1/unstable/nsMetaCharsetCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsMimeTypes.h > > /usr/include/xulrunner-1.9.1/unstable/nsModule.h > > /usr/include/xulrunner-1.9.1/unstable/nsMorkReader.h > > /usr/include/xulrunner-1.9.1/unstable/nsMultiplexInputStream.h > > /usr/include/xulrunner-1.9.1/unstable/nsMutationEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsNativeCharsetUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsNetCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsNetError.h > > /usr/include/xulrunner-1.9.1/unstable/nsNetStrings.h > > /usr/include/xulrunner-1.9.1/unstable/nsNetUtil.h > > /usr/include/xulrunner-1.9.1/unstable/nsNodeInfoManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsOSHelperAppService.h > > /usr/include/xulrunner-1.9.1/unstable/nsObjCExceptions.h > > /usr/include/xulrunner-1.9.1/unstable/nsObserverService.h > > /usr/include/xulrunner-1.9.1/unstable/nsObsoleteModuleLoading.h > > /usr/include/xulrunner-1.9.1/unstable/nsOggDecoder.h > > /usr/include/xulrunner-1.9.1/unstable/nsPIAccessible.h > > /usr/include/xulrunner-1.9.1/unstable/nsPIAccessibleDocument.h > > /usr/include/xulrunner-1.9.1/unstable/nsPIBoxObject.h > > /usr/include/xulrunner-1.9.1/unstable/nsPICertNotification.h > > /usr/include/xulrunner-1.9.1/unstable/nsPICommandUpdater.h > > /usr/include/xulrunner-1.9.1/unstable/nsPIDNSService.h > > /usr/include/xulrunner-1.9.1/unstable/nsPIDOMEventTarget.h > > /usr/include/xulrunner-1.9.1/unstable/nsPIDOMStorage.h > > /usr/include/xulrunner-1.9.1/unstable/nsPIDOMWindow.h > > /usr/include/xulrunner-1.9.1/unstable/nsPIEditorTransaction.h > > /usr/include/xulrunner-1.9.1/unstable/nsPIPlacesDatabase.h > > /usr/include/xulrunner-1.9.1/unstable/nsPIPluginHost.h > > /usr/include/xulrunner-1.9.1/unstable/nsPIPluginInstancePeer.h > > /usr/include/xulrunner-1.9.1/unstable/nsPIPromptService.h > > /usr/include/xulrunner-1.9.1/unstable/nsPISocketTransportService.h > > /usr/include/xulrunner-1.9.1/unstable/nsPIWindowRoot.h > > /usr/include/xulrunner-1.9.1/unstable/nsPIWindowWatcher.h > > /usr/include/xulrunner-1.9.1/unstable/nsPLDOMEvent.h > > /usr/include/xulrunner-1.9.1/unstable/nsPSPrinters.h > > /usr/include/xulrunner-1.9.1/unstable/nsPaperPS.h > > /usr/include/xulrunner-1.9.1/unstable/nsParserCIID.h > > /usr/include/xulrunner-1.9.1/unstable/nsParserDataListener.h > > /usr/include/xulrunner-1.9.1/unstable/nsPluginError.h > > /usr/include/xulrunner-1.9.1/unstable/nsPluginLogging.h > > /usr/include/xulrunner-1.9.1/unstable/nsPluginNativeWindow.h > > /usr/include/xulrunner-1.9.1/unstable/nsPluginsCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsPoint.h > > /usr/include/xulrunner-1.9.1/unstable/nsPrefsCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsPresContext.h > > /usr/include/xulrunner-1.9.1/unstable/nsPresShellIterator.h > > /usr/include/xulrunner-1.9.1/unstable/nsPresState.h > > /usr/include/xulrunner-1.9.1/unstable/nsPrintfCString.h > > /usr/include/xulrunner-1.9.1/unstable/nsProcess.h > > /usr/include/xulrunner-1.9.1/unstable/nsProfileDirServiceProvider.h > > /usr/include/xulrunner-1.9.1/unstable/nsPromiseFlatString.h > > /usr/include/xulrunner-1.9.1/unstable/nsPromptUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsPropertyTable.h > > /usr/include/xulrunner-1.9.1/unstable/nsProxiedService.h > > /usr/include/xulrunner-1.9.1/unstable/nsProxyRelease.h > > /usr/include/xulrunner-1.9.1/unstable/nsQuickSort.h > > /usr/include/xulrunner-1.9.1/unstable/nsRDFCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsRDFResource.h > > /usr/include/xulrunner-1.9.1/unstable/nsReadLine.h > > /usr/include/xulrunner-1.9.1/unstable/nsReadableUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsRect.h > > /usr/include/xulrunner-1.9.1/unstable/nsRecyclingAllocator.h > > /usr/include/xulrunner-1.9.1/unstable/nsRefPtrHashtable.h > > /usr/include/xulrunner-1.9.1/unstable/nsReferencedElement.h > > /usr/include/xulrunner-1.9.1/unstable/nsRegion.h > > /usr/include/xulrunner-1.9.1/unstable/nsRootAccessible.h > > /usr/include/xulrunner-1.9.1/unstable/nsRootAccessibleWrap.h > > /usr/include/xulrunner-1.9.1/unstable/nsRuleData.h > > /usr/include/xulrunner-1.9.1/unstable/nsRuleNode.h > > /usr/include/xulrunner-1.9.1/unstable/nsRuleWalker.h > > /usr/include/xulrunner-1.9.1/unstable/nsSAXAttributes.h > > /usr/include/xulrunner-1.9.1/unstable/nsSAXLocator.h > > /usr/include/xulrunner-1.9.1/unstable/nsSAXXMLReader.h > > /usr/include/xulrunner-1.9.1/unstable/nsSVGEffects.h > > /usr/include/xulrunner-1.9.1/unstable/nsSVGFilterInstance.h > > /usr/include/xulrunner-1.9.1/unstable/nsSVGForeignObjectFrame.h > > /usr/include/xulrunner-1.9.1/unstable/nsSVGIntegrationUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsSVGMatrix.h > > /usr/include/xulrunner-1.9.1/unstable/nsSVGNumber.h > > /usr/include/xulrunner-1.9.1/unstable/nsSVGPoint.h > > /usr/include/xulrunner-1.9.1/unstable/nsSVGRect.h > > /usr/include/xulrunner-1.9.1/unstable/nsSVGUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsScannerString.h > > /usr/include/xulrunner-1.9.1/unstable/nsScriptLoader.h > > /usr/include/xulrunner-1.9.1/unstable/nsScriptableInputStream.h > > /usr/include/xulrunner-1.9.1/unstable/nsServiceManagerUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsSize.h > > /usr/include/xulrunner-1.9.1/unstable/nsSoftwareUpdateIIDs.h > > /usr/include/xulrunner-1.9.1/unstable/nsStackWalk.h > > /usr/include/xulrunner-1.9.1/unstable/nsStaticAtom.h > > /usr/include/xulrunner-1.9.1/unstable/nsStaticComponents.h > > /usr/include/xulrunner-1.9.1/unstable/nsStaticNameTable.h > > /usr/include/xulrunner-1.9.1/unstable/nsStorageStream.h > > /usr/include/xulrunner-1.9.1/unstable/nsStreamUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsString.h > > /usr/include/xulrunner-1.9.1/unstable/nsStringAPI.h > > /usr/include/xulrunner-1.9.1/unstable/nsStringBuffer.h > > /usr/include/xulrunner-1.9.1/unstable/nsStringEnumerator.h > > /usr/include/xulrunner-1.9.1/unstable/nsStringFwd.h > > /usr/include/xulrunner-1.9.1/unstable/nsStringGlue.h > > /usr/include/xulrunner-1.9.1/unstable/nsStringIterator.h > > /usr/include/xulrunner-1.9.1/unstable/nsStringStream.h > > /usr/include/xulrunner-1.9.1/unstable/nsStringUtil.h > > /usr/include/xulrunner-1.9.1/unstable/nsStubDocumentObserver.h > > /usr/include/xulrunner-1.9.1/unstable/nsStubImageDecoderObserver.h > > /usr/include/xulrunner-1.9.1/unstable/nsStubMutationObserver.h > > /usr/include/xulrunner-1.9.1/unstable/nsStyleChangeList.h > > /usr/include/xulrunner-1.9.1/unstable/nsStyleConsts.h > > /usr/include/xulrunner-1.9.1/unstable/nsStyleContext.h > > /usr/include/xulrunner-1.9.1/unstable/nsStyleCoord.h > > /usr/include/xulrunner-1.9.1/unstable/nsStyleSet.h > > /usr/include/xulrunner-1.9.1/unstable/nsStyleStruct.h > > /usr/include/xulrunner-1.9.1/unstable/nsStyleStructFwd.h > > /usr/include/xulrunner-1.9.1/unstable/nsStyleStructInlines.h > > /usr/include/xulrunner-1.9.1/unstable/nsStyleStructList.h > > /usr/include/xulrunner-1.9.1/unstable/nsStyleTransformMatrix.h > > /usr/include/xulrunner-1.9.1/unstable/nsStyleUtil.h > > /usr/include/xulrunner-1.9.1/unstable/nsSubstring.h > > /usr/include/xulrunner-1.9.1/unstable/nsSubstringTuple.h > > /usr/include/xulrunner-1.9.1/unstable/nsSupportsArray.h > > /usr/include/xulrunner-1.9.1/unstable/nsSupportsPrimitives.h > > /usr/include/xulrunner-1.9.1/unstable/nsSystemPrefLog.h > > /usr/include/xulrunner-1.9.1/unstable/nsSystemPrefService.h > > /usr/include/xulrunner-1.9.1/unstable/nsTArray.h > > /usr/include/xulrunner-1.9.1/unstable/nsTDependentString.h > > /usr/include/xulrunner-1.9.1/unstable/nsTDependentSubstring.h > > /usr/include/xulrunner-1.9.1/unstable/nsTHashtable.h > > /usr/include/xulrunner-1.9.1/unstable/nsTObserverArray.h > > /usr/include/xulrunner-1.9.1/unstable/nsTPromiseFlatString.h > > /usr/include/xulrunner-1.9.1/unstable/nsTPtrArray.h > > /usr/include/xulrunner-1.9.1/unstable/nsTString.h > > /usr/include/xulrunner-1.9.1/unstable/nsTSubstring.h > > /usr/include/xulrunner-1.9.1/unstable/nsTSubstringTuple.h > > /usr/include/xulrunner-1.9.1/unstable/nsTWeakRef.h > > /usr/include/xulrunner-1.9.1/unstable/nsTextAccessibleWrap.h > > /usr/include/xulrunner-1.9.1/unstable/nsTextFormatter.h > > /usr/include/xulrunner-1.9.1/unstable/nsTextFragment.h > > /usr/include/xulrunner-1.9.1/unstable/nsTextServicesCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsThemeConstants.h > > /usr/include/xulrunner-1.9.1/unstable/nsThreadUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsThreadUtilsInternal.h > > /usr/include/xulrunner-1.9.1/unstable/nsTime.h > > /usr/include/xulrunner-1.9.1/unstable/nsTimeStamp.h > > /usr/include/xulrunner-1.9.1/unstable/nsTimer.h > > /usr/include/xulrunner-1.9.1/unstable/nsToken.h > > /usr/include/xulrunner-1.9.1/unstable/nsToolkitCompsCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsTraceRefcnt.h > > /usr/include/xulrunner-1.9.1/unstable/nsTraceRefcntImpl.h > > /usr/include/xulrunner-1.9.1/unstable/nsTransactionManagerCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsTransform2D.h > > /usr/include/xulrunner-1.9.1/unstable/nsTreeColFrame.h > > /usr/include/xulrunner-1.9.1/unstable/nsTreeUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsUCVJA2CID.h > > /usr/include/xulrunner-1.9.1/unstable/nsUCVJACID.h > > /usr/include/xulrunner-1.9.1/unstable/nsUConvCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsUCvCnCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsUCvIBMCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsUCvKOCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsUCvLatinCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsUCvMathCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsUCvTW2CID.h > > /usr/include/xulrunner-1.9.1/unstable/nsUCvTWCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsURIHashKey.h > > /usr/include/xulrunner-1.9.1/unstable/nsURILoader.h > > /usr/include/xulrunner-1.9.1/unstable/nsUTF8Utils.h > > /usr/include/xulrunner-1.9.1/unstable/nsUnicharUtilCIID.h > > /usr/include/xulrunner-1.9.1/unstable/nsUnicharUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsVariant.h > > /usr/include/xulrunner-1.9.1/unstable/nsVersionComparator.h > > /usr/include/xulrunner-1.9.1/unstable/nsViewsCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsVoidArray.h > > /usr/include/xulrunner-1.9.1/unstable/nsWaveDecoder.h > > /usr/include/xulrunner-1.9.1/unstable/nsWeakPtr.h > > /usr/include/xulrunner-1.9.1/unstable/nsWeakReference.h > > /usr/include/xulrunner-1.9.1/unstable/nsWhitespaceTokenizer.h > > /usr/include/xulrunner-1.9.1/unstable/nsWidgetSupport.h > > /usr/include/xulrunner-1.9.1/unstable/nsWidgetsCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsWrapperCache.h > > /usr/include/xulrunner-1.9.1/unstable/nsXBLBinding.h > > /usr/include/xulrunner-1.9.1/unstable/nsXMLEncodingCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsXMLNameSpaceMap.h > > /usr/include/xulrunner-1.9.1/unstable/nsXPCOM.h > > /usr/include/xulrunner-1.9.1/unstable/nsXPCOMCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsXPCOMCIDInternal.h > > /usr/include/xulrunner-1.9.1/unstable/nsXPCOMGlue.h > > /usr/include/xulrunner-1.9.1/unstable/nsXPCOMStrings.h > > /usr/include/xulrunner-1.9.1/unstable/nsXPFEComponentsCID.h > > /usr/include/xulrunner-1.9.1/unstable/nsXPIDLString.h > > /usr/include/xulrunner-1.9.1/unstable/nsXPITriggerInfo.h > > /usr/include/xulrunner-1.9.1/unstable/nsXPTCUtils.h > > /usr/include/xulrunner-1.9.1/unstable/nsXULAppAPI.h > > /usr/include/xulrunner-1.9.1/unstable/nsXULMenuAccessibleWrap.h > > /usr/include/xulrunner-1.9.1/unstable/nsXULPopupManager.h > > /usr/include/xulrunner-1.9.1/unstable/nsXULTreeAccessibleWrap.h > > /usr/include/xulrunner-1.9.1/unstable/nscore.h > > /usr/include/xulrunner-1.9.1/unstable/nsjvm.h > > /usr/include/xulrunner-1.9.1/unstable/nsplugin.h > > /usr/include/xulrunner-1.9.1/unstable/nsplugindefs.h > > /usr/include/xulrunner-1.9.1/unstable/nspluginroot.h > > /usr/include/xulrunner-1.9.1/unstable/nspr_md.h > > /usr/include/xulrunner-1.9.1/unstable/nsrootidl.h > > /usr/include/xulrunner-1.9.1/unstable/ogg.h > > /usr/include/xulrunner-1.9.1/unstable/oggplay.h > > /usr/include/xulrunner-1.9.1/unstable/oggplay_buffer.h > > /usr/include/xulrunner-1.9.1/unstable/oggplay_callback.h > > /usr/include/xulrunner-1.9.1/unstable/oggplay_callback_info.h > > /usr/include/xulrunner-1.9.1/unstable/oggplay_data.h > > /usr/include/xulrunner-1.9.1/unstable/oggplay_enums.h > > /usr/include/xulrunner-1.9.1/unstable/oggplay_private.h > > /usr/include/xulrunner-1.9.1/unstable/oggplay_query.h > > /usr/include/xulrunner-1.9.1/unstable/oggplay_reader.h > > /usr/include/xulrunner-1.9.1/unstable/oggplay_seek.h > > /usr/include/xulrunner-1.9.1/unstable/oggplay_tools.h > > /usr/include/xulrunner-1.9.1/unstable/oggz.h > > /usr/include/xulrunner-1.9.1/unstable/oggz_comments.h > > /usr/include/xulrunner-1.9.1/unstable/oggz_constants.h > > /usr/include/xulrunner-1.9.1/unstable/oggz_deprecated.h > > /usr/include/xulrunner-1.9.1/unstable/oggz_io.h > > /usr/include/xulrunner-1.9.1/unstable/oggz_off_t.h > > /usr/include/xulrunner-1.9.1/unstable/oggz_off_t_generated.h > > /usr/include/xulrunner-1.9.1/unstable/oggz_read.h > > /usr/include/xulrunner-1.9.1/unstable/oggz_seek.h > > /usr/include/xulrunner-1.9.1/unstable/oggz_stream.h > > /usr/include/xulrunner-1.9.1/unstable/oggz_table.h > > /usr/include/xulrunner-1.9.1/unstable/oggz_write.h > > /usr/include/xulrunner-1.9.1/unstable/oobj.h > > /usr/include/xulrunner-1.9.1/unstable/os_types.h > > /usr/include/xulrunner-1.9.1/unstable/pldhash.h > > /usr/include/xulrunner-1.9.1/unstable/png.h > > /usr/include/xulrunner-1.9.1/unstable/pngconf.h > > /usr/include/xulrunner-1.9.1/unstable/psSharedCore.h > > /usr/include/xulrunner-1.9.1/unstable/qcms.h > > /usr/include/xulrunner-1.9.1/unstable/qcmstypes.h > > /usr/include/xulrunner-1.9.1/unstable/rdf.h > > /usr/include/xulrunner-1.9.1/unstable/rdfIDataSource.h > > /usr/include/xulrunner-1.9.1/unstable/rdfISerializer.h > > /usr/include/xulrunner-1.9.1/unstable/rdfITripleVisitor.h > > /usr/include/xulrunner-1.9.1/unstable/sqlite3.h > > /usr/include/xulrunner-1.9.1/unstable/std_semaphore.h > > /usr/include/xulrunner-1.9.1/unstable/stopwatch.h > > /usr/include/xulrunner-1.9.1/unstable/string-template-def-char.h > > /usr/include/xulrunner-1.9.1/unstable/string-template-def-unichar.h > > /usr/include/xulrunner-1.9.1/unstable/string-template-undef.h > > /usr/include/xulrunner-1.9.1/unstable/sydney_audio.h > > /usr/include/xulrunner-1.9.1/unstable/sysmacros_md.h > > /usr/include/xulrunner-1.9.1/unstable/theora.h > > /usr/include/xulrunner-1.9.1/unstable/theoradec.h > > /usr/include/xulrunner-1.9.1/unstable/tree.h > > /usr/include/xulrunner-1.9.1/unstable/txDouble.h > > /usr/include/xulrunner-1.9.1/unstable/txIEXSLTRegExFunctions.h > > /usr/include/xulrunner-1.9.1/unstable/txIFunctionEvaluationContext.h > > /usr/include/xulrunner-1.9.1/unstable/txINodeSet.h > > /usr/include/xulrunner-1.9.1/unstable/txIXPathObject.h > > /usr/include/xulrunner-1.9.1/unstable/typedefs.h > > /usr/include/xulrunner-1.9.1/unstable/typedefs_md.h > > /usr/include/xulrunner-1.9.1/unstable/uconvutil.h > > /usr/include/xulrunner-1.9.1/unstable/widgetCore.h > > /usr/include/xulrunner-1.9.1/unstable/xpcIJSModuleLoader.h > > /usr/include/xulrunner-1.9.1/unstable/xpcIJSWeakReference.h > > /usr/include/xulrunner-1.9.1/unstable/xpc_map_end.h > > /usr/include/xulrunner-1.9.1/unstable/xpccomponents.h > > /usr/include/xulrunner-1.9.1/unstable/xpcexception.h > > /usr/include/xulrunner-1.9.1/unstable/xpcjsid.h > > /usr/include/xulrunner-1.9.1/unstable/xpcom-config.h > > /usr/include/xulrunner-1.9.1/unstable/xpt_arena.h > > /usr/include/xulrunner-1.9.1/unstable/xpt_struct.h > > /usr/include/xulrunner-1.9.1/unstable/xpt_xdr.h > > /usr/include/xulrunner-1.9.1/unstable/xptcall.h > > /usr/include/xulrunner-1.9.1/unstable/xptcstubsdecl.inc > > /usr/include/xulrunner-1.9.1/unstable/xptcstubsdef.inc > > /usr/include/xulrunner-1.9.1/unstable/xptinfo.h > > /usr/include/xulrunner-1.9.1/unstable/xrecore.h > > /usr/include/xulrunner-1.9.1/unstable/zip.h > > /usr/include/xulrunner-1.9.1/unstable/zipfile.h > > /usr/include/xulrunner-1.9.1/unstable/zipstruct.h > > /usr/include/xulrunner-1.9.1/unstable/zipstub.h > > /usr/lib > > /usr/lib/debug > > /usr/lib/debug/usr > > /usr/lib/debug/usr/lib64 > > /usr/lib/debug/usr/lib64/xulrunner-1.9.1 > > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/components > > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/components/libdbusservice.so.debug > > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/components/libimgicon.so.debug > > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/components/libmozgnome.so.debug > > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/components/libnkgnomevfs.so.debug > > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/components/libpyloader.so.debug > > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/components/libxpctools.so.debug > > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/libjavaxpcomglue.so.debug > > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/libmozjs.so.debug > > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/libpyxpcom.so.debug > > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/libsqlite3.so.debug > > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/libxpcom.so.debug > > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/libxul.so.debug > > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/mozilla-xremote-client.debug > > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/plugins > > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/plugins/libnullplugin.so.debug > > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/plugins/libunixprintplugin.so.debug > > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/python > > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/python/xpcom > > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/python/xpcom/_xpcom.so.debug > > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/xpcshell.debug > > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/xpidl.debug > > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/xpt_dump.debug > > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/xpt_link.debug > > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/xulrunner-bin.debug > > /usr/lib/debug/usr/lib64/xulrunner-1.9.1/xulrunner-stub.debug > > /usr/lib64 > > /usr/lib64/pkgconfig > > /usr/lib64/pkgconfig/libxul-embedding-unstable.pc > > /usr/lib64/pkgconfig/libxul-embedding.pc > > /usr/lib64/pkgconfig/libxul-unstable.pc > > /usr/lib64/pkgconfig/libxul.pc > > /usr/lib64/pkgconfig/mozilla-gtkmozembed-embedding.pc > > /usr/lib64/pkgconfig/mozilla-gtkmozembed.pc > > /usr/lib64/pkgconfig/mozilla-js.pc > > /usr/lib64/pkgconfig/mozilla-nspr.pc > > /usr/lib64/pkgconfig/mozilla-nss.pc > > /usr/lib64/pkgconfig/mozilla-plugin.pc > > /usr/lib64/python2.6 > > /usr/lib64/python2.6/site-packages > > /usr/lib64/python2.6/site-packages/xpcom > > /usr/lib64/xulrunner-1.9.1 > > /usr/lib64/xulrunner-1.9.1/LICENSE > > /usr/lib64/xulrunner-1.9.1/README.txt > > /usr/lib64/xulrunner-1.9.1/chrome > > /usr/lib64/xulrunner-1.9.1/chrome/classic.jar > > /usr/lib64/xulrunner-1.9.1/chrome/classic.manifest > > /usr/lib64/xulrunner-1.9.1/chrome/comm.jar > > /usr/lib64/xulrunner-1.9.1/chrome/comm.manifest > > /usr/lib64/xulrunner-1.9.1/chrome/en-US.jar > > /usr/lib64/xulrunner-1.9.1/chrome/en-US.manifest > > /usr/lib64/xulrunner-1.9.1/chrome/icons > > /usr/lib64/xulrunner-1.9.1/chrome/icons/default > > /usr/lib64/xulrunner-1.9.1/chrome/icons/default/default16.png > > /usr/lib64/xulrunner-1.9.1/chrome/icons/default/default32.png > > /usr/lib64/xulrunner-1.9.1/chrome/icons/default/default48.png > > /usr/lib64/xulrunner-1.9.1/chrome/pippki.jar > > /usr/lib64/xulrunner-1.9.1/chrome/pippki.manifest > > /usr/lib64/xulrunner-1.9.1/chrome/toolkit.jar > > /usr/lib64/xulrunner-1.9.1/chrome/toolkit.manifest > > /usr/lib64/xulrunner-1.9.1/components > > /usr/lib64/xulrunner-1.9.1/components/FeedProcessor.js > > /usr/lib64/xulrunner-1.9.1/components/NetworkGeolocationProvider.js > > /usr/lib64/xulrunner-1.9.1/components/accessibility.xpt > > /usr/lib64/xulrunner-1.9.1/components/alerts.xpt > > /usr/lib64/xulrunner-1.9.1/components/appshell.xpt > > /usr/lib64/xulrunner-1.9.1/components/appstartup.xpt > > /usr/lib64/xulrunner-1.9.1/components/autocomplete.xpt > > /usr/lib64/xulrunner-1.9.1/components/autoconfig.xpt > > /usr/lib64/xulrunner-1.9.1/components/caps.xpt > > /usr/lib64/xulrunner-1.9.1/components/chardet.xpt > > /usr/lib64/xulrunner-1.9.1/components/chrome.xpt > > /usr/lib64/xulrunner-1.9.1/components/commandhandler.xpt > > /usr/lib64/xulrunner-1.9.1/components/commandlines.xpt > > /usr/lib64/xulrunner-1.9.1/components/composer.xpt > > /usr/lib64/xulrunner-1.9.1/components/content_base.xpt > > /usr/lib64/xulrunner-1.9.1/components/content_html.xpt > > /usr/lib64/xulrunner-1.9.1/components/content_htmldoc.xpt > > /usr/lib64/xulrunner-1.9.1/components/content_xmldoc.xpt > > /usr/lib64/xulrunner-1.9.1/components/content_xslt.xpt > > /usr/lib64/xulrunner-1.9.1/components/content_xtf.xpt > > /usr/lib64/xulrunner-1.9.1/components/contentprefs.xpt > > /usr/lib64/xulrunner-1.9.1/components/cookie.xpt > > /usr/lib64/xulrunner-1.9.1/components/directory.xpt > > /usr/lib64/xulrunner-1.9.1/components/docshell.xpt > > /usr/lib64/xulrunner-1.9.1/components/dom.xpt > > /usr/lib64/xulrunner-1.9.1/components/dom_base.xpt > > /usr/lib64/xulrunner-1.9.1/components/dom_canvas.xpt > > /usr/lib64/xulrunner-1.9.1/components/dom_core.xpt > > /usr/lib64/xulrunner-1.9.1/components/dom_css.xpt > > /usr/lib64/xulrunner-1.9.1/components/dom_events.xpt > > /usr/lib64/xulrunner-1.9.1/components/dom_geolocation.xpt > > /usr/lib64/xulrunner-1.9.1/components/dom_html.xpt > > /usr/lib64/xulrunner-1.9.1/components/dom_json.xpt > > /usr/lib64/xulrunner-1.9.1/components/dom_loadsave.xpt > > /usr/lib64/xulrunner-1.9.1/components/dom_offline.xpt > > /usr/lib64/xulrunner-1.9.1/components/dom_range.xpt > > /usr/lib64/xulrunner-1.9.1/components/dom_sidebar.xpt > > /usr/lib64/xulrunner-1.9.1/components/dom_storage.xpt > > /usr/lib64/xulrunner-1.9.1/components/dom_stylesheets.xpt > > /usr/lib64/xulrunner-1.9.1/components/dom_svg.xpt > > /usr/lib64/xulrunner-1.9.1/components/dom_threads.xpt > > /usr/lib64/xulrunner-1.9.1/components/dom_traversal.xpt > > /usr/lib64/xulrunner-1.9.1/components/dom_views.xpt > > /usr/lib64/xulrunner-1.9.1/components/dom_xbl.xpt > > /usr/lib64/xulrunner-1.9.1/components/dom_xpath.xpt > > /usr/lib64/xulrunner-1.9.1/components/dom_xul.xpt > > /usr/lib64/xulrunner-1.9.1/components/downloads.xpt > > /usr/lib64/xulrunner-1.9.1/components/editor.xpt > > /usr/lib64/xulrunner-1.9.1/components/embed_base.xpt > > /usr/lib64/xulrunner-1.9.1/components/extensions.xpt > > /usr/lib64/xulrunner-1.9.1/components/exthandler.xpt > > /usr/lib64/xulrunner-1.9.1/components/exthelper.xpt > > /usr/lib64/xulrunner-1.9.1/components/fastfind.xpt > > /usr/lib64/xulrunner-1.9.1/components/feeds.xpt > > /usr/lib64/xulrunner-1.9.1/components/filepicker.xpt > > /usr/lib64/xulrunner-1.9.1/components/find.xpt > > /usr/lib64/xulrunner-1.9.1/components/gfx.xpt > > /usr/lib64/xulrunner-1.9.1/components/htmlparser.xpt > > /usr/lib64/xulrunner-1.9.1/components/imgicon.xpt > > /usr/lib64/xulrunner-1.9.1/components/imglib2.xpt > > /usr/lib64/xulrunner-1.9.1/components/inspector.xpt > > /usr/lib64/xulrunner-1.9.1/components/intl.xpt > > /usr/lib64/xulrunner-1.9.1/components/jar.xpt > > /usr/lib64/xulrunner-1.9.1/components/jsconsole-clhandler.js > > /usr/lib64/xulrunner-1.9.1/components/jsdservice.xpt > > /usr/lib64/xulrunner-1.9.1/components/layout_base.xpt > > /usr/lib64/xulrunner-1.9.1/components/layout_printing.xpt > > /usr/lib64/xulrunner-1.9.1/components/layout_xul.xpt > > /usr/lib64/xulrunner-1.9.1/components/layout_xul_tree.xpt > > /usr/lib64/xulrunner-1.9.1/components/libdbusservice.so > > /usr/lib64/xulrunner-1.9.1/components/libimgicon.so > > /usr/lib64/xulrunner-1.9.1/components/libmozgnome.so > > /usr/lib64/xulrunner-1.9.1/components/libnkgnomevfs.so > > /usr/lib64/xulrunner-1.9.1/components/libpyloader.so > > /usr/lib64/xulrunner-1.9.1/components/libxpctools.so > > /usr/lib64/xulrunner-1.9.1/components/locale.xpt > > /usr/lib64/xulrunner-1.9.1/components/loginmgr.xpt > > /usr/lib64/xulrunner-1.9.1/components/lwbrk.xpt > > /usr/lib64/xulrunner-1.9.1/components/mimetype.xpt > > /usr/lib64/xulrunner-1.9.1/components/mozbrwsr.xpt > > /usr/lib64/xulrunner-1.9.1/components/mozfind.xpt > > /usr/lib64/xulrunner-1.9.1/components/necko.xpt > > /usr/lib64/xulrunner-1.9.1/components/necko_about.xpt > > /usr/lib64/xulrunner-1.9.1/components/necko_cache.xpt > > /usr/lib64/xulrunner-1.9.1/components/necko_cookie.xpt > > /usr/lib64/xulrunner-1.9.1/components/necko_dns.xpt > > /usr/lib64/xulrunner-1.9.1/components/necko_file.xpt > > /usr/lib64/xulrunner-1.9.1/components/necko_ftp.xpt > > /usr/lib64/xulrunner-1.9.1/components/necko_http.xpt > > /usr/lib64/xulrunner-1.9.1/components/necko_res.xpt > > /usr/lib64/xulrunner-1.9.1/components/necko_socket.xpt > > /usr/lib64/xulrunner-1.9.1/components/necko_strconv.xpt > > /usr/lib64/xulrunner-1.9.1/components/necko_viewsource.xpt > > /usr/lib64/xulrunner-1.9.1/components/nsAddonRepository.js > > /usr/lib64/xulrunner-1.9.1/components/nsBadCertHandler.js > > /usr/lib64/xulrunner-1.9.1/components/nsBlocklistService.js > > /usr/lib64/xulrunner-1.9.1/components/nsContentDispatchChooser.js > > /usr/lib64/xulrunner-1.9.1/components/nsContentPrefService.js > > /usr/lib64/xulrunner-1.9.1/components/nsDefaultCLH.js > > /usr/lib64/xulrunner-1.9.1/components/nsDownloadManagerUI.js > > /usr/lib64/xulrunner-1.9.1/components/nsExtensionManager.js > > /usr/lib64/xulrunner-1.9.1/components/nsFilePicker.js > > /usr/lib64/xulrunner-1.9.1/components/nsHandlerService.js > > /usr/lib64/xulrunner-1.9.1/components/nsHelperAppDlg.js > > /usr/lib64/xulrunner-1.9.1/components/nsLivemarkService.js > > /usr/lib64/xulrunner-1.9.1/components/nsLoginInfo.js > > /usr/lib64/xulrunner-1.9.1/components/nsLoginManager.js > > /usr/lib64/xulrunner-1.9.1/components/nsLoginManagerPrompter.js > > /usr/lib64/xulrunner-1.9.1/components/nsPlacesDBFlush.js > > /usr/lib64/xulrunner-1.9.1/components/nsProgressDialog.js > > /usr/lib64/xulrunner-1.9.1/components/nsProxyAutoConfig.js > > /usr/lib64/xulrunner-1.9.1/components/nsSearchService.js > > /usr/lib64/xulrunner-1.9.1/components/nsSearchSuggestions.js > > /usr/lib64/xulrunner-1.9.1/components/nsTaggingService.js > > /usr/lib64/xulrunner-1.9.1/components/nsTryToClose.js > > /usr/lib64/xulrunner-1.9.1/components/nsURLFormatter.js > > /usr/lib64/xulrunner-1.9.1/components/nsUpdateService.js > > /usr/lib64/xulrunner-1.9.1/components/nsUrlClassifierLib.js > > /usr/lib64/xulrunner-1.9.1/components/nsUrlClassifierListManager.js > > /usr/lib64/xulrunner-1.9.1/components/nsWebHandlerApp.js > > /usr/lib64/xulrunner-1.9.1/components/nsXULAppInstall.js > > /usr/lib64/xulrunner-1.9.1/components/oji.xpt > > /usr/lib64/xulrunner-1.9.1/components/parentalcontrols.xpt > > /usr/lib64/xulrunner-1.9.1/components/pipboot.xpt > > /usr/lib64/xulrunner-1.9.1/components/pipnss.xpt > > /usr/lib64/xulrunner-1.9.1/components/pippki.xpt > > /usr/lib64/xulrunner-1.9.1/components/places.xpt > > /usr/lib64/xulrunner-1.9.1/components/plugin.xpt > > /usr/lib64/xulrunner-1.9.1/components/pluginGlue.js > > /usr/lib64/xulrunner-1.9.1/components/pref.xpt > > /usr/lib64/xulrunner-1.9.1/components/prefetch.xpt > > /usr/lib64/xulrunner-1.9.1/components/profile.xpt > > /usr/lib64/xulrunner-1.9.1/components/proxyObjInst.xpt > > /usr/lib64/xulrunner-1.9.1/components/pyabout.py > > /usr/lib64/xulrunner-1.9.1/components/rdf.xpt > > /usr/lib64/xulrunner-1.9.1/components/satchel.xpt > > /usr/lib64/xulrunner-1.9.1/components/saxparser.xpt > > /usr/lib64/xulrunner-1.9.1/components/shistory.xpt > > /usr/lib64/xulrunner-1.9.1/components/spellchecker.xpt > > /usr/lib64/xulrunner-1.9.1/components/storage-Legacy.js > > /usr/lib64/xulrunner-1.9.1/components/storage-mozStorage.js > > /usr/lib64/xulrunner-1.9.1/components/storage.xpt > > /usr/lib64/xulrunner-1.9.1/components/toolkitprofile.xpt > > /usr/lib64/xulrunner-1.9.1/components/toolkitremote.xpt > > /usr/lib64/xulrunner-1.9.1/components/toolkitsearch.xpt > > /usr/lib64/xulrunner-1.9.1/components/txEXSLTRegExFunctions.js > > /usr/lib64/xulrunner-1.9.1/components/txmgr.xpt > > /usr/lib64/xulrunner-1.9.1/components/txtsvc.xpt > > /usr/lib64/xulrunner-1.9.1/components/uconv.xpt > > /usr/lib64/xulrunner-1.9.1/components/unicharutil.xpt > > /usr/lib64/xulrunner-1.9.1/components/update.xpt > > /usr/lib64/xulrunner-1.9.1/components/uriloader.xpt > > /usr/lib64/xulrunner-1.9.1/components/url-classifier.xpt > > /usr/lib64/xulrunner-1.9.1/components/urlformatter.xpt > > /usr/lib64/xulrunner-1.9.1/components/webBrowser_core.xpt > > /usr/lib64/xulrunner-1.9.1/components/webbrowserpersist.xpt > > /usr/lib64/xulrunner-1.9.1/components/webshell_idls.xpt > > /usr/lib64/xulrunner-1.9.1/components/widget.xpt > > /usr/lib64/xulrunner-1.9.1/components/windowds.xpt > > /usr/lib64/xulrunner-1.9.1/components/windowwatcher.xpt > > /usr/lib64/xulrunner-1.9.1/components/xpcom_base.xpt > > /usr/lib64/xulrunner-1.9.1/components/xpcom_components.xpt > > /usr/lib64/xulrunner-1.9.1/components/xpcom_ds.xpt > > /usr/lib64/xulrunner-1.9.1/components/xpcom_io.xpt > > /usr/lib64/xulrunner-1.9.1/components/xpcom_system.xpt > > /usr/lib64/xulrunner-1.9.1/components/xpcom_threads.xpt > > /usr/lib64/xulrunner-1.9.1/components/xpcom_xpti.xpt > > /usr/lib64/xulrunner-1.9.1/components/xpconnect.xpt > > /usr/lib64/xulrunner-1.9.1/components/xpctools.xpt > > /usr/lib64/xulrunner-1.9.1/components/xpinstall.xpt > > /usr/lib64/xulrunner-1.9.1/components/xulapp.xpt > > /usr/lib64/xulrunner-1.9.1/components/xulapp_setup.xpt > > /usr/lib64/xulrunner-1.9.1/components/xuldoc.xpt > > /usr/lib64/xulrunner-1.9.1/components/xultmpl.xpt > > /usr/lib64/xulrunner-1.9.1/components/zipwriter.xpt > > /usr/lib64/xulrunner-1.9.1/defaults > > /usr/lib64/xulrunner-1.9.1/defaults/autoconfig > > /usr/lib64/xulrunner-1.9.1/defaults/autoconfig/platform.js > > /usr/lib64/xulrunner-1.9.1/defaults/autoconfig/prefcalls.js > > /usr/lib64/xulrunner-1.9.1/defaults/pref > > /usr/lib64/xulrunner-1.9.1/defaults/pref/all-gentoo.js > > /usr/lib64/xulrunner-1.9.1/defaults/pref/xulrunner.js > > /usr/lib64/xulrunner-1.9.1/defaults/profile > > /usr/lib64/xulrunner-1.9.1/defaults/profile/US > > /usr/lib64/xulrunner-1.9.1/defaults/profile/US/chrome > > /usr/lib64/xulrunner-1.9.1/defaults/profile/US/chrome/userChrome-example.css > > /usr/lib64/xulrunner-1.9.1/defaults/profile/US/chrome/userContent-example.css > > /usr/lib64/xulrunner-1.9.1/defaults/profile/US/localstore.rdf > > /usr/lib64/xulrunner-1.9.1/defaults/profile/chrome > > /usr/lib64/xulrunner-1.9.1/defaults/profile/chrome/userChrome-example.css > > /usr/lib64/xulrunner-1.9.1/defaults/profile/chrome/userContent-example.css > > /usr/lib64/xulrunner-1.9.1/defaults/profile/localstore.rdf > > /usr/lib64/xulrunner-1.9.1/dependentlibs.list > > /usr/lib64/xulrunner-1.9.1/dictionaries > > /usr/lib64/xulrunner-1.9.1/dictionaries/en-US.aff > > /usr/lib64/xulrunner-1.9.1/dictionaries/en-US.dic > > /usr/lib64/xulrunner-1.9.1/greprefs > > /usr/lib64/xulrunner-1.9.1/greprefs/all.js > > /usr/lib64/xulrunner-1.9.1/greprefs/security-prefs.js > > /usr/lib64/xulrunner-1.9.1/greprefs/xpinstall.js > > /usr/lib64/xulrunner-1.9.1/icons > > /usr/lib64/xulrunner-1.9.1/icons/document.png > > /usr/lib64/xulrunner-1.9.1/icons/mozicon16.xpm > > /usr/lib64/xulrunner-1.9.1/icons/mozicon50.xpm > > /usr/lib64/xulrunner-1.9.1/javaxpcom.jar > > /usr/lib64/xulrunner-1.9.1/libjavaxpcomglue.so > > /usr/lib64/xulrunner-1.9.1/libmozjs.so > > /usr/lib64/xulrunner-1.9.1/libpyxpcom.so > > /usr/lib64/xulrunner-1.9.1/libsqlite3.so > > /usr/lib64/xulrunner-1.9.1/libxpcom.so > > /usr/lib64/xulrunner-1.9.1/libxul.so > > /usr/lib64/xulrunner-1.9.1/modules > > /usr/lib64/xulrunner-1.9.1/modules/DownloadLastDir.jsm > > /usr/lib64/xulrunner-1.9.1/modules/DownloadUtils.jsm > > /usr/lib64/xulrunner-1.9.1/modules/ISO8601DateUtils.jsm > > /usr/lib64/xulrunner-1.9.1/modules/Microformats.js > > /usr/lib64/xulrunner-1.9.1/modules/PlacesDBUtils.jsm > > /usr/lib64/xulrunner-1.9.1/modules/PluralForm.jsm > > /usr/lib64/xulrunner-1.9.1/modules/SpatialNavigation.js > > /usr/lib64/xulrunner-1.9.1/modules/WindowDraggingUtils.jsm > > /usr/lib64/xulrunner-1.9.1/modules/XPCOMUtils.jsm > > /usr/lib64/xulrunner-1.9.1/modules/debug.js > > /usr/lib64/xulrunner-1.9.1/modules/utils.js > > /usr/lib64/xulrunner-1.9.1/mozilla-xremote-client > > /usr/lib64/xulrunner-1.9.1/platform.ini > > /usr/lib64/xulrunner-1.9.1/plugins > > /usr/lib64/xulrunner-1.9.1/plugins/libnullplugin.so > > /usr/lib64/xulrunner-1.9.1/plugins/libunixprintplugin.so > > /usr/lib64/xulrunner-1.9.1/python > > /usr/lib64/xulrunner-1.9.1/python/xpcom > > /usr/lib64/xulrunner-1.9.1/python/xpcom/__init__.py > > /usr/lib64/xulrunner-1.9.1/python/xpcom/_xpcom.so > > /usr/lib64/xulrunner-1.9.1/python/xpcom/client > > /usr/lib64/xulrunner-1.9.1/python/xpcom/client/__init__.py > > /usr/lib64/xulrunner-1.9.1/python/xpcom/components.py > > /usr/lib64/xulrunner-1.9.1/python/xpcom/file.py > > /usr/lib64/xulrunner-1.9.1/python/xpcom/nsError.py > > /usr/lib64/xulrunner-1.9.1/python/xpcom/primitives.py > > /usr/lib64/xulrunner-1.9.1/python/xpcom/server > > /usr/lib64/xulrunner-1.9.1/python/xpcom/server/__init__.py > > /usr/lib64/xulrunner-1.9.1/python/xpcom/server/enumerator.py > > /usr/lib64/xulrunner-1.9.1/python/xpcom/server/factory.py > > /usr/lib64/xulrunner-1.9.1/python/xpcom/server/loader.py > > /usr/lib64/xulrunner-1.9.1/python/xpcom/server/module.py > > /usr/lib64/xulrunner-1.9.1/python/xpcom/server/policy.py > > /usr/lib64/xulrunner-1.9.1/python/xpcom/shutdown.py > > /usr/lib64/xulrunner-1.9.1/python/xpcom/tools > > /usr/lib64/xulrunner-1.9.1/python/xpcom/tools/regxpcom.py > > /usr/lib64/xulrunner-1.9.1/python/xpcom/tools/tracer_demo.py > > /usr/lib64/xulrunner-1.9.1/python/xpcom/xpcom_consts.py > > /usr/lib64/xulrunner-1.9.1/python/xpcom/xpt.py > > /usr/lib64/xulrunner-1.9.1/res > > /usr/lib64/xulrunner-1.9.1/res/EditorOverride.css > > /usr/lib64/xulrunner-1.9.1/res/arrow.gif > > /usr/lib64/xulrunner-1.9.1/res/arrowd.gif > > /usr/lib64/xulrunner-1.9.1/res/broken-image.gif > > /usr/lib64/xulrunner-1.9.1/res/charsetData.properties > > /usr/lib64/xulrunner-1.9.1/res/charsetalias.properties > > /usr/lib64/xulrunner-1.9.1/res/contenteditable.css > > /usr/lib64/xulrunner-1.9.1/res/designmode.css > > /usr/lib64/xulrunner-1.9.1/res/dtd > > /usr/lib64/xulrunner-1.9.1/res/dtd/mathml.dtd > > /usr/lib64/xulrunner-1.9.1/res/dtd/xhtml11.dtd > > /usr/lib64/xulrunner-1.9.1/res/entityTables > > /usr/lib64/xulrunner-1.9.1/res/entityTables/html40Latin1.properties > > /usr/lib64/xulrunner-1.9.1/res/entityTables/html40Special.properties > > /usr/lib64/xulrunner-1.9.1/res/entityTables/html40Symbols.properties > > /usr/lib64/xulrunner-1.9.1/res/entityTables/htmlEntityVersions.properties > > /usr/lib64/xulrunner-1.9.1/res/entityTables/mathml20.properties > > /usr/lib64/xulrunner-1.9.1/res/entityTables/transliterate.properties > > /usr/lib64/xulrunner-1.9.1/res/fonts > > /usr/lib64/xulrunner-1.9.1/res/fonts/mathfont.properties > > /usr/lib64/xulrunner-1.9.1/res/fonts/mathfontSTIXNonUnicode.properties > > /usr/lib64/xulrunner-1.9.1/res/fonts/mathfontSTIXSize1.properties > > /usr/lib64/xulrunner-1.9.1/res/fonts/mathfontStandardSymbolsL.properties > > /usr/lib64/xulrunner-1.9.1/res/fonts/mathfontUnicode.properties > > /usr/lib64/xulrunner-1.9.1/res/forms.css > > /usr/lib64/xulrunner-1.9.1/res/grabber.gif > > /usr/lib64/xulrunner-1.9.1/res/hiddenWindow.html > > /usr/lib64/xulrunner-1.9.1/res/html > > /usr/lib64/xulrunner-1.9.1/res/html.css > > /usr/lib64/xulrunner-1.9.1/res/html/folder.png > > /usr/lib64/xulrunner-1.9.1/res/langGroups.properties > > /usr/lib64/xulrunner-1.9.1/res/language.properties > > /usr/lib64/xulrunner-1.9.1/res/loading-image.gif > > /usr/lib64/xulrunner-1.9.1/res/mathml.css > > /usr/lib64/xulrunner-1.9.1/res/quirk.css > > /usr/lib64/xulrunner-1.9.1/res/svg.css > > /usr/lib64/xulrunner-1.9.1/res/table-add-column-after-active.gif > > /usr/lib64/xulrunner-1.9.1/res/table-add-column-after-hover.gif > > /usr/lib64/xulrunner-1.9.1/res/table-add-column-after.gif > > /usr/lib64/xulrunner-1.9.1/res/table-add-column-before-active.gif > > /usr/lib64/xulrunner-1.9.1/res/table-add-column-before-hover.gif > > /usr/lib64/xulrunner-1.9.1/res/table-add-column-before.gif > > /usr/lib64/xulrunner-1.9.1/res/table-add-row-after-active.gif > > /usr/lib64/xulrunner-1.9.1/res/table-add-row-after-hover.gif > > /usr/lib64/xulrunner-1.9.1/res/table-add-row-after.gif > > /usr/lib64/xulrunner-1.9.1/res/table-add-row-before-active.gif > > /usr/lib64/xulrunner-1.9.1/res/table-add-row-before-hover.gif > > /usr/lib64/xulrunner-1.9.1/res/table-add-row-before.gif > > /usr/lib64/xulrunner-1.9.1/res/table-remove-column-active.gif > > /usr/lib64/xulrunner-1.9.1/res/table-remove-column-hover.gif > > /usr/lib64/xulrunner-1.9.1/res/table-remove-column.gif > > /usr/lib64/xulrunner-1.9.1/res/table-remove-row-active.gif > > /usr/lib64/xulrunner-1.9.1/res/table-remove-row-hover.gif > > /usr/lib64/xulrunner-1.9.1/res/table-remove-row.gif > > /usr/lib64/xulrunner-1.9.1/res/ua.css > > /usr/lib64/xulrunner-1.9.1/res/unixcharset.properties > > /usr/lib64/xulrunner-1.9.1/res/viewsource.css > > /usr/lib64/xulrunner-1.9.1/run-mozilla.sh > > /usr/lib64/xulrunner-1.9.1/xpcshell > > /usr/lib64/xulrunner-1.9.1/xpidl > > /usr/lib64/xulrunner-1.9.1/xpt_dump > > /usr/lib64/xulrunner-1.9.1/xpt_link > > /usr/lib64/xulrunner-1.9.1/xulrunner > > /usr/lib64/xulrunner-1.9.1/xulrunner-bin > > /usr/lib64/xulrunner-1.9.1/xulrunner-stub > > /usr/lib64/xulrunner-devel-1.9.1 > > /usr/lib64/xulrunner-devel-1.9.1/bin > > /usr/lib64/xulrunner-devel-1.9.1/idl > > /usr/lib64/xulrunner-devel-1.9.1/include > > /usr/lib64/xulrunner-devel-1.9.1/lib > > /usr/lib64/xulrunner-devel-1.9.1/sdk > > /usr/lib64/xulrunner-devel-1.9.1/sdk/idl > > /usr/lib64/xulrunner-devel-1.9.1/sdk/include > > /usr/lib64/xulrunner-devel-1.9.1/sdk/lib > > /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/MozillaGlue.jar > > /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/MozillaInterfaces-src.jar > > /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/MozillaInterfaces.jar > > /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/libembed_base_s.a > > /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/libembed_base_standalone.a > > /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/libmozjs.so > > /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/libmozreg_s.a > > /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/libunicharutil_external_s.a > > /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/libxpcom.so > > /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/libxpcomglue.a > > /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/libxpcomglue_s.a > > /usr/lib64/xulrunner-devel-1.9.1/sdk/lib/libxul.so > > /usr/lib64/xulrunner-devel-1.9.1/xpcom-config.h > > /usr/share > > /usr/share/idl > > /usr/share/idl/xulrunner-1.9.1 > > /usr/share/idl/xulrunner-1.9.1/stable > > /usr/share/idl/xulrunner-1.9.1/stable/domstubs.idl > > /usr/share/idl/xulrunner-1.9.1/stable/mozIJSSubScriptLoader.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIASN1Object.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIASN1Sequence.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIArray.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsICRLInfo.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsICategoryManager.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsICertificateDialogs.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIChannel.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIClassInfo.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIClipboardCommands.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIComponentManager.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIComponentRegistrar.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIContextMenuListener.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsICookie.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsICookieManager.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOM3DocumentEvent.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOM3EventTarget.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMAbstractView.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMAttr.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMBarProp.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMCDATASection.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMCSSPrimitiveValue.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMCSSRule.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMCSSRuleList.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMCSSStyleDeclaration.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMCSSStyleSheet.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMCSSValue.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMCSSValueList.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMCharacterData.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMComment.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMDOMException.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMDOMImplementation.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMDocument.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMDocumentEvent.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMDocumentFragment.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMDocumentRange.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMDocumentStyle.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMDocumentType.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMDocumentView.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMElementCSSInlineStyle.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMEntity.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMEntityReference.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMEvent.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMEventGroup.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMEventListener.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMEventTarget.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLAnchorElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLAppletElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLAreaElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLAudioElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLBRElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLBaseElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLBaseFontElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLBodyElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLButtonElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLByteRanges.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLCollection.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLDListElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLDirectoryElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLDivElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLDocument.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLEmbedElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLFieldSetElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLFontElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLFormElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLFrameElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLFrameSetElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLHRElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLHeadElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLHeadingElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLHtmlElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLIFrameElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLImageElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLInputElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLIsIndexElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLLIElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLLabelElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLLegendElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLLinkElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLMapElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLMediaElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLMediaError.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLMenuElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLMetaElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLModElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLOListElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLObjectElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLOptGroupElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLOptionElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLOptionsCollection.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLParagraphElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLParamElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLPreElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLQuoteElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLScriptElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLSelectElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLSourceElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLStyleElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLTableCaptionElem.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLTableCellElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLTableColElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLTableElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLTableRowElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLTableSectionElem.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLTextAreaElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLTimeRanges.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLTitleElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLUListElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLVideoElement.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMHTMLVoidCallback.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMMediaList.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMMouseEvent.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMMouseScrollEvent.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMNamedNodeMap.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMNode.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMNodeList.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMNotation.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMProcessingInstruction.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMProgressEvent.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMRange.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMStorage.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMStorageEvent.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMStorageItem.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMStorageList.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMStorageWindow.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMStorageWindow_1_9_1.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMStyleSheet.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMStyleSheetList.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMText.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMUIEvent.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMWindow.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMWindow2.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMWindowCollection.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDOMWindowUtils.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDebug.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIDirectoryService.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIEmbeddingSiteWindow.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIFactory.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIFile.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIFileURL.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIGlobalHistory.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIHashable.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIHistoryEntry.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIHttpChannel.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIHttpHeaderVisitor.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIIOService.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIInputStream.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIInterfaceRequestor.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIJSON.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsILoadGroup.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsILocalFile.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIMemory.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIModule.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIMutableArray.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIObserver.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIObserverService.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIOutputStream.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIPrefBranch.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIPrefBranch2.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIPrefLocalizedString.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIPrefService.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIProfile.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIProfileChangeStatus.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIProgrammingLanguage.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIPromptService.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIProperties.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIProtocolHandler.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIRequest.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIRequestObserver.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsISHistory.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsISHistoryListener.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIScriptableInputStream.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsISecurityWarningDialogs.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsISelection.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIServiceManager.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsISimpleEnumerator.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIStreamListener.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsISupports.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsISupportsPrimitives.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsITooltipListener.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsITooltipTextProvider.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsITraceRefcnt.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsITraceableChannel.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIURI.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIURIContentListener.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIURL.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIUnicharStreamListener.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIUploadChannel.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIWeakReference.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIWebBrowser.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIWebBrowserChrome.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIWebBrowserChromeFocus.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIWebBrowserFind.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIWebBrowserFocus.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIWebBrowserPrint.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIWebBrowserSetup.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIWebBrowserStream.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIWebProgress.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIWebProgressListener.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIWindowCreator.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIWindowWatcher.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIX509Cert.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIX509CertDB.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsIX509CertValidity.idl > > /usr/share/idl/xulrunner-1.9.1/stable/nsrootidl.idl > > /usr/share/idl/xulrunner-1.9.1/unstable > > /usr/share/idl/xulrunner-1.9.1/unstable/XPCIDispatch.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/domstubs.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/extIApplication.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/gfxIFormats.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/gfxIImageFrame.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/gfxtypes.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/imgICache.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/imgIContainer.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/imgIContainerObserver.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/imgIDecoder.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/imgIDecoderObserver.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/imgIEncoder.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/imgILoad.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/imgILoader.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/imgIRequest.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/imgITools.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/inICSSValueSearch.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/inIDOMUtils.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/inIDOMView.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/inIDeepTreeWalker.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/inIFlasher.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/inISearchObserver.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/inISearchProcess.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/jsdIDebuggerService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/mozIJSSubScriptLoader.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/mozIPersonalDictionary.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/mozISpellCheckingEngine.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/mozISpellI18NManager.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/mozISpellI18NUtil.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageAggregateFunction.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageConnection.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageDataSet.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageError.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageFunction.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/mozIStoragePendingStatement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageProgressHandler.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageResultSet.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageRow.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageStatement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageStatementCallback.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageStatementWrapper.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/mozIStorageValueArray.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/mozITXTToHTMLConv.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsCDefaultURIFixup.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsCDocShell.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsCExternalHandlerService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsCURILoader.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsCWebBrowser.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsCWebBrowserPersist.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIASN1Object.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIASN1PrintableItem.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIASN1Sequence.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIASN1Tree.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAboutModule.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessNode.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibilityService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessible.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleDocument.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleEditableText.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleEvent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleHyperLink.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleHyperText.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleImage.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleProvider.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleRelation.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleRetrieval.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleRole.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleSelectable.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleStates.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleTable.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleText.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleTreeCache.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleTypes.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAccessibleValue.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAddonRepository.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAlertsService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAnnotationService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAppShell.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAppShellService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAppStartup.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIApplicationCache.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIApplicationCacheChannel.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIApplicationCacheContainer.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIApplicationCacheService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIArray.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAssociatedContentSecurity.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAsyncInputStream.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAsyncOutputStream.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAsyncStreamCopier.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAtom.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAtomService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAuthInformation.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAuthModule.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAuthPrompt.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAuthPrompt2.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAuthPromptAdapterFactory.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAuthPromptCallback.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAuthPromptProvider.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAuthPromptWrapper.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAutoCompleteController.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAutoCompleteInput.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAutoCompletePopup.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAutoCompleteResult.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAutoCompleteResultTypes.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAutoCompleteSearch.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAutoCompleteSimpleResult.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIAutoConfig.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIBadCertListener2.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIBaseWindow.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIBidiKeyboard.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIBinaryInputStream.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIBinaryOutputStream.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIBlocklistService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIBoxObject.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIBrowserBoxObject.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIBrowserDOMWindow.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIBrowserHistory.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIBrowserInstance.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIBrowserSearchService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIBufEntropyCollector.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIBufferedStreams.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIByteRangeRequest.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICMSDecoder.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICMSEncoder.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICMSMessage.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICMSMessage2.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICMSMessageErrors.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICMSSecureMessage.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICRLInfo.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICRLManager.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICache.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICacheEntryDescriptor.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICacheListener.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICacheService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICacheSession.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICacheVisitor.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICachingChannel.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICancelable.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICategoryManager.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICertOverrideService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICertPickDialogs.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICertTree.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICertificateDialogs.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIChannel.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIChannelClassifier.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIChannelEventSink.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICharsetConverterManager.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICharsetResolver.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIChromeRegistry.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICipherInfo.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICiter.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIClassInfo.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIClassicPluginFactory.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIClientAuthDialogs.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIClipboard.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIClipboardCommands.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIClipboardDragDropHookList.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIClipboardDragDropHooks.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIClipboardHelper.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIClipboardOwner.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICollation.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICollection.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICommandHandler.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICommandLine.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICommandLineHandler.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICommandLineRunner.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICommandLineValidator.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICommandManager.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICommandParams.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIComponentManager.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIComponentManagerObsolete.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIComponentRegistrar.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIConsoleListener.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIConsoleMessage.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIConsoleService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIContainerBoxObject.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentDispatchChooser.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentFilter.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentHandler.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentPolicy.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentPrefService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentSniffer.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentURIGrouper.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentViewer.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentViewerContainer.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentViewerEdit.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIContentViewerFile.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIContextMenuListener.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIContextMenuListener2.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIController.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIControllerCommand.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIControllerCommandTable.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIControllerContext.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIControllers.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIConverterInputStream.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIConverterOutputStream.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICookie.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICookie2.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICookieAcceptDialog.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICookieManager.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICookieManager2.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICookiePermission.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICookiePromptService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICookieService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICookieStorage.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICryptoFIPSInfo.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICryptoHMAC.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICryptoHash.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsICurrentCharsetListener.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDNSListener.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDNSRecord.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDNSService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOM3Attr.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOM3Document.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOM3DocumentEvent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOM3EventTarget.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOM3Node.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOM3Text.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOM3TypeInfo.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMAbstractView.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMAttr.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMBarProp.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMBeforeUnloadEvent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCDATASection.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCRMFObject.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSS2Properties.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSCharsetRule.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSFontFaceRule.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSImportRule.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSMediaRule.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSMozDocumentRule.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSPageRule.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSPrimitiveValue.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSRule.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSRuleList.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSStyleDeclaration.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSStyleRule.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSStyleSheet.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSUnknownRule.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSValue.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCSSValueList.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCanvasRenderingContext2D.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCharacterData.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMChromeWindow.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMClientInformation.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMClientRect.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMClientRectList.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCommandEvent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMComment.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMConstructor.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCounter.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCrypto.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMCryptoDialogs.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDOMConfiguration.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDOMException.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDOMImplementation.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDOMImplementationLS.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDOMStringList.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDataContainerEvent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDataTransfer.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocument.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocumentCSS.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocumentEvent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocumentFragment.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocumentRange.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocumentStyle.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocumentTraversal.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocumentType.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocumentView.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDocumentXBL.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMDragEvent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMElementCSSInlineStyle.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMEntity.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMEntityReference.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMEvent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMEventGroup.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMEventListener.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMEventTarget.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMFile.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMFileException.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMFileList.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMGeoGeolocation.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMGeoPosition.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMGeoPositionCallback.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMGeoPositionCoords.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMGeoPositionError.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMGeoPositionErrorCallback.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMGeoPositionOptions.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMGetSVGDocument.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLAnchorElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLAppletElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLAreaElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLAudioElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLBRElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLBaseElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLBaseFontElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLBodyElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLButtonElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLByteRanges.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLCanvasElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLCollection.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLDListElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLDirectoryElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLDivElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLDocument.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLEmbedElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLFieldSetElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLFontElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLFormElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLFrameElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLFrameSetElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLHRElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLHeadElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLHeadingElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLHtmlElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLIFrameElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLImageElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLInputElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLIsIndexElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLLIElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLLabelElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLLegendElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLLinkElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLMapElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLMediaElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLMediaError.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLMenuElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLMetaElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLModElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLOListElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLObjectElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLOptGroupElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLOptionElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLOptionsCollection.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLParagraphElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLParamElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLPreElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLQuoteElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLScriptElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLSelectElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLSourceElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLStyleElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLTableCaptionElem.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLTableCellElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLTableColElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLTableElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLTableRowElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLTableSectionElem.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLTextAreaElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLTimeRanges.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLTitleElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLUListElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLVideoElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHTMLVoidCallback.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMHistory.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMJSWindow.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMKeyEvent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSException.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSInput.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSLoadEvent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSOutput.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSParser.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSParserFilter.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSProgressEvent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSResourceResolver.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSSerializer.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLSSerializerFilter.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLinkStyle.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLoadStatus.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLoadStatusEvent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMLocation.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMMediaList.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMMessageEvent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMMimeType.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMMimeTypeArray.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMModalContentWindow.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMMouseEvent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMMouseScrollEvent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMMutationEvent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSDocument.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSDocumentStyle.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSEditableElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSEvent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSEventTarget.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSFeatureFactory.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLAnchorElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLAnchorElement2.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLAreaElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLAreaElement2.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLButtonElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLDocument.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLFormControlList.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLFormElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLFrameElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLHRElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLImageElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLInputElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLOptionCollectn.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLOptionElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLSelectElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSHTMLTextAreaElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSRGBAColor.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSRange.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSUIEvent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSXBLFormControl.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNSXPathExpression.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNameList.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNamedNodeMap.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNavigator.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNavigatorGeolocation.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNode.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNodeFilter.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNodeIterator.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNodeList.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNodeSelector.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNotation.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMNotifyPaintEvent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMOfflineResourceList.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMPageTransitionEvent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMParser.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMPkcs11.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMPlugin.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMPluginArray.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMPopupBlockedEvent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMProcessingInstruction.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMProgressEvent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMRGBColor.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMRange.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMRangeException.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMRect.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAngle.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimPresAspRatio.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimTransformList.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedAngle.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedBoolean.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedEnum.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedInteger.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedLength.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedLengthList.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedNumber.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedNumberList.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedPathData.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedPoints.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedRect.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGAnimatedString.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGCircleElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGClipPathElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGDefsElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGDescElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGDocument.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGEllipseElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGEvent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGException.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGFilterElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGFilters.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGFitToViewBox.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGForeignObjectElem.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGGElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGGradientElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGImageElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGLength.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGLengthList.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGLineElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGLocatable.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGMarkerElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGMaskElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGMatrix.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGMetadataElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGNumber.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGNumberList.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGPathElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGPathSeg.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGPathSegList.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGPatternElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGPoint.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGPointList.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGPolygonElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGPolylineElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGPresAspectRatio.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGRect.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGRectElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGSVGElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGScriptElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGStopElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGStylable.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGStyleElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGSwitchElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGSymbolElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGTSpanElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGTextContentElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGTextElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGTextPathElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGTextPositionElem.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGTitleElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGTransform.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGTransformList.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGTransformable.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGURIReference.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGUnitTypes.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGUseElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGViewSpec.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGZoomAndPan.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSVGZoomEvent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMScreen.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSerializer.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSimpleGestureEvent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMSmartCardEvent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStorage.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStorage2.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStorageEvent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStorageItem.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStorageList.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStorageManager.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStorageWindow.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStorageWindow_1_9_1.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStyleSheet.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMStyleSheetList.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMText.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMToString.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMTreeWalker.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMUIEvent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMUserDataHandler.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMViewCSS.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMWindow.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMWindow2.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMWindowCollection.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMWindowInternal.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMWindowUtils.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMWorkers.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXMLDocument.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXPathEvaluator.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXPathException.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXPathExpression.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXPathNSResolver.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXPathNamespace.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXPathResult.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULButtonElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULCheckboxElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULCommandDispatcher.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULCommandEvent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULContainerElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULControlElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULDescriptionElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULDocument.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULImageElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULLabelElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULLabeledControlEl.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULMenuListElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULMultSelectCntrlEl.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULPopupElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULSelectCntrlEl.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULSelectCntrlItemEl.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULTextboxElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDOMXULTreeElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDataSignatureVerifier.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDebug.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDialogParamBlock.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDirIndex.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDirIndexListener.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDirectoryEnumerator.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDirectoryService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocCharset.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocShell.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocShellHistory.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocShellLoadInfo.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocShellTreeItem.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocShellTreeNode.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocShellTreeOwner.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocumentCharsetInfo.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocumentEncoder.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocumentLoader.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocumentLoaderFactory.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDocumentStateListener.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDownload.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDownloadHistory.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDownloadManager.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDownloadManagerUI.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDownloadProgressListener.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDownloader.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDragDropHandler.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDragService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDragSession.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIDynamicContainer.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditActionListener.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditingSession.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditor.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditorBoxObject.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditorDocShell.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditorIMESupport.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditorLogging.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditorMailSupport.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditorObserver.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditorSpellCheck.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEditorStyleSheets.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEffectiveTLDService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEmbeddingSiteWindow.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEmbeddingSiteWindow2.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEncodedChannel.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEntityConverter.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEntropyCollector.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEnumerator.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEnvironment.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIErrorService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEventHandler.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIEventTarget.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIException.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIExceptionService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIExpatSink.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIExtendedExpatSink.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIExtensionManager.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIExternalHelperAppService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIExternalProtocolHandler.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIExternalProtocolService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFIXptr.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFTPChannel.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFactory.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFastLoadFileControl.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFastLoadService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFaviconService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeed.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeedContainer.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeedElementBase.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeedEntry.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeedGenerator.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeedListener.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeedPerson.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeedProcessor.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeedResult.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFeedTextConstruct.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFile.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFileChannel.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFilePicker.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFileProtocolHandler.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFileStreams.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFileURL.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFileUtilities.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFileView.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFind.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFindService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFontEnumerator.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFormFillController.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFormHistory.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFormSigningDialog.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFormSubmitObserver.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFormatConverter.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFrameLoader.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIFullScreen.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIGConfService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIGenKeypairInfoDlg.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIGeolocationProvider.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIGlobalHistory.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIGlobalHistory2.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIGlobalHistory3.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIGnomeVFSService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHTMLAbsPosEditor.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHTMLEditor.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHTMLInlineTableEditor.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHTMLObjectResizeListener.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHTMLObjectResizer.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHTTPHeaderListener.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHTTPIndex.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHandlerService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHashable.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHelperAppLauncherDialog.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHistoryEntry.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHttpActivityObserver.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHttpAuthManager.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHttpAuthenticator.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHttpChannel.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHttpChannelInternal.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHttpEventSink.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHttpHeaderVisitor.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIHttpProtocolHandler.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIIDNService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIIFrameBoxObject.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIINIParser.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIIOService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIIOService2.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIIconURI.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIIdentityInfo.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIIdleService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIImageDocument.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIImageLoadingContent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIIncrementalDownload.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIInlineSpellChecker.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIInputStream.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIInputStreamChannel.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIInputStreamPump.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIInputStreamTee.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIInterfaceInfo.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIInterfaceInfoManager.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIInterfaceRequestor.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIJAR.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIJARChannel.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIJARProtocolHandler.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIJARURI.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIJRILiveConnectPIPeer.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIJRILiveConnectPlugin.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIJSContextStack.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIJSON.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIJSRuntimeService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIJVMAuthTools.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIJVMConfigManager.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIJVMManager.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIJVMPluginInstance.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIKeyModule.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIKeygenThread.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsILineInputStream.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIListBoxObject.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsILivemarkService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsILoadContext.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsILoadGroup.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsILocalFile.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsILocalFileWin.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsILocale.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsILocaleService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsILoginInfo.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsILoginManager.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsILoginManagerIEMigrationHelper.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsILoginManagerPrompter.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsILoginManagerStorage.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsILoginMetaInfo.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIMIMEHeaderParam.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIMIMEInfo.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIMIMEInputStream.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIMIMEService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIMarkupDocumentViewer.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIMemory.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIMemoryReporter.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIMenuBoxObject.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIModifyableXPointer.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIModule.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIModuleLoader.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIMultiPartChannel.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIMultiplexInputStream.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIMutable.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIMutableArray.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsINSSCertCache.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsINSSErrorsService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsINativeAppSupport.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsINavBookmarksService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsINavHistoryService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsINestedURI.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsINetUtil.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsINetworkLinkService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsINonBlockingAlertService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIOCSPResponder.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIObjectInputStream.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIObjectLoadingContent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIObjectOutputStream.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIObserver.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIObserverService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIOfflineCacheUpdate.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIOutputStream.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPK11Token.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPK11TokenDB.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPKCS11.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPKCS11Module.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPKCS11ModuleDB.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPKCS11Slot.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPKIParamBlock.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIParentalControlsService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPasswordManager.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPasswordManagerInternal.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPermission.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPermissionManager.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPersistentProperties2.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPhonetic.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPipe.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPlaintextEditor.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPlugin.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginDocument.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginHost.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginInputStream.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginInstance.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginInstanceOwner.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginInstancePeer.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginInstancePeer2.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginManager.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginManager2.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginStreamInfo.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginStreamListener.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginTag.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginTagInfo.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPluginTagInfo2.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPopupBoxObject.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPopupWindowManager.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPref.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrefBranch.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrefBranch2.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrefBranchInternal.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrefLocalizedString.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrefService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrefetchService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrincipal.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrintOptions.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrintProgress.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrintProgressParams.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrintSession.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrintSettings.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrintSettingsService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrintStatusFeedback.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrintingPrompt.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrintingPromptService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrivateBrowsingService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProcess.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProfile.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProfileChangeStatus.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProfileMigrator.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProfileUnlocker.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProgrammingLanguage.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProgressEventSink.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPrompt.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPromptFactory.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPromptService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPromptService2.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProperties.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProperty.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPropertyBag.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIPropertyBag2.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProtectedAuthThread.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProtocolHandler.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProtocolProxyCallback.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProtocolProxyFilter.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProtocolProxyService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProtocolProxyService2.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProxiedChannel.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProxiedProtocolHandler.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProxyAutoConfig.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProxyInfo.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIProxyObjectManager.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFCompositeDataSource.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFContainer.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFContainerUtils.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFDataSource.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFDelegateFactory.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFInMemoryDataSource.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFInferDataSource.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFLiteral.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFNode.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFObserver.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFPropagatableDataSource.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFPurgeableDataSource.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFRemoteDataSource.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFResource.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFXMLParser.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFXMLSerializer.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFXMLSink.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRDFXMLSource.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRandomGenerator.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIReadConfig.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRecentBadCertsService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRecyclingAllocator.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRefreshURI.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRelativeFilePref.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRemoteService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRequest.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRequestObserver.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRequestObserverProxy.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIResProtocolHandler.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIResumableChannel.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRollupListener.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIRunnable.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISAXAttributes.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISAXContentHandler.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISAXDTDHandler.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISAXErrorHandler.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISAXLexicalHandler.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISAXLocator.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISAXMutableAttributes.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISAXXMLFilter.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISAXXMLReader.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISHContainer.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISHEntry.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISHTransaction.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISHistory.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISHistoryInternal.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISHistoryListener.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISMimeCert.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISOCKSSocketInfo.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISSLCertErrorDialog.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISSLErrorListener.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISSLSocketControl.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISSLStatus.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISSLStatusProvider.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISafeOutputStream.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISaveAsCharset.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScreen.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScreenManager.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptChannel.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptError.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptEventHandler.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptEventManager.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptLoaderObserver.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptSecurityManager.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptableDateFormat.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptableInputStream.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptableInterfaces.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptablePlugin.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptableRegion.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptableUConv.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScriptableUnescapeHTML.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScrollBoxObject.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIScrollable.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISearchContext.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISecretDecoderRing.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISecureBrowserUI.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISecurityCheckedComponent.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISecurityEventSink.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISecurityInfoProvider.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISecurityPref.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISecurityWarningDialogs.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISeekableStream.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISelectElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISelection.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISelection2.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISelectionController.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISelectionDisplay.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISelectionListener.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISelectionPrivate.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISemanticUnitScanner.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISerializable.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIServerSocket.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIServiceManager.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISidebar.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISignatureVerifier.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISimpleEnumerator.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISimpleStreamListener.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISimpleTest.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISimpleUnicharStreamFactory.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISliderListener.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISocketProvider.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISocketProviderService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISocketTransport.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISocketTransportService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISound.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStandardURL.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStorageStream.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStreamBufferAccess.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStreamCipher.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStreamConverter.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStreamConverterService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStreamListener.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStreamListenerTee.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStreamLoader.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStreamTransportService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStringBundle.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStringBundleOverride.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStringEnumerator.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStringStream.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIStyleSheetService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISupports.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISupportsArray.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISupportsIterators.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISupportsPrimitives.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISupportsPriority.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISyncLoadDOMService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISyncStreamListener.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsISystemProxySettings.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsITXTToHTMLConv.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsITableEditor.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsITaggingService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsITextScroll.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsITextServicesFilter.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsITextToSubURI.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIThread.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIThreadInternal.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIThreadManager.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIThreadPool.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsITimelineService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsITimer.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsITokenDialogs.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsITokenPasswordDialogs.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIToolkit.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIToolkitChromeRegistry.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIToolkitProfile.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIToolkitProfileService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsITooltipListener.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsITooltipTextProvider.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsITraceRefcnt.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsITraceableChannel.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsITransaction.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsITransactionList.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsITransactionListener.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsITransactionManager.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsITransfer.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsITransferable.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsITransport.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsITransportSecurityInfo.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsITreeBoxObject.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsITreeColumns.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsITreeContentView.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsITreeSelection.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsITreeView.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsITypeAheadFind.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIURI.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIURIChecker.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIURIClassifier.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIURIContentListener.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIURIFixup.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIURILoader.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIURIRefObject.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIURL.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIURLFormatter.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIURLParser.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUTF8ConverterService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUUIDGenerator.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUnicharInputStream.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUnicharLineInputStream.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUnicharOutputStream.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUnicharStreamListener.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUnicharStreamLoader.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUnicodeNormalizer.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUpdateService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUploadChannel.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUrlClassifierDBService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUrlClassifierHashCompleter.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUrlClassifierStreamUpdater.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUrlClassifierUtils.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUrlListManager.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUserCertPicker.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIUserInfo.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIVariant.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIVersionComparator.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIViewSourceChannel.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWeakReference.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowser.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowserChrome.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowserChrome2.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowserChromeFocus.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowserFind.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowserFocus.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowserPersist.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowserPrint.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowserSetup.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebBrowserStream.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebContentHandlerRegistrar.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebNavigation.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebNavigationInfo.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebPageDescriptor.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebProgress.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebProgressListener.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWebProgressListener2.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWindowCreator.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWindowCreator2.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWindowDataSource.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWindowMediator.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWindowMediatorListener.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWindowProvider.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWindowWatcher.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWindowlessPlugInstPeer.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWritablePropertyBag.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWritablePropertyBag2.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIWyciwygChannel.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIX509Cert.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIX509Cert2.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIX509Cert3.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIX509CertDB.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIX509CertDB2.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIX509CertList.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIX509CertValidity.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXBLAccessible.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXMLContentBuilder.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXMLHttpRequest.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPCScriptNotify.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPCScriptable.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPCSecurityManager.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPCToolsCompiler.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPCToolsProfiler.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPConnect.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPIDialogService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPIInstallInfo.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPIProgressDialog.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPInstallManager.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPTLoader.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXPointer.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXSLTException.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXSLTProcessor.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXSLTProcessorObsolete.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXSLTProcessorPrivate.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXTFAttributeHandler.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXTFElement.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXTFElementFactory.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXTFElementWrapper.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXTFPrivate.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULAppInfo.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULAppInstall.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULBrowserWindow.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULBuilderListener.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULOverlayProvider.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULRuntime.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULSortService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULTemplateBuilder.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULTemplateQueryProcessor.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULTemplateResult.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULTemplateRuleFilter.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIXULWindow.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIZipReader.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsIZipWriter.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsPIAccessible.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsPIAccessibleDocument.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsPICertNotification.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsPICommandUpdater.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsPIDNSService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsPIEditorTransaction.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsPIPlacesDatabase.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsPIPluginHost.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsPIPluginInstancePeer.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsPIPromptService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsPISocketTransportService.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsPIWindowWatcher.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nspluginroot.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/nsrootidl.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/rdfIDataSource.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/rdfISerializer.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/rdfITripleVisitor.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/txIEXSLTRegExFunctions.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/txIFunctionEvaluationContext.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/txINodeSet.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/txIXPathObject.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/xpcIJSModuleLoader.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/xpcIJSWeakReference.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/xpccomponents.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/xpcexception.idl > > /usr/share/idl/xulrunner-1.9.1/unstable/xpcjsid.idl > > /usr/share/xulrunner-1.9 > > /usr/share/xulrunner-1.9/package.env > > > >>> > >>> I'm trying to install Chromium now. ?Do you know where I have to put > >>> the plugin in my home directory so it picks it up? I don't want to do > >>> a system install of it. > >>> > >> > >> > >> It should work if the link is in ~/.mozilla/plugins/ > >> > > > > Ugh... Chromium uses that too? ?I went for that because I didn't want > > it in there, interfering with my main browser. > > > >> Deepak > >> > >>> > Cheers, > >>> > Deepak > >>> > > >>> > > >>> >> I'm not sure what effect the MOZILLA_CFLAGS being added will have > >>> >> though, especially on other platforms. ?I've only built it, not > >>> >> tested. ?Will the plugin work with Chromium 4.0.288.1? ?If so, I'll > >>> >> try the new Gentoo ebuild for it and test the plugin with it. ?How it > >>> >> got to 4.0 already I have no idea! > >>> >> > >>> >> I think the ppc issue is that there is no version test (there is a > >>> >> >1.9 on old plugin, but nothing on new). ?The ppc box is using > >>> >> 1.9.0.11 which may be too old. > >>> >> -- > >>> >> Andrew :-) > >>> >> > >>> >> Free Java Software Engineer > >>> >> Red Hat, Inc. (http://www.redhat.com) > >>> >> > >>> >> Support Free Java! > >>> >> Contribute to GNU Classpath and the OpenJDK > >>> >> http://www.gnu.org/software/classpath > >>> >> http://openjdk.java.net > >>> >> > >>> >> PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > >>> >> Fingerprint: F8EF F1EA 401E 2E60 15FA ?7927 142C 2591 94EF D9D8 > >>> > > >>> > >>> > >>> > >>> -- > >>> Andrew :-) > >>> > >>> Free Java Software Engineer > >>> Red Hat, Inc. (http://www.redhat.com) > >>> > >>> Support Free Java! > >>> Contribute to GNU Classpath and the OpenJDK > >>> http://www.gnu.org/software/classpath > >>> http://openjdk.java.net > >>> > >>> PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > >>> Fingerprint: F8EF F1EA 401E 2E60 15FA ?7927 142C 2591 94EF D9D8 > >> > > > > > > > > -- > > Andrew :-) > > > > Free Java Software Engineer > > Red Hat, Inc. (http://www.redhat.com) > > > > Support Free Java! > > Contribute to GNU Classpath and the OpenJDK > > http://www.gnu.org/software/classpath > > http://openjdk.java.net > > > > PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > > Fingerprint: F8EF F1EA 401E 2E60 15FA ?7927 142C 2591 94EF D9D8 > > > > > http://www.java.com/en/download/help/testvm.xml works, though it > claims I'm running the proprietary JDK and not OpenJDK. > Yeah, the plugin has this: avProps.put("browser.vendor", "Sun Microsystems Inc."); Not really sure why. It's been there since the old plugin days, I just copied and pasted. I assume it was because Tom or someone encountered applets that required those strings.. Deepak > I haven't been able to run the in-tree tests because they seem to want > to build in the source tree. I'll try and take a look at moving them > to the Makefile. > -- > Andrew :-) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > Support Free Java! > Contribute to GNU Classpath and the OpenJDK > http://www.gnu.org/software/classpath > http://openjdk.java.net > > PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From a.radke at arcor.de Fri Jan 22 15:05:32 2010 From: a.radke at arcor.de (Andreas Radke) Date: Sat, 23 Jan 2010 00:05:32 +0100 Subject: Plugin crashes with Xulrunner 1.9.2/libpng/libjpeg Message-ID: <20100123000532.56960c4b@workstation64.home> I'm building for ArchLinux the packages. We are currently updating libpng and libjpeg at once and need to rebuild/fix openjdk. When I understand it right with new xulrunner 1.9.2 it's no more possible to build the old plugin (configure passed but the build quickly fails). With npplugin I get this: checking for XULRUNNER... configure: error: Package requirements ( nspr mozilla-js mozilla-plugin libxul-unstable >= 1.9) were not met: No package 'libxul-unstable' found I have to apply sed -i "s/libxul-unstable/libxul/" configure.ac to pass configure. The pkg builds fine then but as soon as the plugin is called the browsers gives a segfault. Checking with ldd /usr/lib/mozilla/plugins/IcedTeaNPPlugin.so gives: libxul.so => not found libxpcom.so => not found How does that come? Something else: I have to apply this for the new libpng 1.4.0: -- openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c 2010-01-22 16:40:55.984689900 +0000 +++ openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c.new 2010-01-22 16:59:25.450412461 +0000 @@ -182,7 +182,7 @@ int success = 0; stream->read(stream, sig, SIG_BYTES); - if (!png_check_sig(sig, SIG_BYTES)) { + if (png_sig_cmp(sig, 0, SIG_BYTES)) { goto done; } success = SplashDecodePng(splash, my_png_read_stream, stream); I hope this is the proper change to replace the deprecated function and not causing the trouble. The function is also called here but I don't know how f it is has to be changed there: [andyrtr at workstation64 trunk]$ grep -r png_check_sig src/* src/icedtea6/openjdk/jdk/src/share/native/sun/awt/libpng/png.h: * png_check_sig(sig, n) := !png_sig_cmp(sig, 0, n). src/icedtea6/openjdk/jdk/src/share/native/sun/awt/libpng/png.h:extern PNG_EXPORT(int,png_check_sig) PNGARG((png_bytep sig, int num)); src/icedtea6/openjdk/jdk/src/share/native/sun/awt/libpng/png.c:png_check_sig(png_bytep sig, int num) src/icedtea6/openjdk/jdk/src/share/native/sun/awt/libpng/CHANGES: Changed libpng.txt to demonstrate png_sig_cmp() instead of and we will have to find fixes for libjpeg ver 8. Is there already something floating around? -Andy From dbhole at redhat.com Fri Jan 22 15:08:59 2010 From: dbhole at redhat.com (Deepak Bhole) Date: Fri, 22 Jan 2010 18:08:59 -0500 Subject: 1.7 and NPPlugin In-Reply-To: <17c6771e1001220805g120192b8rad0eabe4ee667fd3@mail.gmail.com> References: <17c6771e1001210604o4ff581e6s4df5075e8888e35e@mail.gmail.com> <20100122003059.GA3558@redhat.com> <17c6771e1001211921s52fb420en22aef0f990af7a7a@mail.gmail.com> <20100122071848.GA30351@redhat.com> <17c6771e1001220629t178a2055wab5b1724497442ea@mail.gmail.com> <20100122153835.GA6434@redhat.com> <17c6771e1001220743r69557c4tfe159554c7c508a1@mail.gmail.com> <17c6771e1001220805g120192b8rad0eabe4ee667fd3@mail.gmail.com> Message-ID: <20100122230858.GC13707@redhat.com> * Andrew John Hughes [2010-01-22 11:06]: > 2010/1/22 Andrew John Hughes : > > 2010/1/22 Deepak Bhole : > > > > Ugh... Chromium uses that too? ?I went for that because I didn't want > > it in there, interfering with my main browser. > > Yeah. Also, you may have to supply --enable-plugins when you start chromium, depending on if Gentoo has a wrapper or not. w.r.t to build failure. With the attached path, I have tested the following: F10/Gecko 1.9.0*: Old plugin - Builds New plugin - Builds F12/Gecko 1.9.1*: Old plugin - Builds New plugin - Builds Rawhide/Gecko 1.9.2*: Old plugin - Build fails (as expected, since OJI was removed) New plugin - Builds Please check it out, and commit if you think it is okay. Hopefully this will get rid of all build issues. Sorry about that :( Cheers, Deepak -------------- next part -------------- A non-text attachment was scrubbed... Name: icedtea6-1.7-buildfix.patch Type: text/x-patch Size: 1859 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100122/d0f1aa3d/icedtea6-1.7-buildfix.patch From caster at gentoo.org Sat Jan 23 03:00:31 2010 From: caster at gentoo.org (Vlastimil Babka) Date: Sat, 23 Jan 2010 12:00:31 +0100 Subject: Plugin crashes with Xulrunner 1.9.2/libpng/libjpeg In-Reply-To: <20100123000532.56960c4b@workstation64.home> References: <20100123000532.56960c4b@workstation64.home> Message-ID: <4B5AD6CF.4070502@gentoo.org> Hi, On 01/23/2010 12:05 AM, Andreas Radke wrote: > and we will have to find fixes for libjpeg ver 8. Is there already something floating around? > -Andy This one should be rather easy - see the attached patch we use in Gentoo. Seems there are no incompatible changes in jpeg-8 (similar patch also worked for jpeg-7), there just has to be the right version specified. Vlastimil -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: 1.6.2-jpeg8.patch Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100123/9ccaf7fb/1.6.2-jpeg8.patch From a.radke at arcor.de Sun Jan 24 02:11:35 2010 From: a.radke at arcor.de (Andreas Radke) Date: Sun, 24 Jan 2010 11:11:35 +0100 Subject: Plugin crashes with Xulrunner 1.9.2/libpng/libjpeg In-Reply-To: <4B5AD6CF.4070502@gentoo.org> References: <20100123000532.56960c4b@workstation64.home> <4B5AD6CF.4070502@gentoo.org> Message-ID: <20100124111135.3b7a9884@laptop64.home> Am Sat, 23 Jan 2010 12:00:31 +0100 schrieb Vlastimil Babka : > Hi, > > On 01/23/2010 12:05 AM, Andreas Radke wrote: > > and we will have to find fixes for libjpeg ver 8. Is there already > > something floating around? -Andy > > This one should be rather easy - see the attached patch we use in > Gentoo. Seems there are no incompatible changes in jpeg-8 (similar > patch also worked for jpeg-7), there just has to be the right version > specified. > > Vlastimil Thanks. For 1.7 branch I've attached a patch. There's also the libpng1.4.x update that will require fixes. I've attached a patch that makes it build. But the deprecated function is also used in some headers that may also need further changes. Maybe someone can grep through all code and look if more fixes are needed. The NPPlugin is still crashing my browser here. I think configure needs also a change to accept stable libxul. I had to apply this: sed -i "s/libxul-unstable/libxul/" configure.ac autoreconf -i I've tried the icedtea6-1.7-buildfix.patch that adds the MOZILLA_CFLAGS and I'm still getting browser segfaults on every plugin call. This is what makes me wonder: [andyrtr at laptop64 ~]$ ldd /usr/lib/mozilla/plugins/IcedTeaNPPlugin.so | grep not libmozjs.so => not found libxul.so => not found libxpcom.so => not found Any idea? -Andy -------------- next part -------------- A non-text attachment was scrubbed... Name: jpeg8.diff Type: text/x-patch Size: 906 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100124/6c91fe0c/jpeg8.diff -------------- next part -------------- A non-text attachment was scrubbed... Name: libpng14.diff Type: text/x-patch Size: 490 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100124/6c91fe0c/libpng14.diff From caster at gentoo.org Sun Jan 24 09:58:25 2010 From: caster at gentoo.org (Vlastimil Babka) Date: Sun, 24 Jan 2010 18:58:25 +0100 Subject: Plugin crashes with Xulrunner 1.9.2/libpng/libjpeg In-Reply-To: <20100124111135.3b7a9884@laptop64.home> References: <20100123000532.56960c4b@workstation64.home> <4B5AD6CF.4070502@gentoo.org> <20100124111135.3b7a9884@laptop64.home> Message-ID: <4B5C8A41.30704@gentoo.org> On 01/24/2010 11:11 AM, Andreas Radke wrote: > Am Sat, 23 Jan 2010 12:00:31 +0100 > Thanks. For 1.7 branch I've attached a patch. --- patches/icedtea-libraries.patch 2010-01-22 19:57:38.000000000 +0000 +++ patches/icedtea-libraries.patch.new 2010-01-23 11:51:50.166950941 +0000 @@ -25052,8 +25052,8 @@ +METHODDEF(void) +initIDs() +{ -+#if JPEG_LIB_VERSION >= 70 -+ void *handle = dlopen("libjpeg.so.7", RTLD_LAZY | RTLD_GLOBAL); ++#if JPEG_LIB_VERSION >= 80 ++ void *handle = dlopen("libjpeg.so.8", RTLD_LAZY | RTLD_GLOBAL); +#else + void *handle = dlopen("libjpeg.so.62", RTLD_LAZY | RTLD_GLOBAL); +#endif @@ -25347,7 +25347,7 @@ Java_sun_awt_image_JPEGImageDecoder_initIDs(JNIEnv *env, jclass cls, jclass InputStreamClass) { -+ void *handle = dlopen("libjpeg.so.7", RTLD_LAZY | RTLD_GLOBAL); ++ void *handle = dlopen("libjpeg.so.8", RTLD_LAZY | RTLD_GLOBAL); + if (handle == NULL) { + handle = dlopen("libjpeg.so.62", RTLD_LAZY | RTLD_GLOBAL); + } Hm so 1.7 branch already tries to support multiple versions at build time? I wonder why the first part uses defines and dlopen just one version, and the other tries to dlopen one after another? Sounds quite dangerous to me, as the jpeg versions are ABI incompatible. So you could e.g. build against libjpeg-7, then install libjpeg-8 next to it and the second dlopen would open libjpeg-8 and try to call its functions with bad ABI. It would make more sense to me to use the defines for both dlopen()'s. Vlastimil From gnu_andrew at member.fsf.org Sun Jan 24 12:33:07 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Sun, 24 Jan 2010 20:33:07 +0000 Subject: Plugin crashes with Xulrunner 1.9.2/libpng/libjpeg In-Reply-To: <20100123000532.56960c4b@workstation64.home> References: <20100123000532.56960c4b@workstation64.home> Message-ID: <17c6771e1001241233j39d1c67eu39bcbb00306fad60@mail.gmail.com> 2010/1/22 Andreas Radke : > I'm building for ArchLinux the packages. We are currently updating libpng and libjpeg > at once and need to rebuild/fix openjdk. > When I understand it right with new xulrunner 1.9.2 it's no more possible to build the old > plugin (configure passed but the build quickly fails). > Does it not default to npplugin in that case? If not, that needs changing. > With npplugin I get this: > checking for XULRUNNER... configure: error: Package requirements ( ? ? ?nspr mozilla-js mozilla-plugin libxul-unstable >= 1.9) were not met: > > No package 'libxul-unstable' found > > I have to apply sed -i "s/libxul-unstable/libxul/" configure.ac to pass configure. > The pkg builds fine then but as soon as the plugin is called the browsers gives a segfault. > > Checking with ldd /usr/lib/mozilla/plugins/IcedTeaNPPlugin.so gives: > ? ? ? ?libxul.so => not found > ? ? ? ?libxpcom.so => not found > How does that come? > What's the backtrace for the segfault? The above just means the libraries aren't on the library path when you run ldd. > > > Something else: I have to apply this for the new libpng 1.4.0: > > -- openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c 2010-01-22 16:40:55.984689900 +0000 > +++ openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c.new ? ?2010-01-22 16:59:25.450412461 +0000 > @@ -182,7 +182,7 @@ > ? ? int success = 0; > > ? ? stream->read(stream, sig, SIG_BYTES); > - ? ?if (!png_check_sig(sig, SIG_BYTES)) { > + ? ?if (png_sig_cmp(sig, 0, SIG_BYTES)) { > ? ? ? ? goto done; > ? ? } > ? ? success = SplashDecodePng(splash, my_png_read_stream, stream); > > I hope this is the proper change to replace the deprecated function and not causing the trouble. > The function is also called here but I don't know how f it is has to be changed there: > [andyrtr at workstation64 trunk]$ ?grep -r png_check_sig src/* > src/icedtea6/openjdk/jdk/src/share/native/sun/awt/libpng/png.h: * png_check_sig(sig, n) := !png_sig_cmp(sig, 0, n). > src/icedtea6/openjdk/jdk/src/share/native/sun/awt/libpng/png.h:extern PNG_EXPORT(int,png_check_sig) PNGARG((png_bytep sig, int num)); > src/icedtea6/openjdk/jdk/src/share/native/sun/awt/libpng/png.c:png_check_sig(png_bytep sig, int num) > src/icedtea6/openjdk/jdk/src/share/native/sun/awt/libpng/CHANGES: ?Changed libpng.txt to demonstrate png_sig_cmp() instead of > I'll try and take a look at this and see if it's a safe fix. > and we will have to find fixes for libjpeg ver 8. Is there already something floating around? Looks like a version of Caster's fix without removing the libjpeg.so.7 line should work fine. > > -Andy > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From gnu_andrew at member.fsf.org Sun Jan 24 12:37:34 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Sun, 24 Jan 2010 20:37:34 +0000 Subject: Plugin crashes with Xulrunner 1.9.2/libpng/libjpeg In-Reply-To: <4B5C8A41.30704@gentoo.org> References: <20100123000532.56960c4b@workstation64.home> <4B5AD6CF.4070502@gentoo.org> <20100124111135.3b7a9884@laptop64.home> <4B5C8A41.30704@gentoo.org> Message-ID: <17c6771e1001241237q315e9b1ej21f0c7e1a79b6e27@mail.gmail.com> 2010/1/24 Vlastimil Babka : > On 01/24/2010 11:11 AM, Andreas Radke wrote: >> >> Am Sat, 23 Jan 2010 12:00:31 +0100 > >> Thanks. For 1.7 branch I've attached a patch. > > --- patches/icedtea-libraries.patch ? ? 2010-01-22 19:57:38.000000000 +0000 > +++ patches/icedtea-libraries.patch.new 2010-01-23 11:51:50.166950941 +0000 > @@ -25052,8 +25052,8 @@ > ?+METHODDEF(void) > ?+initIDs() > ?+{ > -+#if JPEG_LIB_VERSION >= 70 > -+ ? ?void *handle = dlopen("libjpeg.so.7", RTLD_LAZY | RTLD_GLOBAL); > ++#if JPEG_LIB_VERSION >= 80 > ++ ? ?void *handle = dlopen("libjpeg.so.8", RTLD_LAZY | RTLD_GLOBAL); > ?+#else > ?+ ? ?void *handle = dlopen("libjpeg.so.62", RTLD_LAZY | RTLD_GLOBAL); > ?+#endif > @@ -25347,7 +25347,7 @@ > ?Java_sun_awt_image_JPEGImageDecoder_initIDs(JNIEnv *env, jclass cls, > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?jclass InputStreamClass) > ?{ > -+ ? ?void *handle = dlopen("libjpeg.so.7", RTLD_LAZY | RTLD_GLOBAL); > ++ ? ?void *handle = dlopen("libjpeg.so.8", RTLD_LAZY | RTLD_GLOBAL); > ?+ ? ?if (handle == NULL) { > ?+ ? ? ? handle = dlopen("libjpeg.so.62", RTLD_LAZY | RTLD_GLOBAL); > ?+ ? ?} > > Hm so 1.7 branch already tries to support multiple versions at build time? I > wonder why the first part uses defines and dlopen just one version, and the > other tries to dlopen one after another? Sounds quite dangerous to me, as > the jpeg versions are ABI incompatible. So you could e.g. build against > libjpeg-7, then install libjpeg-8 next to it and the second dlopen would > open libjpeg-8 and try to call its functions with bad ABI. > It would make more sense to me to use the defines for both dlopen()'s. > > Vlastimil > Yeah, I thought that was odd about this patch too. I must have missed one of the dlopens when I fixed it. Both should be #defined so you build and run with the same version. Thanks for spotting, -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From andrew at icedtea.classpath.org Mon Jan 25 07:35:37 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 25 Jan 2010 15:35:37 +0000 Subject: /hg/release/icedtea6-1.7: Support libjpeg8 and always choose the... Message-ID: changeset 19a3df4fa61e in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=19a3df4fa61e author: Andrew John Hughes date: Mon Jan 25 15:35:21 2010 +0000 Support libjpeg8 and always choose the dlopen invocation at build time. 2010-01-25 Andrew John Hughes * patches/icedtea-libraries.patch: Make all dlopen choices at build-time, not just one. Support libjpeg8 as well. diffstat: 2 files changed, 20 insertions(+), 5 deletions(-) ChangeLog | 6 ++++++ patches/icedtea-libraries.patch | 19 ++++++++++++++----- diffs (63 lines): diff -r e303235cefa8 -r 19a3df4fa61e ChangeLog --- a/ChangeLog Thu Jan 21 16:11:56 2010 +0000 +++ b/ChangeLog Mon Jan 25 15:35:21 2010 +0000 @@ -1,3 +1,9 @@ 2010-01-21 Andrew John Hughes + + * patches/icedtea-libraries.patch: + Make all dlopen choices at build-time, + not just one. Support libjpeg8 as well. + 2010-01-21 Andrew John Hughes PR icedtea/433 diff -r e303235cefa8 -r 19a3df4fa61e patches/icedtea-libraries.patch --- a/patches/icedtea-libraries.patch Thu Jan 21 16:11:56 2010 +0000 +++ b/patches/icedtea-libraries.patch Mon Jan 25 15:35:21 2010 +0000 @@ -25045,17 +25045,21 @@ diff -ruN ..openjdk.old/openjdk/jdk/src/ } -@@ -2317,6 +2377,146 @@ +@@ -2317,6 +2377,150 @@ /********************** end of destination manager ************/ +METHODDEF(void) +initIDs() +{ ++#if JPEG_LIB_VERSION >= 80 ++ void *handle = dlopen("libjpeg.so.8", RTLD_LAZY | RTLD_GLOBAL); ++#else +#if JPEG_LIB_VERSION >= 70 + void *handle = dlopen("libjpeg.so.7", RTLD_LAZY | RTLD_GLOBAL); +#else + void *handle = dlopen("libjpeg.so.62", RTLD_LAZY | RTLD_GLOBAL); ++#endif +#endif + + jpegstderror = (fn_jpegstderror)dlsym(handle, "jpeg_std_error"); @@ -25343,14 +25347,19 @@ diff -ruN ..openjdk.old/openjdk/jdk/src/ /* Initialize the Java VM instance variable when the library is first loaded */ JavaVM *jvm; -@@ -462,6 +493,71 @@ +@@ -462,6 +493,76 @@ Java_sun_awt_image_JPEGImageDecoder_initIDs(JNIEnv *env, jclass cls, jclass InputStreamClass) { ++#if JPEG_LIB_VERSION >= 80 ++ void *handle = dlopen("libjpeg.so.8", RTLD_LAZY | RTLD_GLOBAL); ++#else ++#if JPEG_LIB_VERSION >= 70 + void *handle = dlopen("libjpeg.so.7", RTLD_LAZY | RTLD_GLOBAL); -+ if (handle == NULL) { -+ handle = dlopen("libjpeg.so.62", RTLD_LAZY | RTLD_GLOBAL); -+ } ++#else ++ void *handle = dlopen("libjpeg.so.62", RTLD_LAZY | RTLD_GLOBAL); ++#endif ++#endif + + jpegstderror = (fn_jpegstderror)dlsym(handle, "jpeg_std_error"); + if (jpegstderror == NULL) { From andrew at icedtea.classpath.org Mon Jan 25 07:40:21 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 25 Jan 2010 15:40:21 +0000 Subject: /hg/icedtea6: 2 new changesets Message-ID: changeset d9e0d17a294a in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=d9e0d17a294a author: Andrew John Hughes date: Thu Jan 21 16:11:56 2010 +0000 PR icedtea/433: Add set -e before tarball extraction so a failure stops the build. 2010-01-21 Andrew John Hughes PR icedtea/433 * Makefile.am: Add set -e to tarball extractions so that they fail immediately. changeset fcd85ef6c2ae in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=fcd85ef6c2ae author: Andrew John Hughes date: Mon Jan 25 15:35:21 2010 +0000 Support libjpeg8 and always choose the dlopen invocation at build time. 2010-01-25 Andrew John Hughes * patches/icedtea-libraries.patch: Make all dlopen choices at build-time, not just one. Support libjpeg8 as well. diffstat: 3 files changed, 33 insertions(+), 5 deletions(-) ChangeLog | 13 +++++++++++++ Makefile.am | 6 ++++++ patches/icedtea-libraries.patch | 19 ++++++++++++++----- diffs (117 lines): diff -r b227a81ef16c -r fcd85ef6c2ae ChangeLog --- a/ChangeLog Thu Jan 21 17:56:18 2010 +0000 +++ b/ChangeLog Mon Jan 25 15:35:21 2010 +0000 @@ -1,3 +1,16 @@ 2010-01-21 Edward Nevill + + * patches/icedtea-libraries.patch: + Make all dlopen choices at build-time, + not just one. Support libjpeg8 as well. + +2010-01-21 Andrew John Hughes + + PR icedtea/433 + * Makefile.am: + Add set -e to tarball extractions so + that they fail immediately. + 2010-01-21 Edward Nevill * zeroshark.make, asm_helper.cpp, bytecodes_arm.def, diff -r b227a81ef16c -r fcd85ef6c2ae Makefile.am --- a/Makefile.am Thu Jan 21 17:56:18 2010 +0000 +++ b/Makefile.am Mon Jan 25 15:35:21 2010 +0000 @@ -775,6 +775,7 @@ if OPENJDK_SRC_DIR_FOUND if OPENJDK_SRC_DIR_FOUND cp -a $(OPENJDK_SRC_DIR) openjdk else + set -e ; \ if ! test -d openjdk ; \ then \ mkdir openjdk ; \ @@ -786,12 +787,14 @@ if BUILD_CACAO if BUILD_CACAO if !USE_SYSTEM_CACAO if USE_ALT_CACAO_SRC_DIR + set -e ; \ if ! test -d cacao ; \ then \ mkdir -p cacao/cacao ; \ cp -r $(ALT_CACAO_SRC_DIR)/* cacao/cacao/ ; \ fi else + set -e ; \ if ! test -d cacao ; \ then \ mkdir cacao ; \ @@ -803,17 +806,20 @@ endif endif endif if WITH_VISUALVM + set -e ; \ if ! test -d netbeans ; \ then \ mkdir netbeans ; \ $(TAR) xf $(NETBEANS_PROFILER_SRC_ZIP) -C netbeans ; \ fi + set -e ; \ if ! test -d visualvm ; \ then \ $(TAR) xf $(VISUALVM_SRC_ZIP) ; \ fi endif + set -e ; \ 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 '{}' ';' \ diff -r b227a81ef16c -r fcd85ef6c2ae patches/icedtea-libraries.patch --- a/patches/icedtea-libraries.patch Thu Jan 21 17:56:18 2010 +0000 +++ b/patches/icedtea-libraries.patch Mon Jan 25 15:35:21 2010 +0000 @@ -25045,17 +25045,21 @@ diff -ruN ..openjdk.old/openjdk/jdk/src/ } -@@ -2317,6 +2377,146 @@ +@@ -2317,6 +2377,150 @@ /********************** end of destination manager ************/ +METHODDEF(void) +initIDs() +{ ++#if JPEG_LIB_VERSION >= 80 ++ void *handle = dlopen("libjpeg.so.8", RTLD_LAZY | RTLD_GLOBAL); ++#else +#if JPEG_LIB_VERSION >= 70 + void *handle = dlopen("libjpeg.so.7", RTLD_LAZY | RTLD_GLOBAL); +#else + void *handle = dlopen("libjpeg.so.62", RTLD_LAZY | RTLD_GLOBAL); ++#endif +#endif + + jpegstderror = (fn_jpegstderror)dlsym(handle, "jpeg_std_error"); @@ -25343,14 +25347,19 @@ diff -ruN ..openjdk.old/openjdk/jdk/src/ /* Initialize the Java VM instance variable when the library is first loaded */ JavaVM *jvm; -@@ -462,6 +493,71 @@ +@@ -462,6 +493,76 @@ Java_sun_awt_image_JPEGImageDecoder_initIDs(JNIEnv *env, jclass cls, jclass InputStreamClass) { ++#if JPEG_LIB_VERSION >= 80 ++ void *handle = dlopen("libjpeg.so.8", RTLD_LAZY | RTLD_GLOBAL); ++#else ++#if JPEG_LIB_VERSION >= 70 + void *handle = dlopen("libjpeg.so.7", RTLD_LAZY | RTLD_GLOBAL); -+ if (handle == NULL) { -+ handle = dlopen("libjpeg.so.62", RTLD_LAZY | RTLD_GLOBAL); -+ } ++#else ++ void *handle = dlopen("libjpeg.so.62", RTLD_LAZY | RTLD_GLOBAL); ++#endif ++#endif + + jpegstderror = (fn_jpegstderror)dlsym(handle, "jpeg_std_error"); + if (jpegstderror == NULL) { From andrew at icedtea.classpath.org Mon Jan 25 11:42:23 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 25 Jan 2010 19:42:23 +0000 Subject: /hg/release/icedtea6-1.7: Standardise plugin versioning and the ... Message-ID: changeset 4336498d14b4 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=4336498d14b4 author: Andrew John Hughes date: Mon Jan 25 19:42:12 2010 +0000 Standardise plugin versioning and the name of IcedTea (IcedTea6 in this case). 2010-01-25 Andrew John Hughes * IcedTeaPlugin.cc: Standardise plugin versioning. * Makefile.am: Set ICEDTEA_NAME and use in place of literal "IcedTea6". Use HAS_PKGVERSION to set ICEDTEA_PKG and output DISTRO_PACKAGE_VERSION rather than running test. Set PLUGIN_VERSION and use for both plugins. * acinclude.m4: (IT_GET_PKGVERSION): Moved from configure.ac and changed to a macro with output. (IT_GET_LSB_DATA): Depend on IT_GET_PKGVERSION. * configure.ac: Invoke new IT_GET_PKGVERSION macro. * plugin/icedteanp/IcedTeaNPPlugin.cc: Standardise plugin versioning. diffstat: 6 files changed, 64 insertions(+), 39 deletions(-) ChangeLog | 19 +++++++++++++++++++ IcedTeaPlugin.cc | 4 ++-- Makefile.am | 33 ++++++++++++++++----------------- acinclude.m4 | 29 +++++++++++++++++++++++------ configure.ac | 12 +----------- plugin/icedteanp/IcedTeaNPPlugin.cc | 6 +++--- diffs (224 lines): diff -r 19a3df4fa61e -r 4336498d14b4 ChangeLog --- a/ChangeLog Mon Jan 25 15:35:21 2010 +0000 +++ b/ChangeLog Mon Jan 25 19:42:12 2010 +0000 @@ -1,3 +1,22 @@ 2010-01-25 Andrew John Hughes + + * IcedTeaPlugin.cc: + Standardise plugin versioning. + * Makefile.am: + Set ICEDTEA_NAME and use in place of literal + "IcedTea6". Use HAS_PKGVERSION to set ICEDTEA_PKG + and output DISTRO_PACKAGE_VERSION rather than + running test. Set PLUGIN_VERSION and use for + both plugins. + * acinclude.m4: + (IT_GET_PKGVERSION): Moved from configure.ac and + changed to a macro with output. + (IT_GET_LSB_DATA): Depend on IT_GET_PKGVERSION. + * configure.ac: + Invoke new IT_GET_PKGVERSION macro. + * plugin/icedteanp/IcedTeaNPPlugin.cc: + Standardise plugin versioning. + 2010-01-25 Andrew John Hughes * patches/icedtea-libraries.patch: diff -r 19a3df4fa61e -r 4336498d14b4 IcedTeaPlugin.cc --- a/IcedTeaPlugin.cc Mon Jan 25 15:35:21 2010 +0000 +++ b/IcedTeaPlugin.cc Mon Jan 25 19:42:12 2010 +0000 @@ -275,8 +275,8 @@ inline long get_time_in_s() #define PLUGIN_CHECK(message, result) #endif -#define PLUGIN_NAME "IcedTea Java Web Browser Plugin" -#define PLUGIN_DESCRIPTION "The " PLUGIN_NAME PLUGIN_VERSION " executes Java applets." +#define PLUGIN_NAME "IcedTea Java Web Browser Plugin (using " PLUGIN_VERSION ")" +#define PLUGIN_DESCRIPTION "The " PLUGIN_NAME " executes Java applets." #define PLUGIN_MIME_DESC \ "application/x-java-vm:class,jar:IcedTea;" \ "application/x-java-applet:class,jar:IcedTea;" \ diff -r 19a3df4fa61e -r 4336498d14b4 Makefile.am --- a/Makefile.am Mon Jan 25 15:35:21 2010 +0000 +++ b/Makefile.am Mon Jan 25 19:42:12 2010 +0000 @@ -381,9 +381,15 @@ JDK_UPDATE_VERSION = $(shell echo $(OPEN JDK_UPDATE_VERSION = $(shell echo $(OPENJDK_VERSION) | sed -e "s/^b//") COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(OPENJDK_VERSION) +ICEDTEA_NAME="IcedTea6" if HAS_ICEDTEA_REVISION ICEDTEA_REV="+${ICEDTEA_REVISION}" endif +if HAS_PKGVERSION +ICEDTEA_PKG="(${PKGVERSION})" +endif + +PLUGIN_VERSION=$(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV) $(ICEDTEA_PKG) ICEDTEA_ENV = \ IMPORT_BINARY_PLUGS=true \ @@ -426,7 +432,7 @@ ICEDTEA_ENV = \ JDK_HOME="" \ RHINO_JAR="$(RHINO_JAR)" \ DISTRIBUTION_ID="$(DIST_ID)" \ - DERIVATIVE_ID="IcedTea6 $(PACKAGE_VERSION)$(ICEDTEA_REV)" \ + DERIVATIVE_ID="$(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV)" \ DEBUG_CLASSFILES="true" \ DEBUG_BINARIES="true" @@ -512,7 +518,7 @@ ICEDTEA_ENV_ECJ = \ JAR_KNOWS_J_OPTIONS="$(JAR_KNOWS_J_OPTIONS)" \ JAR_ACCEPTS_STDIN_LIST="$(JAR_ACCEPTS_STDIN_LIST)" \ DISTRIBUTION_ID="$(DIST_ID)" \ - DERIVATIVE_ID="IcedTea6 $(PACKAGE_VERSION)$(ICEDTEA_REV)" \ + DERIVATIVE_ID="$(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV)" \ DEBUG_CLASSFILES="true" \ DEBUG_BINARIES="true" @@ -958,10 +964,10 @@ stamps/patch.stamp: stamps/patch-fsg.sta if ! test "x$(WITH_CACAO)" = "xno"; then \ echo "JDK_DERIVATIVE_NAME=$${icedtea_version}" \ >>openjdk/jdk/make/common/shared/Defs.gmk ; \ - echo "PRODUCT_NAME=IcedTea6" \ + echo "PRODUCT_NAME=$(ICEDTEA_NAME)" \ >>openjdk/jdk/make/common/shared/Defs.gmk ; \ else \ - echo "JDK_DERIVATIVE_NAME=IcedTea6 $${icedtea_version}" \ + echo "JDK_DERIVATIVE_NAME=$(ICEDTEA_NAME) $${icedtea_version}" \ >>openjdk/jdk/make/common/shared/Defs.gmk ; \ fi ; @@ -969,11 +975,11 @@ if HAS_JDK_REVISION echo "JDK_REVID=$(JDK_REVISION)" >>openjdk/jdk/make/common/shared/Defs.gmk ; endif - echo "DISTRO_NAME=$(DIST_NAME)" >>openjdk/jdk/make/common/shared/Defs.gmk ; \ - if [ -n "$(PKGVERSION)" ]; then \ + echo "DISTRO_NAME=$(DIST_NAME)" >>openjdk/jdk/make/common/shared/Defs.gmk ; +if HAS_PKGVERSION echo "DISTRO_PACKAGE_VERSION=$(PKGVERSION)" \ - >>openjdk/jdk/make/common/shared/Defs.gmk ; \ - fi + >>openjdk/jdk/make/common/shared/Defs.gmk ; +endif #FIXME (plugin): Don't do this copying if ENABLE_NPPLUGIN @@ -1486,8 +1492,7 @@ NPPLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedT $(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_OBJECTS)): $(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_SRC)) cd $(NPPLUGIN_DIR) && \ $(CXX) $(CXXFLAGS) \ - -DPACKAGE_VERSION="\"$(PACKAGE_VERSION)\"" \ - -DPLUGIN_VERSION="\"$(PACKAGE_VERSION)$(ICEDTEA_REV)\"" \ + -DPLUGIN_VERSION="\"$(PLUGIN_VERSION)\"" \ -DMOZILLA_VERSION_COLLAPSED="$(MOZILLA_VERSION_COLLAPSED)" \ $(GLIB_CFLAGS) \ $(GTK_CFLAGS) \ @@ -1518,14 +1523,8 @@ if ENABLE_PLUGIN # is listed before -l options. See: # http://developer.mozilla.org/en/docs/XPCOM_Glue IcedTeaPlugin.o: IcedTeaPlugin.cc - if [ -e $(abs_top_srcdir)/.hg ] && which $(HG) >/dev/null; then \ - revision="-r`(cd $(abs_top_srcdir); $(HG) tip --template '{rev}')`" ; \ - fi ; \ - if [ -n "$(PKGVERSION)" ]; then plugin_version=" ($(PKGVERSION))"; fi; \ - plugin_version=" $(PACKAGE_VERSION)$$revision$$plugin_version"; \ $(CXX) $(CXXFLAGS) \ - -DPACKAGE_VERSION="\"$(PACKAGE_VERSION)\"" \ - -DPLUGIN_VERSION="\"$$plugin_version\"" \ + -DPLUGIN_VERSION="\"$(PLUGIN_VERSION)\"" \ -DMOZILLA_VERSION_COLLAPSED="$(MOZILLA_VERSION_COLLAPSED)" \ $(GTK_CFLAGS) \ $(XULRUNNER_CFLAGS) \ diff -r 19a3df4fa61e -r 4336498d14b4 acinclude.m4 --- a/acinclude.m4 Mon Jan 25 15:35:21 2010 +0000 +++ b/acinclude.m4 Mon Jan 25 19:42:12 2010 +0000 @@ -1146,15 +1146,33 @@ AC_SUBST(PARALLEL_JOBS) AC_SUBST(PARALLEL_JOBS) ]) -AC_DEFUN([IT_GET_LSB_DATA], -[ +AC_DEFUN_ONCE([IT_GET_PKGVERSION], +[ +AC_MSG_CHECKING([for distribution package version]) +AC_ARG_WITH([pkgversion], + [AS_HELP_STRING([--with-pkgversion=PKG], + [Use PKG in the version string in addition to "IcedTea"])], + [case "$withval" in + yes) AC_MSG_ERROR([package version not specified]) ;; + no) PKGVERSION=none ;; + *) PKGVERSION="$withval" ;; + esac], + [PKGVERSION=none]) +AC_MSG_RESULT([${PKGVERSION}]) +AM_CONDITIONAL(HAS_PKGVERSION, test "x${PKGVERSION}" != "xnone") +AC_SUBST(PKGVERSION) +]) + +AC_DEFUN_ONCE([IT_GET_LSB_DATA], +[ +AC_REQUIRE([IT_GET_PKGVERSION]) AC_MSG_CHECKING([build identification]) if test -n "$LSB_RELEASE"; then lsb_info="$($LSB_RELEASE -ds | sed 's/^"//;s/"$//')" - if test -n "$PKGVERSION"; then + if test "x$PKGVERSION" = "xnone"; then + DIST_ID="Built on $lsb_info ($(date))" + else DIST_ID="$lsb_info, package $PKGVERSION" - else - DIST_ID="Built on $lsb_info ($(date))" fi DIST_NAME="$($LSB_RELEASE -is | sed 's/^"//;s/"$//')" else @@ -1204,4 +1222,3 @@ AC_DEFUN_ONCE([IT_OBTAIN_HG_REVISIONS], AM_CONDITIONAL([HAS_JDK_REVISION], test "x${JDK_REVISION}" != xnone) AM_CONDITIONAL([HAS_HOTSPOT_REVISION], test "x${HOTSPOT_REVISION}" != xnone) ]) - diff -r 19a3df4fa61e -r 4336498d14b4 configure.ac --- a/configure.ac Mon Jan 25 15:35:21 2010 +0000 +++ b/configure.ac Mon Jan 25 19:42:12 2010 +0000 @@ -166,17 +166,7 @@ AM_CONDITIONAL([ENABLE_NSS], [test x$ENA AM_CONDITIONAL([ENABLE_NSS], [test x$ENABLE_NSS = xyes]) AC_MSG_RESULT(${ENABLE_NSS}) -AC_ARG_WITH([pkgversion], - [AS_HELP_STRING([--with-pkgversion=PKG], - [Use PKG in the version string in addition to "IcedTea"])], - [case "$withval" in - yes) AC_MSG_ERROR([package version not specified]) ;; - no) PKGVERSION= ;; - *) PKGVERSION="$withval" ;; - esac], - [PKGVERSION=]) -AC_SUBST(PKGVERSION) - +IT_GET_PKGVERSION IT_GET_LSB_DATA SET_ARCH_DIRS diff -r 19a3df4fa61e -r 4336498d14b4 plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Mon Jan 25 15:35:21 2010 +0000 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Mon Jan 25 19:42:12 2010 +0000 @@ -87,8 +87,8 @@ exception statement from your version. * __LINE__, g_thread_self (), first, second, third) // Plugin information passed to about:plugins. -#define PLUGIN_NAME "IcedTea NPR Web Browser Plugin (using IcedTea)" -#define PLUGIN_DESC "The " PLUGIN_NAME PLUGIN_VERSION " executes Java applets." +#define PLUGIN_NAME "IcedTea NPR Web Browser Plugin (using " PLUGIN_VERSION ")" +#define PLUGIN_DESC "The " PLUGIN_NAME " executes Java applets." #define PLUGIN_MIME_DESC \ "application/x-java-vm:class,jar:IcedTea;" \ @@ -2079,7 +2079,7 @@ NP_GetValue (void* future, NPPVariable v { case NPPVpluginNameString: PLUGIN_DEBUG_0ARG ("NP_GetValue: returning plugin name.\n"); - *char_value = g_strdup (PLUGIN_NAME " " PACKAGE_VERSION); + *char_value = g_strdup (PLUGIN_NAME); break; case NPPVpluginDescriptionString: From andrew at icedtea.classpath.org Mon Jan 25 11:42:57 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 25 Jan 2010 19:42:57 +0000 Subject: /hg/icedtea6: Standardise plugin versioning and the name of Iced... Message-ID: changeset 7f40cc095348 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=7f40cc095348 author: Andrew John Hughes date: Mon Jan 25 19:42:12 2010 +0000 Standardise plugin versioning and the name of IcedTea (IcedTea6 in this case). 2010-01-25 Andrew John Hughes * IcedTeaPlugin.cc: Standardise plugin versioning. * Makefile.am: Set ICEDTEA_NAME and use in place of literal "IcedTea6". Use HAS_PKGVERSION to set ICEDTEA_PKG and output DISTRO_PACKAGE_VERSION rather than running test. Set PLUGIN_VERSION and use for both plugins. * acinclude.m4: (IT_GET_PKGVERSION): Moved from configure.ac and changed to a macro with output. (IT_GET_LSB_DATA): Depend on IT_GET_PKGVERSION. * configure.ac: Invoke new IT_GET_PKGVERSION macro. * plugin/icedteanp/IcedTeaNPPlugin.cc: Standardise plugin versioning. diffstat: 6 files changed, 64 insertions(+), 39 deletions(-) ChangeLog | 19 +++++++++++++++++++ IcedTeaPlugin.cc | 4 ++-- Makefile.am | 33 ++++++++++++++++----------------- acinclude.m4 | 29 +++++++++++++++++++++++------ configure.ac | 12 +----------- plugin/icedteanp/IcedTeaNPPlugin.cc | 6 +++--- diffs (224 lines): diff -r fcd85ef6c2ae -r 7f40cc095348 ChangeLog --- a/ChangeLog Mon Jan 25 15:35:21 2010 +0000 +++ b/ChangeLog Mon Jan 25 19:42:12 2010 +0000 @@ -1,3 +1,22 @@ 2010-01-25 Andrew John Hughes + + * IcedTeaPlugin.cc: + Standardise plugin versioning. + * Makefile.am: + Set ICEDTEA_NAME and use in place of literal + "IcedTea6". Use HAS_PKGVERSION to set ICEDTEA_PKG + and output DISTRO_PACKAGE_VERSION rather than + running test. Set PLUGIN_VERSION and use for + both plugins. + * acinclude.m4: + (IT_GET_PKGVERSION): Moved from configure.ac and + changed to a macro with output. + (IT_GET_LSB_DATA): Depend on IT_GET_PKGVERSION. + * configure.ac: + Invoke new IT_GET_PKGVERSION macro. + * plugin/icedteanp/IcedTeaNPPlugin.cc: + Standardise plugin versioning. + 2010-01-25 Andrew John Hughes * patches/icedtea-libraries.patch: diff -r fcd85ef6c2ae -r 7f40cc095348 IcedTeaPlugin.cc --- a/IcedTeaPlugin.cc Mon Jan 25 15:35:21 2010 +0000 +++ b/IcedTeaPlugin.cc Mon Jan 25 19:42:12 2010 +0000 @@ -275,8 +275,8 @@ inline long get_time_in_s() #define PLUGIN_CHECK(message, result) #endif -#define PLUGIN_NAME "IcedTea Java Web Browser Plugin" -#define PLUGIN_DESCRIPTION "The " PLUGIN_NAME PLUGIN_VERSION " executes Java applets." +#define PLUGIN_NAME "IcedTea Java Web Browser Plugin (using " PLUGIN_VERSION ")" +#define PLUGIN_DESCRIPTION "The " PLUGIN_NAME " executes Java applets." #define PLUGIN_MIME_DESC \ "application/x-java-vm:class,jar:IcedTea;" \ "application/x-java-applet:class,jar:IcedTea;" \ diff -r fcd85ef6c2ae -r 7f40cc095348 Makefile.am --- a/Makefile.am Mon Jan 25 15:35:21 2010 +0000 +++ b/Makefile.am Mon Jan 25 19:42:12 2010 +0000 @@ -384,9 +384,15 @@ JDK_UPDATE_VERSION = $(shell echo $(OPEN JDK_UPDATE_VERSION = $(shell echo $(OPENJDK_VERSION) | sed -e "s/^b//") COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(OPENJDK_VERSION) +ICEDTEA_NAME="IcedTea6" if HAS_ICEDTEA_REVISION ICEDTEA_REV="+${ICEDTEA_REVISION}" endif +if HAS_PKGVERSION +ICEDTEA_PKG="(${PKGVERSION})" +endif + +PLUGIN_VERSION=$(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV) $(ICEDTEA_PKG) ICEDTEA_ENV = \ IMPORT_BINARY_PLUGS=true \ @@ -429,7 +435,7 @@ ICEDTEA_ENV = \ JDK_HOME="" \ RHINO_JAR="$(RHINO_JAR)" \ DISTRIBUTION_ID="$(DIST_ID)" \ - DERIVATIVE_ID="IcedTea6 $(PACKAGE_VERSION)$(ICEDTEA_REV)" \ + DERIVATIVE_ID="$(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV)" \ DEBUG_CLASSFILES="true" \ DEBUG_BINARIES="true" @@ -515,7 +521,7 @@ ICEDTEA_ENV_ECJ = \ JAR_KNOWS_J_OPTIONS="$(JAR_KNOWS_J_OPTIONS)" \ JAR_ACCEPTS_STDIN_LIST="$(JAR_ACCEPTS_STDIN_LIST)" \ DISTRIBUTION_ID="$(DIST_ID)" \ - DERIVATIVE_ID="IcedTea6 $(PACKAGE_VERSION)$(ICEDTEA_REV)" \ + DERIVATIVE_ID="$(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV)" \ DEBUG_CLASSFILES="true" \ DEBUG_BINARIES="true" @@ -961,10 +967,10 @@ stamps/patch.stamp: stamps/patch-fsg.sta if ! test "x$(WITH_CACAO)" = "xno"; then \ echo "JDK_DERIVATIVE_NAME=$${icedtea_version}" \ >>openjdk/jdk/make/common/shared/Defs.gmk ; \ - echo "PRODUCT_NAME=IcedTea6" \ + echo "PRODUCT_NAME=$(ICEDTEA_NAME)" \ >>openjdk/jdk/make/common/shared/Defs.gmk ; \ else \ - echo "JDK_DERIVATIVE_NAME=IcedTea6 $${icedtea_version}" \ + echo "JDK_DERIVATIVE_NAME=$(ICEDTEA_NAME) $${icedtea_version}" \ >>openjdk/jdk/make/common/shared/Defs.gmk ; \ fi ; @@ -972,11 +978,11 @@ if HAS_JDK_REVISION echo "JDK_REVID=$(JDK_REVISION)" >>openjdk/jdk/make/common/shared/Defs.gmk ; endif - echo "DISTRO_NAME=$(DIST_NAME)" >>openjdk/jdk/make/common/shared/Defs.gmk ; \ - if [ -n "$(PKGVERSION)" ]; then \ + echo "DISTRO_NAME=$(DIST_NAME)" >>openjdk/jdk/make/common/shared/Defs.gmk ; +if HAS_PKGVERSION echo "DISTRO_PACKAGE_VERSION=$(PKGVERSION)" \ - >>openjdk/jdk/make/common/shared/Defs.gmk ; \ - fi + >>openjdk/jdk/make/common/shared/Defs.gmk ; +endif #FIXME (plugin): Don't do this copying if ENABLE_NPPLUGIN @@ -1489,8 +1495,7 @@ NPPLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedT $(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_OBJECTS)): $(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_SRC)) cd $(NPPLUGIN_DIR) && \ $(CXX) $(CXXFLAGS) \ - -DPACKAGE_VERSION="\"$(PACKAGE_VERSION)\"" \ - -DPLUGIN_VERSION="\"$(PACKAGE_VERSION)$(ICEDTEA_REV)\"" \ + -DPLUGIN_VERSION="\"$(PLUGIN_VERSION)\"" \ -DMOZILLA_VERSION_COLLAPSED="$(MOZILLA_VERSION_COLLAPSED)" \ $(GLIB_CFLAGS) \ $(GTK_CFLAGS) \ @@ -1521,14 +1526,8 @@ if ENABLE_PLUGIN # is listed before -l options. See: # http://developer.mozilla.org/en/docs/XPCOM_Glue IcedTeaPlugin.o: IcedTeaPlugin.cc - if [ -e $(abs_top_srcdir)/.hg ] && which $(HG) >/dev/null; then \ - revision="-r`(cd $(abs_top_srcdir); $(HG) tip --template '{rev}')`" ; \ - fi ; \ - if [ -n "$(PKGVERSION)" ]; then plugin_version=" ($(PKGVERSION))"; fi; \ - plugin_version=" $(PACKAGE_VERSION)$$revision$$plugin_version"; \ $(CXX) $(CXXFLAGS) \ - -DPACKAGE_VERSION="\"$(PACKAGE_VERSION)\"" \ - -DPLUGIN_VERSION="\"$$plugin_version\"" \ + -DPLUGIN_VERSION="\"$(PLUGIN_VERSION)\"" \ -DMOZILLA_VERSION_COLLAPSED="$(MOZILLA_VERSION_COLLAPSED)" \ $(GTK_CFLAGS) \ $(XULRUNNER_CFLAGS) \ diff -r fcd85ef6c2ae -r 7f40cc095348 acinclude.m4 --- a/acinclude.m4 Mon Jan 25 15:35:21 2010 +0000 +++ b/acinclude.m4 Mon Jan 25 19:42:12 2010 +0000 @@ -1146,15 +1146,33 @@ AC_SUBST(PARALLEL_JOBS) AC_SUBST(PARALLEL_JOBS) ]) -AC_DEFUN([IT_GET_LSB_DATA], -[ +AC_DEFUN_ONCE([IT_GET_PKGVERSION], +[ +AC_MSG_CHECKING([for distribution package version]) +AC_ARG_WITH([pkgversion], + [AS_HELP_STRING([--with-pkgversion=PKG], + [Use PKG in the version string in addition to "IcedTea"])], + [case "$withval" in + yes) AC_MSG_ERROR([package version not specified]) ;; + no) PKGVERSION=none ;; + *) PKGVERSION="$withval" ;; + esac], + [PKGVERSION=none]) +AC_MSG_RESULT([${PKGVERSION}]) +AM_CONDITIONAL(HAS_PKGVERSION, test "x${PKGVERSION}" != "xnone") +AC_SUBST(PKGVERSION) +]) + +AC_DEFUN_ONCE([IT_GET_LSB_DATA], +[ +AC_REQUIRE([IT_GET_PKGVERSION]) AC_MSG_CHECKING([build identification]) if test -n "$LSB_RELEASE"; then lsb_info="$($LSB_RELEASE -ds | sed 's/^"//;s/"$//')" - if test -n "$PKGVERSION"; then + if test "x$PKGVERSION" = "xnone"; then + DIST_ID="Built on $lsb_info ($(date))" + else DIST_ID="$lsb_info, package $PKGVERSION" - else - DIST_ID="Built on $lsb_info ($(date))" fi DIST_NAME="$($LSB_RELEASE -is | sed 's/^"//;s/"$//')" else @@ -1204,4 +1222,3 @@ AC_DEFUN_ONCE([IT_OBTAIN_HG_REVISIONS], AM_CONDITIONAL([HAS_JDK_REVISION], test "x${JDK_REVISION}" != xnone) AM_CONDITIONAL([HAS_HOTSPOT_REVISION], test "x${HOTSPOT_REVISION}" != xnone) ]) - diff -r fcd85ef6c2ae -r 7f40cc095348 configure.ac --- a/configure.ac Mon Jan 25 15:35:21 2010 +0000 +++ b/configure.ac Mon Jan 25 19:42:12 2010 +0000 @@ -166,17 +166,7 @@ AM_CONDITIONAL([ENABLE_NSS], [test x$ENA AM_CONDITIONAL([ENABLE_NSS], [test x$ENABLE_NSS = xyes]) AC_MSG_RESULT(${ENABLE_NSS}) -AC_ARG_WITH([pkgversion], - [AS_HELP_STRING([--with-pkgversion=PKG], - [Use PKG in the version string in addition to "IcedTea"])], - [case "$withval" in - yes) AC_MSG_ERROR([package version not specified]) ;; - no) PKGVERSION= ;; - *) PKGVERSION="$withval" ;; - esac], - [PKGVERSION=]) -AC_SUBST(PKGVERSION) - +IT_GET_PKGVERSION IT_GET_LSB_DATA SET_ARCH_DIRS diff -r fcd85ef6c2ae -r 7f40cc095348 plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Mon Jan 25 15:35:21 2010 +0000 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Mon Jan 25 19:42:12 2010 +0000 @@ -87,8 +87,8 @@ exception statement from your version. * __LINE__, g_thread_self (), first, second, third) // Plugin information passed to about:plugins. -#define PLUGIN_NAME "IcedTea NPR Web Browser Plugin (using IcedTea)" -#define PLUGIN_DESC "The " PLUGIN_NAME PLUGIN_VERSION " executes Java applets." +#define PLUGIN_NAME "IcedTea NPR Web Browser Plugin (using " PLUGIN_VERSION ")" +#define PLUGIN_DESC "The " PLUGIN_NAME " executes Java applets." #define PLUGIN_MIME_DESC \ "application/x-java-vm:class,jar:IcedTea;" \ @@ -2079,7 +2079,7 @@ NP_GetValue (void* future, NPPVariable v { case NPPVpluginNameString: PLUGIN_DEBUG_0ARG ("NP_GetValue: returning plugin name.\n"); - *char_value = g_strdup (PLUGIN_NAME " " PACKAGE_VERSION); + *char_value = g_strdup (PLUGIN_NAME); break; case NPPVpluginDescriptionString: From andrew at icedtea.classpath.org Mon Jan 25 13:59:19 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 25 Jan 2010 21:59:19 +0000 Subject: /hg/release/icedtea6-1.7: 4 new changesets Message-ID: changeset 59e7cd9e484f in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=59e7cd9e484f author: Andrew John Hughes date: Mon Jan 25 21:31:04 2010 +0000 Make new plugin support more platforms. 2010-01-22 Deepak Bhole * Makefile.am: Use MOZILLA_CFLAGS/LIBS rather than XULRUNNER. * configure.ac: Check for Mozilla not XULrunner. Bring in libxul-unstable as well. * plugin/icedteanp/IcedTeaNPPlugin.cc: Use PRInt32 rather than PRInt32_t for port. changeset 8813aa891981 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=8813aa891981 author: Andrew John Hughes date: Mon Jan 25 21:49:03 2010 +0000 Build NPPlugin in the correct place. 2010-01-25 Andrew John Hughes * Makefile.am: Build NPPlugin in the build directory, not the source tree. changeset c836d8e37beb in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=c836d8e37beb author: Andrew John Hughes date: Mon Jan 25 21:52:19 2010 +0000 Fix trailing space after plugin version when pkgversion not set. 2010-01-25 Andrew John Hughes * Makefile.am: Remove trailing space after IcedTea version in plugin version information when package version is not set. changeset 5ac24157f4ba in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=5ac24157f4ba author: Andrew John Hughes date: Mon Jan 25 21:59:04 2010 +0000 Provide a plugin alias depending on the appropriate plugin stamp. 2010-01-25 Andrew John Hughes * Makefile.am: Provide stamp targets for both npplugin and the old plugin so 'make plugin' builds the one configured. diffstat: 4 files changed, 61 insertions(+), 15 deletions(-) ChangeLog | 31 +++++++++++++++++++++++++++++ Makefile.am | 37 ++++++++++++++++++++++++----------- configure.ac | 6 ++--- plugin/icedteanp/IcedTeaNPPlugin.cc | 2 - diffs (172 lines): diff -r 4336498d14b4 -r 5ac24157f4ba ChangeLog --- a/ChangeLog Mon Jan 25 19:42:12 2010 +0000 +++ b/ChangeLog Mon Jan 25 21:59:04 2010 +0000 @@ -1,3 +1,34 @@ 2010-01-25 Andrew John Hughes + + * Makefile.am: + Provide stamp targets for both npplugin + and the old plugin so 'make plugin' builds + the one configured. + +2010-01-25 Andrew John Hughes + + * Makefile.am: + Remove trailing space after IcedTea version + in plugin version information when package + version is not set. + +2010-01-25 Andrew John Hughes + + * Makefile.am: + Build NPPlugin in the build directory, + not the source tree. + +2010-01-22 Deepak Bhole + + * Makefile.am: + Use MOZILLA_CFLAGS/LIBS rather than + XULRUNNER. + * configure.ac: + Check for Mozilla not XULrunner. + Bring in libxul-unstable as well. + * plugin/icedteanp/IcedTeaNPPlugin.cc: + Use PRInt32 rather than PRInt32_t for port. + 2010-01-25 Andrew John Hughes * IcedTeaPlugin.cc: diff -r 4336498d14b4 -r 5ac24157f4ba Makefile.am --- a/Makefile.am Mon Jan 25 19:42:12 2010 +0000 +++ b/Makefile.am Mon Jan 25 21:59:04 2010 +0000 @@ -116,7 +116,8 @@ ICEDTEAPLUGIN_TARGET = stamps/icedtea-np ICEDTEAPLUGIN_TARGET = stamps/icedtea-npplugin PLUGIN_PATCH = patches/icedtea-liveconnect.patch LIVECONNECT_DIR = -C lib/rt netscape -NPPLUGIN_DIR=$(abs_top_srcdir)/plugin/icedteanp +NPPLUGIN_DIR=$(abs_top_builddir)/plugin/icedteanp +NPPLUGIN_SRCDIR=$(abs_top_srcdir)/plugin/icedteanp LIVECONNECT_SRCS = $(NPPLUGIN_DIR)/java else if ENABLE_PLUGIN @@ -386,10 +387,10 @@ ICEDTEA_REV="+${ICEDTEA_REVISION}" ICEDTEA_REV="+${ICEDTEA_REVISION}" endif if HAS_PKGVERSION -ICEDTEA_PKG="(${PKGVERSION})" -endif - -PLUGIN_VERSION=$(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV) $(ICEDTEA_PKG) +ICEDTEA_PKG=" (${PKGVERSION})" +endif + +PLUGIN_VERSION=$(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV)$(ICEDTEA_PKG) ICEDTEA_ENV = \ IMPORT_BINARY_PLUGS=true \ @@ -1489,7 +1490,8 @@ NPPLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedT IcedTeaJavaRequestProcessor.o IcedTeaPluginRequestProcessor.o \ IcedTeaPluginUtils.o -$(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_OBJECTS)): $(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_SRC)) +$(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_OBJECTS)): $(addprefix $(NPPLUGIN_SRCDIR)/,$(NPPLUGIN_SRC)) + mkdir -p $(NPPLUGIN_DIR) && \ cd $(NPPLUGIN_DIR) && \ $(CXX) $(CXXFLAGS) \ -DPLUGIN_VERSION="\"$(PLUGIN_VERSION)\"" \ @@ -1497,7 +1499,7 @@ NPPLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedT $(GLIB_CFLAGS) \ $(GTK_CFLAGS) \ $(MOZILLA_CFLAGS) \ - -fPIC -c $(NPPLUGIN_SRC) + -fPIC -c $(addprefix $(NPPLUGIN_SRCDIR)/,$(NPPLUGIN_SRC)) $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so: $(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_OBJECTS)) cd $(NPPLUGIN_DIR) && \ @@ -1508,8 +1510,9 @@ NPPLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedT $(MOZILLA_LIBS)\ -shared -o $@ -stamps/icedtea-npplugin: $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so - touch stamps/icedtea-npplugin +stamps/icedtea-npplugin.stamp: $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so + mkdir -p stamps + touch stamps/icedtea-npplugin.stamp clean-IcedTeaNPPlugin: cd $(NPPLUGIN_DIR);\ @@ -1527,14 +1530,18 @@ IcedTeaPlugin.o: IcedTeaPlugin.cc -DPLUGIN_VERSION="\"$(PLUGIN_VERSION)\"" \ -DMOZILLA_VERSION_COLLAPSED="$(MOZILLA_VERSION_COLLAPSED)" \ $(GTK_CFLAGS) \ - $(XULRUNNER_CFLAGS) \ + $(MOZILLA_CFLAGS) \ -fPIC -c -o $@ $< IcedTeaPlugin.so: IcedTeaPlugin.o $(CXX) $(CXXFLAGS) \ $< \ $(GTK_LIBS) \ - $(XULRUNNER_LIBS) \ + $(MOZILLA_LIBS) \ -shared -o $@ + +stamps/icedtea-plugin.stamp: IcedTeaPlugin.so + mkdir -p stamps + touch stamps/icedtea-plugin.stamp clean-IcedTeaPlugin: rm -f IcedTeaPlugin.o @@ -2216,3 +2223,11 @@ clean: distclean-local clean: distclean-local jtreg: stamps/jtreg.stamp + +if ENABLE_NPPLUGIN +plugin: stamps/icedtea-npplugin.stamp +else +if ENABLE_PLUGIN +plugin: stamps/icedtea-plugin.stamp +endif +endif diff -r 4336498d14b4 -r 5ac24157f4ba configure.ac --- a/configure.ac Mon Jan 25 19:42:12 2010 +0000 +++ b/configure.ac Mon Jan 25 21:59:04 2010 +0000 @@ -419,7 +419,7 @@ dnl FIXME: use unstable dnl FIXME: use unstable if test "x${enable_plugin}" = "xyes" then - PKG_CHECK_MODULES(XULRUNNER, \ + PKG_CHECK_MODULES(MOZILLA, \ nspr mozilla-js mozilla-plugin libxul-unstable >= 1.9) PKG_CHECK_MODULES(GTK, gtk+-2.0) PKG_CHECK_MODULES(GLIB, glib-2.0) @@ -435,7 +435,7 @@ if test "x${enable_npplugin}" = "xyes" if test "x${enable_npplugin}" = "xyes" then PKG_CHECK_MODULES(MOZILLA, \ - mozilla-plugin libxul) + mozilla-plugin libxul libxul-unstable) PKG_CHECK_MODULES(GTK, gtk+-2.0) PKG_CHECK_MODULES(GLIB, glib-2.0) @@ -451,7 +451,7 @@ then then AC_LANG_PUSH([C++]) OLDCPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $XULRUNNER_CFLAGS" + CPPFLAGS="$CPPFLAGS $MOZILLA_CFLAGS" AC_CACHE_CHECK([for xulrunner version], [xulrunner_cv_collapsed_version], [AC_RUN_IFELSE( diff -r 4336498d14b4 -r 5ac24157f4ba plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Mon Jan 25 19:42:12 2010 +0000 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Mon Jan 25 21:59:04 2010 +0000 @@ -1336,7 +1336,7 @@ get_proxy_info(const char* siteAddr, cha // if proxy info is available, extract it nsCString phost; - PRint32_t pport; + PRInt32 pport; nsCString ptype; info->GetHost(phost); From andrew at icedtea.classpath.org Mon Jan 25 14:00:30 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 25 Jan 2010 22:00:30 +0000 Subject: /hg/icedtea6: 4 new changesets Message-ID: changeset 36726dd810a7 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=36726dd810a7 author: Andrew John Hughes date: Mon Jan 25 21:31:04 2010 +0000 Make new plugin support more platforms. 2010-01-22 Deepak Bhole * Makefile.am: Use MOZILLA_CFLAGS/LIBS rather than XULRUNNER. * configure.ac: Check for Mozilla not XULrunner. Bring in libxul-unstable as well. * plugin/icedteanp/IcedTeaNPPlugin.cc: Use PRInt32 rather than PRInt32_t for port. changeset b0df194e92bb in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=b0df194e92bb author: Andrew John Hughes date: Mon Jan 25 21:49:03 2010 +0000 Build NPPlugin in the correct place. 2010-01-25 Andrew John Hughes * Makefile.am: Build NPPlugin in the build directory, not the source tree. changeset 73f992e2b417 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=73f992e2b417 author: Andrew John Hughes date: Mon Jan 25 21:52:19 2010 +0000 Fix trailing space after plugin version when pkgversion not set. 2010-01-25 Andrew John Hughes * Makefile.am: Remove trailing space after IcedTea version in plugin version information when package version is not set. changeset ae4a9516faec in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=ae4a9516faec author: Andrew John Hughes date: Mon Jan 25 21:59:04 2010 +0000 Provide a plugin alias depending on the appropriate plugin stamp. 2010-01-25 Andrew John Hughes * Makefile.am: Provide stamp targets for both npplugin and the old plugin so 'make plugin' builds the one configured. diffstat: 4 files changed, 61 insertions(+), 15 deletions(-) ChangeLog | 31 +++++++++++++++++++++++++++++ Makefile.am | 37 ++++++++++++++++++++++++----------- configure.ac | 6 ++--- plugin/icedteanp/IcedTeaNPPlugin.cc | 2 - diffs (172 lines): diff -r 7f40cc095348 -r ae4a9516faec ChangeLog --- a/ChangeLog Mon Jan 25 19:42:12 2010 +0000 +++ b/ChangeLog Mon Jan 25 21:59:04 2010 +0000 @@ -1,3 +1,34 @@ 2010-01-25 Andrew John Hughes + + * Makefile.am: + Provide stamp targets for both npplugin + and the old plugin so 'make plugin' builds + the one configured. + +2010-01-25 Andrew John Hughes + + * Makefile.am: + Remove trailing space after IcedTea version + in plugin version information when package + version is not set. + +2010-01-25 Andrew John Hughes + + * Makefile.am: + Build NPPlugin in the build directory, + not the source tree. + +2010-01-22 Deepak Bhole + + * Makefile.am: + Use MOZILLA_CFLAGS/LIBS rather than + XULRUNNER. + * configure.ac: + Check for Mozilla not XULrunner. + Bring in libxul-unstable as well. + * plugin/icedteanp/IcedTeaNPPlugin.cc: + Use PRInt32 rather than PRInt32_t for port. + 2010-01-25 Andrew John Hughes * IcedTeaPlugin.cc: diff -r 7f40cc095348 -r ae4a9516faec Makefile.am --- a/Makefile.am Mon Jan 25 19:42:12 2010 +0000 +++ b/Makefile.am Mon Jan 25 21:59:04 2010 +0000 @@ -116,7 +116,8 @@ ICEDTEAPLUGIN_TARGET = stamps/icedtea-np ICEDTEAPLUGIN_TARGET = stamps/icedtea-npplugin PLUGIN_PATCH = patches/icedtea-liveconnect.patch LIVECONNECT_DIR = -C lib/rt netscape -NPPLUGIN_DIR=$(abs_top_srcdir)/plugin/icedteanp +NPPLUGIN_DIR=$(abs_top_builddir)/plugin/icedteanp +NPPLUGIN_SRCDIR=$(abs_top_srcdir)/plugin/icedteanp LIVECONNECT_SRCS = $(NPPLUGIN_DIR)/java else if ENABLE_PLUGIN @@ -389,10 +390,10 @@ ICEDTEA_REV="+${ICEDTEA_REVISION}" ICEDTEA_REV="+${ICEDTEA_REVISION}" endif if HAS_PKGVERSION -ICEDTEA_PKG="(${PKGVERSION})" -endif - -PLUGIN_VERSION=$(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV) $(ICEDTEA_PKG) +ICEDTEA_PKG=" (${PKGVERSION})" +endif + +PLUGIN_VERSION=$(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV)$(ICEDTEA_PKG) ICEDTEA_ENV = \ IMPORT_BINARY_PLUGS=true \ @@ -1492,7 +1493,8 @@ NPPLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedT IcedTeaJavaRequestProcessor.o IcedTeaPluginRequestProcessor.o \ IcedTeaPluginUtils.o -$(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_OBJECTS)): $(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_SRC)) +$(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_OBJECTS)): $(addprefix $(NPPLUGIN_SRCDIR)/,$(NPPLUGIN_SRC)) + mkdir -p $(NPPLUGIN_DIR) && \ cd $(NPPLUGIN_DIR) && \ $(CXX) $(CXXFLAGS) \ -DPLUGIN_VERSION="\"$(PLUGIN_VERSION)\"" \ @@ -1500,7 +1502,7 @@ NPPLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedT $(GLIB_CFLAGS) \ $(GTK_CFLAGS) \ $(MOZILLA_CFLAGS) \ - -fPIC -c $(NPPLUGIN_SRC) + -fPIC -c $(addprefix $(NPPLUGIN_SRCDIR)/,$(NPPLUGIN_SRC)) $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so: $(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_OBJECTS)) cd $(NPPLUGIN_DIR) && \ @@ -1511,8 +1513,9 @@ NPPLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedT $(MOZILLA_LIBS)\ -shared -o $@ -stamps/icedtea-npplugin: $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so - touch stamps/icedtea-npplugin +stamps/icedtea-npplugin.stamp: $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so + mkdir -p stamps + touch stamps/icedtea-npplugin.stamp clean-IcedTeaNPPlugin: cd $(NPPLUGIN_DIR);\ @@ -1530,14 +1533,18 @@ IcedTeaPlugin.o: IcedTeaPlugin.cc -DPLUGIN_VERSION="\"$(PLUGIN_VERSION)\"" \ -DMOZILLA_VERSION_COLLAPSED="$(MOZILLA_VERSION_COLLAPSED)" \ $(GTK_CFLAGS) \ - $(XULRUNNER_CFLAGS) \ + $(MOZILLA_CFLAGS) \ -fPIC -c -o $@ $< IcedTeaPlugin.so: IcedTeaPlugin.o $(CXX) $(CXXFLAGS) \ $< \ $(GTK_LIBS) \ - $(XULRUNNER_LIBS) \ + $(MOZILLA_LIBS) \ -shared -o $@ + +stamps/icedtea-plugin.stamp: IcedTeaPlugin.so + mkdir -p stamps + touch stamps/icedtea-plugin.stamp clean-IcedTeaPlugin: rm -f IcedTeaPlugin.o @@ -2219,3 +2226,11 @@ clean: distclean-local clean: distclean-local jtreg: stamps/jtreg.stamp + +if ENABLE_NPPLUGIN +plugin: stamps/icedtea-npplugin.stamp +else +if ENABLE_PLUGIN +plugin: stamps/icedtea-plugin.stamp +endif +endif diff -r 7f40cc095348 -r ae4a9516faec configure.ac --- a/configure.ac Mon Jan 25 19:42:12 2010 +0000 +++ b/configure.ac Mon Jan 25 21:59:04 2010 +0000 @@ -418,7 +418,7 @@ dnl FIXME: use unstable dnl FIXME: use unstable if test "x${enable_plugin}" = "xyes" then - PKG_CHECK_MODULES(XULRUNNER, \ + PKG_CHECK_MODULES(MOZILLA, \ nspr mozilla-js mozilla-plugin libxul-unstable >= 1.9) PKG_CHECK_MODULES(GTK, gtk+-2.0) PKG_CHECK_MODULES(GLIB, glib-2.0) @@ -434,7 +434,7 @@ if test "x${enable_npplugin}" = "xyes" if test "x${enable_npplugin}" = "xyes" then PKG_CHECK_MODULES(MOZILLA, \ - mozilla-plugin libxul) + mozilla-plugin libxul libxul-unstable) PKG_CHECK_MODULES(GTK, gtk+-2.0) PKG_CHECK_MODULES(GLIB, glib-2.0) @@ -450,7 +450,7 @@ then then AC_LANG_PUSH([C++]) OLDCPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $XULRUNNER_CFLAGS" + CPPFLAGS="$CPPFLAGS $MOZILLA_CFLAGS" AC_CACHE_CHECK([for xulrunner version], [xulrunner_cv_collapsed_version], [AC_RUN_IFELSE( diff -r 7f40cc095348 -r ae4a9516faec plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Mon Jan 25 19:42:12 2010 +0000 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Mon Jan 25 21:59:04 2010 +0000 @@ -1336,7 +1336,7 @@ get_proxy_info(const char* siteAddr, cha // if proxy info is available, extract it nsCString phost; - PRint32_t pport; + PRInt32 pport; nsCString ptype; info->GetHost(phost); From andrew at icedtea.classpath.org Mon Jan 25 14:45:23 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 25 Jan 2010 22:45:23 +0000 Subject: /hg/icedtea6: Obtain Java plugin sources from NPPLUGIN_SRCDIR no... Message-ID: changeset 8de40d0c722a in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=8de40d0c722a author: Andrew John Hughes date: Mon Jan 25 22:45:06 2010 +0000 Obtain Java plugin sources from NPPLUGIN_SRCDIR not NPPLUGIN_DIR. 2010-01-25 Andrew John Hughes * Makefile.am: Use NPPLUGIN_SRCDIR for Java plugin sources. diffstat: 2 files changed, 6 insertions(+), 1 deletion(-) ChangeLog | 5 +++++ Makefile.am | 2 +- diffs (24 lines): diff -r ae4a9516faec -r 8de40d0c722a ChangeLog --- a/ChangeLog Mon Jan 25 21:59:04 2010 +0000 +++ b/ChangeLog Mon Jan 25 22:45:06 2010 +0000 @@ -1,3 +1,8 @@ 2010-01-25 Andrew John Hughes + + * Makefile.am: + Use NPPLUGIN_SRCDIR for Java plugin sources. + 2010-01-25 Andrew John Hughes * Makefile.am: diff -r ae4a9516faec -r 8de40d0c722a Makefile.am --- a/Makefile.am Mon Jan 25 21:59:04 2010 +0000 +++ b/Makefile.am Mon Jan 25 22:45:06 2010 +0000 @@ -118,7 +118,7 @@ LIVECONNECT_DIR = -C lib/rt netscape LIVECONNECT_DIR = -C lib/rt netscape NPPLUGIN_DIR=$(abs_top_builddir)/plugin/icedteanp NPPLUGIN_SRCDIR=$(abs_top_srcdir)/plugin/icedteanp -LIVECONNECT_SRCS = $(NPPLUGIN_DIR)/java +LIVECONNECT_SRCS = $(NPPLUGIN_SRCDIR)/java else if ENABLE_PLUGIN ICEDTEAPLUGIN_CLEAN = clean-IcedTeaPlugin From andrew at icedtea.classpath.org Mon Jan 25 15:03:40 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 25 Jan 2010 23:03:40 +0000 Subject: /hg/icedtea6: Fix ICEDTEAPLUGIN_TARGET and remove redundant ICED... Message-ID: changeset dc097bf9130b in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=dc097bf9130b author: Andrew John Hughes date: Mon Jan 25 23:03:23 2010 +0000 Fix ICEDTEAPLUGIN_TARGET and remove redundant ICEDTEANPPLUGIN_TARGET. 2010-01-25 Andrew John Hughes * Makefile.am: Fix ICEDTEAPLUGIN_TARGET to use new stamp targets and remove redundant ICEDTEANPPPLUGIN_TARGET. diffstat: 2 files changed, 12 insertions(+), 11 deletions(-) ChangeLog | 7 +++++++ Makefile.am | 16 +++++----------- diffs (65 lines): diff -r 8de40d0c722a -r dc097bf9130b ChangeLog --- a/ChangeLog Mon Jan 25 22:45:06 2010 +0000 +++ b/ChangeLog Mon Jan 25 23:03:23 2010 +0000 @@ -1,3 +1,10 @@ 2010-01-25 Andrew John Hughes + + * Makefile.am: + Fix ICEDTEAPLUGIN_TARGET to use new + stamp targets and remove redundant + ICEDTEANPPPLUGIN_TARGET. + 2010-01-25 Andrew John Hughes * Makefile.am: diff -r 8de40d0c722a -r dc097bf9130b Makefile.am --- a/Makefile.am Mon Jan 25 22:45:06 2010 +0000 +++ b/Makefile.am Mon Jan 25 23:03:23 2010 +0000 @@ -113,7 +113,7 @@ endif # FIXME (plugin): NPPLUGIN_DIR becomes PLUGIN_DIR if ENABLE_NPPLUGIN ICEDTEAPLUGIN_CLEAN = clean-IcedTeaNPPlugin -ICEDTEAPLUGIN_TARGET = stamps/icedtea-npplugin +ICEDTEAPLUGIN_TARGET = stamps/icedtea-npplugin.stamp PLUGIN_PATCH = patches/icedtea-liveconnect.patch LIVECONNECT_DIR = -C lib/rt netscape NPPLUGIN_DIR=$(abs_top_builddir)/plugin/icedteanp @@ -122,7 +122,7 @@ else else if ENABLE_PLUGIN ICEDTEAPLUGIN_CLEAN = clean-IcedTeaPlugin -ICEDTEAPLUGIN_TARGET = IcedTeaPlugin.so +ICEDTEAPLUGIN_TARGET = stamps/icedtea-plugin.stamp PLUGIN_PATCH = patches/icedtea-liveconnect.patch LIVECONNECT_DIR = -C lib/rt netscape NPPLUGIN_DIR = @@ -1212,7 +1212,7 @@ stamps/icedtea.stamp: stamps/bootstrap-d stamps/icedtea.stamp: stamps/bootstrap-directory-symlink.stamp \ stamps/hotspot-tools.stamp stamps/plugs.stamp \ stamps/ports.stamp stamps/patch.stamp stamps/overlay.stamp \ - $(ICEDTEAPLUGIN_TARGET) $(ICEDTEANPPLUGIN_TARGET) \ + $(ICEDTEAPLUGIN_TARGET) \ extra-lib/about.jar stamps/cacao.stamp stamps/visualvm.stamp \ stamps/pulse-java.stamp $(ARCH_PREFIX) $(MAKE) \ @@ -1311,7 +1311,7 @@ stamps/icedtea-debug.stamp: stamps/boots stamps/icedtea-debug.stamp: stamps/bootstrap-directory-symlink.stamp \ stamps/hotspot-tools.stamp stamps/plugs.stamp \ stamps/ports.stamp stamps/patch.stamp stamps/overlay.stamp \ - $(ICEDTEAPLUGIN_TARGET) $(ICEDTEANPPLUGIN_TARGET) \ + $(ICEDTEAPLUGIN_TARGET) \ extra-lib/about.jar stamps/cacao.stamp stamps/visualvm.stamp \ stamps/pulse-java.stamp $(ARCH_PREFIX) $(MAKE) \ @@ -2227,10 +2227,4 @@ clean: distclean-local jtreg: stamps/jtreg.stamp -if ENABLE_NPPLUGIN -plugin: stamps/icedtea-npplugin.stamp -else -if ENABLE_PLUGIN -plugin: stamps/icedtea-plugin.stamp -endif -endif +plugin: $(ICEDTEAPLUGIN_TARGET) From andrew at icedtea.classpath.org Mon Jan 25 15:06:46 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 25 Jan 2010 23:06:46 +0000 Subject: /hg/release/icedtea6-1.7: 3 new changesets Message-ID: changeset 418e2d193a98 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=418e2d193a98 author: Andrew John Hughes date: Mon Jan 25 23:05:52 2010 +0000 Build source files of NPPlugin separately. 2010-01-25 Andrew John Hughes * Makefile.am: Build NPPlugin source files separately. changeset 3cb8dabb257e in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=3cb8dabb257e author: Andrew John Hughes date: Mon Jan 25 22:45:06 2010 +0000 Obtain Java plugin sources from NPPLUGIN_SRCDIR not NPPLUGIN_DIR. 2010-01-25 Andrew John Hughes * Makefile.am: Use NPPLUGIN_SRCDIR for Java plugin sources. changeset 7ca090cc0c9b in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=7ca090cc0c9b author: Andrew John Hughes date: Mon Jan 25 23:03:23 2010 +0000 Fix ICEDTEAPLUGIN_TARGET and remove redundant ICEDTEANPPLUGIN_TARGET. 2010-01-25 Andrew John Hughes * Makefile.am: Fix ICEDTEAPLUGIN_TARGET to use new stamp targets and remove redundant ICEDTEANPPPLUGIN_TARGET. diffstat: 2 files changed, 25 insertions(+), 14 deletions(-) ChangeLog | 17 +++++++++++++++++ Makefile.am | 22 ++++++++-------------- diffs (95 lines): diff -r 5ac24157f4ba -r 7ca090cc0c9b ChangeLog --- a/ChangeLog Mon Jan 25 21:59:04 2010 +0000 +++ b/ChangeLog Mon Jan 25 23:03:23 2010 +0000 @@ -1,3 +1,20 @@ 2010-01-25 Andrew John Hughes + + * Makefile.am: + Fix ICEDTEAPLUGIN_TARGET to use new + stamp targets and remove redundant + ICEDTEANPPPLUGIN_TARGET. + +2010-01-25 Andrew John Hughes + + * Makefile.am: + Use NPPLUGIN_SRCDIR for Java plugin sources. + +2010-01-25 Andrew John Hughes + + * Makefile.am: + Build NPPlugin source files separately. + 2010-01-25 Andrew John Hughes * Makefile.am: diff -r 5ac24157f4ba -r 7ca090cc0c9b Makefile.am --- a/Makefile.am Mon Jan 25 21:59:04 2010 +0000 +++ b/Makefile.am Mon Jan 25 23:03:23 2010 +0000 @@ -113,16 +113,16 @@ endif # FIXME (plugin): NPPLUGIN_DIR becomes PLUGIN_DIR if ENABLE_NPPLUGIN ICEDTEAPLUGIN_CLEAN = clean-IcedTeaNPPlugin -ICEDTEAPLUGIN_TARGET = stamps/icedtea-npplugin +ICEDTEAPLUGIN_TARGET = stamps/icedtea-npplugin.stamp PLUGIN_PATCH = patches/icedtea-liveconnect.patch LIVECONNECT_DIR = -C lib/rt netscape NPPLUGIN_DIR=$(abs_top_builddir)/plugin/icedteanp NPPLUGIN_SRCDIR=$(abs_top_srcdir)/plugin/icedteanp -LIVECONNECT_SRCS = $(NPPLUGIN_DIR)/java +LIVECONNECT_SRCS = $(NPPLUGIN_SRCDIR)/java else if ENABLE_PLUGIN ICEDTEAPLUGIN_CLEAN = clean-IcedTeaPlugin -ICEDTEAPLUGIN_TARGET = IcedTeaPlugin.so +ICEDTEAPLUGIN_TARGET = stamps/icedtea-plugin.stamp PLUGIN_PATCH = patches/icedtea-liveconnect.patch LIVECONNECT_DIR = -C lib/rt netscape NPPLUGIN_DIR = @@ -1209,7 +1209,7 @@ stamps/icedtea.stamp: stamps/bootstrap-d stamps/icedtea.stamp: stamps/bootstrap-directory-symlink.stamp \ stamps/hotspot-tools.stamp stamps/plugs.stamp \ stamps/ports.stamp stamps/patch.stamp stamps/overlay.stamp \ - $(ICEDTEAPLUGIN_TARGET) $(ICEDTEANPPLUGIN_TARGET) \ + $(ICEDTEAPLUGIN_TARGET) \ extra-lib/about.jar stamps/cacao.stamp stamps/visualvm.stamp \ stamps/pulse-java.stamp $(ARCH_PREFIX) $(MAKE) \ @@ -1308,7 +1308,7 @@ stamps/icedtea-debug.stamp: stamps/boots stamps/icedtea-debug.stamp: stamps/bootstrap-directory-symlink.stamp \ stamps/hotspot-tools.stamp stamps/plugs.stamp \ stamps/ports.stamp stamps/patch.stamp stamps/overlay.stamp \ - $(ICEDTEAPLUGIN_TARGET) $(ICEDTEANPPLUGIN_TARGET) \ + $(ICEDTEAPLUGIN_TARGET) \ extra-lib/about.jar stamps/cacao.stamp stamps/visualvm.stamp \ stamps/pulse-java.stamp $(ARCH_PREFIX) $(MAKE) \ @@ -1490,7 +1490,7 @@ NPPLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedT IcedTeaJavaRequestProcessor.o IcedTeaPluginRequestProcessor.o \ IcedTeaPluginUtils.o -$(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_OBJECTS)): $(addprefix $(NPPLUGIN_SRCDIR)/,$(NPPLUGIN_SRC)) +$(NPPLUGIN_DIR)/%.o: $(NPPLUGIN_SRCDIR)/%.cc mkdir -p $(NPPLUGIN_DIR) && \ cd $(NPPLUGIN_DIR) && \ $(CXX) $(CXXFLAGS) \ @@ -1499,7 +1499,7 @@ NPPLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedT $(GLIB_CFLAGS) \ $(GTK_CFLAGS) \ $(MOZILLA_CFLAGS) \ - -fPIC -c $(addprefix $(NPPLUGIN_SRCDIR)/,$(NPPLUGIN_SRC)) + -fPIC -o $@ -c $< $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so: $(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_OBJECTS)) cd $(NPPLUGIN_DIR) && \ @@ -2224,10 +2224,4 @@ clean: distclean-local jtreg: stamps/jtreg.stamp -if ENABLE_NPPLUGIN -plugin: stamps/icedtea-npplugin.stamp -else -if ENABLE_PLUGIN -plugin: stamps/icedtea-plugin.stamp -endif -endif +plugin: $(ICEDTEAPLUGIN_TARGET) From andrew at icedtea.classpath.org Mon Jan 25 15:08:31 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 25 Jan 2010 23:08:31 +0000 Subject: /hg/icedtea6: Build source files of NPPlugin separately. Message-ID: changeset 51f89f2b360e in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=51f89f2b360e author: Andrew John Hughes date: Mon Jan 25 23:05:52 2010 +0000 Build source files of NPPlugin separately. 2010-01-25 Andrew John Hughes * Makefile.am: Build NPPlugin source files separately. diffstat: 2 files changed, 7 insertions(+), 2 deletions(-) ChangeLog | 5 +++++ Makefile.am | 4 ++-- diffs (33 lines): diff -r dc097bf9130b -r 51f89f2b360e ChangeLog --- a/ChangeLog Mon Jan 25 23:03:23 2010 +0000 +++ b/ChangeLog Mon Jan 25 23:05:52 2010 +0000 @@ -1,3 +1,8 @@ 2010-01-25 Andrew John Hughes + + * Makefile.am: + Build NPPlugin source files separately. + 2010-01-25 Andrew John Hughes * Makefile.am: diff -r dc097bf9130b -r 51f89f2b360e Makefile.am --- a/Makefile.am Mon Jan 25 23:03:23 2010 +0000 +++ b/Makefile.am Mon Jan 25 23:05:52 2010 +0000 @@ -1493,7 +1493,7 @@ NPPLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedT IcedTeaJavaRequestProcessor.o IcedTeaPluginRequestProcessor.o \ IcedTeaPluginUtils.o -$(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_OBJECTS)): $(addprefix $(NPPLUGIN_SRCDIR)/,$(NPPLUGIN_SRC)) +$(NPPLUGIN_DIR)/%.o: $(NPPLUGIN_SRCDIR)/%.cc mkdir -p $(NPPLUGIN_DIR) && \ cd $(NPPLUGIN_DIR) && \ $(CXX) $(CXXFLAGS) \ @@ -1502,7 +1502,7 @@ NPPLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedT $(GLIB_CFLAGS) \ $(GTK_CFLAGS) \ $(MOZILLA_CFLAGS) \ - -fPIC -c $(addprefix $(NPPLUGIN_SRCDIR)/,$(NPPLUGIN_SRC)) + -fPIC -o $@ -c $< $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so: $(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_OBJECTS)) cd $(NPPLUGIN_DIR) && \ From bugzilla-daemon at icedtea.classpath.org Tue Jan 26 02:56:54 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 26 Jan 2010 10:56:54 +0000 Subject: [Bug 434] Shark on ARM SIGSEGV from null pointer in $r2 instead of %stack_pointer_addr Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=434 ------- Comment #5 from xerxes at zafena.se 2010-01-26 10:56 ------- Created an attachment (id=286) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=286&action=view) gdb singlestep tracing annotated with registry content and basic block numbers the crash happens when the code takes the execution path bb5 -> bb0 -> bb1 -> bb3 -> bb5 -> bb0 (crash) smells like llvm codegen bug that llvm forgets to backup lr when calling bb0 from bb5 so that bb5 return to bb0 instead of bb2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jan 26 03:01:44 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 26 Jan 2010 11:01:44 +0000 Subject: [Bug 434] Shark on ARM SIGSEGV from null pointer in $r2 instead of THREAD Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=434 xerxes at zafena.se changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Shark on ARM SIGSEGV from |Shark on ARM SIGSEGV from |null pointer in $r2 instead |null pointer in $r2 instead |of %stack_pointer_addr |of THREAD ------- Comment #6 from xerxes at zafena.se 2010-01-26 11:01 ------- (In reply to comment #5) > Created an attachment (id=286) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=286&action=view) [details] > gdb singlestep tracing annotated with registry content and basic block numbers > > the crash happens when the code takes the execution path > bb5 -> bb0 -> bb1 -> bb3 -> bb5 -> bb0 (crash) > > smells like llvm codegen bug that llvm forgets to backup lr when calling bb0 > from bb5 so that bb5 return to bb0 instead of bb2 > sory i mean bb2 -> bb0 -> bb1 -> bb3 -> bb5 -> bb0 (crash) smells like llvm codegen bug that llvm forgets to backup lr when calling bb0 from bb2 so that bb5 return to bb0 instead of bb2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From andrew at icedtea.classpath.org Tue Jan 26 11:47:23 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 26 Jan 2010 19:47:23 +0000 Subject: /hg/release/icedtea6-1.7: Enable the new plugin by default for x... Message-ID: changeset 5a04427d184c in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=5a04427d184c author: Andrew John Hughes date: Tue Jan 26 19:45:53 2010 +0000 Enable the new plugin by default for xulrunner >= 1.9.2 and don't use libxul-unstable in such cases. 2010-01-25 Andrew John Hughes * acinclude.m4: (IT_CHECK_OLD_PLUGIN): New macro for --enable/disable-plugin. (IT_CHECK_NEW_PLUGIN): Likewise for --enable/disable-npplugin. (IT_CHECK_PLUGIN_DEPENDENCIES): New macro to run pkg-config checks. Enables the new plugin if xulrunner 1.9.2 or above is detected. (IT_CHECK_XULRUNNER_VERSION): Obtain the XULrunner vgersion for MOZILLA_VERSION_COLLAPSED. * configure.ac: Replace old plugin stuff with a single call to IT_CHECK_XULRUNNER_VERSION (which depends on the other macros). diffstat: 3 files changed, 142 insertions(+), 99 deletions(-) ChangeLog | 18 ++++++++ acinclude.m4 | 123 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ configure.ac | 100 ----------------------------------------------- diffs (279 lines): diff -r 7ca090cc0c9b -r 5a04427d184c ChangeLog --- a/ChangeLog Mon Jan 25 23:03:23 2010 +0000 +++ b/ChangeLog Tue Jan 26 19:45:53 2010 +0000 @@ -1,3 +1,21 @@ 2010-01-25 Andrew John Hughes + + * acinclude.m4: + (IT_CHECK_OLD_PLUGIN): New macro for + --enable/disable-plugin. + (IT_CHECK_NEW_PLUGIN): Likewise for + --enable/disable-npplugin. + (IT_CHECK_PLUGIN_DEPENDENCIES): New macro + to run pkg-config checks. Enables the new + plugin if xulrunner 1.9.2 or above is + detected. + (IT_CHECK_XULRUNNER_VERSION): Obtain the + XULrunner vgersion for MOZILLA_VERSION_COLLAPSED. + * configure.ac: + Replace old plugin stuff with a single call + to IT_CHECK_XULRUNNER_VERSION (which depends + on the other macros). + 2010-01-25 Andrew John Hughes * Makefile.am: diff -r 7ca090cc0c9b -r 5a04427d184c acinclude.m4 --- a/acinclude.m4 Mon Jan 25 23:03:23 2010 +0000 +++ b/acinclude.m4 Tue Jan 26 19:45:53 2010 +0000 @@ -1222,3 +1222,126 @@ AC_DEFUN_ONCE([IT_OBTAIN_HG_REVISIONS], AM_CONDITIONAL([HAS_JDK_REVISION], test "x${JDK_REVISION}" != xnone) AM_CONDITIONAL([HAS_HOTSPOT_REVISION], test "x${HOTSPOT_REVISION}" != xnone) ]) + +AC_DEFUN_ONCE([IT_CHECK_OLD_PLUGIN], +[ +AC_MSG_CHECKING([whether to build the browser plugin]) +AC_ARG_ENABLE([plugin], + [AS_HELP_STRING([--disable-plugin], + [Disable compilation of browser plugin])], + [enable_plugin="${enableval}"], [enable_plugin="yes"]) +AC_MSG_RESULT(${enable_plugin}) +]) + +AC_DEFUN_ONCE([IT_CHECK_NEW_PLUGIN], +[ +AC_MSG_CHECKING([whether to build the new experimental browser plugin based on npruntime]) +AC_ARG_ENABLE([npplugin], + [AS_HELP_STRING([--enable-npplugin], + [Enable compilation of browser plugin (automatically disables default plugin)])], + [enable_npplugin="${enableval}"], [enable_npplugin="no"]) +AC_MSG_RESULT(${enable_npplugin}) +]) + +AC_DEFUN_ONCE([IT_CHECK_PLUGIN_DEPENDENCIES], +[ +dnl Check for plugin support headers and libraries. +dnl FIXME: use unstable +AC_REQUIRE([IT_CHECK_OLD_PLUGIN]) +AC_REQUIRE([IT_CHECK_NEW_PLUGIN]) +if test "x${enable_plugin}" = "xyes" -o "x${enable_npplugin}" = "xyes" ; then + PKG_CHECK_MODULES(GTK, gtk+-2.0) + PKG_CHECK_MODULES(GLIB, glib-2.0) + AC_SUBST(GLIB_CFLAGS) + AC_SUBST(GLIB_LIBS) + AC_SUBST(GTK_CFLAGS) + AC_SUBST(GTK_LIBS) + + + if $PKG_CONFIG --atleast-version 1.9.2 libxul 2>&AS_MESSAGE_LOG_FD ; then + if test "x${enable_npplugin}" != "xyes" ; then + AC_MSG_WARN([The old plugin does not work with xulrunner >= 1.9.2. Enabling new plugin.]) + enable_npplugin=yes; + fi + xullibs=libxul + else + xullibs="libxul libxul-unstable" + fi + + if test "x${enable_npplugin}" = "xyes" ; + then + PKG_CHECK_MODULES(MOZILLA, \ + mozilla-plugin ${xullibs}) + + AC_SUBST(MOZILLA_CFLAGS) + AC_SUBST(MOZILLA_LIBS) + else + if test "x${enable_plugin}" = "xyes" + then + PKG_CHECK_MODULES(MOZILLA, \ + nspr mozilla-js mozilla-plugin libxul-unstable >= 1.9) + + AC_SUBST(MOZILLA_CFLAGS) + AC_SUBST(MOZILLA_LIBS) + fi + fi +fi +AM_CONDITIONAL(ENABLE_PLUGIN, test "x${enable_plugin}" = "xyes") +AM_CONDITIONAL(ENABLE_NPPLUGIN, test "x${enable_npplugin}" = "xyes") +]) + +AC_DEFUN_ONCE([IT_CHECK_XULRUNNER_VERSION], +[ +AC_REQUIRE([IT_CHECK_PLUGIN_DEPENDENCIES]) +if test "x${enable_plugin}" = "xyes" -o "x${enable_npplugin}" = "xyes" +then + AC_LANG_PUSH([C++]) + OLDCPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $MOZILLA_CFLAGS" + + AC_CACHE_CHECK([for xulrunner version], [xulrunner_cv_collapsed_version], + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM([[ +#include +#include +#include +#include +#include +]],[[ +int version = 0; +const char* token = NULL; +int power=6; +FILE *datafile; + +datafile = fopen ("conftest.vdata", "w"); +if (!datafile) return 1; + +// 32 chars is more than enough to hold version +char* mozilla_version = (char*) malloc(32*sizeof(char)); +snprintf(mozilla_version, 32, "%s", MOZILLA_VERSION); + +token = strtok(mozilla_version, "."); +while (token) +{ + version += atoi(token)*(pow(10, power)); + power -=2; + token = strtok(NULL, "."); +} + +fprintf (datafile, "%d\n", version); +free(mozilla_version); +if (fclose(datafile)) return 1; + +return EXIT_SUCCESS; +]])], + [xulrunner_cv_collapsed_version="$(cat conftest.vdata)"], + [AC_MSG_FAILURE([cannot determine xulrunner version])])], + [xulrunner_cv_collapsed_version="190000"]) + + CPPFLAGS="$OLDCPPFLAGS" + AC_LANG_POP([C++]) + + AC_SUBST(MOZILLA_VERSION_COLLAPSED, $xulrunner_cv_collapsed_version) +fi +]) + diff -r 7ca090cc0c9b -r 5a04427d184c configure.ac --- a/configure.ac Mon Jan 25 23:03:23 2010 +0000 +++ b/configure.ac Tue Jan 26 19:45:53 2010 +0000 @@ -92,22 +92,6 @@ AC_ARG_ENABLE([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 browser plugin]) -AC_ARG_ENABLE([plugin], - [AS_HELP_STRING([--disable-plugin], - [Disable compilation of browser plugin])], - [enable_plugin="${enableval}"], [enable_plugin="yes"]) -AM_CONDITIONAL(ENABLE_PLUGIN, test "x${enable_plugin}" = "xyes") -AC_MSG_RESULT(${enable_plugin}) - -AC_MSG_CHECKING([whether to build the new experimental browser plugin based on npruntime]) -AC_ARG_ENABLE([npplugin], - [AS_HELP_STRING([--enable-npplugin], - [Enable compilation of browser plugin (automatically disables default plugin)])], - [enable_npplugin="${enableval}"], [enable_npplugin="no"]) -AM_CONDITIONAL(ENABLE_NPPLUGIN, test "x${enable_npplugin}" = "xyes") -AC_MSG_RESULT(${enable_npplugin}) AC_MSG_CHECKING([whether to include PulseAudio support]) AC_ARG_ENABLE([pulse-java], @@ -213,6 +197,7 @@ IT_CHECK_ADDITIONAL_VMS IT_CHECK_ADDITIONAL_VMS ENABLE_HG AC_CHECK_WITH_HG_REVISION +IT_CHECK_XULRUNNER_VERSION if test "x${enable_visualvm}" = "xyes" then @@ -415,89 +400,6 @@ then AC_SUBST(LIBPULSE_LIBS) fi -dnl Check for plugin support headers and libraries. -dnl FIXME: use unstable -if test "x${enable_plugin}" = "xyes" - then - PKG_CHECK_MODULES(MOZILLA, \ - nspr mozilla-js mozilla-plugin libxul-unstable >= 1.9) - PKG_CHECK_MODULES(GTK, gtk+-2.0) - PKG_CHECK_MODULES(GLIB, glib-2.0) - - AC_SUBST(MOZILLA_CFLAGS) - AC_SUBST(MOZILLA_LIBS) - AC_SUBST(GLIB_CFLAGS) - AC_SUBST(GLIB_LIBS) - AC_SUBST(GTK_CFLAGS) - AC_SUBST(GTK_LIBS) - fi - -if test "x${enable_npplugin}" = "xyes" - then - PKG_CHECK_MODULES(MOZILLA, \ - mozilla-plugin libxul libxul-unstable) - PKG_CHECK_MODULES(GTK, gtk+-2.0) - PKG_CHECK_MODULES(GLIB, glib-2.0) - - AC_SUBST(MOZILLA_CFLAGS) - AC_SUBST(MOZILLA_LIBS) - AC_SUBST(GLIB_CFLAGS) - AC_SUBST(GLIB_LIBS) - AC_SUBST(GTK_CFLAGS) - AC_SUBST(GTK_LIBS) - fi - -if test "x${enable_plugin}" = "xyes" -o "x${enable_npplugin}" = "xyes" -then - AC_LANG_PUSH([C++]) - OLDCPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $MOZILLA_CFLAGS" - - AC_CACHE_CHECK([for xulrunner version], [xulrunner_cv_collapsed_version], - [AC_RUN_IFELSE( - [AC_LANG_PROGRAM([[ -#include -#include -#include -#include -#include -]],[[ -int version = 0; -const char* token = NULL; -int power=6; -FILE *datafile; - -datafile = fopen ("conftest.vdata", "w"); -if (!datafile) return 1; - -// 32 chars is more than enough to hold version -char* mozilla_version = (char*) malloc(32*sizeof(char)); -snprintf(mozilla_version, 32, "%s", MOZILLA_VERSION); - -token = strtok(mozilla_version, "."); -while (token) -{ - version += atoi(token)*(pow(10, power)); - power -=2; - token = strtok(NULL, "."); -} - -fprintf (datafile, "%d\n", version); -free(mozilla_version); -if (fclose(datafile)) return 1; - -return EXIT_SUCCESS; -]])], - [xulrunner_cv_collapsed_version="$(cat conftest.vdata)"], - [AC_MSG_FAILURE([cannot determine xulrunner version])])], - [xulrunner_cv_collapsed_version="190000"]) - - CPPFLAGS="$OLDCPPFLAGS" - AC_LANG_POP([C++]) - - AC_SUBST(MOZILLA_VERSION_COLLAPSED, $xulrunner_cv_collapsed_version) -fi - if test "x${ENABLE_NSS}" = "xyes" then PKG_CHECK_MODULES(NSS, nss, [NSS_FOUND=yes], [NSS_FOUND=no]) From andrew at icedtea.classpath.org Tue Jan 26 11:48:16 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 26 Jan 2010 19:48:16 +0000 Subject: /hg/icedtea6: Enable the new plugin by default for xulrunner >= ... Message-ID: changeset a82258f09fae in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=a82258f09fae author: Andrew John Hughes date: Tue Jan 26 19:45:53 2010 +0000 Enable the new plugin by default for xulrunner >= 1.9.2 and don't use libxul-unstable in such cases. 2010-01-25 Andrew John Hughes * acinclude.m4: (IT_CHECK_OLD_PLUGIN): New macro for --enable/disable-plugin. (IT_CHECK_NEW_PLUGIN): Likewise for --enable/disable-npplugin. (IT_CHECK_PLUGIN_DEPENDENCIES): New macro to run pkg-config checks. Enables the new plugin if xulrunner 1.9.2 or above is detected. (IT_CHECK_XULRUNNER_VERSION): Obtain the XULrunner vgersion for MOZILLA_VERSION_COLLAPSED. * configure.ac: Replace old plugin stuff with a single call to IT_CHECK_XULRUNNER_VERSION (which depends on the other macros). diffstat: 3 files changed, 142 insertions(+), 99 deletions(-) ChangeLog | 18 ++++++++ acinclude.m4 | 123 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ configure.ac | 100 ----------------------------------------------- diffs (279 lines): diff -r 51f89f2b360e -r a82258f09fae ChangeLog --- a/ChangeLog Mon Jan 25 23:05:52 2010 +0000 +++ b/ChangeLog Tue Jan 26 19:45:53 2010 +0000 @@ -1,3 +1,21 @@ 2010-01-25 Andrew John Hughes + + * acinclude.m4: + (IT_CHECK_OLD_PLUGIN): New macro for + --enable/disable-plugin. + (IT_CHECK_NEW_PLUGIN): Likewise for + --enable/disable-npplugin. + (IT_CHECK_PLUGIN_DEPENDENCIES): New macro + to run pkg-config checks. Enables the new + plugin if xulrunner 1.9.2 or above is + detected. + (IT_CHECK_XULRUNNER_VERSION): Obtain the + XULrunner vgersion for MOZILLA_VERSION_COLLAPSED. + * configure.ac: + Replace old plugin stuff with a single call + to IT_CHECK_XULRUNNER_VERSION (which depends + on the other macros). + 2010-01-25 Andrew John Hughes * Makefile.am: diff -r 51f89f2b360e -r a82258f09fae acinclude.m4 --- a/acinclude.m4 Mon Jan 25 23:05:52 2010 +0000 +++ b/acinclude.m4 Tue Jan 26 19:45:53 2010 +0000 @@ -1222,3 +1222,126 @@ AC_DEFUN_ONCE([IT_OBTAIN_HG_REVISIONS], AM_CONDITIONAL([HAS_JDK_REVISION], test "x${JDK_REVISION}" != xnone) AM_CONDITIONAL([HAS_HOTSPOT_REVISION], test "x${HOTSPOT_REVISION}" != xnone) ]) + +AC_DEFUN_ONCE([IT_CHECK_OLD_PLUGIN], +[ +AC_MSG_CHECKING([whether to build the browser plugin]) +AC_ARG_ENABLE([plugin], + [AS_HELP_STRING([--disable-plugin], + [Disable compilation of browser plugin])], + [enable_plugin="${enableval}"], [enable_plugin="yes"]) +AC_MSG_RESULT(${enable_plugin}) +]) + +AC_DEFUN_ONCE([IT_CHECK_NEW_PLUGIN], +[ +AC_MSG_CHECKING([whether to build the new experimental browser plugin based on npruntime]) +AC_ARG_ENABLE([npplugin], + [AS_HELP_STRING([--enable-npplugin], + [Enable compilation of browser plugin (automatically disables default plugin)])], + [enable_npplugin="${enableval}"], [enable_npplugin="no"]) +AC_MSG_RESULT(${enable_npplugin}) +]) + +AC_DEFUN_ONCE([IT_CHECK_PLUGIN_DEPENDENCIES], +[ +dnl Check for plugin support headers and libraries. +dnl FIXME: use unstable +AC_REQUIRE([IT_CHECK_OLD_PLUGIN]) +AC_REQUIRE([IT_CHECK_NEW_PLUGIN]) +if test "x${enable_plugin}" = "xyes" -o "x${enable_npplugin}" = "xyes" ; then + PKG_CHECK_MODULES(GTK, gtk+-2.0) + PKG_CHECK_MODULES(GLIB, glib-2.0) + AC_SUBST(GLIB_CFLAGS) + AC_SUBST(GLIB_LIBS) + AC_SUBST(GTK_CFLAGS) + AC_SUBST(GTK_LIBS) + + + if $PKG_CONFIG --atleast-version 1.9.2 libxul 2>&AS_MESSAGE_LOG_FD ; then + if test "x${enable_npplugin}" != "xyes" ; then + AC_MSG_WARN([The old plugin does not work with xulrunner >= 1.9.2. Enabling new plugin.]) + enable_npplugin=yes; + fi + xullibs=libxul + else + xullibs="libxul libxul-unstable" + fi + + if test "x${enable_npplugin}" = "xyes" ; + then + PKG_CHECK_MODULES(MOZILLA, \ + mozilla-plugin ${xullibs}) + + AC_SUBST(MOZILLA_CFLAGS) + AC_SUBST(MOZILLA_LIBS) + else + if test "x${enable_plugin}" = "xyes" + then + PKG_CHECK_MODULES(MOZILLA, \ + nspr mozilla-js mozilla-plugin libxul-unstable >= 1.9) + + AC_SUBST(MOZILLA_CFLAGS) + AC_SUBST(MOZILLA_LIBS) + fi + fi +fi +AM_CONDITIONAL(ENABLE_PLUGIN, test "x${enable_plugin}" = "xyes") +AM_CONDITIONAL(ENABLE_NPPLUGIN, test "x${enable_npplugin}" = "xyes") +]) + +AC_DEFUN_ONCE([IT_CHECK_XULRUNNER_VERSION], +[ +AC_REQUIRE([IT_CHECK_PLUGIN_DEPENDENCIES]) +if test "x${enable_plugin}" = "xyes" -o "x${enable_npplugin}" = "xyes" +then + AC_LANG_PUSH([C++]) + OLDCPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $MOZILLA_CFLAGS" + + AC_CACHE_CHECK([for xulrunner version], [xulrunner_cv_collapsed_version], + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM([[ +#include +#include +#include +#include +#include +]],[[ +int version = 0; +const char* token = NULL; +int power=6; +FILE *datafile; + +datafile = fopen ("conftest.vdata", "w"); +if (!datafile) return 1; + +// 32 chars is more than enough to hold version +char* mozilla_version = (char*) malloc(32*sizeof(char)); +snprintf(mozilla_version, 32, "%s", MOZILLA_VERSION); + +token = strtok(mozilla_version, "."); +while (token) +{ + version += atoi(token)*(pow(10, power)); + power -=2; + token = strtok(NULL, "."); +} + +fprintf (datafile, "%d\n", version); +free(mozilla_version); +if (fclose(datafile)) return 1; + +return EXIT_SUCCESS; +]])], + [xulrunner_cv_collapsed_version="$(cat conftest.vdata)"], + [AC_MSG_FAILURE([cannot determine xulrunner version])])], + [xulrunner_cv_collapsed_version="190000"]) + + CPPFLAGS="$OLDCPPFLAGS" + AC_LANG_POP([C++]) + + AC_SUBST(MOZILLA_VERSION_COLLAPSED, $xulrunner_cv_collapsed_version) +fi +]) + diff -r 51f89f2b360e -r a82258f09fae configure.ac --- a/configure.ac Mon Jan 25 23:05:52 2010 +0000 +++ b/configure.ac Tue Jan 26 19:45:53 2010 +0000 @@ -92,22 +92,6 @@ AC_ARG_ENABLE([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 browser plugin]) -AC_ARG_ENABLE([plugin], - [AS_HELP_STRING([--disable-plugin], - [Disable compilation of browser plugin])], - [enable_plugin="${enableval}"], [enable_plugin="yes"]) -AM_CONDITIONAL(ENABLE_PLUGIN, test "x${enable_plugin}" = "xyes") -AC_MSG_RESULT(${enable_plugin}) - -AC_MSG_CHECKING([whether to build the new experimental browser plugin based on npruntime]) -AC_ARG_ENABLE([npplugin], - [AS_HELP_STRING([--enable-npplugin], - [Enable compilation of browser plugin (automatically disables default plugin)])], - [enable_npplugin="${enableval}"], [enable_npplugin="no"]) -AM_CONDITIONAL(ENABLE_NPPLUGIN, test "x${enable_npplugin}" = "xyes") -AC_MSG_RESULT(${enable_npplugin}) AC_MSG_CHECKING([whether to include PulseAudio support]) AC_ARG_ENABLE([pulse-java], @@ -213,6 +197,7 @@ IT_CHECK_ADDITIONAL_VMS IT_CHECK_ADDITIONAL_VMS ENABLE_HG AC_CHECK_WITH_HG_REVISION +IT_CHECK_XULRUNNER_VERSION if test "x${enable_visualvm}" = "xyes" then @@ -414,89 +399,6 @@ then AC_SUBST(LIBPULSE_LIBS) fi -dnl Check for plugin support headers and libraries. -dnl FIXME: use unstable -if test "x${enable_plugin}" = "xyes" - then - PKG_CHECK_MODULES(MOZILLA, \ - nspr mozilla-js mozilla-plugin libxul-unstable >= 1.9) - PKG_CHECK_MODULES(GTK, gtk+-2.0) - PKG_CHECK_MODULES(GLIB, glib-2.0) - - AC_SUBST(MOZILLA_CFLAGS) - AC_SUBST(MOZILLA_LIBS) - AC_SUBST(GLIB_CFLAGS) - AC_SUBST(GLIB_LIBS) - AC_SUBST(GTK_CFLAGS) - AC_SUBST(GTK_LIBS) - fi - -if test "x${enable_npplugin}" = "xyes" - then - PKG_CHECK_MODULES(MOZILLA, \ - mozilla-plugin libxul libxul-unstable) - PKG_CHECK_MODULES(GTK, gtk+-2.0) - PKG_CHECK_MODULES(GLIB, glib-2.0) - - AC_SUBST(MOZILLA_CFLAGS) - AC_SUBST(MOZILLA_LIBS) - AC_SUBST(GLIB_CFLAGS) - AC_SUBST(GLIB_LIBS) - AC_SUBST(GTK_CFLAGS) - AC_SUBST(GTK_LIBS) - fi - -if test "x${enable_plugin}" = "xyes" -o "x${enable_npplugin}" = "xyes" -then - AC_LANG_PUSH([C++]) - OLDCPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $MOZILLA_CFLAGS" - - AC_CACHE_CHECK([for xulrunner version], [xulrunner_cv_collapsed_version], - [AC_RUN_IFELSE( - [AC_LANG_PROGRAM([[ -#include -#include -#include -#include -#include -]],[[ -int version = 0; -const char* token = NULL; -int power=6; -FILE *datafile; - -datafile = fopen ("conftest.vdata", "w"); -if (!datafile) return 1; - -// 32 chars is more than enough to hold version -char* mozilla_version = (char*) malloc(32*sizeof(char)); -snprintf(mozilla_version, 32, "%s", MOZILLA_VERSION); - -token = strtok(mozilla_version, "."); -while (token) -{ - version += atoi(token)*(pow(10, power)); - power -=2; - token = strtok(NULL, "."); -} - -fprintf (datafile, "%d\n", version); -free(mozilla_version); -if (fclose(datafile)) return 1; - -return EXIT_SUCCESS; -]])], - [xulrunner_cv_collapsed_version="$(cat conftest.vdata)"], - [AC_MSG_FAILURE([cannot determine xulrunner version])])], - [xulrunner_cv_collapsed_version="190000"]) - - CPPFLAGS="$OLDCPPFLAGS" - AC_LANG_POP([C++]) - - AC_SUBST(MOZILLA_VERSION_COLLAPSED, $xulrunner_cv_collapsed_version) -fi - if test "x${ENABLE_NSS}" = "xyes" then PKG_CHECK_MODULES(NSS, nss, [NSS_FOUND=yes], [NSS_FOUND=no]) From dbhole at icedtea.classpath.org Tue Jan 26 12:08:18 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Tue, 26 Jan 2010 20:08:18 +0000 Subject: /hg/release/icedtea6-1.7: 2010-01-26 Deepak Bhole changeset 9d2d33c4098d in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=9d2d33c4098d author: Deepak Bhole date: Tue Jan 26 15:08:05 2010 -0500 2010-01-26 Deepak Bhole * NEWS: Added message about alpha release for the new NPR based plugin. diffstat: 2 files changed, 7 insertions(+) ChangeLog | 4 ++++ NEWS | 3 +++ diffs (24 lines): diff -r 5a04427d184c -r 9d2d33c4098d ChangeLog --- a/ChangeLog Tue Jan 26 19:45:53 2010 +0000 +++ b/ChangeLog Tue Jan 26 15:08:05 2010 -0500 @@ -1,3 +1,7 @@ 2010-01-25 Andrew John Hughes + + * NEWS: Added message about alpha release for the new NPR based plugin. + 2010-01-25 Andrew John Hughes * acinclude.m4: diff -r 5a04427d184c -r 9d2d33c4098d NEWS --- a/NEWS Tue Jan 26 19:45:53 2010 +0000 +++ b/NEWS Tue Jan 26 15:08:05 2010 -0500 @@ -1,6 +1,9 @@ New in release 1.7 (XXXX-XX-XX): New in release 1.7 (XXXX-XX-XX): - Updated to OpenJDK6 b17. +- Alpha version of the new IcedTea NPRuntime based plugin with support for + Firefox >= 3.5, Chromium, and other browsers that support NPRuntime + (use --enable-npplugin to build it). - Support added for building with HotSpot 16 using --with-hotspot-build=hs16. - Zero port updated to match the version submitted to OpenJDK From doko at ubuntu.com Wed Jan 27 03:49:05 2010 From: doko at ubuntu.com (Matthias Klose) Date: Wed, 27 Jan 2010 12:49:05 +0100 Subject: /hg/release/icedtea6-1.7: Enable the new plugin by default for x... In-Reply-To: References: Message-ID: <4B602831.2020003@ubuntu.com> On 26.01.2010 20:47, andrew at icedtea.classpath.org wrote: > changeset 5a04427d184c in /hg/release/icedtea6-1.7 > details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=5a04427d184c > author: Andrew John Hughes > date: Tue Jan 26 19:45:53 2010 +0000 > > Enable the new plugin by default for xulrunner>= 1.9.2 and don't > use libxul-unstable in such cases. the updated NEWS entry says that the NPPlugin works with ffox-3.5 (xulrunner 1.9.1). why have this extra restriction on 1.9.2? Matthias From doko at icedtea.classpath.org Wed Jan 27 04:24:33 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Wed, 27 Jan 2010 12:24:33 +0000 Subject: /hg/icedtea6: Fix quoting of ICEDTEA_NAME ICEDTEA_REV ICEDTEA_PKG Message-ID: changeset a6503bfb7390 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=a6503bfb7390 author: doko at ubuntu.com date: Wed Jan 27 13:16:02 2010 +0100 Fix quoting of ICEDTEA_NAME ICEDTEA_REV ICEDTEA_PKG If these macros need quoting, quoting has to be done in the places where it is needed, else PLUGIN_VERSION gets wrong. 2010-01-27 Matthias Klose * Makefile.am: Remove quoting from ICEDTEA_NAME ICEDTEA_REV ICEDTEA_PKG. diffstat: 2 files changed, 10 insertions(+), 6 deletions(-) ChangeLog | 4 ++++ Makefile.am | 12 ++++++------ diffs (36 lines): diff -r a82258f09fae -r a6503bfb7390 ChangeLog --- a/ChangeLog Tue Jan 26 19:45:53 2010 +0000 +++ b/ChangeLog Wed Jan 27 13:16:02 2010 +0100 @@ -1,3 +1,7 @@ 2010-01-25 Andrew John Hughes + + * Makefile.am: Remove quoting from ICEDTEA_NAME ICEDTEA_REV ICEDTEA_PKG. + 2010-01-25 Andrew John Hughes * acinclude.m4: diff -r a82258f09fae -r a6503bfb7390 Makefile.am --- a/Makefile.am Tue Jan 26 19:45:53 2010 +0000 +++ b/Makefile.am Wed Jan 27 13:16:02 2010 +0100 @@ -385,15 +385,15 @@ JDK_UPDATE_VERSION = $(shell echo $(OPEN JDK_UPDATE_VERSION = $(shell echo $(OPENJDK_VERSION) | sed -e "s/^b//") COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(OPENJDK_VERSION) -ICEDTEA_NAME="IcedTea6" +ICEDTEA_NAME = IcedTea6 if HAS_ICEDTEA_REVISION -ICEDTEA_REV="+${ICEDTEA_REVISION}" +ICEDTEA_REV = +${ICEDTEA_REVISION} endif if HAS_PKGVERSION -ICEDTEA_PKG=" (${PKGVERSION})" -endif - -PLUGIN_VERSION=$(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV)$(ICEDTEA_PKG) +ICEDTEA_PKG = $(EMPTY) (${PKGVERSION}) +endif + +PLUGIN_VERSION = $(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV)$(ICEDTEA_PKG) ICEDTEA_ENV = \ IMPORT_BINARY_PLUGS=true \ From doko at icedtea.classpath.org Wed Jan 27 04:26:33 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Wed, 27 Jan 2010 12:26:33 +0000 Subject: /hg/release/icedtea6-1.7: Fix quoting of ICEDTEA_NAME ICEDTEA_RE... Message-ID: changeset 8ba01f7d3ec1 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=8ba01f7d3ec1 author: doko at ubuntu.com date: Wed Jan 27 13:17:47 2010 +0100 Fix quoting of ICEDTEA_NAME ICEDTEA_REV ICEDTEA_PKG If these macros need quoting, quoting has to be done in the places where it is needed, else PLUGIN_VERSION gets wrong. 2010-01-27 Matthias Klose * Makefile.am: Remove quoting from ICEDTEA_NAME ICEDTEA_REV ICEDTEA_PKG. diffstat: 2 files changed, 10 insertions(+), 6 deletions(-) ChangeLog | 4 ++++ Makefile.am | 12 ++++++------ diffs (36 lines): diff -r 9d2d33c4098d -r 8ba01f7d3ec1 ChangeLog --- a/ChangeLog Tue Jan 26 15:08:05 2010 -0500 +++ b/ChangeLog Wed Jan 27 13:17:47 2010 +0100 @@ -1,3 +1,7 @@ 2010-01-26 Deepak Bhole + + * Makefile.am: Remove quoting from ICEDTEA_NAME ICEDTEA_REV ICEDTEA_PKG. + 2010-01-26 Deepak Bhole * NEWS: Added message about alpha release for the new NPR based plugin. diff -r 9d2d33c4098d -r 8ba01f7d3ec1 Makefile.am --- a/Makefile.am Tue Jan 26 15:08:05 2010 -0500 +++ b/Makefile.am Wed Jan 27 13:17:47 2010 +0100 @@ -382,15 +382,15 @@ JDK_UPDATE_VERSION = $(shell echo $(OPEN JDK_UPDATE_VERSION = $(shell echo $(OPENJDK_VERSION) | sed -e "s/^b//") COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(OPENJDK_VERSION) -ICEDTEA_NAME="IcedTea6" +ICEDTEA_NAME = IcedTea6 if HAS_ICEDTEA_REVISION -ICEDTEA_REV="+${ICEDTEA_REVISION}" +ICEDTEA_REV = +${ICEDTEA_REVISION} endif if HAS_PKGVERSION -ICEDTEA_PKG=" (${PKGVERSION})" -endif - -PLUGIN_VERSION=$(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV)$(ICEDTEA_PKG) +ICEDTEA_PKG = $(EMPTY) (${PKGVERSION}) +endif + +PLUGIN_VERSION = $(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV)$(ICEDTEA_PKG) ICEDTEA_ENV = \ IMPORT_BINARY_PLUGS=true \ From gnu_andrew at member.fsf.org Wed Jan 27 07:18:08 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Wed, 27 Jan 2010 15:18:08 +0000 Subject: /hg/release/icedtea6-1.7: Enable the new plugin by default for x... In-Reply-To: <4B602831.2020003@ubuntu.com> References: <4B602831.2020003@ubuntu.com> Message-ID: <17c6771e1001270718y2557225aw34709a1f1ea782a7@mail.gmail.com> 2010/1/27 Matthias Klose : > On 26.01.2010 20:47, andrew at icedtea.classpath.org wrote: >> >> changeset 5a04427d184c in /hg/release/icedtea6-1.7 >> details: >> http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=5a04427d184c >> author: Andrew John Hughes >> date: Tue Jan 26 19:45:53 2010 +0000 >> >> ? ? ? ?Enable the new plugin by default for xulrunner>= 1.9.2 and don't >> ? ? ? ?use libxul-unstable in such cases. > > the updated NEWS entry says that the NPPlugin works with ffox-3.5 (xulrunner > 1.9.1). why have this extra restriction on 1.9.2? > > ?Matthias > That's not a restriction. It's enabled __by default__ on 1.9.2 because the old plugin won't build i.e. if you ask for the old one and have 1.9.2, you get the new one. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From andrew at icedtea.classpath.org Wed Jan 27 07:36:35 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 27 Jan 2010 15:36:35 +0000 Subject: /hg/release/icedtea6-1.7: 2 new changesets Message-ID: changeset 9f3f2ba0b31a in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=9f3f2ba0b31a author: Andrew John Hughes date: Wed Jan 27 15:35:17 2010 +0000 Add a target for building the plugin tests. 2010-01-26 Andrew John Hughes * Makefile.am: (stamps/plugin-tests.stamp): Add a target for building the plugin tests. (plugin-tests): Alias for the above. changeset 190eabd599ed in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=190eabd599ed author: Andrew John Hughes date: Wed Jan 27 15:36:28 2010 +0000 Merge diffstat: 3 files changed, 58 insertions(+), 6 deletions(-) ChangeLog | 16 ++++++++++++++++ Makefile.am | 45 +++++++++++++++++++++++++++++++++++++++------ NEWS | 3 +++ diffs (112 lines): diff -r 5a04427d184c -r 190eabd599ed ChangeLog --- a/ChangeLog Tue Jan 26 19:45:53 2010 +0000 +++ b/ChangeLog Wed Jan 27 15:36:28 2010 +0000 @@ -1,3 +1,19 @@ 2010-01-25 Andrew John Hughes + + * Makefile.am: Remove quoting from ICEDTEA_NAME ICEDTEA_REV + ICEDTEA_PKG. + +2010-01-26 Andrew John Hughes + + * Makefile.am: + (stamps/plugin-tests.stamp): Add + a target for building the plugin tests. + (plugin-tests): Alias for the above. + +2010-01-26 Deepak Bhole + + * NEWS: Added message about alpha release for the new NPR based plugin. + 2010-01-25 Andrew John Hughes * acinclude.m4: diff -r 5a04427d184c -r 190eabd599ed Makefile.am --- a/Makefile.am Tue Jan 26 19:45:53 2010 +0000 +++ b/Makefile.am Wed Jan 27 15:36:28 2010 +0000 @@ -190,6 +190,10 @@ else BOOTSTRAP_DIRECTORY_STAMP = stamps/bootstrap-directory.stamp ICEDTEA_HOME = $(abs_top_builddir)/bootstrap/icedtea endif + +# Sources list + +PLUGIN_TEST_SRCS = $(abs_top_srcdir)/plugin/tests/LiveConnect/*.java # Patch list @@ -382,15 +386,15 @@ JDK_UPDATE_VERSION = $(shell echo $(OPEN JDK_UPDATE_VERSION = $(shell echo $(OPENJDK_VERSION) | sed -e "s/^b//") COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(OPENJDK_VERSION) -ICEDTEA_NAME="IcedTea6" +ICEDTEA_NAME = IcedTea6 if HAS_ICEDTEA_REVISION -ICEDTEA_REV="+${ICEDTEA_REVISION}" +ICEDTEA_REV = +${ICEDTEA_REVISION} endif if HAS_PKGVERSION -ICEDTEA_PKG=" (${PKGVERSION})" -endif - -PLUGIN_VERSION=$(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV)$(ICEDTEA_PKG) +ICEDTEA_PKG = $(EMPTY) (${PKGVERSION}) +endif + +PLUGIN_VERSION = $(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV)$(ICEDTEA_PKG) ICEDTEA_ENV = \ IMPORT_BINARY_PLUGS=true \ @@ -1892,6 +1896,33 @@ endif # end additional VMs +# plugin tests + +stamps/plugin-tests.stamp: $(PLUGIN_TEST_SRCS) \ + bootstrap/jdk1.7.0/jre/lib/rt-closed.jar + mkdir -p plugin/tests/LiveConnect + if test -d lib/rt/netscape ; then \ + set -e ; \ + if ! test -d $(ICEDTEA_BOOT_DIR) ; then \ + $(JAVAC) $(MEMORY_LIMIT) -g -d plugin/tests/LiveConnect \ + -classpath bootstrap/jdk1.7.0/jre/lib/rt-closed.jar \ + -source 1.5 $(PLUGIN_TEST_SRCS) ; \ + $(JAR) cf plugin/tests/LiveConnect/PluginTest.jar \ + plugin/tests/LiveConnect/*.class ; \ + else \ + $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) -g \ + -d plugin/tests/LiveConnect \ + -classpath bootstrap/jdk1.7.0/jre/lib/rt-closed.jar \ + -source 1.5 $(PLUGIN_TEST_SRCS) ; \ + $(ICEDTEA_BOOT_DIR)/bin/jar cf plugin/tests/LiveConnect/PluginTest.jar \ + plugin/tests/LiveConnect/*.class ; \ + fi ; \ + cp -a $(abs_top_srcdir)/plugin/tests/LiveConnect/*.{js,html} plugin/tests/LiveConnect ; \ + echo "Done. Now launch \"firefox file://`pwd`/index.html\"" ; \ + fi + mkdir -p stamps + touch stamps/plugin-tests.stamp + # jtreg stamps/jtreg.stamp: stamps/icedtea.stamp @@ -2225,3 +2256,5 @@ jtreg: stamps/jtreg.stamp jtreg: stamps/jtreg.stamp plugin: $(ICEDTEAPLUGIN_TARGET) + +plugin-tests: stamps/plugin-tests.stamp diff -r 5a04427d184c -r 190eabd599ed NEWS --- a/NEWS Tue Jan 26 19:45:53 2010 +0000 +++ b/NEWS Wed Jan 27 15:36:28 2010 +0000 @@ -1,6 +1,9 @@ New in release 1.7 (XXXX-XX-XX): New in release 1.7 (XXXX-XX-XX): - Updated to OpenJDK6 b17. +- Alpha version of the new IcedTea NPRuntime based plugin with support for + Firefox >= 3.5, Chromium, and other browsers that support NPRuntime + (use --enable-npplugin to build it). - Support added for building with HotSpot 16 using --with-hotspot-build=hs16. - Zero port updated to match the version submitted to OpenJDK From enevill at icedtea.classpath.org Wed Jan 27 07:44:30 2010 From: enevill at icedtea.classpath.org (enevill at icedtea.classpath.org) Date: Wed, 27 Jan 2010 15:44:30 +0000 Subject: /hg/icedtea6: Add ports/hotspot/src/cpu/zero/vm/thumb2.cpp misse... Message-ID: changeset 59e6d2d51c8e in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=59e6d2d51c8e author: Edward Nevill date: Wed Jan 27 15:44:09 2010 +0000 Add ports/hotspot/src/cpu/zero/vm/thumb2.cpp missed out in last commit diffstat: 2 files changed, 7146 insertions(+) ChangeLog | 5 ports/hotspot/src/cpu/zero/vm/thumb2.cpp | 7141 ++++++++++++++++++++++++++++++ diffs (truncated from 7157 to 500 lines): diff -r a6503bfb7390 -r 59e6d2d51c8e ChangeLog --- a/ChangeLog Wed Jan 27 13:16:02 2010 +0100 +++ b/ChangeLog Wed Jan 27 15:44:09 2010 +0000 @@ -1,3 +1,8 @@ 2010-01-27 Matthias Klose + + * ports/hotspot/src/cpu/zero/vm/thumb2.cpp + Forgot to do hg add on this file in my last commit + 2010-01-27 Matthias Klose * Makefile.am: Remove quoting from ICEDTEA_NAME ICEDTEA_REV ICEDTEA_PKG. diff -r a6503bfb7390 -r 59e6d2d51c8e ports/hotspot/src/cpu/zero/vm/thumb2.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ports/hotspot/src/cpu/zero/vm/thumb2.cpp Wed Jan 27 15:44:09 2010 +0000 @@ -0,0 +1,7141 @@ +#ifdef THUMB2EE + +#define T2EE_PRINT_COMPILATION +#define T2EE_PRINT_STATISTICS +//#define T2EE_PRINT_DISASS +#define T2EE_PRINT_REGUSAGE + +#ifdef T2EE_PRINT_COMPILATION +static char *t2ee_print_compilation; +#endif + +#ifdef T2EE_PRINT_STATISTICS +static char *t2ee_print_statistics; +#endif + +#ifdef T2EE_PRINT_DISASS +static char *t2ee_print_disass; +#endif + +#ifdef T2EE_PRINT_REGUSAGE +static char *t2ee_print_regusage; +#endif + +#define THUMB2_CODEBUF_SIZE (8 * 1024 * 1024) + +#include + +#include "incls/_precompiled.incl" + +#ifdef T2EE_PRINT_DISASS +#include "dis-asm.h" +#include "bfd.h" +#endif + +#define opc_nop 0x00 +#define opc_aconst_null 0x01 +#define opc_iconst_m1 0x02 +#define opc_iconst_0 0x03 +#define opc_iconst_1 0x04 +#define opc_iconst_2 0x05 +#define opc_iconst_3 0x06 +#define opc_iconst_4 0x07 +#define opc_iconst_5 0x08 +#define opc_lconst_0 0x09 +#define opc_lconst_1 0x0a +#define opc_fconst_0 0x0b +#define opc_fconst_1 0x0c +#define opc_fconst_2 0x0d +#define opc_dconst_0 0x0e +#define opc_dconst_1 0x0f +#define opc_bipush 0x10 +#define opc_sipush 0x11 +#define opc_ldc 0x12 +#define opc_ldc_w 0x13 +#define opc_ldc2_w 0x14 +#define opc_iload 0x15 +#define opc_lload 0x16 +#define opc_fload 0x17 +#define opc_dload 0x18 +#define opc_aload 0x19 +#define opc_iload_0 0x1a +#define opc_iload_1 0x1b +#define opc_iload_2 0x1c +#define opc_iload_3 0x1d +#define opc_lload_0 0x1e +#define opc_lload_1 0x1f +#define opc_lload_2 0x20 +#define opc_lload_3 0x21 +#define opc_fload_0 0x22 +#define opc_fload_1 0x23 +#define opc_fload_2 0x24 +#define opc_fload_3 0x25 +#define opc_dload_0 0x26 +#define opc_dload_1 0x27 +#define opc_dload_2 0x28 +#define opc_dload_3 0x29 +#define opc_aload_0 0x2a +#define opc_aload_1 0x2b +#define opc_aload_2 0x2c +#define opc_aload_3 0x2d +#define opc_iaload 0x2e +#define opc_laload 0x2f +#define opc_faload 0x30 +#define opc_daload 0x31 +#define opc_aaload 0x32 +#define opc_baload 0x33 +#define opc_caload 0x34 +#define opc_saload 0x35 +#define opc_istore 0x36 +#define opc_lstore 0x37 +#define opc_fstore 0x38 +#define opc_dstore 0x39 +#define opc_astore 0x3a +#define opc_istore_0 0x3b +#define opc_istore_1 0x3c +#define opc_istore_2 0x3d +#define opc_istore_3 0x3e +#define opc_lstore_0 0x3f +#define opc_lstore_1 0x40 +#define opc_lstore_2 0x41 +#define opc_lstore_3 0x42 +#define opc_fstore_0 0x43 +#define opc_fstore_1 0x44 +#define opc_fstore_2 0x45 +#define opc_fstore_3 0x46 +#define opc_dstore_0 0x47 +#define opc_dstore_1 0x48 +#define opc_dstore_2 0x49 +#define opc_dstore_3 0x4a +#define opc_astore_0 0x4b +#define opc_astore_1 0x4c +#define opc_astore_2 0x4d +#define opc_astore_3 0x4e +#define opc_iastore 0x4f +#define opc_lastore 0x50 +#define opc_fastore 0x51 +#define opc_dastore 0x52 +#define opc_aastore 0x53 +#define opc_bastore 0x54 +#define opc_castore 0x55 +#define opc_sastore 0x56 +#define opc_pop 0x57 +#define opc_pop2 0x58 +#define opc_dup 0x59 +#define opc_dup_x1 0x5a +#define opc_dup_x2 0x5b +#define opc_dup2 0x5c +#define opc_dup2_x1 0x5d +#define opc_dup2_x2 0x5e +#define opc_swap 0x5f +#define opc_iadd 0x60 +#define opc_ladd 0x61 +#define opc_fadd 0x62 +#define opc_dadd 0x63 +#define opc_isub 0x64 +#define opc_lsub 0x65 +#define opc_fsub 0x66 +#define opc_dsub 0x67 +#define opc_imul 0x68 +#define opc_lmul 0x69 +#define opc_fmul 0x6a +#define opc_dmul 0x6b +#define opc_idiv 0x6c +#define opc_ldiv 0x6d +#define opc_fdiv 0x6e +#define opc_ddiv 0x6f +#define opc_irem 0x70 +#define opc_lrem 0x71 +#define opc_frem 0x72 +#define opc_drem 0x73 +#define opc_ineg 0x74 +#define opc_lneg 0x75 +#define opc_fneg 0x76 +#define opc_dneg 0x77 +#define opc_ishl 0x78 +#define opc_lshl 0x79 +#define opc_ishr 0x7a +#define opc_lshr 0x7b +#define opc_iushr 0x7c +#define opc_lushr 0x7d +#define opc_iand 0x7e +#define opc_land 0x7f +#define opc_ior 0x80 +#define opc_lor 0x81 +#define opc_ixor 0x82 +#define opc_lxor 0x83 +#define opc_iinc 0x84 +#define opc_i2l 0x85 +#define opc_i2f 0x86 +#define opc_i2d 0x87 +#define opc_l2i 0x88 +#define opc_l2f 0x89 +#define opc_l2d 0x8a +#define opc_f2i 0x8b +#define opc_f2l 0x8c +#define opc_f2d 0x8d +#define opc_d2i 0x8e +#define opc_d2l 0x8f +#define opc_d2f 0x90 +#define opc_i2b 0x91 +#define opc_i2c 0x92 +#define opc_i2s 0x93 +#define opc_lcmp 0x94 +#define opc_fcmpl 0x95 +#define opc_fcmpg 0x96 +#define opc_dcmpl 0x97 +#define opc_dcmpg 0x98 +#define opc_ifeq 0x99 +#define opc_ifne 0x9a +#define opc_iflt 0x9b +#define opc_ifge 0x9c +#define opc_ifgt 0x9d +#define opc_ifle 0x9e +#define opc_if_icmpeq 0x9f +#define opc_if_icmpne 0xa0 +#define opc_if_icmplt 0xa1 +#define opc_if_icmpge 0xa2 +#define opc_if_icmpgt 0xa3 +#define opc_if_icmple 0xa4 +#define opc_if_acmpeq 0xa5 +#define opc_if_acmpne 0xa6 +#define opc_goto 0xa7 +#define opc_jsr 0xa8 +#define opc_ret 0xa9 +#define opc_tableswitch 0xaa +#define opc_lookupswitch 0xab +#define opc_ireturn 0xac +#define opc_lreturn 0xad +#define opc_freturn 0xae +#define opc_dreturn 0xaf +#define opc_areturn 0xb0 +#define opc_return 0xb1 +#define opc_getstatic 0xb2 +#define opc_putstatic 0xb3 +#define opc_getfield 0xb4 +#define opc_putfield 0xb5 +#define opc_invokevirtual 0xb6 +#define opc_invokespecial 0xb7 +#define opc_invokestatic 0xb8 +#define opc_invokeinterface 0xb9 +#define opc_new 0xbb +#define opc_newarray 0xbc +#define opc_anewarray 0xbd +#define opc_arraylength 0xbe +#define opc_athrow 0xbf +#define opc_checkcast 0xc0 +#define opc_instanceof 0xc1 +#define opc_monitorenter 0xc2 +#define opc_monitorexit 0xc3 +#define opc_wide 0xc4 +#define opc_multianewarray 0xc5 +#define opc_ifnull 0xc6 +#define opc_ifnonnull 0xc7 +#define opc_goto_w 0xc8 +#define opc_jsr_w 0xc9 +#define opc_breakpoint 0xca + +#define OPC_LAST_JAVA_OP 0xca + +#define opc_bgetfield 0xcc +#define opc_cgetfield 0xcd +#define opc_igetfield 0xd0 +#define opc_lgetfield 0xd1 +#define opc_sgetfield 0xd2 +#define opc_aputfield 0xd3 +#define opc_bputfield 0xd4 +#define opc_cputfield 0xd5 +#define opc_iputfield 0xd8 +#define opc_lputfield 0xd9 +#define opc_iaccess_0 0xdb +#define opc_iaccess_1 0xdc +#define opc_iaccess_2 0xdd +#define opc_iaccess_3 0xde +#define opc_invokeresolved 0xdf +#define opc_invokespecialresolved 0xe0 +#define opc_invokestaticresolved 0xe1 +#define opc_invokevfinal 0xe2 +#define opc_iload_iload 0xe3 +#define opc_iload_iload_N 0xe4 +#define opc_return_register_finalizer 0xe5 +#define opc_dmac 0xe6 +#define opc_iload_0_iconst_N 0xe7 +#define opc_iload_1_iconst_N 0xe8 +#define opc_iload_2_iconst_N 0xe9 +#define opc_iload_3_iconst_N 0xea +#define opc_iload_iconst_N 0xeb +#define opc_iadd_istore_N 0xec +#define opc_isub_istore_N 0xed +#define opc_iand_istore_N 0xee +#define opc_ior_istore_N 0xef +#define opc_ixor_istore_N 0xf0 +#define opc_iadd_u4store 0xf1 +#define opc_isub_u4store 0xf2 +#define opc_iand_u4store 0xf3 +#define opc_ior_u4store 0xf4 +#define opc_ixor_u4store 0xf5 +#define opc_iload_0_iload 0xf6 +#define opc_iload_1_iload 0xf7 +#define opc_iload_2_iload 0xf8 +#define opc_iload_3_iload 0xf9 +#define opc_iload_0_iload_N 0xfa +#define opc_iload_1_iload_N 0xfb +#define opc_iload_2_iload_N 0xfc +#define opc_iload_3_iload_N 0xfd + +#define H_IREM 0 +#define H_IDIV 1 +#define H_LDIV 2 +#define H_LREM 3 +#define H_FREM 4 +#define H_DREM 5 +#define H_LDC 6 +#define H_NEW 8 +#define H_I2F 9 +#define H_I2D 10 +#define H_L2F 11 +#define H_L2D 12 +#define H_F2I 13 +#define H_F2L 14 +#define H_F2D 15 +#define H_D2I 16 +#define H_D2L 17 +#define H_D2F 18 +#define H_NEWARRAY 19 +#define H_ANEWARRAY 20 +#define H_MULTIANEWARRAY 21 +#define H_INSTANCEOF 22 +#define H_CHECKCAST 23 +#define H_AASTORE 24 +#define H_APUTFIELD 25 +#define H_SYNCHRONIZED_ENTER 26 +#define H_SYNCHRONIZED_EXIT 27 + +#define H_EXIT_TO_INTERPRETER 28 + +#define H_GETSTATIC H_EXIT_TO_INTERPRETER +#define H_PUTSTATIC H_EXIT_TO_INTERPRETER +#define H_JSR H_EXIT_TO_INTERPRETER +#define H_RET H_EXIT_TO_INTERPRETER +#define H_ZOMBIE H_EXIT_TO_INTERPRETER +#define H_MONITOR H_EXIT_TO_INTERPRETER +#define H_ATHROW H_EXIT_TO_INTERPRETER + +#define H_HANDLE_EXCEPTION 29 +#define H_ARRAYBOUND 30 +#define H_UNKNOWN 31 + +#define H_DEBUG_METHODENTRY 32 +#define H_DEBUG_METHODEXIT 33 +#define H_DEBUG_METHODCALL 34 + +#define H_INVOKEINTERFACE 35 +#define H_INVOKEVIRTUAL 36 +#define H_INVOKESTATIC 37 +#define H_INVOKESPECIAL 38 + +#define H_GETFIELD_WORD 39 +#define H_GETFIELD_SH 40 +#define H_GETFIELD_H 41 +#define H_GETFIELD_SB 42 +#define H_GETFIELD_DW 43 + +#define H_PUTFIELD_WORD 44 +#define H_PUTFIELD_H 45 +#define H_PUTFIELD_B 46 +#define H_PUTFIELD_A 47 +#define H_PUTFIELD_DW 48 + +#define H_GETSTATIC_WORD 49 +#define H_GETSTATIC_SH 50 +#define H_GETSTATIC_H 51 +#define H_GETSTATIC_SB 52 +#define H_GETSTATIC_DW 53 + +#define H_PUTSTATIC_WORD 54 +#define H_PUTSTATIC_H 55 +#define H_PUTSTATIC_B 56 +#define H_PUTSTATIC_A 57 +#define H_PUTSTATIC_DW 58 + +unsigned handlers[59]; + +#define JASSERT(cond, msg) do { if (!(cond)) fatal(msg); } while (0) +#define J_Unimplemented() { report_unimplemented(__FILE__, __LINE__); BREAKPOINT; } + +#define GET_NATIVE_U2(p) (*(unsigned short *)(p)) + +#define GET_JAVA_S1(p) (((signed char *)(p))[0]) +#define GET_JAVA_S2(p) ((((signed char *)(p))[0] << 8) + (p)[1]) +#define GET_JAVA_U2(p) (((p)[0] << 8) + (p)[1]) +#define GET_JAVA_U4(p) (((p)[0] << 24) + ((p)[1] << 16) + ((p)[2] << 8) + (p)[3]) + +#define BYTESEX_REVERSE(v) (((v)<<24) | (((v)<<8) & 0xff0000) | (((v)>>8) & 0xff00) | ((v)>>24)) +#define BYTESEX_REVERSE_U2(v) (((v)<<8) | ((v)>>8)) + +typedef struct Thumb2_CodeBuf { + unsigned size; + char *sp; + char *hp; +} Thumb2_CodeBuf; + +Thumb2_CodeBuf *thumb2_codebuf; + +unsigned bc_stackinfo[8000]; +unsigned locals_info[1000]; +unsigned stack[1000]; +unsigned r_local[1000]; + +#ifdef T2EE_PRINT_DISASS +short start_bci[65000]; +short end_bci[65000]; +#endif + +// XXX hardwired constants! +#define ENTRY_FRAME 1 +#define INTERPRETER_FRAME 2 +#define SHARK_FRAME 3 +#define FAKE_STUB_FRAME 4 + +#include "offsets_arm.s" + +#define BC_FLAGS_MASK 0xfc000000 +#define BC_VISITED_P1 0x80000000 +#define BC_BRANCH_TARGET 0x40000000 +#define BC_COMPILED 0x20000000 +#define BC_VISITED_P2 0x10000000 +#define BC_ZOMBIE 0x08000000 +#define BC_BACK_TARGET 0x04000000 + +#define IS_DEAD(x) (((x) & BC_VISITED_P1) == 0) +#define IS_ZOMBIE(x) (((x) & BC_ZOMBIE) || ((x) & BC_VISITED_P2) == 0) + +#define LOCAL_MODIFIED 31 +#define LOCAL_REF 30 +#define LOCAL_DOUBLE 29 +#define LOCAL_FLOAT 28 +#define LOCAL_LONG 27 +#define LOCAL_INT 26 +#define LOCAL_ALLOCATED 25 + +#define LOCAL_COUNT_BITS 10 +#define LOCAL_READ_POS 0 +#define LOCAL_WRITE_POS LOCAL_COUNT_BITS + +#define LOCAL_READS(x) (((x) >> LOCAL_READ_POS) & ((1<> LOCAL_WRITE_POS) & ((1< changeset 613dba6ad21b in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=613dba6ad21b author: Andrew John Hughes date: Wed Jan 27 15:55:16 2010 +0000 Make --enable-shark work without requiring --enable-zero as well. 2010-01-15 Andrew John Hughes * acinclude.m4, * configure.ac: Make --enable-shark work without requiring --enable-zero as well. changeset 29c75d7fc03a in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=29c75d7fc03a author: Andrew John Hughes date: Wed Jan 27 15:56:02 2010 +0000 Add missing dates in NEWS file. 2010-01-27 Andrew John Hughes * NEWS: Add missing dates. diffstat: 4 files changed, 37 insertions(+), 30 deletions(-) ChangeLog | 12 ++++++++++++ NEWS | 5 +++-- acinclude.m4 | 48 +++++++++++++++++++++--------------------------- configure.ac | 2 +- diffs (133 lines): diff -r 66c327225114 -r 29c75d7fc03a ChangeLog --- a/ChangeLog Thu Dec 17 16:59:58 2009 +0000 +++ b/ChangeLog Wed Jan 27 15:56:02 2010 +0000 @@ -1,3 +1,15 @@ 2009-12-17 Andrew Haley + + * NEWS: + Add missing dates. + +2010-01-15 Andrew John Hughes + + * acinclude.m4, + * configure.ac: + Make --enable-shark work without requiring + --enable-zero as well. + 2009-12-17 Andrew Haley * Makefile.am (EXTRA_DIST): Add mkbc.c. diff -r 66c327225114 -r 29c75d7fc03a NEWS --- a/NEWS Thu Dec 17 16:59:58 2009 +0000 +++ b/NEWS Wed Jan 27 15:56:02 2010 +0000 @@ -16,12 +16,13 @@ New in release 1.6.2 (2009-11-09) - (CVE-2009-3874) ImageI/O JPEG heap overflow (6874643 - (CVE-2009-3871) JRE AWT setBytePixels heap overflow (6872358) -New in release 1.6.1: +New in release 1.6.1 (2009-09-14): + - Fix tarball error in 1.6 - Improve jar performance, http://hg.openjdk.java.net/jdk6/jdk6/jdk/rev/b35f1e5075a4 -New in release 1.6: +New in release 1.6 (2009-09-10): - Added java method tracing using systemtap version 0.9.9+. - Security fixes for: diff -r 66c327225114 -r 29c75d7fc03a acinclude.m4 --- a/acinclude.m4 Thu Dec 17 16:59:58 2009 +0000 +++ b/acinclude.m4 Wed Jan 27 15:56:02 2010 +0000 @@ -691,21 +691,27 @@ AC_DEFUN([ENABLE_ZERO_BUILD], esac ], [ - case "${host}" in - i?86-*-*) ;; - sparc*-*-*) ;; - x86_64-*-*) ;; - *) - if test "x${WITH_CACAO}" != xno; then - use_zero=no - else - use_zero=yes - fi - ;; - esac + if test "x${use_shark}" = "xyes"; then + use_zero=yes; + else + case "${host}" in + i?86-*-*) ;; + sparc*-*-*) ;; + x86_64-*-*) ;; + *) + use_core=yes + if test "x${WITH_CACAO}" != xno; then + use_zero=no + else + use_zero=yes + fi + ;; + esac + fi ]) AC_MSG_RESULT($use_zero) AM_CONDITIONAL(ZERO_BUILD, test "x${use_zero}" = xyes) + AM_CONDITIONAL(CORE_BUILD, test "x${use_core}" = xyes) ZERO_LIBARCH= ZERO_BITSPERWORD= @@ -766,35 +772,23 @@ AC_DEFUN([ENABLE_ZERO_BUILD], AC_CONFIG_FILES([ergo.c]) ]) -AC_DEFUN([SET_CORE_OR_SHARK_BUILD], +AC_DEFUN([SET_SHARK_BUILD], [ AC_MSG_CHECKING(whether to use the Shark JIT) - shark_selected=no AC_ARG_ENABLE([shark], [AS_HELP_STRING(--enable-shark, use Shark JIT)], [ case "${enableval}" in no) + use_shark=no ;; *) - shark_selected=yes + use_shark=yes ;; esac ]) - use_core=no - use_shark=no - if test "x${WITH_CACAO}" != "xno"; then - use_core=yes - elif test "x${use_zero}" = "xyes"; then - if test "x${shark_selected}" = "xyes"; then - use_shark=yes - else - use_core=yes - fi - fi AC_MSG_RESULT($use_shark) - AM_CONDITIONAL(CORE_BUILD, test "x${use_core}" = xyes) AM_CONDITIONAL(SHARK_BUILD, test "x${use_shark}" = xyes) ]) diff -r 66c327225114 -r 29c75d7fc03a configure.ac --- a/configure.ac Thu Dec 17 16:59:58 2009 +0000 +++ b/configure.ac Wed Jan 27 15:56:02 2010 +0000 @@ -236,8 +236,8 @@ AC_CHECK_WITH_CACAO_HOME AC_CHECK_WITH_CACAO_HOME AC_CHECK_WITH_CACAO_SRC_ZIP ENABLE_OPTIMIZATIONS +SET_SHARK_BUILD ENABLE_ZERO_BUILD -SET_CORE_OR_SHARK_BUILD ENABLE_HG AC_CHECK_WITH_HG_REVISION From andrew at icedtea.classpath.org Wed Jan 27 08:04:38 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 27 Jan 2010 16:04:38 +0000 Subject: /hg/icedtea6: 5 new changesets Message-ID: changeset 80b2080f8c91 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=80b2080f8c91 author: Andrew John Hughes date: Wed Jan 27 15:35:17 2010 +0000 Add a target for building the plugin tests. 2010-01-26 Andrew John Hughes * Makefile.am: (stamps/plugin-tests.stamp): Add a target for building the plugin tests. (plugin-tests): Alias for the above. changeset 4e7e38a0c858 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=4e7e38a0c858 author: Andrew John Hughes date: Wed Jan 27 15:38:20 2010 +0000 Merge changeset afb79ce1f80e in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=afb79ce1f80e author: Deepak Bhole date: Tue Jan 26 15:08:05 2010 -0500 2010-01-26 Deepak Bhole * NEWS: Added message about alpha release for the new NPR based plugin. changeset e15c8521c09a in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=e15c8521c09a author: Andrew John Hughes date: Wed Jan 27 15:59:17 2010 +0000 Add missing release annoucements. 2010-01-26 Andrew John Hughes * NEWS: Add missing items for 1.5.1, 1.5.2, 1.5.3, 1.6.1 and 1.6.2. changeset 21868e8c115a in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=21868e8c115a author: Andrew John Hughes date: Wed Jan 27 16:04:13 2010 +0000 Merge diffstat: 4 files changed, 7254 insertions(+), 15 deletions(-) ChangeLog | 27 Makefile.am | 45 NEWS | 56 ports/hotspot/src/cpu/zero/vm/thumb2.cpp | 7141 ++++++++++++++++++++++++++++++ diffs (truncated from 7346 to 500 lines): diff -r a82258f09fae -r 21868e8c115a ChangeLog --- a/ChangeLog Tue Jan 26 19:45:53 2010 +0000 +++ b/ChangeLog Wed Jan 27 16:04:13 2010 +0000 @@ -1,3 +1,30 @@ 2010-01-25 Andrew John Hughes + + * NEWS: + Add missing items for 1.5.1, 1.5.2, + 1.5.3, 1.6.1 and 1.6.2. + +2010-01-27 Edward Nevill + + * ports/hotspot/src/cpu/zero/vm/thumb2.cpp + Forgot to do hg add on this file in my last commit + +2010-01-26 Deepak Bhole + + * NEWS: Added message about alpha release for the new NPR based plugin. + +2010-01-27 Matthias Klose + + * Makefile.am: Remove quoting from ICEDTEA_NAME ICEDTEA_REV + ICEDTEA_PKG. + +2010-01-26 Andrew John Hughes + + * Makefile.am: + (stamps/plugin-tests.stamp): Add + a target for building the plugin tests. + (plugin-tests): Alias for the above. + 2010-01-25 Andrew John Hughes * acinclude.m4: diff -r a82258f09fae -r 21868e8c115a Makefile.am --- a/Makefile.am Tue Jan 26 19:45:53 2010 +0000 +++ b/Makefile.am Wed Jan 27 16:04:13 2010 +0000 @@ -190,6 +190,10 @@ else BOOTSTRAP_DIRECTORY_STAMP = stamps/bootstrap-directory.stamp ICEDTEA_HOME = $(abs_top_builddir)/bootstrap/icedtea endif + +# Sources list + +PLUGIN_TEST_SRCS = $(abs_top_srcdir)/plugin/tests/LiveConnect/*.java # Patch list @@ -385,15 +389,15 @@ JDK_UPDATE_VERSION = $(shell echo $(OPEN JDK_UPDATE_VERSION = $(shell echo $(OPENJDK_VERSION) | sed -e "s/^b//") COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(OPENJDK_VERSION) -ICEDTEA_NAME="IcedTea6" +ICEDTEA_NAME = IcedTea6 if HAS_ICEDTEA_REVISION -ICEDTEA_REV="+${ICEDTEA_REVISION}" +ICEDTEA_REV = +${ICEDTEA_REVISION} endif if HAS_PKGVERSION -ICEDTEA_PKG=" (${PKGVERSION})" -endif - -PLUGIN_VERSION=$(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV)$(ICEDTEA_PKG) +ICEDTEA_PKG = $(EMPTY) (${PKGVERSION}) +endif + +PLUGIN_VERSION = $(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV)$(ICEDTEA_PKG) ICEDTEA_ENV = \ IMPORT_BINARY_PLUGS=true \ @@ -1895,6 +1899,33 @@ endif # end additional VMs +# plugin tests + +stamps/plugin-tests.stamp: $(PLUGIN_TEST_SRCS) \ + bootstrap/jdk1.7.0/jre/lib/rt-closed.jar + mkdir -p plugin/tests/LiveConnect + if test -d lib/rt/netscape ; then \ + set -e ; \ + if ! test -d $(ICEDTEA_BOOT_DIR) ; then \ + $(JAVAC) $(MEMORY_LIMIT) -g -d plugin/tests/LiveConnect \ + -classpath bootstrap/jdk1.7.0/jre/lib/rt-closed.jar \ + -source 1.5 $(PLUGIN_TEST_SRCS) ; \ + $(JAR) cf plugin/tests/LiveConnect/PluginTest.jar \ + plugin/tests/LiveConnect/*.class ; \ + else \ + $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) -g \ + -d plugin/tests/LiveConnect \ + -classpath bootstrap/jdk1.7.0/jre/lib/rt-closed.jar \ + -source 1.5 $(PLUGIN_TEST_SRCS) ; \ + $(ICEDTEA_BOOT_DIR)/bin/jar cf plugin/tests/LiveConnect/PluginTest.jar \ + plugin/tests/LiveConnect/*.class ; \ + fi ; \ + cp -a $(abs_top_srcdir)/plugin/tests/LiveConnect/*.{js,html} plugin/tests/LiveConnect ; \ + echo "Done. Now launch \"firefox file://`pwd`/index.html\"" ; \ + fi + mkdir -p stamps + touch stamps/plugin-tests.stamp + # jtreg stamps/jtreg.stamp: stamps/icedtea.stamp @@ -2228,3 +2259,5 @@ jtreg: stamps/jtreg.stamp jtreg: stamps/jtreg.stamp plugin: $(ICEDTEAPLUGIN_TARGET) + +plugin-tests: stamps/plugin-tests.stamp diff -r a82258f09fae -r 21868e8c115a NEWS --- a/NEWS Tue Jan 26 19:45:53 2010 +0000 +++ b/NEWS Wed Jan 27 16:04:13 2010 +0000 @@ -4,6 +4,9 @@ New in release 1.7 (XXXX-XX-XX): New in release 1.7 (XXXX-XX-XX): - Updated to OpenJDK6 b17. +- Alpha version of the new IcedTea NPRuntime based plugin with support for + Firefox >= 3.5, Chromium, and other browsers that support NPRuntime + (use --enable-npplugin to build it). - Support added for building with HotSpot 16 using --with-hotspot-build=hs16. - Zero port updated to match the version submitted to OpenJDK @@ -11,6 +14,9 @@ New in release 1.7 (XXXX-XX-XX): - libjpeg7 and libXext >= 1.1.0 supported. - 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.6.2 (2009-11-09) - Latest security updates: - (CVE-2009-3728) ICC_Profile file existence detection information leak (6631533) - (CVE-2009-3885) BMP parsing DoS with UNC ICC links (6632445) @@ -27,11 +33,50 @@ New in release 1.7 (XXXX-XX-XX): - (CVE-2009-3869) JRE AWT setDifflCM stack overflow (6872357) - (CVE-2009-3874) ImageI/O JPEG heap overflow (6874643 - (CVE-2009-3871) JRE AWT setBytePixels heap overflow (6872358) -- Add support for zero build on Hitachi SH. + +New in release 1.5.3 (2009-11-09) +- Latest security updates: + - (CVE-2009-3728) ICC_Profile file existence detection information leak (6631533) + - (CVE-2009-3885) BMP parsing DoS with UNC ICC links (6632445) + - (CVE-2009-3881) resurrected classloaders can still have children (6636650) + - (CVE-2009-3882) Numerous static security flaws in Swing (findbugs) (6657026) + - (CVE-2009-3883) Mutable statics in Windows PL&F (findbugs) (6657138) + - (CVE-2009-3880) UI logging information leakage (6664512) + - (CVE-2009-3879) GraphicsConfiguration information leak (6822057) + - (CVE-2009-3884) zoneinfo file existence information leak (6824265) + - (CVE-2009-2409) deprecate MD2 in SSL cert validation (Kaminsky) (6861062) + - (CVE-2009-3873) JPEG Image Writer quantization problem (6862968) + - (CVE-2009-3875) MessageDigest.isEqual introduces timing attack vulnerabilities (6863503) + - (CVE-2009-3876, CVE-2009-3877) OpenJDK ASN.1/DER input stream parser denial of service (6864911) + - (CVE-2009-3869) JRE AWT setDifflCM stack overflow (6872357) + - (CVE-2009-3874) ImageI/O JPEG heap overflow (6874643 + - (CVE-2009-3871) JRE AWT setBytePixels heap overflow (6872358) + +New in release 1.6.1 (2009-09-14): + +- Fix tarball error in 1.6 +- Improve jar performance, + http://hg.openjdk.java.net/jdk6/jdk6/jdk/rev/b35f1e5075a4 New in release 1.6 (2009-09-10): - Added java method tracing using systemtap version 0.9.9+. +- FAST interpreter for ARM +- Timezone fix: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=377 +- Stackoverflow error fix: +http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=381 +- Backport regression (NPE) fix for AccessControlContext fix +- Bump to hs14b16 +- The plugin has been updated to improve stability and cookie support. + Support for certificates with mismatched CNs has been added as well. + +New in release 1.5.2 (2009-09-04) +- Timezone fix: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=377 +- Stackoverflow error fix: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=381 +- Backport regression (NPE) fix for AccessControlContext fix +- Bump to hs14b16 + +New in release 1.5.1 (2009-08-07) - Security fixes for: CVE-2009-2670 - OpenJDK Untrusted applet System properties access CVE-2009-2671 CVE-2009-2672 - OpenJDK Proxy mechanism information leaks @@ -43,14 +88,7 @@ New in release 1.6 (2009-09-10): CVE-2009-2476 - OpenJDK OpenType checks can be bypassed CVE-2009-2689 - OpenJDK JDK13Services grants unnecessary privileges CVE-2009-2690 - OpenJDK private variable information disclosure -- FAST interpreter for ARM -- Timezone fix: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=377 -- Stackoverflow error fix: -http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=381 -- Backport regression (NPE) fix for AccessControlContext fix -- Bump to hs14b16 -- The plugin has been updated to improve stability and cookie support. - Support for certificates with mismatched CNs has been added as well. +- Plugin/Netx security fix. New in release 1.5 (2009-05-20) diff -r a82258f09fae -r 21868e8c115a ports/hotspot/src/cpu/zero/vm/thumb2.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ports/hotspot/src/cpu/zero/vm/thumb2.cpp Wed Jan 27 16:04:13 2010 +0000 @@ -0,0 +1,7141 @@ +#ifdef THUMB2EE + +#define T2EE_PRINT_COMPILATION +#define T2EE_PRINT_STATISTICS +//#define T2EE_PRINT_DISASS +#define T2EE_PRINT_REGUSAGE + +#ifdef T2EE_PRINT_COMPILATION +static char *t2ee_print_compilation; +#endif + +#ifdef T2EE_PRINT_STATISTICS +static char *t2ee_print_statistics; +#endif + +#ifdef T2EE_PRINT_DISASS +static char *t2ee_print_disass; +#endif + +#ifdef T2EE_PRINT_REGUSAGE +static char *t2ee_print_regusage; +#endif + +#define THUMB2_CODEBUF_SIZE (8 * 1024 * 1024) + +#include + +#include "incls/_precompiled.incl" + +#ifdef T2EE_PRINT_DISASS +#include "dis-asm.h" +#include "bfd.h" +#endif + +#define opc_nop 0x00 +#define opc_aconst_null 0x01 +#define opc_iconst_m1 0x02 +#define opc_iconst_0 0x03 +#define opc_iconst_1 0x04 +#define opc_iconst_2 0x05 +#define opc_iconst_3 0x06 +#define opc_iconst_4 0x07 +#define opc_iconst_5 0x08 +#define opc_lconst_0 0x09 +#define opc_lconst_1 0x0a +#define opc_fconst_0 0x0b +#define opc_fconst_1 0x0c +#define opc_fconst_2 0x0d +#define opc_dconst_0 0x0e +#define opc_dconst_1 0x0f +#define opc_bipush 0x10 +#define opc_sipush 0x11 +#define opc_ldc 0x12 +#define opc_ldc_w 0x13 +#define opc_ldc2_w 0x14 +#define opc_iload 0x15 +#define opc_lload 0x16 +#define opc_fload 0x17 +#define opc_dload 0x18 +#define opc_aload 0x19 +#define opc_iload_0 0x1a +#define opc_iload_1 0x1b +#define opc_iload_2 0x1c +#define opc_iload_3 0x1d +#define opc_lload_0 0x1e +#define opc_lload_1 0x1f +#define opc_lload_2 0x20 +#define opc_lload_3 0x21 +#define opc_fload_0 0x22 +#define opc_fload_1 0x23 +#define opc_fload_2 0x24 +#define opc_fload_3 0x25 +#define opc_dload_0 0x26 +#define opc_dload_1 0x27 +#define opc_dload_2 0x28 +#define opc_dload_3 0x29 +#define opc_aload_0 0x2a +#define opc_aload_1 0x2b +#define opc_aload_2 0x2c +#define opc_aload_3 0x2d +#define opc_iaload 0x2e +#define opc_laload 0x2f +#define opc_faload 0x30 +#define opc_daload 0x31 +#define opc_aaload 0x32 +#define opc_baload 0x33 +#define opc_caload 0x34 +#define opc_saload 0x35 +#define opc_istore 0x36 +#define opc_lstore 0x37 +#define opc_fstore 0x38 +#define opc_dstore 0x39 +#define opc_astore 0x3a +#define opc_istore_0 0x3b +#define opc_istore_1 0x3c +#define opc_istore_2 0x3d +#define opc_istore_3 0x3e +#define opc_lstore_0 0x3f +#define opc_lstore_1 0x40 +#define opc_lstore_2 0x41 +#define opc_lstore_3 0x42 +#define opc_fstore_0 0x43 +#define opc_fstore_1 0x44 +#define opc_fstore_2 0x45 +#define opc_fstore_3 0x46 +#define opc_dstore_0 0x47 +#define opc_dstore_1 0x48 +#define opc_dstore_2 0x49 +#define opc_dstore_3 0x4a +#define opc_astore_0 0x4b +#define opc_astore_1 0x4c +#define opc_astore_2 0x4d +#define opc_astore_3 0x4e +#define opc_iastore 0x4f +#define opc_lastore 0x50 +#define opc_fastore 0x51 +#define opc_dastore 0x52 +#define opc_aastore 0x53 +#define opc_bastore 0x54 +#define opc_castore 0x55 +#define opc_sastore 0x56 +#define opc_pop 0x57 +#define opc_pop2 0x58 +#define opc_dup 0x59 +#define opc_dup_x1 0x5a +#define opc_dup_x2 0x5b +#define opc_dup2 0x5c +#define opc_dup2_x1 0x5d +#define opc_dup2_x2 0x5e +#define opc_swap 0x5f +#define opc_iadd 0x60 +#define opc_ladd 0x61 +#define opc_fadd 0x62 +#define opc_dadd 0x63 +#define opc_isub 0x64 +#define opc_lsub 0x65 +#define opc_fsub 0x66 +#define opc_dsub 0x67 +#define opc_imul 0x68 +#define opc_lmul 0x69 +#define opc_fmul 0x6a +#define opc_dmul 0x6b +#define opc_idiv 0x6c +#define opc_ldiv 0x6d +#define opc_fdiv 0x6e +#define opc_ddiv 0x6f +#define opc_irem 0x70 +#define opc_lrem 0x71 +#define opc_frem 0x72 +#define opc_drem 0x73 +#define opc_ineg 0x74 +#define opc_lneg 0x75 +#define opc_fneg 0x76 +#define opc_dneg 0x77 +#define opc_ishl 0x78 +#define opc_lshl 0x79 +#define opc_ishr 0x7a +#define opc_lshr 0x7b +#define opc_iushr 0x7c +#define opc_lushr 0x7d +#define opc_iand 0x7e +#define opc_land 0x7f +#define opc_ior 0x80 +#define opc_lor 0x81 +#define opc_ixor 0x82 +#define opc_lxor 0x83 +#define opc_iinc 0x84 +#define opc_i2l 0x85 +#define opc_i2f 0x86 +#define opc_i2d 0x87 +#define opc_l2i 0x88 +#define opc_l2f 0x89 +#define opc_l2d 0x8a +#define opc_f2i 0x8b +#define opc_f2l 0x8c +#define opc_f2d 0x8d +#define opc_d2i 0x8e +#define opc_d2l 0x8f +#define opc_d2f 0x90 +#define opc_i2b 0x91 +#define opc_i2c 0x92 +#define opc_i2s 0x93 +#define opc_lcmp 0x94 +#define opc_fcmpl 0x95 +#define opc_fcmpg 0x96 +#define opc_dcmpl 0x97 +#define opc_dcmpg 0x98 +#define opc_ifeq 0x99 +#define opc_ifne 0x9a +#define opc_iflt 0x9b +#define opc_ifge 0x9c +#define opc_ifgt 0x9d +#define opc_ifle 0x9e +#define opc_if_icmpeq 0x9f +#define opc_if_icmpne 0xa0 +#define opc_if_icmplt 0xa1 +#define opc_if_icmpge 0xa2 +#define opc_if_icmpgt 0xa3 +#define opc_if_icmple 0xa4 +#define opc_if_acmpeq 0xa5 +#define opc_if_acmpne 0xa6 +#define opc_goto 0xa7 +#define opc_jsr 0xa8 +#define opc_ret 0xa9 +#define opc_tableswitch 0xaa +#define opc_lookupswitch 0xab +#define opc_ireturn 0xac +#define opc_lreturn 0xad +#define opc_freturn 0xae +#define opc_dreturn 0xaf +#define opc_areturn 0xb0 +#define opc_return 0xb1 +#define opc_getstatic 0xb2 +#define opc_putstatic 0xb3 +#define opc_getfield 0xb4 +#define opc_putfield 0xb5 +#define opc_invokevirtual 0xb6 +#define opc_invokespecial 0xb7 +#define opc_invokestatic 0xb8 +#define opc_invokeinterface 0xb9 +#define opc_new 0xbb +#define opc_newarray 0xbc +#define opc_anewarray 0xbd +#define opc_arraylength 0xbe +#define opc_athrow 0xbf +#define opc_checkcast 0xc0 +#define opc_instanceof 0xc1 +#define opc_monitorenter 0xc2 +#define opc_monitorexit 0xc3 +#define opc_wide 0xc4 +#define opc_multianewarray 0xc5 +#define opc_ifnull 0xc6 +#define opc_ifnonnull 0xc7 +#define opc_goto_w 0xc8 +#define opc_jsr_w 0xc9 +#define opc_breakpoint 0xca + +#define OPC_LAST_JAVA_OP 0xca + +#define opc_bgetfield 0xcc +#define opc_cgetfield 0xcd +#define opc_igetfield 0xd0 +#define opc_lgetfield 0xd1 +#define opc_sgetfield 0xd2 +#define opc_aputfield 0xd3 +#define opc_bputfield 0xd4 +#define opc_cputfield 0xd5 +#define opc_iputfield 0xd8 +#define opc_lputfield 0xd9 +#define opc_iaccess_0 0xdb +#define opc_iaccess_1 0xdc +#define opc_iaccess_2 0xdd +#define opc_iaccess_3 0xde +#define opc_invokeresolved 0xdf +#define opc_invokespecialresolved 0xe0 +#define opc_invokestaticresolved 0xe1 +#define opc_invokevfinal 0xe2 +#define opc_iload_iload 0xe3 +#define opc_iload_iload_N 0xe4 +#define opc_return_register_finalizer 0xe5 +#define opc_dmac 0xe6 +#define opc_iload_0_iconst_N 0xe7 +#define opc_iload_1_iconst_N 0xe8 +#define opc_iload_2_iconst_N 0xe9 +#define opc_iload_3_iconst_N 0xea +#define opc_iload_iconst_N 0xeb +#define opc_iadd_istore_N 0xec +#define opc_isub_istore_N 0xed +#define opc_iand_istore_N 0xee +#define opc_ior_istore_N 0xef +#define opc_ixor_istore_N 0xf0 +#define opc_iadd_u4store 0xf1 +#define opc_isub_u4store 0xf2 +#define opc_iand_u4store 0xf3 +#define opc_ior_u4store 0xf4 +#define opc_ixor_u4store 0xf5 +#define opc_iload_0_iload 0xf6 +#define opc_iload_1_iload 0xf7 +#define opc_iload_2_iload 0xf8 +#define opc_iload_3_iload 0xf9 +#define opc_iload_0_iload_N 0xfa +#define opc_iload_1_iload_N 0xfb +#define opc_iload_2_iload_N 0xfc +#define opc_iload_3_iload_N 0xfd + +#define H_IREM 0 +#define H_IDIV 1 +#define H_LDIV 2 +#define H_LREM 3 +#define H_FREM 4 +#define H_DREM 5 +#define H_LDC 6 +#define H_NEW 8 +#define H_I2F 9 +#define H_I2D 10 From andrew at icedtea.classpath.org Wed Jan 27 08:05:37 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 27 Jan 2010 16:05:37 +0000 Subject: /hg/release/icedtea6-1.7: Add missing release annoucements. Message-ID: changeset de28f0f20623 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=de28f0f20623 author: Andrew John Hughes date: Wed Jan 27 15:59:17 2010 +0000 Add missing release annoucements. 2010-01-26 Andrew John Hughes * NEWS: Add missing items for 1.5.1, 1.5.2, 1.5.3, 1.6.1 and 1.6.2. diffstat: 2 files changed, 50 insertions(+), 9 deletions(-) ChangeLog | 6 ++++++ NEWS | 53 ++++++++++++++++++++++++++++++++++++++++++++--------- diffs (97 lines): diff -r 190eabd599ed -r de28f0f20623 ChangeLog --- a/ChangeLog Wed Jan 27 15:36:28 2010 +0000 +++ b/ChangeLog Wed Jan 27 15:59:17 2010 +0000 @@ -10,6 +10,12 @@ 2010-01-26 Andrew John Hughes + + * NEWS: + Add missing items for 1.5.1, 1.5.2, + 1.5.3, 1.6.1 and 1.6.2. + 2010-01-26 Deepak Bhole * NEWS: Added message about alpha release for the new NPR based plugin. diff -r 190eabd599ed -r de28f0f20623 NEWS --- a/NEWS Wed Jan 27 15:36:28 2010 +0000 +++ b/NEWS Wed Jan 27 15:59:17 2010 +0000 @@ -11,6 +11,9 @@ New in release 1.7 (XXXX-XX-XX): - libjpeg7 and libXext >= 1.1.0 supported. - 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.6.2 (2009-11-09) - Latest security updates: - (CVE-2009-3728) ICC_Profile file existence detection information leak (6631533) - (CVE-2009-3885) BMP parsing DoS with UNC ICC links (6632445) @@ -27,11 +30,50 @@ New in release 1.7 (XXXX-XX-XX): - (CVE-2009-3869) JRE AWT setDifflCM stack overflow (6872357) - (CVE-2009-3874) ImageI/O JPEG heap overflow (6874643 - (CVE-2009-3871) JRE AWT setBytePixels heap overflow (6872358) -- Add support for zero build on Hitachi SH. + +New in release 1.5.3 (2009-11-09) +- Latest security updates: + - (CVE-2009-3728) ICC_Profile file existence detection information leak (6631533) + - (CVE-2009-3885) BMP parsing DoS with UNC ICC links (6632445) + - (CVE-2009-3881) resurrected classloaders can still have children (6636650) + - (CVE-2009-3882) Numerous static security flaws in Swing (findbugs) (6657026) + - (CVE-2009-3883) Mutable statics in Windows PL&F (findbugs) (6657138) + - (CVE-2009-3880) UI logging information leakage (6664512) + - (CVE-2009-3879) GraphicsConfiguration information leak (6822057) + - (CVE-2009-3884) zoneinfo file existence information leak (6824265) + - (CVE-2009-2409) deprecate MD2 in SSL cert validation (Kaminsky) (6861062) + - (CVE-2009-3873) JPEG Image Writer quantization problem (6862968) + - (CVE-2009-3875) MessageDigest.isEqual introduces timing attack vulnerabilities (6863503) + - (CVE-2009-3876, CVE-2009-3877) OpenJDK ASN.1/DER input stream parser denial of service (6864911) + - (CVE-2009-3869) JRE AWT setDifflCM stack overflow (6872357) + - (CVE-2009-3874) ImageI/O JPEG heap overflow (6874643 + - (CVE-2009-3871) JRE AWT setBytePixels heap overflow (6872358) + +New in release 1.6.1 (2009-09-14): + +- Fix tarball error in 1.6 +- Improve jar performance, + http://hg.openjdk.java.net/jdk6/jdk6/jdk/rev/b35f1e5075a4 New in release 1.6 (2009-09-10): - Added java method tracing using systemtap version 0.9.9+. +- FAST interpreter for ARM +- Timezone fix: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=377 +- Stackoverflow error fix: +http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=381 +- Backport regression (NPE) fix for AccessControlContext fix +- Bump to hs14b16 +- The plugin has been updated to improve stability and cookie support. + Support for certificates with mismatched CNs has been added as well. + +New in release 1.5.2 (2009-09-04) +- Timezone fix: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=377 +- Stackoverflow error fix: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=381 +- Backport regression (NPE) fix for AccessControlContext fix +- Bump to hs14b16 + +New in release 1.5.1 (2009-08-07) - Security fixes for: CVE-2009-2670 - OpenJDK Untrusted applet System properties access CVE-2009-2671 CVE-2009-2672 - OpenJDK Proxy mechanism information leaks @@ -43,14 +85,7 @@ New in release 1.6 (2009-09-10): CVE-2009-2476 - OpenJDK OpenType checks can be bypassed CVE-2009-2689 - OpenJDK JDK13Services grants unnecessary privileges CVE-2009-2690 - OpenJDK private variable information disclosure -- FAST interpreter for ARM -- Timezone fix: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=377 -- Stackoverflow error fix: -http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=381 -- Backport regression (NPE) fix for AccessControlContext fix -- Bump to hs14b16 -- The plugin has been updated to improve stability and cookie support. - Support for certificates with mismatched CNs has been added as well. +- Plugin/Netx security fix. New in release 1.5 (2009-05-20) From ed at camswl.com Wed Jan 27 08:43:07 2010 From: ed at camswl.com (ed at camswl.com) Date: Wed, 27 Jan 2010 16:43:07 GMT Subject: RTC Thumb2 JIT fixes Message-ID: <201001271643.o0RGh7BY030513@mint.camswl.com> Hi folks, Below are some bug fixes for the Thumb2 JIT 1) Add stack checking to generated code A stack check is added to each non leaf method and to leaf methods which require a stack size > 200 bytes. The stack check ensures that there is at least 200 bytes 'slop' at the bottom of the stack so leaf methods which require < 200 bytes do not need a stack check. 2) IllegalMontorException takes priority over other exceptions. If an IllegalMonitorException is encountered while processing another exception the IlligalMonitorException should take precedence. 3) Make MP safe Now uses cmpxchg_ptr on the compiling flag before foing a compilation so it cannot end up doing 2 compilations at the same time. 4) Fix bug on methods with large number of locals. In methods with large number of locals the local could exceed the Thumb2 addressing range. This is because in Thumb2 the maximum negative offset is 2^8 whereas the maximum positive offset is 2^12. Local variables are negatively indexed off the 'locals' variable. The only happened to OSR methods on the call stub from interpreted code to compiled code when the compiled register state is loaded from the local variable pool. Solution is subtract 4000 from the locals pointer and then do the indexing using positive offsets rather than negative offsets. Any method with more that 1000 locals is simply not compiled. Thanks to Xerxes for finding this in http://www.slayradio.org/webplayer.php 5) Added buffer checking so the compiler is switched off if the compile buffer overflows. 6) Certain large methods which generated a tableswitch with > 64K code could fail Now rejects such methods and marks them as non compilable for future. 7) An accessor which accessed a 'byte' value was accessing it as an unsigned byte rather than an signed byte. Changed ldrb to ldrsb. 8) Added support for opcode 'return_register_finalizer'. Previously the was treated as a 'return' opcode. I have left the interpreter build as the default for the moment. The bug fixes above bring the JIT to a 'no known faults' state, so I would like to check this in, do some further testing and assuming all is OK, in the next few days pull the build switch and make it the default. OK to commit? Regards, Ed. --- CUT HERE ---------------------------------------------------------------------------- diff -ruNE old/icedtea6/ports/hotspot/src/cpu/zero/vm/asm_helper.cpp new/icedtea6/ports/hotspot/src/cpu/zero/vm/asm_helper.cpp --- old/icedtea6/ports/hotspot/src/cpu/zero/vm/asm_helper.cpp 2010-01-27 15:50:44.000000000 +0000 +++ new/icedtea6/ports/hotspot/src/cpu/zero/vm/asm_helper.cpp 2010-01-27 15:53:05.000000000 +0000 @@ -303,6 +303,7 @@ extern "C" void Helper_RaiseIllegalMonitorException(JavaThread *thread) { HandleMark __hm(thread); + thread->clear_pending_exception(); InterpreterRuntime::throw_illegal_monitor_state_exception(thread); } diff -ruNE old/icedtea6/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S new/icedtea6/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S --- old/icedtea6/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S 2010-01-27 15:50:44.000000000 +0000 +++ new/icedtea6/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S 2010-01-27 15:53:00.000000000 +0000 @@ -65,6 +65,9 @@ #define HW_FP #endif +#define LEAF_STACK_SIZE 200 +#define STACK_SPARE 40 + #define stack r4 #define jpc r5 #define dispatch r6 @@ -504,6 +507,7 @@ .text + .global cmpxchg_ptr cmpxchg_ptr: stmfd sp!, {r4, r5, r6, r7, r8, lr} mov r6, #0xffffffc0 @@ -2316,7 +2320,7 @@ ldr r3, [tmp1, #THREAD_JAVA_STACK_BASE] sub r5, r1, r8, lsl #2 - sub r5, r5, #FRAME_SIZE+4 + sub r5, r5, #FRAME_SIZE+STACK_SPARE+LEAF_STACK_SIZE sub r5, r5, r0, lsl #2 cmp r3, r5 bcs stack_overflow_before_frame @@ -2794,7 +2798,7 @@ ldr r3, [tmp1, #THREAD_JAVA_STACK_BASE] sub r5, stack, r7, lsl #2 - sub r5, r5, #FRAME_SIZE+4 + sub r5, r5, #FRAME_SIZE+STACK_SPARE+LEAF_STACK_SIZE sub r5, r5, r2, lsl #2 cmp r3, r5 bcs stack_overflow_before_frame @@ -2879,10 +2883,12 @@ DISPATCH 0 #ifdef THUMB2EE +#define THUMB2_MAXLOCALS 1000 call_thumb2: mov ip, r1 - mov r1, locals + sub r1, locals, #THUMB2_MAXLOCALS * 4 ldr r2, [istate, #ISTATE_THREAD] + sub r3, locals, #31 * 4 add stack, stack, #4 bx ip #endif // THUMB2EE @@ -4154,9 +4160,7 @@ #endif // USE_COMPILER #ifdef THUMB2EE - ldr r1, [r4, #CPUInfo-XXX] - tst r1, #ARCH_THUMBEE - blne Thumb2_Initialize + bl Thumb2_Initialize #endif #ifdef HW_FP @@ -6165,6 +6169,7 @@ .global Thumb2_Handle_Exception .global Thumb2_ArrayBounds_Handler .global Thumb2_NullPtr_Handler + .global Thumb2_Stack_Overflow Thumb2_ArrayBounds_Handler: ldr r0, [istate, #ISTATE_METHOD] ldr jpc, [r0, #METHOD_CONSTMETHOD] @@ -6178,6 +6183,12 @@ add jpc, jpc, #CONSTMETHOD_CODEOFFSET bl load_dispatch b handle_exception +Thumb2_Stack_Overflow: + mov r0, r2 + ldr ip, [r0, #THREAD_TOP_ZERO_FRAME] + str ip, [r0, #THREAD_LAST_JAVA_SP] + bl _ZN18InterpreterRuntime24throw_StackOverflowErrorEP10JavaThread + ldmfd arm_sp!, {fast_regset, pc} .global Thumb2_Exit_To_Interpreter Thumb2_Exit_To_Interpreter: diff -ruNE old/icedtea6/ports/hotspot/src/cpu/zero/vm/thumb2.cpp new/icedtea6/ports/hotspot/src/cpu/zero/vm/thumb2.cpp --- old/icedtea6/ports/hotspot/src/cpu/zero/vm/thumb2.cpp 2010-01-27 15:50:44.000000000 +0000 +++ new/icedtea6/ports/hotspot/src/cpu/zero/vm/thumb2.cpp 2010-01-27 15:52:53.000000000 +0000 @@ -22,6 +22,9 @@ #endif #define THUMB2_CODEBUF_SIZE (8 * 1024 * 1024) +#define THUMB2_MAX_BYTECODE_SIZE 10000 +#define THUMB2_MAX_T2CODE_SIZE 65000 +#define THUMB2_MAXLOCALS 1000 #include @@ -358,11 +361,37 @@ #define H_PUTSTATIC_A 57 #define H_PUTSTATIC_DW 58 -unsigned handlers[59]; +#define H_STACK_OVERFLOW 59 + +unsigned handlers[60]; + +#define LEAF_STACK_SIZE 200 +#define STACK_SPARE 40 + +#define COMPILER_RESULT_FAILED 1 // Failed to compiled this method +#define COMPILER_RESULT_FATAL 2 // Fatal - dont try compile anything ever again + +#include + +static jmp_buf compiler_error_env; + +#ifdef PRODUCT + +#define JASSERT(cond, msg) \ + do { \ + if (!(cond)) \ + longjmp(compiler_error_env, COMPILER_RESULT_FATAL); \ + } while (0) + +#define J_Unimplemented() longjmp(compiler_error_env, COMPILER_RESULT_FATAL) + +#else #define JASSERT(cond, msg) do { if (!(cond)) fatal(msg); } while (0) #define J_Unimplemented() { report_unimplemented(__FILE__, __LINE__); BREAKPOINT; } +#endif // PRODUCT + #define GET_NATIVE_U2(p) (*(unsigned short *)(p)) #define GET_JAVA_S1(p) (((signed char *)(p))[0]) @@ -381,14 +410,14 @@ Thumb2_CodeBuf *thumb2_codebuf; -unsigned bc_stackinfo[8000]; +unsigned bc_stackinfo[THUMB2_MAX_BYTECODE_SIZE]; unsigned locals_info[1000]; unsigned stack[1000]; unsigned r_local[1000]; #ifdef T2EE_PRINT_DISASS -short start_bci[65000]; -short end_bci[65000]; +short start_bci[THUMB2_MAX_T2CODE_SIZE]; +short end_bci[THUMB2_MAX_T2CODE_SIZE]; #endif // XXX hardwired constants! @@ -472,11 +501,13 @@ #define VFP_D6 70 #define VFP_D7 71 -#define JAZ_V1 ARM_R6 -#define JAZ_V2 ARM_R5 +#define PREGS 5 + +#define JAZ_V1 ARM_R5 +#define JAZ_V2 ARM_R6 #define JAZ_V3 ARM_R7 -#define JAZ_V4 ARM_R11 -#define JAZ_V5 ARM_R10 +#define JAZ_V4 ARM_R10 +#define JAZ_V5 ARM_R11 #define Rstack ARM_R4 #define Rlocals ARM_R7 @@ -507,9 +538,56 @@ return r; } +typedef struct Compiled_Method { + // All entry points aligned on a cache line boundary + // .align CODE_ALIGN + // slow_entry: @ callee save interface + // push {r4, r5, r6, r7, r9, r10, r11, lr} + // bl fast_entry + // pop {r4, r5, r6, r7, r9, r10, r11, pc} + unsigned slow_entry[3]; + // osr_tablep: @ pointer to the osr table + // .word osr_table + unsigned *osr_table; + Compiled_Method *next; + // OSR Entry point: + // R0 = entry point within compiled method + // R1 = locals + // R2 = thread + // osr_entry: + // @ Load each local into it register allocated register + // ldr , [R1, #- * 4] + // ... + // mov Rthread, R2 + // bx R0 + // .align CODE_ALIGN + unsigned osr_entry[1]; + // fast_entry: + // push {r8, lr} + // ... @ The compiled code + // pop {r8, pc} + // .align WORD_ALIGN + // code_handle: @ from interpreted entry + // .word slow_entry @ bottom bit must be set! + // osr_table: + // .word + // @@@ For bytecode 0 and for each backwards branch target + // .short + // .short @ offset in halfwords from slow_entry +} Compiled_Method; + +Compiled_Method *compiled_method_list = 0; +Compiled_Method **compiled_method_list_tail_ptr = &compiled_method_list; + +typedef struct Thumb2_Entrypoint { + unsigned compiled_entrypoint; + unsigned osr_entry; +} Thumb2_Entrypoint; + typedef struct CodeBuf { unsigned short *codebuf; unsigned idx; + unsigned limit; } CodeBuf; typedef struct Thumb2_Stack { @@ -521,6 +599,9 @@ typedef struct Thumb2_Registers { unsigned *r_local; + unsigned npregs; + unsigned pregs[PREGS]; + int mapping[PREGS]; } Thumb2_Registers; typedef struct Thumb2_Info { @@ -535,6 +616,7 @@ Thumb2_Registers *jregs; unsigned compiled_return; unsigned zombie_bytes; + unsigned is_leaf; } Thumb2_Info; #define IS_INT_SIZE_BASE_TYPE(c) (c=='B' || c=='C' || c=='F' || c=='I' || c=='S' || c=='Z') @@ -1238,10 +1320,12 @@ case opc_invokevirtual: case opc_invokespecial: case opc_invokestatic: + jinfo->is_leaf = 0; bci += 3; break; case opc_invokeinterface: + jinfo->is_leaf = 0; bci += 5; break; @@ -1393,7 +1477,7 @@ } #endif // ZOMBIT_DETECTION -void Thumb2_RegAlloc(Thumb2_Info *jinfo, unsigned *pregs, unsigned npregs) +void Thumb2_RegAlloc(Thumb2_Info *jinfo) { unsigned *locals_info = jinfo->locals_info; unsigned i, j; @@ -1401,7 +1485,10 @@ unsigned score, max_score; unsigned local; unsigned nlocals = jinfo->method->max_locals(); + unsigned *pregs = jinfo->jregs->pregs; + unsigned npregs = jinfo->jregs->npregs; + for (i = 0; i < npregs; i++) jinfo->jregs->mapping[i] = -1; for (i = 0; i < npregs; i++) { max_score = 0; for (j = 0; j < nlocals; j++) { @@ -1417,6 +1504,7 @@ if (max_score < 2) break; locals_info[local] |= 1<jregs->r_local[local] = pregs[i]; + jinfo->jregs->mapping[i] = local; } #ifdef T2EE_PRINT_REGUSAGE if (t2ee_print_regusage) { @@ -1842,6 +1930,8 @@ //------------------------------------------------------------------------------------ +#define TBIT 1 + #define E_STR_IMM6(src, imm6) (0xce00 | ((imm6)<<3) | (src)) #define E_LDR_IMM6(dst, imm6) (0xcc00 | ((imm6)<<3) | (dst)) #define E_LDR_IMM5(dst, imm5) (0xcb00 | ((imm5)<<3) | (dst)) @@ -2019,6 +2109,8 @@ int out_16(CodeBuf *codebuf, u32 s) { + if (codebuf->idx >= codebuf->limit) + longjmp(compiler_error_env, COMPILER_RESULT_FATAL); codebuf->codebuf[codebuf->idx++] = s; return 0; } @@ -2034,6 +2126,8 @@ int out_32(CodeBuf *codebuf, u32 w) { + if (codebuf->idx + 2 > codebuf->limit) + longjmp(compiler_error_env, COMPILER_RESULT_FATAL); *(u32 *)&(codebuf->codebuf[codebuf->idx]) = w; codebuf->idx += 2; return 0; @@ -4388,7 +4482,9 @@ loc = forward_32(jinfo->codebuf); out_32(jinfo->codebuf, 0); out_32(jinfo->codebuf, 0); - out_32(jinfo->codebuf, 0); + + out_32(jinfo->codebuf, 0); // pointer to osr table + out_32(jinfo->codebuf, 0); // next compiled method // OSR entry point mov_reg(jinfo->codebuf, ARM_PC, ARM_R0); @@ -4401,7 +4497,7 @@ ldr_imm(jinfo->codebuf, ARM_R1, ARM_R2, THREAD_JAVA_SP, 1, 0); ldr_imm(jinfo->codebuf, ARM_R0, ARM_R1, 0, 1, 0); if (tos_type == btos) - ldrb_imm(jinfo->codebuf, ARM_R0, ARM_R0, field_offset, 1, 0); + ldrsb_imm(jinfo->codebuf, ARM_R0, ARM_R0, field_offset, 1, 0); else if (tos_type == ctos) ldrh_imm(jinfo->codebuf, ARM_R0, ARM_R0, field_offset, 1, 0); else if (tos_type == stos) @@ -4428,19 +4524,24 @@ bl(jinfo->codebuf, out_pos(jinfo->codebuf) + CODE_ALIGN - 4); ldm(jinfo->codebuf, I_REGSET + (1<codebuf, 0); + out_32(jinfo->codebuf, 0); // Space for osr_table point + out_32(jinfo->codebuf, 0); // Pointer to next method // OSR entry point == Slow entry + 16 - caller save // R0 = entry point within compiled method - // R1 = locals + // R1 = locals - THUMB2_MAXLOCALS * 4 // R2 = thread + // R3 = locals - 31 * 4 { int nlocals = jinfo->method->max_locals(); for (i = 0; i < nlocals; i++) { Reg r = jinfo->jregs->r_local[i]; if (r) { - ldr_imm(jinfo->codebuf, r, ARM_R1, -i * 4, 1, 0); + ldr_imm(jinfo->codebuf, r, + (i < 32) ? ARM_R3 : ARM_R1, + (i < 32) ? (31 - i) * 4 : (THUMB2_MAXLOCALS - i) * 4, + 1, 0); } } mov_reg(jinfo->codebuf, Rthread, ARM_R2); @@ -4456,6 +4557,19 @@ // enter_leave(jinfo->codebuf, 1); ldr_imm(jinfo->codebuf, Rstack, ARM_R2, THREAD_JAVA_SP, 1, 0); Thumb2_Debug(jinfo, H_DEBUG_METHODENTRY); + { + unsigned stacksize; + + stacksize = (extra_locals + jinfo->method->max_stack()) * sizeof(int); + stacksize += FRAME_SIZE + STACK_SPARE; + if (!jinfo->is_leaf || stacksize > LEAF_STACK_SIZE) { + ldr_imm(jinfo->codebuf, ARM_R3, ARM_R2, THREAD_JAVA_STACK_BASE, 1, 0); + sub_imm(jinfo->codebuf, ARM_R1, Rstack, stacksize + LEAF_STACK_SIZE); + cmp_reg(jinfo->codebuf, ARM_R3, ARM_R1); + it(jinfo->codebuf, COND_CS, IT_MASK_T); + bl(jinfo->codebuf, handlers[H_STACK_OVERFLOW]); + } + } mov_imm(jinfo->codebuf, ARM_R1, 0); if (extra_locals > 0) { @@ -4610,6 +4724,8 @@ #define OPCODE2HANDLER(opc) (handlers[opcode2handler[(opc)-opc_idiv]]) +extern "C" void _ZN18InterpreterRuntime18register_finalizerEP10JavaThreadP7oopDesc(void); + void Thumb2_codegen(Thumb2_Info *jinfo, unsigned start) { unsigned code_size = jinfo->code_size; @@ -4636,7 +4752,7 @@ stackdepth = stackinfo & ~BC_FLAGS_MASK; bc_stackinfo[bci] = (stackinfo & BC_FLAGS_MASK) | (codebuf->idx * 2) | BC_COMPILED; - if (opcode > OPC_LAST_JAVA_OP) { + if (opcode > OPC_LAST_JAVA_OP && opcode != opc_return_register_finalizer) { if (Bytecodes::is_defined((Bytecodes::Code)opcode)) opcode = (unsigned)Bytecodes::java_code((Bytecodes::Code)opcode); } @@ -5951,6 +6067,41 @@ if (!jinfo->compiled_return) jinfo->compiled_return = bci; break; + case opc_return_register_finalizer: { + Thumb2_Stack *jstack = jinfo->jstack; + Reg r, r_tmp; + unsigned loc_eq; + + Thumb2_Flush(jinfo); + Thumb2_Load(jinfo, 0, stackdepth); + r = POP(jstack); + r_tmp = Thumb2_Tmp(jinfo, (1<codebuf, r_tmp, r, 4, 1, 0); + ldr_imm(jinfo->codebuf, r_tmp, r_tmp, KLASS_PART+KLASS_ACCESSFLAGS, 1, 0); + tst_imm(jinfo->codebuf, r_tmp, JVM_ACC_HAS_FINALIZER); + loc_eq = forward_16(jinfo->codebuf); + Thumb2_save_locals(jinfo, stackdepth); + mov_reg(jinfo->codebuf, ARM_R1, r); + ldr_imm(jinfo->codebuf, ARM_R0, Ristate, ISTATE_METHOD, 1, 0); + ldr_imm(jinfo->codebuf, ARM_R0, ARM_R0, METHOD_CONSTMETHOD, 1, 0); + add_imm(jinfo->codebuf, ARM_R0, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); + str_imm(jinfo->codebuf, ARM_R0, Ristate, ISTATE_BCP, 1, 0); + sub_imm(jinfo->codebuf, ARM_R0, Rstack, 4); + str_imm(jinfo->codebuf, ARM_R0, Ristate, ISTATE_STACK, 1, 0); + + mov_reg(jinfo->codebuf, ARM_R0, Rthread); + mov_imm(jinfo->codebuf, ARM_R3, (u32)_ZN18InterpreterRuntime18register_finalizerEP10JavaThreadP7oopDesc); + blx_reg(jinfo->codebuf, ARM_R3); + + ldr_imm(jinfo->codebuf, ARM_R3, Rthread, THREAD_PENDING_EXC, 1, 0); + cmp_imm(jinfo->codebuf, ARM_R3, 0); + it(jinfo->codebuf, COND_NE, IT_MASK_T); + bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION]); + bcc_patch(jinfo->codebuf, COND_EQ, loc_eq); + Thumb2_Return(jinfo, opc_return); + break; + } + case opc_new: { unsigned loc; @@ -6246,7 +6397,9 @@ } else { JASSERT((dest & 1) == 0 && (table_loc & 1) == 0, "unaligned code"); offset = (dest >> 1) - (table_loc >> 1); - JASSERT(offset < 65536, "offset too big in tableswitch"); + if (offset >= 65536) { + longjmp(compiler_error_env, COMPILER_RESULT_FAILED); + } out_16(jinfo->codebuf, offset); } } @@ -6316,8 +6469,10 @@ unsigned bci; unsigned *count_pos = (unsigned *)out_pos(jinfo->codebuf); unsigned count = 0; + unsigned i; + CodeBuf *codebuf = jinfo->codebuf; - out_32(jinfo->codebuf, 0); + out_32(codebuf, 0); bc_stackinfo[0] |= BC_BACK_TARGET; for (bci = 0; bci < code_size;) { unsigned stackinfo = bc_stackinfo[bci]; @@ -6327,8 +6482,11 @@ if (stackinfo & BC_BACK_TARGET) { unsigned code_offset = (stackinfo & ~BC_FLAGS_MASK) >> 1; JASSERT(stackinfo & BC_COMPILED, "back branch target not compiled???"); - JASSERT(code_offset < (1<<16), "oops, codesize too big"); - out_32(jinfo->codebuf, (bci << 16) | code_offset); + if (code_offset >= 65536) { + longjmp(compiler_error_env, COMPILER_RESULT_FAILED); + } +// JASSERT(code_offset < (1<<16), "oops, codesize too big"); + out_32(codebuf, (bci << 16) | code_offset); count++; } @@ -6346,14 +6504,16 @@ *count_pos = count; } -unsigned Thumb2_osr_from_bci(unsigned slow_entry, unsigned bci) +extern "C" void Thumb2_Clear_Cache(char *base, char *limit); +#define IS_COMPILED(e, cb) ((e) >= (unsigned)(cb) && (e) < (unsigned)(cb) + (cb)->size) + +unsigned Thumb2_osr_from_bci(Compiled_Method *cmethod, unsigned bci) { unsigned *osr_table; unsigned count; unsigned i; - slow_entry &= ~1; - osr_table = *(unsigned **)(slow_entry+12); + osr_table = cmethod->osr_table; if (!osr_table) return 0; count = *osr_table++; for (i = 0; i < count; i++) { @@ -6462,9 +6622,10 @@ #define IS_COMPILED(e, cb) ((e) >= (unsigned)(cb) && (e) < (unsigned)(cb) + (cb)->size) -static unsigned compiling; +extern "C" unsigned cmpxchg_ptr(unsigned new_value, volatile unsigned *ptr, unsigned cmp_value); +static volatile unsigned compiling; static unsigned CompileCount = 0; -static unsigned MaxCompile = 75; +static unsigned MaxCompile = 35; #define COMPILE_ONLY 0 #define COMPILE_COUNT 0 @@ -6473,7 +6634,6 @@ #ifdef COMPILE_LIST static const char *compile_list[] = { - "java.util.concurrent.ConcurrentHashMap.(IFI)V", 0 }; #endif @@ -6487,12 +6647,12 @@ static clock_t total_compile_time = 0; #endif -extern "C" void Thumb2_Clear_Cache(char *base, char *limit); - extern unsigned CPUInfo; +static int DisableCompiler = 0; extern "C" unsigned long long Thumb2_Compile(JavaThread *thread, unsigned branch_pc) { + HandleMark __hm(thread); frame fr = thread->last_frame(); methodOop method = fr.interpreter_frame_method(); symbolOop name = method->name(); @@ -6509,21 +6669,28 @@ Thumb2_Registers jregs_str; int idx; u32 code_handle, slow_entry; - u32 osr_entry; Thumb2_CodeBuf *cb = thumb2_codebuf; + int rc; + char *saved_hp; + Compiled_Method *cmethod; + u32 compiled_offset; + Thumb2_Entrypoint thumb_entry; int compiled_accessor; - if (!(CPUInfo & ARCH_THUMBEE)) { - ic->decay(); - bc->decay(); + if (DisableCompiler || method->is_not_compilable()) { + ic->set(ic->state(), 1); + bc->set(ic->state(), 1); return 0; } slow_entry = *(unsigned *)method->from_interpreted_entry(); if (IS_COMPILED(slow_entry, cb)) { - osr_entry = Thumb2_osr_from_bci(slow_entry, branch_pc); - if (osr_entry == 0) return 0; - return ((unsigned long long)(slow_entry + 16)) << 32 | (slow_entry+osr_entry); + cmethod = (Compiled_Method *)(slow_entry & ~TBIT); + compiled_offset = Thumb2_osr_from_bci(cmethod, branch_pc); + if (compiled_offset == 0) return 0; + thumb_entry.compiled_entrypoint = slow_entry + compiled_offset; + thumb_entry.osr_entry = (unsigned)cmethod->osr_entry | TBIT; + return *(unsigned long long *)&thumb_entry; } ic->decay(); @@ -6531,21 +6698,21 @@ // Dont compile anything with code size >= 32K. // We rely on the bytecode index fitting in 16 bits - if (code_size >= 8000) - return 0; - + // // Dont compile anything with max stack + maxlocal > 1K // The range of an LDR in T2 is -4092..4092 // Othersize we have difficulty access the locals from the stack pointer - if ((method->max_locals() + method->max_stack()) >= 1000) + // + if (code_size > THUMB2_MAX_BYTECODE_SIZE || + (method->max_locals() + method->max_stack()) >= 1000 || + method->has_monitor_bytecodes() || + method->has_exception_handler()) { + method->set_not_compilable(); return 0; + } if (COMPILE_COUNT && compiled_methods == COMPILE_COUNT) return 0; - if (method->has_monitor_bytecodes()) return 0; - - if (method->has_exception_handler()) return 0; - if (COMPILE_ONLY) { if (strcmp(name->as_C_string(), COMPILE_ONLY) != 0) return 0; } @@ -6562,8 +6729,18 @@ } #endif - if (compiling) return 0; - compiling = 1; + saved_hp = cb->hp; + if (rc = setjmp(compiler_error_env)) { + cb->hp = saved_hp; + if (rc == COMPILER_RESULT_FAILED) + method->set_not_compilable(); + if (rc == COMPILER_RESULT_FATAL) + DisableCompiler = 1; + compiling = 0; + return 0; + } + + if (cmpxchg_ptr(1, &compiling, 0)) return 0; #ifdef T2EE_PRINT_STATISTICS clock_t compile_time = clock(); @@ -6591,6 +6768,7 @@ jinfo_str.locals_info = locals_info; jinfo_str.compiled_return = 0; jinfo_str.zombie_bytes = 0; + jinfo_str.is_leaf = 1; Thumb2_local_info_from_sig(&jinfo_str, method, base); @@ -6599,6 +6777,7 @@ codebuf_str.codebuf = (unsigned short *)cb->hp; codebuf_str.idx = 0; + codebuf_str.limit = (unsigned short *)cb->sp - (unsigned short *)cb->hp; jstack_str.stack = stack; jstack_str.depth = 0; @@ -6611,39 +6790,33 @@ jinfo_str.jstack = &jstack_str; jinfo_str.jregs = &jregs_str; -#ifdef USE_RLOCAL - { - Reg pregs[4]; - pregs[0] = JAZ_V1; - pregs[1] = JAZ_V2; - pregs[2] = JAZ_V4; - pregs[3] = JAZ_V5; - Thumb2_RegAlloc(&jinfo_str, pregs, 4); - } -#else - { - Reg pregs[5]; - pregs[0] = JAZ_V1; - pregs[1] = JAZ_V2; - pregs[2] = JAZ_V3; - pregs[3] = JAZ_V4; - pregs[4] = JAZ_V5; - Thumb2_RegAlloc(&jinfo_str, pregs, 5); - } + jregs_str.pregs[0] = JAZ_V1; + jregs_str.pregs[1] = JAZ_V2; + jregs_str.pregs[2] = JAZ_V3; + jregs_str.pregs[3] = JAZ_V4; + +#ifndef USE_RLOCAL + jregs_str.pregs[4] = JAZ_V5; #endif + jregs_str.npregs = PREGS; + + Thumb2_RegAlloc(&jinfo_str); + slow_entry = out_align(&codebuf_str, CODE_ALIGN); + cmethod = (Compiled_Method *)slow_entry; + slow_entry |= TBIT; cb->hp += codebuf_str.idx * 2; codebuf_str.codebuf = (unsigned short *)cb->hp; codebuf_str.idx = 0; + codebuf_str.limit = (unsigned short *)cb->sp - (unsigned short *)cb->hp; - compiled_accessor = 0; - if (method->is_accessor() && Thumb2_Accessor(&jinfo_str)) { - compiled_accessor = 1; - } else { + compiled_accessor = 1; + if (!method->is_accessor() || !Thumb2_Accessor(&jinfo_str)) { Thumb2_Enter(&jinfo_str); Thumb2_codegen(&jinfo_str, 0); + compiled_accessor = 0; } #ifdef T2EE_PRINT_DISASS @@ -6671,35 +6844,39 @@ code_handle = out_align(&codebuf_str, sizeof(address)); - out_32(&codebuf_str, slow_entry + 1); + out_32(&codebuf_str, slow_entry); if (!compiled_accessor) { unsigned osr_entry_table = out_pos(jinfo_str.codebuf); Thumb2_tablegen(&jinfo_str); - *(unsigned *)(slow_entry + 12) = osr_entry_table; + cmethod->osr_table = (unsigned *)osr_entry_table; } cb->hp += codebuf_str.idx * 2; + *compiled_method_list_tail_ptr = cmethod; + compiled_method_list_tail_ptr = &(cmethod->next); + Thumb2_Install(method, code_handle); compiled_methods++; compiling = 0; - osr_entry = Thumb2_osr_from_bci(slow_entry, branch_pc); - - if (osr_entry == 0) return 0; - - return ((unsigned long long)(slow_entry + 16 + 1)) << 32 | (slow_entry+osr_entry+1); + compiled_offset = Thumb2_osr_from_bci(cmethod, branch_pc); + if (compiled_offset == 0) return 0; + thumb_entry.compiled_entrypoint = slow_entry + compiled_offset; + thumb_entry.osr_entry = (unsigned)cmethod->osr_entry | TBIT; + return *(unsigned long long *)&thumb_entry; } extern "C" void Thumb2_DivZero_Handler(void); extern "C" void Thumb2_ArrayBounds_Handler(void); extern "C" void Thumb2_Handle_Exception(void); extern "C" void Thumb2_Exit_To_Interpreter(void); +extern "C" void Thumb2_Stack_Overflow(void); extern "C" void __divsi3(void); extern "C" void __aeabi_ldivmod(void); @@ -6804,6 +6981,12 @@ Thumb2_CodeBuf *cb; u32 h_divzero; u32 loc_irem, loc_idiv, loc_ldiv; + int rc; + + if (!(CPUInfo & ARCH_THUMBEE)) { + DisableCompiler = 1; + return; + } #ifdef T2EE_PRINT_COMPILATION t2ee_print_compilation = getenv("T2EE_PRINT_COMPILATION"); @@ -6820,7 +7003,7 @@ cb = (Thumb2_CodeBuf *)mmap(0, THUMB2_CODEBUF_SIZE, PROT_EXEC|PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0); if (cb == MAP_FAILED) { - UseCompiler = 0; + DisableCompiler = 1; return; } @@ -6830,6 +7013,12 @@ codebuf.codebuf = (unsigned short *)cb->hp; codebuf.idx = 0; + codebuf.limit = (unsigned short *)cb->sp - (unsigned short *)cb->hp; + + if (rc = setjmp(compiler_error_env)) { + DisableCompiler = 1; + return; + } #if 1 memcpy(cb->hp, Thumb2_stubs, STUBS_SIZE); @@ -6885,6 +7074,10 @@ mov_imm(&codebuf, ARM_R3, (u32)Thumb2_Handle_Exception); mov_reg(&codebuf, ARM_PC, ARM_R3); + handlers[H_STACK_OVERFLOW] = out_pos(&codebuf); + mov_imm(&codebuf, ARM_R3, (u32)Thumb2_Stack_Overflow); + mov_reg(&codebuf, ARM_PC, ARM_R3); + handlers[H_DREM] = out_pos(&codebuf); mov_imm(&codebuf, ARM_IP, (u32)fmod); mov_reg(&codebuf, ARM_PC, ARM_IP); From andrew at icedtea.classpath.org Wed Jan 27 09:38:53 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 27 Jan 2010 17:38:53 +0000 Subject: /hg/release/icedtea6-1.7: Patch splashscreen to build against li... Message-ID: changeset be3968e8941c in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=be3968e8941c author: Andrew John Hughes date: Wed Jan 27 17:38:39 2010 +0000 Patch splashscreen to build against libpng 1.4. 2010-01-27 Andrew John Hughes * HACKING: Document new patch. * Makefile.am: Add new patch. * patches/libpng.patch: Patch splashscreen code so that it will build against libpng 1.4 (png_check_sig --> png_sig_cmp) diffstat: 4 files changed, 30 insertions(+), 7 deletions(-) ChangeLog | 21 +++++++++++++++------ HACKING | 1 + Makefile.am | 3 ++- patches/libpng.patch | 12 ++++++++++++ diffs (75 lines): diff -r de28f0f20623 -r be3968e8941c ChangeLog --- a/ChangeLog Wed Jan 27 15:59:17 2010 +0000 +++ b/ChangeLog Wed Jan 27 17:38:39 2010 +0000 @@ -1,3 +1,18 @@ 2010-01-27 Matthias Klose + + * HACKING: Document new patch. + * Makefile.am: Add new patch. + * patches/libpng.patch: + Patch splashscreen code so that + it will build against libpng 1.4 + (png_check_sig --> png_sig_cmp) + +2010-01-27 Andrew John Hughes + + * NEWS: + Add missing items for 1.5.1, 1.5.2, + 1.5.3, 1.6.1 and 1.6.2. + 2010-01-27 Matthias Klose * Makefile.am: Remove quoting from ICEDTEA_NAME ICEDTEA_REV @@ -10,12 +25,6 @@ 2010-01-26 Andrew John Hughes - - * NEWS: - Add missing items for 1.5.1, 1.5.2, - 1.5.3, 1.6.1 and 1.6.2. - 2010-01-26 Deepak Bhole * NEWS: Added message about alpha release for the new NPR based plugin. diff -r de28f0f20623 -r be3968e8941c HACKING --- a/HACKING Wed Jan 27 15:59:17 2010 +0000 +++ b/HACKING Wed Jan 27 17:38:39 2010 +0000 @@ -115,6 +115,7 @@ The following patches are only applied t * openjdk/6648816.patch: Backport of regression (NPE) fix in AccessControlContext (PR364/S6648816) * icedtea-nss-config.patch: Add the NSS PKCS11 security provider. (PR356) * icedtea-nss-6763530.patch: Fix PKCS11 provider when used with newer version of NSS (>=3.12.3) (PR356, S6763530). +* libpng.patch: Use png_sig_cmp instead of png_check_sig so we can build against libpng 1.4. The following patches are only applied to OpenJDK in IcedTea: diff -r de28f0f20623 -r be3968e8941c Makefile.am --- a/Makefile.am Wed Jan 27 15:59:17 2010 +0000 +++ b/Makefile.am Wed Jan 27 17:38:39 2010 +0000 @@ -303,7 +303,8 @@ ICEDTEA_PATCHES = \ patches/icedtea-6897844-xshm.patch \ patches/icedtea-linux-separate-debuginfo.patch \ patches/icedtea-parisc.patch \ - patches/icedtea-sh4-support.patch + patches/icedtea-sh4-support.patch \ + patches/libpng.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r de28f0f20623 -r be3968e8941c patches/libpng.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/libpng.patch Wed Jan 27 17:38:39 2010 +0000 @@ -0,0 +1,12 @@ +diff -r 93c580ce5e88 jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c +--- openjdk.orig/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c Fri Jan 15 08:41:51 2010 -0800 ++++ openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c Wed Jan 27 16:52:44 2010 +0000 +@@ -182,7 +182,7 @@ + int success = 0; + + stream->read(stream, sig, SIG_BYTES); +- if (!png_check_sig(sig, SIG_BYTES)) { ++ if (png_sig_cmp(sig, 0, SIG_BYTES)) { + goto done; + } + success = SplashDecodePng(splash, my_png_read_stream, stream); From gnu_andrew at member.fsf.org Wed Jan 27 09:43:27 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Wed, 27 Jan 2010 17:43:27 +0000 Subject: Plugin crashes with Xulrunner 1.9.2/libpng/libjpeg In-Reply-To: <20100123000532.56960c4b@workstation64.home> References: <20100123000532.56960c4b@workstation64.home> Message-ID: <17c6771e1001270943i23c9e98dmbd6c0c518d5ced3@mail.gmail.com> 2010/1/22 Andreas Radke : > I'm building for ArchLinux the packages. We are currently updating libpng and libjpeg > at once and need to rebuild/fix openjdk. > When I understand it right with new xulrunner 1.9.2 it's no more possible to build the old > plugin (configure passed but the build quickly fails). > > With npplugin I get this: > checking for XULRUNNER... configure: error: Package requirements ( ? ? ?nspr mozilla-js mozilla-plugin libxul-unstable >= 1.9) were not met: > > No package 'libxul-unstable' found > > I have to apply sed -i "s/libxul-unstable/libxul/" configure.ac to pass configure. This should now build, and npplugin will be automatically enabled for xulrunner >= 1.9.2. > The pkg builds fine then but as soon as the plugin is called the browsers gives a segfault. > > Checking with ldd /usr/lib/mozilla/plugins/IcedTeaNPPlugin.so gives: > ? ? ? ?libxul.so => not found > ? ? ? ?libxpcom.so => not found > How does that come? > No idea, the plugin works here with 1.9.2. > > > Something else: I have to apply this for the new libpng 1.4.0: > > -- openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c 2010-01-22 16:40:55.984689900 +0000 > +++ openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c.new ? ?2010-01-22 16:59:25.450412461 +0000 > @@ -182,7 +182,7 @@ > ? ? int success = 0; > > ? ? stream->read(stream, sig, SIG_BYTES); > - ? ?if (!png_check_sig(sig, SIG_BYTES)) { > + ? ?if (png_sig_cmp(sig, 0, SIG_BYTES)) { > ? ? ? ? goto done; > ? ? } > ? ? success = SplashDecodePng(splash, my_png_read_stream, stream); > Patched in 1.7. > I hope this is the proper change to replace the deprecated function and not causing the trouble. > The function is also called here but I don't know how f it is has to be changed there: > [andyrtr at workstation64 trunk]$ ?grep -r png_check_sig src/* > src/icedtea6/openjdk/jdk/src/share/native/sun/awt/libpng/png.h: * png_check_sig(sig, n) := !png_sig_cmp(sig, 0, n). > src/icedtea6/openjdk/jdk/src/share/native/sun/awt/libpng/png.h:extern PNG_EXPORT(int,png_check_sig) PNGARG((png_bytep sig, int num)); > src/icedtea6/openjdk/jdk/src/share/native/sun/awt/libpng/png.c:png_check_sig(png_bytep sig, int num) > src/icedtea6/openjdk/jdk/src/share/native/sun/awt/libpng/CHANGES: ?Changed libpng.txt to demonstrate png_sig_cmp() instead of > There's only one call. The OpenJDK sources include an old version of libpng that IcedTea doesn't use. > and we will have to find fixes for libjpeg ver 8. Is there already something floating around? Fixed in 1.7. > > -Andy > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From andrew at icedtea.classpath.org Wed Jan 27 09:48:09 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 27 Jan 2010 17:48:09 +0000 Subject: /hg/release/icedtea6-1.7: Update news for release. Message-ID: changeset 9629be2e762b in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=9629be2e762b author: Andrew John Hughes date: Wed Jan 27 17:48:02 2010 +0000 Update news for release. 2010-01-27 Andrew John Hughes * NEWS: Updated for 1.7 release. diffstat: 2 files changed, 12 insertions(+), 5 deletions(-) ChangeLog | 4 ++++ NEWS | 13 ++++++++----- diffs (40 lines): diff -r be3968e8941c -r 9629be2e762b ChangeLog --- a/ChangeLog Wed Jan 27 17:38:39 2010 +0000 +++ b/ChangeLog Wed Jan 27 17:48:02 2010 +0000 @@ -1,3 +1,7 @@ 2010-01-27 Andrew John Hughes + + * NEWS: Updated for 1.7 release. + 2010-01-27 Andrew John Hughes * HACKING: Document new patch. diff -r be3968e8941c -r 9629be2e762b NEWS --- a/NEWS Wed Jan 27 17:38:39 2010 +0000 +++ b/NEWS Wed Jan 27 17:48:02 2010 +0000 @@ -1,17 +1,20 @@ New in release 1.7 (XXXX-XX-XX): -New in release 1.7 (XXXX-XX-XX): +New in release 1.7 (2010-01-27): - Updated to OpenJDK6 b17. - Alpha version of the new IcedTea NPRuntime based plugin with support for Firefox >= 3.5, Chromium, and other browsers that support NPRuntime - (use --enable-npplugin to build it). + (use --enable-npplugin to build it). For xulrunner >= 1.9.2 (used + by Firefox >= 3.6), the new plugin is required and the build will + automatically enable it if the old plugin is requested. - Support added for building with HotSpot 16 using - --with-hotspot-build=hs16. + --with-hotspot-build=hs16. This is the same as was released + in the proprietary JDK6 update 18. - Zero port updated to match the version submitted to OpenJDK as closely as possible. -- libjpeg7 and libXext >= 1.1.0 supported. +- libjpeg7, libjpeg8, libpng 1.4 and libXext >= 1.1.0 supported. - 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. +- Add support for building the Zero assembler port on Hitachi SH. New in release 1.6.2 (2009-11-09) - Latest security updates: From andrew at icedtea.classpath.org Wed Jan 27 09:52:40 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 27 Jan 2010 17:52:40 +0000 Subject: /hg/release/icedtea6-1.7: Reference plugin directory by absolute... Message-ID: changeset 4bfb7468a41e in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=4bfb7468a41e author: Andrew John Hughes date: Wed Jan 27 17:52:01 2010 +0000 Reference plugin directory by absolute path to avoid confusion with Makefile target. 2010-01-27 Andrew John Hughes * Makefile.am: Reference plugin directory by absolute path in EXTRA_DIST to avoid confusion with build rule. diffstat: 2 files changed, 7 insertions(+), 1 deletion(-) ChangeLog | 6 ++++++ Makefile.am | 2 +- diffs (25 lines): diff -r 9629be2e762b -r 4bfb7468a41e ChangeLog --- a/ChangeLog Wed Jan 27 17:48:02 2010 +0000 +++ b/ChangeLog Wed Jan 27 17:52:01 2010 +0000 @@ -1,3 +1,9 @@ 2010-01-27 Andrew John Hughes + + * Makefile.am: Reference plugin + directory by absolute path in EXTRA_DIST + to avoid confusion with build rule. + 2010-01-27 Andrew John Hughes * NEWS: Updated for 1.7 release. diff -r 9629be2e762b -r 4bfb7468a41e Makefile.am --- a/Makefile.am Wed Jan 27 17:48:02 2010 +0000 +++ b/Makefile.am Wed Jan 27 17:52:01 2010 +0000 @@ -569,7 +569,7 @@ EXTRA_DIST = rt generated \ test/jtreg \ IcedTeaPlugin.cc \ HACKING pulseaudio fsg.sh \ - plugin \ + $(abs_top_srcdir)/plugin \ hotspot.map \ autogen.sh \ tapset/hotspot.stp.in \ From andrew at icedtea.classpath.org Wed Jan 27 10:38:42 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 27 Jan 2010 18:38:42 +0000 Subject: /hg/release/icedtea6-1.7: Added tag icedtea6-1.7 for changeset 4... Message-ID: changeset 1338c270a9c1 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=1338c270a9c1 author: Andrew John Hughes date: Wed Jan 27 18:38:33 2010 +0000 Added tag icedtea6-1.7 for changeset 4bfb7468a41e diffstat: 1 file changed, 1 insertion(+) .hgtags | 1 + diffs (8 lines): diff -r 4bfb7468a41e -r 1338c270a9c1 .hgtags --- a/.hgtags Wed Jan 27 17:52:01 2010 +0000 +++ b/.hgtags Wed Jan 27 18:38:33 2010 +0000 @@ -17,3 +17,4 @@ 926c38e2b2830971f6ca0dff2ce25f78a694b178 926c38e2b2830971f6ca0dff2ce25f78a694b178 icedtea6-1.5rc3 9420faca6468e1c75e9bfa73b31246ba0b73a77d icedtea-1.6-branchpoint 8826d5735e2ca97ecdb35e7c977785d3e5b99556 icedtea6-1.7-branch +4bfb7468a41eb089cac8dfb40fb6d79abe19db36 icedtea6-1.7 From andrew at icedtea.classpath.org Wed Jan 27 10:40:11 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 27 Jan 2010 18:40:11 +0000 Subject: /hg/icedtea6: 3 new changesets Message-ID: changeset 276a837a38a9 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=276a837a38a9 author: Andrew John Hughes date: Wed Jan 27 17:38:39 2010 +0000 Patch splashscreen to build against libpng 1.4. 2010-01-27 Andrew John Hughes * HACKING: Document new patch. * Makefile.am: Add new patch. * patches/libpng.patch: Patch splashscreen code so that it will build against libpng 1.4 (png_check_sig --> png_sig_cmp) changeset 7980a518582b in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=7980a518582b author: Andrew John Hughes date: Wed Jan 27 17:48:02 2010 +0000 Update news for release. 2010-01-27 Andrew John Hughes * NEWS: Updated for 1.7 release. changeset bb0e039df90a in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=bb0e039df90a author: Andrew John Hughes date: Wed Jan 27 17:52:01 2010 +0000 Reference plugin directory by absolute path to avoid confusion with Makefile target. 2010-01-27 Andrew John Hughes * Makefile.am: Reference plugin directory by absolute path in EXTRA_DIST to avoid confusion with build rule. diffstat: 5 files changed, 43 insertions(+), 7 deletions(-) ChangeLog | 19 +++++++++++++++++++ HACKING | 1 + Makefile.am | 5 +++-- NEWS | 13 ++++++++----- patches/libpng.patch | 12 ++++++++++++ diffs (107 lines): diff -r 21868e8c115a -r bb0e039df90a ChangeLog --- a/ChangeLog Wed Jan 27 16:04:13 2010 +0000 +++ b/ChangeLog Wed Jan 27 17:52:01 2010 +0000 @@ -1,3 +1,22 @@ 2010-01-27 Andrew John Hughes + + * Makefile.am: Reference plugin + directory by absolute path in EXTRA_DIST + to avoid confusion with build rule. + +2010-01-27 Andrew John Hughes + + * NEWS: Updated for 1.7 release. + +2010-01-27 Andrew John Hughes + + * HACKING: Document new patch. + * Makefile.am: Add new patch. + * patches/libpng.patch: + Patch splashscreen code so that + it will build against libpng 1.4 + (png_check_sig --> png_sig_cmp) + 2010-01-27 Andrew John Hughes * NEWS: diff -r 21868e8c115a -r bb0e039df90a HACKING --- a/HACKING Wed Jan 27 16:04:13 2010 +0000 +++ b/HACKING Wed Jan 27 17:52:01 2010 +0000 @@ -115,6 +115,7 @@ The following patches are only applied t * openjdk/6648816.patch: Backport of regression (NPE) fix in AccessControlContext (PR364/S6648816) * icedtea-nss-config.patch: Add the NSS PKCS11 security provider. (PR356) * icedtea-nss-6763530.patch: Fix PKCS11 provider when used with newer version of NSS (>=3.12.3) (PR356, S6763530). +* libpng.patch: Use png_sig_cmp instead of png_check_sig so we can build against libpng 1.4. The following patches are only applied to OpenJDK in IcedTea: diff -r 21868e8c115a -r bb0e039df90a Makefile.am --- a/Makefile.am Wed Jan 27 16:04:13 2010 +0000 +++ b/Makefile.am Wed Jan 27 17:52:01 2010 +0000 @@ -306,7 +306,8 @@ ICEDTEA_PATCHES = \ patches/icedtea-6897844-xshm.patch \ patches/icedtea-linux-separate-debuginfo.patch \ patches/icedtea-parisc.patch \ - patches/icedtea-sh4-support.patch + patches/icedtea-sh4-support.patch \ + patches/libpng.patch if WITH_RHINO ICEDTEA_PATCHES += \ @@ -571,7 +572,7 @@ EXTRA_DIST = rt generated \ test/jtreg \ IcedTeaPlugin.cc \ HACKING pulseaudio fsg.sh \ - plugin \ + $(abs_top_srcdir)/plugin \ hotspot.map \ autogen.sh \ tapset/hotspot.stp.in \ diff -r 21868e8c115a -r bb0e039df90a NEWS --- a/NEWS Wed Jan 27 16:04:13 2010 +0000 +++ b/NEWS Wed Jan 27 17:52:01 2010 +0000 @@ -1,20 +1,23 @@ New in release 1.8 (XXXX-XX-XX): New in release 1.8 (XXXX-XX-XX): -New in release 1.7 (XXXX-XX-XX): +New in release 1.7 (2010-01-27): - Updated to OpenJDK6 b17. - Alpha version of the new IcedTea NPRuntime based plugin with support for Firefox >= 3.5, Chromium, and other browsers that support NPRuntime - (use --enable-npplugin to build it). + (use --enable-npplugin to build it). For xulrunner >= 1.9.2 (used + by Firefox >= 3.6), the new plugin is required and the build will + automatically enable it if the old plugin is requested. - Support added for building with HotSpot 16 using - --with-hotspot-build=hs16. + --with-hotspot-build=hs16. This is the same as was released + in the proprietary JDK6 update 18. - Zero port updated to match the version submitted to OpenJDK as closely as possible. -- libjpeg7 and libXext >= 1.1.0 supported. +- libjpeg7, libjpeg8, libpng 1.4 and libXext >= 1.1.0 supported. - 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. +- Add support for building the Zero assembler port on Hitachi SH. New in release 1.6.2 (2009-11-09) - Latest security updates: diff -r 21868e8c115a -r bb0e039df90a patches/libpng.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/libpng.patch Wed Jan 27 17:52:01 2010 +0000 @@ -0,0 +1,12 @@ +diff -r 93c580ce5e88 jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c +--- openjdk.orig/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c Fri Jan 15 08:41:51 2010 -0800 ++++ openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c Wed Jan 27 16:52:44 2010 +0000 +@@ -182,7 +182,7 @@ + int success = 0; + + stream->read(stream, sig, SIG_BYTES); +- if (!png_check_sig(sig, SIG_BYTES)) { ++ if (png_sig_cmp(sig, 0, SIG_BYTES)) { + goto done; + } + success = SplashDecodePng(splash, my_png_read_stream, stream); From gnu_andrew at member.fsf.org Wed Jan 27 10:48:40 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Wed, 27 Jan 2010 18:48:40 +0000 Subject: IcedTea6 1.7 Released! Message-ID: <17c6771e1001271048k279e548eibc2254d2e70750c0@mail.gmail.com> We are pleased to announce the release of IcedTea6 1.7! The IcedTea project provides a harness to build the source code from OpenJDK6 using Free Software build tools. It also includes the only Free Java plugin and Web Start implementation, and support for additional architectures over and above x86, x86_64 and SPARC via the Zero assembler port. What's New? ========== - Updated to OpenJDK6 b17. - Alpha version of the new IcedTea NPRuntime based plugin with support for Firefox >= 3.5, Chromium, and other browsers that support NPRuntime (use --enable-npplugin to build it). For xulrunner >= 1.9.2 (used by Firefox >= 3.6), the new plugin is required and the build will automatically enable it if the old plugin is requested. - Support added for building with HotSpot 16 using --with-hotspot-build=hs16. This is the same as was released in the proprietary JDK6 update 18. - Zero port updated to match the version submitted to OpenJDK as closely as possible. - libjpeg7, libjpeg8, libpng 1.4 and libXext >= 1.1.0 supported. - Added JNI call tracing using systemtap version 1.0+ when configuring with --enable-systemtap. See tapset/hotspot_jni.stp. - Add support for building the Zero assembler port on Hitachi SH. The tarball can be downloaded from: * http://icedtea.classpath.org/download/source/icedtea6-1.7.tar.gz The following people helped with the 1.5 and 1.6 release series: Lillian Angel, Gary Benson, Deepak Bhole, Andrew Haley, Andrew John Hughes, Nobuhiro Iwamatsu, Matthias Klose, Martin Matejovic, Edward Nevill, Xerxes R?nby, Robert Schuster,Jon VanAlten, Mark Wielaard and Man Lung Wong. We would also like to thank the bug reporters and testers! To get started: $ tar xzf icedtea6-1.7.tar.gz $ cd icedtea6-1.6.2 Full build requirements and instructions are in INSTALL: $ ./configure [--enable-visualvm --with-openjdk --enable-pulse-java --enable-systemtap ...] $ make Blog: http://blog.fuseyism.com/index.php/2010/01/27/icedtea6-17-released/ -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From gbenson at redhat.com Thu Jan 28 02:12:31 2010 From: gbenson at redhat.com (Gary Benson) Date: Thu, 28 Jan 2010 10:12:31 +0000 Subject: RTC Thumb2 JIT fixes In-Reply-To: <201001271643.o0RGh7BY030513@mint.camswl.com> References: <201001271643.o0RGh7BY030513@mint.camswl.com> Message-ID: <20100128101230.GB3651@redhat.com> ed at camswl.com wrote: > OK to commit? I think for cases like this, where you only touch files you've entirely written yourself, you don't need to ask. > 8) Added support for opcode 'return_register_finalizer'. Previously > the was treated as a 'return' opcode. You get some really odd bugs if you do that ;) Cheers, Gary -- http://gbenson.net/ From ptisnovs at icedtea.classpath.org Thu Jan 28 02:28:04 2010 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 28 Jan 2010 10:28:04 +0000 Subject: /hg/icedtea6: 6920143: test/java/awt/TestArea/UsingWithMouse.jav... Message-ID: changeset a1e161b0156e in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=a1e161b0156e author: ptisnovs date: Thu Jan 28 11:08:29 2010 +0100 6920143: test/java/awt/TestArea/UsingWithMouse.java needs realSync() Summary: Added small delay to make sure that TextArea animation have finished Reviewed-by: anthony diffstat: 1 file changed, 2 insertions(+), 1 deletion(-) Makefile.am | 3 ++- diffs (13 lines): diff -r bb0e039df90a -r a1e161b0156e Makefile.am --- a/Makefile.am Wed Jan 27 17:52:01 2010 +0000 +++ b/Makefile.am Thu Jan 28 11:08:29 2010 +0100 @@ -307,7 +307,8 @@ ICEDTEA_PATCHES = \ patches/icedtea-linux-separate-debuginfo.patch \ patches/icedtea-parisc.patch \ patches/icedtea-sh4-support.patch \ - patches/libpng.patch + patches/libpng.patch \ + patches/icedtea-6920143-using-with-mouse.patch if WITH_RHINO ICEDTEA_PATCHES += \ From ptisnovs at icedtea.classpath.org Thu Jan 28 02:29:39 2010 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 28 Jan 2010 10:29:39 +0000 Subject: /hg/icedtea6: Patch for test awt/TextArea/UsingWithMouse.java Message-ID: changeset 102fc7d29141 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=102fc7d29141 author: ptisnovs date: Thu Jan 28 11:30:12 2010 +0100 Patch for test awt/TextArea/UsingWithMouse.java diffstat: 1 file changed, 45 insertions(+) patches/icedtea-6920143-using-with-mouse.patch | 45 ++++++++++++++++++++++++ diffs (49 lines): diff -r a1e161b0156e -r 102fc7d29141 patches/icedtea-6920143-using-with-mouse.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-6920143-using-with-mouse.patch Thu Jan 28 11:30:12 2010 +0100 @@ -0,0 +1,45 @@ +6920143: test/java/awt/TestArea/UsingWithMouse.java needs realSync() +Summary: Added small delay to make sure that TextArea animation have finished +Reviewed-by: anthony + +--- openjdk.orig/jdk/test/java/awt/TextArea/UsingWithMouse/SelectionAutoscrollTest.java 2010-01-27 14:45:28.000000000 +0100 ++++ openjdk/jdk/test/java/awt/TextArea/UsingWithMouse/SelectionAutoscrollTest.java 2010-01-27 14:45:27.000000000 +0100 +@@ -56,6 +56,7 @@ + TextArea textArea; + Robot robot; + final int desiredSelectionEnd = ('z'-'a'+1)*2; // 52 ++ final static int SCROLL_DELAY = 100; // ms + + public void start () { + createObjects(); +@@ -126,6 +127,8 @@ + + moveMouseBelowTextArea( tremble%2!=0 ); + Util.waitForIdle( robot ); ++ // it is needed to add some small delay on Gnome ++ waitUntilScrollIsPerformed(robot); + } + + robot.mouseRelease( MouseEvent.BUTTON1_MASK ); +@@ -141,9 +144,19 @@ + void moveMouseBelowTextArea( boolean shift ) { + Dimension d = textArea.getSize(); + Point l = textArea.getLocationOnScreen(); ++ int x = (int)(l.x+d.width*.5); + int y = (int)(l.y+d.height*1.5); + if( shift ) y+=15; +- robot.mouseMove( (int)(l.x+d.width*.5), y ); ++ robot.mouseMove( x, y ); ++ } ++ ++ void waitUntilScrollIsPerformed(Robot robot) { ++ try { ++ Thread.sleep( SCROLL_DELAY ); ++ } ++ catch( Exception e ) { ++ throw new RuntimeException( e ); ++ } + } + + void checkResults() { + From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 03:12:16 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 11:12:16 +0000 Subject: [Bug 435] New: icedtea6-1.6.2 unable to compile icedtea6-1.7 due to segfault Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=435 Summary: icedtea6-1.6.2 unable to compile icedtea6-1.7 due to segfault Product: IcedTea Version: 6-1.6.2 Platform: Other OS/Version: Other Status: NEW Severity: normal Priority: P2 Component: IcedTea6 AssignedTo: unassigned at icedtea.classpath.org ReportedBy: devurandom at gmx.net A selfcompiled icedtea6-1.6.2 as well as Gentoo's icedtea6-bin-1.6.2 binary package are unable to compile icedtea6-1.7. The issue seems to be a segfault somewhere in libjvm.so. Find a log from icedtea6-1.6.2 (not the binary package) attached. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 03:12:37 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 11:12:37 +0000 Subject: [Bug 435] icedtea6-1.6.2 unable to compile icedtea6-1.7 due to segfault Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=435 devurandom at gmx.net changed: What |Removed |Added ---------------------------------------------------------------------------- OS/Version|Other |Linux Platform|Other |PC -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 03:13:26 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 11:13:26 +0000 Subject: [Bug 435] icedtea6-1.6.2 unable to compile icedtea6-1.7 due to segfault Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=435 ------- Comment #1 from devurandom at gmx.net 2010-01-28 11:13 ------- Created an attachment (id=287) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=287&action=view) log of crash in icedtea6-1.6.2 (non-bin) -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 03:31:46 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 11:31:46 +0000 Subject: [Bug 435] icedtea6-1.6.2 unable to compile icedtea6-1.7 due to segfault Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=435 devurandom at gmx.net changed: What |Removed |Added ---------------------------------------------------------------------------- URL| |http://bugs.gentoo.org/show_ | |bug.cgi?id=302607 ------- Comment #2 from devurandom at gmx.net 2010-01-28 11:31 ------- I suspect some kind of unitialised variable, a race condition or something similar, since it worked now, after a few tries... Gentoo bug: http://bugs.gentoo.org/show_bug.cgi?id=302607 Additional information: Portage 2.2_rc61 (default/linux/amd64/10.0/desktop, gcc-4.4.2, glibc-2.11-r1, 2.6.32-gentoo-r2 x86_64) ================================================================= System uname: Linux-2.6.32-gentoo-r2-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_5000+-with-gentoo-2.0.1 Timestamp of tree: Thu, 28 Jan 2010 08:15:01 +0000 distcc 3.1 x86_64-pc-linux-gnu [disabled] app-shells/bash: 4.0_p37 dev-java/java-config: 2.1.10 dev-lang/python: 2.6.4-r1, 3.1.1-r1 dev-python/pycrypto: 2.1.0 dev-util/cmake: 2.8.0-r1 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.6.0-r1 sys-apps/sandbox: 2.2 sys-devel/autoconf: 2.13, 2.65 sys-devel/automake: 1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1 sys-devel/binutils: 2.20 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6b virtual/os-headers: 2.6.30-r1 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* - at EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-pipe -O2 -march=athlon64-sse3 -fstack-protector -ftree-vectorize" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-pipe -O2 -march=athlon64-sse3 -fstack-protector -ftree-vectorize" DISTDIR="/var/cache/portage/distfiles" EMERGE_DEFAULT_OPTS="--with-bdeps y" FEATURES="assume-digests distlocks fixpackages metadata-transfer news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync" GENTOO_MIRRORS="ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LANG="en_GB.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed" LINGUAS="de" MAKEOPTS="-j3" PKGDIR="/var/cache/portage/packages" PORTAGE_COMPRESS="xz" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/var/cache/portage/gentoo" PORTDIR_OVERLAY="/var/cache/portage/layman/java-overlay /var/cache/portage/layman/kde /var/cache/portage/layman/mpd /var/cache/portage/layman/oss-overlay /var/cache/portage/layman/pcsx2 /var/cache/portage/layman/sunrise /var/cache/portage/local" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" [...] Unset: CPPFLAGS, CTARGET, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 03:45:53 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 11:45:53 +0000 Subject: [Bug 435] icedtea6-1.6.2 unable to compile icedtea6-1.7 due to segfault Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=435 ------- Comment #3 from devurandom at gmx.net 2010-01-28 11:45 ------- Might be related to bug #293. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From ptisnovs at icedtea.classpath.org Thu Jan 28 03:56:16 2010 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 28 Jan 2010 11:56:16 +0000 Subject: /hg/icedtea6: 6920172: Regression test LocationRelativeToTest do... Message-ID: changeset 1d8ccb881ce7 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=1d8ccb881ce7 author: ptisnovs date: Thu Jan 28 12:53:33 2010 +0100 6920172: Regression test LocationRelativeToTest does not check frame position correctly. Summary: Testcase correction - check frame position against graphics environment's center point Reviewed-by: art diffstat: 2 files changed, 29 insertions(+), 1 deletion(-) Makefile.am | 3 + patches/icedtea-6920172-location-relative-to-test.patch | 27 +++++++++++++++ diffs (44 lines): diff -r 102fc7d29141 -r 1d8ccb881ce7 Makefile.am --- a/Makefile.am Thu Jan 28 11:30:12 2010 +0100 +++ b/Makefile.am Thu Jan 28 12:53:33 2010 +0100 @@ -308,7 +308,8 @@ ICEDTEA_PATCHES = \ patches/icedtea-parisc.patch \ patches/icedtea-sh4-support.patch \ patches/libpng.patch \ - patches/icedtea-6920143-using-with-mouse.patch + patches/icedtea-6920143-using-with-mouse.patch \ + patches/icedtea-6920172-location-relative-to-test.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r 102fc7d29141 -r 1d8ccb881ce7 patches/icedtea-6920172-location-relative-to-test.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-6920172-location-relative-to-test.patch Thu Jan 28 12:53:33 2010 +0100 @@ -0,0 +1,27 @@ +6920172: Regression test LocationRelativeToTest does not check frame position correctly. +Summary: Testcase correction - check frame position against graphics environment's center point +Reviewed-by: art + +--- openjdk.orig/jdk/test/java/awt/Multiscreen/LocationRelativeToTest/LocationRelativeToTest.java 2010-01-25 17:42:52.000000000 +0100 ++++ openjdk/jdk/test/java/awt/Multiscreen/LocationRelativeToTest/LocationRelativeToTest.java 2010-01-25 17:42:52.000000000 +0100 +@@ -50,7 +50,8 @@ + + GraphicsEnvironment ge = + GraphicsEnvironment.getLocalGraphicsEnvironment(); +- System.out.println("Center point: " + ge.getCenterPoint()); ++ Point centerPoint = ge.getCenterPoint(); ++ System.out.println("Center point: " + centerPoint); + GraphicsDevice[] gds = ge.getScreenDevices(); + GraphicsDevice gdDef = ge.getDefaultScreenDevice(); + GraphicsConfiguration gcDef = +@@ -77,8 +78,7 @@ + // second, check setLocationRelativeTo(invisible) + f.setLocationRelativeTo(f2); + Util.waitForIdle(r); +- checkLocation(f, new Point(gcBounds.x + gcBounds.width / 2, +- gcBounds.y + gcBounds.height / 2)); ++ checkLocation(f, centerPoint); + + // third, check setLocationRelativeTo(visible) + f2.setVisible(true); + From ptisnovs at icedtea.classpath.org Thu Jan 28 04:41:32 2010 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 28 Jan 2010 12:41:32 +0000 Subject: /hg/icedtea6: 6917663: test/java/security/Provider/Turkish.java ... Message-ID: changeset 2c335401e50d in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=2c335401e50d author: ptisnovs date: Thu Jan 28 13:41:53 2010 +0100 6917663: test/java/security/Provider/Turkish.java not samevm friendly Summary: Added othervm flag to ensure that this test will run in isolation. Reviewed-by: alanb diffstat: 2 files changed, 16 insertions(+), 1 deletion(-) Makefile.am | 3 ++- patches/icedtea-6920172-turkish.patch | 14 ++++++++++++++ diffs (31 lines): diff -r 1d8ccb881ce7 -r 2c335401e50d Makefile.am --- a/Makefile.am Thu Jan 28 12:53:33 2010 +0100 +++ b/Makefile.am Thu Jan 28 13:41:53 2010 +0100 @@ -309,7 +309,8 @@ ICEDTEA_PATCHES = \ patches/icedtea-sh4-support.patch \ patches/libpng.patch \ patches/icedtea-6920143-using-with-mouse.patch \ - patches/icedtea-6920172-location-relative-to-test.patch + patches/icedtea-6920172-location-relative-to-test.patch \ + patches/icedtea-6920172-turkish.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r 1d8ccb881ce7 -r 2c335401e50d patches/icedtea-6920172-turkish.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-6920172-turkish.patch Thu Jan 28 13:41:53 2010 +0100 @@ -0,0 +1,14 @@ +6917663: test/java/security/Provider/Turkish.java not samevm friendly +Summary: Added othervm flag to ensure that this test will run in isolation. +Reviewed-by: alanb + +--- openjdk.orig/jdk/test/java/security/Provider/Turkish.java 2010-01-18 11:02:18.000000000 +0100 ++++ openjdk/jdk/test/java/security/Provider/Turkish.java 2010-01-18 11:02:17.000000000 +0100 +@@ -25,6 +25,7 @@ + * @test + * @bug 6220064 + * @summary make sure everything works ok in the Turkish local (dotted/dotless i problem) ++ * @run main/othervm Turkish + * @author Andreas Sterbenz + */ + From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 05:31:34 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 13:31:34 +0000 Subject: [Bug 435] icedtea6-1.6.2 unable to compile icedtea6-1.7 due to segfault Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=435 ------- Comment #4 from devurandom at gmx.net 2010-01-28 13:31 ------- Created an attachment (id=288) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=288&action=view) icedtea6-bin-1.6.2 log -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 05:32:37 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 13:32:37 +0000 Subject: [Bug 435] icedtea6-1.6.2 unable to compile icedtea6-1.7 due to segfault Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=435 ------- Comment #5 from devurandom at gmx.net 2010-01-28 13:32 ------- Created an attachment (id=289) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=289&action=view) another log with icedtea6-bin-1.6.2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 08:46:51 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 16:46:51 +0000 Subject: [Bug 435] icedtea6-1.6.2 unable to compile icedtea6-1.7 due to segfault Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=435 ------- Comment #6 from gnu_andrew at member.fsf.org 2010-01-28 16:46 ------- It would have been easier to diagnose if you posted the crash here. It's the newly built VM that's failing, not IcedTea6 1.6.2, and it's on x86. It looks like enabling HotSpot 16 for Gentoo was a bit premature. Try removing the line --with-hotspot-build=hs16 from the ebuild and see if it builds for you. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 08:51:42 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 16:51:42 +0000 Subject: [Bug 435] icedtea6-1.6.2 unable to compile icedtea6-1.7 due to segfault Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=435 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Version|6-1.6.2 |6-1.7 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From enevill at icedtea.classpath.org Thu Jan 28 09:02:53 2010 From: enevill at icedtea.classpath.org (enevill at icedtea.classpath.org) Date: Thu, 28 Jan 2010 17:02:53 +0000 Subject: /hg/icedtea6: Various bug fixes Message-ID: changeset ab2479dd2f87 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=ab2479dd2f87 author: Edward Nevill date: Thu Jan 28 17:02:40 2010 +0000 Various bug fixes diffstat: 4 files changed, 297 insertions(+), 84 deletions(-) ChangeLog | 8 ports/hotspot/src/cpu/zero/vm/asm_helper.cpp | 1 ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S | 23 - ports/hotspot/src/cpu/zero/vm/thumb2.cpp | 349 +++++++++++++++----- diffs (truncated from 817 to 500 lines): diff -r 2c335401e50d -r ab2479dd2f87 ChangeLog --- a/ChangeLog Thu Jan 28 13:41:53 2010 +0100 +++ b/ChangeLog Thu Jan 28 17:02:40 2010 +0000 @@ -1,3 +1,11 @@ 2010-01-27 Andrew John Hughes + + * asm_helper.cpp, cppInterpreter_arm.S, thumb2.cpp + Add stack checking in JIT code, fix IllegalMonitorException bug, + make compilation MP safe, fix bug with large no. of locals, + added buffer checking on compile buffer, fix large tableswitch bug, + fix byte accessor bug, add opc_return_register_finalizer. + 2010-01-27 Andrew John Hughes * Makefile.am: Reference plugin diff -r 2c335401e50d -r ab2479dd2f87 ports/hotspot/src/cpu/zero/vm/asm_helper.cpp --- a/ports/hotspot/src/cpu/zero/vm/asm_helper.cpp Thu Jan 28 13:41:53 2010 +0100 +++ b/ports/hotspot/src/cpu/zero/vm/asm_helper.cpp Thu Jan 28 17:02:40 2010 +0000 @@ -303,6 +303,7 @@ extern "C" void Helper_RaiseIllegalMonit extern "C" void Helper_RaiseIllegalMonitorException(JavaThread *thread) { HandleMark __hm(thread); + thread->clear_pending_exception(); InterpreterRuntime::throw_illegal_monitor_state_exception(thread); } diff -r 2c335401e50d -r ab2479dd2f87 ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S --- a/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S Thu Jan 28 13:41:53 2010 +0100 +++ b/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S Thu Jan 28 17:02:40 2010 +0000 @@ -64,6 +64,9 @@ #ifndef DISABLE_HW_FP #define HW_FP #endif + +#define LEAF_STACK_SIZE 200 +#define STACK_SPARE 40 #define stack r4 #define jpc r5 @@ -504,6 +507,7 @@ do_\label: .text + .global cmpxchg_ptr cmpxchg_ptr: stmfd sp!, {r4, r5, r6, r7, r8, lr} mov r6, #0xffffffc0 @@ -2316,7 +2320,7 @@ fast_normal_entry_synchronized: ldr r3, [tmp1, #THREAD_JAVA_STACK_BASE] sub r5, r1, r8, lsl #2 - sub r5, r5, #FRAME_SIZE+4 + sub r5, r5, #FRAME_SIZE+STACK_SPARE+LEAF_STACK_SIZE sub r5, r5, r0, lsl #2 cmp r3, r5 bcs stack_overflow_before_frame @@ -2794,7 +2798,7 @@ fast_normal_entry: ldr r3, [tmp1, #THREAD_JAVA_STACK_BASE] sub r5, stack, r7, lsl #2 - sub r5, r5, #FRAME_SIZE+4 + sub r5, r5, #FRAME_SIZE+STACK_SPARE+LEAF_STACK_SIZE sub r5, r5, r2, lsl #2 cmp r3, r5 bcs stack_overflow_before_frame @@ -2879,10 +2883,12 @@ 2: DISPATCH 0 #ifdef THUMB2EE +#define THUMB2_MAXLOCALS 1000 call_thumb2: mov ip, r1 - mov r1, locals + sub r1, locals, #THUMB2_MAXLOCALS * 4 ldr r2, [istate, #ISTATE_THREAD] + sub r3, locals, #31 * 4 add stack, stack, #4 bx ip #endif // THUMB2EE @@ -4154,9 +4160,7 @@ 2: #endif // USE_COMPILER #ifdef THUMB2EE - ldr r1, [r4, #CPUInfo-XXX] - tst r1, #ARCH_THUMBEE - blne Thumb2_Initialize + bl Thumb2_Initialize #endif #ifdef HW_FP @@ -6165,6 +6169,7 @@ Thumb2_DivZero_Handler: .global Thumb2_Handle_Exception .global Thumb2_ArrayBounds_Handler .global Thumb2_NullPtr_Handler + .global Thumb2_Stack_Overflow Thumb2_ArrayBounds_Handler: ldr r0, [istate, #ISTATE_METHOD] ldr jpc, [r0, #METHOD_CONSTMETHOD] @@ -6178,6 +6183,12 @@ Thumb2_Handle_Exception: add jpc, jpc, #CONSTMETHOD_CODEOFFSET bl load_dispatch b handle_exception +Thumb2_Stack_Overflow: + mov r0, r2 + ldr ip, [r0, #THREAD_TOP_ZERO_FRAME] + str ip, [r0, #THREAD_LAST_JAVA_SP] + bl _ZN18InterpreterRuntime24throw_StackOverflowErrorEP10JavaThread + ldmfd arm_sp!, {fast_regset, pc} .global Thumb2_Exit_To_Interpreter Thumb2_Exit_To_Interpreter: diff -r 2c335401e50d -r ab2479dd2f87 ports/hotspot/src/cpu/zero/vm/thumb2.cpp --- a/ports/hotspot/src/cpu/zero/vm/thumb2.cpp Thu Jan 28 13:41:53 2010 +0100 +++ b/ports/hotspot/src/cpu/zero/vm/thumb2.cpp Thu Jan 28 17:02:40 2010 +0000 @@ -22,6 +22,9 @@ static char *t2ee_print_regusage; #endif #define THUMB2_CODEBUF_SIZE (8 * 1024 * 1024) +#define THUMB2_MAX_BYTECODE_SIZE 10000 +#define THUMB2_MAX_T2CODE_SIZE 65000 +#define THUMB2_MAXLOCALS 1000 #include @@ -358,10 +361,36 @@ static char *t2ee_print_regusage; #define H_PUTSTATIC_A 57 #define H_PUTSTATIC_DW 58 -unsigned handlers[59]; +#define H_STACK_OVERFLOW 59 + +unsigned handlers[60]; + +#define LEAF_STACK_SIZE 200 +#define STACK_SPARE 40 + +#define COMPILER_RESULT_FAILED 1 // Failed to compiled this method +#define COMPILER_RESULT_FATAL 2 // Fatal - dont try compile anything ever again + +#include + +static jmp_buf compiler_error_env; + +#ifdef PRODUCT + +#define JASSERT(cond, msg) \ + do { \ + if (!(cond)) \ + longjmp(compiler_error_env, COMPILER_RESULT_FATAL); \ + } while (0) + +#define J_Unimplemented() longjmp(compiler_error_env, COMPILER_RESULT_FATAL) + +#else #define JASSERT(cond, msg) do { if (!(cond)) fatal(msg); } while (0) #define J_Unimplemented() { report_unimplemented(__FILE__, __LINE__); BREAKPOINT; } + +#endif // PRODUCT #define GET_NATIVE_U2(p) (*(unsigned short *)(p)) @@ -381,14 +410,14 @@ typedef struct Thumb2_CodeBuf { Thumb2_CodeBuf *thumb2_codebuf; -unsigned bc_stackinfo[8000]; +unsigned bc_stackinfo[THUMB2_MAX_BYTECODE_SIZE]; unsigned locals_info[1000]; unsigned stack[1000]; unsigned r_local[1000]; #ifdef T2EE_PRINT_DISASS -short start_bci[65000]; -short end_bci[65000]; +short start_bci[THUMB2_MAX_T2CODE_SIZE]; +short end_bci[THUMB2_MAX_T2CODE_SIZE]; #endif // XXX hardwired constants! @@ -472,11 +501,13 @@ typedef unsigned Reg; #define VFP_D6 70 #define VFP_D7 71 -#define JAZ_V1 ARM_R6 -#define JAZ_V2 ARM_R5 +#define PREGS 5 + +#define JAZ_V1 ARM_R5 +#define JAZ_V2 ARM_R6 #define JAZ_V3 ARM_R7 -#define JAZ_V4 ARM_R11 -#define JAZ_V5 ARM_R10 +#define JAZ_V4 ARM_R10 +#define JAZ_V5 ARM_R11 #define Rstack ARM_R4 #define Rlocals ARM_R7 @@ -507,9 +538,56 @@ unsigned binary_log2(unsigned n) return r; } +typedef struct Compiled_Method { + // All entry points aligned on a cache line boundary + // .align CODE_ALIGN + // slow_entry: @ callee save interface + // push {r4, r5, r6, r7, r9, r10, r11, lr} + // bl fast_entry + // pop {r4, r5, r6, r7, r9, r10, r11, pc} + unsigned slow_entry[3]; + // osr_tablep: @ pointer to the osr table + // .word osr_table + unsigned *osr_table; + Compiled_Method *next; + // OSR Entry point: + // R0 = entry point within compiled method + // R1 = locals + // R2 = thread + // osr_entry: + // @ Load each local into it register allocated register + // ldr , [R1, #- * 4] + // ... + // mov Rthread, R2 + // bx R0 + // .align CODE_ALIGN + unsigned osr_entry[1]; + // fast_entry: + // push {r8, lr} + // ... @ The compiled code + // pop {r8, pc} + // .align WORD_ALIGN + // code_handle: @ from interpreted entry + // .word slow_entry @ bottom bit must be set! + // osr_table: + // .word + // @@@ For bytecode 0 and for each backwards branch target + // .short + // .short @ offset in halfwords from slow_entry +} Compiled_Method; + +Compiled_Method *compiled_method_list = 0; +Compiled_Method **compiled_method_list_tail_ptr = &compiled_method_list; + +typedef struct Thumb2_Entrypoint { + unsigned compiled_entrypoint; + unsigned osr_entry; +} Thumb2_Entrypoint; + typedef struct CodeBuf { unsigned short *codebuf; unsigned idx; + unsigned limit; } CodeBuf; typedef struct Thumb2_Stack { @@ -521,6 +599,9 @@ typedef struct Thumb2_Stack { typedef struct Thumb2_Registers { unsigned *r_local; + unsigned npregs; + unsigned pregs[PREGS]; + int mapping[PREGS]; } Thumb2_Registers; typedef struct Thumb2_Info { @@ -535,6 +616,7 @@ typedef struct Thumb2_Info { Thumb2_Registers *jregs; unsigned compiled_return; unsigned zombie_bytes; + unsigned is_leaf; } Thumb2_Info; #define IS_INT_SIZE_BASE_TYPE(c) (c=='B' || c=='C' || c=='F' || c=='I' || c=='S' || c=='Z') @@ -1238,10 +1320,12 @@ void Thumb2_pass1(Thumb2_Info *jinfo, un case opc_invokevirtual: case opc_invokespecial: case opc_invokestatic: + jinfo->is_leaf = 0; bci += 3; break; case opc_invokeinterface: + jinfo->is_leaf = 0; bci += 5; break; @@ -1393,7 +1477,7 @@ int Thumb2_is_zombie(Thumb2_Info *jinfo, } #endif // ZOMBIT_DETECTION -void Thumb2_RegAlloc(Thumb2_Info *jinfo, unsigned *pregs, unsigned npregs) +void Thumb2_RegAlloc(Thumb2_Info *jinfo) { unsigned *locals_info = jinfo->locals_info; unsigned i, j; @@ -1401,7 +1485,10 @@ void Thumb2_RegAlloc(Thumb2_Info *jinfo, unsigned score, max_score; unsigned local; unsigned nlocals = jinfo->method->max_locals(); - + unsigned *pregs = jinfo->jregs->pregs; + unsigned npregs = jinfo->jregs->npregs; + + for (i = 0; i < npregs; i++) jinfo->jregs->mapping[i] = -1; for (i = 0; i < npregs; i++) { max_score = 0; for (j = 0; j < nlocals; j++) { @@ -1417,6 +1504,7 @@ void Thumb2_RegAlloc(Thumb2_Info *jinfo, if (max_score < 2) break; locals_info[local] |= 1<jregs->r_local[local] = pregs[i]; + jinfo->jregs->mapping[i] = local; } #ifdef T2EE_PRINT_REGUSAGE if (t2ee_print_regusage) { @@ -1842,6 +1930,8 @@ static const unsigned t_vop_ops[] = { //------------------------------------------------------------------------------------ +#define TBIT 1 + #define E_STR_IMM6(src, imm6) (0xce00 | ((imm6)<<3) | (src)) #define E_LDR_IMM6(dst, imm6) (0xcc00 | ((imm6)<<3) | (dst)) #define E_LDR_IMM5(dst, imm5) (0xcb00 | ((imm5)<<3) | (dst)) @@ -2019,6 +2109,8 @@ static const unsigned t_vop_ops[] = { int out_16(CodeBuf *codebuf, u32 s) { + if (codebuf->idx >= codebuf->limit) + longjmp(compiler_error_env, COMPILER_RESULT_FATAL); codebuf->codebuf[codebuf->idx++] = s; return 0; } @@ -2034,6 +2126,8 @@ int out_16x2(CodeBuf *codebuf, u32 sx2) int out_32(CodeBuf *codebuf, u32 w) { + if (codebuf->idx + 2 > codebuf->limit) + longjmp(compiler_error_env, COMPILER_RESULT_FATAL); *(u32 *)&(codebuf->codebuf[codebuf->idx]) = w; codebuf->idx += 2; return 0; @@ -4388,7 +4482,9 @@ int Thumb2_Accessor(Thumb2_Info *jinfo) loc = forward_32(jinfo->codebuf); out_32(jinfo->codebuf, 0); out_32(jinfo->codebuf, 0); - out_32(jinfo->codebuf, 0); + + out_32(jinfo->codebuf, 0); // pointer to osr table + out_32(jinfo->codebuf, 0); // next compiled method // OSR entry point mov_reg(jinfo->codebuf, ARM_PC, ARM_R0); @@ -4401,7 +4497,7 @@ int Thumb2_Accessor(Thumb2_Info *jinfo) ldr_imm(jinfo->codebuf, ARM_R1, ARM_R2, THREAD_JAVA_SP, 1, 0); ldr_imm(jinfo->codebuf, ARM_R0, ARM_R1, 0, 1, 0); if (tos_type == btos) - ldrb_imm(jinfo->codebuf, ARM_R0, ARM_R0, field_offset, 1, 0); + ldrsb_imm(jinfo->codebuf, ARM_R0, ARM_R0, field_offset, 1, 0); else if (tos_type == ctos) ldrh_imm(jinfo->codebuf, ARM_R0, ARM_R0, field_offset, 1, 0); else if (tos_type == stos) @@ -4428,19 +4524,24 @@ void Thumb2_Enter(Thumb2_Info *jinfo) bl(jinfo->codebuf, out_pos(jinfo->codebuf) + CODE_ALIGN - 4); ldm(jinfo->codebuf, I_REGSET + (1<codebuf, 0); + out_32(jinfo->codebuf, 0); // Space for osr_table point + out_32(jinfo->codebuf, 0); // Pointer to next method // OSR entry point == Slow entry + 16 - caller save // R0 = entry point within compiled method - // R1 = locals + // R1 = locals - THUMB2_MAXLOCALS * 4 // R2 = thread + // R3 = locals - 31 * 4 { int nlocals = jinfo->method->max_locals(); for (i = 0; i < nlocals; i++) { Reg r = jinfo->jregs->r_local[i]; if (r) { - ldr_imm(jinfo->codebuf, r, ARM_R1, -i * 4, 1, 0); + ldr_imm(jinfo->codebuf, r, + (i < 32) ? ARM_R3 : ARM_R1, + (i < 32) ? (31 - i) * 4 : (THUMB2_MAXLOCALS - i) * 4, + 1, 0); } } mov_reg(jinfo->codebuf, Rthread, ARM_R2); @@ -4456,6 +4557,19 @@ void Thumb2_Enter(Thumb2_Info *jinfo) // enter_leave(jinfo->codebuf, 1); ldr_imm(jinfo->codebuf, Rstack, ARM_R2, THREAD_JAVA_SP, 1, 0); Thumb2_Debug(jinfo, H_DEBUG_METHODENTRY); + { + unsigned stacksize; + + stacksize = (extra_locals + jinfo->method->max_stack()) * sizeof(int); + stacksize += FRAME_SIZE + STACK_SPARE; + if (!jinfo->is_leaf || stacksize > LEAF_STACK_SIZE) { + ldr_imm(jinfo->codebuf, ARM_R3, ARM_R2, THREAD_JAVA_STACK_BASE, 1, 0); + sub_imm(jinfo->codebuf, ARM_R1, Rstack, stacksize + LEAF_STACK_SIZE); + cmp_reg(jinfo->codebuf, ARM_R3, ARM_R1); + it(jinfo->codebuf, COND_CS, IT_MASK_T); + bl(jinfo->codebuf, handlers[H_STACK_OVERFLOW]); + } + } mov_imm(jinfo->codebuf, ARM_R1, 0); if (extra_locals > 0) { @@ -4610,6 +4724,8 @@ unsigned opcode2handler[] = { #define OPCODE2HANDLER(opc) (handlers[opcode2handler[(opc)-opc_idiv]]) +extern "C" void _ZN18InterpreterRuntime18register_finalizerEP10JavaThreadP7oopDesc(void); + void Thumb2_codegen(Thumb2_Info *jinfo, unsigned start) { unsigned code_size = jinfo->code_size; @@ -4636,7 +4752,7 @@ void Thumb2_codegen(Thumb2_Info *jinfo, stackdepth = stackinfo & ~BC_FLAGS_MASK; bc_stackinfo[bci] = (stackinfo & BC_FLAGS_MASK) | (codebuf->idx * 2) | BC_COMPILED; - if (opcode > OPC_LAST_JAVA_OP) { + if (opcode > OPC_LAST_JAVA_OP && opcode != opc_return_register_finalizer) { if (Bytecodes::is_defined((Bytecodes::Code)opcode)) opcode = (unsigned)Bytecodes::java_code((Bytecodes::Code)opcode); } @@ -5951,6 +6067,41 @@ add_imm(jinfo->codebuf, ARM_R3, ARM_R3, if (!jinfo->compiled_return) jinfo->compiled_return = bci; break; + case opc_return_register_finalizer: { + Thumb2_Stack *jstack = jinfo->jstack; + Reg r, r_tmp; + unsigned loc_eq; + + Thumb2_Flush(jinfo); + Thumb2_Load(jinfo, 0, stackdepth); + r = POP(jstack); + r_tmp = Thumb2_Tmp(jinfo, (1<codebuf, r_tmp, r, 4, 1, 0); + ldr_imm(jinfo->codebuf, r_tmp, r_tmp, KLASS_PART+KLASS_ACCESSFLAGS, 1, 0); + tst_imm(jinfo->codebuf, r_tmp, JVM_ACC_HAS_FINALIZER); + loc_eq = forward_16(jinfo->codebuf); + Thumb2_save_locals(jinfo, stackdepth); + mov_reg(jinfo->codebuf, ARM_R1, r); + ldr_imm(jinfo->codebuf, ARM_R0, Ristate, ISTATE_METHOD, 1, 0); + ldr_imm(jinfo->codebuf, ARM_R0, ARM_R0, METHOD_CONSTMETHOD, 1, 0); + add_imm(jinfo->codebuf, ARM_R0, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); + str_imm(jinfo->codebuf, ARM_R0, Ristate, ISTATE_BCP, 1, 0); + sub_imm(jinfo->codebuf, ARM_R0, Rstack, 4); + str_imm(jinfo->codebuf, ARM_R0, Ristate, ISTATE_STACK, 1, 0); + + mov_reg(jinfo->codebuf, ARM_R0, Rthread); + mov_imm(jinfo->codebuf, ARM_R3, (u32)_ZN18InterpreterRuntime18register_finalizerEP10JavaThreadP7oopDesc); + blx_reg(jinfo->codebuf, ARM_R3); + + ldr_imm(jinfo->codebuf, ARM_R3, Rthread, THREAD_PENDING_EXC, 1, 0); + cmp_imm(jinfo->codebuf, ARM_R3, 0); + it(jinfo->codebuf, COND_NE, IT_MASK_T); + bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION]); + bcc_patch(jinfo->codebuf, COND_EQ, loc_eq); + Thumb2_Return(jinfo, opc_return); + break; + } + case opc_new: { unsigned loc; @@ -6246,7 +6397,9 @@ add_imm(jinfo->codebuf, ARM_R3, ARM_R3, } else { JASSERT((dest & 1) == 0 && (table_loc & 1) == 0, "unaligned code"); offset = (dest >> 1) - (table_loc >> 1); - JASSERT(offset < 65536, "offset too big in tableswitch"); + if (offset >= 65536) { + longjmp(compiler_error_env, COMPILER_RESULT_FAILED); + } out_16(jinfo->codebuf, offset); } } @@ -6316,8 +6469,10 @@ void Thumb2_tablegen(Thumb2_Info *jinfo) unsigned bci; unsigned *count_pos = (unsigned *)out_pos(jinfo->codebuf); unsigned count = 0; - - out_32(jinfo->codebuf, 0); + unsigned i; + CodeBuf *codebuf = jinfo->codebuf; + + out_32(codebuf, 0); bc_stackinfo[0] |= BC_BACK_TARGET; for (bci = 0; bci < code_size;) { unsigned stackinfo = bc_stackinfo[bci]; @@ -6327,8 +6482,11 @@ void Thumb2_tablegen(Thumb2_Info *jinfo) if (stackinfo & BC_BACK_TARGET) { unsigned code_offset = (stackinfo & ~BC_FLAGS_MASK) >> 1; JASSERT(stackinfo & BC_COMPILED, "back branch target not compiled???"); - JASSERT(code_offset < (1<<16), "oops, codesize too big"); - out_32(jinfo->codebuf, (bci << 16) | code_offset); From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 09:07:56 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 17:07:56 +0000 Subject: [Bug 435] icedtea6-1.6.2 unable to compile icedtea6-1.7 due to segfault Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=435 ------- Comment #7 from gnu_andrew at member.fsf.org 2010-01-28 17:07 ------- Added a USE flag for hs16 so you can now build with: USE="-hs16" to use hs14 rather than hs16. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From ptisnovs at icedtea.classpath.org Thu Jan 28 09:14:04 2010 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 28 Jan 2010 17:14:04 +0000 Subject: /hg/icedtea6: Added new patches descriptions to ChangeLog Message-ID: changeset 66cb41c04317 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=66cb41c04317 author: ptisnovs date: Thu Jan 28 18:10:55 2010 +0100 Added new patches descriptions to ChangeLog diffstat: 1 file changed, 14 insertions(+) ChangeLog | 14 ++++++++++++++ diffs (21 lines): diff -r ab2479dd2f87 -r 66cb41c04317 ChangeLog --- a/ChangeLog Thu Jan 28 17:02:40 2010 +0000 +++ b/ChangeLog Thu Jan 28 18:10:55 2010 +0100 @@ -1,3 +1,17 @@ 2010-01-28 Edward Nevill + + * Makefile.am: Add new patches. + * patches/icedtea-6920143-using-with-mouse.patch: + Fix for Sun bug 6920143: added small delay to make + sure that TextArea animation have finished + * patches/icedtea-6920172-location-relative-to-test.patch: + Fix for Sun bug 6920172: test case correction. Check + frame position against graphics environment's + center point + * patches/icedtea-6920172-turkish.patch: + Added othervm flag to ensure that this test will run + in isolation + 2010-01-28 Edward Nevill * asm_helper.cpp, cppInterpreter_arm.S, thumb2.cpp From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 09:14:13 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 17:14:13 +0000 Subject: [Bug 368] Eclipse repeatedly crashes after changing C++ Project Properties Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=368 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|Other |x86_64 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From ed at camswl.com Thu Jan 28 09:15:20 2010 From: ed at camswl.com (ed at camswl.com) Date: Thu, 28 Jan 2010 17:15:20 GMT Subject: RTC Thumb2 JIT methods containing exc handlers Message-ID: <201001281715.o0SHFKop003048@mint.camswl.com> Hi folks, The following patch allows the Thumb2 JIT to JIT methods containing exception handlers which were previously not compiled. OK to commit? Regards, Ed. --- CUT HERE -------------------------------------------------------------------- diff -ruNE old/icedtea6/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S new/icedtea6/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S --- old/icedtea6/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S 2010-01-28 17:01:20.000000000 +0000 +++ new/icedtea6/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S 2010-01-28 17:06:02.000000000 +0000 @@ -6151,17 +6151,24 @@ dc_18: .word 0x38e38e39 +#define TBIT 1 + .global Thumb2_DivZero_Handler Thumb2_DivZero_Handler: +#ifdef THUMB2EE adrl r0, idiv_clz_ret cmp r0, lr addne r0, r0, #irem_clz_ret - idiv_clz_ret cmpne r0, lr beq divide_by_zero_exception - ldr r0, [istate, #ISTATE_METHOD] - ldr jpc, [r0, #METHOD_CONSTMETHOD] + bic r0, lr, #TBIT + ldr r1, [istate, #ISTATE_METHOD] + ldr jpc, [r1, #METHOD_CONSTMETHOD] add jpc, jpc, #CONSTMETHOD_CODEOFFSET + bl Thumb2_lr_to_bci + add jpc, jpc, r0 bl load_dispatch +#endif // THUMB2EE b divide_by_zero_exception #ifdef THUMB2EE @@ -6171,16 +6178,23 @@ .global Thumb2_NullPtr_Handler .global Thumb2_Stack_Overflow Thumb2_ArrayBounds_Handler: - ldr r0, [istate, #ISTATE_METHOD] - ldr jpc, [r0, #METHOD_CONSTMETHOD] + bic r0, lr, #TBIT + ldr r1, [istate, #ISTATE_METHOD] + ldr jpc, [r1, #METHOD_CONSTMETHOD] add jpc, jpc, #CONSTMETHOD_CODEOFFSET + bl Thumb2_lr_to_bci + add jpc, jpc, r0 bl load_dispatch mov r0, #VMSYMBOLS_ArrayIndexOutOfBounds b raise_exception +Thumb2_NullPtr_Handler: Thumb2_Handle_Exception: - ldr r0, [istate, #ISTATE_METHOD] - ldr jpc, [r0, #METHOD_CONSTMETHOD] + bic r0, lr, #TBIT + ldr r1, [istate, #ISTATE_METHOD] + ldr jpc, [r1, #METHOD_CONSTMETHOD] add jpc, jpc, #CONSTMETHOD_CODEOFFSET + bl Thumb2_lr_to_bci + add jpc, jpc, r0 bl load_dispatch b handle_exception Thumb2_Stack_Overflow: @@ -6198,13 +6212,6 @@ CACHE_LOCALS DISPATCH 0 -Thumb2_NullPtr_Handler: - ldr r0, [istate, #ISTATE_METHOD] - ldr jpc, [r0, #METHOD_CONSTMETHOD] - add jpc, jpc, #CONSTMETHOD_CODEOFFSET - bl load_dispatch - b null_ptr_exception - .global Thumb2_Clear_Cache Thumb2_Clear_Cache: stmdb sp!, {r7} diff -ruNE old/icedtea6/ports/hotspot/src/cpu/zero/vm/thumb2.cpp new/icedtea6/ports/hotspot/src/cpu/zero/vm/thumb2.cpp --- old/icedtea6/ports/hotspot/src/cpu/zero/vm/thumb2.cpp 2010-01-28 17:01:20.000000000 +0000 +++ new/icedtea6/ports/hotspot/src/cpu/zero/vm/thumb2.cpp 2010-01-28 17:09:00.000000000 +0000 @@ -546,17 +546,18 @@ // bl fast_entry // pop {r4, r5, r6, r7, r9, r10, r11, pc} unsigned slow_entry[3]; - // osr_tablep: @ pointer to the osr table - // .word osr_table - unsigned *osr_table; + unsigned *osr_table; // pointer to the osr table + unsigned *exception_table; Compiled_Method *next; // OSR Entry point: // R0 = entry point within compiled method - // R1 = locals + // R1 = locals - 4000 * 4 // R2 = thread + // R3 = locals - 31 * 4 // osr_entry: // @ Load each local into it register allocated register - // ldr , [R1, #- * 4] + // ldr , [R1, #(4000-) * 4] + // or ldr , [R3, #(31-) * 4] // ... // mov Rthread, R2 // bx R0 @@ -4484,6 +4485,7 @@ out_32(jinfo->codebuf, 0); out_32(jinfo->codebuf, 0); // pointer to osr table + out_32(jinfo->codebuf, 0); // Space for exception_table pointer out_32(jinfo->codebuf, 0); // next compiled method // OSR entry point @@ -4524,7 +4526,8 @@ bl(jinfo->codebuf, out_pos(jinfo->codebuf) + CODE_ALIGN - 4); ldm(jinfo->codebuf, I_REGSET + (1<codebuf, 0); // Space for osr_table point + out_32(jinfo->codebuf, 0); // Space for osr_table pointer + out_32(jinfo->codebuf, 0); // Space for exception_table pointer out_32(jinfo->codebuf, 0); // Pointer to next method // OSR entry point == Slow entry + 16 - caller save @@ -4577,7 +4580,7 @@ for (i = 0; i < extra_locals; i++) { unsigned linfo = locals_info[parms+i]; - if (linfo & (1<< LOCAL_REF)) + if (linfo & (1<< LOCAL_REF) || ((linfo >> LOCAL_INT) & 0x1f) == 0) str_imm(jinfo->codebuf, ARM_R1, Rstack, (extra_locals-1 - i) * 4, 1, 0); } } @@ -4777,6 +4780,8 @@ if (stackinfo & BC_BRANCH_TARGET) break; if (!(IS_DEAD(stackinfo) || IS_ZOMBIE(stackinfo))) break; + bc_stackinfo[bci] = (stackinfo & BC_FLAGS_MASK) | (codebuf->idx * 2); + if (opcode > OPC_LAST_JAVA_OP) { if (Bytecodes::is_defined((Bytecodes::Code)opcode)) opcode = (unsigned)Bytecodes::java_code((Bytecodes::Code)opcode); @@ -6461,17 +6466,75 @@ } } -void Thumb2_tablegen(Thumb2_Info *jinfo) +#define BEG_BCI_OFFSET 0 +#define END_BCI_OFFSET 1 +#define HANDLER_BCI_OFFSET 2 +#define KLASS_INDEX_OFFSET 3 +#define ENTRY_SIZE 4 + +extern "C" int Thumb2_lr_to_bci(unsigned lr, methodOop method) +{ + Compiled_Method *cmethod = compiled_method_list; + typeArrayOop table = method->exception_table(); + constantPoolOop pool = method->constants(); + int length = table->length(); + + while (cmethod) { + unsigned *exception_table = cmethod->exception_table; + if (exception_table) { + unsigned code_base = (unsigned)cmethod; + if (code_base <= lr && lr <= (unsigned)exception_table) { + for (int i = 0; i < length; i += ENTRY_SIZE) { + unsigned offsets = *exception_table++; + unsigned exc_beg = code_base + ((offsets >> 16) << 1); + unsigned exc_end = code_base + ((offsets & 0xffff) << 1); + + if (exc_beg <= lr && lr <= exc_end) { + return table->int_at(i + BEG_BCI_OFFSET); + } + } + } + } + cmethod = cmethod->next; + } + return 0; +} + +void Thumb2_generate_exception_table(Compiled_Method *cmethod, Thumb2_Info *jinfo) +{ + methodOop method = jinfo->method; + typeArrayOop table = method->exception_table(); + constantPoolOop pool = method->constants(); + int length = table->length(); + unsigned *bc_stackinfo = jinfo->bc_stackinfo; + + cmethod->exception_table = (unsigned *)out_pos(jinfo->codebuf); + for (int i = 0; i < length; i += ENTRY_SIZE) { + int beg_bci = table->int_at(i + BEG_BCI_OFFSET); + int end_bci = table->int_at(i + END_BCI_OFFSET); + unsigned stackinfo; + unsigned beg_offset, end_offset; + + stackinfo = bc_stackinfo[beg_bci]; + beg_offset = (stackinfo & ~BC_FLAGS_MASK) >> 1; + stackinfo = bc_stackinfo[end_bci]; + end_offset = (stackinfo & ~BC_FLAGS_MASK) >> 1; + JASSERT(beg_offset != 0 && end_offset >= beg_offset && end_offset < 65536, "oops"); + out_32(jinfo->codebuf, (beg_offset << 16) | (end_offset)); + } +} + +void Thumb2_tablegen(Compiled_Method *cmethod, Thumb2_Info *jinfo) { unsigned code_size = jinfo->code_size; jubyte *code_base = jinfo->code_base; unsigned *bc_stackinfo = jinfo->bc_stackinfo; unsigned bci; - unsigned *count_pos = (unsigned *)out_pos(jinfo->codebuf); unsigned count = 0; unsigned i; CodeBuf *codebuf = jinfo->codebuf; + cmethod->osr_table = (unsigned *)out_pos(jinfo->codebuf); out_32(codebuf, 0); bc_stackinfo[0] |= BC_BACK_TARGET; for (bci = 0; bci < code_size;) { @@ -6501,7 +6564,9 @@ bci += len; } } - *count_pos = count; + *cmethod->osr_table = count; + if (jinfo->method->has_exception_handler()) + Thumb2_generate_exception_table(cmethod, jinfo); } extern "C" void Thumb2_Clear_Cache(char *base, char *limit); @@ -6705,8 +6770,7 @@ // if (code_size > THUMB2_MAX_BYTECODE_SIZE || (method->max_locals() + method->max_stack()) >= 1000 || - method->has_monitor_bytecodes() || - method->has_exception_handler()) { + method->has_monitor_bytecodes()) { method->set_not_compilable(); return 0; } @@ -6748,8 +6812,11 @@ #ifdef T2EE_PRINT_COMPILATION if (t2ee_print_compilation) { - tty->print("Compiling (%d) ", compiled_methods); - tty->print_cr("%s", method->name_and_sig_as_C_string()); + tty->print_cr("%d %c%c %s", + compiled_methods, + method->is_synchronized() ? 'S' : ' ', + method->has_exception_handler() ? 'E' : ' ', + method->name_and_sig_as_C_string()); } #endif @@ -6846,13 +6913,8 @@ out_32(&codebuf_str, slow_entry); - if (!compiled_accessor) { - unsigned osr_entry_table = out_pos(jinfo_str.codebuf); - - Thumb2_tablegen(&jinfo_str); - - cmethod->osr_table = (unsigned *)osr_entry_table; - } + if (!compiled_accessor) + Thumb2_tablegen(cmethod, &jinfo_str); cb->hp += codebuf_str.idx * 2; @@ -6968,6 +7030,7 @@ Thumb2_CodeBuf *cb = thumb2_codebuf; if (!(CPUInfo & ARCH_THUMBEE)) return 0; if (IS_COMPILED(pc, cb)) { + regs[ARM_LR] = pc; regs[ARM_PC] = (unsigned)Thumb2_NullPtr_Handler; regs[ARM_CPSR] &= ~CPSR_THUMB_BIT; return 1; From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 09:15:07 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 17:15:07 +0000 Subject: [Bug 397] SIGSEGV while running Vuze with icedtea6-1.6.1 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=397 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|Other |x86_64 Version|unspecified |6-1.6.1 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 09:17:26 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 17:17:26 +0000 Subject: [Bug 402] mkbc.c are missing in make dist tarball for icedtea6 1.6.0 1.6.1 and 1.6.2. Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=402 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |6-1.6 ------- Comment #1 from gnu_andrew at member.fsf.org 2010-01-28 17:17 ------- Fixed by aph on the branch: http://icedtea.classpath.org/hg/release/icedtea6-1.6/rev/66c327225114 Guess we need a new minor 1.6 release. Does 1.7 work? -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 09:18:06 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 17:18:06 +0000 Subject: [Bug 422] JRE crash Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=422 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|Other |x86 Version|unspecified |6-1.6 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 09:18:52 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 17:18:52 +0000 Subject: [Bug 429] cacao+Icedtea6 on ARM build failure on armv7l systems Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=429 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |CACAO Platform|Other |arm ------- Comment #5 from gnu_andrew at member.fsf.org 2010-01-28 17:18 ------- Tell me about it... -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 09:19:11 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 17:19:11 +0000 Subject: [Bug 434] Shark on ARM SIGSEGV from null pointer in $r2 instead of THREAD Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=434 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|Other |arm -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From gnu_andrew at member.fsf.org Thu Jan 28 09:22:02 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Thu, 28 Jan 2010 17:22:02 +0000 Subject: Plugin crashes with Xulrunner 1.9.2/libpng/libjpeg In-Reply-To: <20100128180027.249247e8@workstation64.home> References: <20100123000532.56960c4b@workstation64.home> <17c6771e1001270943i23c9e98dmbd6c0c518d5ced3@mail.gmail.com> <20100128172851.3e5e6947@workstation64.home> <17c6771e1001280836u58ae5572u20ec127ada4f410f@mail.gmail.com> <20100128180027.249247e8@workstation64.home> Message-ID: <17c6771e1001280922r3e6e8c25r88ac11666c48ad5e@mail.gmail.com> 2010/1/28 Andreas Radke : > Am Thu, 28 Jan 2010 16:36:04 +0000 > schrieb Andrew John Hughes : >> >> Which plugin test are we talking about? ?I've only looked at Firefox >> and Chromium personally. > > http://www.java.com/en/download/help/testvm.xml > > -Andy > Ah ok, that worked for me on Chromium. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 09:42:15 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 17:42:15 +0000 Subject: [Bug 402] mkbc.c are missing in make dist tarball for icedtea6 1.6.0 1.6.1 and 1.6.2. Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=402 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|Other |arm -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 09:48:10 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 17:48:10 +0000 Subject: [Bug 135] OpenJDK segfaults when running a java project of mine Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=135 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Zero Platform|Macintosh |ppc -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 09:49:09 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 17:49:09 +0000 Subject: [Bug 184] Internal Error (stubGenerator_zero.cpp:84), pid=14195, tid=1873802416 Error: ShouldNotReachHere() Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=184 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|Macintosh |ppc Version|unspecified |6-1.2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From gnu_andrew at member.fsf.org Thu Jan 28 10:29:11 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Thu, 28 Jan 2010 18:29:11 +0000 Subject: Plugin crashes with Xulrunner 1.9.2/libpng/libjpeg In-Reply-To: <20100128190107.3f91592d@workstation64.home> References: <20100123000532.56960c4b@workstation64.home> <17c6771e1001270943i23c9e98dmbd6c0c518d5ced3@mail.gmail.com> <20100128172851.3e5e6947@workstation64.home> <17c6771e1001280836u58ae5572u20ec127ada4f410f@mail.gmail.com> <20100128180027.249247e8@workstation64.home> <17c6771e1001280922r3e6e8c25r88ac11666c48ad5e@mail.gmail.com> <20100128190107.3f91592d@workstation64.home> Message-ID: <17c6771e1001281029p66d481a7tae80beb4c0c42e4c@mail.gmail.com> On 28 January 2010 18:01, Andreas Radke wrote: > Am Thu, 28 Jan 2010 17:22:02 +0000 > schrieb Andrew John Hughes : > >> 2010/1/28 Andreas Radke : >> > Am Thu, 28 Jan 2010 16:36:04 +0000 >> > schrieb Andrew John Hughes : >> >> >> >> Which plugin test are we talking about? ?I've only looked at >> >> Firefox and Chromium personally. >> > >> > http://www.java.com/en/download/help/testvm.xml >> > >> > -Andy >> > >> >> Ah ok, that worked for me on Chromium. > > from a chrome user: > > chromium http://www.java.com/en/download/help/testvm.xml > [13825:13831:20461714417:ERROR:base/native_library_linux.cc(24)] dlopen failed when trying to open /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/IcedTeaNPPlugin.so: libmozjs.so: Kann die Shared-Object-Datei nicht ?ffnen: Datei oder Verzeichnis nicht gefunden > OpenOffice path is '/usr/lib/openoffice' > [13825:13831:20461717187:ERROR:base/native_library_linux.cc(24)] dlopen failed when trying to open /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/IcedTeaNPPlugin.so: libmozjs.so: Kann die Shared-Object-Datei nicht ?ffnen: Datei oder Verzeichnis nicht gefunden > > > mit openjdk6-6.b17_0.hg_20100125-1 > Hmmm... it should have been installed in that location regardless of browser. > > Do we need to set some path that Firefox loads and is not loaded with other browsers? > > We can also talk in icq, msn or jabber (when it will work again one day...) > The IcedTea developers are on IRC in #openjdk on OFTC.net. > Andy > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 10:31:31 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 18:31:31 +0000 Subject: [Bug 224] autoconf AC_ENABLE_ARG misuse Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=224 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|Other |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 10:32:25 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 18:32:25 +0000 Subject: [Bug 225] Alfresco throws exception on ARM Zero Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=225 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|Other |arm Version|unspecified |6-hg -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 10:35:55 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 18:35:55 +0000 Subject: [Bug 247] Linkage errors while building OpenJDK with shark and llvm Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=247 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Shark Platform|Other |ppc -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 10:36:45 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 18:36:45 +0000 Subject: [Bug 303] qt-integration plugin in eclipse crashes while opening ui file Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=303 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|Other |x86 Version|unspecified |6-1.5 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 10:37:30 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 18:37:30 +0000 Subject: [Bug 327] SIGSEGV (0xb) at pc=0xa5fd779c, pid=6255, tid=2833329040 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=327 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|Other |x86 Version|unspecified |6-1.5 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 10:38:09 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 18:38:09 +0000 Subject: [Bug 387] circular dependencies for install of Gentoo ARM5 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=387 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|Other |arm -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 10:39:07 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 18:39:07 +0000 Subject: [Bug 388] Compile of gcc hangs at fortran/intrinsic.o Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=388 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|Other |arm -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 10:41:11 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 18:41:11 +0000 Subject: [Bug 389] Iced Tea 1.11, openjdk7 compilation issue in Suse Linux Enterprise Server 11 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=389 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|Other |x86_64 Version|unspecified |7-1.11 ------- Comment #3 from gnu_andrew at member.fsf.org 2010-01-28 18:41 ------- You need to pass --with-jdk-home= There should be a SuSE package for gcj which provides such a structure in /usr/lib/jvm. You don't need to pass --with-javac,--with-javah, etc. These will be derived from --with-jdk-home. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 10:41:50 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 18:41:50 +0000 Subject: [Bug 412] build fails at final link Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=412 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|Other |arm -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 10:42:17 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 18:42:17 +0000 Subject: [Bug 431] cacao build broken, making redist all, in icedtea6 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=431 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|Other |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 10:42:28 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 18:42:28 +0000 Subject: [Bug 431] cacao build broken, making redist all, in icedtea6 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=431 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|All |32-bit -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 10:43:28 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 18:43:28 +0000 Subject: [Bug 435] icedtea6-1.6.2 unable to compile icedtea6-1.7 due to segfault Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=435 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |x86 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 10:44:47 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 18:44:47 +0000 Subject: [Bug 185] Application SweetHome 3D crashes when i want to print Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=185 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |x86 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 10:44:59 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 18:44:59 +0000 Subject: [Bug 316] unexpected error Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=316 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |x86 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 10:45:16 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 18:45:16 +0000 Subject: [Bug 379] JVM failed while running an external library Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=379 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |x86_64 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 10:45:27 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 18:45:27 +0000 Subject: [Bug 380] An unexpected error has been detected by Java Runtime Environment: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=380 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |x86_64 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 10:45:42 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 18:45:42 +0000 Subject: [Bug 408] SIGSEGV: JavaThread "Java2D Disposer" crashes JVM Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=408 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |x86 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 10:45:54 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 18:45:54 +0000 Subject: [Bug 409] additional info Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=409 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |x86_64 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 10:46:11 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 18:46:11 +0000 Subject: [Bug 427] Openjdk doesn't load a scratch-ticket on a HP Compaq Presario CQ60-laptop. Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=427 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 10:58:32 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 18:58:32 +0000 Subject: [Bug 17] org.omg.CORBA tests fail due to ORB class not implemented Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=17 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 10:58:56 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 18:58:56 +0000 Subject: [Bug 32] Double.toString(string) expands value Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=32 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 10:59:04 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 18:59:04 +0000 Subject: [Bug 179] javascript script support through rhino should not be on bootclasspath Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=179 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 10:59:32 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 18:59:32 +0000 Subject: [Bug 271] JavaFX sample no longer runs with javaws, runs fine with java Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=271 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 10:59:53 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 18:59:53 +0000 Subject: [Bug 276] SIGSEGV in 64 bit JDK 1.6 when using JNI, and both library and Java app are threaded Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=276 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |x86_64 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:00:14 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:00:14 +0000 Subject: [Bug 288] regressions in jdk testsuite with new hotspot Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=288 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:00:23 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:00:23 +0000 Subject: [Bug 290] plugin crash on amd64 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=290 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |x86_64 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:00:48 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:00:48 +0000 Subject: [Bug 293] JVM fatal error in VM code (HS 14) after NetworkManager disable / reenable cycle Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=293 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |x86_64 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:01:36 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:01:36 +0000 Subject: [Bug 294] JavaFX sample not starting as applet due to ZipException, runs fine with javaws or java Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=294 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:01:58 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:01:58 +0000 Subject: [Bug 299] eclipse crashes during file download in a tomcat test scenario Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=299 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |x86_64 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:02:32 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:02:32 +0000 Subject: [Bug 305] eclipse crashes if I try to configure PyDev plugin Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=305 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:02:50 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:02:50 +0000 Subject: [Bug 308] run scilab 5.1 demos at openSUSE11.1 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=308 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |x86_64 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:03:11 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:03:11 +0000 Subject: [Bug 321] SIGSEGV (0xb) at pc=0x00a3dcab with Java VM: OpenJDK Server VM (1.6.0-b09 mixed mode linux-x86) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=321 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |x86 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:03:28 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:03:28 +0000 Subject: [Bug 329] IcedTeaPlugin does not work at all in seamonkey 2.0b1pre Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=329 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:03:54 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:03:54 +0000 Subject: [Bug 332] An unexpected error has been detected by Java Runtime Environment: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=332 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:05:43 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:05:43 +0000 Subject: [Bug 334] allow specifying explicit target arch Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=334 ------- Comment #6 from gnu_andrew at member.fsf.org 2010-01-28 19:05 ------- This doesn't actually seem to do anything with TARGET_ARCH except define it. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:05:57 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:05:57 +0000 Subject: [Bug 334] allow specifying explicit target arch Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=334 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:06:33 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:06:33 +0000 Subject: [Bug 340] files with "ibm confidential" header files Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=340 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|gnu_andrew at member.fsf.org |.org | Platform|PC |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:06:59 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:06:59 +0000 Subject: [Bug 341] questionable license headers in J2DBench Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=341 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|gnu_andrew at member.fsf.org |.org | Platform|PC |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:07:32 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:07:32 +0000 Subject: [Bug 342] copyright unclear for binary *.spp files Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=342 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|gnu_andrew at member.fsf.org |.org | Platform|PC |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:09:44 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:09:44 +0000 Subject: [Bug 343] *_CHANGESET macros used as part of directory names Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=343 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Component|IcedTea6 |IcedTea7 Resolution| |INVALID ------- Comment #1 from gnu_andrew at member.fsf.org 2010-01-28 19:09 ------- You should be using the same changeset specified in Makefile.am. Other changesets are not supported. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:10:22 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:10:22 +0000 Subject: [Bug 351] Spontaneous crashes in rawhide Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=351 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |x86 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:10:37 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:10:37 +0000 Subject: [Bug 343] *_CHANGESET macros used as part of directory names Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=343 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:11:51 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:11:51 +0000 Subject: [Bug 398] hotspot hs16 / 6b17 build failure on sparc Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=398 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |sparc -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:12:21 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:12:21 +0000 Subject: [Bug 404] make dist fails: No rule to make target `IcedTeaNPPlugin.cc', needed by `distdir' Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=404 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Platform|PC |All Resolution| |FIXED ------- Comment #1 from gnu_andrew at member.fsf.org 2010-01-28 19:12 ------- Definitely worked for 1.7. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:12:56 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:12:56 +0000 Subject: [Bug 405] Cannot link default plugin when building on CentOS 5.4 x86_64 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=405 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Plugin Platform|PC |x86_64 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:13:07 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:13:07 +0000 Subject: [Bug 404] make dist fails: No rule to make target `IcedTeaNPPlugin.cc', needed by `distdir' Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=404 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |NPPlugin -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:14:12 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:14:12 +0000 Subject: [Bug 417] IcedteaPlugin.so is not compatible witg Firefox 3.6b Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=417 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Component|IcedTea6 |Plugin Platform|PC |All Resolution| |FIXED ------- Comment #1 from gnu_andrew at member.fsf.org 2010-01-28 19:14 ------- Use NPPlugin released in 1.7. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:42:05 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:42:05 +0000 Subject: [Bug 352] hotspot produces/executes incorrect code (works with cacao and zero) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=352 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:42:38 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:42:38 +0000 Subject: [Bug 357] java frame unprompted window resizing Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=357 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |32-bit -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:43:16 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:43:16 +0000 Subject: [Bug 358] java programe exit while inputting chinese with scim Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=358 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |x86 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:43:54 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:43:54 +0000 Subject: [Bug 359] Firefox crashed on Bandwidth Speed Test plugin Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=359 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Plugin Platform|PC |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:44:53 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:44:53 +0000 Subject: [Bug 362] setPreferedSize without layout manager works on Sun. Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=362 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:45:30 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:45:30 +0000 Subject: [Bug 363] SIGBUS error at [libzip.so+0x40d1] Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=363 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |x86_64 Version|unspecified |6-1.2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:46:06 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:46:06 +0000 Subject: [Bug 365] IntelliJ IDEA crashes due to SIGSEGV in libjvm.so+0x4760e6 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=365 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |x86_64 Version|unspecified |6-1.4 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:47:12 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:47:12 +0000 Subject: [Bug 372] Netx should stop abusing LookAndFeel related fuctions to do layouts Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=372 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |NetX Platform|PC |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:48:51 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:48:51 +0000 Subject: [Bug 373] [PATCH] ignore MToolkit Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=373 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|gnu_andrew at member.fsf.org |.org | Platform|PC |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:49:12 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:49:12 +0000 Subject: [Bug 375] IcedTea fails to build using ecj-3.5 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=375 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:49:59 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:49:59 +0000 Subject: [Bug 376] Cannot create GC thread. Out of system resources. Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=376 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |x86_64 Version|unspecified |6-1.6 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:51:34 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:51:34 +0000 Subject: [Bug 378] Gecko Browsers crashes due to IcedTeaPluginFactory Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=378 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Plugin Platform|PC |x86 Version|unspecified |6-1.5 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 11:59:33 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 19:59:33 +0000 Subject: [Bug 383] Graphics.drawLine fails to draw Dot, works on Sun Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=383 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 12:00:46 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 20:00:46 +0000 Subject: [Bug 384] InetAddress.isReachable() not defined Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=384 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Platform|PC |x86 Resolution| |INVALID -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 12:01:42 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 20:01:42 +0000 Subject: [Bug 385] Regression in NPPlugin from icedtea6-1.6 - Runescape doesn't run Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=385 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Component|IcedTea6 |NPPlugin Resolution| |WONTFIX Version|unspecified |6-1.6 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 12:02:35 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 20:02:35 +0000 Subject: [Bug 386] SEGFAULT when loading applet Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=386 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Plugin Platform|PC |x86 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 12:02:49 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 20:02:49 +0000 Subject: [Bug 392] 3D game shows with a too big scale Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=392 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 12:04:38 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 20:04:38 +0000 Subject: [Bug 394] java.lang.ExceptionInInitializerError on systems with uninitialized clock Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=394 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 12:04:53 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 20:04:53 +0000 Subject: [Bug 395] firefox with openjdk-plugin hangs whenever jmol app is used Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=395 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Plugin Platform|PC |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 12:05:27 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 20:05:27 +0000 Subject: [Bug 396] SIGSEGV (0xb) around pango_layout_new+0x2a Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=396 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |x86_64 Version|unspecified |6-1.2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 12:06:07 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 20:06:07 +0000 Subject: [Bug 407] Segfault in IcedTeaPluginFactory::GetProxyInfo Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=407 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Plugin Platform|PC |All Version|unspecified |6-1.6.1 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 12:06:36 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 20:06:36 +0000 Subject: [Bug 410] Applet resource loading fails Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=410 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Plugin Platform|PC |All Version|unspecified |6-1.6 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 12:07:05 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 20:07:05 +0000 Subject: [Bug 411] Applet cannot load j2pkcs11 library Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=411 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Plugin Platform|PC |All Version|unspecified |6-1.6 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 12:07:49 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 20:07:49 +0000 Subject: [Bug 413] Crash with ibus and JOSM Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=413 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|major |normal Platform|PC |x86_64 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 12:08:36 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 20:08:36 +0000 Subject: [Bug 414] NPPlugin build fails with recent xulrunner Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=414 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |NPPlugin Platform|PC |All Version|unspecified |6-hg ------- Comment #1 from gnu_andrew at member.fsf.org 2010-01-28 20:08 ------- Please recheck with 1.7. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 12:09:56 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 20:09:56 +0000 Subject: [Bug 418] JVM Crasch (SIGSEGV) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=418 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |x86_64 Version|unspecified |6-1.2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 12:10:28 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 20:10:28 +0000 Subject: [Bug 419] SIGSEGV when in file chooser dialog Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=419 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|critical |normal Platform|PC |x86_64 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 12:21:39 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 20:21:39 +0000 Subject: [Bug 420] CompilerThread crashes Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=420 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|critical |normal Platform|PC |x86 Version|unspecified |6-1.2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 12:22:00 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 20:22:00 +0000 Subject: [Bug 421] Support for building without X11 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=421 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |enhancement Platform|PC |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 12:22:38 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 20:22:38 +0000 Subject: [Bug 423] Iced tea openjdk1.6 and jdk1.7 crashes in remote x server (cygwin) environment Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=423 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |x86_64 Version|unspecified |6-1.6 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 12:25:23 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 20:25:23 +0000 Subject: [Bug 425] JAXP fails to build on ARM due to compliance level Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=425 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |arm Version|unspecified |6-1.6 ------- Comment #1 from gnu_andrew at member.fsf.org 2010-01-28 20:25 ------- This may be Gentoo's ant: # Newer versions of Gentoo's ant add # an environment variable so it works properly... export ANT_RESPECT_JAVA_HOME=TRUE -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 12:26:53 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 20:26:53 +0000 Subject: [Bug 426] normal Eclipse update crash (SIGSEGV) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=426 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |x86 ------- Comment #1 from gnu_andrew at member.fsf.org 2010-01-28 20:26 ------- We've never shipped a version of IcedTea based on b11 AFAICS, so don't know what you're using here. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 12:28:27 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 20:28:27 +0000 Subject: [Bug 330] Fedora 10 vuze SWT crash Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=330 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Platform|PC |x86 Resolution| |REMIND ------- Comment #3 from gnu_andrew at member.fsf.org 2010-01-28 20:28 ------- Closing. Reopen if this still occurs and you have a crash log. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 12:28:54 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 20:28:54 +0000 Subject: [Bug 424] Error: guarantee(get_thread_slow() == thread, "must be the same thread, slowly") Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=424 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |x86 Version|unspecified |6-1.6 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 12:32:36 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 20:32:36 +0000 Subject: [Bug 138] jdk6 - GPL-compatible free software licenses and documented copyrights and licenses Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=138 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 12:32:57 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 20:32:57 +0000 Subject: [Bug 221] javac.in and javah.in eat up white space arguments Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=221 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 12:34:51 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 20:34:51 +0000 Subject: [Bug 87] Icedtea 1.7.0 and SwingWorker problem Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=87 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |x86_64 Version|unspecified |7-1.4 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 12:35:18 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 20:35:18 +0000 Subject: [Bug 157] not all copyright holders mentioned in the third party readme Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=157 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|PC |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 12:35:32 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 20:35:32 +0000 Subject: [Bug 157] not all copyright holders mentioned in the third party readme Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=157 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|gnu_andrew at member.fsf.org |.org | Status|REOPENED |NEW -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 12:35:55 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 28 Jan 2010 20:35:55 +0000 Subject: [Bug 251] ubuntu 8.04 amd64 - Java applet loop: openjdk-6 icedtea6-plugin Firefox Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=251 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Plugin Platform|PC |x86_64 Version|unspecified |6-1.3 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 23:12:55 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 29 Jan 2010 07:12:55 +0000 Subject: [Bug 420] CompilerThread crashes Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=420 ------- Comment #1 from mjansson at inconso.de 2010-01-29 07:12 ------- By using the newest Java version the crash never occured again. (Should i close this bugreport now? I don't know...) -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 23:42:48 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 29 Jan 2010 07:42:48 +0000 Subject: [Bug 375] IcedTea fails to build using ecj-3.5 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=375 doko at ubuntu.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #3 from doko at ubuntu.com 2010-01-29 07:42 ------- the jar on gcc.gnu.org:/pub/java is now 3.5.1, icedtea was already fixed. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 23:43:23 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 29 Jan 2010 07:43:23 +0000 Subject: [Bug 435] icedtea6-1.6.2 unable to compile icedtea6-1.7 due to segfault Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=435 ------- Comment #8 from devurandom at gmx.net 2010-01-29 07:43 ------- Created an attachment (id=290) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=290&action=view) log with USE=-hs16 USE=-hs16 does not solve the issue. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jan 28 23:45:43 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 29 Jan 2010 07:45:43 +0000 Subject: [Bug 435] icedtea6-1.6.2 unable to compile icedtea6-1.7 due to segfault Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=435 ------- Comment #9 from devurandom at gmx.net 2010-01-29 07:45 ------- Created an attachment (id=291) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=291&action=view) build.log The x86_64 system somehow managed to build now. The system still failing is this: Portage 2.2_rc61 (default/linux/x86/10.0/desktop, gcc-4.4.2, glibc-2.11-r1, 2.6.32-gentoo-r2 i686) ================================================================= System uname: Linux-2.6.32-gentoo-r2-i686-Intel-R-_Atom-TM-_CPU_N270_ at _1.60GHz-with-gentoo-2.0.1 Timestamp of tree: Fri, 29 Jan 2010 05:45:01 +0000 distcc 3.1 i686-pc-linux-gnu [enabled] app-shells/bash: 4.0_p37 dev-java/java-config: 2.1.10 dev-lang/python: 2.6.4-r1, 3.1.1-r1 dev-python/pycrypto: 2.1.0 dev-util/cmake: 2.8.0-r1 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.6.0-r1 sys-apps/sandbox: 2.2 sys-devel/autoconf: 2.13, 2.65 sys-devel/automake: 1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1 sys-devel/binutils: 2.20 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6b virtual/os-headers: 2.6.30-r1 ACCEPT_KEYWORDS="x86 ~x86" ACCEPT_LICENSE="* - at EULA" CBUILD="i686-pc-linux-gnu" CFLAGS="-pipe -march=i686 -mtune=generic -mmmx -msse -msse2 -msse3 -mfpmath=sse -O2 -fomit-frame-pointer -fstack-protector" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-pipe -march=i686 -mtune=generic -mmmx -msse -msse2 -msse3 -mfpmath=sse -O2 -fomit-frame-pointer -fstack-protector" DISTDIR="/var/cache/portage/distfiles" EMERGE_DEFAULT_OPTS="--with-bdeps y" FEATURES="assume-digests distcc distlocks fixpackages metadata-transfer news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch usersandbox usersync" GENTOO_MIRRORS="ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LANG="en_GB.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed" LINGUAS="de" MAKEOPTS="-j2" PKGDIR="/var/cache/portage/packages" PORTAGE_COMPRESS="xz" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/var/cache/portage/gentoo" PORTDIR_OVERLAY="/var/cache/portage/layman/java-overlay /var/cache/portage/layman/kde /var/cache/portage/layman/sunrise /var/cache/portage/local" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" [...] Unset: CPPFLAGS, CTARGET, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jan 29 01:54:18 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 29 Jan 2010 09:54:18 +0000 Subject: [Bug 221] javac.in and javah.in eat up white space arguments Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=221 ------- Comment #3 from doko at ubuntu.com 2010-01-29 09:54 ------- fixed in IcedTea7, not in IcedTea6 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jan 29 02:39:17 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 29 Jan 2010 10:39:17 +0000 Subject: [Bug 334] allow specifying explicit target arch Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=334 ------- Comment #7 from xerxes at zafena.se 2010-01-29 10:39 ------- TARGET_ARCH are handeled by gnu makes built in rules that are defined in gnu make sources make/default.c To quote the gnu make manual: TARGET_ARCH have no default value. It are intended for use by end-users to customize the build process. TARGET_ARCH are used by the built in make macros LINK.o = $(CC) $(LDFLAGS) $(TARGET_ARCH) COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c and others... So simply defining it for cross compilation purposes looks like the right thing to do -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jan 29 09:32:07 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 29 Jan 2010 17:32:07 +0000 Subject: [Bug 414] NPPlugin build fails with recent xulrunner Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=414 ------- Comment #2 from a.radke at arcor.de 2010-01-29 17:32 ------- It's fixed for me in 1.7 branch. Thanks. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jan 29 09:35:43 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 29 Jan 2010 17:35:43 +0000 Subject: [Bug 414] NPPlugin build fails with recent xulrunner Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=414 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED Version|6-hg |6-1.7 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From ed at camswl.com Fri Jan 29 09:42:15 2010 From: ed at camswl.com (ed at camswl.com) Date: Fri, 29 Jan 2010 17:42:15 GMT Subject: RTC Thumb2 JIT methods containing exc handlers (take 2) Message-ID: <201001291742.o0THgFVQ007168@mint.camswl.com> Hi folks, Well, overnight testing with the previous proposed patch to JIT methods containing exception handlers showed up a few problems. 1) With nested try catch the exception could be thrown to the outermost catch instead of the one it actually occured in. 2) The function Thumb2_lr_to_bci returned 0 if it could not find a matching entry in the exception table. Unfortunately 0 is a valid byte code index. Changed to return -1, and calling code updated to catch -1. 3) When an exception occurs some of the local variable may be cached in ARM registers because they have been register allocated. The exception handling code continues in the interpreter so these need to be decached. This is done by having a register map in the compiled method header to enable the JITs exception handle do determine which locals were in which registers. Other changes: - Copyright notices updated to 2010 and added to thumb2.cpp - assertions turned off in PRODUCT build - Compilation summary and statistics output to stderr instead of stdout I have put 3 binaries of the Thumb2 JIT at http://mint.camswl.com/libjvm-1.so.gz http://mint.camswl.com/libjvm-100.so.gz http://mint.camswl.com/libjvm-10000.so.gz The difference between the 3 binaries is that the -1 version has the compile threshold set to 1, the -100 has it set to 100 etc. The default for a PRODUCT build is to set it to 10000. It is possible to change the compile threshold with the -XX:CompileThreshold=N flag, however, sometimes it is difficult to do this if you are say running a plugin within a broswer. The most useful one to test is the -100 version. The -1 version 'compiles the world' so it quickly runs out of buffer space and simply stops compiling. In addition when you run -1 none of the invokes are resolved when compiling. In this case (for an unresolved invoke) the JIT simply calls out to the interpreter. OK to commit? Regards, Ed. --- CUT HERE --------------------------------------------------------------------------- diff -ruNE old/icedtea6/ports/hotspot/src/cpu/zero/vm/asm_helper.cpp new/icedtea6/ports/hotspot/src/cpu/zero/vm/asm_helper.cpp --- old/icedtea6/ports/hotspot/src/cpu/zero/vm/asm_helper.cpp 2010-01-29 11:43:21.000000000 +0000 +++ new/icedtea6/ports/hotspot/src/cpu/zero/vm/asm_helper.cpp 2010-01-29 11:45:14.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright 2009 Edward Nevill + * Copyright 2009, 2010 Edward Nevill * * 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 diff -ruNE old/icedtea6/ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def new/icedtea6/ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def --- old/icedtea6/ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def 2010-01-29 11:43:21.000000000 +0000 +++ new/icedtea6/ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def 2010-01-29 11:45:04.000000000 +0000 @@ -1,4 +1,4 @@ -@ Copyright 2009 Edward Nevill +@ Copyright 2009, 2010 Edward Nevill @ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. @ @ This code is free software; you can redistribute it and/or modify it diff -ruNE old/icedtea6/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S new/icedtea6/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S --- old/icedtea6/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S 2010-01-29 11:43:21.000000000 +0000 +++ new/icedtea6/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S 2010-01-29 16:25:51.000000000 +0000 @@ -1,4 +1,4 @@ -@ Copyright 2009 Edward Nevill +@ Copyright 2009, 2010 Edward Nevill @ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. @ @ This code is free software; you can redistribute it and/or modify it @@ -2996,9 +2996,12 @@ DECACHE_JPC handle_exception_with_bcp: bl load_dispatch + CACHE_JPC ldr stack, [istate, #ISTATE_STACK_BASE] sub stack, stack, #4 DECACHE_STACK + cmp jpc, #0 + beq 1f mov r0, istate ldr r1, [istate, #ISTATE_THREAD] @@ -6151,38 +6154,108 @@ dc_18: .word 0x38e38e39 +#define TBIT 1 + .global Thumb2_DivZero_Handler Thumb2_DivZero_Handler: +#ifdef THUMB2EE + +#define JAZ_V1 r5 +#define JAZ_V2 r6 +#define JAZ_V3 r7 +#define JAZ_V4 r10 +#define JAZ_V5 r11 + +#define JAZ_REGSET JAZ_V1,JAZ_V2,JAZ_V3,JAZ_V4,JAZ_V5,ip +#define JAZ_REGSET_LEN 6 + adrl r0, idiv_clz_ret cmp r0, lr addne r0, r0, #irem_clz_ret - idiv_clz_ret cmpne r0, lr beq divide_by_zero_exception - ldr r0, [istate, #ISTATE_METHOD] - ldr jpc, [r0, #METHOD_CONSTMETHOD] + stmdb sp!, {JAZ_REGSET} + bic r0, lr, #TBIT + ldr r1, [istate, #ISTATE_METHOD] + ldr jpc, [r1, #METHOD_CONSTMETHOD] add jpc, jpc, #CONSTMETHOD_CODEOFFSET + mov r2, sp + ldr r3, [istate, #ISTATE_LOCALS] + bl Thumb2_lr_to_bci + add sp, sp, #JAZ_REGSET_LEN * 4 + cmp r0, #-1 + moveq jpc, #0 + addne jpc, jpc, r0 bl load_dispatch +#endif // THUMB2EE b divide_by_zero_exception #ifdef THUMB2EE .global Thumb2_Handle_Exception + .global Thumb2_Handle_Exception_NoRegs .global Thumb2_ArrayBounds_Handler .global Thumb2_NullPtr_Handler .global Thumb2_Stack_Overflow Thumb2_ArrayBounds_Handler: - ldr r0, [istate, #ISTATE_METHOD] - ldr jpc, [r0, #METHOD_CONSTMETHOD] + stmdb sp!, {JAZ_REGSET} + bic r0, lr, #TBIT + ldr r1, [istate, #ISTATE_METHOD] + ldr jpc, [r1, #METHOD_CONSTMETHOD] add jpc, jpc, #CONSTMETHOD_CODEOFFSET + mov r2, sp + ldr r3, [istate, #ISTATE_LOCALS] + bl Thumb2_lr_to_bci + add sp, sp, #JAZ_REGSET_LEN * 4 + cmp r0, #-1 + moveq jpc, #0 + addne jpc, jpc, r0 bl load_dispatch mov r0, #VMSYMBOLS_ArrayIndexOutOfBounds b raise_exception Thumb2_Handle_Exception: - ldr r0, [istate, #ISTATE_METHOD] - ldr jpc, [r0, #METHOD_CONSTMETHOD] + stmdb sp!, {JAZ_REGSET} + bic r0, lr, #TBIT + ldr r1, [istate, #ISTATE_METHOD] + ldr jpc, [r1, #METHOD_CONSTMETHOD] + add jpc, jpc, #CONSTMETHOD_CODEOFFSET + mov r2, sp + ldr r3, [istate, #ISTATE_LOCALS] + bl Thumb2_lr_to_bci + add sp, sp, #JAZ_REGSET_LEN * 4 + cmp r0, #-1 + moveq jpc, #0 + addne jpc, jpc, r0 + bl load_dispatch + b handle_exception +Thumb2_Handle_Exception_NoRegs: + bic r0, lr, #TBIT + ldr r1, [istate, #ISTATE_METHOD] + ldr jpc, [r1, #METHOD_CONSTMETHOD] add jpc, jpc, #CONSTMETHOD_CODEOFFSET + mov r2, #0 + bl Thumb2_lr_to_bci + cmp r0, #-1 + moveq jpc, #0 + addne jpc, jpc, r0 bl load_dispatch b handle_exception +Thumb2_NullPtr_Handler: + stmdb sp!, {JAZ_REGSET} + bic r0, lr, #TBIT + ldr r1, [istate, #ISTATE_METHOD] + ldr jpc, [r1, #METHOD_CONSTMETHOD] + add jpc, jpc, #CONSTMETHOD_CODEOFFSET + mov r2, sp + ldr r3, [istate, #ISTATE_LOCALS] + bl Thumb2_lr_to_bci + add sp, sp, #JAZ_REGSET_LEN * 4 + cmp r0, #-1 + moveq jpc, #0 + addne jpc, jpc, r0 + bl load_dispatch + b null_ptr_exception + Thumb2_Stack_Overflow: mov r0, r2 ldr ip, [r0, #THREAD_TOP_ZERO_FRAME] @@ -6198,13 +6271,6 @@ CACHE_LOCALS DISPATCH 0 -Thumb2_NullPtr_Handler: - ldr r0, [istate, #ISTATE_METHOD] - ldr jpc, [r0, #METHOD_CONSTMETHOD] - add jpc, jpc, #CONSTMETHOD_CODEOFFSET - bl load_dispatch - b null_ptr_exception - .global Thumb2_Clear_Cache Thumb2_Clear_Cache: stmdb sp!, {r7} diff -ruNE old/icedtea6/ports/hotspot/src/cpu/zero/vm/thumb2.cpp new/icedtea6/ports/hotspot/src/cpu/zero/vm/thumb2.cpp --- old/icedtea6/ports/hotspot/src/cpu/zero/vm/thumb2.cpp 2010-01-29 11:43:21.000000000 +0000 +++ new/icedtea6/ports/hotspot/src/cpu/zero/vm/thumb2.cpp 2010-01-29 16:26:01.000000000 +0000 @@ -1,3 +1,21 @@ +/* + * Copyright 2009, 2010 Edward Nevill + * + * 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. + */ + #ifdef THUMB2EE #define T2EE_PRINT_COMPILATION @@ -363,7 +381,9 @@ #define H_STACK_OVERFLOW 59 -unsigned handlers[60]; +#define H_HANDLE_EXCEPTION_NO_REGS 60 + +unsigned handlers[61]; #define LEAF_STACK_SIZE 200 #define STACK_SPARE 40 @@ -377,12 +397,7 @@ #ifdef PRODUCT -#define JASSERT(cond, msg) \ - do { \ - if (!(cond)) \ - longjmp(compiler_error_env, COMPILER_RESULT_FATAL); \ - } while (0) - +#define JASSERT(cond, msg) 0 #define J_Unimplemented() longjmp(compiler_error_env, COMPILER_RESULT_FATAL) #else @@ -546,17 +561,22 @@ // bl fast_entry // pop {r4, r5, r6, r7, r9, r10, r11, pc} unsigned slow_entry[3]; - // osr_tablep: @ pointer to the osr table - // .word osr_table - unsigned *osr_table; + unsigned *osr_table; // pointer to the osr table + unsigned *exception_table; Compiled_Method *next; + // The next 6 halfword give the register mapping for JAZ_V1 to JAZ_v5 + // This is used when receovering from an exception so we can push + // the register back into the local variables pool. + short regusage[6]; // OSR Entry point: // R0 = entry point within compiled method - // R1 = locals + // R1 = locals - 4000 * 4 // R2 = thread + // R3 = locals - 31 * 4 // osr_entry: // @ Load each local into it register allocated register - // ldr , [R1, #- * 4] + // ldr , [R1, #(4000-) * 4] + // or ldr , [R3, #(31-) * 4] // ... // mov Rthread, R2 // bx R0 @@ -4484,8 +4504,13 @@ out_32(jinfo->codebuf, 0); out_32(jinfo->codebuf, 0); // pointer to osr table + out_32(jinfo->codebuf, 0); // Space for exception_table pointer out_32(jinfo->codebuf, 0); // next compiled method + out_32(jinfo->codebuf, 0); // regusage + out_32(jinfo->codebuf, 0); + out_32(jinfo->codebuf, 0); + // OSR entry point mov_reg(jinfo->codebuf, ARM_PC, ARM_R0); @@ -4524,9 +4549,14 @@ bl(jinfo->codebuf, out_pos(jinfo->codebuf) + CODE_ALIGN - 4); ldm(jinfo->codebuf, I_REGSET + (1<codebuf, 0); // Space for osr_table point + out_32(jinfo->codebuf, 0); // Space for osr_table pointer + out_32(jinfo->codebuf, 0); // Space for exception_table pointer out_32(jinfo->codebuf, 0); // Pointer to next method + out_32(jinfo->codebuf, 0); // regusage + out_32(jinfo->codebuf, 0); + out_32(jinfo->codebuf, 0); + // OSR entry point == Slow entry + 16 - caller save // R0 = entry point within compiled method // R1 = locals - THUMB2_MAXLOCALS * 4 @@ -4577,7 +4607,7 @@ for (i = 0; i < extra_locals; i++) { unsigned linfo = locals_info[parms+i]; - if (linfo & (1<< LOCAL_REF)) + if (linfo & (1<< LOCAL_REF) || ((linfo >> LOCAL_INT) & 0x1f) == 0) str_imm(jinfo->codebuf, ARM_R1, Rstack, (extra_locals-1 - i) * 4, 1, 0); } } @@ -4671,7 +4701,7 @@ mov_imm(jinfo->codebuf, ARM_R0, 0+CONSTMETHOD_CODEOFFSET); bl(jinfo->codebuf, handlers[H_SYNCHRONIZED_ENTER]); loc_exception = forward_16(jinfo->codebuf); - bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION]); + bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION_NO_REGS]); cbz_patch(jinfo->codebuf, ARM_R0, loc_exception); cbz_patch(jinfo->codebuf, ARM_R0, loc_success); // mov_imm(jinfo->codebuf, ARM_R0, 0+CONSTMETHOD_CODEOFFSET); @@ -4777,6 +4807,8 @@ if (stackinfo & BC_BRANCH_TARGET) break; if (!(IS_DEAD(stackinfo) || IS_ZOMBIE(stackinfo))) break; + bc_stackinfo[bci] = (stackinfo & BC_FLAGS_MASK) | (codebuf->idx * 2); + if (opcode > OPC_LAST_JAVA_OP) { if (Bytecodes::is_defined((Bytecodes::Code)opcode)) opcode = (unsigned)Bytecodes::java_code((Bytecodes::Code)opcode); @@ -5824,7 +5856,7 @@ str_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_LAST_JAVA_SP, 1, 0); cmp_imm(jinfo->codebuf, ARM_R3, 0); it(jinfo->codebuf, COND_NE, IT_MASK_T); - bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION]); + bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION_NO_REGS]); break; } @@ -5941,7 +5973,7 @@ str_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_LAST_JAVA_SP, 1, 0); cmp_imm(jinfo->codebuf, ARM_R3, 0); it(jinfo->codebuf, COND_NE, IT_MASK_T); - bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION]); + bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION_NO_REGS]); break; } else { ldr_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_METHOD, 1, 0); @@ -5980,7 +6012,7 @@ str_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_LAST_JAVA_SP, 1, 0); cmp_imm(jinfo->codebuf, ARM_R3, 0); it(jinfo->codebuf, COND_NE, IT_MASK_T); - bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION]); + bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION_NO_REGS]); } break; } @@ -6447,7 +6479,6 @@ } default: - printf("unknown bytecode = %d\n", opcode); JASSERT(0, "unknown bytecode"); break; } @@ -6461,17 +6492,95 @@ } } -void Thumb2_tablegen(Thumb2_Info *jinfo) +#define BEG_BCI_OFFSET 0 +#define END_BCI_OFFSET 1 +#define HANDLER_BCI_OFFSET 2 +#define KLASS_INDEX_OFFSET 3 +#define ENTRY_SIZE 4 + +extern "C" int Thumb2_lr_to_bci(unsigned lr, methodOop method, Reg *regs, unsigned *locals) +{ + Compiled_Method *cmethod = compiled_method_list; + typeArrayOop table = method->exception_table(); + constantPoolOop pool = method->constants(); + int length = table->length(); + + while (cmethod) { + unsigned *exception_table = cmethod->exception_table; + if (exception_table) { + unsigned code_base = (unsigned)cmethod; + if (code_base <= lr && lr <= (unsigned)exception_table) { + int exception_index = -1; + unsigned exception_found = 0; + + for (int i = 0; i < length; i += ENTRY_SIZE) { + unsigned offsets = *exception_table++; + unsigned exc_beg = code_base + ((offsets >> 16) << 1); + unsigned exc_end = code_base + ((offsets & 0xffff) << 1); + + if (exc_beg <= lr && lr <= exc_end) { + if (exc_beg > exception_found) { + // With nested try catch blocks, choose the most deeply nested + exception_found = exc_beg; + exception_index = i; + } + } + if (exception_index >= 0) { + if (regs) { + for (unsigned i = 0; i < PREGS; i++) { + int local = cmethod->regusage[i]; + if (local >= 0) { + locals[-local] = regs[i]; + } + } + } + return table->int_at(exception_index + BEG_BCI_OFFSET); + } + } + } + } + cmethod = cmethod->next; + } + return -1; +} + +void Thumb2_generate_exception_table(Compiled_Method *cmethod, Thumb2_Info *jinfo) +{ + methodOop method = jinfo->method; + typeArrayOop table = method->exception_table(); + constantPoolOop pool = method->constants(); + int length = table->length(); + unsigned *bc_stackinfo = jinfo->bc_stackinfo; + + cmethod->exception_table = (unsigned *)out_pos(jinfo->codebuf); + for (int i = 0; i < length; i += ENTRY_SIZE) { + int beg_bci = table->int_at(i + BEG_BCI_OFFSET); + int end_bci = table->int_at(i + END_BCI_OFFSET); + unsigned stackinfo; + unsigned beg_offset, end_offset; + + stackinfo = bc_stackinfo[beg_bci]; + beg_offset = (stackinfo & ~BC_FLAGS_MASK) >> 1; + stackinfo = bc_stackinfo[end_bci]; + end_offset = (stackinfo & ~BC_FLAGS_MASK) >> 1; + if (!(beg_offset != 0 && end_offset >= beg_offset && end_offset < 65536)) { + longjmp(compiler_error_env, COMPILER_RESULT_FAILED); + } + out_32(jinfo->codebuf, (beg_offset << 16) | (end_offset)); + } +} + +void Thumb2_tablegen(Compiled_Method *cmethod, Thumb2_Info *jinfo) { unsigned code_size = jinfo->code_size; jubyte *code_base = jinfo->code_base; unsigned *bc_stackinfo = jinfo->bc_stackinfo; unsigned bci; - unsigned *count_pos = (unsigned *)out_pos(jinfo->codebuf); unsigned count = 0; unsigned i; CodeBuf *codebuf = jinfo->codebuf; + cmethod->osr_table = (unsigned *)out_pos(jinfo->codebuf); out_32(codebuf, 0); bc_stackinfo[0] |= BC_BACK_TARGET; for (bci = 0; bci < code_size;) { @@ -6501,7 +6610,9 @@ bci += len; } } - *count_pos = count; + *cmethod->osr_table = count; + if (jinfo->method->has_exception_handler()) + Thumb2_generate_exception_table(cmethod, jinfo); } extern "C" void Thumb2_Clear_Cache(char *base, char *limit); @@ -6625,7 +6736,7 @@ extern "C" unsigned cmpxchg_ptr(unsigned new_value, volatile unsigned *ptr, unsigned cmp_value); static volatile unsigned compiling; static unsigned CompileCount = 0; -static unsigned MaxCompile = 35; +static unsigned MaxCompile = 130; #define COMPILE_ONLY 0 #define COMPILE_COUNT 0 @@ -6705,8 +6816,7 @@ // if (code_size > THUMB2_MAX_BYTECODE_SIZE || (method->max_locals() + method->max_stack()) >= 1000 || - method->has_monitor_bytecodes() || - method->has_exception_handler()) { + method->has_monitor_bytecodes()) { method->set_not_compilable(); return 0; } @@ -6748,8 +6858,11 @@ #ifdef T2EE_PRINT_COMPILATION if (t2ee_print_compilation) { - tty->print("Compiling (%d) ", compiled_methods); - tty->print_cr("%s", method->name_and_sig_as_C_string()); + fprintf(stderr, "Compiling %d %c%c %s\n", + compiled_methods, + method->is_synchronized() ? 'S' : ' ', + method->has_exception_handler() ? 'E' : ' ', + method->name_and_sig_as_C_string()); } #endif @@ -6825,6 +6938,9 @@ Thumb2_disass(&jinfo_str); #endif + for (int i = 0; i < PREGS; i++) + cmethod->regusage[i] = jregs_str.mapping[i]; + Thumb2_Clear_Cache(cb->hp, cb->hp + codebuf_str.idx * 2); #ifdef T2EE_PRINT_STATISTICS @@ -6836,7 +6952,7 @@ bytecodes_compiled += code_size; arm_code_generated += codegen; total_zombie_bytes += jinfo_str.zombie_bytes; - tty->print("%d bytecodes => %d bytes code in %.2f sec, totals: %d => %d in %.2f sec\n", + fprintf(stderr, "%d bytecodes => %d bytes code in %.2f sec, totals: %d => %d in %.2f sec\n", code_size, codegen, (double)compile_time/(double)CLOCKS_PER_SEC, bytecodes_compiled, arm_code_generated, (double)total_compile_time/(double)CLOCKS_PER_SEC); } @@ -6846,13 +6962,8 @@ out_32(&codebuf_str, slow_entry); - if (!compiled_accessor) { - unsigned osr_entry_table = out_pos(jinfo_str.codebuf); - - Thumb2_tablegen(&jinfo_str); - - cmethod->osr_table = (unsigned *)osr_entry_table; - } + if (!compiled_accessor) + Thumb2_tablegen(cmethod, &jinfo_str); cb->hp += codebuf_str.idx * 2; @@ -6875,6 +6986,7 @@ extern "C" void Thumb2_DivZero_Handler(void); extern "C" void Thumb2_ArrayBounds_Handler(void); extern "C" void Thumb2_Handle_Exception(void); +extern "C" void Thumb2_Handle_Exception_NoRegs(void); extern "C" void Thumb2_Exit_To_Interpreter(void); extern "C" void Thumb2_Stack_Overflow(void); @@ -6968,6 +7080,7 @@ Thumb2_CodeBuf *cb = thumb2_codebuf; if (!(CPUInfo & ARCH_THUMBEE)) return 0; if (IS_COMPILED(pc, cb)) { + regs[ARM_LR] = pc; regs[ARM_PC] = (unsigned)Thumb2_NullPtr_Handler; regs[ARM_CPSR] &= ~CPSR_THUMB_BIT; return 1; @@ -7074,6 +7187,10 @@ mov_imm(&codebuf, ARM_R3, (u32)Thumb2_Handle_Exception); mov_reg(&codebuf, ARM_PC, ARM_R3); + handlers[H_HANDLE_EXCEPTION_NO_REGS] = out_pos(&codebuf); + mov_imm(&codebuf, ARM_R3, (u32)Thumb2_Handle_Exception_NoRegs); + mov_reg(&codebuf, ARM_PC, ARM_R3); + handlers[H_STACK_OVERFLOW] = out_pos(&codebuf); mov_imm(&codebuf, ARM_R3, (u32)Thumb2_Stack_Overflow); mov_reg(&codebuf, ARM_PC, ARM_R3); From bugzilla-daemon at icedtea.classpath.org Fri Jan 29 11:47:29 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 29 Jan 2010 19:47:29 +0000 Subject: [Bug 402] mkbc.c are missing in make dist tarball for icedtea6 1.6.0 1.6.1 and 1.6.2. Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=402 xerxes at zafena.se changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #2 from xerxes at zafena.se 2010-01-29 19:47 ------- (In reply to comment #1) > Fixed by aph on the branch: > http://icedtea.classpath.org/hg/release/icedtea6-1.6/rev/66c327225114 > > Guess we need a new minor 1.6 release. Does 1.7 work? > 1.7 work fine, the file are included in the 1.7 release tarball at its new location icedtea6-1.7/ports/hotspot/tools/mkbc.c -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From xerxes at zafena.se Fri Jan 29 13:42:44 2010 From: xerxes at zafena.se (Xerxes Ranby) Date: Fri, 29 Jan 2010 22:42:44 +0100 Subject: RTC Thumb2 JIT methods containing exc handlers (take 2) In-Reply-To: <201001291742.o0THgFVQ007168@mint.camswl.com> References: <201001291742.o0THgFVQ007168@mint.camswl.com> Message-ID: <4B635654.9090701@zafena.se> ed at camswl.com wrote: > Hi folks, > > Well, overnight testing with the previous proposed patch to JIT methods containing > exception handlers showed up a few problems. > > 1) With nested try catch the exception could be thrown to the outermost catch > instead of the one it actually occured in. > > 2) The function Thumb2_lr_to_bci returned 0 if it could not find a matching > entry in the exception table. Unfortunately 0 is a valid byte code index. > Changed to return -1, and calling code updated to catch -1. > > 3) When an exception occurs some of the local variable may be cached in ARM > registers because they have been register allocated. The exception handling > code continues in the interpreter so these need to be decached. This is done > by having a register map in the compiled method header to enable the > JITs exception handle do determine which locals were in which registers. > > Other changes: > > - Copyright notices updated to 2010 and added to thumb2.cpp > - assertions turned off in PRODUCT build > - Compilation summary and statistics output to stderr instead of stdout > > I have put 3 binaries of the Thumb2 JIT at > > http://mint.camswl.com/libjvm-1.so.gz > http://mint.camswl.com/libjvm-100.so.gz > http://mint.camswl.com/libjvm-10000.so.gz > These binarys have introduced a new dependency for the binutils libopcodes-2.20.so (karmic) ldd libjvm.so libm.so.6 => /lib/vfp/libm.so.6 (0x4042e000) libdl.so.2 => /lib/vfp/libdl.so.2 (0x404a4000) libpthread.so.0 => /lib/vfp/libpthread.so.0 (0x404b0000) libffi.so.5 => /usr/lib/libffi.so.5 (0x404cf000) libopcodes-2.20.so => not found libc.so.6 => /lib/vfp/libc.so.6 (0x404de000) /lib/ld-linux.so.3 (0x2a000000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40604000) The t2 jit compiled from icedtea6 trunk dont show any dependency for libopcodes so what are causing this new dependency? Cheers Xerxes From xerxes at zafena.se Fri Jan 29 14:08:31 2010 From: xerxes at zafena.se (Xerxes Ranby) Date: Fri, 29 Jan 2010 23:08:31 +0100 Subject: RTC Thumb2 JIT methods containing exc handlers (take 2) In-Reply-To: <4B635654.9090701@zafena.se> References: <201001291742.o0THgFVQ007168@mint.camswl.com> <4B635654.9090701@zafena.se> Message-ID: <4B635C5F.4080500@zafena.se> Xerxes Ranby wrote: > ed at camswl.com wrote: >> Hi folks, >> ... >> I have put 3 binaries of the Thumb2 JIT at >> >> http://mint.camswl.com/libjvm-1.so.gz >> http://mint.camswl.com/libjvm-100.so.gz >> http://mint.camswl.com/libjvm-10000.so.gz >> > These binarys have introduced a new dependency for the binutils > libopcodes-2.20.so (karmic) > ldd libjvm.so > libm.so.6 => /lib/vfp/libm.so.6 (0x4042e000) > libdl.so.2 => /lib/vfp/libdl.so.2 (0x404a4000) > libpthread.so.0 => /lib/vfp/libpthread.so.0 (0x404b0000) > libffi.so.5 => /usr/lib/libffi.so.5 (0x404cf000) > libopcodes-2.20.so => not found > libc.so.6 => /lib/vfp/libc.so.6 (0x404de000) > /lib/ld-linux.so.3 (0x2a000000) > libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40604000) > > The t2 jit compiled from icedtea6 trunk dont show any dependency for > libopcodes so what are causing this new dependency? > > Cheers > Xerxes Ok I get it These three binarys of yours are compiled with the T2EE_PRINT_DISASS defined that are disabled by default. Have a great day! Xerxes ============%<====================================================== Index: icedtea6/ports/hotspot/src/cpu/zero/vm/thumb2.cpp =================================================================== --- icedtea6.orig/ports/hotspot/src/cpu/zero/vm/thumb2.cpp 2010-01-29 23:06:02.000000000 +0100 +++ icedtea6/ports/hotspot/src/cpu/zero/vm/thumb2.cpp 2010-01-29 23:06:14.000000000 +0100 @@ -20,7 +20,7 @@ #define T2EE_PRINT_COMPILATION #define T2EE_PRINT_STATISTICS -//#define T2EE_PRINT_DISASS +#define T2EE_PRINT_DISASS #define T2EE_PRINT_REGUSAGE #ifdef T2EE_PRINT_COMPILATION From bugzilla-daemon at icedtea.classpath.org Fri Jan 29 16:23:52 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 30 Jan 2010 00:23:52 +0000 Subject: [Bug 281] web100 applet fails to display buttons Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=281 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Plugin Platform|PC |x86_64 Version|unspecified |6-1.4 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jan 29 16:25:14 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 30 Jan 2010 00:25:14 +0000 Subject: [Bug 344] cacao build broken in IcedTea7 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=344 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |CACAO Platform|PC |x86 Version|unspecified |7-hg ------- Comment #5 from gnu_andrew at member.fsf.org 2010-01-30 00:25 ------- Can you retry with current IcedTea7? hotspot-tools and rt have merged. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jan 29 16:30:47 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 30 Jan 2010 00:30:47 +0000 Subject: [Bug 21] DataBuffers not compatible Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=21 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jan 29 16:30:57 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 30 Jan 2010 00:30:57 +0000 Subject: [Bug 49] Round line caps distorted Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=49 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |All -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jan 29 16:31:18 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 30 Jan 2010 00:31:18 +0000 Subject: [Bug 121] with launch homeplayer Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=121 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jan 29 16:31:33 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 30 Jan 2010 00:31:33 +0000 Subject: [Bug 131] IcedTea crashes on a simple applet Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=131 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Plugin Platform|other |x86 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jan 29 16:32:03 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 30 Jan 2010 00:32:03 +0000 Subject: [Bug 182] crashes when updating a project directory in eclipse Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=182 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 Version|unspecified |6-1.2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jan 29 16:32:40 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 30 Jan 2010 00:32:40 +0000 Subject: [Bug 302] JRE fatal error Problematic frame Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=302 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 Version|unspecified |6-1.5 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From andrew at icedtea.classpath.org Fri Jan 29 17:39:10 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Sat, 30 Jan 2010 01:39:10 +0000 Subject: /hg/icedtea6: 4 new changesets Message-ID: changeset be247265a24d in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=be247265a24d author: Andrew John Hughes date: Fri Jan 29 01:24:21 2010 +0000 Add general stamps/plugin.stamp and clean-plugin targets for the plugin. 2010-01-27 Andrew John Hughes * Makefile.am: Use one general stamps/plugin.stamp to mark plugin installation as in IcedTea7. Add matching clean-plugin target. changeset a4c9d01462e1 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=a4c9d01462e1 author: Andrew John Hughes date: Fri Jan 29 17:29:54 2010 +0000 Merge changeset f24b4ea9a462 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=f24b4ea9a462 author: Andrew John Hughes date: Fri Jan 29 20:00:45 2010 +0000 Add missing ICEDTEANPPLUGIN_TARGET dependency on icedtea and icedtea-debug. 2010-01-29 Andrew John Hughes * Makefile.am: Add ICEDTEANPPLUGIN_TARGET back as a dependency of icedtea and icedtea-debug. changeset ec2ae0d51146 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=ec2ae0d51146 author: Andrew John Hughes date: Sat Jan 30 01:38:48 2010 +0000 Add conditional INITIAL_BOOTSTRAP_LINK_STAMP to avoid duplicate javac/jar calls. 2010-01-29 Andrew John Hughes * Makefile.am: Add INITIAL_BOOTSTRAP_LINK_STAMP to avoid the need to check for bootstrap/jdk1.6.0 on each javac or jar invocation. diffstat: 8 files changed, 478 insertions(+), 201 deletions(-) ChangeLog | 40 + Makefile.am | 180 ++----- patches/icedtea-6920143-using-with-mouse.patch | 45 + patches/icedtea-6920172-location-relative-to-test.patch | 27 + patches/icedtea-6920172-turkish.patch | 14 ports/hotspot/src/cpu/zero/vm/asm_helper.cpp | 1 ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S | 23 ports/hotspot/src/cpu/zero/vm/thumb2.cpp | 349 +++++++++++---- diffs (truncated from 1268 to 500 lines): diff -r bb0e039df90a -r ec2ae0d51146 ChangeLog --- a/ChangeLog Wed Jan 27 17:52:01 2010 +0000 +++ b/ChangeLog Sat Jan 30 01:38:48 2010 +0000 @@ -1,3 +1,43 @@ 2010-01-27 Andrew John Hughes + + * Makefile.am: Add INITIAL_BOOTSTRAP_LINK_STAMP + to avoid the need to check for bootstrap/jdk1.6.0 + on each javac or jar invocation. + +2010-01-29 Andrew John Hughes + + * Makefile.am: Add ICEDTEANPPLUGIN_TARGET + back as a dependency of icedtea and icedtea-debug. + +2010-01-28 Pavel Tisnovsky + + * Makefile.am: Add new patches. + * patches/icedtea-6920143-using-with-mouse.patch: + Fix for Sun bug 6920143: added small delay to make + sure that TextArea animation have finished + * patches/icedtea-6920172-location-relative-to-test.patch: + Fix for Sun bug 6920172: test case correction. Check + frame position against graphics environment's + center point + * patches/icedtea-6920172-turkish.patch: + Added othervm flag to ensure that this test will run + in isolation + +2010-01-27 Andrew John Hughes + + * Makefile.am: Use one general + stamps/plugin.stamp to mark plugin + installation as in IcedTea7. Add + matching clean-plugin target. + +2010-01-28 Edward Nevill + + * asm_helper.cpp, cppInterpreter_arm.S, thumb2.cpp + Add stack checking in JIT code, fix IllegalMonitorException bug, + make compilation MP safe, fix bug with large no. of locals, + added buffer checking on compile buffer, fix large tableswitch bug, + fix byte accessor bug, add opc_return_register_finalizer. + 2010-01-27 Andrew John Hughes * Makefile.am: Reference plugin diff -r bb0e039df90a -r ec2ae0d51146 Makefile.am --- a/Makefile.am Wed Jan 27 17:52:01 2010 +0000 +++ b/Makefile.am Sat Jan 30 01:38:48 2010 +0000 @@ -112,8 +112,8 @@ endif # FIXME (plugin): LIVECONNECT_DIR becomes sun/applet netscape # FIXME (plugin): NPPLUGIN_DIR becomes PLUGIN_DIR if ENABLE_NPPLUGIN -ICEDTEAPLUGIN_CLEAN = clean-IcedTeaNPPlugin -ICEDTEAPLUGIN_TARGET = stamps/icedtea-npplugin.stamp +ICEDTEANPPLUGIN_CLEAN = clean-IcedTeaNPPlugin +ICEDTEANPPLUGIN_TARGET = $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so PLUGIN_PATCH = patches/icedtea-liveconnect.patch LIVECONNECT_DIR = -C lib/rt netscape NPPLUGIN_DIR=$(abs_top_builddir)/plugin/icedteanp @@ -122,7 +122,7 @@ else else if ENABLE_PLUGIN ICEDTEAPLUGIN_CLEAN = clean-IcedTeaPlugin -ICEDTEAPLUGIN_TARGET = stamps/icedtea-plugin.stamp +ICEDTEAPLUGIN_TARGET = IcedTeaPlugin.so PLUGIN_PATCH = patches/icedtea-liveconnect.patch LIVECONNECT_DIR = -C lib/rt netscape NPPLUGIN_DIR = @@ -184,11 +184,13 @@ endif # FIXME (bootstrap): Assumption is WITH_OPENJDK == no bootstrap if WITH_OPENJDK - BOOTSTRAP_DIRECTORY_STAMP = + BOOTSTRAP_DIRECTORY_STAMP = ICEDTEA_HOME = $(SYSTEM_OPENJDK_DIR) + INITIAL_BOOTSTRAP_LINK_STAMP = stamps/bootstrap-directory-symlink.stamp else BOOTSTRAP_DIRECTORY_STAMP = stamps/bootstrap-directory.stamp ICEDTEA_HOME = $(abs_top_builddir)/bootstrap/icedtea + INITIAL_BOOTSTRAP_LINK_STAMP = stamps/bootstrap-directory-symlink-ecj.stamp endif # Sources list @@ -307,7 +309,10 @@ ICEDTEA_PATCHES = \ patches/icedtea-linux-separate-debuginfo.patch \ patches/icedtea-parisc.patch \ patches/icedtea-sh4-support.patch \ - patches/libpng.patch + patches/libpng.patch \ + patches/icedtea-6920143-using-with-mouse.patch \ + patches/icedtea-6920172-location-relative-to-test.patch \ + patches/icedtea-6920172-turkish.patch if WITH_RHINO ICEDTEA_PATCHES += \ @@ -1217,7 +1222,7 @@ stamps/icedtea.stamp: stamps/bootstrap-d stamps/icedtea.stamp: stamps/bootstrap-directory-symlink.stamp \ stamps/hotspot-tools.stamp stamps/plugs.stamp \ stamps/ports.stamp stamps/patch.stamp stamps/overlay.stamp \ - $(ICEDTEAPLUGIN_TARGET) \ + $(ICEDTEAPLUGIN_TARGET) $(ICEDTEANPPLUGIN_TARGET) \ extra-lib/about.jar stamps/cacao.stamp stamps/visualvm.stamp \ stamps/pulse-java.stamp $(ARCH_PREFIX) $(MAKE) \ @@ -1316,7 +1321,7 @@ stamps/icedtea-debug.stamp: stamps/boots stamps/icedtea-debug.stamp: stamps/bootstrap-directory-symlink.stamp \ stamps/hotspot-tools.stamp stamps/plugs.stamp \ stamps/ports.stamp stamps/patch.stamp stamps/overlay.stamp \ - $(ICEDTEAPLUGIN_TARGET) \ + $(ICEDTEAPLUGIN_TARGET) $(ICEDTEANPPLUGIN_TARGET) \ extra-lib/about.jar stamps/cacao.stamp stamps/visualvm.stamp \ stamps/pulse-java.stamp $(ARCH_PREFIX) $(MAKE) \ @@ -1518,10 +1523,6 @@ NPPLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedT $(MOZILLA_LIBS)\ -shared -o $@ -stamps/icedtea-npplugin.stamp: $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so - mkdir -p stamps - touch stamps/icedtea-npplugin.stamp - clean-IcedTeaNPPlugin: cd $(NPPLUGIN_DIR);\ rm -f *.o; \ @@ -1547,18 +1548,19 @@ IcedTeaPlugin.so: IcedTeaPlugin.o $(MOZILLA_LIBS) \ -shared -o $@ -stamps/icedtea-plugin.stamp: IcedTeaPlugin.so - mkdir -p stamps - touch stamps/icedtea-plugin.stamp - clean-IcedTeaPlugin: rm -f IcedTeaPlugin.o rm -f IcedTeaPlugin.so endif endif -#FIXME (plugin): Missing plugin.stamp -#FIXME (clean): Missing clean-plugin +stamps/plugin.stamp: $(ICEDTEAPLUGIN_TARGET) $(ICEDTEANPPLUGIN_TARGET) + mkdir -p stamps + touch stamps/icedtea-plugin.stamp + +clean-plugin: $(ICEDTEAPLUGIN_CLEAN) $(ICEDTEANPPLUGIN_CLEAN) + rm -f stamps/plugin.stamp + #FIXME (plugin): Missing liveconnect-source-files.txt #FIXME (plugin): Missing liveconnect.stamp #FIXME (plugin): Missing liveconnect-dist.stamp @@ -1572,21 +1574,14 @@ extra-source-files.txt: extra-source-files.txt: find $(abs_top_srcdir)/extra -name '*.java' | sort > $@ -stamps/extra-class-files.stamp: extra-source-files.txt \ +stamps/extra-class-files.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) \ + extra-source-files.txt \ bootstrap/jdk1.7.0/jre/lib/rt-closed.jar mkdir -p extra-lib - if ! test -d $(ICEDTEA_BOOT_DIR) ; \ - then \ - $(JAVAC) $(MEMORY_LIMIT) -g -d extra-lib \ - -source 1.5 \ - -sourcepath extra -cp bootstrap/jdk1.7.0/jre/lib/rt-closed.jar \ - -bootclasspath \'\' @extra-source-files.txt ; \ - else \ - $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) -g -d extra-lib \ - -source 1.5 \ - -sourcepath extra -cp bootstrap/jdk1.7.0/jre/lib/rt-closed.jar \ - -bootclasspath \'\' @extra-source-files.txt ; \ - fi + $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) -g -d extra-lib \ + -source 1.5 \ + -sourcepath extra -cp bootstrap/jdk1.7.0/jre/lib/rt-closed.jar \ + -bootclasspath \'\' @extra-source-files.txt ; cp -r $(abs_top_srcdir)/extra/net/sourceforge/jnlp/about/resources \ extra-lib/net/sourceforge/jnlp/about mkdir -p stamps @@ -1636,26 +1631,15 @@ endif mkdir -p stamps touch stamps/pulse-java-jar.stamp -stamps/pulse-java-class.stamp: +stamps/pulse-java-class.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) if ENABLE_PULSE_JAVA mkdir -p $(PULSE_JAVA_CLASS_DIR) - if ! test -d $(ICEDTEA_BOOT_DIR) ; \ - then \ - (cd $(PULSE_JAVA_JAVA_SRCDIR); \ - $(JAVAC) -g -d $(PULSE_JAVA_CLASS_DIR) \ - -bootclasspath \ - '$(OPENJDK_SOURCEPATH_DIRS):$(abs_top_builddir)/generated' \ - org/classpath/icedtea/pulseaudio/*.java\ - ) \ - else \ - (cd $(PULSE_JAVA_JAVA_SRCDIR); \ - $(ICEDTEA_BOOT_DIR)/bin/javac -g -d $(PULSE_JAVA_CLASS_DIR)\ - -bootclasspath \ - '$(ICEDTEA_BOOT_DIR)/jre/lib/rt.jar' \ - org/classpath/icedtea/pulseaudio/*.java\ - ) \ - fi - cp -r $(PULSE_JAVA_JAVA_SRCDIR)/META-INF $(PULSE_JAVA_CLASS_DIR) + (cd $(PULSE_JAVA_JAVA_SRCDIR); \ + $(ICEDTEA_BOOT_DIR)/bin/javac -g -d $(PULSE_JAVA_CLASS_DIR)\ + -bootclasspath '$(ICEDTEA_BOOT_DIR)/jre/lib/rt.jar' \ + org/classpath/icedtea/pulseaudio/*.java\ + ) + cp -r $(PULSE_JAVA_JAVA_SRCDIR)/META-INF $(PULSE_JAVA_CLASS_DIR) chmod -R ug+w $(PULSE_JAVA_CLASS_DIR)/META-INF endif mkdir -p stamps @@ -1696,8 +1680,7 @@ endif # VisualVM -stamps/nbplatform.stamp: $(BOOTSTRAP_DIRECTORY_STAMP) stamps/replace-hotspot.stamp \ - stamps/download.stamp +stamps/nbplatform.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) stamps/extract.stamp if WITH_VISUALVM cd netbeans ; \ rm nbbuild/external/binaries-list ; \ @@ -1902,25 +1885,17 @@ endif # plugin tests -stamps/plugin-tests.stamp: $(PLUGIN_TEST_SRCS) \ +stamps/plugin-tests.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) $(PLUGIN_TEST_SRCS) \ bootstrap/jdk1.7.0/jre/lib/rt-closed.jar mkdir -p plugin/tests/LiveConnect if test -d lib/rt/netscape ; then \ set -e ; \ - if ! test -d $(ICEDTEA_BOOT_DIR) ; then \ - $(JAVAC) $(MEMORY_LIMIT) -g -d plugin/tests/LiveConnect \ - -classpath bootstrap/jdk1.7.0/jre/lib/rt-closed.jar \ - -source 1.5 $(PLUGIN_TEST_SRCS) ; \ - $(JAR) cf plugin/tests/LiveConnect/PluginTest.jar \ - plugin/tests/LiveConnect/*.class ; \ - else \ - $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) -g \ - -d plugin/tests/LiveConnect \ - -classpath bootstrap/jdk1.7.0/jre/lib/rt-closed.jar \ - -source 1.5 $(PLUGIN_TEST_SRCS) ; \ - $(ICEDTEA_BOOT_DIR)/bin/jar cf plugin/tests/LiveConnect/PluginTest.jar \ - plugin/tests/LiveConnect/*.class ; \ - fi ; \ + $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) -g \ + -d plugin/tests/LiveConnect \ + -classpath bootstrap/jdk1.7.0/jre/lib/rt-closed.jar \ + -source 1.5 $(PLUGIN_TEST_SRCS) ; \ + $(ICEDTEA_BOOT_DIR)/bin/jar cf plugin/tests/LiveConnect/PluginTest.jar \ + plugin/tests/LiveConnect/*.class ; \ cp -a $(abs_top_srcdir)/plugin/tests/LiveConnect/*.{js,html} plugin/tests/LiveConnect ; \ echo "Done. Now launch \"firefox file://`pwd`/index.html\"" ; \ fi @@ -2065,22 +2040,14 @@ hotspot-tools-source-files.txt: stamps/r mkdir -p lib/hotspot-tools # FIXME (plugs): Remove this -stamps/hotspot-tools-class-files.stamp: hotspot-tools-source-files.txt - if ! test -d $(ICEDTEA_BOOT_DIR) ; \ - then \ - $(JAVAC) $(MEMORY_LIMIT) -g -d lib/hotspot-tools \ - -source 1.5 \ - -sourcepath \ - 'hotspot-tools:$(OPENJDK_SOURCEPATH_DIRS):$(ABS_SOURCE_DIRS)' \ - -classpath \'\' -bootclasspath \'\' @$< ; \ - else \ - $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) -g \ - -d lib/hotspot-tools \ - -source 1.5 \ - -sourcepath \ - 'hotspot-tools:$(OPENJDK_SOURCEPATH_DIRS):$(ABS_SOURCE_DIRS)' \ - -classpath \'\' -bootclasspath \'\' @$< ; \ - fi +stamps/hotspot-tools-class-files.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) \ + hotspot-tools-source-files.txt + $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) -g \ + -d lib/hotspot-tools \ + -source 1.5 \ + -sourcepath \ + 'hotspot-tools:$(OPENJDK_SOURCEPATH_DIRS):$(ABS_SOURCE_DIRS)' \ + -classpath \'\' -bootclasspath \'\' @hotspot-tools-source-files.txt ; mkdir -p stamps touch stamps/hotspot-tools-class-files.stamp @@ -2120,22 +2087,13 @@ rt-source-files.txt: stamps/replace-hots find $(abs_top_srcdir)/rt $(abs_top_builddir)/rt $(LIVECONNECT_SRCS) -name '*.java' \ | sort -u > $@ -stamps/rt-class-files.stamp: rt-source-files.txt +stamps/rt-class-files.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) rt-source-files.txt mkdir -p lib/rt - if ! test -d $(ICEDTEA_BOOT_DIR) ; \ - then \ - $(JAVAC) $(MEMORY_LIMIT) -g -d lib/rt \ - -source 1.5 \ - -sourcepath \ - '$(OPENJDK_SOURCEPATH_DIRS):$(abs_top_builddir)/generated' \ - -classpath \'\' -bootclasspath \'\' @$< ; \ - else \ - $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) -g -d lib/rt \ - -source 1.5 \ - -sourcepath \ - '$(OPENJDK_SOURCEPATH_DIRS):$(abs_top_builddir)/generated' \ - -classpath \'\' -bootclasspath \'\' @$< ; \ - fi + $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) -g -d lib/rt \ + -source 1.5 \ + -sourcepath \ + '$(OPENJDK_SOURCEPATH_DIRS):$(abs_top_builddir)/generated' \ + -classpath \'\' -bootclasspath \'\' @rt-source-files.txt ; cp -r $(abs_top_srcdir)/rt/net/sourceforge/jnlp/resources \ lib/rt/net/sourceforge/jnlp/ mkdir -p stamps @@ -2147,19 +2105,13 @@ clean-rt: rm -f rt-source-files.txt # tools.jar -bootstrap/jdk1.7.0/jre/lib/tools.jar: stamps/hotspot-tools-class-files.stamp +bootstrap/jdk1.7.0/jre/lib/tools.jar: $(INITIAL_BOOTSTRAP_LINK_STAMP) \ + stamps/hotspot-tools-class-files.stamp mkdir -p bootstrap/jdk1.7.0/jre/lib/ - if ! test -d $(ICEDTEA_BOOT_DIR) ; \ - then \ - $(JAR) cf $@ -C lib/hotspot-tools com -C lib/hotspot-tools sun \ - -C lib/hotspot-tools org -C lib/hotspot-tools java \ - -C lib/hotspot-tools javax ; \ - else \ - $(ICEDTEA_BOOT_DIR)/bin/jar cf $@ -C lib/hotspot-tools com \ - -C lib/hotspot-tools sun \ - -C lib/hotspot-tools org -C lib/hotspot-tools java \ - -C lib/hotspot-tools javax ; \ - fi + $(ICEDTEA_BOOT_DIR)/bin/jar cf $@ -C lib/hotspot-tools com \ + -C lib/hotspot-tools sun \ + -C lib/hotspot-tools org -C lib/hotspot-tools java \ + -C lib/hotspot-tools javax ; if test -d bootstrap/ecj ; \ then \ mkdir -p bootstrap/ecj/lib/; \ @@ -2175,14 +2127,8 @@ clean-tools-jar: clean-hotspot-tools # rt-closed.jar. bootstrap/jdk1.7.0/jre/lib/rt-closed.jar: stamps/rt-class-files.stamp mkdir -p bootstrap/jdk1.7.0/jre/lib - if ! test -d $(ICEDTEA_BOOT_DIR) ; \ - then \ - $(JAR) cf $@ -C lib/rt com -C lib/rt java \ - -C lib/rt javax $(LIVECONNECT_DIR) -C lib/rt net -C lib/rt sun ; \ - else \ - $(ICEDTEA_BOOT_DIR)/bin/jar cf $@ -C lib/rt com -C lib/rt java \ - -C lib/rt javax $(LIVECONNECT_DIR) -C lib/rt net -C lib/rt sun ; \ - fi + $(ICEDTEA_BOOT_DIR)/bin/jar cf $@ -C lib/rt com -C lib/rt java \ + -C lib/rt javax $(LIVECONNECT_DIR) -C lib/rt net -C lib/rt sun ; if test -d bootstrap/ecj/jre/lib ; \ then \ cp bootstrap/jdk1.7.0/jre/lib/rt-closed.jar \ @@ -2259,6 +2205,6 @@ clean: distclean-local jtreg: stamps/jtreg.stamp -plugin: $(ICEDTEAPLUGIN_TARGET) +plugin: stamps/plugin.stamp plugin-tests: stamps/plugin-tests.stamp diff -r bb0e039df90a -r ec2ae0d51146 patches/icedtea-6920143-using-with-mouse.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-6920143-using-with-mouse.patch Sat Jan 30 01:38:48 2010 +0000 @@ -0,0 +1,45 @@ +6920143: test/java/awt/TestArea/UsingWithMouse.java needs realSync() +Summary: Added small delay to make sure that TextArea animation have finished +Reviewed-by: anthony + +--- openjdk.orig/jdk/test/java/awt/TextArea/UsingWithMouse/SelectionAutoscrollTest.java 2010-01-27 14:45:28.000000000 +0100 ++++ openjdk/jdk/test/java/awt/TextArea/UsingWithMouse/SelectionAutoscrollTest.java 2010-01-27 14:45:27.000000000 +0100 +@@ -56,6 +56,7 @@ + TextArea textArea; + Robot robot; + final int desiredSelectionEnd = ('z'-'a'+1)*2; // 52 ++ final static int SCROLL_DELAY = 100; // ms + + public void start () { + createObjects(); +@@ -126,6 +127,8 @@ + + moveMouseBelowTextArea( tremble%2!=0 ); + Util.waitForIdle( robot ); ++ // it is needed to add some small delay on Gnome ++ waitUntilScrollIsPerformed(robot); + } + + robot.mouseRelease( MouseEvent.BUTTON1_MASK ); +@@ -141,9 +144,19 @@ + void moveMouseBelowTextArea( boolean shift ) { + Dimension d = textArea.getSize(); + Point l = textArea.getLocationOnScreen(); ++ int x = (int)(l.x+d.width*.5); + int y = (int)(l.y+d.height*1.5); + if( shift ) y+=15; +- robot.mouseMove( (int)(l.x+d.width*.5), y ); ++ robot.mouseMove( x, y ); ++ } ++ ++ void waitUntilScrollIsPerformed(Robot robot) { ++ try { ++ Thread.sleep( SCROLL_DELAY ); ++ } ++ catch( Exception e ) { ++ throw new RuntimeException( e ); ++ } + } + + void checkResults() { + diff -r bb0e039df90a -r ec2ae0d51146 patches/icedtea-6920172-location-relative-to-test.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-6920172-location-relative-to-test.patch Sat Jan 30 01:38:48 2010 +0000 @@ -0,0 +1,27 @@ +6920172: Regression test LocationRelativeToTest does not check frame position correctly. +Summary: Testcase correction - check frame position against graphics environment's center point +Reviewed-by: art + +--- openjdk.orig/jdk/test/java/awt/Multiscreen/LocationRelativeToTest/LocationRelativeToTest.java 2010-01-25 17:42:52.000000000 +0100 ++++ openjdk/jdk/test/java/awt/Multiscreen/LocationRelativeToTest/LocationRelativeToTest.java 2010-01-25 17:42:52.000000000 +0100 +@@ -50,7 +50,8 @@ + + GraphicsEnvironment ge = + GraphicsEnvironment.getLocalGraphicsEnvironment(); +- System.out.println("Center point: " + ge.getCenterPoint()); ++ Point centerPoint = ge.getCenterPoint(); ++ System.out.println("Center point: " + centerPoint); + GraphicsDevice[] gds = ge.getScreenDevices(); + GraphicsDevice gdDef = ge.getDefaultScreenDevice(); + GraphicsConfiguration gcDef = +@@ -77,8 +78,7 @@ + // second, check setLocationRelativeTo(invisible) + f.setLocationRelativeTo(f2); + Util.waitForIdle(r); +- checkLocation(f, new Point(gcBounds.x + gcBounds.width / 2, +- gcBounds.y + gcBounds.height / 2)); ++ checkLocation(f, centerPoint); + + // third, check setLocationRelativeTo(visible) + f2.setVisible(true); + diff -r bb0e039df90a -r ec2ae0d51146 patches/icedtea-6920172-turkish.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-6920172-turkish.patch Sat Jan 30 01:38:48 2010 +0000 @@ -0,0 +1,14 @@ +6917663: test/java/security/Provider/Turkish.java not samevm friendly +Summary: Added othervm flag to ensure that this test will run in isolation. +Reviewed-by: alanb + +--- openjdk.orig/jdk/test/java/security/Provider/Turkish.java 2010-01-18 11:02:18.000000000 +0100 ++++ openjdk/jdk/test/java/security/Provider/Turkish.java 2010-01-18 11:02:17.000000000 +0100 +@@ -25,6 +25,7 @@ + * @test + * @bug 6220064 + * @summary make sure everything works ok in the Turkish local (dotted/dotless i problem) ++ * @run main/othervm Turkish + * @author Andreas Sterbenz + */ + diff -r bb0e039df90a -r ec2ae0d51146 ports/hotspot/src/cpu/zero/vm/asm_helper.cpp --- a/ports/hotspot/src/cpu/zero/vm/asm_helper.cpp Wed Jan 27 17:52:01 2010 +0000 +++ b/ports/hotspot/src/cpu/zero/vm/asm_helper.cpp Sat Jan 30 01:38:48 2010 +0000 @@ -303,6 +303,7 @@ extern "C" void Helper_RaiseIllegalMonit extern "C" void Helper_RaiseIllegalMonitorException(JavaThread *thread) { HandleMark __hm(thread); + thread->clear_pending_exception(); InterpreterRuntime::throw_illegal_monitor_state_exception(thread); } diff -r bb0e039df90a -r ec2ae0d51146 ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S --- a/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S Wed Jan 27 17:52:01 2010 +0000 +++ b/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S Sat Jan 30 01:38:48 2010 +0000 @@ -64,6 +64,9 @@ #ifndef DISABLE_HW_FP #define HW_FP #endif + +#define LEAF_STACK_SIZE 200 +#define STACK_SPARE 40 #define stack r4 #define jpc r5 @@ -504,6 +507,7 @@ do_\label: .text + .global cmpxchg_ptr cmpxchg_ptr: stmfd sp!, {r4, r5, r6, r7, r8, lr} mov r6, #0xffffffc0 @@ -2316,7 +2320,7 @@ fast_normal_entry_synchronized: ldr r3, [tmp1, #THREAD_JAVA_STACK_BASE] From bugzilla-daemon at icedtea.classpath.org Sat Jan 30 11:03:34 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 30 Jan 2010 19:03:34 +0000 Subject: [Bug 436] New: applet background thread keeps running after closing browser window Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=436 Summary: applet background thread keeps running after closing browser window Product: IcedTea Version: 6-hg Platform: All OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: NPPlugin AssignedTo: unassigned at icedtea.classpath.org ReportedBy: xerxes at zafena.se testcase: open two browser tabs (lets call them a and b) when using the np-plugin in firefox load http://www.slayradio.org/webplayer.php in a load http://oneslime.net/ in b wait until a starts streaming music in a background thread close a problem: music keeps playing (expected result it should stop when closing the tab containing the web radioplayer) close b now music (from the closed tab a applet) stops playing when all remaining open applets are closed the same problem happens both with IcedTeaNPPlugin and IcedTeaPlugin compiled from hg trunk. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Sun Jan 31 09:07:07 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 31 Jan 2010 17:07:07 +0000 Subject: [Bug 354] Vuze crashes when it's launched Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=354 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 Version|unspecified |6-1.5 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Sun Jan 31 09:07:44 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 31 Jan 2010 17:07:44 +0000 Subject: [Bug 369] bug Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=369 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86 Version|unspecified |6-1.6 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee.