From gnu_andrew at member.fsf.org Wed Apr 1 04:20:34 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Wed, 1 Apr 2009 11:20:34 +0000 Subject: HotSpot and OpenJDK6 Message-ID: <17c6771e0904010420s4edd7248raff8d66abdcd1dc0@mail.gmail.com> Hi all, Is there any news on a public stable tree for HotSpot b14? And when this will be used by OpenJDK6? 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 Christian.Thalinger at Sun.COM Wed Apr 1 23:23:22 2009 From: Christian.Thalinger at Sun.COM (Christian Thalinger) Date: Thu, 02 Apr 2009 08:23:22 +0200 Subject: Atomic::cmpxchg_ptr code duplication In-Reply-To: <18897.18928.581609.852433@sun.com> References: <18897.18928.581609.852433@sun.com> Message-ID: <1238653402.3168.37.camel@localhost.localdomain> On Mon, 2009-03-30 at 15:38 -0700, John Coomes wrote: > The Atomic class has both > > intptr_t cmpxchg_ptr(intptr_t, volatile intptr_t*, intptr_t); > void* cmpxchg_ptr(void*, volatile void*, void*); > > The latter could be implemented as a simple inline which calls the > former: > > void* cmpxchg_ptr(void* exchange_value, volatile void* dest, > void* compare_value) { > return (intptr_t)cmpxchg_ptr((intptr_t)exchange_value, > (volatile intptr_t*)dest, > (intptr_t)compare_value > } > > However, both the intptr_t and void* variants have bodies defined in > each of the various platform-specific headers (e.g., > atomic_windows_x86.inline.hpp, atomic_solaris_x86.inline.hpp, ...). > So there are 10 places where the cmpxchg_ptr(void*...) variant is > defined, instead of one. Is there a reason for the duplication? I don't see a reason for the duplication. Maybe it's another historic artifact? -- Christian From Ulf.Zibis at gmx.de Thu Apr 2 01:29:19 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Thu, 02 Apr 2009 10:29:19 +0200 Subject: A question about bytecodes + unsigned load ./. add performace In-Reply-To: <229984D5-9DFC-4EE1-8C1B-3E39F79C65DA@Sun.COM> References: <04e11560b685647fecac6de6e1106af4.squirrel@webmail.elfarto.com> <49653769.5030102@sun.com> <356859ff351767b500886b33e5763559.squirrel@webmail.elfarto.com> <85E80190-2636-45E8-AA76-BAA0F332CAC0@Sun.COM> <49665978.8070206@elfarto.com> <94E1EF31-8A55-4C6F-A938-E130DC33AE49@Sun.COM> <15780B10-FC97-412D-85F2-C5092FF7013D@sun.com> <4967E171.6070307@gmx.de> <4F23C298-6A53-4DEA-B39D-84C8609FD9DC@Sun.COM> <49680E3B.3000506@gmx.de> <2298C764-D530-4F46-AFD3-136BB62B57D3@Sun.COM> <1231777780.18329.98.camel@localhost.localdomain> <558E126C-9CE8-4D16-8C26-23D528A2733D@Sun.COM> <496BF7AC.2060500@gmx.de> <46E50E1E-883A-4BA1-BBBE-E35391D5A8F3@Sun.COM> <496E726F.9050605@gmx.de> <229984D5-9DFC-4EE1-8C1B-3E39F79C65DA@Sun.COM> Message-ID: <49D4775F.1050202@gmx.de> Hi Tom, yes, it's some days ago. Can you please outline "IR" for me? -Ulf Am 15.01.2009 01:11, Tom Rodriguez schrieb: > > On Jan 14, 2009, at 3:17 PM, Ulf Zibis wrote: > >> Tom, thanks for your answer. >> >> Hm, that would mean, (inByte & 0xFF) would be good for server VM, and >> bad for client VM. For client VM (inByte + 0x80) would be better. >> Which to give the precedence ? > > Unfortunately neither works with client, which leads to a simple > answer to your question. The usage of addressing modes isn't exposed > in the IR so there's no constant folding between constants in the code > and constants in the address. Client started its life as a simple > template like JIT and it's come a long way since then but the high > level and low level IR could use some revisiting. > > tom > >> >> >> -Ulf >> >> >> Am 13.01.2009 22:57, Tom Rodriguez schrieb: >>> The client VM doesn't have any optimizations around folding unsigned >>> idioms into unsigned loads. They wouldn't be that hard for someone >>> to add. >>> >>> tom >>> >>> On Jan 12, 2009, at 6:08 PM, Ulf Zibis wrote: >>> >>>> Wow, these are good news. :-) >>>> >>>> So is there a chance, to implement this behaviour in trunk, so we >>>> could get rid of the +128 trick ? >>>> Is it also available for -client VM ? >>>> >>>> -Ulf >>>> >>>> >>>> Am 13.01.2009 02:39, John Rose schrieb: >>>>> On Jan 12, 2009, at 1:52 PM, Tom Rodriguez wrote: >>>>> >>>>>> The ideal for the simple example is something like (StoreC mem2 >>>>>> addr2 (AndI (LoadB mem1 addr1) (ConI 0xff))). The code above >>>>>> will break the match at the load, forcing the value into a >>>>>> register. It's seem like an excessively strong cutout but I'm >>>>>> not sure how to phrase it better, particularly since I don't know >>>>>> what exactly what problem it designed to eliminate. I believe >>>>>> it's probably the anti-dep issue but without a concrete failure >>>>>> it's hard to know what exactly it should look like. >>>>> >>>>> That sounds plausible. In general, if a node has a unique user, >>>>> it can be pulled into one of the little spanning trees that the >>>>> matcher places over the ideal DAG. The graph dump Christian sent >>>>> shows that the LoadB has just one user ([[141]]) which means the >>>>> matcher should be able to group the LoadB with the AndI (and >>>>> transform to loadUB), unless there's something else going on, like >>>>> the anti-deps you mention. >>>>> >>>>> -- John >>>>> >>>>> >>>> >>> >>> >> > > From Christian.Thalinger at Sun.COM Thu Apr 2 01:34:08 2009 From: Christian.Thalinger at Sun.COM (Christian Thalinger) Date: Thu, 02 Apr 2009 10:34:08 +0200 Subject: A question about bytecodes + unsigned load ./. add performace In-Reply-To: <49D4775F.1050202@gmx.de> References: <04e11560b685647fecac6de6e1106af4.squirrel@webmail.elfarto.com> <49653769.5030102@sun.com> <356859ff351767b500886b33e5763559.squirrel@webmail.elfarto.com> <85E80190-2636-45E8-AA76-BAA0F332CAC0@Sun.COM> <49665978.8070206@elfarto.com> <94E1EF31-8A55-4C6F-A938-E130DC33AE49@Sun.COM> <15780B10-FC97-412D-85F2-C5092FF7013D@sun.com> <4967E171.6070307@gmx.de> <4F23C298-6A53-4DEA-B39D-84C8609FD9DC@Sun.COM> <49680E3B.3000506@gmx.de> <2298C764-D530-4F46-AFD3-136BB62B57D3@Sun.COM> <1231777780.18329.98.camel@localhost.localdomain> <558E126C-9CE8-4D16-8C26-23D528A2733D@Sun.COM> <496BF7AC.2060500@gmx.de> <46E50E1E-883A-4BA1-BBBE-E35391D5A8F3@Sun.COM> <496E726F.9050605@gmx.de> <229984D5-9DFC-4EE1-8C1B-3E39F79C65DA@Sun.COM> <49D4775F.1050202@gmx.de> Message-ID: <1238661248.3168.43.camel@localhost.localdomain> On Thu, 2009-04-02 at 10:29 +0200, Ulf Zibis wrote: > Hi Tom, yes, it's some days ago. > > Can you please outline "IR" for me? IR means intermediate representation and is a data structure used in compilers. See also: http://en.wikipedia.org/wiki/Intermediate_representation -- Christian From Christian.Thalinger at Sun.COM Thu Apr 2 05:52:38 2009 From: Christian.Thalinger at Sun.COM (Christian Thalinger) Date: Thu, 02 Apr 2009 14:52:38 +0200 Subject: Atomic::cmpxchg_ptr code duplication In-Reply-To: <1238653402.3168.37.camel@localhost.localdomain> References: <18897.18928.581609.852433@sun.com> <1238653402.3168.37.camel@localhost.localdomain> Message-ID: <1238676758.3168.62.camel@localhost.localdomain> On Thu, 2009-04-02 at 08:23 +0200, Christian Thalinger wrote: > > However, both the intptr_t and void* variants have bodies defined in > > each of the various platform-specific headers (e.g., > > atomic_windows_x86.inline.hpp, atomic_solaris_x86.inline.hpp, ...). > > So there are 10 places where the cmpxchg_ptr(void*...) variant is > > defined, instead of one. Is there a reason for the duplication? > > I don't see a reason for the duplication. Maybe it's another historic > artifact? I prepared a patch which removes the unnecessary cmpxchg_ptr and xchg_ptr functions: http://cr.openjdk.java.net/~twisti/cmpxchg_ptr/webrev.00/ A JPRT run with that changes was successful. -- Christian From Paul.Hohensee at Sun.COM Thu Apr 2 06:54:57 2009 From: Paul.Hohensee at Sun.COM (Paul Hohensee) Date: Thu, 02 Apr 2009 09:54:57 -0400 Subject: Atomic::cmpxchg_ptr code duplication In-Reply-To: <1238653402.3168.37.camel@localhost.localdomain> References: <18897.18928.581609.852433@sun.com> <1238653402.3168.37.camel@localhost.localdomain> Message-ID: <49D4C3B1.2060709@sun.com> An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20090402/d82c83b7/attachment.html From Christian.Thalinger at Sun.COM Thu Apr 2 07:06:38 2009 From: Christian.Thalinger at Sun.COM (Christian Thalinger) Date: Thu, 02 Apr 2009 16:06:38 +0200 Subject: Atomic::cmpxchg_ptr code duplication In-Reply-To: <49D4C3B1.2060709@sun.com> References: <18897.18928.581609.852433@sun.com> <1238653402.3168.37.camel@localhost.localdomain> <49D4C3B1.2060709@sun.com> Message-ID: <1238681198.3168.68.camel@localhost.localdomain> On Thu, 2009-04-02 at 09:54 -0400, Paul Hohensee wrote: > If the platform-dependent versions are assembly code templates, then > it's likely at some point that the C++ compiler(s) didn't inline > properly > using your suggested code. I haven't looked in awhile, but I'm pretty > sure there > are some places that use your style of code and others that don't for > because of that. Hmm, not sure I understand. AFAIK it makes no difference for inlining in what header file the inline is defined, as long as both are included and the compiler (preprocessor) finds it. Or do you mean something different by "assembly code templates", like .il files? -- Christian From Paul.Hohensee at Sun.COM Thu Apr 2 08:07:13 2009 From: Paul.Hohensee at Sun.COM (Paul Hohensee) Date: Thu, 02 Apr 2009 11:07:13 -0400 Subject: Atomic::cmpxchg_ptr code duplication In-Reply-To: <1238681198.3168.68.camel@localhost.localdomain> References: <18897.18928.581609.852433@sun.com> <1238653402.3168.37.camel@localhost.localdomain> <49D4C3B1.2060709@sun.com> <1238681198.3168.68.camel@localhost.localdomain> Message-ID: <49D4D4A1.9020202@sun.com> Sometimes compilers don't inline all the way through a call stack, i.e., they may have limits on inlining depth. It's not a matter for the preprocessor, since we're talking methods, not macros. Assembly code template are things like gcc asm statements or .il functions. Doesn't matter which. What matters is whether the compiler actually inlines the asm code where you want it. Paul Christian Thalinger wrote: > On Thu, 2009-04-02 at 09:54 -0400, Paul Hohensee wrote: > >> If the platform-dependent versions are assembly code templates, then >> it's likely at some point that the C++ compiler(s) didn't inline >> properly >> using your suggested code. I haven't looked in awhile, but I'm pretty >> sure there >> are some places that use your style of code and others that don't for >> because of that. >> > > Hmm, not sure I understand. AFAIK it makes no difference for inlining > in what header file the inline is defined, as long as both are included > and the compiler (preprocessor) finds it. Or do you mean something > different by "assembly code templates", like .il files? > > -- Christian > > From andrey.petrusenko at sun.com Thu Apr 2 08:18:02 2009 From: andrey.petrusenko at sun.com (andrey.petrusenko at sun.com) Date: Thu, 02 Apr 2009 15:18:02 +0000 Subject: hg: jdk7/hotspot/hotspot: 4 new changesets Message-ID: <20090402151820.C433BEFF2@hg.openjdk.java.net> Changeset: 96b229c54d1e Author: apetrusenko Date: 2009-03-25 13:10 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/96b229c54d1e 6543938: G1: remove the concept of popularity Reviewed-by: iveresov, tonyp ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/share/vm/gc_implementation/g1/collectionSetChooser.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.inline.hpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.cpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.hpp ! src/share/vm/gc_implementation/g1/vm_operations_g1.cpp ! src/share/vm/gc_implementation/g1/vm_operations_g1.hpp ! src/share/vm/gc_interface/gcCause.hpp ! src/share/vm/runtime/vm_operations.hpp Changeset: 4ac7d97e6101 Author: iveresov Date: 2009-03-26 08:51 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/4ac7d97e6101 6822263: G1: JVMTI heap iteration fails Summary: Make object_iterate() traverse the perm gen Reviewed-by: apetrusenko, tonyp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Changeset: cea947c8a988 Author: ysr Date: 2009-03-28 15:47 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/cea947c8a988 6819891: ParNew: Fix work queue overflow code to deal correctly with +UseCompressedOops Summary: When using compressed oops, rather than chaining the overflowed grey objects' pre-images through their klass words, we use GC-worker thread-local overflow stacks. Reviewed-by: jcoomes, jmasa ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.hpp ! src/share/vm/runtime/globals.hpp Changeset: a80d48f6fde1 Author: apetrusenko Date: 2009-04-02 05:22 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/a80d48f6fde1 Merge ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/share/vm/runtime/globals.hpp From John.Coomes at sun.com Thu Apr 2 13:54:51 2009 From: John.Coomes at sun.com (John Coomes) Date: Thu, 2 Apr 2009 13:54:51 -0700 Subject: Atomic::cmpxchg_ptr code duplication In-Reply-To: <49D4D4A1.9020202@sun.com> References: <18897.18928.581609.852433@sun.com> <1238653402.3168.37.camel@localhost.localdomain> <49D4C3B1.2060709@sun.com> <1238681198.3168.68.camel@localhost.localdomain> <49D4D4A1.9020202@sun.com> Message-ID: <18901.9755.462737.588379@sun.com> Paul Hohensee (Paul.Hohensee at Sun.COM) wrote: > Sometimes compilers don't inline all the way through a call stack, > i.e., they may have limits on inlining depth. It's not a matter for > the preprocessor, since we're talking methods, not macros. > > Assembly code template are things like gcc asm statements or > .il functions. Doesn't matter which. What matters is whether the > compiler actually inlines the asm code where you want it. That's the kind of thing I was actually wondering about, along with portability--consolidating them only works if sizeof(void*) == sizeof(intptr_t) on every platform. They're the same on the platforms SE supports, but maybe there are some oddball embedded platforms around. -John > Christian Thalinger wrote: > > On Thu, 2009-04-02 at 09:54 -0400, Paul Hohensee wrote: > > > >> If the platform-dependent versions are assembly code templates, then > >> it's likely at some point that the C++ compiler(s) didn't inline > >> properly > >> using your suggested code. I haven't looked in awhile, but I'm pretty > >> sure there > >> are some places that use your style of code and others that don't for > >> because of that. > >> > > > > Hmm, not sure I understand. AFAIK it makes no difference for inlining > > in what header file the inline is defined, as long as both are included > > and the compiler (preprocessor) finds it. Or do you mean something > > different by "assembly code templates", like .il files? > > > > -- Christian > > > > From Christian.Thalinger at Sun.COM Thu Apr 2 13:57:55 2009 From: Christian.Thalinger at Sun.COM (Christian Thalinger) Date: Thu, 02 Apr 2009 22:57:55 +0200 Subject: Atomic::cmpxchg_ptr code duplication In-Reply-To: <18901.9755.462737.588379@sun.com> References: <18897.18928.581609.852433@sun.com> <1238653402.3168.37.camel@localhost.localdomain> <49D4C3B1.2060709@sun.com> <1238681198.3168.68.camel@localhost.localdomain> <49D4D4A1.9020202@sun.com> <18901.9755.462737.588379@sun.com> Message-ID: <1238705875.3168.69.camel@localhost.localdomain> On Thu, 2009-04-02 at 13:54 -0700, John Coomes wrote: > Paul Hohensee (Paul.Hohensee at Sun.COM) wrote: > > Sometimes compilers don't inline all the way through a call stack, > > i.e., they may have limits on inlining depth. It's not a matter for > > the preprocessor, since we're talking methods, not macros. > > > > Assembly code template are things like gcc asm statements or > > .il functions. Doesn't matter which. What matters is whether the > > compiler actually inlines the asm code where you want it. > > That's the kind of thing I was actually wondering about, along with > portability--consolidating them only works if sizeof(void*) == > sizeof(intptr_t) on every platform. They're the same on the platforms > SE supports, but maybe there are some oddball embedded platforms > around. The only one I can think of is s390, which has 31-bit addresses. -- Christian From John.Coomes at sun.com Thu Apr 2 14:01:37 2009 From: John.Coomes at sun.com (John Coomes) Date: Thu, 2 Apr 2009 14:01:37 -0700 Subject: Atomic::cmpxchg_ptr code duplication In-Reply-To: <1238676758.3168.62.camel@localhost.localdomain> References: <18897.18928.581609.852433@sun.com> <1238653402.3168.37.camel@localhost.localdomain> <1238676758.3168.62.camel@localhost.localdomain> Message-ID: <18901.10161.245699.639464@sun.com> Christian Thalinger (Christian.Thalinger at Sun.COM) wrote: > On Thu, 2009-04-02 at 08:23 +0200, Christian Thalinger wrote: > > > However, both the intptr_t and void* variants have bodies defined in > > > each of the various platform-specific headers (e.g., > > > atomic_windows_x86.inline.hpp, atomic_solaris_x86.inline.hpp, ...). > > > So there are 10 places where the cmpxchg_ptr(void*...) variant is > > > defined, instead of one. Is there a reason for the duplication? > > > > I don't see a reason for the duplication. Maybe it's another historic > > artifact? > > I prepared a patch which removes the unnecessary cmpxchg_ptr and > xchg_ptr functions: > > http://cr.openjdk.java.net/~twisti/cmpxchg_ptr/webrev.00/ > > A JPRT run with that changes was successful. Cool. FWIW, I had planned to fix it and filed bug 6824520 Atomic - remove duplication and improve unsigned type support But I'll happily let you have it if you want :-). Let me know. It might make sense to split up the "remove duplication" part from the "unsigned type" part, which I included because I'm tired of casting size_t (widely used in gc code) to intptr_t. -John From Christian.Thalinger at Sun.COM Thu Apr 2 14:05:27 2009 From: Christian.Thalinger at Sun.COM (Christian Thalinger) Date: Thu, 02 Apr 2009 23:05:27 +0200 Subject: Atomic::cmpxchg_ptr code duplication In-Reply-To: <18901.10161.245699.639464@sun.com> References: <18897.18928.581609.852433@sun.com> <1238653402.3168.37.camel@localhost.localdomain> <1238676758.3168.62.camel@localhost.localdomain> <18901.10161.245699.639464@sun.com> Message-ID: <1238706327.3168.71.camel@localhost.localdomain> On Thu, 2009-04-02 at 14:01 -0700, John Coomes wrote: > Cool. FWIW, I had planned to fix it and filed bug > > 6824520 Atomic - remove duplication and improve unsigned type support > > But I'll happily let you have it if you want :-). Let me know. Well, let's see if we can agree on what we should do. Maybe Paul is right and some compilers--or even worse, the ones we use--do not optimize them in some cases. -- Christian From thomas.rodriguez at sun.com Thu Apr 2 14:07:59 2009 From: thomas.rodriguez at sun.com (thomas.rodriguez at sun.com) Date: Thu, 02 Apr 2009 21:07:59 +0000 Subject: hg: jdk7/hotspot/hotspot: 5 new changesets Message-ID: <20090402210812.4F855E06D@hg.openjdk.java.net> Changeset: fbde8ec322d0 Author: cfang Date: 2009-03-31 14:07 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/fbde8ec322d0 6761600: Use sse 4.2 in intrinsics Summary: Use SSE 4.2 in intrinsics for String.{compareTo/equals/indexOf} and Arrays.equals. Reviewed-by: kvn, never, jrose ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/vm_version_x86.cpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/adlc/formssel.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/opto/classes.hpp ! src/share/vm/opto/gcm.cpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: 69aefafe69c1 Author: never Date: 2009-03-31 15:09 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/69aefafe69c1 6824463: deopt blob is testing wrong register on 64-bit x86 Reviewed-by: jrose, phh, kvn ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp Changeset: 90e3155a713d Author: never Date: 2009-03-31 19:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/90e3155a713d Merge Changeset: 7230de7c4610 Author: never Date: 2009-04-01 11:45 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/7230de7c4610 6823454: Oop-typed loadP yields invalid pointer (0x1) on SPECjbb2005 at OSRed method entry Reviewed-by: kvn, jrose ! src/share/vm/opto/parse1.cpp Changeset: 4e35bfab60a5 Author: never Date: 2009-04-02 10:49 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/4e35bfab60a5 Merge ! src/share/vm/runtime/globals.hpp From Coleen.Phillimore at Sun.COM Thu Apr 2 14:03:17 2009 From: Coleen.Phillimore at Sun.COM (Coleen Phillimore - Sun Microsystems) Date: Thu, 02 Apr 2009 17:03:17 -0400 Subject: Atomic::cmpxchg_ptr code duplication In-Reply-To: <1238705875.3168.69.camel@localhost.localdomain> References: <18897.18928.581609.852433@sun.com> <1238653402.3168.37.camel@localhost.localdomain> <49D4C3B1.2060709@sun.com> <1238681198.3168.68.camel@localhost.localdomain> <49D4D4A1.9020202@sun.com> <18901.9755.462737.588379@sun.com> <1238705875.3168.69.camel@localhost.localdomain> Message-ID: <49D52815.2020509@sun.com> I thought we had the extra version because of overloading compilation errors, but if you've tested it everywhere, it's probably fine. Did you test against the newer pickier gcc? thanks, Coleen On 04/02/09 16:57, Christian Thalinger wrote: > On Thu, 2009-04-02 at 13:54 -0700, John Coomes wrote: > >> Paul Hohensee (Paul.Hohensee at Sun.COM) wrote: >> >>> Sometimes compilers don't inline all the way through a call stack, >>> i.e., they may have limits on inlining depth. It's not a matter for >>> the preprocessor, since we're talking methods, not macros. >>> >>> Assembly code template are things like gcc asm statements or >>> .il functions. Doesn't matter which. What matters is whether the >>> compiler actually inlines the asm code where you want it. >>> >> That's the kind of thing I was actually wondering about, along with >> portability--consolidating them only works if sizeof(void*) == >> sizeof(intptr_t) on every platform. They're the same on the platforms >> SE supports, but maybe there are some oddball embedded platforms >> around. >> > > The only one I can think of is s390, which has 31-bit addresses. > > -- Christian > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20090402/469f9929/attachment.html From Keith.McGuigan at Sun.COM Thu Apr 2 14:14:55 2009 From: Keith.McGuigan at Sun.COM (Keith McGuigan) Date: Thu, 02 Apr 2009 17:14:55 -0400 Subject: Atomic::cmpxchg_ptr code duplication In-Reply-To: <1238705875.3168.69.camel@localhost.localdomain> References: <18897.18928.581609.852433@sun.com> <1238653402.3168.37.camel@localhost.localdomain> <49D4C3B1.2060709@sun.com> <1238681198.3168.68.camel@localhost.localdomain> <49D4D4A1.9020202@sun.com> <18901.9755.462737.588379@sun.com> <1238705875.3168.69.camel@localhost.localdomain> Message-ID: <49D52ACF.3080607@sun.com> Christian Thalinger wrote: > On Thu, 2009-04-02 at 13:54 -0700, John Coomes wrote: >> Paul Hohensee (Paul.Hohensee at Sun.COM) wrote: >>> Sometimes compilers don't inline all the way through a call stack, >>> i.e., they may have limits on inlining depth. It's not a matter for >>> the preprocessor, since we're talking methods, not macros. >>> >>> Assembly code template are things like gcc asm statements or >>> .il functions. Doesn't matter which. What matters is whether the >>> compiler actually inlines the asm code where you want it. >> That's the kind of thing I was actually wondering about, along with >> portability--consolidating them only works if sizeof(void*) == >> sizeof(intptr_t) on every platform. They're the same on the platforms >> SE supports, but maybe there are some oddball embedded platforms >> around. > > The only one I can think of is s390, which has 31-bit addresses. > > -- Christian > Does making this change use the assumption that sizeof(intptr_t) == sizeof(void*) all the time? If so, can you make sure there's an assertion in there somewhere (with verbose comments) so if we ever run across a platform where this is not true, it will be obvious what needs to be fixed? (if not, sorry to interrupt) -- - Keith From Xiaobin.Lu at Sun.COM Thu Apr 2 14:20:49 2009 From: Xiaobin.Lu at Sun.COM (Xiaobin Lu) Date: Thu, 02 Apr 2009 14:20:49 -0700 Subject: Atomic::cmpxchg_ptr code duplication In-Reply-To: <18901.9755.462737.588379@sun.com> References: <18897.18928.581609.852433@sun.com> <1238653402.3168.37.camel@localhost.localdomain> <49D4C3B1.2060709@sun.com> <1238681198.3168.68.camel@localhost.localdomain> <49D4D4A1.9020202@sun.com> <18901.9755.462737.588379@sun.com> Message-ID: <49D52C31.6010409@Sun.COM> On Mac OS X, I believe intptr_t is typedefed as "int" on both 32 & 64 bit. So, sizeof(intptr_t) on 64 bit Mac OS is still 4 and size(void*) is 8. -Xiaobin John Coomes wrote: > Paul Hohensee (Paul.Hohensee at Sun.COM) wrote: > >> Sometimes compilers don't inline all the way through a call stack, >> i.e., they may have limits on inlining depth. It's not a matter for >> the preprocessor, since we're talking methods, not macros. >> >> Assembly code template are things like gcc asm statements or >> .il functions. Doesn't matter which. What matters is whether the >> compiler actually inlines the asm code where you want it. >> > > That's the kind of thing I was actually wondering about, along with > portability--consolidating them only works if sizeof(void*) == > sizeof(intptr_t) on every platform. They're the same on the platforms > SE supports, but maybe there are some oddball embedded platforms > around. > > -John > > >> Christian Thalinger wrote: >> >>> On Thu, 2009-04-02 at 09:54 -0400, Paul Hohensee wrote: >>> >>> >>>> If the platform-dependent versions are assembly code templates, then >>>> it's likely at some point that the C++ compiler(s) didn't inline >>>> properly >>>> using your suggested code. I haven't looked in awhile, but I'm pretty >>>> sure there >>>> are some places that use your style of code and others that don't for >>>> because of that. >>>> >>>> >>> Hmm, not sure I understand. AFAIK it makes no difference for inlining >>> in what header file the inline is defined, as long as both are included >>> and the compiler (preprocessor) finds it. Or do you mean something >>> different by "assembly code templates", like .il files? >>> >>> -- Christian >>> >>> >>> > > From Paul.Hohensee at Sun.COM Thu Apr 2 14:32:41 2009 From: Paul.Hohensee at Sun.COM (Paul Hohensee) Date: Thu, 02 Apr 2009 17:32:41 -0400 Subject: Atomic::cmpxchg_ptr code duplication In-Reply-To: <1238706327.3168.71.camel@localhost.localdomain> References: <18897.18928.581609.852433@sun.com> <1238653402.3168.37.camel@localhost.localdomain> <1238676758.3168.62.camel@localhost.localdomain> <18901.10161.245699.639464@sun.com> <1238706327.3168.71.camel@localhost.localdomain> Message-ID: <49D52EF9.5050702@sun.com> Easy to see by looking at generated assembly where the methods are used. In a product build directory (e.g., solaris_i486_compiler2/product), use gnumake foo.s Paul Christian Thalinger wrote: > On Thu, 2009-04-02 at 14:01 -0700, John Coomes wrote: > >> Cool. FWIW, I had planned to fix it and filed bug >> >> 6824520 Atomic - remove duplication and improve unsigned type support >> >> But I'll happily let you have it if you want :-). Let me know. >> > > Well, let's see if we can agree on what we should do. Maybe Paul is > right and some compilers--or even worse, the ones we use--do not > optimize them in some cases. > > -- Christian > > From John.Coomes at sun.com Thu Apr 2 14:31:50 2009 From: John.Coomes at sun.com (John Coomes) Date: Thu, 2 Apr 2009 14:31:50 -0700 Subject: Atomic::cmpxchg_ptr code duplication In-Reply-To: <49D52C31.6010409@Sun.COM> References: <18897.18928.581609.852433@sun.com> <1238653402.3168.37.camel@localhost.localdomain> <49D4C3B1.2060709@sun.com> <1238681198.3168.68.camel@localhost.localdomain> <49D4D4A1.9020202@sun.com> <18901.9755.462737.588379@sun.com> <49D52C31.6010409@Sun.COM> Message-ID: <18901.11974.28220.563828@sun.com> Xiaobin Lu (Xiaobin.Lu at Sun.COM) wrote: > On Mac OS X, I believe intptr_t is typedefed as "int" on both 32 & 64 > bit. So, sizeof(intptr_t) on 64 bit Mac OS is still 4 and size(void*) is 8. intptr_t has to be big enough to hold a void* (it's in the c99 standard). I think there were c++ overloading problems on MacOS because 32-bit intptr_t is unsigned long, instead of unsigned int as it is on Solaris & Linux. Even though they're the same size, overloading considers them different types. -John > John Coomes wrote: > > Paul Hohensee (Paul.Hohensee at Sun.COM) wrote: > > > >> Sometimes compilers don't inline all the way through a call stack, > >> i.e., they may have limits on inlining depth. It's not a matter for > >> the preprocessor, since we're talking methods, not macros. > >> > >> Assembly code template are things like gcc asm statements or > >> .il functions. Doesn't matter which. What matters is whether the > >> compiler actually inlines the asm code where you want it. > >> > > > > That's the kind of thing I was actually wondering about, along with > > portability--consolidating them only works if sizeof(void*) == > > sizeof(intptr_t) on every platform. They're the same on the platforms > > SE supports, but maybe there are some oddball embedded platforms > > around. > > > > -John > > > > > >> Christian Thalinger wrote: > >> > >>> On Thu, 2009-04-02 at 09:54 -0400, Paul Hohensee wrote: > >>> > >>> > >>>> If the platform-dependent versions are assembly code templates, then > >>>> it's likely at some point that the C++ compiler(s) didn't inline > >>>> properly > >>>> using your suggested code. I haven't looked in awhile, but I'm pretty > >>>> sure there > >>>> are some places that use your style of code and others that don't for > >>>> because of that. > >>>> > >>>> > >>> Hmm, not sure I understand. AFAIK it makes no difference for inlining > >>> in what header file the inline is defined, as long as both are included > >>> and the compiler (preprocessor) finds it. Or do you mean something > >>> different by "assembly code templates", like .il files? > >>> > >>> -- Christian > >>> > >>> > >>> > > > > > From Xiaobin.Lu at Sun.COM Thu Apr 2 14:36:22 2009 From: Xiaobin.Lu at Sun.COM (Xiaobin Lu) Date: Thu, 02 Apr 2009 14:36:22 -0700 Subject: Atomic::cmpxchg_ptr code duplication In-Reply-To: <18901.11974.28220.563828@sun.com> References: <18897.18928.581609.852433@sun.com> <1238653402.3168.37.camel@localhost.localdomain> <49D4C3B1.2060709@sun.com> <1238681198.3168.68.camel@localhost.localdomain> <49D4D4A1.9020202@sun.com> <18901.9755.462737.588379@sun.com> <49D52C31.6010409@Sun.COM> <18901.11974.28220.563828@sun.com> Message-ID: <49D52FD6.4030505@Sun.COM> You are right, John. The only problem on Mac is the C++ overloading issue. Sorry for the confusion. -Xiaobin On 04/02/09 14:31, John Coomes wrote: > Xiaobin Lu (Xiaobin.Lu at Sun.COM) wrote: > >> On Mac OS X, I believe intptr_t is typedefed as "int" on both 32 & 64 >> bit. So, sizeof(intptr_t) on 64 bit Mac OS is still 4 and size(void*) is 8. >> > > intptr_t has to be big enough to hold a void* (it's in the c99 > standard). > > I think there were c++ overloading problems on MacOS because 32-bit > intptr_t is unsigned long, instead of unsigned int as it is on Solaris > & Linux. Even though they're the same size, overloading considers > them different types. > > -John > > >> John Coomes wrote: >> >>> Paul Hohensee (Paul.Hohensee at Sun.COM) wrote: >>> >>> >>>> Sometimes compilers don't inline all the way through a call stack, >>>> i.e., they may have limits on inlining depth. It's not a matter for >>>> the preprocessor, since we're talking methods, not macros. >>>> >>>> Assembly code template are things like gcc asm statements or >>>> .il functions. Doesn't matter which. What matters is whether the >>>> compiler actually inlines the asm code where you want it. >>>> >>>> >>> That's the kind of thing I was actually wondering about, along with >>> portability--consolidating them only works if sizeof(void*) == >>> sizeof(intptr_t) on every platform. They're the same on the platforms >>> SE supports, but maybe there are some oddball embedded platforms >>> around. >>> >>> -John >>> >>> >>> >>>> Christian Thalinger wrote: >>>> >>>> >>>>> On Thu, 2009-04-02 at 09:54 -0400, Paul Hohensee wrote: >>>>> >>>>> >>>>> >>>>>> If the platform-dependent versions are assembly code templates, then >>>>>> it's likely at some point that the C++ compiler(s) didn't inline >>>>>> properly >>>>>> using your suggested code. I haven't looked in awhile, but I'm pretty >>>>>> sure there >>>>>> are some places that use your style of code and others that don't for >>>>>> because of that. >>>>>> >>>>>> >>>>>> >>>>> Hmm, not sure I understand. AFAIK it makes no difference for inlining >>>>> in what header file the inline is defined, as long as both are included >>>>> and the compiler (preprocessor) finds it. Or do you mean something >>>>> different by "assembly code templates", like .il files? >>>>> >>>>> -- Christian >>>>> >>>>> >>>>> >>>>> >>> >>> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20090402/c0ac7491/attachment.html From Paul.Hohensee at Sun.COM Thu Apr 2 14:36:42 2009 From: Paul.Hohensee at Sun.COM (Paul Hohensee) Date: Thu, 02 Apr 2009 17:36:42 -0400 Subject: Atomic::cmpxchg_ptr code duplication In-Reply-To: <49D52C31.6010409@Sun.COM> References: <18897.18928.581609.852433@sun.com> <1238653402.3168.37.camel@localhost.localdomain> <49D4C3B1.2060709@sun.com> <1238681198.3168.68.camel@localhost.localdomain> <49D4D4A1.9020202@sun.com> <18901.9755.462737.588379@sun.com> <49D52C31.6010409@Sun.COM> Message-ID: <49D52FEA.1030102@sun.com> Wow. That's a C/C++ language violation for 64-bit. How does anything using intptr_t work? Paul Xiaobin Lu wrote: > On Mac OS X, I believe intptr_t is typedefed as "int" on both 32 & 64 > bit. So, sizeof(intptr_t) on 64 bit Mac OS is still 4 and size(void*) > is 8. > > -Xiaobin > John Coomes wrote: >> Paul Hohensee (Paul.Hohensee at Sun.COM) wrote: >> >>> Sometimes compilers don't inline all the way through a call stack, >>> i.e., they may have limits on inlining depth. It's not a matter for >>> the preprocessor, since we're talking methods, not macros. >>> >>> Assembly code template are things like gcc asm statements or >>> .il functions. Doesn't matter which. What matters is whether the >>> compiler actually inlines the asm code where you want it. >>> >> >> That's the kind of thing I was actually wondering about, along with >> portability--consolidating them only works if sizeof(void*) == >> sizeof(intptr_t) on every platform. They're the same on the platforms >> SE supports, but maybe there are some oddball embedded platforms >> around. >> >> -John >> >> >>> Christian Thalinger wrote: >>> >>>> On Thu, 2009-04-02 at 09:54 -0400, Paul Hohensee wrote: >>>> >>>>> If the platform-dependent versions are assembly code templates, then >>>>> it's likely at some point that the C++ compiler(s) didn't inline >>>>> properly >>>>> using your suggested code. I haven't looked in awhile, but I'm >>>>> pretty >>>>> sure there >>>>> are some places that use your style of code and others that don't for >>>>> because of that. >>>>> >>>> Hmm, not sure I understand. AFAIK it makes no difference for inlining >>>> in what header file the inline is defined, as long as both are >>>> included >>>> and the compiler (preprocessor) finds it. Or do you mean something >>>> different by "assembly code templates", like .il files? >>>> >>>> -- Christian >>>> >>>> >> >> > From john.coomes at sun.com Thu Apr 2 23:35:56 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 03 Apr 2009 06:35:56 +0000 Subject: hg: jdk7/hotspot: 2 new changesets Message-ID: <20090403063556.DD7ABE1A2@hg.openjdk.java.net> Changeset: c235f4a8559d Author: xdono Date: 2009-03-27 14:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/rev/c235f4a8559d Added tag jdk7-b52 for changeset 4264c2fe6649 ! .hgtags Changeset: 2ef382b1bbd5 Author: xdono Date: 2009-04-02 16:51 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/rev/2ef382b1bbd5 Added tag jdk7-b53 for changeset c235f4a8559d ! .hgtags From john.coomes at sun.com Thu Apr 2 23:39:13 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 03 Apr 2009 06:39:13 +0000 Subject: hg: jdk7/hotspot/corba: 3 new changesets Message-ID: <20090403063917.39BACE1A7@hg.openjdk.java.net> Changeset: 2e02b4137dad Author: xdono Date: 2009-03-27 14:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/corba/rev/2e02b4137dad Added tag jdk7-b52 for changeset bec82237d694 ! .hgtags Changeset: 3c4d73194f6f Author: xdono Date: 2009-03-31 08:53 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/corba/rev/3c4d73194f6f Merge - src/share/classes/com/sun/tools/corba/se/logutil/lib/jscheme.jar - src/share/classes/com/sun/tools/corba/se/logutil/lib/jschemelogutil.jar - src/share/classes/com/sun/tools/corba/se/logutil/scripts/mc - src/share/classes/com/sun/tools/corba/se/logutil/scripts/mc.scm - src/share/classes/com/sun/tools/corba/se/logutil/scripts/run Changeset: 8130ac858d67 Author: xdono Date: 2009-04-02 16:51 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/corba/rev/8130ac858d67 Added tag jdk7-b53 for changeset 3c4d73194f6f ! .hgtags From john.coomes at sun.com Thu Apr 2 23:47:03 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 03 Apr 2009 06:47:03 +0000 Subject: hg: jdk7/hotspot/jaxp: 4 new changesets Message-ID: <20090403064711.1A069E1AC@hg.openjdk.java.net> Changeset: 30e3f9614f07 Author: xdono Date: 2009-03-27 14:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/30e3f9614f07 Added tag jdk7-b52 for changeset 69ad87dc25cb ! .hgtags Changeset: 996284fd4afe Author: ohair Date: 2009-03-26 16:48 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/996284fd4afe 6822913: Consolidate make/jprt.config files, let JPRT manage this file make it optional in repos Reviewed-by: tbell - make/jprt.config Changeset: e8837366d3fd Author: xdono Date: 2009-04-01 08:58 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/e8837366d3fd Merge Changeset: 946a9f0c4932 Author: xdono Date: 2009-04-02 16:51 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/946a9f0c4932 Added tag jdk7-b53 for changeset e8837366d3fd ! .hgtags From john.coomes at sun.com Thu Apr 2 23:50:27 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 03 Apr 2009 06:50:27 +0000 Subject: hg: jdk7/hotspot/jaxws: 4 new changesets Message-ID: <20090403065033.9E242E1B1@hg.openjdk.java.net> Changeset: 2c10f0cbb34e Author: xdono Date: 2009-03-27 14:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/2c10f0cbb34e Added tag jdk7-b52 for changeset e646890d18b7 ! .hgtags Changeset: 0814199b8ee7 Author: ohair Date: 2009-03-26 16:48 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/0814199b8ee7 6822913: Consolidate make/jprt.config files, let JPRT manage this file make it optional in repos Reviewed-by: tbell - make/jprt.config Changeset: b250218eb2e5 Author: xdono Date: 2009-04-01 08:58 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/b250218eb2e5 Merge Changeset: 50ea00dc5f14 Author: xdono Date: 2009-04-02 16:51 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/50ea00dc5f14 Added tag jdk7-b53 for changeset b250218eb2e5 ! .hgtags From john.coomes at sun.com Thu Apr 2 23:54:03 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 03 Apr 2009 06:54:03 +0000 Subject: hg: jdk7/hotspot/jdk: 8 new changesets Message-ID: <20090403065612.B9023E1B6@hg.openjdk.java.net> Changeset: 3501cc282cd2 Author: xdono Date: 2009-03-27 14:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/3501cc282cd2 Added tag jdk7-b52 for changeset bcbeadb4a5d7 ! .hgtags Changeset: 1bbbd1bf9be3 Author: xdono Date: 2009-03-31 08:53 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/1bbbd1bf9be3 Merge - src/share/classes/sun/misc/JavaIODeleteOnExitAccess.java Changeset: 90873391a0e0 Author: ohair Date: 2009-03-26 16:52 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/90873391a0e0 6822374: Windows: detect X64 when PROCESSOR_IDENTIFIER contains EM64T or Intel64 6822913: Consolidate make/jprt.config files, let JPRT manage this file make it optional in repos Reviewed-by: tbell ! make/common/shared/Platform.gmk ! make/jdk_generic_profile.sh - make/jprt.config Changeset: 964cc8eb3232 Author: tbell Date: 2009-03-31 15:27 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/964cc8eb3232 6819847: build is broken for OpenJDK with plugs Reviewed-by: jjg, robilad, ohair ! make/Makefile ! make/common/Defs.gmk ! make/common/shared/Sanity-Settings.gmk ! make/java/redist/Makefile Changeset: ecb7723aaa7c Author: tbell Date: 2009-04-01 04:44 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/ecb7723aaa7c 6824595: OpenJDK fix breaks product build for jdk7 Reviewed-by: xdono, ohair ! make/Makefile Changeset: deced414c8e4 Author: xdono Date: 2009-04-01 08:58 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/deced414c8e4 Merge - src/share/classes/sun/misc/JavaIODeleteOnExitAccess.java Changeset: a2033addca67 Author: ohair Date: 2009-04-01 16:49 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/a2033addca67 6825175: Remove or disable sanity check on binary plugs Reviewed-by: xdono ! make/common/shared/Sanity.gmk Changeset: 8536cdffa32e Author: xdono Date: 2009-04-02 16:51 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/8536cdffa32e Added tag jdk7-b53 for changeset a2033addca67 ! .hgtags From john.coomes at sun.com Fri Apr 3 00:06:25 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 03 Apr 2009 07:06:25 +0000 Subject: hg: jdk7/hotspot/langtools: 5 new changesets Message-ID: <20090403070636.5B188E1BB@hg.openjdk.java.net> Changeset: 1ec9ff434ce2 Author: xdono Date: 2009-03-27 14:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/1ec9ff434ce2 Added tag jdk7-b52 for changeset 29329051d483 ! .hgtags Changeset: 72c2df1a2b5a Author: xdono Date: 2009-03-31 08:54 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/72c2df1a2b5a Merge Changeset: 39c674c60a36 Author: ohair Date: 2009-03-26 16:48 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/39c674c60a36 6822913: Consolidate make/jprt.config files, let JPRT manage this file make it optional in repos Reviewed-by: tbell - make/jprt.config Changeset: dbdeb4a7581b Author: xdono Date: 2009-04-01 08:58 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/dbdeb4a7581b Merge Changeset: 197a7f881937 Author: xdono Date: 2009-04-02 16:52 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/197a7f881937 Added tag jdk7-b53 for changeset dbdeb4a7581b ! .hgtags From karen.kinnear at sun.com Fri Apr 3 15:39:45 2009 From: karen.kinnear at sun.com (karen.kinnear at sun.com) Date: Fri, 03 Apr 2009 22:39:45 +0000 Subject: hg: jdk7/hotspot/hotspot: 5 new changesets Message-ID: <20090403223955.1B203E31C@hg.openjdk.java.net> Changeset: f30ba3b36599 Author: poonam Date: 2009-03-27 10:29 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/f30ba3b36599 6822407: heapOopSize lookup is incorrect in Serviceability Agent. Summary: heapOopSize symbol should be declared as constant in vmStructs and should not be looked up in readVMIntConstants(). Reviewed-by: never, swamyv, coleenp ! agent/src/share/classes/sun/jvm/hotspot/HotSpotTypeDataBase.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java ! src/share/vm/runtime/vmStructs.cpp Changeset: d142f1feeed5 Author: acorn Date: 2009-03-29 18:19 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/d142f1feeed5 Merge Changeset: 956304450e80 Author: phh Date: 2009-04-01 16:38 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/956304450e80 6819213: revive sun.boot.library.path Summary: Support multiplex and mutable sun.boot.library.path Reviewed-by: acorn, dcubed, xlu ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! src/share/vm/runtime/hpi.hpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/os.hpp + test/runtime/6819213/TestBootNativeLibraryPath.java Changeset: 23276f80d930 Author: acorn Date: 2009-04-02 14:26 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/23276f80d930 6825642: nsk sajdi tests fail with NullPointerException Reviewed-by: xlu, coleenp, kamg, swamyv ! agent/src/share/classes/sun/jvm/hotspot/HotSpotTypeDataBase.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java ! src/share/vm/runtime/vmStructs.cpp Changeset: 2c1dbb844832 Author: acorn Date: 2009-04-02 18:17 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/2c1dbb844832 Merge ! src/share/vm/runtime/arguments.cpp From y.s.ramakrishna at sun.com Fri Apr 3 20:07:20 2009 From: y.s.ramakrishna at sun.com (y.s.ramakrishna at sun.com) Date: Sat, 04 Apr 2009 03:07:20 +0000 Subject: hg: jdk7/hotspot/hotspot: 3 new changesets Message-ID: <20090404030731.256B5E342@hg.openjdk.java.net> Changeset: becb17ad5e51 Author: ysr Date: 2009-04-02 15:57 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/becb17ad5e51 6824570: ParNew: Fix memory leak introduced in 6819891 Summary: Allocate worker-local overflow stacks, introduced in 6819891, along with ParNewGeneration, rather than with the per-scavenge ParScanThreadState. Reviewed-by: jmasa ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: f18338cf04b0 Author: jcoomes Date: 2009-03-03 14:23 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/f18338cf04b0 6810474: par compact - crash in summary_phase with very full heap Reviewed-by: tonyp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp Changeset: 922aedc96ef5 Author: ysr Date: 2009-04-03 15:59 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/922aedc96ef5 Merge ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp From Christian.Thalinger at Sun.COM Sat Apr 4 06:10:20 2009 From: Christian.Thalinger at Sun.COM (Christian Thalinger) Date: Sat, 04 Apr 2009 15:10:20 +0200 Subject: Atomic::cmpxchg_ptr code duplication In-Reply-To: <49D52ACF.3080607@sun.com> References: <18897.18928.581609.852433@sun.com> <1238653402.3168.37.camel@localhost.localdomain> <49D4C3B1.2060709@sun.com> <1238681198.3168.68.camel@localhost.localdomain> <49D4D4A1.9020202@sun.com> <18901.9755.462737.588379@sun.com> <1238705875.3168.69.camel@localhost.localdomain> <49D52ACF.3080607@sun.com> Message-ID: <1238850620.11024.14.camel@localhost.localdomain> On Thu, 2009-04-02 at 17:14 -0400, Keith McGuigan wrote: > Does making this change use the assumption that > sizeof(intptr_t) == sizeof(void*) all the time? Yes, it does. > If so, can you make > sure there's an assertion in there somewhere (with verbose comments) so > if we ever run across a platform where this is not true, it will be > obvious what needs to be fixed? I can add such an assert. -- Christian From Christian.Thalinger at Sun.COM Sat Apr 4 06:45:26 2009 From: Christian.Thalinger at Sun.COM (Christian Thalinger) Date: Sat, 04 Apr 2009 15:45:26 +0200 Subject: Atomic::cmpxchg_ptr code duplication In-Reply-To: <49D52815.2020509@sun.com> References: <18897.18928.581609.852433@sun.com> <1238653402.3168.37.camel@localhost.localdomain> <49D4C3B1.2060709@sun.com> <1238681198.3168.68.camel@localhost.localdomain> <49D4D4A1.9020202@sun.com> <18901.9755.462737.588379@sun.com> <1238705875.3168.69.camel@localhost.localdomain> <49D52815.2020509@sun.com> Message-ID: <1238852726.11024.49.camel@localhost.localdomain> On Thu, 2009-04-02 at 17:03 -0400, Coleen Phillimore - Sun Microsystems wrote: > > I thought we had the extra version because of overloading compilation > errors, but if you've tested it everywhere, it's probably fine. Did > you test against the newer pickier gcc? No, the newest one I could find on a build machine is: gcc version 4.1.2 20071124 (Red Hat 4.1.2-42) Is there somewhere a newer one installed? -- Christian From Christian.Thalinger at Sun.COM Sat Apr 4 06:51:06 2009 From: Christian.Thalinger at Sun.COM (Christian Thalinger) Date: Sat, 04 Apr 2009 15:51:06 +0200 Subject: Atomic::cmpxchg_ptr code duplication In-Reply-To: <49D52EF9.5050702@sun.com> References: <18897.18928.581609.852433@sun.com> <1238653402.3168.37.camel@localhost.localdomain> <1238676758.3168.62.camel@localhost.localdomain> <18901.10161.245699.639464@sun.com> <1238706327.3168.71.camel@localhost.localdomain> <49D52EF9.5050702@sun.com> Message-ID: <1238853066.11024.54.camel@localhost.localdomain> On Thu, 2009-04-02 at 17:32 -0400, Paul Hohensee wrote: > Easy to see by looking at generated assembly where the methods are used. > > In a product build directory (e.g., solaris_i486_compiler2/product), use > > gnumake foo.s ...and I should see where the methods are used? Sorry, I don't understand. -- Christian From Paul.Hohensee at Sun.COM Sat Apr 4 09:46:30 2009 From: Paul.Hohensee at Sun.COM (Paul Hohensee) Date: Sat, 04 Apr 2009 12:46:30 -0400 Subject: Atomic::cmpxchg_ptr code duplication In-Reply-To: <1238853066.11024.54.camel@localhost.localdomain> References: <18897.18928.581609.852433@sun.com> <1238653402.3168.37.camel@localhost.localdomain> <1238676758.3168.62.camel@localhost.localdomain> <18901.10161.245699.639464@sun.com> <1238706327.3168.71.camel@localhost.localdomain> <49D52EF9.5050702@sun.com> <1238853066.11024.54.camel@localhost.localdomain> Message-ID: <49D78EE6.9030601@sun.com> Look for the asm code they should generate. E.g., cmpxchg instruction. Check the C++ source code of the method they supposed to be compiled into. paul Christian Thalinger wrote: > On Thu, 2009-04-02 at 17:32 -0400, Paul Hohensee wrote: > >> Easy to see by looking at generated assembly where the methods are used. >> >> In a product build directory (e.g., solaris_i486_compiler2/product), use >> >> gnumake foo.s >> > > ...and I should see where the methods are used? Sorry, I don't > understand. > > -- Christian > > From dawn2004 at gmail.com Tue Apr 7 15:33:53 2009 From: dawn2004 at gmail.com (Colin(Du Li)) Date: Tue, 7 Apr 2009 15:33:53 -0700 (PDT) Subject: Why "jobject" in JNI part is always outside Java heap? Message-ID: <22939687.post@talk.nabble.com> Hello, I have a question related to JNI of hotspot. According to my undestanding, a jobject is representation of java object in JNI part, so it should reside in Java heap. I check the "jobject" on stack, I find it is always outside the java heap. (I give an example as follows.) Is it correct? e.g. for the method: virtual jobject java.lang.ClassLoader.findLoadedClass0(jobject) The stack is below: - local [0x73f37e40] ; #0 - local [0x73f38c80] ; #1 - stack [0x73f38c80] ; #1 - stack [0x73f37e40] ; #0 - monitor[0xbfd21c78] - bcp [0xb3f31194] ; @16 - locals [0xbfd21cf4] - method [0xb3f311c0] ; virtual jobject java.lang.ClassLoader.findLoadedClass(jobject) We can see two jobjects' addresses are:0x73f38c80, 0x73f37e40 But at this time I dump the heap layout, get information as below: Heap def new generation total 7936K, used 285K [0x73f40000, 0x747d0000, 0x7b100000) eden space 7104K, 4% used [0x73f40000, 0x73f874c0, 0x74630000) from space 832K, 0% used [0x74630000, 0x74630000, 0x74700000) to space 832K, 0% used [0x74700000, 0x74700000, 0x747d0000) tenured generation total 63360K, used 0K [0x7b100000, 0x7eee0000, 0xae440000) the space 63360K, 0% used [0x7b100000, 0x7b100000, 0x7b100200, 0x7eee0000) tenured generation total 6976K, used 0K [0xae440000, 0xaeb10000, 0xb3f40000) the space 6976K, 0% used [0xae440000, 0xae440000, 0xae440800, 0xaeb10000) compacting perm gen total 16384K, used 1826K [0xb3f40000, 0xb4f40000, 0xb7f40000) the space 16384K, 11% used [0xb3f40000, 0xb41089a0, 0xb4108a00, 0xb4f40000) No shared spaces configured. The java heap starts from 0x73f40000, so I can tell two jobjects' addresses (0x73f38c80, 0x73f37e40) reside outside Java heap. -- View this message in context: http://www.nabble.com/Why-%22jobject%22-in-JNI-part-is-always-outside-Java-heap--tp22939687p22939687.html Sent from the OpenJDK Hotspot Virtual Machine mailing list archive at Nabble.com. From John.Coomes at sun.com Tue Apr 7 17:22:46 2009 From: John.Coomes at sun.com (John Coomes) Date: Tue, 7 Apr 2009 17:22:46 -0700 Subject: Why "jobject" in JNI part is always outside Java heap? In-Reply-To: <22939687.post@talk.nabble.com> References: <22939687.post@talk.nabble.com> Message-ID: <18907.61014.957570.976162@sun.com> Colin(Du Li) (dawn2004 at gmail.com) wrote: > > Hello, I have a question related to JNI of hotspot. > According to my undestanding, a jobject is representation of java object in > JNI part, so it should reside in Java heap. Because the garbage collector may move objects, addresses within the java heap cannot be visible to native (JNI) code. There's no way for the GC to find java object pointers in native code and update them so they refer to the new locations. So jobject is just an opaque data item that the JVM can use to identify the object--a level of indirection. See JNIHandles::resolve() in jniHandles.hpp. -John > I check the "jobject" on stack, I find it is always outside the java heap. > (I give an example as follows.) > Is it correct? > > e.g. > for the method: virtual jobject > java.lang.ClassLoader.findLoadedClass0(jobject) > The stack is below: > - local [0x73f37e40] ; #0 > - local [0x73f38c80] ; #1 > - stack [0x73f38c80] ; #1 > - stack [0x73f37e40] ; #0 > - monitor[0xbfd21c78] > - bcp [0xb3f31194] ; @16 > - locals [0xbfd21cf4] > - method [0xb3f311c0] ; virtual jobject > java.lang.ClassLoader.findLoadedClass(jobject) > > We can see two jobjects' addresses are:0x73f38c80, 0x73f37e40 > > But at this time I dump the heap layout, get information as below: > > Heap > def new generation total 7936K, used 285K [0x73f40000, 0x747d0000, > 0x7b100000) > eden space 7104K, 4% used [0x73f40000, 0x73f874c0, 0x74630000) > from space 832K, 0% used [0x74630000, 0x74630000, 0x74700000) > to space 832K, 0% used [0x74700000, 0x74700000, 0x747d0000) > tenured generation total 63360K, used 0K [0x7b100000, 0x7eee0000, > 0xae440000) > the space 63360K, 0% used [0x7b100000, 0x7b100000, 0x7b100200, > 0x7eee0000) > tenured generation total 6976K, used 0K [0xae440000, 0xaeb10000, > 0xb3f40000) > the space 6976K, 0% used [0xae440000, 0xae440000, 0xae440800, > 0xaeb10000) > compacting perm gen total 16384K, used 1826K [0xb3f40000, 0xb4f40000, > 0xb7f40000) > the space 16384K, 11% used [0xb3f40000, 0xb41089a0, 0xb4108a00, > 0xb4f40000) > No shared spaces configured. > > The java heap starts from 0x73f40000, so I can tell two jobjects' addresses > (0x73f38c80, 0x73f37e40) reside outside Java heap. > -- > View this message in context: http://www.nabble.com/Why-%22jobject%22-in-JNI-part-is-always-outside-Java-heap--tp22939687p22939687.html > Sent from the OpenJDK Hotspot Virtual Machine mailing list archive at Nabble.com. > From dawn2004 at gmail.com Tue Apr 7 22:33:46 2009 From: dawn2004 at gmail.com (Colin(Du Li)) Date: Tue, 7 Apr 2009 22:33:46 -0700 (PDT) Subject: Why "jobject" in JNI part is always outside Java heap? In-Reply-To: <18907.61014.957570.976162@sun.com> References: <22939687.post@talk.nabble.com> <18907.61014.957570.976162@sun.com> Message-ID: <22943493.post@talk.nabble.com> Thanks a lot! I understand the jobject contains a point to a java object. So if GC moves the corresponding java object, the content of the jobject can be updated, and reference to the new location. Thanks again. Du Li john.coomes wrote: > > Colin(Du Li) (dawn2004 at gmail.com) wrote: >> >> Hello, I have a question related to JNI of hotspot. >> According to my undestanding, a jobject is representation of java object >> in >> JNI part, so it should reside in Java heap. > > Because the garbage collector may move objects, addresses within the > java heap cannot be visible to native (JNI) code. There's no way for > the GC to find java object pointers in native code and update them so > they refer to the new locations. So jobject is just an opaque data > item that the JVM can use to identify the object--a level of > indirection. See JNIHandles::resolve() in jniHandles.hpp. > > -John > >> I check the "jobject" on stack, I find it is always outside the java >> heap. >> (I give an example as follows.) >> Is it correct? >> >> e.g. >> for the method: virtual jobject >> java.lang.ClassLoader.findLoadedClass0(jobject) >> The stack is below: >> - local [0x73f37e40] ; #0 >> - local [0x73f38c80] ; #1 >> - stack [0x73f38c80] ; #1 >> - stack [0x73f37e40] ; #0 >> - monitor[0xbfd21c78] >> - bcp [0xb3f31194] ; @16 >> - locals [0xbfd21cf4] >> - method [0xb3f311c0] ; virtual jobject >> java.lang.ClassLoader.findLoadedClass(jobject) >> >> We can see two jobjects' addresses are:0x73f38c80, 0x73f37e40 >> >> But at this time I dump the heap layout, get information as below: >> >> Heap >> def new generation total 7936K, used 285K [0x73f40000, 0x747d0000, >> 0x7b100000) >> eden space 7104K, 4% used [0x73f40000, 0x73f874c0, 0x74630000) >> from space 832K, 0% used [0x74630000, 0x74630000, 0x74700000) >> to space 832K, 0% used [0x74700000, 0x74700000, 0x747d0000) >> tenured generation total 63360K, used 0K [0x7b100000, 0x7eee0000, >> 0xae440000) >> the space 63360K, 0% used [0x7b100000, 0x7b100000, 0x7b100200, >> 0x7eee0000) >> tenured generation total 6976K, used 0K [0xae440000, 0xaeb10000, >> 0xb3f40000) >> the space 6976K, 0% used [0xae440000, 0xae440000, 0xae440800, >> 0xaeb10000) >> compacting perm gen total 16384K, used 1826K [0xb3f40000, 0xb4f40000, >> 0xb7f40000) >> the space 16384K, 11% used [0xb3f40000, 0xb41089a0, 0xb4108a00, >> 0xb4f40000) >> No shared spaces configured. >> >> The java heap starts from 0x73f40000, so I can tell two jobjects' >> addresses >> (0x73f38c80, 0x73f37e40) reside outside Java heap. >> -- >> View this message in context: >> http://www.nabble.com/Why-%22jobject%22-in-JNI-part-is-always-outside-Java-heap--tp22939687p22939687.html >> Sent from the OpenJDK Hotspot Virtual Machine mailing list archive at >> Nabble.com. >> > > > -- View this message in context: http://www.nabble.com/Why-%22jobject%22-in-JNI-part-is-always-outside-Java-heap--tp22939687p22943493.html Sent from the OpenJDK Hotspot Virtual Machine mailing list archive at Nabble.com. From erik.trimble at sun.com Wed Apr 8 15:04:55 2009 From: erik.trimble at sun.com (erik.trimble at sun.com) Date: Wed, 08 Apr 2009 22:04:55 +0000 Subject: hg: jdk7/hotspot/hotspot: 9 new changesets Message-ID: <20090408220516.66631E695@hg.openjdk.java.net> Changeset: 6e56a851ccaa Author: xdono Date: 2009-03-27 14:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/6e56a851ccaa Added tag jdk7-b52 for changeset 1b1e8f1a4fe8 ! .hgtags Changeset: 032c6af894da Author: trims Date: 2009-04-01 22:31 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/032c6af894da Merge Changeset: a9d9d7e06593 Author: trims Date: 2009-04-02 17:01 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/a9d9d7e06593 Merge Changeset: aa3a6f3eaa43 Author: trims Date: 2009-04-02 17:37 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/aa3a6f3eaa43 6825815: Bump HS15 build number to 05 and update copyright date of HOTSPOT_VM_COPYRIGHT Summary: Update the HS15 Build number to 05 and fix copyright date of HOTSPOT_VM_COPYRIGHT Reviewed-by: jcoomes ! make/hotspot_version Changeset: 5450320b9c27 Author: xdono Date: 2009-04-02 16:51 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/5450320b9c27 Added tag jdk7-b53 for changeset 032c6af894da ! .hgtags Changeset: 5373f8d7025b Author: trims Date: 2009-04-02 17:37 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/5373f8d7025b Merge Changeset: eae95c5579a4 Author: trims Date: 2009-04-03 19:54 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/eae95c5579a4 Merge Changeset: fafab5d5349c Author: trims Date: 2009-04-03 20:12 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/fafab5d5349c Merge Changeset: a63bc96715a9 Author: trims Date: 2009-04-08 14:55 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/a63bc96715a9 6828076: Fork HS15 to HS16 - renumber Major and build numbers of JVM Summary: Update the Hotspot version number to HS16 B01 for HS16 fork Reviewed-by: jcoomes ! make/hotspot_version From xiaobin.lu at sun.com Thu Apr 9 19:08:01 2009 From: xiaobin.lu at sun.com (xiaobin.lu at sun.com) Date: Fri, 10 Apr 2009 02:08:01 +0000 Subject: hg: jdk7/hotspot/hotspot: 2 new changesets Message-ID: <20090410020809.E10BDE7AD@hg.openjdk.java.net> Changeset: b9fba36710f2 Author: xlu Date: 2009-04-06 15:47 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/b9fba36710f2 6699669: Hotspot server leaves synchronized block with monitor in bad state Summary: Remove usage of _highest_lock field in Thread so that is_lock_owned won't depend on the correct update of that field. Reviewed-by: never, dice, acorn ! agent/src/share/classes/sun/jvm/hotspot/runtime/JavaThread.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/Thread.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/Threads.java ! src/share/vm/runtime/javaCalls.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 68cd0d7ee9bb Author: xlu Date: 2009-04-09 13:59 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/68cd0d7ee9bb Merge From john.coomes at sun.com Thu Apr 9 20:36:39 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 10 Apr 2009 03:36:39 +0000 Subject: hg: jdk7/hotspot: Added tag jdk7-b54 for changeset 2ef382b1bbd5 Message-ID: <20090410033639.AE47BE7C0@hg.openjdk.java.net> Changeset: aea0ace7a1e4 Author: xdono Date: 2009-04-09 10:37 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/rev/aea0ace7a1e4 Added tag jdk7-b54 for changeset 2ef382b1bbd5 ! .hgtags From john.coomes at sun.com Thu Apr 9 20:40:04 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 10 Apr 2009 03:40:04 +0000 Subject: hg: jdk7/hotspot/corba: Added tag jdk7-b54 for changeset 8130ac858d67 Message-ID: <20090410034005.BFF89E7C5@hg.openjdk.java.net> Changeset: 7a869f16ba83 Author: xdono Date: 2009-04-09 10:37 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/corba/rev/7a869f16ba83 Added tag jdk7-b54 for changeset 8130ac858d67 ! .hgtags From john.coomes at sun.com Thu Apr 9 20:46:25 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 10 Apr 2009 03:46:25 +0000 Subject: hg: jdk7/hotspot/jaxp: Added tag jdk7-b54 for changeset 946a9f0c4932 Message-ID: <20090410034628.0BAF0E7CA@hg.openjdk.java.net> Changeset: 039945fba683 Author: xdono Date: 2009-04-09 10:37 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/039945fba683 Added tag jdk7-b54 for changeset 946a9f0c4932 ! .hgtags From john.coomes at sun.com Thu Apr 9 20:49:53 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 10 Apr 2009 03:49:53 +0000 Subject: hg: jdk7/hotspot/jaxws: Added tag jdk7-b54 for changeset 50ea00dc5f14 Message-ID: <20090410034955.12AF4E7D0@hg.openjdk.java.net> Changeset: e0eebd978b83 Author: xdono Date: 2009-04-09 10:37 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/e0eebd978b83 Added tag jdk7-b54 for changeset 50ea00dc5f14 ! .hgtags From john.coomes at sun.com Thu Apr 9 20:55:20 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 10 Apr 2009 03:55:20 +0000 Subject: hg: jdk7/hotspot/jdk: 42 new changesets Message-ID: <20090410040554.7E194E7D5@hg.openjdk.java.net> Changeset: 9d14b0582e1a Author: bae Date: 2008-12-12 17:38 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/9d14b0582e1a 5106550: PNG writer merge standard metadata fails for TextEntry sans #IMPLIED attributes Reviewed-by: igor, prr Contributed-by: Martin von Gagern ! src/share/classes/com/sun/imageio/plugins/png/PNGMetadata.java + test/javax/imageio/plugins/png/MergeStdCommentTest.java Changeset: 11d333de082f Author: igor Date: 2008-12-17 22:00 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/11d333de082f 6761791: Crash in the FontManager code due to use of JNIEnv saved by another thread Reviewed-by: bae, prr ! src/share/native/sun/font/freetypeScaler.c Changeset: feee56c07a8a Author: prr Date: 2008-12-18 11:25 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/feee56c07a8a 6708137: Remove obsolete fontconfig.98.properties from JDK 7 Reviewed-by: jgodinez, naoto ! make/sun/awt/Makefile ! src/windows/classes/sun/awt/windows/WFontConfiguration.java - src/windows/classes/sun/awt/windows/fontconfig.98.properties - src/windows/classes/sun/awt/windows/fontconfig.Me.properties Changeset: f68864fe53d3 Author: prr Date: 2008-12-24 09:53 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/f68864fe53d3 6728838: Native memory leak in StrikeCache.java Reviewed-by: bae, igor ! src/share/classes/sun/font/StrikeCache.java Changeset: 40ec164889bd Author: prr Date: 2008-12-24 09:57 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/40ec164889bd 6752638: java.awt.GraphicsEnvironment.preferLocaleFonts() throws NPE on Linux 6755034: Legal notice repair: jdk/src/solaris/classes/sun/font/FcFontConfiguration.java Reviewed-by: bae, igor ! src/share/classes/java/awt/GraphicsEnvironment.java ! src/share/classes/sun/awt/FontConfiguration.java ! src/solaris/classes/sun/font/FcFontConfiguration.java + test/java/awt/GraphicsEnvironment/PreferLocaleFonts.java Changeset: eaeaacda1c56 Author: prr Date: 2009-01-06 13:52 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/eaeaacda1c56 6785424: SecurityException locating physical fonts on Windows Terminal Server Reviewed-by: campbell, jgodinez ! src/share/classes/sun/font/FontManager.java + test/java/awt/FontClass/FontAccess.java Changeset: 91bc016862c4 Author: prr Date: 2009-01-12 16:02 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/91bc016862c4 6752622: java.awt.Font.getPeer throws "java.lang.InternalError: Not implemented" on Linux Reviewed-by: igor, yan ! src/solaris/classes/sun/awt/X11/XFontPeer.java ! src/solaris/classes/sun/font/FcFontConfiguration.java Changeset: 80fb12052ae4 Author: bae Date: 2009-01-13 16:55 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/80fb12052ae4 5082756: Image I/O plug-ins set metadata boolean attributes to "true" or "false" Reviewed-by: igor, prr Contributed-by: Martin von Gagern ! src/share/classes/com/sun/imageio/plugins/gif/GIFImageMetadata.java ! src/share/classes/com/sun/imageio/plugins/gif/GIFMetadata.java ! src/share/classes/com/sun/imageio/plugins/gif/GIFStreamMetadata.java ! src/share/classes/com/sun/imageio/plugins/jpeg/JPEGMetadata.java ! src/share/classes/com/sun/imageio/plugins/png/PNGMetadata.java ! src/share/classes/javax/imageio/metadata/IIOMetadataFormat.java + test/javax/imageio/metadata/BooleanAttributes.java ! test/javax/imageio/plugins/png/ITXtTest.java Changeset: 62d33a33f9e0 Author: bae Date: 2009-01-13 18:38 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/62d33a33f9e0 6782079: PNG: reading metadata may cause OOM on truncated images. Reviewed-by: igor, prr Contributed-by: Martin von Gagern ! src/share/classes/com/sun/imageio/plugins/png/PNGImageReader.java ! src/share/classes/com/sun/imageio/plugins/png/PNGImageWriter.java ! src/share/classes/com/sun/imageio/plugins/png/PNGMetadata.java + test/javax/imageio/plugins/png/ItxtUtf8Test.java Changeset: 774083387e81 Author: bae Date: 2009-01-15 13:55 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/774083387e81 6788096: ImageIO SreamCloser causes memory leak in FX applets Reviewed-by: igor, prr ! src/share/classes/com/sun/imageio/stream/StreamCloser.java + test/javax/imageio/stream/StreamCloserLeak/run_test.sh + test/javax/imageio/stream/StreamCloserLeak/test/Main.java + test/javax/imageio/stream/StreamCloserLeak/testapp/Main.java Changeset: 828d4d5e7bf8 Author: bae Date: 2009-01-23 17:43 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/828d4d5e7bf8 6795544: GIFImageWriter does not write the subImage of BufferedImage to a file correctly. Reviewed-by: igor, prr ! src/share/classes/com/sun/imageio/plugins/gif/GIFImageWriter.java + test/javax/imageio/plugins/gif/EncodeSubImageTest.java Changeset: 6d343a2795ca Author: bae Date: 2009-01-23 21:14 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/6d343a2795ca 6793818: JpegImageReader is too greedy creating color profiles Reviewed-by: igor, prr ! src/share/classes/java/awt/color/ICC_Profile.java ! src/share/classes/sun/java2d/cmm/ProfileActivator.java ! src/share/classes/sun/java2d/cmm/ProfileDeferralMgr.java Changeset: 65cada5a8497 Author: jgodinez Date: 2009-01-28 09:38 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/65cada5a8497 6793344: BasicStroke's first element dash pattern is not a dash Reviewed-by: igor, flar Contributed-by: Red Hat ! src/share/classes/sun/java2d/pisces/Dasher.java + test/sun/pisces/DashStrokeTest.java Changeset: 36da64dc6545 Author: bae Date: 2009-01-29 13:19 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/36da64dc6545 6631559: Registration of ImageIO plugins should not cause loading of jpeg.dlli and cmm.dll Reviewed-by: igor, prr ! src/share/classes/com/sun/imageio/plugins/jpeg/JFIFMarkerSegment.java ! src/share/classes/com/sun/imageio/plugins/jpeg/JPEG.java ! src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java ! src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReaderSpi.java ! src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java ! src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriterSpi.java ! src/share/classes/com/sun/imageio/plugins/jpeg/JPEGMetadata.java ! src/share/classes/javax/imageio/ImageTypeSpecifier.java Changeset: a7836e00ad6b Author: lana Date: 2009-01-29 18:33 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/a7836e00ad6b Merge - src/share/classes/com/sun/jmx/namespace/JMXNamespaceUtils.java - src/share/classes/sun/nio/cs/IBM437.java - src/share/classes/sun/nio/cs/IBM737.java - src/share/classes/sun/nio/cs/IBM775.java - src/share/classes/sun/nio/cs/IBM850.java - src/share/classes/sun/nio/cs/IBM852.java - src/share/classes/sun/nio/cs/IBM855.java - src/share/classes/sun/nio/cs/IBM857.java - src/share/classes/sun/nio/cs/IBM858.java - src/share/classes/sun/nio/cs/IBM862.java - src/share/classes/sun/nio/cs/IBM866.java - src/share/classes/sun/nio/cs/IBM874.java - src/share/classes/sun/nio/cs/ISO_8859_13.java - src/share/classes/sun/nio/cs/ISO_8859_15.java - src/share/classes/sun/nio/cs/ISO_8859_2.java - src/share/classes/sun/nio/cs/ISO_8859_4.java - src/share/classes/sun/nio/cs/ISO_8859_5.java - src/share/classes/sun/nio/cs/ISO_8859_7.java - src/share/classes/sun/nio/cs/ISO_8859_9.java - src/share/classes/sun/nio/cs/KOI8_R.java - src/share/classes/sun/nio/cs/KOI8_U.java - src/share/classes/sun/nio/cs/MS1250.java - src/share/classes/sun/nio/cs/MS1251.java - src/share/classes/sun/nio/cs/MS1252.java - src/share/classes/sun/nio/cs/MS1253.java - src/share/classes/sun/nio/cs/MS1254.java - src/share/classes/sun/nio/cs/MS1257.java - src/share/classes/sun/nio/cs/ext/IBM037.java - src/share/classes/sun/nio/cs/ext/IBM1006.java - src/share/classes/sun/nio/cs/ext/IBM1025.java - src/share/classes/sun/nio/cs/ext/IBM1026.java - src/share/classes/sun/nio/cs/ext/IBM1046.java - src/share/classes/sun/nio/cs/ext/IBM1047.java - src/share/classes/sun/nio/cs/ext/IBM1097.java - src/share/classes/sun/nio/cs/ext/IBM1098.java - src/share/classes/sun/nio/cs/ext/IBM1112.java - src/share/classes/sun/nio/cs/ext/IBM1122.java - src/share/classes/sun/nio/cs/ext/IBM1123.java - src/share/classes/sun/nio/cs/ext/IBM1124.java - src/share/classes/sun/nio/cs/ext/IBM1140.java - src/share/classes/sun/nio/cs/ext/IBM1141.java - src/share/classes/sun/nio/cs/ext/IBM1142.java - src/share/classes/sun/nio/cs/ext/IBM1143.java - src/share/classes/sun/nio/cs/ext/IBM1144.java - src/share/classes/sun/nio/cs/ext/IBM1145.java - src/share/classes/sun/nio/cs/ext/IBM1146.java - src/share/classes/sun/nio/cs/ext/IBM1147.java - src/share/classes/sun/nio/cs/ext/IBM1148.java - src/share/classes/sun/nio/cs/ext/IBM1149.java - src/share/classes/sun/nio/cs/ext/IBM273.java - src/share/classes/sun/nio/cs/ext/IBM277.java - src/share/classes/sun/nio/cs/ext/IBM278.java - src/share/classes/sun/nio/cs/ext/IBM280.java - src/share/classes/sun/nio/cs/ext/IBM284.java - src/share/classes/sun/nio/cs/ext/IBM285.java - src/share/classes/sun/nio/cs/ext/IBM297.java - src/share/classes/sun/nio/cs/ext/IBM420.java - src/share/classes/sun/nio/cs/ext/IBM424.java - src/share/classes/sun/nio/cs/ext/IBM500.java - src/share/classes/sun/nio/cs/ext/IBM838.java - src/share/classes/sun/nio/cs/ext/IBM856.java - src/share/classes/sun/nio/cs/ext/IBM860.java - src/share/classes/sun/nio/cs/ext/IBM861.java - src/share/classes/sun/nio/cs/ext/IBM863.java - src/share/classes/sun/nio/cs/ext/IBM864.java - src/share/classes/sun/nio/cs/ext/IBM865.java - src/share/classes/sun/nio/cs/ext/IBM868.java - src/share/classes/sun/nio/cs/ext/IBM869.java - src/share/classes/sun/nio/cs/ext/IBM870.java - src/share/classes/sun/nio/cs/ext/IBM871.java - src/share/classes/sun/nio/cs/ext/IBM875.java - src/share/classes/sun/nio/cs/ext/IBM918.java - src/share/classes/sun/nio/cs/ext/IBM921.java - src/share/classes/sun/nio/cs/ext/IBM922.java - src/share/classes/sun/nio/cs/ext/ISO_8859_11.java - src/share/classes/sun/nio/cs/ext/ISO_8859_3.java - src/share/classes/sun/nio/cs/ext/ISO_8859_6.java - src/share/classes/sun/nio/cs/ext/ISO_8859_8.java - src/share/classes/sun/nio/cs/ext/MS1255.java - src/share/classes/sun/nio/cs/ext/MS1256.java - src/share/classes/sun/nio/cs/ext/MS1258.java - src/share/classes/sun/nio/cs/ext/MS874.java - src/share/classes/sun/nio/cs/ext/MacArabic.java - src/share/classes/sun/nio/cs/ext/MacCentralEurope.java - src/share/classes/sun/nio/cs/ext/MacCroatian.java - src/share/classes/sun/nio/cs/ext/MacCyrillic.java - src/share/classes/sun/nio/cs/ext/MacDingbat.java - src/share/classes/sun/nio/cs/ext/MacGreek.java - src/share/classes/sun/nio/cs/ext/MacHebrew.java - src/share/classes/sun/nio/cs/ext/MacIceland.java - src/share/classes/sun/nio/cs/ext/MacRoman.java - src/share/classes/sun/nio/cs/ext/MacRomania.java - src/share/classes/sun/nio/cs/ext/MacSymbol.java - src/share/classes/sun/nio/cs/ext/MacThai.java - src/share/classes/sun/nio/cs/ext/MacTurkish.java - src/share/classes/sun/nio/cs/ext/MacUkraine.java - src/share/classes/sun/nio/cs/ext/TIS_620.java Changeset: f0978a1137fe Author: bae Date: 2009-01-30 22:30 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/f0978a1137fe 6791502: IIOException "Invalid icc profile" on jpeg after update from JDK5 to JDK6 Reviewed-by: igor, prr ! src/share/native/sun/awt/image/jpeg/imageioJPEG.c Changeset: e0a9038939ee Author: bae Date: 2009-02-04 14:06 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/e0a9038939ee 6799583: LogManager shutdown hook may cause a memory leak. Reviewed-by: igor, swamyv ! src/share/classes/java/util/logging/LogManager.java + test/java/util/logging/ClassLoaderLeakTest.java Changeset: b02162077f24 Author: bae Date: 2009-02-06 20:49 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/b02162077f24 6800846: REGRESSION: Printing quality degraded with Java 6 compared to 5.0 Reviewed-by: igor, prr ! src/share/native/sun/awt/image/dither.c + test/sun/awt/image/DrawByteBinary.java Changeset: ff2afd0551c9 Author: jgodinez Date: 2009-02-24 14:32 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/ff2afd0551c9 6750383: 2D_PrintingTiger\PrintDocOrientationTest fails, wrong orientated images are printed Reviewed-by: campbell, prr ! src/solaris/classes/sun/print/IPPPrintService.java ! src/solaris/classes/sun/print/UnixPrintJob.java Changeset: 0c856354b669 Author: tdv Date: 2009-02-26 13:38 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/0c856354b669 6791612: OGLBat tests are failed in jdk 7 b42 Reviewed-by: tdv Contributed-by: ceisserer ! make/sun/xawt/mapfile-vers Changeset: c32ec45b582d Author: lana Date: 2009-03-04 10:57 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/c32ec45b582d Merge - make/javax/sound/jsoundhs/FILES.gmk - make/javax/sound/jsoundhs/Makefile - make/javax/sound/jsoundhs/mapfile-vers ! make/sun/awt/Makefile ! make/sun/xawt/mapfile-vers - src/share/classes/com/sun/beans/ObjectHandler.java - src/share/lib/audio/soundbank.gm - src/solaris/classes/sun/nio/ch/FileDispatcher.java - src/solaris/native/sun/nio/ch/FileDispatcher.c - src/windows/classes/sun/nio/ch/FileDispatcher.java - src/windows/native/sun/nio/ch/FileDispatcher.c - src/windows/native/sun/windows/UnicowsLoader.cpp - src/windows/native/sun/windows/UnicowsLoader.h - src/windows/native/sun/windows/awt_MMStub.cpp - src/windows/native/sun/windows/awt_MMStub.h - src/windows/native/sun/windows/awt_Multimon.h - src/windows/native/sun/windows/awt_Unicode.cpp - src/windows/native/sun/windows/awt_Unicode.h - src/windows/native/sun/windows/awt_dlls.cpp - src/windows/native/sun/windows/awt_dlls.h Changeset: 8d5144dfc642 Author: jgodinez Date: 2009-03-05 10:56 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/8d5144dfc642 6735296: Regression: Common print dialog does not show the correct page orientation Reviewed-by: tdv, prr ! src/share/classes/sun/print/ServiceDialog.java Changeset: 59696dfd5455 Author: prr Date: 2009-03-12 12:01 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/59696dfd5455 6727719: Performance of TextLayout.getBounds() Reviewed-by: jgodinez, dougfelt ! src/share/classes/sun/font/FileFontStrike.java Changeset: 9318628e8eee Author: jgodinez Date: 2009-03-16 11:46 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/9318628e8eee 6812600: The miter line join decoration isn't rendered properly Reviewed-by: avu, flar Contributed-by: Google ! src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java + test/sun/pisces/JoinMiterTest.java Changeset: 467e4f25965c Author: avu Date: 2009-03-20 20:05 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/467e4f25965c 6733501: Apply IcedTea little cms patches Reviewed-by: bae, prr ! src/share/native/sun/java2d/cmm/lcms/LCMS.c ! src/share/native/sun/java2d/cmm/lcms/cmsio0.c ! src/share/native/sun/java2d/cmm/lcms/lcms.h + test/sun/java2d/cmm/ProfileOp/ReadWriteProfileTest.java Changeset: e43ea83ca696 Author: prr Date: 2009-03-23 10:40 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/e43ea83ca696 6745225: Memory leak while drawing Attributed String Reviewed-by: jgodinez, dougfelt ! src/share/classes/sun/font/FileFontStrike.java ! src/share/classes/sun/font/GlyphLayout.java + test/java/awt/font/LineBreakMeasurer/FRCTest.java Changeset: e2cc7ffbb355 Author: prr Date: 2009-03-24 09:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/e2cc7ffbb355 6821031: Upgrade OpenJDK's LittleCMS version to 1.18 Reviewed-by: bae, igor ! src/share/native/sun/java2d/cmm/lcms/LCMS.c ! src/share/native/sun/java2d/cmm/lcms/cmscam02.c ! src/share/native/sun/java2d/cmm/lcms/cmscam97.c ! src/share/native/sun/java2d/cmm/lcms/cmscgats.c ! src/share/native/sun/java2d/cmm/lcms/cmscnvrt.c ! src/share/native/sun/java2d/cmm/lcms/cmserr.c ! src/share/native/sun/java2d/cmm/lcms/cmsgamma.c ! src/share/native/sun/java2d/cmm/lcms/cmsgmt.c ! src/share/native/sun/java2d/cmm/lcms/cmsintrp.c ! src/share/native/sun/java2d/cmm/lcms/cmsio0.c ! src/share/native/sun/java2d/cmm/lcms/cmsio1.c ! src/share/native/sun/java2d/cmm/lcms/cmslut.c ! src/share/native/sun/java2d/cmm/lcms/cmsmatsh.c ! src/share/native/sun/java2d/cmm/lcms/cmsmtrx.c ! src/share/native/sun/java2d/cmm/lcms/cmsnamed.c ! src/share/native/sun/java2d/cmm/lcms/cmspack.c ! src/share/native/sun/java2d/cmm/lcms/cmspcs.c ! src/share/native/sun/java2d/cmm/lcms/cmsps2.c ! src/share/native/sun/java2d/cmm/lcms/cmssamp.c ! src/share/native/sun/java2d/cmm/lcms/cmsvirt.c ! src/share/native/sun/java2d/cmm/lcms/cmswtpnt.c ! src/share/native/sun/java2d/cmm/lcms/cmsxform.c ! src/share/native/sun/java2d/cmm/lcms/icc34.h ! src/share/native/sun/java2d/cmm/lcms/lcms.h Changeset: 0c69e3ba15f4 Author: prr Date: 2009-03-24 10:53 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/0c69e3ba15f4 6821504: typo in lcmsio.c Reviewed-by: jgodinez ! src/share/native/sun/java2d/cmm/lcms/cmsio0.c Changeset: 8e36b37745d4 Author: lana Date: 2009-03-24 19:12 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/8e36b37745d4 Merge - src/windows/classes/sun/awt/windows/fontconfig.98.properties - src/windows/classes/sun/awt/windows/fontconfig.Me.properties Changeset: 6ee1e2a1a833 Author: lana Date: 2009-04-07 10:04 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/6ee1e2a1a833 Merge - src/windows/classes/sun/awt/windows/fontconfig.98.properties - src/windows/classes/sun/awt/windows/fontconfig.Me.properties Changeset: 6d74c3f22c74 Author: ohair Date: 2009-03-31 16:10 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/6d74c3f22c74 6604458: linux_x64-fastdebug-c2 fails on hyperbolic trig tests Reviewed-by: tbell ! make/common/Defs-linux.gmk ! make/common/Defs-solaris.gmk ! make/common/Defs-windows.gmk ! make/java/fdlibm/Makefile Changeset: 90d1a828b6d1 Author: ohair Date: 2009-03-31 16:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/90d1a828b6d1 6745361: Add -XX options to prevent stdout/stderr pollution using fastdebug/debug bootjdk Reviewed-by: tbell ! make/common/shared/Defs-java.gmk Changeset: 43124654f2aa Author: ohair Date: 2009-03-31 16:12 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/43124654f2aa 6502548: test/Makefile needs to be setup to allow for JPRT testrules (NSK and JCK testing too?) Summary: A work in progress on testing additions for JPRT system. Reviewed-by: tbell ! test/Makefile Changeset: b2530d839ecb Author: ohair Date: 2009-03-31 16:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/b2530d839ecb 6824012: Add jdk regression tests to default jprt jobs Summary: A work in progress on adding to the jprt testing. Reviewed-by: tbell ! make/jprt.properties ! test/java/io/File/GetXSpace.java ! test/java/lang/Thread/StartOOMTest.java ! test/java/util/logging/LoggingDeadlock2.java Changeset: 70c53bc9a49d Author: ohair Date: 2009-04-01 09:08 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/70c53bc9a49d 6824583: regtest TimeUnit/Basic.java fails intermittently on Windows - again Reviewed-by: dholmes ! test/java/util/concurrent/TimeUnit/Basic.java Changeset: 817bb60fbc26 Author: ohair Date: 2009-04-01 09:10 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/817bb60fbc26 Merge Changeset: f7ca3dad31a2 Author: ohair Date: 2009-04-01 09:44 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/f7ca3dad31a2 Merge - src/share/classes/sun/misc/JavaIODeleteOnExitAccess.java Changeset: ce73dcf13656 Author: ohair Date: 2009-04-01 18:45 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/ce73dcf13656 Merge Changeset: 78fbc0dad111 Author: ohair Date: 2009-04-02 15:04 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/78fbc0dad111 6825765: Further adjustments to regression tests run by jprt Reviewed-by: tbell ! test/java/lang/reflect/Method/InheritedMethods.java Changeset: f3381dd0f7cd Author: xdono Date: 2009-04-07 11:43 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/f3381dd0f7cd Merge Changeset: d1c43d1f5676 Author: xdono Date: 2009-04-07 14:02 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/d1c43d1f5676 Merge - src/windows/classes/sun/awt/windows/fontconfig.98.properties - src/windows/classes/sun/awt/windows/fontconfig.Me.properties Changeset: a43b2c9dad6f Author: xdono Date: 2009-04-09 10:37 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/a43b2c9dad6f Added tag jdk7-b54 for changeset d1c43d1f5676 ! .hgtags From john.coomes at sun.com Thu Apr 9 21:15:21 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 10 Apr 2009 04:15:21 +0000 Subject: hg: jdk7/hotspot/langtools: Added tag jdk7-b54 for changeset 197a7f881937 Message-ID: <20090410041525.4B834E7DA@hg.openjdk.java.net> Changeset: 2734c6a91b8b Author: xdono Date: 2009-04-09 10:37 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/2734c6a91b8b Added tag jdk7-b54 for changeset 197a7f881937 ! .hgtags From jeff at cooljeff.co.uk Fri Apr 10 19:34:16 2009 From: jeff at cooljeff.co.uk (Jeffrey Sinclair) Date: Sat, 11 Apr 2009 03:34:16 +0100 Subject: invokevirtual on package private override in different classloader Message-ID: <1239417256.6194.53.camel@Lini> hotspot-dev, I've been struggling to understand why HotSpot does not throw an IllegalAccessError when a call is made to an override of a package private method on an instance loaded by a different class loader. I was hoping someone could explain to me in technical detail where I'm going wrong because it appears to be a bug. (all source code is pasted at the end of the mail) I have a class called Square with a package private method named getColour() which returns 'red'. I have a subclass of Square called CustomSquare which overrides getColour() to return 'blue'. I have another class called Printer which simply prints out getColour() for the Square passed to it. I then have two test cases: * Printer.print(Square) is called with a CustomSquare instantiated in the same ClassLoader as Printer. * Printer.print(Square) is called with a CustomSquare instantiated in a different ClassLoader as Printer. What I find is that I get 'blue' in the first test (as expected) and 'red' in the second test (not expected). >From the Access Control constraints in the Linking section of the JVM specification (5.4.4), I as expecting an IllegalAccessError to be thrown because it states that a package private method is accessible to a class if it is declared by a class in the same runtime package. My understanding is that Printer is not in the same runtime package as CustomSquare which explains why my override does not kick in, but it does not explain why an IllegalAccessError is not thrown. I was wondering if someone could explain the behaviour to me. Regards, Jeff The source code: public class Main { public static void main(String[] args) throws Exception { URL[] urls = new URL[]{new URL("path/to/CustomSquare")}; URLClassLoader loader = new URLClassLoader(urls); Class clazz = loader.loadClass("uk.co.cooljeff.visibility.CustomSquare"); Printer printer = new Printer(); printer.print((Square)clazz.newInstance()); // 'red' gets printed } } package uk.co.cooljeff.visibility; public class Printer { public void print(Square square) { System.out.println(square.getColour()); } } package uk.co.cooljeff.visibility; public class CustomSquare extends Square { public CustomSquare() { super(5); } @Override public String getColour() { return "blue"; } } package uk.co.cooljeff.visibility; public class Square { private float length; public Square(float length) { this.length = length; } public float calculateArea() { return length * length; } String getColour() { return "red"; } } From hodben24 at yahoo.com Fri Apr 10 15:27:02 2009 From: hodben24 at yahoo.com (J K) Date: Fri, 10 Apr 2009 15:27:02 -0700 (PDT) Subject: Compiling Hotspot w/o dependencies Message-ID: <729157.72475.qm@web55704.mail.re3.yahoo.com> Can hotspot be compiled on Linux (32 or 64bit) without the dependencies documented in openjdk/README-builds.html ? I work at a company with restrictive IT policies and new software versions are prohibited. 1. http://www.java.net/download/openjdk/jdk7/promoted/b54/openjdk-7-ea-src-b54-09_apr_2009.zip 2. unzip 3. cd openjdk 4. make ? ERROR: FreeType version 2.3.0 or higher is required. make[2]: Entering directory `/home/hodben/openjdk/jdk/make/tools/freetypecheck' Required version of freetype: 2.3.0 Detected freetype headers: 2.1.9 Failed: headers are too old. Detected freetype library: 2.1.9 Failed: too old library. make[2]: Leaving directory `/nfs/hodben/tarballs/openjdk/jdk/make/tools/freetypecheck' Exiting because of the above error(s). From Xiaobin.Lu at Sun.COM Sat Apr 11 15:29:01 2009 From: Xiaobin.Lu at Sun.COM (Xiaobin Lu) Date: Sat, 11 Apr 2009 15:29:01 -0700 Subject: Compiling Hotspot w/o dependencies In-Reply-To: <729157.72475.qm@web55704.mail.re3.yahoo.com> References: <729157.72475.qm@web55704.mail.re3.yahoo.com> Message-ID: <49E119AD.5040503@Sun.COM> J K wrote: > Can hotspot be compiled on Linux (32 or 64bit) without the dependencies documented in openjdk/README-builds.html ? > Hotspot can be compiled on Linux 32 /64 bit without much dependencies required. All you need is to get gcc, g++ and a bootstrap jdk. Refer to the build readme document for more details. > I work at a company with restrictive IT policies and new software versions are prohibited. > > 1. http://www.java.net/download/openjdk/jdk7/promoted/b54/openjdk-7-ea-src-b54-09_apr_2009.zip > 2. unzip > 3. cd openjdk > 4. make > > ? > ERROR: FreeType version 2.3.0 or higher is required. > make[2]: Entering directory `/home/hodben/openjdk/jdk/make/tools/freetypecheck' > Required version of freetype: 2.3.0 > Detected freetype headers: 2.1.9 > Failed: headers are too old. > Detected freetype library: 2.1.9 > Failed: too old library. > make[2]: Leaving directory `/nfs/hodben/tarballs/openjdk/jdk/make/tools/freetypecheck' > You might need to search for more recent freetype rpm for your linux system based on the error message. -Xiaobin From James.Melvin at Sun.COM Sat Apr 11 16:48:30 2009 From: James.Melvin at Sun.COM (James Melvin) Date: Sat, 11 Apr 2009 19:48:30 -0400 Subject: Compiling Hotspot w/o dependencies In-Reply-To: <49E119AD.5040503@Sun.COM> References: <729157.72475.qm@web55704.mail.re3.yahoo.com> <49E119AD.5040503@Sun.COM> Message-ID: <49E12C4E.1090804@sun.com> Hi, Use 'make hotspot' to only build hotspot. It looks like you tried to build the entire JDK and ran into a sanity check error for the class libraries. Building hotspot should only run the hotspot sanity check. Good Luck! Jim Xiaobin Lu wrote: > J K wrote: >> Can hotspot be compiled on Linux (32 or 64bit) without the >> dependencies documented in openjdk/README-builds.html ? >> > Hotspot can be compiled on Linux 32 /64 bit without much dependencies > required. All you need is to get gcc, g++ and a bootstrap jdk. Refer to > the build readme document for more details. >> I work at a company with restrictive IT policies and new software >> versions are prohibited. >> >> 1. >> http://www.java.net/download/openjdk/jdk7/promoted/b54/openjdk-7-ea-src-b54-09_apr_2009.zip >> >> 2. unzip >> 3. cd openjdk >> 4. make >> >> ? >> ERROR: FreeType version 2.3.0 or higher is required. >> make[2]: Entering directory >> `/home/hodben/openjdk/jdk/make/tools/freetypecheck' >> Required version of freetype: 2.3.0 >> Detected freetype headers: 2.1.9 >> Failed: headers are too old. >> Detected freetype library: 2.1.9 >> Failed: too old library. >> make[2]: Leaving directory >> `/nfs/hodben/tarballs/openjdk/jdk/make/tools/freetypecheck' >> > You might need to search for more recent freetype rpm for your linux > system based on the error message. > > -Xiaobin From Paul.Hohensee at Sun.COM Mon Apr 13 07:53:42 2009 From: Paul.Hohensee at Sun.COM (Paul Hohensee) Date: Mon, 13 Apr 2009 10:53:42 -0400 Subject: [Fwd: [Fwd: MoMo Boston 4/27: Demos and Featured Speaker Governor Deval Patrick]] Message-ID: <49E351F6.6000905@sun.com> For anyone who's interested and in the Boston area Apr 27th Paul -------------- next part -------------- An embedded message was scrubbed... From: Roger Riggs Subject: [Fwd: MoMo Boston 4/27: Demos and Featured Speaker Governor Deval Patrick] Date: Mon, 13 Apr 2009 10:17:30 -0400 Size: 7881 Url: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20090413/043328bc/attachment.mht From Joe.Darcy at Sun.COM Mon Apr 13 14:17:30 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Mon, 13 Apr 2009 14:17:30 -0700 Subject: How to host HS14 stable? (Was: RFC: Change name of default HotSpot to 'default') In-Reply-To: <17c6771e0903200428j75e26899x9c15daf57f5ed20e@mail.gmail.com> References: <20090212150029.GA1121@rivendell.middle-earth.co.uk> <1234731237.3562.6.camel@hermans.wildebeest.org> <17c6771e0902151453t523b15derfc243ffaa201264f@mail.gmail.com> <1234768690.24153.28.camel@localhost.localdomain> <1234772748.3612.3.camel@hermans.wildebeest.org> <1234774554.11228.3.camel@localhost.localdomain> <1234862105.4062.8.camel@fedora.wildebeest.org> <499B727D.6060901@sun.com> <17c6771e0903200428j75e26899x9c15daf57f5ed20e@mail.gmail.com> Message-ID: <49E3ABEA.6020400@sun.com> Andrew John Hughes wrote: > 2009/2/18 Joe Darcy : > >> On 02/17/09 01:15 AM, Mark Wielaard wrote: >> >> Hi Christian (CCed hotspot-dev for advice) >> >> On Mon, 2009-02-16 at 09:55 +0100, Christian Thalinger wrote: >> >> >> On Mon, 2009-02-16 at 09:25 +0100, Mark Wielaard wrote: >> >> >> Great. I was surprised if it was otherwise. >> I was just confused which tree to track to make sure to get the latest >> HS14 since we are trying to keep all branches (zero/shark/default) of >> IcedTea6 at a stable Hotspot release. Is this in the default >> jdk7/jdk7/hotspot tree or in some other one? >> >> >> The jdk7 repository contains HS15 and therefore not a stable one. I >> just looked into the jdk6 repository but it only contains HS11. I don't >> know of any open HS14 repository off the top of my head. >> >> >> So it would be good to have an open repo that hosts the HS14 stable >> build so that people interested in a stable, but modern, hotspot could >> base their work on that. Since IcedTea6 is trying to standardize on HS14 >> for the default hotspot and the one that Zero and Shark are based on I >> could create a icedtea/hotspot repo branched from the latest HS14 code >> in the jdk7/jdk7/hotspot repo. Would that be interesting to others? How >> do we coordinate backporting fixes to it? Any other suggestions for >> hosting an open hotspot HS14 repo (maybe as subtree of one of the other >> 6 hotspot repos under jdk7/hostspot-* (I admit to not know what they are >> all for currently). >> >> >> >> Hello. >> >> I have been talking with the HotSpot team inside Sun about the logistics >> needed to support a public HotSpot Mercurial repository usable by both >> OpenJDK 6 and the 6 update release, which would mean the stabilized HotSpot >> 14 at this point. >> >> We should have something figured out relatively soon; I'll post when we do. >> >> -Joe >> >> > > Any news on this? > Some news should be available real soon now... -Joe From dawn2004 at gmail.com Mon Apr 13 21:21:49 2009 From: dawn2004 at gmail.com (Colin(Du Li)) Date: Mon, 13 Apr 2009 21:21:49 -0700 (PDT) Subject: Why does "jobject" on interpreter stack point to wield locations? Message-ID: <23033048.post@talk.nabble.com> Hello. I'm playing with stack of c++ interpreter. I have some questions about the object reference on the stack. Let's look at the following example: When interpreter invoke("invokespecial") method "virtual jobject java.lang.ClassLoader.loadClass(jobject)", I print out stack frame (last frame), and the result is as follows: - local [0x7e747b90] ; #0 - local [0x7e7489d0] ; #1 - stack [0x7e7489d0] ; #1 - stack [0x7e747b90] ; #0 [ - obj a 'sun/misc/Launcher$AppClassLoader' - lock monitor - monitor[0xbff3f8c8] - bcp [0xb3f3fa4e] ; @2 - locals [0xbff3f944] - method [0xb3f3fa78] ; virtual jobject java.lang.ClassLoader.loadClassInternal(jobject) According to the jvm specification, stack slot #0 should contain the "receiver", and stack slot to the parameter of method "loadclass(jobject)". I use JNIHandles::resolve(obj) to resolve the two jobjects on the above stack slot. The result of slot #0 is a reference pointing to another slot of the current stack. The result of slot #1 is a invalid address, "0x1". The results confuse me. I assumed both of them pointed to some object is heap. Could you give me some explanation for this question? I really need your help. Thanks a lot! Colin. -- View this message in context: http://www.nabble.com/Why-does-%22jobject%22-on-interpreter-stack-point-to-wield-locations--tp23033048p23033048.html Sent from the OpenJDK Hotspot Virtual Machine mailing list archive at Nabble.com. From Thomas.Rodriguez at Sun.COM Tue Apr 14 09:22:03 2009 From: Thomas.Rodriguez at Sun.COM (Tom Rodriguez) Date: Tue, 14 Apr 2009 09:22:03 -0700 Subject: Why does "jobject" on interpreter stack point to wield locations? In-Reply-To: <23033048.post@talk.nabble.com> References: <23033048.post@talk.nabble.com> Message-ID: <1685857A-3052-42A5-B723-66655A797D68@sun.com> That interpreter stack doesn't use jobjects. It contains raw references to Java objects so just use them directly. tom On Apr 13, 2009, at 9:21 PM, Colin(Du Li) wrote: > > Hello. > I'm playing with stack of c++ interpreter. I have some questions > about the > object reference on the stack. > Let's look at the following example: > When interpreter invoke("invokespecial") method "virtual jobject > java.lang.ClassLoader.loadClass(jobject)", I print out stack frame > (last > frame), and the result is as follows: > > - local [0x7e747b90] ; #0 > - local [0x7e7489d0] ; #1 > - stack [0x7e7489d0] ; #1 > - stack [0x7e747b90] ; #0 > [ - obj > a 'sun/misc/Launcher$AppClassLoader' > - lock > monitor > - monitor[0xbff3f8c8] > - bcp [0xb3f3fa4e] ; @2 > - locals [0xbff3f944] > - method [0xb3f3fa78] ; virtual jobject > java.lang.ClassLoader.loadClassInternal(jobject) > > According to the jvm specification, stack slot #0 should contain the > "receiver", and stack slot to the parameter of method > "loadclass(jobject)". > I use JNIHandles::resolve(obj) to resolve the two jobjects on the > above > stack slot. The result of slot #0 is a reference pointing to another > slot of > the current stack. The result of slot #1 is a invalid address, "0x1". > The results confuse me. I assumed both of them pointed to some > object is > heap. > Could you give me some explanation for this question? > I really need your help. > Thanks a lot! > > Colin. > -- > View this message in context: http://www.nabble.com/Why-does-%22jobject%22-on-interpreter-stack-point-to-wield-locations--tp23033048p23033048.html > Sent from the OpenJDK Hotspot Virtual Machine mailing list archive > at Nabble.com. > From dawn2004 at gmail.com Tue Apr 14 10:03:09 2009 From: dawn2004 at gmail.com (Colin(Du Li)) Date: Tue, 14 Apr 2009 10:03:09 -0700 (PDT) Subject: Why does "jobject" on interpreter stack point to wield locations? In-Reply-To: <1685857A-3052-42A5-B723-66655A797D68@sun.com> References: <23033048.post@talk.nabble.com> <1685857A-3052-42A5-B723-66655A797D68@sun.com> Message-ID: <23043577.post@talk.nabble.com> Thanks a lot, Tom. You are right! But the question is when the stack use jobject? The method signature in the previous example is "virtual jobject java.lang.ClassLoader.loadClass(jobject)", which is quite confusing. I know one possible answer is when the method is a "native" method, it will use jobjects instead of raw reference. However, I have observed it for a while. For the native method, stack sometimes uses jobject, sometimes use raw references. Is my observation right? All in all, how can I tell the reference on the stack is raw reference or jobject? Thanks again! Colin Tom Rodriguez wrote: > > That interpreter stack doesn't use jobjects. It contains raw > references to Java objects so just use them directly. > > tom > > On Apr 13, 2009, at 9:21 PM, Colin(Du Li) wrote: > >> >> Hello. >> I'm playing with stack of c++ interpreter. I have some questions >> about the >> object reference on the stack. >> Let's look at the following example: >> When interpreter invoke("invokespecial") method "virtual jobject >> java.lang.ClassLoader.loadClass(jobject)", I print out stack frame >> (last >> frame), and the result is as follows: >> >> - local [0x7e747b90] ; #0 >> - local [0x7e7489d0] ; #1 >> - stack [0x7e7489d0] ; #1 >> - stack [0x7e747b90] ; #0 >> [ - obj >> a 'sun/misc/Launcher$AppClassLoader' >> - lock >> monitor >> - monitor[0xbff3f8c8] >> - bcp [0xb3f3fa4e] ; @2 >> - locals [0xbff3f944] >> - method [0xb3f3fa78] ; virtual jobject >> java.lang.ClassLoader.loadClassInternal(jobject) >> >> According to the jvm specification, stack slot #0 should contain the >> "receiver", and stack slot to the parameter of method >> "loadclass(jobject)". >> I use JNIHandles::resolve(obj) to resolve the two jobjects on the >> above >> stack slot. The result of slot #0 is a reference pointing to another >> slot of >> the current stack. The result of slot #1 is a invalid address, "0x1". >> The results confuse me. I assumed both of them pointed to some >> object is >> heap. >> Could you give me some explanation for this question? >> I really need your help. >> Thanks a lot! >> >> Colin. >> -- >> View this message in context: >> http://www.nabble.com/Why-does-%22jobject%22-on-interpreter-stack-point-to-wield-locations--tp23033048p23033048.html >> Sent from the OpenJDK Hotspot Virtual Machine mailing list archive >> at Nabble.com. >> > > > -- View this message in context: http://www.nabble.com/Why-does-%22jobject%22-on-interpreter-stack-point-to-wield-locations--tp23033048p23043577.html Sent from the OpenJDK Hotspot Virtual Machine mailing list archive at Nabble.com. From dawn2004 at gmail.com Tue Apr 14 10:15:52 2009 From: dawn2004 at gmail.com (Colin(Du Li)) Date: Tue, 14 Apr 2009 10:15:52 -0700 (PDT) Subject: Why "jobject" in JNI part is always outside Java heap? In-Reply-To: <18907.61014.957570.976162@sun.com> References: <22939687.post@talk.nabble.com> <18907.61014.957570.976162@sun.com> Message-ID: <23043853.post@talk.nabble.com> Hello. Surprisingly, I run the previous example for a couple of time, and I find sometimes the object reference on the stack use raw reference instead of jobjects. Is my observation wrong? I feel very confused. Then when does the stack use raw reference, and when does the stack use jobjects? Thanks a lot. Another run of the previous example as follows, we tell they use raw object reference because they point to java heap. stack frame: virtual jobject java.lang.ClassLoader.findLoadedClass0(jobject) - local [0x7e7b7b90] ; #0 - local [0x7e7b89d0] ; #1 - stack [0x7e7b89d0] ; #1 - stack [0x7e7b7b90] ; #0 - monitor[0xbfea1628] - bcp [0xb3fb1194] ; @16 - locals [0xbfea16a4] - method [0xb3fb11c0] ; virtual jobject java.lang.ClassLoader.findLoadedClass(jobject) Heap layout: Heap def new generation total 5504K, used 197K [0x7e790000, 0x7ed80000, 0x846a0000) eden space 4928K, 4% used [0x7e790000, 0x7e7c14d0, 0x7ec60000) from space 576K, 0% used [0x7ec60000, 0x7ec60000, 0x7ecf0000) to space 576K, 0% used [0x7ecf0000, 0x7ecf0000, 0x7ed80000) tenured generation total 43776K, used 0K [0x846a0000, 0x87160000, 0xaf380000) the space 43776K, 0% used [0x846a0000, 0x846a0000, 0x846a0200, 0x87160000) tenured generation total 4864K, used 0K [0xaf380000, 0xaf840000, 0xb3f90000) the space 4864K, 0% used [0xaf380000, 0xaf380000, 0xaf380800, 0xaf840000) compacting perm gen total 16384K, used 1826K [0xb3f90000, 0xb4f90000, 0xb7f90000) the space 16384K, 11% used [0xb3f90000, 0xb41589a0, 0xb4158a00, 0xb4f90000) No shared spaces configured. john.coomes wrote: > > Colin(Du Li) (dawn2004 at gmail.com) wrote: >> >> Hello, I have a question related to JNI of hotspot. >> According to my undestanding, a jobject is representation of java object >> in >> JNI part, so it should reside in Java heap. > > Because the garbage collector may move objects, addresses within the > java heap cannot be visible to native (JNI) code. There's no way for > the GC to find java object pointers in native code and update them so > they refer to the new locations. So jobject is just an opaque data > item that the JVM can use to identify the object--a level of > indirection. See JNIHandles::resolve() in jniHandles.hpp. > > -John > >> I check the "jobject" on stack, I find it is always outside the java >> heap. >> (I give an example as follows.) >> Is it correct? >> >> e.g. >> for the method: virtual jobject >> java.lang.ClassLoader.findLoadedClass0(jobject) >> The stack is below: >> - local [0x73f37e40] ; #0 >> - local [0x73f38c80] ; #1 >> - stack [0x73f38c80] ; #1 >> - stack [0x73f37e40] ; #0 >> - monitor[0xbfd21c78] >> - bcp [0xb3f31194] ; @16 >> - locals [0xbfd21cf4] >> - method [0xb3f311c0] ; virtual jobject >> java.lang.ClassLoader.findLoadedClass(jobject) >> >> We can see two jobjects' addresses are:0x73f38c80, 0x73f37e40 >> >> But at this time I dump the heap layout, get information as below: >> >> Heap >> def new generation total 7936K, used 285K [0x73f40000, 0x747d0000, >> 0x7b100000) >> eden space 7104K, 4% used [0x73f40000, 0x73f874c0, 0x74630000) >> from space 832K, 0% used [0x74630000, 0x74630000, 0x74700000) >> to space 832K, 0% used [0x74700000, 0x74700000, 0x747d0000) >> tenured generation total 63360K, used 0K [0x7b100000, 0x7eee0000, >> 0xae440000) >> the space 63360K, 0% used [0x7b100000, 0x7b100000, 0x7b100200, >> 0x7eee0000) >> tenured generation total 6976K, used 0K [0xae440000, 0xaeb10000, >> 0xb3f40000) >> the space 6976K, 0% used [0xae440000, 0xae440000, 0xae440800, >> 0xaeb10000) >> compacting perm gen total 16384K, used 1826K [0xb3f40000, 0xb4f40000, >> 0xb7f40000) >> the space 16384K, 11% used [0xb3f40000, 0xb41089a0, 0xb4108a00, >> 0xb4f40000) >> No shared spaces configured. >> >> The java heap starts from 0x73f40000, so I can tell two jobjects' >> addresses >> (0x73f38c80, 0x73f37e40) reside outside Java heap. >> -- >> View this message in context: >> http://www.nabble.com/Why-%22jobject%22-in-JNI-part-is-always-outside-Java-heap--tp22939687p22939687.html >> Sent from the OpenJDK Hotspot Virtual Machine mailing list archive at >> Nabble.com. >> > > > -- View this message in context: http://www.nabble.com/Why-%22jobject%22-in-JNI-part-is-always-outside-Java-heap--tp22939687p23043853.html Sent from the OpenJDK Hotspot Virtual Machine mailing list archive at Nabble.com. From Thomas.Rodriguez at Sun.COM Tue Apr 14 10:28:42 2009 From: Thomas.Rodriguez at Sun.COM (Tom Rodriguez) Date: Tue, 14 Apr 2009 10:28:42 -0700 Subject: Why does "jobject" on interpreter stack point to wield locations? In-Reply-To: <23043577.post@talk.nabble.com> References: <23033048.post@talk.nabble.com> <1685857A-3052-42A5-B723-66655A797D68@sun.com> <23043577.post@talk.nabble.com> Message-ID: <28BB147B-08F1-4CCD-BCFE-C0472DBEB632@sun.com> There's some printing code that uses jobject as a placeholder for java.lang.Object but it doesn't mean that it's really using a JNI reference. The interpreter stack always uses raw references. When creating frames for calling native methods we will pass JNI references to that but the frame contains raw references and we pass the address of those locations as JNI references. tom On Apr 14, 2009, at 10:03 AM, Colin(Du Li) wrote: > > Thanks a lot, Tom. > You are right! > But the question is when the stack use jobject? The method signature > in the > previous example is "virtual jobject > java.lang.ClassLoader.loadClass(jobject)", which is quite confusing. > I know one possible answer is when the method is a "native" method, > it will > use jobjects instead of raw reference. > However, I have observed it for a while. For the native method, stack > sometimes uses jobject, sometimes use raw references. Is my > observation > right? > All in all, how can I tell the reference on the stack is raw > reference or > jobject? > Thanks again! > > Colin > > Tom Rodriguez wrote: >> >> That interpreter stack doesn't use jobjects. It contains raw >> references to Java objects so just use them directly. >> >> tom >> >> On Apr 13, 2009, at 9:21 PM, Colin(Du Li) wrote: >> >>> >>> Hello. >>> I'm playing with stack of c++ interpreter. I have some questions >>> about the >>> object reference on the stack. >>> Let's look at the following example: >>> When interpreter invoke("invokespecial") method "virtual jobject >>> java.lang.ClassLoader.loadClass(jobject)", I print out stack frame >>> (last >>> frame), and the result is as follows: >>> >>> - local [0x7e747b90] ; #0 >>> - local [0x7e7489d0] ; #1 >>> - stack [0x7e7489d0] ; #1 >>> - stack [0x7e747b90] ; #0 >>> [ - obj >>> a 'sun/misc/Launcher$AppClassLoader' >>> - lock >>> monitor >>> - monitor[0xbff3f8c8] >>> - bcp [0xb3f3fa4e] ; @2 >>> - locals [0xbff3f944] >>> - method [0xb3f3fa78] ; virtual jobject >>> java.lang.ClassLoader.loadClassInternal(jobject) >>> >>> According to the jvm specification, stack slot #0 should contain the >>> "receiver", and stack slot to the parameter of method >>> "loadclass(jobject)". >>> I use JNIHandles::resolve(obj) to resolve the two jobjects on the >>> above >>> stack slot. The result of slot #0 is a reference pointing to another >>> slot of >>> the current stack. The result of slot #1 is a invalid address, >>> "0x1". >>> The results confuse me. I assumed both of them pointed to some >>> object is >>> heap. >>> Could you give me some explanation for this question? >>> I really need your help. >>> Thanks a lot! >>> >>> Colin. >>> -- >>> View this message in context: >>> http://www.nabble.com/Why-does-%22jobject%22-on-interpreter-stack-point-to-wield-locations--tp23033048p23033048.html >>> Sent from the OpenJDK Hotspot Virtual Machine mailing list archive >>> at Nabble.com. >>> >> >> >> > > -- > View this message in context: http://www.nabble.com/Why-does-%22jobject%22-on-interpreter-stack-point-to-wield-locations--tp23033048p23043577.html > Sent from the OpenJDK Hotspot Virtual Machine mailing list archive > at Nabble.com. > From dawn2004 at gmail.com Tue Apr 14 11:45:03 2009 From: dawn2004 at gmail.com (Colin(Du Li)) Date: Tue, 14 Apr 2009 11:45:03 -0700 (PDT) Subject: Why does "jobject" on interpreter stack point to wield locations? In-Reply-To: <28BB147B-08F1-4CCD-BCFE-C0472DBEB632@sun.com> References: <23033048.post@talk.nabble.com> <1685857A-3052-42A5-B723-66655A797D68@sun.com> <23043577.post@talk.nabble.com> <28BB147B-08F1-4CCD-BCFE-C0472DBEB632@sun.com> Message-ID: <23045595.post@talk.nabble.com> Thanks a lot! But you may take a look at this post: http://www.nabble.com/Why-%22jobject%22-in-JNI-part-is-always-outside-Java-heap--td22939687.html. In my first post, I actually found the stack held some references which pointed outside java heap. I assumed these references are jobjects, but now I'm not sure since you say "The interpreter stack always uses raw references." But can you give me some explain why these references sometimes (not always) point outside java heap. I'm really confused at this point. Thanks again! Colin. Tom Rodriguez wrote: > > There's some printing code that uses jobject as a placeholder for > java.lang.Object but it doesn't mean that it's really using a JNI > reference. The interpreter stack always uses raw references. When > creating frames for calling native methods we will pass JNI references > to that but the frame contains raw references and we pass the address > of those locations as JNI references. > > tom > > On Apr 14, 2009, at 10:03 AM, Colin(Du Li) wrote: > >> >> Thanks a lot, Tom. >> You are right! >> But the question is when the stack use jobject? The method signature >> in the >> previous example is "virtual jobject >> java.lang.ClassLoader.loadClass(jobject)", which is quite confusing. >> I know one possible answer is when the method is a "native" method, >> it will >> use jobjects instead of raw reference. >> However, I have observed it for a while. For the native method, stack >> sometimes uses jobject, sometimes use raw references. Is my >> observation >> right? >> All in all, how can I tell the reference on the stack is raw >> reference or >> jobject? >> Thanks again! >> >> Colin >> >> Tom Rodriguez wrote: >>> >>> That interpreter stack doesn't use jobjects. It contains raw >>> references to Java objects so just use them directly. >>> >>> tom >>> >>> On Apr 13, 2009, at 9:21 PM, Colin(Du Li) wrote: >>> >>>> >>>> Hello. >>>> I'm playing with stack of c++ interpreter. I have some questions >>>> about the >>>> object reference on the stack. >>>> Let's look at the following example: >>>> When interpreter invoke("invokespecial") method "virtual jobject >>>> java.lang.ClassLoader.loadClass(jobject)", I print out stack frame >>>> (last >>>> frame), and the result is as follows: >>>> >>>> - local [0x7e747b90] ; #0 >>>> - local [0x7e7489d0] ; #1 >>>> - stack [0x7e7489d0] ; #1 >>>> - stack [0x7e747b90] ; #0 >>>> [ - obj >>>> a 'sun/misc/Launcher$AppClassLoader' >>>> - lock >>>> monitor >>>> - monitor[0xbff3f8c8] >>>> - bcp [0xb3f3fa4e] ; @2 >>>> - locals [0xbff3f944] >>>> - method [0xb3f3fa78] ; virtual jobject >>>> java.lang.ClassLoader.loadClassInternal(jobject) >>>> >>>> According to the jvm specification, stack slot #0 should contain the >>>> "receiver", and stack slot to the parameter of method >>>> "loadclass(jobject)". >>>> I use JNIHandles::resolve(obj) to resolve the two jobjects on the >>>> above >>>> stack slot. The result of slot #0 is a reference pointing to another >>>> slot of >>>> the current stack. The result of slot #1 is a invalid address, >>>> "0x1". >>>> The results confuse me. I assumed both of them pointed to some >>>> object is >>>> heap. >>>> Could you give me some explanation for this question? >>>> I really need your help. >>>> Thanks a lot! >>>> >>>> Colin. >>>> -- >>>> View this message in context: >>>> http://www.nabble.com/Why-does-%22jobject%22-on-interpreter-stack-point-to-wield-locations--tp23033048p23033048.html >>>> Sent from the OpenJDK Hotspot Virtual Machine mailing list archive >>>> at Nabble.com. >>>> >>> >>> >>> >> >> -- >> View this message in context: >> http://www.nabble.com/Why-does-%22jobject%22-on-interpreter-stack-point-to-wield-locations--tp23033048p23043577.html >> Sent from the OpenJDK Hotspot Virtual Machine mailing list archive >> at Nabble.com. >> > > > -- View this message in context: http://www.nabble.com/Why-does-%22jobject%22-on-interpreter-stack-point-to-wield-locations--tp23033048p23045595.html Sent from the OpenJDK Hotspot Virtual Machine mailing list archive at Nabble.com. From Thomas.Rodriguez at Sun.COM Tue Apr 14 12:14:39 2009 From: Thomas.Rodriguez at Sun.COM (Tom Rodriguez) Date: Tue, 14 Apr 2009 12:14:39 -0700 Subject: Why does "jobject" on interpreter stack point to wield locations? In-Reply-To: <23045595.post@talk.nabble.com> References: <23033048.post@talk.nabble.com> <1685857A-3052-42A5-B723-66655A797D68@sun.com> <23043577.post@talk.nabble.com> <28BB147B-08F1-4CCD-BCFE-C0472DBEB632@sun.com> <23045595.post@talk.nabble.com> Message-ID: <38377AF7-0B91-4118-A99D-FD1358D4E195@sun.com> I think dumping frames that are used for invoking natives is probably going to give you strange results since they aren't really treated as regular interpreter frames for gc purposes. tom On Apr 14, 2009, at 11:45 AM, Colin(Du Li) wrote: > > Thanks a lot! > But you may take a look at this post: > http://www.nabble.com/Why-%22jobject%22-in-JNI-part-is-always-outside-Java-heap--td22939687.html > . > > In my first post, I actually found the stack held some references > which > pointed outside java heap. I assumed these references are jobjects, > but now > I'm not sure since you say "The interpreter stack always uses raw > references." But can you give me some explain why these references > sometimes > (not always) point outside java heap. I'm really confused at this > point. > Thanks again! > > Colin. > > Tom Rodriguez wrote: >> >> There's some printing code that uses jobject as a placeholder for >> java.lang.Object but it doesn't mean that it's really using a JNI >> reference. The interpreter stack always uses raw references. When >> creating frames for calling native methods we will pass JNI >> references >> to that but the frame contains raw references and we pass the address >> of those locations as JNI references. >> >> tom >> >> On Apr 14, 2009, at 10:03 AM, Colin(Du Li) wrote: >> >>> >>> Thanks a lot, Tom. >>> You are right! >>> But the question is when the stack use jobject? The method signature >>> in the >>> previous example is "virtual jobject >>> java.lang.ClassLoader.loadClass(jobject)", which is quite confusing. >>> I know one possible answer is when the method is a "native" method, >>> it will >>> use jobjects instead of raw reference. >>> However, I have observed it for a while. For the native method, >>> stack >>> sometimes uses jobject, sometimes use raw references. Is my >>> observation >>> right? >>> All in all, how can I tell the reference on the stack is raw >>> reference or >>> jobject? >>> Thanks again! >>> >>> Colin >>> >>> Tom Rodriguez wrote: >>>> >>>> That interpreter stack doesn't use jobjects. It contains raw >>>> references to Java objects so just use them directly. >>>> >>>> tom >>>> >>>> On Apr 13, 2009, at 9:21 PM, Colin(Du Li) wrote: >>>> >>>>> >>>>> Hello. >>>>> I'm playing with stack of c++ interpreter. I have some questions >>>>> about the >>>>> object reference on the stack. >>>>> Let's look at the following example: >>>>> When interpreter invoke("invokespecial") method "virtual jobject >>>>> java.lang.ClassLoader.loadClass(jobject)", I print out stack frame >>>>> (last >>>>> frame), and the result is as follows: >>>>> >>>>> - local [0x7e747b90] ; #0 >>>>> - local [0x7e7489d0] ; #1 >>>>> - stack [0x7e7489d0] ; #1 >>>>> - stack [0x7e747b90] ; #0 >>>>> [ - obj >>>>> a 'sun/misc/Launcher$AppClassLoader' >>>>> - lock >>>>> monitor >>>>> - monitor[0xbff3f8c8] >>>>> - bcp [0xb3f3fa4e] ; @2 >>>>> - locals [0xbff3f944] >>>>> - method [0xb3f3fa78] ; virtual jobject >>>>> java.lang.ClassLoader.loadClassInternal(jobject) >>>>> >>>>> According to the jvm specification, stack slot #0 should contain >>>>> the >>>>> "receiver", and stack slot to the parameter of method >>>>> "loadclass(jobject)". >>>>> I use JNIHandles::resolve(obj) to resolve the two jobjects on the >>>>> above >>>>> stack slot. The result of slot #0 is a reference pointing to >>>>> another >>>>> slot of >>>>> the current stack. The result of slot #1 is a invalid address, >>>>> "0x1". >>>>> The results confuse me. I assumed both of them pointed to some >>>>> object is >>>>> heap. >>>>> Could you give me some explanation for this question? >>>>> I really need your help. >>>>> Thanks a lot! >>>>> >>>>> Colin. >>>>> -- >>>>> View this message in context: >>>>> http://www.nabble.com/Why-does-%22jobject%22-on-interpreter-stack-point-to-wield-locations--tp23033048p23033048.html >>>>> Sent from the OpenJDK Hotspot Virtual Machine mailing list archive >>>>> at Nabble.com. >>>>> >>>> >>>> >>>> >>> >>> -- >>> View this message in context: >>> http://www.nabble.com/Why-does-%22jobject%22-on-interpreter-stack-point-to-wield-locations--tp23033048p23043577.html >>> Sent from the OpenJDK Hotspot Virtual Machine mailing list archive >>> at Nabble.com. >>> >> >> >> > > -- > View this message in context: http://www.nabble.com/Why-does-%22jobject%22-on-interpreter-stack-point-to-wield-locations--tp23033048p23045595.html > Sent from the OpenJDK Hotspot Virtual Machine mailing list archive > at Nabble.com. > From Karen.Kinnear at Sun.COM Tue Apr 14 12:30:38 2009 From: Karen.Kinnear at Sun.COM (Karen Kinnear) Date: Tue, 14 Apr 2009 15:30:38 -0400 Subject: invokevirtual on package private override in different classloader In-Reply-To: <1239417256.6194.53.camel@Lini> References: <1239417256.6194.53.camel@Lini> Message-ID: <49E4E45E.2020508@sun.com> Jeff, Perhaps you can help me duplicate the problem. First - what does java -version say? I took the source code appended, and modified the URL setting, which I believe should just give me your second example, i.e. CustomSquare instantiated in a different ClassLoader than Printer. When I run this with Sun's 1.6 or recent 1.7 I get "blue". What did we do differently? thanks, Karen Jeffrey Sinclair wrote: > hotspot-dev, > > I've been struggling to understand why HotSpot does not throw an > IllegalAccessError when a call is made to an override of a package > private method on an instance loaded by a different class loader. I was > hoping someone could explain to me in technical detail where I'm going > wrong because it appears to be a bug. > > (all source code is pasted at the end of the mail) > > I have a class called Square with a package private method named > getColour() which returns 'red'. I have a subclass of Square called > CustomSquare which overrides getColour() to return 'blue'. I have > another class called Printer which simply prints out getColour() for the > Square passed to it. I then have two test cases: > > * Printer.print(Square) is called with a CustomSquare instantiated in > the same ClassLoader as Printer. > * Printer.print(Square) is called with a CustomSquare instantiated in > a different ClassLoader as Printer. > > What I find is that I get 'blue' in the first test (as expected) and > 'red' in the second test (not expected). > >>From the Access Control constraints in the Linking section of the JVM > specification (5.4.4), I as expecting an IllegalAccessError to be thrown > because it states that a package private method is accessible to a class > if it is declared by a class in the same runtime package. > > My understanding is that Printer is not in the same runtime package as > CustomSquare which explains why my override does not kick in, but it > does not explain why an IllegalAccessError is not thrown. > > I was wondering if someone could explain the behaviour to me. > > Regards, > > Jeff > > The source code: > > public class Main { > public static void main(String[] args) throws Exception { > URL[] urls = new URL[]{new URL("path/to/CustomSquare")}; > URLClassLoader loader = new URLClassLoader(urls); > Class clazz = > loader.loadClass("uk.co.cooljeff.visibility.CustomSquare"); > Printer printer = new Printer(); > printer.print((Square)clazz.newInstance()); // 'red' gets printed > } > } > > package uk.co.cooljeff.visibility; > > public class Printer { > public void print(Square square) { > System.out.println(square.getColour()); > } > } > > package uk.co.cooljeff.visibility; > > public class CustomSquare extends Square { > public CustomSquare() { > super(5); > } > > @Override > public String getColour() { > return "blue"; > } > } > > package uk.co.cooljeff.visibility; > > public class Square { > private float length; > > public Square(float length) { > this.length = length; > } > > public float calculateArea() { > return length * length; > } > > String getColour() { > return "red"; > } > } > From jeff at cooljeff.co.uk Tue Apr 14 14:33:15 2009 From: jeff at cooljeff.co.uk (Jeffrey Sinclair) Date: Tue, 14 Apr 2009 22:33:15 +0100 Subject: invokevirtual on package private override in different classloader In-Reply-To: <49E4E45E.2020508@sun.com> References: <1239417256.6194.53.camel@Lini> <49E4E45E.2020508@sun.com> Message-ID: <1239744795.6111.32.camel@Lini> Karen, Thanks for getting back to me. I was using 1.6.0_10 and have now tried 1.6.0_13 and get the same result. Specifically I've tried the following versions: java version "1.6.0_10" Java(TM) SE Runtime Environment (build 1.6.0_10-b33) Java HotSpot(TM) 64-Bit Server VM (build 11.0-b15, mixed mode) java version "1.6.0_13" Java(TM) SE Runtime Environment (build 1.6.0_13-b03) Java HotSpot(TM) 64-Bit Server VM (build 11.3-b02, mixed mode) I've attached my source as Eclipse projects. The URL in the main method points to the class files generated by the project with the CustomSquare. I've also added some debug info relating to which class loader is being used to load the Square, Printer and Custom Square respectively: Printer loaded by classloader: sun.misc.Launcher$AppClassLoader at 553f5d07 Square loaded by classloader: java.net.URLClassLoader at 3ae48e1b CustomSquare loaded by classloader: java.net.URLClassLoader at 3ae48e1b Red I still get Red. The key point is that the CustomSquare is not visible at all to the Printer code. If I stick the CustomSquare in the same project as Printer it will then be loaded by the AppClassLoader and I get blue. However when it is in a completely separate project and loaded via the URLClassLoader (and Printer loaded via the AppClassLoader) I always get Red. If I then change getColour() to be public in both Square and CustomSquare I get blue. This is completely baffling me. I may be doing something really silly but I can't see it :) Let me know if you can't replicate the issue with the attached Eclipse project and I'll try to package it up using plain old javac and a run script. Even if you do get blue with the different ClassLoaders for Printer and CustomSquare, I would probably argue that this is incorrect but I have to admit that this argument could be because I've misunderstood the meaning of 'runtime package' in terms of package private accessibility in the JVM spec. Jeff On Tue, 2009-04-14 at 15:30 -0400, Karen Kinnear wrote: > Jeff, > > Perhaps you can help me duplicate the problem. > > First - what does java -version say? > > I took the source code appended, and modified the URL setting, > which I believe should just give me your second example, i.e. > CustomSquare instantiated in a different ClassLoader than Printer. > > When I run this with Sun's 1.6 or recent 1.7 I get "blue". > > What did we do differently? > > thanks, > Karen > > Jeffrey Sinclair wrote: > > hotspot-dev, > > > > I've been struggling to understand why HotSpot does not throw an > > IllegalAccessError when a call is made to an override of a package > > private method on an instance loaded by a different class loader. I was > > hoping someone could explain to me in technical detail where I'm going > > wrong because it appears to be a bug. > > > > (all source code is pasted at the end of the mail) > > > > I have a class called Square with a package private method named > > getColour() which returns 'red'. I have a subclass of Square called > > CustomSquare which overrides getColour() to return 'blue'. I have > > another class called Printer which simply prints out getColour() for the > > Square passed to it. I then have two test cases: > > > > * Printer.print(Square) is called with a CustomSquare instantiated in > > the same ClassLoader as Printer. > > * Printer.print(Square) is called with a CustomSquare instantiated in > > a different ClassLoader as Printer. > > > > What I find is that I get 'blue' in the first test (as expected) and > > 'red' in the second test (not expected). > > > >>From the Access Control constraints in the Linking section of the JVM > > specification (5.4.4), I as expecting an IllegalAccessError to be thrown > > because it states that a package private method is accessible to a class > > if it is declared by a class in the same runtime package. > > > > My understanding is that Printer is not in the same runtime package as > > CustomSquare which explains why my override does not kick in, but it > > does not explain why an IllegalAccessError is not thrown. > > > > I was wondering if someone could explain the behaviour to me. > > > > Regards, > > > > Jeff > > > > The source code: > > > > public class Main { > > public static void main(String[] args) throws Exception { > > URL[] urls = new URL[]{new URL("path/to/CustomSquare")}; > > URLClassLoader loader = new URLClassLoader(urls); > > Class clazz = > > loader.loadClass("uk.co.cooljeff.visibility.CustomSquare"); > > Printer printer = new Printer(); > > printer.print((Square)clazz.newInstance()); // 'red' gets printed > > } > > } > > > > package uk.co.cooljeff.visibility; > > > > public class Printer { > > public void print(Square square) { > > System.out.println(square.getColour()); > > } > > } > > > > package uk.co.cooljeff.visibility; > > > > public class CustomSquare extends Square { > > public CustomSquare() { > > super(5); > > } > > > > @Override > > public String getColour() { > > return "blue"; > > } > > } > > > > package uk.co.cooljeff.visibility; > > > > public class Square { > > private float length; > > > > public Square(float length) { > > this.length = length; > > } > > > > public float calculateArea() { > > return length * length; > > } > > > > String getColour() { > > return "red"; > > } > > } > > > -------------- next part -------------- A non-text attachment was scrubbed... Name: DefaultVisibilityOverride.zip Type: application/zip Size: 12621 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20090414/c36696e9/attachment.zip From thomas.rodriguez at sun.com Tue Apr 14 17:53:35 2009 From: thomas.rodriguez at sun.com (thomas.rodriguez at sun.com) Date: Wed, 15 Apr 2009 00:53:35 +0000 Subject: hg: jdk7/hotspot/hotspot: 9 new changesets Message-ID: <20090415005352.75F76EAB0@hg.openjdk.java.net> Changeset: ad8c635e757e Author: kvn Date: 2009-04-03 13:33 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/ad8c635e757e 6823453: DeoptimizeALot causes fastdebug server jvm to fail with assert(false,"unscheduable graph") Summary: Use a HaltNode on the fall through path of the AllocateArrayNode to indicate that it is unreachable if the array length is negative. Reviewed-by: never, jrose ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/callnode.hpp + test/compiler/6823453/Test.java Changeset: 1f2abec69714 Author: never Date: 2009-04-03 18:51 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/1f2abec69714 6826261: class file dumping from SA is broken Reviewed-by: kvn, jcoomes ! agent/src/share/classes/sun/jvm/hotspot/runtime/ClassConstants.java ! agent/src/share/classes/sun/jvm/hotspot/tools/jcore/ByteCodeRewriter.java ! agent/src/share/classes/sun/jvm/hotspot/tools/jcore/ClassDump.java ! agent/src/share/classes/sun/jvm/hotspot/tools/jcore/ClassWriter.java Changeset: 819880572f09 Author: never Date: 2009-04-06 11:53 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/819880572f09 6539464: Math.log() produces inconsistent results between successive runs. Reviewed-by: kvn ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp + test/compiler/6539464/Test.java Changeset: 4ec1257180ec Author: kvn Date: 2009-04-07 10:05 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/4ec1257180ec 6826960: C2 Sparc: assert(bb->_nodes(_bb_end)->is_Proj(),"skipping projections after expected call") Summary: Add the check when a Halt node is placed in a separate block. Reviewed-by: twisti ! src/share/vm/opto/output.cpp Changeset: f2049ae95c3d Author: kvn Date: 2009-04-07 19:04 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/f2049ae95c3d 6711117: Assertion in 64bit server vm (flat != TypePtr::BOTTOM,"cannot alias-analyze an untyped ptr") Summary: Delay a memory node transformation if its control or address on IGVN worklist. Reviewed-by: never ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/memnode.cpp + test/compiler/6711117/Test.java Changeset: 1d037ecd7960 Author: jrose Date: 2009-04-08 00:12 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/1d037ecd7960 6827505: sizing logic for vtable and itable stubs needs self-check Summary: Asserts and comments to help maintain the correct sizing of certain stubs Reviewed-by: kvn ! src/cpu/sparc/vm/vtableStubs_sparc.cpp ! src/cpu/x86/vm/vtableStubs_x86_32.cpp ! src/cpu/x86/vm/vtableStubs_x86_64.cpp ! src/share/vm/code/vtableStubs.cpp Changeset: e5b0439ef4ae Author: jrose Date: 2009-04-08 10:56 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/e5b0439ef4ae 6655638: dynamic languages need method handles Summary: initial implementation, with known omissions (x86/64, sparc, compiler optim., c-oops, C++ interp.) Reviewed-by: kvn, twisti, never ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/assembler_sparc.inline.hpp ! src/cpu/sparc/vm/cppInterpreter_sparc.cpp ! src/cpu/sparc/vm/interpreterGenerator_sparc.hpp ! src/cpu/sparc/vm/interpreter_sparc.cpp + src/cpu/sparc/vm/methodHandles_sparc.cpp ! src/cpu/sparc/vm/register_definitions_sparc.cpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/interp_masm_x86_32.cpp ! src/cpu/x86/vm/interp_masm_x86_32.hpp ! src/cpu/x86/vm/interp_masm_x86_64.cpp ! src/cpu/x86/vm/interp_masm_x86_64.hpp ! src/cpu/x86/vm/interpreterGenerator_x86.hpp ! src/cpu/x86/vm/interpreter_x86_32.cpp ! src/cpu/x86/vm/interpreter_x86_64.cpp + src/cpu/x86/vm/methodHandles_x86.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp ! src/share/vm/classfile/dictionary.cpp ! src/share/vm/classfile/dictionary.hpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/includeDB_core ! src/share/vm/includeDB_gc_parallel ! src/share/vm/interpreter/abstractInterpreter.hpp ! src/share/vm/interpreter/cppInterpreter.cpp ! src/share/vm/interpreter/interpreter.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/interpreter/interpreterRuntime.hpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/interpreter/linkResolver.hpp ! src/share/vm/interpreter/templateInterpreter.cpp ! src/share/vm/interpreter/templateInterpreter.hpp ! src/share/vm/interpreter/templateInterpreterGenerator.hpp ! src/share/vm/memory/dump.cpp ! src/share/vm/oops/methodKlass.cpp ! src/share/vm/oops/methodOop.cpp ! src/share/vm/oops/methodOop.hpp ! src/share/vm/oops/oop.hpp ! src/share/vm/oops/oop.inline.hpp + src/share/vm/prims/methodHandles.cpp + src/share/vm/prims/methodHandles.hpp ! src/share/vm/prims/nativeLookup.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp ! src/share/vm/utilities/accessFlags.hpp ! src/share/vm/utilities/exceptions.hpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: 9610b2a8ab4e Author: cfang Date: 2009-04-10 15:01 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/9610b2a8ab4e 6829021: tests for 6636138 use UseSuperword instead of UseSuperWord Summary: Remove the wrong flag -XX:+UseSuperword to fix the Nightly failure Reviewed-by: kvn, never ! test/compiler/6636138/Test1.java ! test/compiler/6636138/Test2.java Changeset: 6e33bfd4139b Author: never Date: 2009-04-14 12:25 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/6e33bfd4139b Merge ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp From dawn2004 at gmail.com Wed Apr 15 09:53:21 2009 From: dawn2004 at gmail.com (Colin(Du Li)) Date: Wed, 15 Apr 2009 09:53:21 -0700 (PDT) Subject: Why does "jobject" on interpreter stack point to wield locations? In-Reply-To: <38377AF7-0B91-4118-A99D-FD1358D4E195@sun.com> References: <23033048.post@talk.nabble.com> <1685857A-3052-42A5-B723-66655A797D68@sun.com> <23043577.post@talk.nabble.com> <28BB147B-08F1-4CCD-BCFE-C0472DBEB632@sun.com> <23045595.post@talk.nabble.com> <38377AF7-0B91-4118-A99D-FD1358D4E195@sun.com> Message-ID: <23062816.post@talk.nabble.com> Thanks, and this is also the only explanation I can come up with. Colin Tom Rodriguez wrote: > > I think dumping frames that are used for invoking natives is probably > going to give you strange results since they aren't really treated as > regular interpreter frames for gc purposes. > > tom > > On Apr 14, 2009, at 11:45 AM, Colin(Du Li) wrote: > >> >> Thanks a lot! >> But you may take a look at this post: >> http://www.nabble.com/Why-%22jobject%22-in-JNI-part-is-always-outside-Java-heap--td22939687.html >> . >> >> In my first post, I actually found the stack held some references >> which >> pointed outside java heap. I assumed these references are jobjects, >> but now >> I'm not sure since you say "The interpreter stack always uses raw >> references." But can you give me some explain why these references >> sometimes >> (not always) point outside java heap. I'm really confused at this >> point. >> Thanks again! >> >> Colin. >> >> Tom Rodriguez wrote: >>> >>> There's some printing code that uses jobject as a placeholder for >>> java.lang.Object but it doesn't mean that it's really using a JNI >>> reference. The interpreter stack always uses raw references. When >>> creating frames for calling native methods we will pass JNI >>> references >>> to that but the frame contains raw references and we pass the address >>> of those locations as JNI references. >>> >>> tom >>> >>> On Apr 14, 2009, at 10:03 AM, Colin(Du Li) wrote: >>> >>>> >>>> Thanks a lot, Tom. >>>> You are right! >>>> But the question is when the stack use jobject? The method signature >>>> in the >>>> previous example is "virtual jobject >>>> java.lang.ClassLoader.loadClass(jobject)", which is quite confusing. >>>> I know one possible answer is when the method is a "native" method, >>>> it will >>>> use jobjects instead of raw reference. >>>> However, I have observed it for a while. For the native method, >>>> stack >>>> sometimes uses jobject, sometimes use raw references. Is my >>>> observation >>>> right? >>>> All in all, how can I tell the reference on the stack is raw >>>> reference or >>>> jobject? >>>> Thanks again! >>>> >>>> Colin >>>> >>>> Tom Rodriguez wrote: >>>>> >>>>> That interpreter stack doesn't use jobjects. It contains raw >>>>> references to Java objects so just use them directly. >>>>> >>>>> tom >>>>> >>>>> On Apr 13, 2009, at 9:21 PM, Colin(Du Li) wrote: >>>>> >>>>>> >>>>>> Hello. >>>>>> I'm playing with stack of c++ interpreter. I have some questions >>>>>> about the >>>>>> object reference on the stack. >>>>>> Let's look at the following example: >>>>>> When interpreter invoke("invokespecial") method "virtual jobject >>>>>> java.lang.ClassLoader.loadClass(jobject)", I print out stack frame >>>>>> (last >>>>>> frame), and the result is as follows: >>>>>> >>>>>> - local [0x7e747b90] ; #0 >>>>>> - local [0x7e7489d0] ; #1 >>>>>> - stack [0x7e7489d0] ; #1 >>>>>> - stack [0x7e747b90] ; #0 >>>>>> [ - obj >>>>>> a 'sun/misc/Launcher$AppClassLoader' >>>>>> - lock >>>>>> monitor >>>>>> - monitor[0xbff3f8c8] >>>>>> - bcp [0xb3f3fa4e] ; @2 >>>>>> - locals [0xbff3f944] >>>>>> - method [0xb3f3fa78] ; virtual jobject >>>>>> java.lang.ClassLoader.loadClassInternal(jobject) >>>>>> >>>>>> According to the jvm specification, stack slot #0 should contain >>>>>> the >>>>>> "receiver", and stack slot to the parameter of method >>>>>> "loadclass(jobject)". >>>>>> I use JNIHandles::resolve(obj) to resolve the two jobjects on the >>>>>> above >>>>>> stack slot. The result of slot #0 is a reference pointing to >>>>>> another >>>>>> slot of >>>>>> the current stack. The result of slot #1 is a invalid address, >>>>>> "0x1". >>>>>> The results confuse me. I assumed both of them pointed to some >>>>>> object is >>>>>> heap. >>>>>> Could you give me some explanation for this question? >>>>>> I really need your help. >>>>>> Thanks a lot! >>>>>> >>>>>> Colin. >>>>>> -- >>>>>> View this message in context: >>>>>> http://www.nabble.com/Why-does-%22jobject%22-on-interpreter-stack-point-to-wield-locations--tp23033048p23033048.html >>>>>> Sent from the OpenJDK Hotspot Virtual Machine mailing list archive >>>>>> at Nabble.com. >>>>>> >>>>> >>>>> >>>>> >>>> >>>> -- >>>> View this message in context: >>>> http://www.nabble.com/Why-does-%22jobject%22-on-interpreter-stack-point-to-wield-locations--tp23033048p23043577.html >>>> Sent from the OpenJDK Hotspot Virtual Machine mailing list archive >>>> at Nabble.com. >>>> >>> >>> >>> >> >> -- >> View this message in context: >> http://www.nabble.com/Why-does-%22jobject%22-on-interpreter-stack-point-to-wield-locations--tp23033048p23045595.html >> Sent from the OpenJDK Hotspot Virtual Machine mailing list archive >> at Nabble.com. >> > > > -- View this message in context: http://www.nabble.com/Why-does-%22jobject%22-on-interpreter-stack-point-to-wield-locations--tp23033048p23062816.html Sent from the OpenJDK Hotspot Virtual Machine mailing list archive at Nabble.com. From dawn2004 at gmail.com Wed Apr 15 10:25:00 2009 From: dawn2004 at gmail.com (Colin(Du Li)) Date: Wed, 15 Apr 2009 10:25:00 -0700 (PDT) Subject: Will GC lose some locking infomation during compaction? Message-ID: <23063420.post@talk.nabble.com> Hello. I have two questions about GC's compaction phase. 1. During the compaction, after GC copies a compacted object to the its location, it always calls "init_mark" on this object. I think "init_mark" will cause the object to be "unlocked". If the object is "locked" before compaction, will the locking information be lost after compaction? 2. If the compacted object has enter a monitor (using "moniterenter"), GC moves it to new location, then how can GC update the monitor? Thanks a lot! Colin -- View this message in context: http://www.nabble.com/Will-GC-lose-some-locking-infomation-during-compaction--tp23063420p23063420.html Sent from the OpenJDK Hotspot Virtual Machine mailing list archive at Nabble.com. From Y.S.Ramakrishna at Sun.COM Wed Apr 15 10:42:21 2009 From: Y.S.Ramakrishna at Sun.COM (Y. Srinivas Ramakrishna) Date: Wed, 15 Apr 2009 10:42:21 -0700 Subject: Will GC lose some locking infomation during compaction? In-Reply-To: <23063420.post@talk.nabble.com> References: <23063420.post@talk.nabble.com> Message-ID: <49E61C7D.6030607@sun.com> init_mark() sets the mark-word into a "prototypical" state, and this suffices, as you surmised, for the large majority of objects but not for all, namely for locked objects, biased objects and those whose hashcodes have been computed. Recall, however, that during the marking phase the we evacuated thse "non-prototypical" mark words into a pair of buffers. These spooled mark-words are used later to restore the evacuated mark words. Look for "should_preserve_mark_word()" or similar (I do not have a workspace handy to get you the exact name). -- ramki Colin(Du Li) wrote: > Hello. > I have two questions about GC's compaction phase. > 1. During the compaction, after GC copies a compacted object to the its > location, it always calls "init_mark" on this object. I think "init_mark" > will cause the object to be "unlocked". If the object is "locked" before > compaction, will the locking information be lost after compaction? > 2. If the compacted object has enter a monitor (using "moniterenter"), GC > moves it to new location, then how can GC update the monitor? > > Thanks a lot! > > Colin > From dawn2004 at gmail.com Wed Apr 15 14:35:59 2009 From: dawn2004 at gmail.com (Colin(Du Li)) Date: Wed, 15 Apr 2009 14:35:59 -0700 (PDT) Subject: Will GC lose some locking infomation during compaction? In-Reply-To: <23063420.post@talk.nabble.com> References: <23063420.post@talk.nabble.com> Message-ID: <23067594.post@talk.nabble.com> Got it! Thank you very much for your clarification! Colin. Colin(Du Li) wrote: > > Hello. > I have two questions about GC's compaction phase. > 1. During the compaction, after GC copies a compacted object to the its > location, it always calls "init_mark" on this object. I think "init_mark" > will cause the object to be "unlocked". If the object is "locked" before > compaction, will the locking information be lost after compaction? > 2. If the compacted object has enter a monitor (using "moniterenter"), GC > moves it to new location, then how can GC update the monitor? > > Thanks a lot! > > Colin > -- View this message in context: http://www.nabble.com/Will-GC-lose-some-locking-infomation-during-compaction--tp23063420p23067594.html Sent from the OpenJDK Hotspot Virtual Machine mailing list archive at Nabble.com. From erik.trimble at sun.com Wed Apr 15 21:35:30 2009 From: erik.trimble at sun.com (erik.trimble at sun.com) Date: Thu, 16 Apr 2009 04:35:30 +0000 Subject: hg: jdk7/hotspot/hotspot: 6830815: jprt.config not setting proper compiler version for use in 6u14 Message-ID: <20090416043536.E5F8AECC0@hg.openjdk.java.net> Changeset: 4961a8a726a4 Author: trims Date: 2009-04-15 21:31 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/4961a8a726a4 6830815: jprt.config not setting proper compiler version for use in 6u14 Summary: Add the 6u14 option to the jprt.config file in workspace Reviewed-by: ohair ! make/jprt.config From lsliu0507 at gmail.com Thu Apr 16 09:07:52 2009 From: lsliu0507 at gmail.com (lianshun Liu) Date: Fri, 17 Apr 2009 00:07:52 +0800 Subject: puzzles about hotspot interpreter Message-ID: Hello, I want to do some experiments with hotspot interpreter, precisely speeking, the C++-interpreter. I set CC_INTERP=1 when making hotspot. To test which interpreter will work, I embeded some codes which will create a file into the function bytecodeInterpreter::run(). But to my surprise, when I run the hotspot, no file will be created, so the function bytecodeInterpreter::run() wasn't invoked. If I didn't set CC_INTERP=1, the result was the same. In order to use C++-interpreter, what else should I do? Any details? Thanks a lot;-) Best regards Lianshun Liu -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20090417/3471911d/attachment.html From Karen.Kinnear at Sun.COM Thu Apr 16 14:42:32 2009 From: Karen.Kinnear at Sun.COM (Karen Kinnear) Date: Thu, 16 Apr 2009 17:42:32 -0400 Subject: invokevirtual on package private override in different classloader In-Reply-To: <1239744795.6111.32.camel@Lini> References: <1239417256.6194.53.camel@Lini> <49E4E45E.2020508@sun.com> <1239744795.6111.32.camel@Lini> Message-ID: Jeff, Thank you for sending me this information. I have a theory, but I would be much more comfortable running the test first. I have experimented with this, but I'd feel much more comfortable duplicating your results. I do appreciate you offering to package this up using plain old javac/ and a run script - I don't have Eclipse installed and much as I've heard it is a great product, I don't have the cycles to do that in the near future. thanks so much, Karen On Apr 14, 2009, at 5:33 PM, Jeffrey Sinclair wrote: > Karen, > > Thanks for getting back to me. > > I was using 1.6.0_10 and have now tried 1.6.0_13 and get the same > result. Specifically I've tried the following versions: > > java version "1.6.0_10" > Java(TM) SE Runtime Environment (build 1.6.0_10-b33) > Java HotSpot(TM) 64-Bit Server VM (build 11.0-b15, mixed mode) > > java version "1.6.0_13" > Java(TM) SE Runtime Environment (build 1.6.0_13-b03) > Java HotSpot(TM) 64-Bit Server VM (build 11.3-b02, mixed mode) > > I've attached my source as Eclipse projects. The URL in the main > method > points to the class files generated by the project with the > CustomSquare. I've also added some debug info relating to which class > loader is being used to load the Square, Printer and Custom Square > respectively: > > Printer loaded by classloader: sun.misc.Launcher > $AppClassLoader at 553f5d07 > Square loaded by classloader: java.net.URLClassLoader at 3ae48e1b > CustomSquare loaded by classloader: java.net.URLClassLoader at 3ae48e1b > Red > > I still get Red. The key point is that the CustomSquare is not visible > at all to the Printer code. If I stick the CustomSquare in the same > project as Printer it will then be loaded by the AppClassLoader and I > get blue. However when it is in a completely separate project and > loaded > via the URLClassLoader (and Printer loaded via the AppClassLoader) I > always get Red. If I then change getColour() to be public in both > Square > and CustomSquare I get blue. > > This is completely baffling me. I may be doing something really silly > but I can't see it :) > > Let me know if you can't replicate the issue with the attached Eclipse > project and I'll try to package it up using plain old javac and a run > script. > > Even if you do get blue with the different ClassLoaders for Printer > and > CustomSquare, I would probably argue that this is incorrect but I have > to admit that this argument could be because I've misunderstood the > meaning of 'runtime package' in terms of package private accessibility > in the JVM spec. > > Jeff > > On Tue, 2009-04-14 at 15:30 -0400, Karen Kinnear wrote: >> Jeff, >> >> Perhaps you can help me duplicate the problem. >> >> First - what does java -version say? >> >> I took the source code appended, and modified the URL setting, >> which I believe should just give me your second example, i.e. >> CustomSquare instantiated in a different ClassLoader than Printer. >> >> When I run this with Sun's 1.6 or recent 1.7 I get "blue". >> >> What did we do differently? >> >> thanks, >> Karen >> >> Jeffrey Sinclair wrote: >>> hotspot-dev, >>> >>> I've been struggling to understand why HotSpot does not throw an >>> IllegalAccessError when a call is made to an override of a package >>> private method on an instance loaded by a different class loader. >>> I was >>> hoping someone could explain to me in technical detail where I'm >>> going >>> wrong because it appears to be a bug. >>> >>> (all source code is pasted at the end of the mail) >>> >>> I have a class called Square with a package private method named >>> getColour() which returns 'red'. I have a subclass of Square called >>> CustomSquare which overrides getColour() to return 'blue'. I have >>> another class called Printer which simply prints out getColour() >>> for the >>> Square passed to it. I then have two test cases: >>> >>> * Printer.print(Square) is called with a CustomSquare >>> instantiated in >>> the same ClassLoader as Printer. >>> * Printer.print(Square) is called with a CustomSquare >>> instantiated in >>> a different ClassLoader as Printer. >>> >>> What I find is that I get 'blue' in the first test (as expected) and >>> 'red' in the second test (not expected). >>> >>>> From the Access Control constraints in the Linking section of the >>>> JVM >>> specification (5.4.4), I as expecting an IllegalAccessError to be >>> thrown >>> because it states that a package private method is accessible to a >>> class >>> if it is declared by a class in the same runtime package. >>> >>> My understanding is that Printer is not in the same runtime >>> package as >>> CustomSquare which explains why my override does not kick in, but it >>> does not explain why an IllegalAccessError is not thrown. >>> >>> I was wondering if someone could explain the behaviour to me. >>> >>> Regards, >>> >>> Jeff >>> >>> The source code: >>> >>> public class Main { >>> public static void main(String[] args) throws Exception { >>> URL[] urls = new URL[]{new URL("path/to/CustomSquare")}; >>> URLClassLoader loader = new URLClassLoader(urls); >>> Class clazz = >>> loader.loadClass("uk.co.cooljeff.visibility.CustomSquare"); >>> Printer printer = new Printer(); >>> printer.print((Square)clazz.newInstance()); // 'red' gets printed >>> } >>> } >>> >>> package uk.co.cooljeff.visibility; >>> >>> public class Printer { >>> public void print(Square square) { >>> System.out.println(square.getColour()); >>> } >>> } >>> >>> package uk.co.cooljeff.visibility; >>> >>> public class CustomSquare extends Square { >>> public CustomSquare() { >>> super(5); >>> } >>> >>> @Override >>> public String getColour() { >>> return "blue"; >>> } >>> } >>> >>> package uk.co.cooljeff.visibility; >>> >>> public class Square { >>> private float length; >>> >>> public Square(float length) { >>> this.length = length; >>> } >>> >>> public float calculateArea() { >>> return length * length; >>> } >>> >>> String getColour() { >>> return "red"; >>> } >>> } >>> >> > From dawn2004 at gmail.com Thu Apr 16 19:46:30 2009 From: dawn2004 at gmail.com (Colin(Du Li)) Date: Thu, 16 Apr 2009 19:46:30 -0700 (PDT) Subject: puzzles about hotspot interpreter In-Reply-To: References: Message-ID: <23090161.post@talk.nabble.com> If you use command "java" to run your program, you should use option "-Xint" to make jvm use interpreter mode. If you use command "gamma", you don't have to do that, whose default is to use interpreter mode. Colin Liu lianshun wrote: > > Hello, > I want to do some experiments with hotspot interpreter, precisely > speeking, the C++-interpreter. I set CC_INTERP=1 when making hotspot. To > test which interpreter will work, I embeded some codes which will create a > file into the function bytecodeInterpreter::run(). But to my surprise, > when I run the hotspot, no file will be created, so the function > bytecodeInterpreter::run() wasn't invoked. If I didn't set CC_INTERP=1, > the result was the same. > In order to use C++-interpreter, what else should I do? Any details? > Thanks a lot;-) > > > Best regards > > Lianshun Liu > -- View this message in context: http://www.nabble.com/puzzles-about-hotspot-interpreter-tp23081166p23090161.html Sent from the OpenJDK Hotspot Virtual Machine mailing list archive at Nabble.com. From john.coomes at sun.com Thu Apr 16 20:36:38 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 17 Apr 2009 03:36:38 +0000 Subject: hg: jdk7/hotspot: Added tag jdk7-b55 for changeset aea0ace7a1e4 Message-ID: <20090417033638.CBB38EDEB@hg.openjdk.java.net> Changeset: ba12117a5e6c Author: xdono Date: 2009-04-16 11:22 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/rev/ba12117a5e6c Added tag jdk7-b55 for changeset aea0ace7a1e4 ! .hgtags From john.coomes at sun.com Thu Apr 16 20:40:27 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 17 Apr 2009 03:40:27 +0000 Subject: hg: jdk7/hotspot/corba: Added tag jdk7-b55 for changeset 7a869f16ba83 Message-ID: <20090417034029.3A701EDF0@hg.openjdk.java.net> Changeset: 553a664b807b Author: xdono Date: 2009-04-16 11:22 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/corba/rev/553a664b807b Added tag jdk7-b55 for changeset 7a869f16ba83 ! .hgtags From john.coomes at sun.com Thu Apr 16 20:52:42 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 17 Apr 2009 03:52:42 +0000 Subject: hg: jdk7/hotspot/jaxp: Added tag jdk7-b55 for changeset 039945fba683 Message-ID: <20090417035246.4636BEDFB@hg.openjdk.java.net> Changeset: c197c6801271 Author: xdono Date: 2009-04-16 11:22 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/c197c6801271 Added tag jdk7-b55 for changeset 039945fba683 ! .hgtags From john.coomes at sun.com Thu Apr 16 20:56:36 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 17 Apr 2009 03:56:36 +0000 Subject: hg: jdk7/hotspot/jaxws: Added tag jdk7-b55 for changeset e0eebd978b83 Message-ID: <20090417035639.16D92EE05@hg.openjdk.java.net> Changeset: 0f7fbf85f7a1 Author: xdono Date: 2009-04-16 11:22 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/0f7fbf85f7a1 Added tag jdk7-b55 for changeset e0eebd978b83 ! .hgtags From john.coomes at sun.com Thu Apr 16 21:04:00 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 17 Apr 2009 04:04:00 +0000 Subject: hg: jdk7/hotspot/jdk: 78 new changesets Message-ID: <20090417042250.C25BEEE15@hg.openjdk.java.net> Changeset: bccdcd761796 Author: alanb Date: 2009-03-24 14:03 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/bccdcd761796 6819886: System.getProperty("os.name") reports Vista on Windows 7 Reviewed-by: sherman ! src/windows/native/java/lang/java_props_md.c Changeset: 4c3f752993a5 Author: alanb Date: 2009-03-24 14:05 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/4c3f752993a5 6807702: Integer.valueOf cache should be configurable Reviewed-by: darcy ! src/share/classes/java/lang/Integer.java ! src/share/classes/java/lang/Long.java ! src/share/classes/java/lang/System.java + test/java/lang/Integer/ValueOf.java Changeset: 78063cf930e5 Author: alanb Date: 2009-03-24 14:08 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/78063cf930e5 6819689: File.lastModified can return bogus value for remote file accessed as it is being deleted [win] Reviewed-by: sherman Contributed-by: andreas.frischknecht at softwired-inc.com ! src/windows/native/java/io/WinNTFileSystem_md.c Changeset: 52bdf8cec41d Author: alanb Date: 2009-03-24 14:10 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/52bdf8cec41d 6621689: (dc spec) DatagramChannel.receive when channel is not bound is not specified Reviewed-by: sherman ! src/share/classes/java/nio/channels/DatagramChannel.java ! src/share/classes/sun/nio/ch/DatagramChannelImpl.java ! test/java/nio/channels/DatagramChannel/NotBound.java Changeset: 644849201ca6 Author: dl Date: 2009-03-24 19:42 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/644849201ca6 6800572: Removing elements from views of NavigableMap implementations does not always work correctly. Summary: Replace use of new TreeSet with new KeySet Reviewed-by: martin ! src/share/classes/java/util/TreeMap.java ! src/share/classes/java/util/concurrent/ConcurrentSkipListMap.java ! test/java/util/Collection/MOAT.java Changeset: 2dae30c4d687 Author: mchung Date: 2009-03-25 12:24 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/2dae30c4d687 6819122: DefaultProxySelector should lazily initialize the Pattern object and the NonProxyInfo objects Summary: Move two static NonProxyInfo fields into NonProxyInfo class and instantiate Pattern object when needed Reviewed-by: jccollet ! src/share/classes/sun/net/spi/DefaultProxySelector.java Changeset: 5303aece2068 Author: dl Date: 2009-03-26 11:59 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/5303aece2068 6801020: Concurrent Semaphore release may cause some require thread not signaled Summary: Introduce PROPAGATE waitStatus Reviewed-by: martin ! src/share/classes/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.java ! src/share/classes/java/util/concurrent/locks/AbstractQueuedSynchronizer.java + test/java/util/concurrent/Semaphore/RacingReleases.java Changeset: 4a685f3f3ba8 Author: dl Date: 2009-03-26 17:39 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/4a685f3f3ba8 6822903: Reliability and documentation improvements for ReentrantReadWriteLock Summary: Make firstReader a Thread, not a long Reviewed-by: martin ! src/share/classes/java/util/concurrent/locks/ReentrantReadWriteLock.java Changeset: b752110df530 Author: weijun Date: 2009-03-27 11:05 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/b752110df530 6802846: jarsigner needs enhanced cert validation(options) Reviewed-by: xuelei ! src/share/classes/sun/security/tools/JarSigner.java ! src/share/classes/sun/security/tools/JarSignerResources.java ! src/share/classes/sun/security/tools/KeyTool.java + test/sun/security/tools/jarsigner/concise_jarsigner.sh Changeset: 7264cacbddaa Author: alanb Date: 2009-03-27 15:24 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/7264cacbddaa 6693490: (se) select throws "File exists" IOException under load (lnx) Reviewed-by: sherman ! src/share/classes/sun/nio/ch/SelChImpl.java ! src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java ! src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java + test/java/nio/channels/Selector/RegAfterPreClose.java Changeset: 9fa8b6276b31 Author: alanb Date: 2009-03-27 16:04 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/9fa8b6276b31 6772303: (se) IOException: Invalid argument" thrown on a call to Selector.select(value) with -d64 Reviewed-by: sherman ! src/solaris/native/sun/nio/ch/DevPollArrayWrapper.c Changeset: ff0a9e50f033 Author: alanb Date: 2009-03-30 19:22 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/ff0a9e50f033 Merge Changeset: 85a91be56593 Author: mchung Date: 2009-03-31 23:52 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/85a91be56593 6819110: Lazily load Sun digest provider for jar verification Summary: Lazily call Providers.getSunProvider() instead of at static initializer Reviewed-by: mullan ! src/share/classes/sun/security/util/ManifestEntryVerifier.java Changeset: ee75d1fac0ca Author: weijun Date: 2009-04-03 11:36 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/ee75d1fac0ca 6825352: support self-issued certificate in keytool Reviewed-by: xuelei ! src/share/classes/sun/security/tools/KeyTool.java + test/sun/security/tools/keytool/selfissued.sh Changeset: de80210c56a6 Author: sherman Date: 2009-04-02 15:35 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/de80210c56a6 4681995: Add support for large (> 4GB) zip/jar files Summary: The ZIP64 format support is added for > 4GB jar/zip files Reviewed-by: alanb, martin + src/share/classes/java/util/zip/ZipConstants64.java ! src/share/classes/java/util/zip/ZipEntry.java ! src/share/classes/java/util/zip/ZipInputStream.java ! src/share/classes/java/util/zip/ZipOutputStream.java ! src/share/classes/java/util/zip/package.html ! src/share/native/java/util/zip/zip_util.c ! src/share/native/java/util/zip/zip_util.h ! src/share/native/java/util/zip/zlib-1.1.3/zlib.h + test/java/util/zip/LargeZip.java ! test/java/util/zip/ZipFile/LargeZipFile.java Changeset: 030b29ccd0db Author: sherman Date: 2009-04-03 09:51 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/030b29ccd0db Merge Changeset: 17f50ed5fcab Author: tbell Date: 2009-04-03 10:29 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/17f50ed5fcab Merge Changeset: 267d1f8aa82a Author: alanb Date: 2009-04-02 11:13 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/267d1f8aa82a 6824135: (ch) test/java/nio/channels/AsyncCloseAndInterrupt.java fails (lnx) Reviewed-by: sherman ! src/share/classes/sun/nio/ch/FileChannelImpl.java ! test/java/nio/channels/AsyncCloseAndInterrupt.java Changeset: 464727e3afb4 Author: alanb Date: 2009-04-02 11:19 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/464727e3afb4 6666739: (ref) ReferenceQueue.poll() doesn't scale well 6711667: (ref) Update SoftReference timestamp only if clock advances Summary: Forward port from 6u14; originally fixed by Tom Rodriguez in earlier update Reviewed-by: martin ! src/share/classes/java/lang/ref/ReferenceQueue.java ! src/share/classes/java/lang/ref/SoftReference.java Changeset: aed19719b1e9 Author: alanb Date: 2009-04-02 16:31 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/aed19719b1e9 6824141: test/java/rmi/activation/rmidViaInheritedChannel tests fail Reviewed-by: peterjones ! test/java/rmi/activation/rmidViaInheritedChannel/InheritedChannelNotServerSocket.java ! test/java/rmi/activation/rmidViaInheritedChannel/RmidViaInheritedChannel.java Changeset: 4befa480d3c8 Author: alanb Date: 2009-04-02 19:47 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/4befa480d3c8 6824477: (se) Selector.select fails with IOException: "Invalid argument" if maximum file descriptors is low Reviewed-by: sherman ! src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java + test/java/nio/channels/Selector/LotsOfUpdates.java + test/java/nio/channels/Selector/lots_of_updates.sh Changeset: e50a00095a53 Author: alanb Date: 2009-04-03 22:10 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/e50a00095a53 6823609: (se) Selector.select hangs on Windows under load Reviewed-by: sherman ! src/windows/classes/sun/nio/ch/WindowsSelectorImpl.java + test/java/nio/channels/Selector/HelperSlowToDie.java Changeset: 93d1fbe001b8 Author: alanb Date: 2009-04-06 08:59 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/93d1fbe001b8 4890703: Support SDP (sol) Reviewed-by: michaelm ! make/java/net/FILES_c.gmk ! make/java/net/Makefile ! make/java/net/mapfile-vers ! make/sun/net/FILES_java.gmk ! src/share/classes/java/net/AbstractPlainSocketImpl.java ! src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java ! src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java ! src/share/classes/sun/nio/ch/ServerSocketChannelImpl.java ! src/share/classes/sun/nio/ch/SocketChannelImpl.java + src/solaris/classes/sun/net/NetHooks.java + src/solaris/classes/sun/net/spi/SdpProvider.java ! src/solaris/classes/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java + src/solaris/lib/sdp/sdp.conf.template + src/solaris/native/sun/net/spi/SdpProvider.c ! src/solaris/native/sun/nio/ch/FileChannelImpl.c + src/windows/classes/sun/net/NetHooks.java + test/sun/net/sdp/ProbeIB.java + test/sun/net/sdp/Sanity.java + test/sun/net/sdp/sanity.sh Changeset: d89688532509 Author: alanb Date: 2009-04-06 11:29 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/d89688532509 Merge - make/jprt.config Changeset: 45ff1a9d4edb Author: valeriep Date: 2009-04-06 18:46 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/45ff1a9d4edb 4735126: (cl) ClassLoader.loadClass locks all instances in chain when delegating Summary: Added support for parallel-capable class loaders Reviewed-by: alanb ! make/java/java/mapfile-vers ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/ClassLoader.java ! src/share/classes/java/net/URLClassLoader.java ! src/share/classes/java/security/SecureClassLoader.java ! src/share/classes/sun/misc/Launcher.java ! src/share/native/java/lang/ClassLoader.c + test/java/lang/ClassLoader/deadlock/Alice.java + test/java/lang/ClassLoader/deadlock/Bob.java + test/java/lang/ClassLoader/deadlock/DelegatingLoader.java + test/java/lang/ClassLoader/deadlock/Starter.java + test/java/lang/ClassLoader/deadlock/SupAlice.java + test/java/lang/ClassLoader/deadlock/SupBob.java + test/java/lang/ClassLoader/deadlock/TestCrossDelegate.sh + test/java/lang/ClassLoader/deadlock/TestOneWayDelegate.sh Changeset: 22b6e09960c1 Author: valeriep Date: 2009-04-06 18:52 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/22b6e09960c1 6440846: (cl) Deadlock between AppClassLoader and ExtClassLoader Summary: Fixed a deadlock between the two class loaders Reviewed-by: alanb ! src/share/classes/sun/security/jca/ProviderConfig.java + test/java/security/Security/ClassLoaderDeadlock/CreateSerialized.java + test/java/security/Security/ClassLoaderDeadlock/Deadlock2.java + test/java/security/Security/ClassLoaderDeadlock/Deadlock2.sh Changeset: 63e460d29580 Author: tbell Date: 2009-04-10 15:30 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/63e460d29580 Merge - src/windows/classes/sun/awt/windows/fontconfig.98.properties - src/windows/classes/sun/awt/windows/fontconfig.Me.properties Changeset: d0b6e69791c8 Author: art Date: 2009-02-11 17:07 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/d0b6e69791c8 6633275: Need to support shaped/translucent windows Summary: forward-port from 6u14, no public API is introduced Reviewed-by: anthony, dcherepanov ! make/sun/awt/FILES_c_windows.gmk ! make/sun/awt/Makefile ! make/sun/awt/make.depend ! make/sun/awt/mapfile-mawt-vers ! make/sun/awt/mapfile-vers-linux ! make/sun/xawt/mapfile-vers ! src/share/classes/com/sun/awt/AWTUtilities.java ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java ! src/share/classes/java/awt/DefaultKeyboardFocusManager.java ! src/share/classes/java/awt/GraphicsConfiguration.java ! src/share/classes/java/awt/GraphicsDevice.java ! src/share/classes/java/awt/KeyboardFocusManager.java ! src/share/classes/java/awt/Window.java ! src/share/classes/java/awt/peer/WindowPeer.java ! src/share/classes/javax/swing/RepaintManager.java ! src/share/classes/sun/awt/AWTAccessor.java ! src/share/classes/sun/awt/EmbeddedFrame.java ! src/share/classes/sun/awt/SunToolkit.java + src/share/native/sun/awt/utility/rect.c ! src/solaris/classes/sun/awt/X11/XNETProtocol.java ! src/solaris/classes/sun/awt/X11/XToolkit.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java ! src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java ! src/solaris/classes/sun/awt/X11/generator/xlibtypes.txt ! src/solaris/classes/sun/awt/X11GraphicsConfig.java ! src/solaris/native/sun/awt/awt_GraphicsEnv.c ! src/solaris/native/sun/awt/awt_p.h ! src/windows/classes/sun/awt/Win32GraphicsConfig.java ! src/windows/classes/sun/awt/Win32GraphicsEnvironment.java + src/windows/classes/sun/awt/windows/TranslucentWindowPainter.java ! src/windows/classes/sun/awt/windows/WCanvasPeer.java ! src/windows/classes/sun/awt/windows/WComponentPeer.java ! src/windows/classes/sun/awt/windows/WFileDialogPeer.java ! src/windows/classes/sun/awt/windows/WPrintDialogPeer.java ! src/windows/classes/sun/awt/windows/WToolkit.java ! src/windows/classes/sun/awt/windows/WWindowPeer.java ! src/windows/classes/sun/java2d/opengl/WGLSurfaceData.java ! src/windows/native/sun/awt/utility/rect.h ! src/windows/native/sun/java2d/d3d/D3DSurfaceData.cpp ! src/windows/native/sun/java2d/opengl/WGLSurfaceData.c ! src/windows/native/sun/windows/awt_BitmapUtil.cpp ! src/windows/native/sun/windows/awt_BitmapUtil.h ! src/windows/native/sun/windows/awt_Component.cpp ! src/windows/native/sun/windows/awt_Component.h ! src/windows/native/sun/windows/awt_Window.cpp ! src/windows/native/sun/windows/awt_Window.h + test/com/sun/awt/Translucency/TranslucentJAppletTest/TranslucentJAppletTest.java + test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TSFrame.java + test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.form + test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.java + test/com/sun/awt/Translucency/WindowOpacity.java + test/sun/java2d/pipe/RegionOps.java Changeset: d78988dd5659 Author: art Date: 2009-02-12 17:27 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/d78988dd5659 6804680: Solaris AMD64 build fails after the fix for 6633275/7 Summary: addition to the fix for 6633275 Reviewed-by: yan ! src/solaris/classes/sun/awt/X11/generator/sizes.64-solaris-i386 Changeset: 0d01d1f0954d Author: dcherepanov Date: 2009-02-12 18:24 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/0d01d1f0954d 6724890: Deadlock between AWT-EventQueue-1 and AWT-XAWT threads during IDE start Reviewed-by: art, ant ! src/share/classes/java/awt/Frame.java ! src/share/classes/sun/awt/AWTAccessor.java ! src/solaris/classes/sun/awt/X11/XFramePeer.java ! src/windows/classes/sun/awt/windows/WFramePeer.java ! src/windows/native/sun/windows/awt_Frame.cpp ! src/windows/native/sun/windows/awt_Frame.h Changeset: 03276203c39c Author: art Date: 2009-02-17 10:42 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/03276203c39c 6806035: Fix for 6804680 is incomplete Reviewed-by: yan ! src/solaris/classes/sun/awt/X11/generator/sizes.64-solaris-i386 Changeset: 5453a374c1d5 Author: dcherepanov Date: 2009-02-17 14:27 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/5453a374c1d5 6769607: PIT : Modal frame hangs for a while for few seconds in 6u12 b01 pit build Reviewed-by: art, anthony ! src/share/classes/java/awt/Window.java ! src/windows/native/sun/windows/awt_Dialog.cpp ! src/windows/native/sun/windows/awt_Dialog.h Changeset: 9cdba92883bf Author: dcherepanov Date: 2009-02-17 14:30 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/9cdba92883bf 6792023: Print suspends on Windows 2000 Pro since 6u12 b01 Reviewed-by: art, anthony ! src/windows/native/sun/windows/awt_FileDialog.cpp ! src/windows/native/sun/windows/awt_PrintDialog.cpp ! src/windows/native/sun/windows/awt_PrintJob.cpp ! src/windows/native/sun/windows/awt_Window.h Changeset: e03aa9d6b8d5 Author: dcherepanov Date: 2009-02-17 14:44 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/e03aa9d6b8d5 6723941: Crash in sun.awt.windows.WToolkit.eventLoop() Reviewed-by: art, ant ! src/windows/native/sun/windows/awt_Frame.cpp Changeset: 2083f9461cea Author: dcherepanov Date: 2009-02-19 14:10 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/2083f9461cea 6806224: PIT : Getting java.lang.NullPointerException while opening Filedialog Reviewed-by: art, dav ! src/solaris/classes/sun/awt/X11/XComponentPeer.java ! src/solaris/classes/sun/awt/X11/XFileDialogPeer.java Changeset: 66d6db0a1de6 Author: anthony Date: 2009-02-20 17:34 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/66d6db0a1de6 6804747: Ensure consistent graphicsConfig member across components hierarchy Reviewed-by: art, dcherepanov ! src/share/classes/java/awt/Canvas.java ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java ! src/share/classes/java/awt/Window.java ! src/share/classes/java/awt/peer/CanvasPeer.java ! src/share/classes/java/awt/peer/ComponentPeer.java ! src/share/classes/sun/awt/AWTAccessor.java ! src/share/classes/sun/awt/ComponentAccessor.java ! src/share/classes/sun/awt/NullComponentPeer.java ! src/solaris/classes/sun/awt/X11/XCanvasPeer.java ! src/solaris/classes/sun/awt/X11/XComponentPeer.java ! src/solaris/classes/sun/awt/X11/XEmbedChildProxyPeer.java ! src/solaris/classes/sun/awt/X11/XPanelPeer.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java ! src/solaris/native/sun/awt/awt_Component.h ! src/solaris/native/sun/awt/awt_Window.h ! src/solaris/native/sun/xawt/XToolkit.c ! src/windows/classes/sun/awt/Win32GraphicsDevice.java ! src/windows/classes/sun/awt/windows/WCanvasPeer.java ! src/windows/classes/sun/awt/windows/WComponentPeer.java ! src/windows/classes/sun/awt/windows/WPanelPeer.java ! src/windows/classes/sun/awt/windows/WWindowPeer.java Changeset: b22974c82ca8 Author: lana Date: 2009-02-22 12:26 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/b22974c82ca8 Merge - make/javax/sound/jsoundhs/FILES.gmk - make/javax/sound/jsoundhs/Makefile - make/javax/sound/jsoundhs/mapfile-vers ! make/sun/awt/mapfile-mawt-vers ! make/sun/xawt/mapfile-vers - src/share/classes/com/sun/beans/ObjectHandler.java - src/share/classes/com/sun/jmx/namespace/JMXNamespaceUtils.java ! src/share/classes/javax/swing/RepaintManager.java - src/share/classes/sun/nio/cs/IBM437.java - src/share/classes/sun/nio/cs/IBM737.java - src/share/classes/sun/nio/cs/IBM775.java - src/share/classes/sun/nio/cs/IBM850.java - src/share/classes/sun/nio/cs/IBM852.java - src/share/classes/sun/nio/cs/IBM855.java - src/share/classes/sun/nio/cs/IBM857.java - src/share/classes/sun/nio/cs/IBM858.java - src/share/classes/sun/nio/cs/IBM862.java - src/share/classes/sun/nio/cs/IBM866.java - src/share/classes/sun/nio/cs/IBM874.java - src/share/classes/sun/nio/cs/ISO_8859_13.java - src/share/classes/sun/nio/cs/ISO_8859_15.java - src/share/classes/sun/nio/cs/ISO_8859_2.java - src/share/classes/sun/nio/cs/ISO_8859_4.java - src/share/classes/sun/nio/cs/ISO_8859_5.java - src/share/classes/sun/nio/cs/ISO_8859_7.java - src/share/classes/sun/nio/cs/ISO_8859_9.java - src/share/classes/sun/nio/cs/KOI8_R.java - src/share/classes/sun/nio/cs/KOI8_U.java - src/share/classes/sun/nio/cs/MS1250.java - src/share/classes/sun/nio/cs/MS1251.java - src/share/classes/sun/nio/cs/MS1252.java - src/share/classes/sun/nio/cs/MS1253.java - src/share/classes/sun/nio/cs/MS1254.java - src/share/classes/sun/nio/cs/MS1257.java - src/share/classes/sun/nio/cs/ext/IBM037.java - src/share/classes/sun/nio/cs/ext/IBM1006.java - src/share/classes/sun/nio/cs/ext/IBM1025.java - src/share/classes/sun/nio/cs/ext/IBM1026.java - src/share/classes/sun/nio/cs/ext/IBM1046.java - src/share/classes/sun/nio/cs/ext/IBM1047.java - src/share/classes/sun/nio/cs/ext/IBM1097.java - src/share/classes/sun/nio/cs/ext/IBM1098.java - src/share/classes/sun/nio/cs/ext/IBM1112.java - src/share/classes/sun/nio/cs/ext/IBM1122.java - src/share/classes/sun/nio/cs/ext/IBM1123.java - src/share/classes/sun/nio/cs/ext/IBM1124.java - src/share/classes/sun/nio/cs/ext/IBM1140.java - src/share/classes/sun/nio/cs/ext/IBM1141.java - src/share/classes/sun/nio/cs/ext/IBM1142.java - src/share/classes/sun/nio/cs/ext/IBM1143.java - src/share/classes/sun/nio/cs/ext/IBM1144.java - src/share/classes/sun/nio/cs/ext/IBM1145.java - src/share/classes/sun/nio/cs/ext/IBM1146.java - src/share/classes/sun/nio/cs/ext/IBM1147.java - src/share/classes/sun/nio/cs/ext/IBM1148.java - src/share/classes/sun/nio/cs/ext/IBM1149.java - src/share/classes/sun/nio/cs/ext/IBM273.java - src/share/classes/sun/nio/cs/ext/IBM277.java - src/share/classes/sun/nio/cs/ext/IBM278.java - src/share/classes/sun/nio/cs/ext/IBM280.java - src/share/classes/sun/nio/cs/ext/IBM284.java - src/share/classes/sun/nio/cs/ext/IBM285.java - src/share/classes/sun/nio/cs/ext/IBM297.java - src/share/classes/sun/nio/cs/ext/IBM420.java - src/share/classes/sun/nio/cs/ext/IBM424.java - src/share/classes/sun/nio/cs/ext/IBM500.java - src/share/classes/sun/nio/cs/ext/IBM838.java - src/share/classes/sun/nio/cs/ext/IBM856.java - src/share/classes/sun/nio/cs/ext/IBM860.java - src/share/classes/sun/nio/cs/ext/IBM861.java - src/share/classes/sun/nio/cs/ext/IBM863.java - src/share/classes/sun/nio/cs/ext/IBM864.java - src/share/classes/sun/nio/cs/ext/IBM865.java - src/share/classes/sun/nio/cs/ext/IBM868.java - src/share/classes/sun/nio/cs/ext/IBM869.java - src/share/classes/sun/nio/cs/ext/IBM870.java - src/share/classes/sun/nio/cs/ext/IBM871.java - src/share/classes/sun/nio/cs/ext/IBM875.java - src/share/classes/sun/nio/cs/ext/IBM918.java - src/share/classes/sun/nio/cs/ext/IBM921.java - src/share/classes/sun/nio/cs/ext/IBM922.java - src/share/classes/sun/nio/cs/ext/ISO_8859_11.java - src/share/classes/sun/nio/cs/ext/ISO_8859_3.java - src/share/classes/sun/nio/cs/ext/ISO_8859_6.java - src/share/classes/sun/nio/cs/ext/ISO_8859_8.java - src/share/classes/sun/nio/cs/ext/MS1255.java - src/share/classes/sun/nio/cs/ext/MS1256.java - src/share/classes/sun/nio/cs/ext/MS1258.java - src/share/classes/sun/nio/cs/ext/MS874.java - src/share/classes/sun/nio/cs/ext/MacArabic.java - src/share/classes/sun/nio/cs/ext/MacCentralEurope.java - src/share/classes/sun/nio/cs/ext/MacCroatian.java - src/share/classes/sun/nio/cs/ext/MacCyrillic.java - src/share/classes/sun/nio/cs/ext/MacDingbat.java - src/share/classes/sun/nio/cs/ext/MacGreek.java - src/share/classes/sun/nio/cs/ext/MacHebrew.java - src/share/classes/sun/nio/cs/ext/MacIceland.java - src/share/classes/sun/nio/cs/ext/MacRoman.java - src/share/classes/sun/nio/cs/ext/MacRomania.java - src/share/classes/sun/nio/cs/ext/MacSymbol.java - src/share/classes/sun/nio/cs/ext/MacThai.java - src/share/classes/sun/nio/cs/ext/MacTurkish.java - src/share/classes/sun/nio/cs/ext/MacUkraine.java - src/share/classes/sun/nio/cs/ext/TIS_620.java - src/share/lib/audio/soundbank.gm ! src/windows/classes/sun/awt/Win32GraphicsEnvironment.java Changeset: a2082e850247 Author: anthony Date: 2009-03-03 13:54 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/a2082e850247 6811674: Container.setComponentZOrder throws NPE Reviewed-by: art, dcherepanov ! src/share/classes/java/awt/Container.java Changeset: ae27b7949714 Author: dcherepanov Date: 2009-03-04 13:05 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/ae27b7949714 6809227: poor performance on Panel.Add() method in jdk6 Reviewed-by: art, anthony ! make/sun/xawt/mapfile-vers ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java ! src/share/classes/java/awt/peer/ComponentPeer.java ! src/share/classes/java/awt/peer/ContainerPeer.java ! src/share/classes/sun/awt/NullComponentPeer.java ! src/solaris/classes/sun/awt/X11/XComponentPeer.java ! src/solaris/classes/sun/awt/X11/XEmbedChildProxyPeer.java ! src/solaris/classes/sun/awt/X11/XlibWrapper.java ! src/solaris/native/sun/xawt/XlibWrapper.c ! src/windows/classes/sun/awt/windows/WComponentPeer.java ! src/windows/classes/sun/awt/windows/WFileDialogPeer.java ! src/windows/classes/sun/awt/windows/WPrintDialogPeer.java ! src/windows/classes/sun/awt/windows/WScrollPanePeer.java ! src/windows/native/sun/windows/awt_Component.cpp ! src/windows/native/sun/windows/awt_Component.h ! src/windows/native/sun/windows/awt_Panel.cpp ! src/windows/native/sun/windows/awt_Panel.h Changeset: e7205c5dd3b7 Author: art Date: 2009-03-04 18:10 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/e7205c5dd3b7 6784816: Remove AWT tree lock from Container methods: getComponent, getComponents, getComponentCount Reviewed-by: anthony, dav ! src/share/classes/java/awt/Container.java Changeset: 4dc625187820 Author: ant Date: 2009-03-10 18:33 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/4dc625187820 6806217: implement synthetic focus model for MS Windows Reviewed-by: art, dcherepanov ! make/sun/awt/make.depend ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/KeyboardFocusManager.java ! src/share/classes/sun/awt/AWTAccessor.java ! src/share/classes/sun/awt/HeadlessToolkit.java ! src/share/classes/sun/awt/KeyboardFocusManagerPeerImpl.java ! src/share/classes/sun/awt/SunToolkit.java ! src/solaris/classes/sun/awt/X11/XComponentPeer.java ! src/solaris/classes/sun/awt/X11/XEmbedChildProxyPeer.java ! src/solaris/classes/sun/awt/X11/XKeyboardFocusManagerPeer.java ! src/windows/classes/sun/awt/windows/WChoicePeer.java ! src/windows/classes/sun/awt/windows/WComponentPeer.java + src/windows/classes/sun/awt/windows/WKeyboardFocusManagerPeer.java ! src/windows/classes/sun/awt/windows/WToolkit.java ! src/windows/classes/sun/awt/windows/WWindowPeer.java ! src/windows/native/sun/windows/awt_Button.cpp ! src/windows/native/sun/windows/awt_Button.h ! src/windows/native/sun/windows/awt_Canvas.cpp ! src/windows/native/sun/windows/awt_Checkbox.cpp ! src/windows/native/sun/windows/awt_Checkbox.h ! src/windows/native/sun/windows/awt_Choice.cpp ! src/windows/native/sun/windows/awt_Choice.h ! src/windows/native/sun/windows/awt_Component.cpp ! src/windows/native/sun/windows/awt_Component.h ! src/windows/native/sun/windows/awt_Frame.cpp ! src/windows/native/sun/windows/awt_Frame.h ! src/windows/native/sun/windows/awt_KeyboardFocusManager.cpp - src/windows/native/sun/windows/awt_KeyboardFocusManager.h ! src/windows/native/sun/windows/awt_List.cpp ! src/windows/native/sun/windows/awt_List.h ! src/windows/native/sun/windows/awt_PrintDialog.cpp ! src/windows/native/sun/windows/awt_ScrollPane.cpp ! src/windows/native/sun/windows/awt_ScrollPane.h ! src/windows/native/sun/windows/awt_Scrollbar.cpp ! src/windows/native/sun/windows/awt_Scrollbar.h ! src/windows/native/sun/windows/awt_TextArea.cpp ! src/windows/native/sun/windows/awt_TextComponent.cpp ! src/windows/native/sun/windows/awt_TextComponent.h ! src/windows/native/sun/windows/awt_TextField.cpp ! src/windows/native/sun/windows/awt_Window.cpp ! src/windows/native/sun/windows/awt_Window.h ! src/windows/native/sun/windows/awtmsg.h + test/java/awt/Focus/ClearGlobalFocusOwnerTest/ClearGlobalFocusOwnerTest.java ! test/java/awt/Focus/IconifiedFrameFocusChangeTest/IconifiedFrameFocusChangeTest.java + test/java/awt/Focus/RemoveAfterRequest/RemoveAfterRequest.java Changeset: 04b368454df3 Author: ant Date: 2009-03-11 16:11 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/04b368454df3 6815946: regression: failed to build MToolkit Reviewed-by: anthony ! src/share/classes/sun/awt/AWTAccessor.java ! src/solaris/classes/sun/awt/motif/MToolkit.java Changeset: 6df5f5fb5174 Author: dcherepanov Date: 2009-03-13 18:07 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/6df5f5fb5174 6805897: Gap present between the choice and its drop down list in Jdk 7 build for a non resizable frame. Reviewed-by: art, anthony ! src/solaris/classes/sun/awt/X11/XDecoratedPeer.java Changeset: c58f41b4bfbd Author: dcherepanov Date: 2009-03-20 08:41 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/c58f41b4bfbd 6774258: api/java_awt/Component/index.html#PaintUpdate fails randomly Reviewed-by: art ! src/windows/classes/sun/awt/windows/WComponentPeer.java ! src/windows/classes/sun/java2d/d3d/D3DScreenUpdateManager.java + test/java/awt/Component/NoUpdateUponShow/NoUpdateUponShow.java Changeset: 55f02057dc37 Author: dcherepanov Date: 2009-03-23 11:59 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/55f02057dc37 6516404: regression: Choice vertical scrollbar is not seen when the item in the choice is increased more than Reviewed-by: art, dav ! src/windows/native/sun/windows/awt_Choice.cpp Changeset: adaee9531504 Author: dcherepanov Date: 2009-03-23 09:47 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/adaee9531504 6730447: Support for high resolution mouse wheel is still incomplete. AWT panel needs to be supported Reviewed-by: art, dav ! src/windows/native/sun/windows/awt_Component.cpp ! src/windows/native/sun/windows/awt_Component.h + test/java/awt/event/MouseEvent/AWTPanelSmoothWheel/AWTPanelSmoothWheel.html + test/java/awt/event/MouseEvent/AWTPanelSmoothWheel/AWTPanelSmoothWheel.java Changeset: f3ed90be28fc Author: rkennke Date: 2009-03-24 21:57 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/f3ed90be28fc 6809233: Modal dialog blocks calling thread after it is hidden and disposed Summary: Send WakingRunnable to toolkit to prevent early cleanup. Reviewed-by: art, son ! src/share/classes/java/awt/Dialog.java Changeset: a702e8ff83bd Author: anthony Date: 2009-03-25 13:37 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/a702e8ff83bd 6714678: IDE (Netbeans, Eclipse, JDeveloper) Debugger hangs process on Linux Summary: Added the system property sun.awt.disablegrab Reviewed-by: art, dcherepanov ! src/solaris/classes/sun/awt/X11/XBaseWindow.java ! src/solaris/classes/sun/awt/X11/XToolkit.java Changeset: 0cbcc4bdf95a Author: anthony Date: 2009-03-26 14:38 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/0cbcc4bdf95a 6693253: Security Warning appearance requires enhancements 6779717: A Window does not show applet security warning icon on X platforms 6785058: Parent dn't get the focus after dialog is closed if security warning is applied Summary: Forward-port from 6u10-6u14 Reviewed-by: art, dcherepanov ! make/sun/awt/Depend.mak ! make/sun/awt/FILES_c_windows.gmk ! make/sun/awt/README ! make/sun/awt/make.depend ! make/sun/xawt/FILES_c_unix.gmk ! make/sun/xawt/Makefile ! make/sun/xawt/mapfile-vers + src/share/classes/com/sun/awt/SecurityWarning.java ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Window.java ! src/share/classes/java/awt/peer/WindowPeer.java ! src/share/classes/sun/awt/AWTAccessor.java ! src/share/classes/sun/awt/EmbeddedFrame.java + src/solaris/classes/sun/awt/X11/InfoWindow.java ! src/solaris/classes/sun/awt/X11/XDecoratedPeer.java ! src/solaris/classes/sun/awt/X11/XKeyboardFocusManagerPeer.java ! src/solaris/classes/sun/awt/X11/XNETProtocol.java ! src/solaris/classes/sun/awt/X11/XTrayIconPeer.java ! src/solaris/classes/sun/awt/X11/XWM.java ! src/solaris/classes/sun/awt/X11/XWarningWindow.java ! src/solaris/classes/sun/awt/X11/XWindow.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java ! src/solaris/classes/sun/awt/X11/XlibWrapper.java + src/solaris/classes/sun/awt/X11/security-icon-bw16.png + src/solaris/classes/sun/awt/X11/security-icon-bw24.png + src/solaris/classes/sun/awt/X11/security-icon-bw32.png + src/solaris/classes/sun/awt/X11/security-icon-bw48.png + src/solaris/classes/sun/awt/X11/security-icon-interim16.png + src/solaris/classes/sun/awt/X11/security-icon-interim24.png + src/solaris/classes/sun/awt/X11/security-icon-interim32.png + src/solaris/classes/sun/awt/X11/security-icon-interim48.png + src/solaris/classes/sun/awt/X11/security-icon-yellow16.png + src/solaris/classes/sun/awt/X11/security-icon-yellow24.png + src/solaris/classes/sun/awt/X11/security-icon-yellow32.png + src/solaris/classes/sun/awt/X11/security-icon-yellow48.png ! src/solaris/native/sun/awt/utility/rect.h ! src/solaris/native/sun/xawt/XlibWrapper.c ! src/windows/classes/sun/awt/windows/WWindowPeer.java ! src/windows/native/sun/windows/ComCtl32Util.cpp ! src/windows/native/sun/windows/ComCtl32Util.h + src/windows/native/sun/windows/DllUtil.cpp + src/windows/native/sun/windows/DllUtil.h ! src/windows/native/sun/windows/awt.rc ! src/windows/native/sun/windows/awt_Component.cpp ! src/windows/native/sun/windows/awt_Component.h ! src/windows/native/sun/windows/awt_Dialog.cpp ! src/windows/native/sun/windows/awt_Dialog.h ! src/windows/native/sun/windows/awt_Frame.cpp ! src/windows/native/sun/windows/awt_Frame.h ! src/windows/native/sun/windows/awt_Toolkit.cpp ! src/windows/native/sun/windows/awt_Toolkit.h ! src/windows/native/sun/windows/awt_Win32GraphicsEnv.cpp ! src/windows/native/sun/windows/awt_Window.cpp ! src/windows/native/sun/windows/awt_Window.h + src/windows/native/sun/windows/security_warning.ico + src/windows/native/sun/windows/security_warning_bw.ico + src/windows/native/sun/windows/security_warning_int.ico + test/java/awt/Focus/CloseDialogActivateOwnerTest/CloseDialogActivateOwnerTest.java + test/java/awt/Focus/CloseDialogActivateOwnerTest/java.policy + test/java/awt/Focus/OwnedWindowFocusIMECrashTest/OwnedWindowFocusIMECrashTest.java Changeset: abf3b2ecfa06 Author: yan Date: 2009-03-27 12:01 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/abf3b2ecfa06 6680988: KeyEvent is still missing VK values for many keyboards Summary: 2 new methods and some fields added to KeyEvent, plus hash of constants introduced Reviewed-by: art ! make/sun/awt/FILES_export_unix.gmk ! make/sun/awt/FILES_export_windows.gmk ! make/sun/xawt/mapfile-vers ! src/share/classes/java/awt/AWTKeyStroke.java ! src/share/classes/java/awt/MenuItem.java ! src/share/classes/java/awt/MenuShortcut.java ! src/share/classes/java/awt/event/KeyEvent.java ! src/share/classes/javax/swing/AbstractButton.java ! src/share/classes/javax/swing/Action.java ! src/share/classes/javax/swing/JComponent.java ! src/share/classes/javax/swing/JLabel.java ! src/share/classes/javax/swing/JTabbedPane.java ! src/share/classes/javax/swing/KeyStroke.java ! src/share/classes/javax/swing/KeyboardManager.java ! src/share/classes/javax/swing/SwingUtilities.java + src/share/classes/sun/awt/ExtendedKeyCodes.java ! src/solaris/classes/sun/awt/X11/XConstants.java ! src/solaris/classes/sun/awt/X11/XKeysym.java ! src/solaris/classes/sun/awt/X11/XToolkit.java ! src/solaris/classes/sun/awt/X11/XWindow.java ! src/solaris/classes/sun/awt/X11/XlibWrapper.java ! src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java ! src/solaris/classes/sun/awt/X11/generator/xlibtypes.txt ! src/solaris/classes/sun/awt/X11/keysym2ucs.h ! src/solaris/native/sun/xawt/XlibWrapper.c ! src/windows/native/sun/windows/awt_Component.cpp ! src/windows/native/sun/windows/awt_Component.h ! src/windows/native/sun/windows/awt_InputMethod.cpp ! src/windows/native/sun/windows/awt_KeyEvent.cpp ! src/windows/native/sun/windows/awt_KeyEvent.h + test/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.html + test/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.java Changeset: 9d26016be6fa Author: yan Date: 2009-03-30 16:33 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/9d26016be6fa 6823589: Remake sizes.64-solaris-i386 with newly added fields 6782746: Keyboard hotkeys don't work in locales where non latin characters are used 6299348: Zero keycode returned in keyPressed and keyReleased for some keys in non-english layout - Win32 6316369: Provide a method to convert a character to VK_* Java keycode, if possible. 6446568: KeyEvent lacks 3 virtual keys of Danish keyboards 6559449: Support for converting from char to KeyEvent VK_ keycode 6182651: Need to identify any key pressed/released with a unique code Summary: Various by-products of 6680988 fix. Reviewed-by: art ! src/solaris/classes/sun/awt/X11/generator/sizes.64-solaris-i386 Changeset: 3a9ae1117c12 Author: anthony Date: 2009-03-31 18:47 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/3a9ae1117c12 6819601: Fix AWT JTReg tests which fail to compile Summary: Fix compilation of tests. Reviewed-by: anthony, son Contributed-by: Andrew John Hughes ! test/java/awt/Component/isLightweightCrash/StubPeerCrash.java ! test/java/awt/EventQueue/6638195/bug6638195.java Changeset: 1cb2e3e0631f Author: anthony Date: 2009-04-01 19:05 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/1cb2e3e0631f 6818312: com.sun.awt.SecurityWarning.getSize() always reports (0, 0) on X11 Summary: The fix got pushed with 6693253. However the test was omitted. Here it comes. Reviewed-by: dcherepanov, art + test/com/sun/awt/SecurityWarning/GetSizeShouldNotReturnZero.java Changeset: c5f1721eebb2 Author: lana Date: 2009-04-09 13:12 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/c5f1721eebb2 Merge ! make/sun/awt/Makefile ! make/sun/xawt/mapfile-vers ! src/windows/native/sun/windows/awt.rc - src/windows/native/sun/windows/awt_KeyboardFocusManager.h Changeset: 73f0e751b669 Author: dcherepanov Date: 2009-04-13 15:22 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/73f0e751b669 6829326: Getting java.lang.NullPointerException: null pData while opening a File,Print,Page Dialog in Win Reviewed-by: art, yan ! src/windows/classes/sun/awt/windows/WFileDialogPeer.java ! src/windows/classes/sun/awt/windows/WPrintDialogPeer.java Changeset: 6a789813407d Author: lana Date: 2009-04-13 15:33 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/6a789813407d Merge Changeset: a5746eca3686 Author: lana Date: 2009-04-13 22:34 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/a5746eca3686 Merge - src/windows/native/sun/windows/awt_KeyboardFocusManager.h Changeset: 442b563e57c6 Author: peterz Date: 2009-02-04 18:48 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/442b563e57c6 6588003: LayoutQueue shares mutable implementation across AppContexts Summary: DefaultQueue property is made per-AppContext Reviewed-by: alexp ! src/share/classes/javax/swing/text/LayoutQueue.java + test/javax/swing/text/LayoutQueue/Test6588003.java Changeset: 62a84e564a8c Author: malenkov Date: 2009-02-05 14:48 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/62a84e564a8c 4769844: classes in java.beans that are serializable but don't define serialVersionUID Reviewed-by: peterz, rupashka ! src/share/classes/java/beans/IndexedPropertyChangeEvent.java ! src/share/classes/java/beans/IntrospectionException.java ! src/share/classes/java/beans/PropertyChangeEvent.java ! src/share/classes/java/beans/PropertyVetoException.java ! src/share/classes/java/beans/beancontext/BeanContextEvent.java ! src/share/classes/java/beans/beancontext/BeanContextMembershipEvent.java ! src/share/classes/java/beans/beancontext/BeanContextServiceAvailableEvent.java ! src/share/classes/java/beans/beancontext/BeanContextServiceRevokedEvent.java ! src/share/classes/java/beans/beancontext/BeanContextServicesSupport.java ! src/share/classes/sun/beans/editors/ColorEditor.java ! src/share/classes/sun/beans/editors/FontEditor.java Changeset: 27dabbdfdcac Author: malenkov Date: 2009-02-05 17:00 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/27dabbdfdcac 6669869: Beans.isDesignTime() and other queries should be per-AppContext Reviewed-by: peterz, rupashka ! src/share/classes/java/beans/Beans.java + test/java/beans/Beans/6669869/TestDesignTime.java + test/java/beans/Beans/6669869/TestGuiAvailable.java Changeset: 0960e96d0de8 Author: peterz Date: 2009-02-05 19:16 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/0960e96d0de8 6801769: 6588003 should be backed out from jdk7 Reviewed-by: alexp ! src/share/classes/javax/swing/text/LayoutQueue.java Changeset: 794e786306c1 Author: art Date: 2009-02-12 14:19 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/794e786306c1 6799345: JFC demos threw exception in the Java Console when applets are closed Reviewed-by: alexp, peterz ! src/share/classes/javax/swing/SwingWorker.java ! src/share/classes/javax/swing/TimerQueue.java + test/javax/swing/system/6799345/TestShutdown.java Changeset: 6b77fbb7e33e Author: lana Date: 2009-02-23 11:16 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/6b77fbb7e33e Merge - src/share/classes/com/sun/jmx/namespace/JMXNamespaceUtils.java ! src/share/classes/javax/swing/TimerQueue.java ! src/share/classes/javax/swing/text/LayoutQueue.java - src/share/classes/org/jcp/xml/dsig/internal/package.html - src/share/classes/sun/launcher/LauncherHelp.java - src/share/classes/sun/nio/cs/IBM437.java - src/share/classes/sun/nio/cs/IBM737.java - src/share/classes/sun/nio/cs/IBM775.java - src/share/classes/sun/nio/cs/IBM850.java - src/share/classes/sun/nio/cs/IBM852.java - src/share/classes/sun/nio/cs/IBM855.java - src/share/classes/sun/nio/cs/IBM857.java - src/share/classes/sun/nio/cs/IBM858.java - src/share/classes/sun/nio/cs/IBM862.java - src/share/classes/sun/nio/cs/IBM866.java - src/share/classes/sun/nio/cs/IBM874.java - src/share/classes/sun/nio/cs/ISO_8859_13.java - src/share/classes/sun/nio/cs/ISO_8859_15.java - src/share/classes/sun/nio/cs/ISO_8859_2.java - src/share/classes/sun/nio/cs/ISO_8859_4.java - src/share/classes/sun/nio/cs/ISO_8859_5.java - src/share/classes/sun/nio/cs/ISO_8859_7.java - src/share/classes/sun/nio/cs/ISO_8859_9.java - src/share/classes/sun/nio/cs/KOI8_R.java - src/share/classes/sun/nio/cs/KOI8_U.java - src/share/classes/sun/nio/cs/MS1250.java - src/share/classes/sun/nio/cs/MS1251.java - src/share/classes/sun/nio/cs/MS1252.java - src/share/classes/sun/nio/cs/MS1253.java - src/share/classes/sun/nio/cs/MS1254.java - src/share/classes/sun/nio/cs/MS1257.java - src/share/classes/sun/nio/cs/ext/IBM037.java - src/share/classes/sun/nio/cs/ext/IBM1006.java - src/share/classes/sun/nio/cs/ext/IBM1025.java - src/share/classes/sun/nio/cs/ext/IBM1026.java - src/share/classes/sun/nio/cs/ext/IBM1046.java - src/share/classes/sun/nio/cs/ext/IBM1047.java - src/share/classes/sun/nio/cs/ext/IBM1097.java - src/share/classes/sun/nio/cs/ext/IBM1098.java - src/share/classes/sun/nio/cs/ext/IBM1112.java - src/share/classes/sun/nio/cs/ext/IBM1122.java - src/share/classes/sun/nio/cs/ext/IBM1123.java - src/share/classes/sun/nio/cs/ext/IBM1124.java - src/share/classes/sun/nio/cs/ext/IBM1140.java - src/share/classes/sun/nio/cs/ext/IBM1141.java - src/share/classes/sun/nio/cs/ext/IBM1142.java - src/share/classes/sun/nio/cs/ext/IBM1143.java - src/share/classes/sun/nio/cs/ext/IBM1144.java - src/share/classes/sun/nio/cs/ext/IBM1145.java - src/share/classes/sun/nio/cs/ext/IBM1146.java - src/share/classes/sun/nio/cs/ext/IBM1147.java - src/share/classes/sun/nio/cs/ext/IBM1148.java - src/share/classes/sun/nio/cs/ext/IBM1149.java - src/share/classes/sun/nio/cs/ext/IBM273.java - src/share/classes/sun/nio/cs/ext/IBM277.java - src/share/classes/sun/nio/cs/ext/IBM278.java - src/share/classes/sun/nio/cs/ext/IBM280.java - src/share/classes/sun/nio/cs/ext/IBM284.java - src/share/classes/sun/nio/cs/ext/IBM285.java - src/share/classes/sun/nio/cs/ext/IBM297.java - src/share/classes/sun/nio/cs/ext/IBM420.java - src/share/classes/sun/nio/cs/ext/IBM424.java - src/share/classes/sun/nio/cs/ext/IBM500.java - src/share/classes/sun/nio/cs/ext/IBM838.java - src/share/classes/sun/nio/cs/ext/IBM856.java - src/share/classes/sun/nio/cs/ext/IBM860.java - src/share/classes/sun/nio/cs/ext/IBM861.java - src/share/classes/sun/nio/cs/ext/IBM863.java - src/share/classes/sun/nio/cs/ext/IBM864.java - src/share/classes/sun/nio/cs/ext/IBM865.java - src/share/classes/sun/nio/cs/ext/IBM868.java - src/share/classes/sun/nio/cs/ext/IBM869.java - src/share/classes/sun/nio/cs/ext/IBM870.java - src/share/classes/sun/nio/cs/ext/IBM871.java - src/share/classes/sun/nio/cs/ext/IBM875.java - src/share/classes/sun/nio/cs/ext/IBM918.java - src/share/classes/sun/nio/cs/ext/IBM921.java - src/share/classes/sun/nio/cs/ext/IBM922.java - src/share/classes/sun/nio/cs/ext/ISO_8859_11.java - src/share/classes/sun/nio/cs/ext/ISO_8859_3.java - src/share/classes/sun/nio/cs/ext/ISO_8859_6.java - src/share/classes/sun/nio/cs/ext/ISO_8859_8.java - src/share/classes/sun/nio/cs/ext/MS1255.java - src/share/classes/sun/nio/cs/ext/MS1256.java - src/share/classes/sun/nio/cs/ext/MS1258.java - src/share/classes/sun/nio/cs/ext/MS874.java - src/share/classes/sun/nio/cs/ext/MacArabic.java - src/share/classes/sun/nio/cs/ext/MacCentralEurope.java - src/share/classes/sun/nio/cs/ext/MacCroatian.java - src/share/classes/sun/nio/cs/ext/MacCyrillic.java - src/share/classes/sun/nio/cs/ext/MacDingbat.java - src/share/classes/sun/nio/cs/ext/MacGreek.java - src/share/classes/sun/nio/cs/ext/MacHebrew.java - src/share/classes/sun/nio/cs/ext/MacIceland.java - src/share/classes/sun/nio/cs/ext/MacRoman.java - src/share/classes/sun/nio/cs/ext/MacRomania.java - src/share/classes/sun/nio/cs/ext/MacSymbol.java - src/share/classes/sun/nio/cs/ext/MacThai.java - src/share/classes/sun/nio/cs/ext/MacTurkish.java - src/share/classes/sun/nio/cs/ext/MacUkraine.java - src/share/classes/sun/nio/cs/ext/TIS_620.java - src/windows/native/sun/windows/UnicowsLoader.cpp - src/windows/native/sun/windows/UnicowsLoader.h - src/windows/native/sun/windows/awt_MMStub.cpp - src/windows/native/sun/windows/awt_MMStub.h - src/windows/native/sun/windows/awt_Multimon.h - src/windows/native/sun/windows/awt_Unicode.cpp - src/windows/native/sun/windows/awt_Unicode.h - src/windows/native/sun/windows/awt_dlls.cpp - src/windows/native/sun/windows/awt_dlls.h - test/sun/net/www/http/ChunkedInputStream/test.txt - test/tools/launcher/Arrrghs.sh Changeset: c466ef3f1ea0 Author: peterz Date: 2009-02-24 19:17 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/c466ef3f1ea0 6804221: Three tests for JTabbedPane produce VM crash on rhel3 Reviewed-by: stayer, campbell ! src/solaris/native/sun/awt/gtk2_interface.c Changeset: 02b64d5fad60 Author: rupashka Date: 2009-02-26 11:44 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/02b64d5fad60 6794831: Infinite loop while painting ticks on Slider with maximum=MAX_INT Reviewed-by: malenkov ! src/share/classes/javax/swing/plaf/basic/BasicSliderUI.java + test/javax/swing/JSlider/6794831/bug6794831.java Changeset: 51148b9aed43 Author: rupashka Date: 2009-03-12 14:00 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/51148b9aed43 6491795: COM should be initialized for Shell API calls in ShellFolder2.cpp Reviewed-by: peterz, loneid ! src/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java ! src/share/classes/sun/awt/shell/ShellFolder.java ! src/share/classes/sun/awt/shell/ShellFolderManager.java ! src/share/classes/sun/swing/FilePane.java ! src/windows/classes/sun/awt/shell/Win32ShellFolder2.java ! src/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java ! src/windows/native/sun/windows/ShellFolder2.cpp + test/javax/swing/JFileChooser/6570445/bug6570445.java Changeset: 4f7dd74de2e3 Author: peterz Date: 2009-03-13 19:25 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/4f7dd74de2e3 6815767: Bad parameter when calling another method in the class SynthTabbedPaneUI Reviewed-by: alexp, rupashka ! src/share/classes/javax/swing/plaf/synth/SynthTabbedPaneUI.java Changeset: 540c7f47aadf Author: rupashka Date: 2009-03-17 16:06 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/540c7f47aadf 6738668: JFileChooser cannot be created under SecurityManager Reviewed-by: peterz ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java ! src/share/classes/javax/swing/plaf/metal/MetalFileChooserUI.java ! src/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java + test/javax/swing/JFileChooser/6738668/bug6738668.java + test/javax/swing/JFileChooser/6738668/security.policy Changeset: 4bf886c9df34 Author: peterz Date: 2009-03-23 14:09 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/4bf886c9df34 6653395: Default LAF is set to CrossPlatformLookAndFeel not SystemLookAndFeel Summary: Swing now checks AppContext properties to determine default LAF name. This is needed for plugin to be able to set default LAF w/o loading Swing classes. Reviewed-by: alexp, loneid ! src/share/classes/javax/swing/UIManager.java Changeset: 652e05578a7e Author: peterz Date: 2009-03-23 16:41 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/652e05578a7e 4783068: Components with HTML text should gray out the text when disabled Summary: Views fixed to use different colors when container is disabled Reviewed-by: gsm, rupashka ! src/share/classes/javax/swing/text/GlyphView.java ! src/share/classes/javax/swing/text/html/ImageView.java ! src/share/classes/javax/swing/text/html/StyleSheet.java + test/javax/swing/text/html/Test4783068.java Changeset: b8d8ec2dac68 Author: rupashka Date: 2009-03-26 11:04 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/b8d8ec2dac68 6798062: Memory Leak on using getFiles of FileSystemView Reviewed-by: peterz, malenkov ! src/windows/native/sun/windows/ShellFolder2.cpp + test/javax/swing/JFileChooser/6798062/bug6798062.html + test/javax/swing/JFileChooser/6798062/bug6798062.java Changeset: ce3262ac93fa Author: peterz Date: 2009-04-06 13:06 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/ce3262ac93fa 6635110: GTK problem when testing Sun Studio IDE on snv_77 with jdk1.6 using Gnome window manager Summary: GTKIconFactory icons should protect against null context passed in Reviewed-by: rupashka ! src/share/classes/com/sun/java/swing/plaf/gtk/GTKIconFactory.java + test/com/sun/java/swing/plaf/gtk/Test6635110.java Changeset: be3afc0e5775 Author: peterz Date: 2009-04-07 12:40 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/be3afc0e5775 6740974: api/javax_swing/PopupFactory/index.html#Ctor[PopupFactory2002] fails with NPE Reviewed-by: malenkov ! src/share/classes/javax/swing/PopupFactory.java Changeset: 1729e34a0287 Author: peytoia Date: 2009-04-10 11:51 +0900 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/1729e34a0287 6404304: RFE: Unicode 5.1 support Reviewed-by: okutsu, naoto ! make/java/text/FILES_java.gmk ! make/java/text/Makefile ! make/tools/GenerateCharacter/CharacterData00.java.template ! make/tools/GenerateCharacter/CharacterData01.java.template ! make/tools/UnicodeData/SpecialCasing.txt ! make/tools/UnicodeData/UnicodeData.txt + make/tools/UnicodeData/VERSION ! src/share/classes/java/lang/Character.java ! src/share/classes/java/lang/ConditionalSpecialCasing.java ! src/share/classes/java/lang/String.java ! src/share/classes/sun/text/normalizer/CharTrie.java ! src/share/classes/sun/text/normalizer/NormalizerBase.java ! src/share/classes/sun/text/normalizer/NormalizerDataReader.java ! src/share/classes/sun/text/normalizer/NormalizerImpl.java ! src/share/classes/sun/text/normalizer/Trie.java ! src/share/classes/sun/text/normalizer/TrieIterator.java + src/share/classes/sun/text/normalizer/UBiDiProps.java ! src/share/classes/sun/text/normalizer/UCharacter.java ! src/share/classes/sun/text/normalizer/UCharacterProperty.java ! src/share/classes/sun/text/normalizer/UCharacterPropertyReader.java - src/share/classes/sun/text/normalizer/UProperty.java ! src/share/classes/sun/text/normalizer/UTF16.java ! src/share/classes/sun/text/normalizer/UnicodeSet.java ! src/share/classes/sun/text/normalizer/UnicodeSetIterator.java ! src/share/classes/sun/text/normalizer/Utility.java ! src/share/classes/sun/text/normalizer/VersionInfo.java + src/share/classes/sun/text/resources/ubidi.icu ! src/share/classes/sun/text/resources/unorm.icu ! src/share/classes/sun/text/resources/uprops.icu ! test/java/lang/String/ToLowerCase.java Changeset: a54c407c4da3 Author: lana Date: 2009-04-09 20:34 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/a54c407c4da3 Merge - src/share/classes/sun/text/normalizer/UProperty.java Changeset: 2cdf54e6e74c Author: lana Date: 2009-04-14 00:05 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/2cdf54e6e74c Merge - src/share/classes/sun/text/normalizer/UProperty.java Changeset: 522bb5aa17e0 Author: lana Date: 2009-04-14 04:21 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/522bb5aa17e0 Merge - src/windows/native/sun/windows/awt_KeyboardFocusManager.h Changeset: 65095f13b7c4 Author: xdono Date: 2009-04-16 11:22 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/65095f13b7c4 Added tag jdk7-b55 for changeset 522bb5aa17e0 ! .hgtags From john.coomes at sun.com Thu Apr 16 21:34:31 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 17 Apr 2009 04:34:31 +0000 Subject: hg: jdk7/hotspot/langtools: 12 new changesets Message-ID: <20090417043452.2A35FEE2F@hg.openjdk.java.net> Changeset: 5caa6c45936a Author: mcimadamore Date: 2009-03-25 10:28 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/5caa6c45936a 6182950: methods clash algorithm should not depend on return type Summary: fixed code that checks for duplicate method declarations Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/generics/6182950/T6182950a.java + test/tools/javac/generics/6182950/T6182950a.out + test/tools/javac/generics/6182950/T6182950b.java + test/tools/javac/generics/6182950/T6182950b.out + test/tools/javac/generics/6182950/T6182950c.java Changeset: 6ce39250fa88 Author: mcimadamore Date: 2009-03-25 10:28 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/6ce39250fa88 6816548: Uninitialized register when performing casting + auto(un)boxing Summary: Constant value of final variable is lost during lowering Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Lower.java + test/tools/javac/boxing/T6816548.java Changeset: 1ee128971f5d Author: mcimadamore Date: 2009-03-25 10:29 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/1ee128971f5d 6400189: raw types and inference Summary: Fixed resolution problem with raw overriding (CCC) Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Resolve.java + test/tools/javac/OverrideChecks/6400189/T6400189a.java + test/tools/javac/OverrideChecks/6400189/T6400189a.out + test/tools/javac/OverrideChecks/6400189/T6400189b.java + test/tools/javac/OverrideChecks/6400189/T6400189b.out + test/tools/javac/OverrideChecks/6400189/T6400189c.java + test/tools/javac/OverrideChecks/6400189/T6400189d.java Changeset: 07da2ffbb76b Author: jjg Date: 2009-03-30 15:08 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/07da2ffbb76b 6819246: improve support for decoding instructions in classfile library Reviewed-by: ksrini ! src/share/classes/com/sun/tools/classfile/Code_attribute.java + src/share/classes/com/sun/tools/classfile/Instruction.java - src/share/classes/com/sun/tools/classfile/OpCodes.java + src/share/classes/com/sun/tools/classfile/Opcode.java ! src/share/classes/com/sun/tools/javap/CodeWriter.java Changeset: 89f67512b635 Author: jjg Date: 2009-03-31 11:07 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/89f67512b635 6817950: refactor ClassReader to improve attribute handling Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/jvm/ClassFile.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java Changeset: af10262bd031 Author: jjg Date: 2009-03-31 11:16 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/af10262bd031 6813059: replace use of JavaCompiler.errorCount with shouldContinue Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java + test/tools/javac/policy/test3/A.java + test/tools/javac/policy/test3/Test.java Changeset: 3e4038edfcb7 Author: tbell Date: 2009-04-03 10:29 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/3e4038edfcb7 Merge - src/share/classes/com/sun/tools/classfile/OpCodes.java Changeset: 143956db282e Author: tbell Date: 2009-04-10 15:31 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/143956db282e Merge Changeset: 247468a1454b Author: dcherepanov Date: 2009-04-07 10:27 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/247468a1454b 6663040: Using com.sun.awt.AWTUtilities do not give warning while compilation Reviewed-by: yan, anthony ! src/share/classes/com/sun/tools/javac/resources/legacy.properties Changeset: 45be79d8d317 Author: lana Date: 2009-04-09 13:13 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/45be79d8d317 Merge Changeset: 7394a8694ced Author: lana Date: 2009-04-13 22:35 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/7394a8694ced Merge Changeset: 825f23a4f262 Author: xdono Date: 2009-04-16 11:23 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/825f23a4f262 Added tag jdk7-b55 for changeset 7394a8694ced ! .hgtags From Christian.Thalinger at Sun.COM Fri Apr 17 05:52:30 2009 From: Christian.Thalinger at Sun.COM (Christian Thalinger) Date: Fri, 17 Apr 2009 14:52:30 +0200 Subject: Atomic::cmpxchg_ptr code duplication In-Reply-To: <49D78EE6.9030601@sun.com> References: <18897.18928.581609.852433@sun.com> <1238653402.3168.37.camel@localhost.localdomain> <1238676758.3168.62.camel@localhost.localdomain> <18901.10161.245699.639464@sun.com> <1238706327.3168.71.camel@localhost.localdomain> <49D52EF9.5050702@sun.com> <1238853066.11024.54.camel@localhost.localdomain> <49D78EE6.9030601@sun.com> Message-ID: <1239972750.23364.19.camel@localhost.localdomain> On Sat, 2009-04-04 at 12:46 -0400, Paul Hohensee wrote: > Look for the asm code they should generate. E.g., cmpxchg instruction. > Check the C++ source code of the method they supposed to be compiled into. I think it would be possible to inspect object files with nm and to see if they have references to these methods. But I don't know how to do that on Windows. I guess we can rely on newer compilers to not have an inlining-depth limit. I found such limits but only for recursive calls. -- Christian From lsliu0507 at gmail.com Fri Apr 17 06:59:11 2009 From: lsliu0507 at gmail.com (lianshun Liu) Date: Fri, 17 Apr 2009 21:59:11 +0800 Subject: building problems about hotspot Message-ID: <77948F80F6964812A57C0DF7A74FCBAE@AAA> Hello, I build hotspot under Cygwin+VS2008, the following are the environment variables I set: _________________________________________________________ set PATH=C:\Progra~1\MSVC9\VC\bin;c:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem set ANT_Home=C:/Progra~1/apache-ant-1.7.1 set ALT_BOOTDIR=C:/Progra~1/Java/jdk1.6.0 set ALT_BINARY_PLUGS_PATH=C:/Progra~1/JDK7/Plug/openjdk-binary-plugs set ALT_JDK_IMPORT_PATH=E:/OpenJDK/openjdk/build/windows-i586/j2sdk-image set ALT_DXSDK_PATH=C:/Progra~1/DXSDK set VC=C:/Progra~1/MSVC9 set ALT_COMPILER_PATH=%VC%/VC/bin set ALT_MSDEVTOOLS_PATH=C:/PROGRA~1/MI2578~1/Windows/v6.0A/bin set ALT_MSVCR90_DLL_PATH=%VC%/VC/redist/x86/Microsoft.VC90.CRT set ALT_MSVCRNN_DLL_PATH=%VC%/VC/redist/x86/Microsoft.VC90.CRT set ALT_FREETYPE_LIB_PATH=C:/Progra~1/Freetype/lib set ALT_FREETYPE_HEADERS_PATH=C:/Progra~1/Freetype/include rem I set CC_INTERP=true to use C++-interpreter, is it right? set CC_INTERP=true call C:\Progra~1\MSVC9\Common7\Tools\vsvars32.bat bash ________________________________________________________ then, I use "make" command to build hotspot. In order to build the C++-interpreter, not template-interpreter, I set CC_INTERP=true. But it didn't work. Is there anything wrong? Or how can I do? Thanks a lot. Best wishes Lianshun Liu -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20090417/71e1218b/attachment.html From thomas.rodriguez at sun.com Fri Apr 17 20:46:11 2009 From: thomas.rodriguez at sun.com (thomas.rodriguez at sun.com) Date: Sat, 18 Apr 2009 03:46:11 +0000 Subject: hg: jdk7/hotspot/hotspot: 6831604: missing null check in guarantee Message-ID: <20090418034616.D6570E13B@hg.openjdk.java.net> Changeset: 981375ca07b7 Author: never Date: 2009-04-17 12:22 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/981375ca07b7 6831604: missing null check in guarantee Reviewed-by: kvn ! src/share/vm/memory/dump.cpp From lsliu0507 at gmail.com Fri Apr 17 21:04:58 2009 From: lsliu0507 at gmail.com (lianshun Liu) Date: Sat, 18 Apr 2009 12:04:58 +0800 Subject: c++ interpreter on Windows Message-ID: Hi, Recently I am doing some experiment with the c++ interpreter. I bulid hotspot on Windows 32-bit, use VS2008 as the compiler. Before starting to make, I add "/D CC_INTERP" to CPP_FLAGS which locates at hotspot\make\windows\makefiles\compile.make. After setting the environment as follows: ----------------------------------------------------------------------------------- set PATH=C:\Progra~1\MSVC9\VC\bin;c:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem set ANT_Home=C:/Progra~1/apache-ant-1.7.1 set ALT_BOOTDIR=C:/Progra~1/Java/jdk1.6.0 set ALT_BINARY_PLUGS_PATH=C:/Progra~1/JDK7/Plug/openjdk-binary-plugs set ALT_DXSDK_PATH=C:/Progra~1/DXSDK set VC=C:/Progra~1/MSVC9 set ALT_COMPILER_PATH=%VC%/VC/bin set ALT_MSDEVTOOLS_PATH=C:/PROGRA~1/MI2578~1/Windows/v6.0A/bin set ALT_MSVCR90_DLL_PATH=%VC%/VC/redist/x86/Microsoft.VC90.CRT set ALT_MSVCRNN_DLL_PATH=%VC%/VC/redist/x86/Microsoft.VC90.CRT set ALT_FREETYPE_LIB_PATH=C:/Progra~1/Freetype/lib set ALT_FREETYPE_HEADERS_PATH=C:/Progra~1/Freetype/include call C:\Progra~1\MSVC9\Common7\Tools\vsvars32.bat bash ----------------------------------------------------------------------------------- I start the make. Nearly 40 minutes later, hotspot was successfully built. Then I copy hotspot\build\windows\export-windows-i586\jre\bin\client\jvm.dll to openjdk\build\windows-i586\j2sdk-image\jre\bin\client, and start the java -version, the following error occurs: --------------------------------------------------------------------- E:\openjdk\build\windows-i586\j2sdk-image\jre\bin>java -version Error occurred during initialization of VM java.lang.ExceptionInInitializerError at java.lang.System.initializeSystemClass(System.java:1107) Caused by: java.lang.ArrayIndexOutOfBoundsException: 85 at java.util.Properties.(Properties.java:1109) at java.lang.System.initializeSystemClass(System.java:1107) --------------------------------------------------------------------- So, I want to know that is it possible to use c++ interpreter on IA32? If so, what else to be done? If not, where is the bytecode interpreted in template interpreter, I know in c++ interpreter, bytecode is executed in bytecodeInterpreter::run(). Thanks a lot. Best regards Lianshun Liu -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20090418/eb15466a/attachment.html From jeff at cooljeff.co.uk Sat Apr 18 09:32:35 2009 From: jeff at cooljeff.co.uk (Jeffrey Sinclair) Date: Sat, 18 Apr 2009 17:32:35 +0100 Subject: invokevirtual on package private override in different classloader In-Reply-To: References: <1239417256.6194.53.camel@Lini> <49E4E45E.2020508@sun.com> <1239744795.6111.32.camel@Lini> Message-ID: <1240072355.6002.2.camel@Lini> Karen, Please find attached a zip file which packages the example up with a build script that uses javac and a plain old run script. Simply run build.sh followed by run.sh (assumes that javac and java are on the PATH). Regards, Jeff On Thu, 2009-04-16 at 17:42 -0400, Karen Kinnear wrote: > Jeff, > > Thank you for sending me this information. I have a theory, but I > would be much more comfortable running the test first. I have > experimented > with this, but I'd feel much more comfortable duplicating your results. > > I do appreciate you offering to package this up using plain old javac/ > and > a run script - I don't have Eclipse installed and much as I've heard it > is a great product, I don't have the cycles to do that in the near > future. > > thanks so much, > Karen > > On Apr 14, 2009, at 5:33 PM, Jeffrey Sinclair wrote: > > > Karen, > > > > Thanks for getting back to me. > > > > I was using 1.6.0_10 and have now tried 1.6.0_13 and get the same > > result. Specifically I've tried the following versions: > > > > java version "1.6.0_10" > > Java(TM) SE Runtime Environment (build 1.6.0_10-b33) > > Java HotSpot(TM) 64-Bit Server VM (build 11.0-b15, mixed mode) > > > > java version "1.6.0_13" > > Java(TM) SE Runtime Environment (build 1.6.0_13-b03) > > Java HotSpot(TM) 64-Bit Server VM (build 11.3-b02, mixed mode) > > > > I've attached my source as Eclipse projects. The URL in the main > > method > > points to the class files generated by the project with the > > CustomSquare. I've also added some debug info relating to which class > > loader is being used to load the Square, Printer and Custom Square > > respectively: > > > > Printer loaded by classloader: sun.misc.Launcher > > $AppClassLoader at 553f5d07 > > Square loaded by classloader: java.net.URLClassLoader at 3ae48e1b > > CustomSquare loaded by classloader: java.net.URLClassLoader at 3ae48e1b > > Red > > > > I still get Red. The key point is that the CustomSquare is not visible > > at all to the Printer code. If I stick the CustomSquare in the same > > project as Printer it will then be loaded by the AppClassLoader and I > > get blue. However when it is in a completely separate project and > > loaded > > via the URLClassLoader (and Printer loaded via the AppClassLoader) I > > always get Red. If I then change getColour() to be public in both > > Square > > and CustomSquare I get blue. > > > > This is completely baffling me. I may be doing something really silly > > but I can't see it :) > > > > Let me know if you can't replicate the issue with the attached Eclipse > > project and I'll try to package it up using plain old javac and a run > > script. > > > > Even if you do get blue with the different ClassLoaders for Printer > > and > > CustomSquare, I would probably argue that this is incorrect but I have > > to admit that this argument could be because I've misunderstood the > > meaning of 'runtime package' in terms of package private accessibility > > in the JVM spec. > > > > Jeff > > > > On Tue, 2009-04-14 at 15:30 -0400, Karen Kinnear wrote: > >> Jeff, > >> > >> Perhaps you can help me duplicate the problem. > >> > >> First - what does java -version say? > >> > >> I took the source code appended, and modified the URL setting, > >> which I believe should just give me your second example, i.e. > >> CustomSquare instantiated in a different ClassLoader than Printer. > >> > >> When I run this with Sun's 1.6 or recent 1.7 I get "blue". > >> > >> What did we do differently? > >> > >> thanks, > >> Karen > >> > >> Jeffrey Sinclair wrote: > >>> hotspot-dev, > >>> > >>> I've been struggling to understand why HotSpot does not throw an > >>> IllegalAccessError when a call is made to an override of a package > >>> private method on an instance loaded by a different class loader. > >>> I was > >>> hoping someone could explain to me in technical detail where I'm > >>> going > >>> wrong because it appears to be a bug. > >>> > >>> (all source code is pasted at the end of the mail) > >>> > >>> I have a class called Square with a package private method named > >>> getColour() which returns 'red'. I have a subclass of Square called > >>> CustomSquare which overrides getColour() to return 'blue'. I have > >>> another class called Printer which simply prints out getColour() > >>> for the > >>> Square passed to it. I then have two test cases: > >>> > >>> * Printer.print(Square) is called with a CustomSquare > >>> instantiated in > >>> the same ClassLoader as Printer. > >>> * Printer.print(Square) is called with a CustomSquare > >>> instantiated in > >>> a different ClassLoader as Printer. > >>> > >>> What I find is that I get 'blue' in the first test (as expected) and > >>> 'red' in the second test (not expected). > >>> > >>>> From the Access Control constraints in the Linking section of the > >>>> JVM > >>> specification (5.4.4), I as expecting an IllegalAccessError to be > >>> thrown > >>> because it states that a package private method is accessible to a > >>> class > >>> if it is declared by a class in the same runtime package. > >>> > >>> My understanding is that Printer is not in the same runtime > >>> package as > >>> CustomSquare which explains why my override does not kick in, but it > >>> does not explain why an IllegalAccessError is not thrown. > >>> > >>> I was wondering if someone could explain the behaviour to me. > >>> > >>> Regards, > >>> > >>> Jeff > >>> > >>> The source code: > >>> > >>> public class Main { > >>> public static void main(String[] args) throws Exception { > >>> URL[] urls = new URL[]{new URL("path/to/CustomSquare")}; > >>> URLClassLoader loader = new URLClassLoader(urls); > >>> Class clazz = > >>> loader.loadClass("uk.co.cooljeff.visibility.CustomSquare"); > >>> Printer printer = new Printer(); > >>> printer.print((Square)clazz.newInstance()); // 'red' gets printed > >>> } > >>> } > >>> > >>> package uk.co.cooljeff.visibility; > >>> > >>> public class Printer { > >>> public void print(Square square) { > >>> System.out.println(square.getColour()); > >>> } > >>> } > >>> > >>> package uk.co.cooljeff.visibility; > >>> > >>> public class CustomSquare extends Square { > >>> public CustomSquare() { > >>> super(5); > >>> } > >>> > >>> @Override > >>> public String getColour() { > >>> return "blue"; > >>> } > >>> } > >>> > >>> package uk.co.cooljeff.visibility; > >>> > >>> public class Square { > >>> private float length; > >>> > >>> public Square(float length) { > >>> this.length = length; > >>> } > >>> > >>> public float calculateArea() { > >>> return length * length; > >>> } > >>> > >>> String getColour() { > >>> return "red"; > >>> } > >>> } > >>> > >> > > > -------------- next part -------------- A non-text attachment was scrubbed... Name: PackagePrivateIssue.zip Type: application/zip Size: 17900 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20090418/6517368f/attachment.zip From jeff at cooljeff.co.uk Sat Apr 18 10:07:52 2009 From: jeff at cooljeff.co.uk (Jeffrey Sinclair) Date: Sat, 18 Apr 2009 18:07:52 +0100 Subject: invokevirtual on package private override in different classloader In-Reply-To: <1240072355.6002.2.camel@Lini> References: <1239417256.6194.53.camel@Lini> <49E4E45E.2020508@sun.com> <1239744795.6111.32.camel@Lini> <1240072355.6002.2.camel@Lini> Message-ID: <1240074472.6002.5.camel@Lini> Karen, Just to say that there is one slight bug in my reproduction (although the result of 'Red' stays the same). My debug statements for which class loader the class was loaded from is incorrect, they are done in the constructor when they should have been done in a static block in the class. i.e. public class Square { static { System.out.println("Square loaded by classloader: " + Square.class.getClassLoader()); } This will give the output: Printer loaded by classloader: sun.misc.Launcher$AppClassLoader at 553f5d07 Square loaded by classloader: sun.misc.Launcher$AppClassLoader at 553f5d07 CustomSquare loaded by classloader: java.net.URLClassLoader at 3ae48e1b Red Which is still unexpected since I'm getting 'Red'. Regards, Jeff On Sat, 2009-04-18 at 17:32 +0100, Jeffrey Sinclair wrote: > Karen, > > Please find attached a zip file which packages the example up with a > build script that uses javac and a plain old run script. > > Simply run build.sh followed by run.sh (assumes that javac and java are > on the PATH). > > Regards, > > Jeff > > On Thu, 2009-04-16 at 17:42 -0400, Karen Kinnear wrote: > > Jeff, > > > > Thank you for sending me this information. I have a theory, but I > > would be much more comfortable running the test first. I have > > experimented > > with this, but I'd feel much more comfortable duplicating your results. > > > > I do appreciate you offering to package this up using plain old javac/ > > and > > a run script - I don't have Eclipse installed and much as I've heard it > > is a great product, I don't have the cycles to do that in the near > > future. > > > > thanks so much, > > Karen > > > > On Apr 14, 2009, at 5:33 PM, Jeffrey Sinclair wrote: > > > > > Karen, > > > > > > Thanks for getting back to me. > > > > > > I was using 1.6.0_10 and have now tried 1.6.0_13 and get the same > > > result. Specifically I've tried the following versions: > > > > > > java version "1.6.0_10" > > > Java(TM) SE Runtime Environment (build 1.6.0_10-b33) > > > Java HotSpot(TM) 64-Bit Server VM (build 11.0-b15, mixed mode) > > > > > > java version "1.6.0_13" > > > Java(TM) SE Runtime Environment (build 1.6.0_13-b03) > > > Java HotSpot(TM) 64-Bit Server VM (build 11.3-b02, mixed mode) > > > > > > I've attached my source as Eclipse projects. The URL in the main > > > method > > > points to the class files generated by the project with the > > > CustomSquare. I've also added some debug info relating to which class > > > loader is being used to load the Square, Printer and Custom Square > > > respectively: > > > > > > Printer loaded by classloader: sun.misc.Launcher > > > $AppClassLoader at 553f5d07 > > > Square loaded by classloader: java.net.URLClassLoader at 3ae48e1b > > > CustomSquare loaded by classloader: java.net.URLClassLoader at 3ae48e1b > > > Red > > > > > > I still get Red. The key point is that the CustomSquare is not visible > > > at all to the Printer code. If I stick the CustomSquare in the same > > > project as Printer it will then be loaded by the AppClassLoader and I > > > get blue. However when it is in a completely separate project and > > > loaded > > > via the URLClassLoader (and Printer loaded via the AppClassLoader) I > > > always get Red. If I then change getColour() to be public in both > > > Square > > > and CustomSquare I get blue. > > > > > > This is completely baffling me. I may be doing something really silly > > > but I can't see it :) > > > > > > Let me know if you can't replicate the issue with the attached Eclipse > > > project and I'll try to package it up using plain old javac and a run > > > script. > > > > > > Even if you do get blue with the different ClassLoaders for Printer > > > and > > > CustomSquare, I would probably argue that this is incorrect but I have > > > to admit that this argument could be because I've misunderstood the > > > meaning of 'runtime package' in terms of package private accessibility > > > in the JVM spec. > > > > > > Jeff > > > > > > On Tue, 2009-04-14 at 15:30 -0400, Karen Kinnear wrote: > > >> Jeff, > > >> > > >> Perhaps you can help me duplicate the problem. > > >> > > >> First - what does java -version say? > > >> > > >> I took the source code appended, and modified the URL setting, > > >> which I believe should just give me your second example, i.e. > > >> CustomSquare instantiated in a different ClassLoader than Printer. > > >> > > >> When I run this with Sun's 1.6 or recent 1.7 I get "blue". > > >> > > >> What did we do differently? > > >> > > >> thanks, > > >> Karen > > >> > > >> Jeffrey Sinclair wrote: > > >>> hotspot-dev, > > >>> > > >>> I've been struggling to understand why HotSpot does not throw an > > >>> IllegalAccessError when a call is made to an override of a package > > >>> private method on an instance loaded by a different class loader. > > >>> I was > > >>> hoping someone could explain to me in technical detail where I'm > > >>> going > > >>> wrong because it appears to be a bug. > > >>> > > >>> (all source code is pasted at the end of the mail) > > >>> > > >>> I have a class called Square with a package private method named > > >>> getColour() which returns 'red'. I have a subclass of Square called > > >>> CustomSquare which overrides getColour() to return 'blue'. I have > > >>> another class called Printer which simply prints out getColour() > > >>> for the > > >>> Square passed to it. I then have two test cases: > > >>> > > >>> * Printer.print(Square) is called with a CustomSquare > > >>> instantiated in > > >>> the same ClassLoader as Printer. > > >>> * Printer.print(Square) is called with a CustomSquare > > >>> instantiated in > > >>> a different ClassLoader as Printer. > > >>> > > >>> What I find is that I get 'blue' in the first test (as expected) and > > >>> 'red' in the second test (not expected). > > >>> > > >>>> From the Access Control constraints in the Linking section of the > > >>>> JVM > > >>> specification (5.4.4), I as expecting an IllegalAccessError to be > > >>> thrown > > >>> because it states that a package private method is accessible to a > > >>> class > > >>> if it is declared by a class in the same runtime package. > > >>> > > >>> My understanding is that Printer is not in the same runtime > > >>> package as > > >>> CustomSquare which explains why my override does not kick in, but it > > >>> does not explain why an IllegalAccessError is not thrown. > > >>> > > >>> I was wondering if someone could explain the behaviour to me. > > >>> > > >>> Regards, > > >>> > > >>> Jeff > > >>> > > >>> The source code: > > >>> > > >>> public class Main { > > >>> public static void main(String[] args) throws Exception { > > >>> URL[] urls = new URL[]{new URL("path/to/CustomSquare")}; > > >>> URLClassLoader loader = new URLClassLoader(urls); > > >>> Class clazz = > > >>> loader.loadClass("uk.co.cooljeff.visibility.CustomSquare"); > > >>> Printer printer = new Printer(); > > >>> printer.print((Square)clazz.newInstance()); // 'red' gets printed > > >>> } > > >>> } > > >>> > > >>> package uk.co.cooljeff.visibility; > > >>> > > >>> public class Printer { > > >>> public void print(Square square) { > > >>> System.out.println(square.getColour()); > > >>> } > > >>> } > > >>> > > >>> package uk.co.cooljeff.visibility; > > >>> > > >>> public class CustomSquare extends Square { > > >>> public CustomSquare() { > > >>> super(5); > > >>> } > > >>> > > >>> @Override > > >>> public String getColour() { > > >>> return "blue"; > > >>> } > > >>> } > > >>> > > >>> package uk.co.cooljeff.visibility; > > >>> > > >>> public class Square { > > >>> private float length; > > >>> > > >>> public Square(float length) { > > >>> this.length = length; > > >>> } > > >>> > > >>> public float calculateArea() { > > >>> return length * length; > > >>> } > > >>> > > >>> String getColour() { > > >>> return "red"; > > >>> } > > >>> } > > >>> > > >> > > > > > From dawn2004 at gmail.com Mon Apr 20 01:16:15 2009 From: dawn2004 at gmail.com (Colin(Du Li)) Date: Mon, 20 Apr 2009 01:16:15 -0700 (PDT) Subject: Will GC lose some locking infomation during compaction? In-Reply-To: <49E61C7D.6030607@sun.com> References: <23063420.post@talk.nabble.com> <49E61C7D.6030607@sun.com> Message-ID: <23132238.post@talk.nabble.com> Hello, I still have a question. Let's say, during compaction, GC moves an object from "old Location" to "new location"(compaction top). Yes, during the marking phase we evacuated these "non-prototypical" mark words into a pair of buffers, and used later to restore the evacuated mark words. But GC only restores mark word on object at "old Location", why don't it restore mark word on object at "new location"? Thanks a lot! Y. Srinivas Ramakrishna wrote: > > init_mark() sets the mark-word into a "prototypical" state, and this > suffices, as you surmised, > for the large majority of objects but not for all, namely for locked > objects, biased objects and > those whose hashcodes have been computed. > Recall, however, that during the marking phase the we evacuated thse > "non-prototypical" mark words into a pair of buffers. These spooled > mark-words > are used later to restore the evacuated mark words. Look for > "should_preserve_mark_word()" > or similar (I do not have a workspace handy to get you the exact name). > > -- ramki > > Colin(Du Li) wrote: >> Hello. >> I have two questions about GC's compaction phase. >> 1. During the compaction, after GC copies a compacted object to the its >> location, it always calls "init_mark" on this object. I think "init_mark" >> will cause the object to be "unlocked". If the object is "locked" before >> compaction, will the locking information be lost after compaction? >> 2. If the compacted object has enter a monitor (using "moniterenter"), GC >> moves it to new location, then how can GC update the monitor? >> >> Thanks a lot! >> >> Colin >> > > > -- View this message in context: http://www.nabble.com/Will-GC-lose-some-locking-infomation-during-compaction--tp23063420p23132238.html Sent from the OpenJDK Hotspot Virtual Machine mailing list archive at Nabble.com. From Y.S.Ramakrishna at Sun.COM Mon Apr 20 01:48:43 2009 From: Y.S.Ramakrishna at Sun.COM (Y. Srinivas Ramakrishna) Date: Mon, 20 Apr 2009 01:48:43 -0700 Subject: Will GC lose some locking infomation during compaction? In-Reply-To: <23132238.post@talk.nabble.com> References: <23063420.post@talk.nabble.com> <49E61C7D.6030607@sun.com> <23132238.post@talk.nabble.com> Message-ID: <49EC36EB.7010308@sun.com> Hi Colin -- Colin(Du Li) wrote: > Hello, I still have a question. > Let's say, during compaction, GC moves an object from "old Location" to "new > location"(compaction top). > Yes, during the marking phase we evacuated these "non-prototypical" mark > words into a pair of buffers, and used later to restore the evacuated mark > words. > But GC only restores mark word on object at "old Location", why don't it > restore mark word on object at "new location"? > Not quite. You are right that at the point during the marking phase when the oops & marks are saved the new location is not known, so the _preserved_oop_stack contains the old locations. However, during the "adjust pointers" phase, we go over the preserved_oop_stack and adjust them so they now refer to the correct "new location" that the preserved mark words will go into. So when comes time to restore the mark words after the compaction/copying has been completed, the preserved_oop_stack holds the right locations into which we should restore the preserved mark words. -- ramki > Thanks a lot! > > > Y. Srinivas Ramakrishna wrote: > >> init_mark() sets the mark-word into a "prototypical" state, and this >> suffices, as you surmised, >> for the large majority of objects but not for all, namely for locked >> objects, biased objects and >> those whose hashcodes have been computed. >> Recall, however, that during the marking phase the we evacuated thse >> "non-prototypical" mark words into a pair of buffers. These spooled >> mark-words >> are used later to restore the evacuated mark words. Look for >> "should_preserve_mark_word()" >> or similar (I do not have a workspace handy to get you the exact name). >> >> -- ramki >> >> Colin(Du Li) wrote: >> >>> Hello. >>> I have two questions about GC's compaction phase. >>> 1. During the compaction, after GC copies a compacted object to the its >>> location, it always calls "init_mark" on this object. I think "init_mark" >>> will cause the object to be "unlocked". If the object is "locked" before >>> compaction, will the locking information be lost after compaction? >>> 2. If the compacted object has enter a monitor (using "moniterenter"), GC >>> moves it to new location, then how can GC update the monitor? >>> >>> Thanks a lot! >>> >>> Colin >>> >>> >> >> > > From dawn2004 at gmail.com Mon Apr 20 09:28:35 2009 From: dawn2004 at gmail.com (Colin(Du Li)) Date: Mon, 20 Apr 2009 09:28:35 -0700 (PDT) Subject: Will GC lose some locking infomation during compaction? In-Reply-To: <49EC36EB.7010308@sun.com> References: <23063420.post@talk.nabble.com> <49E61C7D.6030607@sun.com> <23132238.post@talk.nabble.com> <49EC36EB.7010308@sun.com> Message-ID: <23140101.post@talk.nabble.com> Hi, ramki, Thank you very much! Yes, the adjust_object works. It makes sense. I'm still wondering how the monitor on stack can be updated. If the object is moved to the new location, its monitor of the object still contains the object reference to the old location, right? Will it cause some problem? Thanks again. Colin Y. Srinivas Ramakrishna wrote: > > Hi Colin -- > > Colin(Du Li) wrote: >> Hello, I still have a question. >> Let's say, during compaction, GC moves an object from "old Location" to >> "new >> location"(compaction top). >> Yes, during the marking phase we evacuated these "non-prototypical" mark >> words into a pair of buffers, and used later to restore the evacuated >> mark >> words. >> But GC only restores mark word on object at "old Location", why don't it >> restore mark word on object at "new location"? >> > > Not quite. You are right that at the point during the marking phase when > the oops & marks are > saved the new location is not known, so the _preserved_oop_stack > contains the old locations. > However, during the "adjust pointers" phase, we go over the > preserved_oop_stack and > adjust them so they now refer to the correct "new location" that the > preserved mark words > will go into. So when comes time to restore the mark words after the > compaction/copying has > been completed, the preserved_oop_stack holds the right locations into > which we should > restore the preserved mark words. > > -- ramki >> Thanks a lot! >> >> >> Y. Srinivas Ramakrishna wrote: >> >>> init_mark() sets the mark-word into a "prototypical" state, and this >>> suffices, as you surmised, >>> for the large majority of objects but not for all, namely for locked >>> objects, biased objects and >>> those whose hashcodes have been computed. >>> Recall, however, that during the marking phase the we evacuated thse >>> "non-prototypical" mark words into a pair of buffers. These spooled >>> mark-words >>> are used later to restore the evacuated mark words. Look for >>> "should_preserve_mark_word()" >>> or similar (I do not have a workspace handy to get you the exact name). >>> >>> -- ramki >>> >>> Colin(Du Li) wrote: >>> >>>> Hello. >>>> I have two questions about GC's compaction phase. >>>> 1. During the compaction, after GC copies a compacted object to the its >>>> location, it always calls "init_mark" on this object. I think >>>> "init_mark" >>>> will cause the object to be "unlocked". If the object is "locked" >>>> before >>>> compaction, will the locking information be lost after compaction? >>>> 2. If the compacted object has enter a monitor (using "moniterenter"), >>>> GC >>>> moves it to new location, then how can GC update the monitor? >>>> >>>> Thanks a lot! >>>> >>>> Colin >>>> >>>> >>> >>> >> >> > > > -- View this message in context: http://www.nabble.com/Will-GC-lose-some-locking-infomation-during-compaction--tp23063420p23140101.html Sent from the OpenJDK Hotspot Virtual Machine mailing list archive at Nabble.com. From vigneswaran.sitaraman at tcs.com Sun Apr 19 23:37:47 2009 From: vigneswaran.sitaraman at tcs.com (Vigneswaran Sitaraman) Date: Mon, 20 Apr 2009 12:07:47 +0530 Subject: Bootstrap class loader - system property - sun.boot.class Message-ID: I want to know where is the bootstrap class loader source code in jvm source code. I also want to know where the system property - sun.boot.class.path is defined. It is said that sun.boot.class.path is initialised when java Vm starts. Regards Vigneswaran Sitaraman Tata Consultancy Services Technopark Campus ,Kariyavattom P.O. Trivandrum - 695 581,Kerala India Ph:- +91 44 26570843 Cell:- + 91 9840694852 Mailto: vigneswaran.sitaraman at tcs.com Website: http://www.tcs.com ____________________________________________ Experience certainty. IT Services Business Solutions Outsourcing ____________________________________________ =====-----=====-----===== Notice: The information contained in this e-mail message and/or attachments to it may contain confidential or privileged information. If you are not the intended recipient, any dissemination, use, review, distribution, printing or copying of the information contained in this e-mail message and/or attachments to it are strictly prohibited. If you have received this communication in error, please notify us by reply e-mail or telephone and immediately and permanently delete the message and any attachments. Thank you From Karen.Kinnear at Sun.COM Mon Apr 20 09:54:22 2009 From: Karen.Kinnear at Sun.COM (Karen Kinnear) Date: Mon, 20 Apr 2009 12:54:22 -0400 Subject: Bootstrap class loader - system property - sun.boot.class In-Reply-To: References: Message-ID: <2B3BF167-3EC8-4EB6-B42D-BD1DFBF18D0B@sun.com> Vigneswaran, In the hotspot source code, the bootstrap class loader is in src/share/vm/classfile/classLoader.hpp,cpp. It works very closely with the VM's common class loading logic which is in src/share/vm/classfile/systemDictionary.hpp,cpp To better understand sun.boot.class.path processing in the vm, look in src/share/vm/runtime/arguments. cpp at the comments for SysClassPath: // Constructs the system class path (aka boot class path) from the following // components, in order: // // prefix // from -Xbootclasspath/p:... // endorsed // the expansion of -Djava.endorsed.dirs=... // base // from os::get_system_properties() or - Xbootclasspath= // suffix // from -Xbootclasspath/a:... // // java.endorsed.dirs is a list of directories; any jar or zip files in the // directories are added to the sysclasspath just before the base. hope this helps, Karen On Apr 20, 2009, at 2:37 AM, Vigneswaran Sitaraman wrote: > > I want to know where is the bootstrap class loader source code in jvm > source code. I also want to know where the system property - > sun.boot.class.path is defined. It is said that sun.boot.class.path is > initialised when java Vm starts. > > > > > > > Regards > Vigneswaran Sitaraman > Tata Consultancy Services > Technopark Campus ,Kariyavattom P.O. > Trivandrum - 695 581,Kerala > India > Ph:- +91 44 26570843 > Cell:- + 91 9840694852 > Mailto: vigneswaran.sitaraman at tcs.com > Website: http://www.tcs.com > ____________________________________________ > Experience certainty. IT Services > Business Solutions > Outsourcing > ____________________________________________ > > =====-----=====-----===== > Notice: The information contained in this e-mail > message and/or attachments to it may contain > confidential or privileged information. If you are > not the intended recipient, any dissemination, use, > review, distribution, printing or copying of the > information contained in this e-mail message > and/or attachments to it are strictly prohibited. If > you have received this communication in error, > please notify us by reply e-mail or telephone and > immediately and permanently delete the message > and any attachments. Thank you > > > From Y.S.Ramakrishna at Sun.COM Mon Apr 20 10:39:57 2009 From: Y.S.Ramakrishna at Sun.COM (Y.S.Ramakrishna at Sun.COM) Date: Mon, 20 Apr 2009 10:39:57 -0700 Subject: Will GC lose some locking infomation during compaction? In-Reply-To: <23140101.post@talk.nabble.com> References: <23063420.post@talk.nabble.com> <49E61C7D.6030607@sun.com> <23132238.post@talk.nabble.com> <49EC36EB.7010308@sun.com> <23140101.post@talk.nabble.com> Message-ID: <49ECB36D.2050800@Sun.COM> Hi Colin, please look at the code for adjust_pointers() and cousins, and related closures. Any GC that moves objects needs to fix references to those objects whether they are in other objects in the heap or from roots outside the heap (in which category one would include references from thread stacks). To learn more about how GC works, you might want to use a debugger to step through the various GC phases and actions on a small heap to get an idea of how this works, and then walk through the relevant code. Good luck, and have fun! -- ramki On 04/20/09 09:28, Colin(Du Li) wrote: > Hi, ramki, > > Thank you very much! > Yes, the adjust_object works. It makes sense. > I'm still wondering how the monitor on stack can be updated. If the object > is moved to the new location, its monitor of the object still contains the > object reference to the old location, right? Will it cause some problem? > Thanks again. > > Colin > > Y. Srinivas Ramakrishna wrote: >> Hi Colin -- >> >> Colin(Du Li) wrote: >>> Hello, I still have a question. >>> Let's say, during compaction, GC moves an object from "old Location" to >>> "new >>> location"(compaction top). >>> Yes, during the marking phase we evacuated these "non-prototypical" mark >>> words into a pair of buffers, and used later to restore the evacuated >>> mark >>> words. >>> But GC only restores mark word on object at "old Location", why don't it >>> restore mark word on object at "new location"? >>> >> Not quite. You are right that at the point during the marking phase when >> the oops & marks are >> saved the new location is not known, so the _preserved_oop_stack >> contains the old locations. >> However, during the "adjust pointers" phase, we go over the >> preserved_oop_stack and >> adjust them so they now refer to the correct "new location" that the >> preserved mark words >> will go into. So when comes time to restore the mark words after the >> compaction/copying has >> been completed, the preserved_oop_stack holds the right locations into >> which we should >> restore the preserved mark words. >> >> -- ramki >>> Thanks a lot! >>> >>> >>> Y. Srinivas Ramakrishna wrote: >>> >>>> init_mark() sets the mark-word into a "prototypical" state, and this >>>> suffices, as you surmised, >>>> for the large majority of objects but not for all, namely for locked >>>> objects, biased objects and >>>> those whose hashcodes have been computed. >>>> Recall, however, that during the marking phase the we evacuated thse >>>> "non-prototypical" mark words into a pair of buffers. These spooled >>>> mark-words >>>> are used later to restore the evacuated mark words. Look for >>>> "should_preserve_mark_word()" >>>> or similar (I do not have a workspace handy to get you the exact name). >>>> >>>> -- ramki >>>> >>>> Colin(Du Li) wrote: >>>> >>>>> Hello. >>>>> I have two questions about GC's compaction phase. >>>>> 1. During the compaction, after GC copies a compacted object to the its >>>>> location, it always calls "init_mark" on this object. I think >>>>> "init_mark" >>>>> will cause the object to be "unlocked". If the object is "locked" >>>>> before >>>>> compaction, will the locking information be lost after compaction? >>>>> 2. If the compacted object has enter a monitor (using "moniterenter"), >>>>> GC >>>>> moves it to new location, then how can GC update the monitor? >>>>> >>>>> Thanks a lot! >>>>> >>>>> Colin >>>>> >>>>> >>>> >>> >> >> > From lsliu0507 at gmail.com Mon Apr 20 12:10:06 2009 From: lsliu0507 at gmail.com (lianshun Liu) Date: Tue, 21 Apr 2009 03:10:06 +0800 Subject: some questions about interpreter Message-ID: Hi, I have some questions about interpreter. I build latested hotspot(b55) with the C++-Interpreter successfully on Win32, and java.exe can work correctly. But if I change the source code of the interpreter, locates at hotspot\src\share\vm\interpreter\bytecodeInterpreter.cpp, something will be wrong. BytecodeInterpreter::run() { //???? switch (opcode) { //???? CASE(_bipush): // SET_STACK_INT((jbyte)(pc[1]), 0); SET_STACK_INT((jint)(100), 0); UPDATE_PC_AND_TOS_AND_CONTINUE(2, 1); //???? } //???? } SET_STACK_INT((jbyte)(pc[1]), 0) is a macro that puts pc[1] (operand of bipush) onto the stack, it doesn't do anything else. So I thought I could change SET_STACK_INT((jbyte)(pc[1]), 0) into SET_STACK_INT((jint)(100), 0), which will always put 100 onto the stack if the opcode is bipush. But to my surprise, after this change, though hotspot can be build successfully, java.exe can't be launch, following error occured: E:\openjdk\build\windows-i586\bin>java -version Error occurred during initialization of VM java.lang.ExceptionInInitializerError at java.lang.System.initializeSystemClass(System.java:1107) Caused by: java.lang.ArrayIndexOutOfBoundsException: 100 at java.util.Properties.(Properties.java:1109) at java.lang.System.initializeSystemClass(System.java:1107) So my first question is that why the change result in such an error? Can't the source code of interpreter be changed? My second question is also a little odd. This time I do not change the macro, I only embed some code that print some message after CASE(_bipush), still hotspot can build successfully. But when I start java -version on command line, an error arise, as the attachment shows. What surprises me is that though java.exe is failed, BytecodeInterpreter::run() is still executed, and printed message for more than 500 times, means code snippet CASE(_bipush)... will execute for 500+ times. Why? Thanks. Lianshun Liu -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20090421/7b0e8b92/attachment.html -------------- next part -------------- A non-text attachment was scrubbed... Name: javaError.jpg Type: image/jpeg Size: 24434 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20090421/7b0e8b92/attachment.jpg From lsliu0507 at gmail.com Mon Apr 20 13:24:23 2009 From: lsliu0507 at gmail.com (lianshun Liu) Date: Tue, 21 Apr 2009 04:24:23 +0800 Subject: why isn't it work? Message-ID: <34BEC428B2F5408E830CE1D36E4E687B@AAA> Hi, I am doing nonsense things but found some puzzles. I need your help. Below code snippet is quote from classFileParser.cpp. if (code_length > 0) { memcpy(m->code_base(), code_start, code_length); } I changed it like this: if (code_length > 0) { address dest = m->code_base(); for(int i= 0; i < code_length; ++i) *dest++ = *code_start++; } Then I build the hotspot successfully, but when start "java -version", an error occured: E:\openjdk\build\windows-i586\bin>java Error occurred during initialization of VM java.lang.IllegalThreadStateException at java.lang.ThreadGroup.add(ThreadGroup.java:796) at java.lang.ThreadGroup.(ThreadGroup.java:125) I wanna know why? Best regards Lianshun Liu -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20090421/0249f1ba/attachment.html From David.Holmes at Sun.COM Mon Apr 20 18:12:38 2009 From: David.Holmes at Sun.COM (David Holmes - Sun Microsystems) Date: Tue, 21 Apr 2009 11:12:38 +1000 Subject: some questions about interpreter In-Reply-To: References: Message-ID: <49ED1D86.1090902@sun.com> Hi, Please don't cross-post so much. You changed the interpreter to always put 100 on the stack instead of the real value. How do you expect any Java code to execute correctly when you do this? It simply can't - hence the exception. When you modify the interpreter you still have to have it execute the Java language semantics correctly. David Holmes lianshun Liu said the following on 04/21/09 03:58: > Hi, > > I build latested hotspot(b55) with the C++-Interpreter successfully on > Win32, and java.exe can work correctly. But if I change the source code > of the interpreter, locates at > hotspot\src\share\vm\interpreter\bytecodeInterpreter.cpp, something will > be wrong. > BytecodeInterpreter::run() > { > //???? > switch (opcode) > { > //???? > CASE(_bipush): > // SET_STACK_INT((jbyte)(pc[1]), 0); > SET_STACK_INT((jint)(100), 0); > UPDATE_PC_AND_TOS_AND_CONTINUE(2, 1); > //???? > } > //???? > } > SET_STACK_INT((jbyte)(pc[1]), 0) is a macro that puts pc[1] (operand of > bipush) onto the stack, it doesn't do anything else. So I thought I > could change SET_STACK_INT((jbyte)(pc[1]), 0) into > SET_STACK_INT((jint)(100), 0), which will always put 100 onto the > stack if the opcode is bipush. But to my surprise, after this change, > though hotspot can be build successfully, java.exe can't be launch, > following error occured: > > E:\openjdk\build\windows-i586\bin>java -version > Error occurred during initialization of VM > java.lang.ExceptionInInitializerError > at java.lang.System.initializeSystemClass(System.java:1107) > Caused by: java.lang.ArrayIndexOutOfBoundsException: 100 > at java.util.Properties.(Properties.java:1109) > at java.lang.System.initializeSystemClass(System.java:1107) > > So my first question is that why the change result in such an error? > Can't the source of interpreter be changed? > My second question is also a little odd. This time I do not change the > macro, I only embed some code that print some message after > CASE(_bipush), still hotspot can build successfully. But when I start > java -version on command line, an error arise, as the attachment shows. > What surprises me is that though java.exe is failed, > BytecodeInterpreter::run() is still executed, and printed message for > more than 500 times, means code snippet CASE(_bipush)... will execute > for 500+ times. Why? > > Thanks. > Lianshun Liu > > > ------------------------------------------------------------------------ > From Coleen.Phillimore at Sun.COM Tue Apr 21 13:24:59 2009 From: Coleen.Phillimore at Sun.COM (Coleen Phillimore - Sun Microsystems) Date: Tue, 21 Apr 2009 16:24:59 -0400 Subject: why isn't it work? In-Reply-To: <34BEC428B2F5408E830CE1D36E4E687B@AAA> References: <34BEC428B2F5408E830CE1D36E4E687B@AAA> Message-ID: <49EE2B9B.3000705@sun.com> The two code bits look equivalent to me. If you want to debug the Hotspot VM on windows you can build a "debug" target and use the Visual C++ debugger. The command is something like: cd make/windows build build If you get a Java exception you can break into the Windows debugger with the command line (when you run the java code) by giving the option (in your case): -XX:AbortVMOnExceptions=java.lang.IllegalThreadStateException -XX:+UseOSErrorReporting Both will give you a dialog box to go into the windows debugger. The C++ interpreter is not fully tested on Windows so if there are bugs with the version you have not modified, please let us know about them (with suggested fixes preferably). Thanks, Coleen On 04/20/09 16:24, lianshun Liu wrote: > Hi, > I am doing nonsense things but found some puzzles. I need your help. > Below code snippet is quote from classFileParser.cpp. > if (code_length > 0) { > memcpy(m->code_base(), code_start, code_length); > } > I changed it like this: > if (code_length > 0) { > address dest = m->code_base(); > for(int i= 0; i < code_length; ++i) > *dest++ = *code_start++; > } > Then I build the hotspot successfully, but when start "java -version", > an error occured: > E:\openjdk\build\windows-i586\bin>java > Error occurred during initialization of VM > java.lang.IllegalThreadStateException > at java.lang.ThreadGroup.add(ThreadGroup.java:796) > at java.lang.ThreadGroup.(ThreadGroup.java:125) > I wanna know why? > Best regards > Lianshun Liu -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20090421/69a525c3/attachment.html From erik.trimble at sun.com Tue Apr 21 15:42:13 2009 From: erik.trimble at sun.com (erik.trimble at sun.com) Date: Tue, 21 Apr 2009 22:42:13 +0000 Subject: hg: jdk7/hotspot/hotspot: 3 new changesets Message-ID: <20090421224219.4D45DE476@hg.openjdk.java.net> Changeset: f8e839c08615 Author: xdono Date: 2009-04-09 10:37 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/f8e839c08615 Added tag jdk7-b54 for changeset fafab5d5349c ! .hgtags Changeset: bcbec53c367d Author: xdono Date: 2009-04-16 11:22 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/bcbec53c367d Added tag jdk7-b55 for changeset f8e839c08615 ! .hgtags Changeset: a3fd9e40ff2e Author: trims Date: 2009-04-21 15:08 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/a3fd9e40ff2e Merge From xiaobin.lu at sun.com Wed Apr 22 14:35:45 2009 From: xiaobin.lu at sun.com (xiaobin.lu at sun.com) Date: Wed, 22 Apr 2009 21:35:45 +0000 Subject: hg: jdk7/hotspot/hotspot: 2 new changesets Message-ID: <20090422213553.94C9CE58D@hg.openjdk.java.net> Changeset: c8152ae3f339 Author: coleenp Date: 2009-04-21 16:12 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/c8152ae3f339 6830069: UseLargePages is broken on Win64 Summary: Making VirtualAlloc/VirtualProtect two calls for PAGE_EXECUTE_READWRITE doesn't work for MEM_LARGE_PAGES. Reviewed-by: xlu, kvn, jcoomes ! src/os/windows/vm/os_windows.cpp Changeset: 670013185256 Author: xlu Date: 2009-04-22 11:47 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/670013185256 Merge From erik.trimble at sun.com Wed Apr 22 19:35:13 2009 From: erik.trimble at sun.com (erik.trimble at sun.com) Date: Thu, 23 Apr 2009 02:35:13 +0000 Subject: hg: jdk7/hotspot/hotspot: 6833316: jprt.properties not setting values for 6u14 release flag Message-ID: <20090423023521.D4B15E5AC@hg.openjdk.java.net> Changeset: a61730a6fdbc Author: trims Date: 2009-04-22 19:30 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/a61730a6fdbc 6833316: jprt.properties not setting values for 6u14 release flag Summary: Fix jprt.properties to do 6u14 tests right Reviewed-by: ohair ! make/jprt.properties From Karen.Kinnear at Sun.COM Thu Apr 23 14:35:35 2009 From: Karen.Kinnear at Sun.COM (Karen Kinnear) Date: Thu, 23 Apr 2009 17:35:35 -0400 Subject: invokevirtual on package private override in different classloader In-Reply-To: <1240074472.6002.5.camel@Lini> References: <1239417256.6194.53.camel@Lini> <49E4E45E.2020508@sun.com> <1239744795.6111.32.camel@Lini> <1240072355.6002.2.camel@Lini> <1240074472.6002.5.camel@Lini> Message-ID: <49F0DF27.1010704@sun.com> Jeff, Thank you so much for making this easy for me to reproduce. I think you have two questions here: 1) why do you get "red" when you use a different class loader for CustomSquare and 2) why do you not get an IllegalAccessError when calling package private CustomSquare.getColour() from a different runtime package. These are very important questions and use cases related to the first caused significant confusion in the past which actually led to a specification modification. Let me see if I can explain, first why "red", not "blue", and second why you don't get an IllegalAccessError. First, I too found that Printer and Square are loaded by the same class loader, and CustomSquare is loaded by a different class loader. I ran a fastdebug vm with the flag: -XX:+PrintSystemDictionaryAtExit. This will print out on exit, the internal vm cache of loaded classes including their class loaders. To summarize/abbreviate the scenario: class Main: // class loader 1 Printer.print((Square)CustomSquare instance); package 1, Printer.print // class loader 1 System.out.println(square.getColour()) package 1, class Square // class loader 1 public getColour() returns "blue" package 1, class customSquare // class loader 2 package private getColour() returns "red" The first question is why does the call in Printer to Square.getColour() print "red" when the class customSquare is loaded by a different class loader, but print "blue" when loaded by the same class loader. Let's start with the call in Printer. This translates to invokevirtual(...Square.getColour()) The Clarifications and Amendments to Java Virtual Machine Specification, 2nd edition definition of invokevirtual says: http://java.sun.com/docs/books/jvms/second_edition/jvms-clarify.html == The lookup algorithm used by the invokevirtual instruction (pages 291-292 of the JVMS, 2nd edition) should be revised as follows: Let C be the class of the target of the method invocation. The actual method to be invoked is selected by the following lookup procedure: If C contains a declaration for an instance method M with the same name and descriptor as the resolved method, and M overrides the resolved method , then M is the method to be invoked, and the lookup procedure terminates. Otherwise, if C has a superclass, this same lookup procedure is performed recursively using the direct superclass of C ; the method to be invoked is the result of the recursive invocation of this lookup procedure. Otherwise, an AbstractMethodError is raised. The text highlighted in red is the only change. It replaces the text and the resolved method is accessible from C in the current specification. See the revision of the definition of method override in the JLS 3rd Edition page for more details. == // First we do the static compile-time resolution using the constant pool, which in this case refers to Square.getColour() The named method is resolved (?5.4.3.3). // Then we do the dynamic run-time resolution using CustomSquare as the // target of the method invocation If C contains a declaration for an instance method M with the same name and descriptor as the resolved method, and M overrides the resolved method , then M is the method to be invoked, and the lookup procedure terminates. // The key question is: Does CustomSquare.getColour() override // Square.getColour()? // I'll get to the definitions of inherit and override in a second. // Result is: // If they use the same class loader: yes CustomSqure.getColour() overrides Square.getColour() // If they use different class loaders: no CustomSquare.getColor() does NOT override Square.getColour() * Otherwise, if C has a superclass, this same lookup procedure is performed recursively using the direct superclass of C ; the method to be invoked is the result of the recursive invocation of this lookup procedure. // If CustomSquare.getColour() does NOT override Square.getColour(), // then we use the method Square.getColour(), since Square is the // direct superclass of CustomSquare. Definitions of Inherit and Override: === Inheritance rules: JLS 3rd edition, 8.4.8 Inheritance, Overriding, and Hiding A class C inherits from its direct superclass and direct superinterfaces all non-private methods (whether abstract or not) of the superclass and superinterfaces that are public, protected or declared with default access in the same package as C and are neither overridden ('8.4.8.1) nor hidden ('8.4.8.2) by a declaration in the class. JLS 3rd edition 8.4.8.1 Overriding (by Instance Methods) An instance method m1 declared in a class C overrides another instance method, m2, declared in class A iff all of the following are true: 1. C is a subclass of A. 2. The signature of m1 is a subsignature (?8.4.2) of the signature of m2. 3. Either o m2 is public, protected or declared with default access in the same package as C, or o m1 overrides a method m3, m3 distinct from m1, m3 distinct from m2, such that m3 overrides m2. Moreover, if m1 is not abstract, then m1 is said to implement any and all declarations of abstract methods that it overrides. Note that based on the JVMS 3rd edition transitive overriding rules, we need to do an override check first for the direct superclass and if the current class does not override the direct superclass, recursively for the superclass' superclass. === So CustomSquare.getColour() does NOT override Square.getColour() because it is NOT in the same runtime package as C. =========== =========== Second question: Why do you not get an IllegalAccessException when invoking package-private CustomSquare.getColour() from Printer.print() which is in a different package? We had the same question ourselves a couple of years ago and researched this. If you look closely at JVMS 2nd edition 5.4.4 Access Controls, which goes into the details of accessibility checks for methods, read the final sentences which say: == This discussion of access control omits a related restriction on the target of a protected field access or method invocation (the target must be of class D or a subtype of D). That requirement is checked as part of the verification process (?5.4.1); it is not part of link-time access control. == The point here is that the virtual machine in the case of invokevirtual, does an accessibility check for the compile-time resolved method, Square.getColour() in your example, but does NOT perform an accessibility check on the link-time resolved method, or CustomSquare.getColour() in your example. We proposed changing this behavior, and given that it has always been this way, changing the specification and the multiple virtual machines in the field would be highly likely to break multiple shipping applications. So we decided it was not a good change to make. I hope this helps explain the current behavior, do let me know if any of this needs further clarification or if I misunderstood your original questions. thanks, Karen p.s. you can get even more explanation of the inheritance, overriding, invokevirtual, invokespecial, etc. behavior, etc. in the evaluation of the following bug: http://monaco.sfbay.sun.com/detail.jsf?cr=4766230 p.p.s. The package private discussion is under http://monaco.sfbay.sun.com/detail.jsf?cr=6810795 Jeffrey Sinclair wrote: > Karen, > > Just to say that there is one slight bug in my reproduction (although > the result of 'Red' stays the same). > > My debug statements for which class loader the class was loaded from is > incorrect, they are done in the constructor when they should have been > done in a static block in the class. > > i.e. > > public class Square { > static { > System.out.println("Square loaded by classloader: " > + Square.class.getClassLoader()); > } > > This will give the output: > > Printer loaded by classloader: sun.misc.Launcher$AppClassLoader at 553f5d07 > Square loaded by classloader: sun.misc.Launcher$AppClassLoader at 553f5d07 > CustomSquare loaded by classloader: java.net.URLClassLoader at 3ae48e1b > Red > > Which is still unexpected since I'm getting 'Red'. > > Regards, > > Jeff > > On Sat, 2009-04-18 at 17:32 +0100, Jeffrey Sinclair wrote: > >>Karen, >> >>Please find attached a zip file which packages the example up with a >>build script that uses javac and a plain old run script. >> >>Simply run build.sh followed by run.sh (assumes that javac and java are >>on the PATH). >> >>Regards, >> >>Jeff >> >>On Thu, 2009-04-16 at 17:42 -0400, Karen Kinnear wrote: >> >>>Jeff, >>> >>>Thank you for sending me this information. I have a theory, but I >>>would be much more comfortable running the test first. I have >>>experimented >>>with this, but I'd feel much more comfortable duplicating your results. >>> >>>I do appreciate you offering to package this up using plain old javac/ >>>and >>>a run script - I don't have Eclipse installed and much as I've heard it >>>is a great product, I don't have the cycles to do that in the near >>>future. >>> >>>thanks so much, >>>Karen >>> >>>On Apr 14, 2009, at 5:33 PM, Jeffrey Sinclair wrote: >>> >>> >>>>Karen, >>>> >>>>Thanks for getting back to me. >>>> >>>>I was using 1.6.0_10 and have now tried 1.6.0_13 and get the same >>>>result. Specifically I've tried the following versions: >>>> >>>>java version "1.6.0_10" >>>>Java(TM) SE Runtime Environment (build 1.6.0_10-b33) >>>>Java HotSpot(TM) 64-Bit Server VM (build 11.0-b15, mixed mode) >>>> >>>>java version "1.6.0_13" >>>>Java(TM) SE Runtime Environment (build 1.6.0_13-b03) >>>>Java HotSpot(TM) 64-Bit Server VM (build 11.3-b02, mixed mode) >>>> >>>>I've attached my source as Eclipse projects. The URL in the main >>>>method >>>>points to the class files generated by the project with the >>>>CustomSquare. I've also added some debug info relating to which class >>>>loader is being used to load the Square, Printer and Custom Square >>>>respectively: >>>> >>>>Printer loaded by classloader: sun.misc.Launcher >>>>$AppClassLoader at 553f5d07 >>>>Square loaded by classloader: java.net.URLClassLoader at 3ae48e1b >>>>CustomSquare loaded by classloader: java.net.URLClassLoader at 3ae48e1b >>>>Red >>>> >>>>I still get Red. The key point is that the CustomSquare is not visible >>>>at all to the Printer code. If I stick the CustomSquare in the same >>>>project as Printer it will then be loaded by the AppClassLoader and I >>>>get blue. However when it is in a completely separate project and >>>>loaded >>>>via the URLClassLoader (and Printer loaded via the AppClassLoader) I >>>>always get Red. If I then change getColour() to be public in both >>>>Square >>>>and CustomSquare I get blue. >>>> >>>>This is completely baffling me. I may be doing something really silly >>>>but I can't see it :) >>>> >>>>Let me know if you can't replicate the issue with the attached Eclipse >>>>project and I'll try to package it up using plain old javac and a run >>>>script. >>>> >>>>Even if you do get blue with the different ClassLoaders for Printer >>>>and >>>>CustomSquare, I would probably argue that this is incorrect but I have >>>>to admit that this argument could be because I've misunderstood the >>>>meaning of 'runtime package' in terms of package private accessibility >>>>in the JVM spec. >>>> >>>>Jeff >>>> >>>>On Tue, 2009-04-14 at 15:30 -0400, Karen Kinnear wrote: >>>> >>>>>Jeff, >>>>> >>>>>Perhaps you can help me duplicate the problem. >>>>> >>>>>First - what does java -version say? >>>>> >>>>>I took the source code appended, and modified the URL setting, >>>>>which I believe should just give me your second example, i.e. >>>>>CustomSquare instantiated in a different ClassLoader than Printer. >>>>> >>>>>When I run this with Sun's 1.6 or recent 1.7 I get "blue". >>>>> >>>>>What did we do differently? >>>>> >>>>>thanks, >>>>>Karen >>>>> >>>>>Jeffrey Sinclair wrote: >>>>> >>>>>>hotspot-dev, >>>>>> >>>>>>I've been struggling to understand why HotSpot does not throw an >>>>>>IllegalAccessError when a call is made to an override of a package >>>>>>private method on an instance loaded by a different class loader. >>>>>>I was >>>>>>hoping someone could explain to me in technical detail where I'm >>>>>>going >>>>>>wrong because it appears to be a bug. >>>>>> >>>>>>(all source code is pasted at the end of the mail) >>>>>> >>>>>>I have a class called Square with a package private method named >>>>>>getColour() which returns 'red'. I have a subclass of Square called >>>>>>CustomSquare which overrides getColour() to return 'blue'. I have >>>>>>another class called Printer which simply prints out getColour() >>>>>>for the >>>>>>Square passed to it. I then have two test cases: >>>>>> >>>>>> * Printer.print(Square) is called with a CustomSquare >>>>>>instantiated in >>>>>>the same ClassLoader as Printer. >>>>>> * Printer.print(Square) is called with a CustomSquare >>>>>>instantiated in >>>>>>a different ClassLoader as Printer. >>>>>> >>>>>>What I find is that I get 'blue' in the first test (as expected) and >>>>>>'red' in the second test (not expected). >>>>>> >>>>>> >>>>>>>From the Access Control constraints in the Linking section of the >>>>>>>JVM >>>>>> >>>>>>specification (5.4.4), I as expecting an IllegalAccessError to be >>>>>>thrown >>>>>>because it states that a package private method is accessible to a >>>>>>class >>>>>>if it is declared by a class in the same runtime package. >>>>>> >>>>>>My understanding is that Printer is not in the same runtime >>>>>>package as >>>>>>CustomSquare which explains why my override does not kick in, but it >>>>>>does not explain why an IllegalAccessError is not thrown. >>>>>> >>>>>>I was wondering if someone could explain the behaviour to me. >>>>>> >>>>>>Regards, >>>>>> >>>>>>Jeff >>>>>> >>>>>>The source code: >>>>>> >>>>>>public class Main { >>>>>> public static void main(String[] args) throws Exception { >>>>>> URL[] urls = new URL[]{new URL("path/to/CustomSquare")}; >>>>>> URLClassLoader loader = new URLClassLoader(urls); >>>>>> Class clazz = >>>>>>loader.loadClass("uk.co.cooljeff.visibility.CustomSquare"); >>>>>> Printer printer = new Printer(); >>>>>> printer.print((Square)clazz.newInstance()); // 'red' gets printed >>>>>> } >>>>>>} >>>>>> >>>>>>package uk.co.cooljeff.visibility; >>>>>> >>>>>>public class Printer { >>>>>> public void print(Square square) { >>>>>> System.out.println(square.getColour()); >>>>>> } >>>>>>} >>>>>> >>>>>>package uk.co.cooljeff.visibility; >>>>>> >>>>>>public class CustomSquare extends Square { >>>>>> public CustomSquare() { >>>>>> super(5); >>>>>> } >>>>>> >>>>>> @Override >>>>>> public String getColour() { >>>>>> return "blue"; >>>>>> } >>>>>>} >>>>>> >>>>>>package uk.co.cooljeff.visibility; >>>>>> >>>>>>public class Square { >>>>>> private float length; >>>>>> >>>>>> public Square(float length) { >>>>>> this.length = length; >>>>>> } >>>>>> >>>>>> public float calculateArea() { >>>>>> return length * length; >>>>>> } >>>>>> >>>>>> String getColour() { >>>>>> return "red"; >>>>>> } >>>>>>} >>>>>> >>>>> >>>> >>> > From David.Holmes at Sun.COM Thu Apr 23 15:55:31 2009 From: David.Holmes at Sun.COM (David Holmes - Sun Microsystems) Date: Fri, 24 Apr 2009 08:55:31 +1000 Subject: invokevirtual on package private override in different classloader In-Reply-To: <49F0DF27.1010704@sun.com> References: <1239417256.6194.53.camel@Lini> <49E4E45E.2020508@sun.com> <1239744795.6111.32.camel@Lini> <1240072355.6002.2.camel@Lini> <1240074472.6002.5.camel@Lini> <49F0DF27.1010704@sun.com> Message-ID: <49F0F1E3.4080403@sun.com> Hi Karen, I was okay with the explanation until this point: > This discussion of access control omits a related restriction on the > target of a protected field access or method invocation (the target > must be of class D or a subtype of D). That requirement is checked as > part of the verification process (?5.4.1); it is not part of link-time > access control. > == > > The point here is that the virtual machine in the case of invokevirtual, > does an accessibility check for the compile-time resolved method, > Square.getColour() in your example, but does NOT perform an > accessibility check on the link-time resolved method, or > CustomSquare.getColour() in your example. I don't see the relevance of the quoted rule in this case, because this is not about the target of protected field/method access. As far as I can see the reason there is no IllegalAccessError is because there is no illegal access: - statically Printer's call to Square.getColor is fine as they are in the same compile-time package - at run-time because CustomSquare.getColor does not override Square.getColor (because they are in different run-time packages), CustomSquare.getColor is not selected, but rather Square.getColor is - At runtime Printer and Square are in the same runtime package, so Printer's invocation of Square.getColor is legal - even on a CustomSquare instance In short there is no IllegalAccessError because CustomSquare.getColor is not selected to be called. Cheers, David Holmes Karen Kinnear said the following on 04/24/09 07:35: > Jeff, > > Thank you so much for making this easy for me to reproduce. > > I think you have two questions here: > 1) why do you get "red" when you use a different class loader > for CustomSquare and > 2) why do you not get an IllegalAccessError when calling > package private CustomSquare.getColour() from a > different runtime package. > > These are very important questions and use cases related to > the first caused significant confusion in the past which > actually led to a specification modification. > > Let me see if I can explain, first why "red", not "blue", > and second why you don't get an IllegalAccessError. > > First, I too found that Printer and Square are loaded by the > same class loader, and CustomSquare is loaded by a different class > loader. I ran a fastdebug vm with the flag: > -XX:+PrintSystemDictionaryAtExit. This will print out on exit, the > internal vm cache of loaded classes including their class loaders. > > To summarize/abbreviate the scenario: > > class Main: // class loader 1 > Printer.print((Square)CustomSquare instance); > package 1, Printer.print // class loader 1 > System.out.println(square.getColour()) > package 1, class Square // class loader 1 > public getColour() returns "blue" > package 1, class customSquare // class loader 2 > package private getColour() returns "red" > > > The first question is why does the call in Printer to Square.getColour() > print "red" when the class customSquare is loaded by > a different class loader, but print "blue" when loaded by the > same class loader. > > Let's start with the call in Printer. This translates to > invokevirtual(...Square.getColour()) > > The Clarifications and Amendments to Java Virtual Machine Specification, > 2nd edition definition of invokevirtual says: > http://java.sun.com/docs/books/jvms/second_edition/jvms-clarify.html > > == > The lookup algorithm used by the invokevirtual instruction (pages > 291-292 of the JVMS, 2nd edition) should be revised as follows: > > Let C be the class of the target of the method invocation. The > actual method to be invoked is selected by the following lookup procedure: > > If C contains a declaration for an instance method M with the same > name and descriptor as the resolved method, and M overrides the resolved > method , then M is the method to be invoked, and the lookup procedure > terminates. > > Otherwise, if C has a superclass, this same lookup procedure is > performed recursively using the direct superclass of C ; the method to > be invoked is the result of the recursive invocation of this lookup > procedure. > > Otherwise, an AbstractMethodError is raised. > > The text highlighted in red is the only change. It replaces the text > > and the resolved method is accessible from C > > in the current specification. See the revision of the definition of > method override in the JLS 3rd Edition page for more details. > == > > > // First we do the static compile-time resolution using the constant > pool, which in this case refers to Square.getColour() > The named method is resolved (?5.4.3.3). > > // Then we do the dynamic run-time resolution using CustomSquare as the > // target of the method invocation > > If C contains a declaration for an instance method M with the same > name and descriptor as the resolved method, and M overrides the resolved > method , then M is the method to be invoked, and the lookup procedure > terminates. > > // The key question is: Does CustomSquare.getColour() override > // Square.getColour()? > // I'll get to the definitions of inherit and override in a second. > // Result is: > // If they use the same class loader: yes CustomSqure.getColour() > overrides Square.getColour() > // If they use different class loaders: no CustomSquare.getColor() does > NOT override Square.getColour() > > * Otherwise, if C has a superclass, this same lookup procedure is > performed recursively using the direct superclass of C ; the method to > be invoked is the result of the recursive invocation of this lookup > procedure. > > // If CustomSquare.getColour() does NOT override Square.getColour(), > // then we use the method Square.getColour(), since Square is the > // direct superclass of CustomSquare. > > Definitions of Inherit and Override: > > === > > Inheritance rules: JLS 3rd edition, 8.4.8 Inheritance, Overriding, and > Hiding > > A class C inherits from its direct superclass and direct > superinterfaces all non-private methods (whether abstract or not) of the > superclass and superinterfaces that are public, protected or declared > with default access in the same package as C and are neither overridden > ('8.4.8.1) nor hidden ('8.4.8.2) by a declaration in the class. > > JLS 3rd edition 8.4.8.1 Overriding (by Instance Methods) > > An instance method m1 declared in a class C overrides another instance > method, m2, declared in class A iff all of the following are true: > 1. C is a subclass of A. > 2. The signature of m1 is a subsignature (?8.4.2) of the signature > of m2. > 3. Either > o m2 is public, protected or declared with default access in > the same package as C, or > o m1 overrides a method m3, m3 distinct from m1, m3 distinct > from m2, such that m3 overrides m2. > Moreover, if m1 is not abstract, then m1 is said to implement any and > all declarations of abstract methods that it overrides. > Note that based on the JVMS 3rd edition transitive overriding rules, we > need to do an override check first for the direct superclass and if the > current class does not override the direct superclass, recursively for > the superclass' superclass. > > === > So CustomSquare.getColour() does NOT override Square.getColour() because > it is NOT in the same runtime package as C. > > > =========== > =========== > Second question: > Why do you not get an IllegalAccessException when invoking > package-private CustomSquare.getColour() from Printer.print() which > is in a different package? > > We had the same question ourselves a couple of years ago and > researched this. > > If you look closely at JVMS 2nd edition 5.4.4 Access Controls, > which goes into the details of accessibility checks for methods, > read the final sentences which say: > == > > This discussion of access control omits a related restriction on the > target of a protected field access or method invocation (the target must > be of class D or a subtype of D). That requirement is checked as part of > the verification process (?5.4.1); it is not part of link-time access > control. > == > > The point here is that the virtual machine in the case of invokevirtual, > does an accessibility check for the compile-time resolved method, > Square.getColour() in your example, but does NOT perform an > accessibility check on the link-time resolved method, or > CustomSquare.getColour() in your example. > > We proposed changing this behavior, and given that it has always been > this way, changing the specification and the multiple virtual > machines in the field would be highly likely to break multiple > shipping applications. So we decided it was not a good change > to make. > > I hope this helps explain the current behavior, do let me > know if any of this needs further clarification or if I > misunderstood your original questions. > > thanks, > Karen > > p.s. you can get even more explanation of the inheritance, overriding, > invokevirtual, invokespecial, etc. behavior, etc. in > the evaluation of the following bug: > http://monaco.sfbay.sun.com/detail.jsf?cr=4766230 > p.p.s. The package private discussion is under > http://monaco.sfbay.sun.com/detail.jsf?cr=6810795 > > > Jeffrey Sinclair wrote: >> Karen, >> >> Just to say that there is one slight bug in my reproduction (although >> the result of 'Red' stays the same). >> >> My debug statements for which class loader the class was loaded from is >> incorrect, they are done in the constructor when they should have been >> done in a static block in the class. >> >> i.e. >> public class Square { >> static { >> System.out.println("Square loaded by classloader: " + >> Square.class.getClassLoader()); >> } >> >> This will give the output: >> >> Printer loaded by classloader: sun.misc.Launcher$AppClassLoader at 553f5d07 >> Square loaded by classloader: sun.misc.Launcher$AppClassLoader at 553f5d07 >> CustomSquare loaded by classloader: java.net.URLClassLoader at 3ae48e1b >> Red >> >> Which is still unexpected since I'm getting 'Red'. >> >> Regards, >> >> Jeff >> >> On Sat, 2009-04-18 at 17:32 +0100, Jeffrey Sinclair wrote: >> >>> Karen, >>> >>> Please find attached a zip file which packages the example up with a >>> build script that uses javac and a plain old run script. >>> >>> Simply run build.sh followed by run.sh (assumes that javac and java are >>> on the PATH). >>> >>> Regards, >>> >>> Jeff >>> >>> On Thu, 2009-04-16 at 17:42 -0400, Karen Kinnear wrote: >>> >>>> Jeff, >>>> >>>> Thank you for sending me this information. I have a theory, but I >>>> would be much more comfortable running the test first. I have >>>> experimented >>>> with this, but I'd feel much more comfortable duplicating your results. >>>> >>>> I do appreciate you offering to package this up using plain old >>>> javac/ and >>>> a run script - I don't have Eclipse installed and much as I've heard it >>>> is a great product, I don't have the cycles to do that in the near >>>> future. >>>> >>>> thanks so much, >>>> Karen >>>> >>>> On Apr 14, 2009, at 5:33 PM, Jeffrey Sinclair wrote: >>>> >>>> >>>>> Karen, >>>>> >>>>> Thanks for getting back to me. >>>>> >>>>> I was using 1.6.0_10 and have now tried 1.6.0_13 and get the same >>>>> result. Specifically I've tried the following versions: >>>>> >>>>> java version "1.6.0_10" >>>>> Java(TM) SE Runtime Environment (build 1.6.0_10-b33) >>>>> Java HotSpot(TM) 64-Bit Server VM (build 11.0-b15, mixed mode) >>>>> >>>>> java version "1.6.0_13" >>>>> Java(TM) SE Runtime Environment (build 1.6.0_13-b03) >>>>> Java HotSpot(TM) 64-Bit Server VM (build 11.3-b02, mixed mode) >>>>> >>>>> I've attached my source as Eclipse projects. The URL in the main >>>>> method >>>>> points to the class files generated by the project with the >>>>> CustomSquare. I've also added some debug info relating to which class >>>>> loader is being used to load the Square, Printer and Custom Square >>>>> respectively: >>>>> >>>>> Printer loaded by classloader: sun.misc.Launcher >>>>> $AppClassLoader at 553f5d07 >>>>> Square loaded by classloader: java.net.URLClassLoader at 3ae48e1b >>>>> CustomSquare loaded by classloader: java.net.URLClassLoader at 3ae48e1b >>>>> Red >>>>> >>>>> I still get Red. The key point is that the CustomSquare is not visible >>>>> at all to the Printer code. If I stick the CustomSquare in the same >>>>> project as Printer it will then be loaded by the AppClassLoader and I >>>>> get blue. However when it is in a completely separate project and >>>>> loaded >>>>> via the URLClassLoader (and Printer loaded via the AppClassLoader) I >>>>> always get Red. If I then change getColour() to be public in both >>>>> Square >>>>> and CustomSquare I get blue. >>>>> >>>>> This is completely baffling me. I may be doing something really silly >>>>> but I can't see it :) >>>>> >>>>> Let me know if you can't replicate the issue with the attached Eclipse >>>>> project and I'll try to package it up using plain old javac and a run >>>>> script. >>>>> >>>>> Even if you do get blue with the different ClassLoaders for >>>>> Printer and >>>>> CustomSquare, I would probably argue that this is incorrect but I have >>>>> to admit that this argument could be because I've misunderstood the >>>>> meaning of 'runtime package' in terms of package private accessibility >>>>> in the JVM spec. >>>>> >>>>> Jeff >>>>> >>>>> On Tue, 2009-04-14 at 15:30 -0400, Karen Kinnear wrote: >>>>> >>>>>> Jeff, >>>>>> >>>>>> Perhaps you can help me duplicate the problem. >>>>>> >>>>>> First - what does java -version say? >>>>>> >>>>>> I took the source code appended, and modified the URL setting, >>>>>> which I believe should just give me your second example, i.e. >>>>>> CustomSquare instantiated in a different ClassLoader than Printer. >>>>>> >>>>>> When I run this with Sun's 1.6 or recent 1.7 I get "blue". >>>>>> >>>>>> What did we do differently? >>>>>> >>>>>> thanks, >>>>>> Karen >>>>>> >>>>>> Jeffrey Sinclair wrote: >>>>>> >>>>>>> hotspot-dev, >>>>>>> >>>>>>> I've been struggling to understand why HotSpot does not throw an >>>>>>> IllegalAccessError when a call is made to an override of a package >>>>>>> private method on an instance loaded by a different class >>>>>>> loader. I was >>>>>>> hoping someone could explain to me in technical detail where I'm >>>>>>> going >>>>>>> wrong because it appears to be a bug. >>>>>>> >>>>>>> (all source code is pasted at the end of the mail) >>>>>>> >>>>>>> I have a class called Square with a package private method named >>>>>>> getColour() which returns 'red'. I have a subclass of Square called >>>>>>> CustomSquare which overrides getColour() to return 'blue'. I have >>>>>>> another class called Printer which simply prints out getColour() >>>>>>> for the >>>>>>> Square passed to it. I then have two test cases: >>>>>>> >>>>>>> * Printer.print(Square) is called with a CustomSquare >>>>>>> instantiated in >>>>>>> the same ClassLoader as Printer. >>>>>>> * Printer.print(Square) is called with a CustomSquare >>>>>>> instantiated in >>>>>>> a different ClassLoader as Printer. >>>>>>> >>>>>>> What I find is that I get 'blue' in the first test (as expected) and >>>>>>> 'red' in the second test (not expected). >>>>>>> >>>>>>> >>>>>>>> From the Access Control constraints in the Linking section of >>>>>>>> the JVM >>>>>>> >>>>>>> specification (5.4.4), I as expecting an IllegalAccessError to >>>>>>> be thrown >>>>>>> because it states that a package private method is accessible to >>>>>>> a class >>>>>>> if it is declared by a class in the same runtime package. >>>>>>> >>>>>>> My understanding is that Printer is not in the same runtime >>>>>>> package as >>>>>>> CustomSquare which explains why my override does not kick in, but it >>>>>>> does not explain why an IllegalAccessError is not thrown. >>>>>>> >>>>>>> I was wondering if someone could explain the behaviour to me. >>>>>>> >>>>>>> Regards, >>>>>>> >>>>>>> Jeff >>>>>>> >>>>>>> The source code: >>>>>>> >>>>>>> public class Main { >>>>>>> public static void main(String[] args) throws Exception { >>>>>>> URL[] urls = new URL[]{new URL("path/to/CustomSquare")}; >>>>>>> URLClassLoader loader = new URLClassLoader(urls); >>>>>>> Class clazz = >>>>>>> loader.loadClass("uk.co.cooljeff.visibility.CustomSquare"); >>>>>>> Printer printer = new Printer(); >>>>>>> printer.print((Square)clazz.newInstance()); // 'red' gets printed >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> package uk.co.cooljeff.visibility; >>>>>>> >>>>>>> public class Printer { >>>>>>> public void print(Square square) { >>>>>>> System.out.println(square.getColour()); >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> package uk.co.cooljeff.visibility; >>>>>>> >>>>>>> public class CustomSquare extends Square { >>>>>>> public CustomSquare() { >>>>>>> super(5); >>>>>>> } >>>>>>> >>>>>>> @Override >>>>>>> public String getColour() { >>>>>>> return "blue"; >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> package uk.co.cooljeff.visibility; >>>>>>> >>>>>>> public class Square { >>>>>>> private float length; >>>>>>> >>>>>>> public Square(float length) { >>>>>>> this.length = length; >>>>>>> } >>>>>>> >>>>>>> public float calculateArea() { >>>>>>> return length * length; >>>>>>> } >>>>>>> >>>>>>> String getColour() { >>>>>>> return "red"; >>>>>>> } >>>>>>> } >>>>>>> >>>>>> >>>>> >>>> >> > From john.coomes at sun.com Thu Apr 23 20:36:31 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 24 Apr 2009 03:36:31 +0000 Subject: hg: jdk7/hotspot: Added tag jdk7-b56 for changeset ba12117a5e6c Message-ID: <20090424033631.BAC45E675@hg.openjdk.java.net> Changeset: b02d566c15a7 Author: xdono Date: 2009-04-23 15:54 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/rev/b02d566c15a7 Added tag jdk7-b56 for changeset ba12117a5e6c ! .hgtags From john.coomes at sun.com Thu Apr 23 20:41:04 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 24 Apr 2009 03:41:04 +0000 Subject: hg: jdk7/hotspot/corba: Added tag jdk7-b56 for changeset 553a664b807b Message-ID: <20090424034106.1A5F5E67A@hg.openjdk.java.net> Changeset: aa147fe5f386 Author: xdono Date: 2009-04-23 15:54 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/corba/rev/aa147fe5f386 Added tag jdk7-b56 for changeset 553a664b807b ! .hgtags From john.coomes at sun.com Thu Apr 23 20:48:39 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 24 Apr 2009 03:48:39 +0000 Subject: hg: jdk7/hotspot/jaxp: Added tag jdk7-b56 for changeset c197c6801271 Message-ID: <20090424034841.AC747E67F@hg.openjdk.java.net> Changeset: de2086677f62 Author: xdono Date: 2009-04-23 15:54 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/de2086677f62 Added tag jdk7-b56 for changeset c197c6801271 ! .hgtags From john.coomes at sun.com Thu Apr 23 20:52:32 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 24 Apr 2009 03:52:32 +0000 Subject: hg: jdk7/hotspot/jaxws: Added tag jdk7-b56 for changeset 0f7fbf85f7a1 Message-ID: <20090424035235.3CB04E684@hg.openjdk.java.net> Changeset: 75c6d6edb8b1 Author: xdono Date: 2009-04-23 15:54 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/75c6d6edb8b1 Added tag jdk7-b56 for changeset 0f7fbf85f7a1 ! .hgtags From john.coomes at sun.com Thu Apr 23 20:57:08 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 24 Apr 2009 03:57:08 +0000 Subject: hg: jdk7/hotspot/jdk: 3 new changesets Message-ID: <20090424035818.26E0FE689@hg.openjdk.java.net> Changeset: ffc29fac1330 Author: chegar Date: 2009-04-16 17:42 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/ffc29fac1330 4927640: Implementation of the sctp protocol Summary: An implementation-specific API for the Stream Control Transmission Protocol Reviewed-by: alanb, michaelm, jccollet ! make/com/sun/Makefile + make/com/sun/nio/Makefile + make/com/sun/nio/sctp/Exportedfiles.gmk + make/com/sun/nio/sctp/FILES_c.gmk + make/com/sun/nio/sctp/FILES_java.gmk + make/com/sun/nio/sctp/Makefile + make/com/sun/nio/sctp/mapfile-vers ! make/docs/NON_CORE_PKGS.gmk ! make/java/nio/mapfile-linux ! make/java/nio/mapfile-solaris + src/share/classes/com/sun/nio/sctp/AbstractNotificationHandler.java + src/share/classes/com/sun/nio/sctp/Association.java + src/share/classes/com/sun/nio/sctp/AssociationChangeNotification.java + src/share/classes/com/sun/nio/sctp/HandlerResult.java + src/share/classes/com/sun/nio/sctp/IllegalReceiveException.java + src/share/classes/com/sun/nio/sctp/IllegalUnbindException.java + src/share/classes/com/sun/nio/sctp/InvalidStreamException.java + src/share/classes/com/sun/nio/sctp/MessageInfo.java + src/share/classes/com/sun/nio/sctp/Notification.java + src/share/classes/com/sun/nio/sctp/NotificationHandler.java + src/share/classes/com/sun/nio/sctp/PeerAddressChangeNotification.java + src/share/classes/com/sun/nio/sctp/SctpChannel.java + src/share/classes/com/sun/nio/sctp/SctpMultiChannel.java + src/share/classes/com/sun/nio/sctp/SctpServerChannel.java + src/share/classes/com/sun/nio/sctp/SctpSocketOption.java + src/share/classes/com/sun/nio/sctp/SctpStandardSocketOption.java + src/share/classes/com/sun/nio/sctp/SendFailedNotification.java + src/share/classes/com/sun/nio/sctp/ShutdownNotification.java + src/share/classes/com/sun/nio/sctp/package-info.java + src/share/classes/sun/nio/ch/SctpMessageInfoImpl.java + src/share/classes/sun/nio/ch/SctpStdSocketOption.java + src/solaris/classes/sun/nio/ch/SctpAssocChange.java + src/solaris/classes/sun/nio/ch/SctpAssociationImpl.java + src/solaris/classes/sun/nio/ch/SctpChannelImpl.java + src/solaris/classes/sun/nio/ch/SctpMultiChannelImpl.java + src/solaris/classes/sun/nio/ch/SctpNet.java + src/solaris/classes/sun/nio/ch/SctpNotification.java + src/solaris/classes/sun/nio/ch/SctpPeerAddrChange.java + src/solaris/classes/sun/nio/ch/SctpResultContainer.java + src/solaris/classes/sun/nio/ch/SctpSendFailed.java + src/solaris/classes/sun/nio/ch/SctpServerChannelImpl.java + src/solaris/classes/sun/nio/ch/SctpShutdown.java + src/solaris/classes/sun/nio/ch/SctpSocketDispatcher.java + src/solaris/native/sun/nio/ch/Sctp.h + src/solaris/native/sun/nio/ch/SctpChannelImpl.c + src/solaris/native/sun/nio/ch/SctpNet.c + src/solaris/native/sun/nio/ch/SctpServerChannelImpl.c + src/windows/classes/sun/nio/ch/SctpChannelImpl.java + src/windows/classes/sun/nio/ch/SctpMultiChannelImpl.java + src/windows/classes/sun/nio/ch/SctpServerChannelImpl.java + test/com/sun/nio/sctp/MessageInfoTests.java + test/com/sun/nio/sctp/SctpChannel/Bind.java + test/com/sun/nio/sctp/SctpChannel/Connect.java + test/com/sun/nio/sctp/SctpChannel/Receive.java + test/com/sun/nio/sctp/SctpChannel/Send.java + test/com/sun/nio/sctp/SctpChannel/Shutdown.java + test/com/sun/nio/sctp/SctpChannel/SocketOptionTests.java + test/com/sun/nio/sctp/SctpChannel/Util.java + test/com/sun/nio/sctp/SctpMultiChannel/Send.java + test/com/sun/nio/sctp/SctpMultiChannel/Util.java + test/com/sun/nio/sctp/SctpServerChannel/Accept.java + test/com/sun/nio/sctp/SctpServerChannel/NonBlockingAccept.java + test/com/sun/nio/sctp/SctpServerChannel/Util.java Changeset: 7fd3bc37afe3 Author: xdono Date: 2009-04-16 19:10 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/7fd3bc37afe3 Merge - src/share/classes/sun/text/normalizer/UProperty.java - src/windows/native/sun/windows/awt_KeyboardFocusManager.h Changeset: 38e1121342d8 Author: xdono Date: 2009-04-23 15:55 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/38e1121342d8 Added tag jdk7-b56 for changeset 7fd3bc37afe3 ! .hgtags From john.coomes at sun.com Thu Apr 23 21:11:46 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 24 Apr 2009 04:11:46 +0000 Subject: hg: jdk7/hotspot/langtools: Added tag jdk7-b56 for changeset 825f23a4f262 Message-ID: <20090424041150.95A6CE68F@hg.openjdk.java.net> Changeset: 4cfd3a840538 Author: xdono Date: 2009-04-23 15:55 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/4cfd3a840538 Added tag jdk7-b56 for changeset 825f23a4f262 ! .hgtags From Karen.Kinnear at Sun.COM Fri Apr 24 05:43:06 2009 From: Karen.Kinnear at Sun.COM (Karen Kinnear) Date: Fri, 24 Apr 2009 08:43:06 -0400 Subject: invokevirtual on package private override in different classloader In-Reply-To: <49F0F1E3.4080403@sun.com> References: <1239417256.6194.53.camel@Lini> <49E4E45E.2020508@sun.com> <1239744795.6111.32.camel@Lini> <1240072355.6002.2.camel@Lini> <1240074472.6002.5.camel@Lini> <49F0DF27.1010704@sun.com> <49F0F1E3.4080403@sun.com> Message-ID: <4F62E260-841E-41D9-9227-E040F81962CF@Sun.COM> Thanks David for catching that. thanks, Karen On Apr 23, 2009, at 6:55 PM, David Holmes - Sun Microsystems wrote: > Hi Karen, > > I was okay with the explanation until this point: > > > This discussion of access control omits a related restriction on the > > target of a protected field access or method invocation (the target > > must be of class D or a subtype of D). That requirement is checked > as > > part of the verification process (?5.4.1); it is not part of link- > time > > access control. > > == > > > > The point here is that the virtual machine in the case of > invokevirtual, > > does an accessibility check for the compile-time resolved method, > > Square.getColour() in your example, but does NOT perform an > > accessibility check on the link-time resolved method, or > > CustomSquare.getColour() in your example. > > I don't see the relevance of the quoted rule in this case, because > this is not about the target of protected field/method access. > > As far as I can see the reason there is no IllegalAccessError is > because there is no illegal access: > - statically Printer's call to Square.getColor is fine as they are > in the same compile-time package > - at run-time because CustomSquare.getColor does not override > Square.getColor (because they are in different run-time packages), > CustomSquare.getColor is not selected, but rather Square.getColor is > - At runtime Printer and Square are in the same runtime package, so > Printer's invocation of Square.getColor is legal - even on a > CustomSquare instance > > In short there is no IllegalAccessError because > CustomSquare.getColor is not selected to be called. > > Cheers, > David Holmes > > Karen Kinnear said the following on 04/24/09 07:35: >> Jeff, >> Thank you so much for making this easy for me to reproduce. >> I think you have two questions here: >> 1) why do you get "red" when you use a different class loader >> for CustomSquare and >> 2) why do you not get an IllegalAccessError when calling >> package private CustomSquare.getColour() from a >> different runtime package. >> These are very important questions and use cases related to >> the first caused significant confusion in the past which >> actually led to a specification modification. >> Let me see if I can explain, first why "red", not "blue", >> and second why you don't get an IllegalAccessError. >> First, I too found that Printer and Square are loaded by the >> same class loader, and CustomSquare is loaded by a different class >> loader. I ran a fastdebug vm with the flag: -XX: >> +PrintSystemDictionaryAtExit. This will print out on exit, the >> internal vm cache of loaded classes including their class loaders. >> To summarize/abbreviate the scenario: >> class Main: // class loader 1 >> Printer.print((Square)CustomSquare instance); >> package 1, Printer.print // class loader 1 >> System.out.println(square.getColour()) >> package 1, class Square // class loader 1 >> public getColour() returns "blue" >> package 1, class customSquare // class loader 2 >> package private getColour() returns "red" >> The first question is why does the call in Printer to >> Square.getColour() >> print "red" when the class customSquare is loaded by >> a different class loader, but print "blue" when loaded by the >> same class loader. >> Let's start with the call in Printer. This translates to >> invokevirtual(...Square.getColour()) >> The Clarifications and Amendments to Java Virtual Machine >> Specification, 2nd edition definition of invokevirtual says: >> http://java.sun.com/docs/books/jvms/second_edition/jvms-clarify.html >> == >> The lookup algorithm used by the invokevirtual instruction (pages >> 291-292 of the JVMS, 2nd edition) should be revised as follows: >> Let C be the class of the target of the method invocation. The >> actual method to be invoked is selected by the following lookup >> procedure: >> If C contains a declaration for an instance method M with the >> same name and descriptor as the resolved method, and M overrides >> the resolved method , then M is the method to be invoked, and the >> lookup procedure terminates. >> Otherwise, if C has a superclass, this same lookup procedure is >> performed recursively using the direct superclass of C ; the method >> to be invoked is the result of the recursive invocation of this >> lookup procedure. >> Otherwise, an AbstractMethodError is raised. >> The text highlighted in red is the only change. It replaces the text >> and the resolved method is accessible from C >> in the current specification. See the revision of the definition of >> method override in the JLS 3rd Edition page for more details. >> == >> // First we do the static compile-time resolution using the >> constant pool, which in this case refers to Square.getColour() >> The named method is resolved (?5.4.3.3). >> // Then we do the dynamic run-time resolution using CustomSquare as >> the // target of the method invocation >> If C contains a declaration for an instance method M with the >> same name and descriptor as the resolved method, and M overrides >> the resolved method , then M is the method to be invoked, and the >> lookup procedure terminates. >> // The key question is: Does CustomSquare.getColour() override >> // Square.getColour()? >> // I'll get to the definitions of inherit and override in a second. >> // Result is: >> // If they use the same class loader: yes CustomSqure.getColour() >> overrides Square.getColour() >> // If they use different class loaders: no CustomSquare.getColor() >> does NOT override Square.getColour() >> * Otherwise, if C has a superclass, this same lookup procedure >> is performed recursively using the direct superclass of C ; the >> method to be invoked is the result of the recursive invocation of >> this lookup procedure. >> // If CustomSquare.getColour() does NOT override Square.getColour(), >> // then we use the method Square.getColour(), since Square is the >> // direct superclass of CustomSquare. >> Definitions of Inherit and Override: >> === >> Inheritance rules: JLS 3rd edition, 8.4.8 Inheritance, Overriding, >> and Hiding >> A class C inherits from its direct superclass and direct >> superinterfaces all non-private methods (whether abstract or not) >> of the superclass and superinterfaces that are public, protected or >> declared with default access in the same package as C and are >> neither overridden ('8.4.8.1) nor hidden ('8.4.8.2) by a >> declaration in the class. >> JLS 3rd edition 8.4.8.1 Overriding (by Instance Methods) >> An instance method m1 declared in a class C overrides another >> instance method, m2, declared in class A iff all of the following >> are true: >> 1. C is a subclass of A. >> 2. The signature of m1 is a subsignature (?8.4.2) of the >> signature of m2. >> 3. Either >> o m2 is public, protected or declared with default access >> in the same package as C, or >> o m1 overrides a method m3, m3 distinct from m1, m3 >> distinct from m2, such that m3 overrides m2. >> Moreover, if m1 is not abstract, then m1 is said to implement any >> and all declarations of abstract methods that it overrides. >> Note that based on the JVMS 3rd edition transitive overriding >> rules, we need to do an override check first for the direct >> superclass and if the current class does not override the direct >> superclass, recursively for the superclass' superclass. >> === >> So CustomSquare.getColour() does NOT override Square.getColour() >> because >> it is NOT in the same runtime package as C. >> =========== >> =========== >> Second question: >> Why do you not get an IllegalAccessException when invoking package- >> private CustomSquare.getColour() from Printer.print() which >> is in a different package? >> We had the same question ourselves a couple of years ago and >> researched this. >> If you look closely at JVMS 2nd edition 5.4.4 Access Controls, >> which goes into the details of accessibility checks for methods, >> read the final sentences which say: >> == >> This discussion of access control omits a related restriction on >> the target of a protected field access or method invocation (the >> target must be of class D or a subtype of D). That requirement is >> checked as part of the verification process (?5.4.1); it is not >> part of link-time access control. >> == >> The point here is that the virtual machine in the case of >> invokevirtual, >> does an accessibility check for the compile-time resolved method, >> Square.getColour() in your example, but does NOT perform an >> accessibility check on the link-time resolved method, or >> CustomSquare.getColour() in your example. >> We proposed changing this behavior, and given that it has always been >> this way, changing the specification and the multiple virtual >> machines in the field would be highly likely to break multiple >> shipping applications. So we decided it was not a good change >> to make. >> I hope this helps explain the current behavior, do let me >> know if any of this needs further clarification or if I >> misunderstood your original questions. >> thanks, >> Karen >> p.s. you can get even more explanation of the inheritance, >> overriding, invokevirtual, invokespecial, etc. behavior, etc. in >> the evaluation of the following bug: >> http://monaco.sfbay.sun.com/detail.jsf?cr=4766230 >> p.p.s. The package private discussion is under >> http://monaco.sfbay.sun.com/detail.jsf?cr=6810795 >> Jeffrey Sinclair wrote: >>> Karen, >>> >>> Just to say that there is one slight bug in my reproduction >>> (although >>> the result of 'Red' stays the same). >>> >>> My debug statements for which class loader the class was loaded >>> from is >>> incorrect, they are done in the constructor when they should have >>> been >>> done in a static block in the class. >>> >>> i.e. >>> public class Square { >>> static { >>> System.out.println("Square loaded by classloader: " + >>> Square.class.getClassLoader()); >>> } >>> >>> This will give the output: >>> >>> Printer loaded by classloader: sun.misc.Launcher >>> $AppClassLoader at 553f5d07 >>> Square loaded by classloader: sun.misc.Launcher >>> $AppClassLoader at 553f5d07 >>> CustomSquare loaded by classloader: java.net.URLClassLoader at 3ae48e1b >>> Red >>> >>> Which is still unexpected since I'm getting 'Red'. >>> >>> Regards, >>> >>> Jeff >>> >>> On Sat, 2009-04-18 at 17:32 +0100, Jeffrey Sinclair wrote: >>> >>>> Karen, >>>> >>>> Please find attached a zip file which packages the example up >>>> with a >>>> build script that uses javac and a plain old run script. >>>> >>>> Simply run build.sh followed by run.sh (assumes that javac and >>>> java are >>>> on the PATH). >>>> >>>> Regards, >>>> >>>> Jeff >>>> >>>> On Thu, 2009-04-16 at 17:42 -0400, Karen Kinnear wrote: >>>> >>>>> Jeff, >>>>> >>>>> Thank you for sending me this information. I have a theory, but I >>>>> would be much more comfortable running the test first. I have >>>>> experimented >>>>> with this, but I'd feel much more comfortable duplicating your >>>>> results. >>>>> >>>>> I do appreciate you offering to package this up using plain old >>>>> javac/ and >>>>> a run script - I don't have Eclipse installed and much as I've >>>>> heard it >>>>> is a great product, I don't have the cycles to do that in the >>>>> near future. >>>>> >>>>> thanks so much, >>>>> Karen >>>>> >>>>> On Apr 14, 2009, at 5:33 PM, Jeffrey Sinclair wrote: >>>>> >>>>> >>>>>> Karen, >>>>>> >>>>>> Thanks for getting back to me. >>>>>> >>>>>> I was using 1.6.0_10 and have now tried 1.6.0_13 and get the same >>>>>> result. Specifically I've tried the following versions: >>>>>> >>>>>> java version "1.6.0_10" >>>>>> Java(TM) SE Runtime Environment (build 1.6.0_10-b33) >>>>>> Java HotSpot(TM) 64-Bit Server VM (build 11.0-b15, mixed mode) >>>>>> >>>>>> java version "1.6.0_13" >>>>>> Java(TM) SE Runtime Environment (build 1.6.0_13-b03) >>>>>> Java HotSpot(TM) 64-Bit Server VM (build 11.3-b02, mixed mode) >>>>>> >>>>>> I've attached my source as Eclipse projects. The URL in the >>>>>> main method >>>>>> points to the class files generated by the project with the >>>>>> CustomSquare. I've also added some debug info relating to which >>>>>> class >>>>>> loader is being used to load the Square, Printer and Custom >>>>>> Square >>>>>> respectively: >>>>>> >>>>>> Printer loaded by classloader: sun.misc.Launcher >>>>>> $AppClassLoader at 553f5d07 >>>>>> Square loaded by classloader: java.net.URLClassLoader at 3ae48e1b >>>>>> CustomSquare loaded by classloader: >>>>>> java.net.URLClassLoader at 3ae48e1b >>>>>> Red >>>>>> >>>>>> I still get Red. The key point is that the CustomSquare is not >>>>>> visible >>>>>> at all to the Printer code. If I stick the CustomSquare in the >>>>>> same >>>>>> project as Printer it will then be loaded by the AppClassLoader >>>>>> and I >>>>>> get blue. However when it is in a completely separate project >>>>>> and loaded >>>>>> via the URLClassLoader (and Printer loaded via the >>>>>> AppClassLoader) I >>>>>> always get Red. If I then change getColour() to be public in >>>>>> both Square >>>>>> and CustomSquare I get blue. >>>>>> >>>>>> This is completely baffling me. I may be doing something really >>>>>> silly >>>>>> but I can't see it :) >>>>>> >>>>>> Let me know if you can't replicate the issue with the attached >>>>>> Eclipse >>>>>> project and I'll try to package it up using plain old javac and >>>>>> a run >>>>>> script. >>>>>> >>>>>> Even if you do get blue with the different ClassLoaders for >>>>>> Printer and >>>>>> CustomSquare, I would probably argue that this is incorrect but >>>>>> I have >>>>>> to admit that this argument could be because I've misunderstood >>>>>> the >>>>>> meaning of 'runtime package' in terms of package private >>>>>> accessibility >>>>>> in the JVM spec. >>>>>> >>>>>> Jeff >>>>>> >>>>>> On Tue, 2009-04-14 at 15:30 -0400, Karen Kinnear wrote: >>>>>> >>>>>>> Jeff, >>>>>>> >>>>>>> Perhaps you can help me duplicate the problem. >>>>>>> >>>>>>> First - what does java -version say? >>>>>>> >>>>>>> I took the source code appended, and modified the URL setting, >>>>>>> which I believe should just give me your second example, i.e. >>>>>>> CustomSquare instantiated in a different ClassLoader than >>>>>>> Printer. >>>>>>> >>>>>>> When I run this with Sun's 1.6 or recent 1.7 I get "blue". >>>>>>> >>>>>>> What did we do differently? >>>>>>> >>>>>>> thanks, >>>>>>> Karen >>>>>>> >>>>>>> Jeffrey Sinclair wrote: >>>>>>> >>>>>>>> hotspot-dev, >>>>>>>> >>>>>>>> I've been struggling to understand why HotSpot does not throw >>>>>>>> an >>>>>>>> IllegalAccessError when a call is made to an override of a >>>>>>>> package >>>>>>>> private method on an instance loaded by a different class >>>>>>>> loader. I was >>>>>>>> hoping someone could explain to me in technical detail where >>>>>>>> I'm going >>>>>>>> wrong because it appears to be a bug. >>>>>>>> >>>>>>>> (all source code is pasted at the end of the mail) >>>>>>>> >>>>>>>> I have a class called Square with a package private method >>>>>>>> named >>>>>>>> getColour() which returns 'red'. I have a subclass of Square >>>>>>>> called >>>>>>>> CustomSquare which overrides getColour() to return 'blue'. I >>>>>>>> have >>>>>>>> another class called Printer which simply prints out >>>>>>>> getColour() for the >>>>>>>> Square passed to it. I then have two test cases: >>>>>>>> >>>>>>>> * Printer.print(Square) is called with a CustomSquare >>>>>>>> instantiated in >>>>>>>> the same ClassLoader as Printer. >>>>>>>> * Printer.print(Square) is called with a CustomSquare >>>>>>>> instantiated in >>>>>>>> a different ClassLoader as Printer. >>>>>>>> >>>>>>>> What I find is that I get 'blue' in the first test (as >>>>>>>> expected) and >>>>>>>> 'red' in the second test (not expected). >>>>>>>> >>>>>>>> >>>>>>>>> From the Access Control constraints in the Linking section >>>>>>>>> of the JVM >>>>>>>> >>>>>>>> specification (5.4.4), I as expecting an IllegalAccessError >>>>>>>> to be thrown >>>>>>>> because it states that a package private method is accessible >>>>>>>> to a class >>>>>>>> if it is declared by a class in the same runtime package. >>>>>>>> >>>>>>>> My understanding is that Printer is not in the same runtime >>>>>>>> package as >>>>>>>> CustomSquare which explains why my override does not kick in, >>>>>>>> but it >>>>>>>> does not explain why an IllegalAccessError is not thrown. >>>>>>>> >>>>>>>> I was wondering if someone could explain the behaviour to me. >>>>>>>> >>>>>>>> Regards, >>>>>>>> >>>>>>>> Jeff >>>>>>>> >>>>>>>> The source code: >>>>>>>> >>>>>>>> public class Main { >>>>>>>> public static void main(String[] args) throws Exception { >>>>>>>> URL[] urls = new URL[]{new URL("path/to/CustomSquare")}; >>>>>>>> URLClassLoader loader = new URLClassLoader(urls); Class >>>>>>>> clazz = >>>>>>>> loader.loadClass("uk.co.cooljeff.visibility.CustomSquare"); >>>>>>>> Printer printer = new Printer(); >>>>>>>> printer.print((Square)clazz.newInstance()); // 'red' gets >>>>>>>> printed >>>>>>>> } } >>>>>>>> >>>>>>>> package uk.co.cooljeff.visibility; >>>>>>>> >>>>>>>> public class Printer { >>>>>>>> public void print(Square square) { >>>>>>>> System.out.println(square.getColour()); >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> package uk.co.cooljeff.visibility; >>>>>>>> >>>>>>>> public class CustomSquare extends Square { >>>>>>>> public CustomSquare() { >>>>>>>> super(5); >>>>>>>> } >>>>>>>> >>>>>>>> @Override >>>>>>>> public String getColour() { >>>>>>>> return "blue"; >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> package uk.co.cooljeff.visibility; >>>>>>>> >>>>>>>> public class Square { >>>>>>>> private float length; >>>>>>>> >>>>>>>> public Square(float length) { >>>>>>>> this.length = length; >>>>>>>> } >>>>>>>> >>>>>>>> public float calculateArea() { >>>>>>>> return length * length; >>>>>>>> } >>>>>>>> >>>>>>>> String getColour() { >>>>>>>> return "red"; >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>> >>>>>> >>>>> >>> From thomas.rodriguez at sun.com Fri Apr 24 21:37:49 2009 From: thomas.rodriguez at sun.com (thomas.rodriguez at sun.com) Date: Sat, 25 Apr 2009 04:37:49 +0000 Subject: hg: jdk7/hotspot/hotspot: 14 new changesets Message-ID: <20090425043824.58EEDE81F@hg.openjdk.java.net> Changeset: 67a2f5ba5582 Author: never Date: 2009-04-15 09:53 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/67a2f5ba5582 6684007: PrintAssembly plugin not available for linux or windows Reviewed-by: rasbold, jrose, twisti ! .hgignore ! make/windows/makefiles/vm.make ! src/share/tools/MakeDeps/BuildConfig.java ! src/share/tools/hsdis/Makefile ! src/share/tools/hsdis/README ! src/share/tools/hsdis/hsdis-demo.c ! src/share/tools/hsdis/hsdis.c Changeset: 1b42d5772ae0 Author: never Date: 2009-04-16 10:40 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/1b42d5772ae0 6449385: JCK test dup2_x200106m1 fails with Segmentation Fault on x86 Reviewed-by: kvn ! src/os_cpu/solaris_x86/vm/globals_solaris_x86.hpp Changeset: a134d9824964 Author: never Date: 2009-04-16 15:50 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/a134d9824964 6828024: verification of fixed interval usage is too weak Reviewed-by: kvn ! src/share/vm/c1/c1_LinearScan.cpp ! src/share/vm/includeDB_compiler1 Changeset: 3ec1ff9307d6 Author: never Date: 2009-04-16 21:25 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/3ec1ff9307d6 6741757: minor ctw improvements Reviewed-by: kvn ! src/share/vm/classfile/classLoader.cpp Changeset: 2bf529ef0adb Author: kvn Date: 2009-04-17 09:38 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/2bf529ef0adb 6831323: Use v8plus as minimum required hardware for current Hotspot sources Summary: Use -xarch=v8plus as default for 32-bits VM on sparc. Reviewed-by: never, twisti ! make/solaris/makefiles/sparcWorks.make Changeset: 928912ce8438 Author: never Date: 2009-04-20 14:48 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/928912ce8438 Merge Changeset: be93aad57795 Author: jrose Date: 2009-04-21 23:21 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/be93aad57795 6655646: dynamic languages need dynamically linked call sites Summary: invokedynamic instruction (JSR 292 RI) Reviewed-by: twisti, never ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/interp_masm_x86_32.cpp ! src/cpu/x86/vm/interp_masm_x86_32.hpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_32.hpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/ci/bcEscapeAnalyzer.cpp ! src/share/vm/ci/ciStreams.cpp ! src/share/vm/ci/ciStreams.hpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/verifier.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/includeDB_core ! src/share/vm/includeDB_gc_parallel ! src/share/vm/includeDB_jvmti ! src/share/vm/interpreter/abstractInterpreter.hpp ! src/share/vm/interpreter/bytecode.cpp ! src/share/vm/interpreter/bytecode.hpp ! src/share/vm/interpreter/bytecodeStream.hpp ! src/share/vm/interpreter/bytecodeTracer.cpp ! src/share/vm/interpreter/bytecodes.cpp ! src/share/vm/interpreter/bytecodes.hpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/interpreter/interpreterRuntime.hpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/interpreter/linkResolver.hpp ! src/share/vm/interpreter/rewriter.cpp ! src/share/vm/interpreter/rewriter.hpp ! src/share/vm/interpreter/templateInterpreter.cpp ! src/share/vm/interpreter/templateInterpreter.hpp ! src/share/vm/interpreter/templateInterpreterGenerator.hpp ! src/share/vm/interpreter/templateTable.cpp ! src/share/vm/interpreter/templateTable.hpp ! src/share/vm/oops/constantPoolKlass.cpp ! src/share/vm/oops/constantPoolOop.cpp ! src/share/vm/oops/constantPoolOop.hpp ! src/share/vm/oops/cpCacheKlass.cpp ! src/share/vm/oops/cpCacheOop.cpp ! src/share/vm/oops/cpCacheOop.hpp ! src/share/vm/oops/generateOopMap.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceKlassKlass.cpp ! src/share/vm/oops/methodDataOop.cpp ! src/share/vm/oops/methodOop.cpp ! src/share/vm/oops/methodOop.hpp ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/doCall.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/parse1.cpp ! src/share/vm/opto/parse2.cpp ! src/share/vm/opto/parseHelper.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvmtiClassFileReconstituter.cpp ! src/share/vm/prims/methodComparator.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: 6b2273dd6fa9 Author: twisti Date: 2009-04-21 11:16 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/6b2273dd6fa9 6822110: Add AddressLiteral class on SPARC Summary: The Address class on SPARC currently handles both, addresses and address literals, what makes the Address class more complicated than it has to be. Reviewed-by: never, kvn ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/assembler_sparc.inline.hpp ! src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp ! src/cpu/sparc/vm/c1_FrameMap_sparc.cpp ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp ! src/cpu/sparc/vm/dump_sparc.cpp ! src/cpu/sparc/vm/icBuffer_sparc.cpp ! src/cpu/sparc/vm/interp_masm_sparc.cpp ! src/cpu/sparc/vm/interpreterRT_sparc.cpp ! src/cpu/sparc/vm/jniFastGetField_sparc.cpp ! src/cpu/sparc/vm/nativeInst_sparc.cpp ! src/cpu/sparc/vm/relocInfo_sparc.cpp ! src/cpu/sparc/vm/runtime_sparc.cpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/sparc/vm/sparc.ad ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/sparc/vm/vtableStubs_sparc.cpp Changeset: 85656c8fa13f Author: twisti Date: 2009-04-22 06:09 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/85656c8fa13f Merge ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp Changeset: 04fa5affa478 Author: kvn Date: 2009-04-22 17:03 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/04fa5affa478 6709742: find_base_for_derived's use of Ideal NULL is unsafe causing crashes during register allocation Summary: Create a mach node corresponding to ideal node ConP #NULL specifically for derived pointers. Reviewed-by: never ! src/share/vm/opto/buildOopMap.cpp ! src/share/vm/opto/chaitin.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/opto/matcher.hpp Changeset: 9c6be3edf0dc Author: cfang Date: 2009-04-23 14:04 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/9c6be3edf0dc 6589834: deoptimization problem with -XX:+DeoptimizeALot Summary: Relocate the stack pointer adjustment to where uncommon_trap is actually inserted for new_array. Reviewed-by: kvn, jrose ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/graphKit.hpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/parse.hpp ! src/share/vm/opto/parse3.cpp + test/compiler/6589834/Test_ia32.java Changeset: aa92a90b1cc6 Author: cfang Date: 2009-04-24 09:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/aa92a90b1cc6 6833951: Extra ":" Causes Testcase in CR 6589834 "Parse Exception: Invalid tag: summary:" Summary: Remove the colon Reviewed-by: never ! test/compiler/6589834/Test_ia32.java Changeset: fb4c18a2ec66 Author: never Date: 2009-04-24 15:08 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/fb4c18a2ec66 6833573: C2 sparc: assert(c < 64 && (c & 1) == 0,"bad double float register") Reviewed-by: twisti ! src/cpu/sparc/vm/sparc.ad Changeset: 6ffcd0923239 Author: never Date: 2009-04-24 18:45 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/6ffcd0923239 Merge From vigneswaran.sitaraman at tcs.com Sat Apr 25 00:06:33 2009 From: vigneswaran.sitaraman at tcs.com (Vigneswaran Sitaraman) Date: Sat, 25 Apr 2009 12:36:33 +0530 Subject: JVM startup operations from java launcher Message-ID: I want to know what are the processes taking place in terms of source code of hotspot when java launcher is launcher when JNI_CreateJavaVM is invoked. How it invokes JavaVM when jvm.dll is loaded and what are sequences of operations in terms of flow of program in Hotspot Source code. Regards Vigneswaran Sitaraman Tata Consultancy Services Technopark Campus ,Kariyavattom P.O. Trivandrum - 695 581,Kerala India Ph:- +91 44 26570843 Cell:- + 91 9840694852 Mailto: vigneswaran.sitaraman at tcs.com Website: http://www.tcs.com ____________________________________________ Experience certainty. IT Services Business Solutions Outsourcing ____________________________________________ =====-----=====-----===== Notice: The information contained in this e-mail message and/or attachments to it may contain confidential or privileged information. If you are not the intended recipient, any dissemination, use, review, distribution, printing or copying of the information contained in this e-mail message and/or attachments to it are strictly prohibited. If you have received this communication in error, please notify us by reply e-mail or telephone and immediately and permanently delete the message and any attachments. Thank you From Xiaobin.Lu at Sun.COM Sat Apr 25 02:00:47 2009 From: Xiaobin.Lu at Sun.COM (Xiaobin Lu) Date: Sat, 25 Apr 2009 02:00:47 -0700 Subject: JVM startup operations from java launcher In-Reply-To: References: Message-ID: <49F2D13F.8050607@Sun.COM> Download hotspot code from http://hg.openjdk.java.net/jdk7/hotspot/hotspot and study src/share/vm/prims/jni.cpp and you should be able to find out what actions are taken when JNI_CreateJavaVM is invoked. -Xiaobin Vigneswaran Sitaraman wrote: > I want to know what are the processes taking place in terms of source code > of hotspot when java launcher is launcher when JNI_CreateJavaVM is invoked. > How it invokes JavaVM when jvm.dll is loaded and what are sequences of > operations in terms of flow of program in Hotspot Source code. > > > > Regards > > > Vigneswaran Sitaraman > Tata Consultancy Services > Technopark Campus ,Kariyavattom P.O. > Trivandrum - 695 581,Kerala > India > Ph:- +91 44 26570843 > Cell:- + 91 9840694852 > Mailto: vigneswaran.sitaraman at tcs.com > Website: http://www.tcs.com > ____________________________________________ > Experience certainty. IT Services > Business Solutions > Outsourcing > ____________________________________________ > > =====-----=====-----===== > Notice: The information contained in this e-mail > message and/or attachments to it may contain > confidential or privileged information. If you are > not the intended recipient, any dissemination, use, > review, distribution, printing or copying of the > information contained in this e-mail message > and/or attachments to it are strictly prohibited. If > you have received this communication in error, > please notify us by reply e-mail or telephone and > immediately and permanently delete the message > and any attachments. Thank you > > > > From vigneswaran.sitaraman at tcs.com Sat Apr 25 02:11:15 2009 From: vigneswaran.sitaraman at tcs.com (Vigneswaran Sitaraman) Date: Sat, 25 Apr 2009 14:41:15 +0530 Subject: JVM startup operations Message-ID: I have the hotspot source code. It is said that Sun hotspot VM starts when java launcher is typed in command line. The article in hotspot runtime information in website is good but it does not give any information about the source code level program flow. When the CreateVM function is invoked it says VM starts up, initialises bootstrap classloader but how to find the sequence of flow occuring in hotspot source code. Regards Vigneswaran Sitaraman Tata Consultancy Services Technopark Campus ,Kariyavattom P.O. Trivandrum - 695 581,Kerala India Ph:- +91 44 26570843 Cell:- + 91 9840694852 Mailto: vigneswaran.sitaraman at tcs.com Website: http://www.tcs.com ____________________________________________ Experience certainty. IT Services Business Solutions Outsourcing ____________________________________________ =====-----=====-----===== Notice: The information contained in this e-mail message and/or attachments to it may contain confidential or privileged information. If you are not the intended recipient, any dissemination, use, review, distribution, printing or copying of the information contained in this e-mail message and/or attachments to it are strictly prohibited. If you have received this communication in error, please notify us by reply e-mail or telephone and immediately and permanently delete the message and any attachments. Thank you From jeff at cooljeff.co.uk Sat Apr 25 14:08:31 2009 From: jeff at cooljeff.co.uk (Jeffrey Sinclair) Date: Sat, 25 Apr 2009 22:08:31 +0100 Subject: invokevirtual on package private override in different classloader In-Reply-To: <4F62E260-841E-41D9-9227-E040F81962CF@Sun.COM> References: <1239417256.6194.53.camel@Lini> <49E4E45E.2020508@sun.com> <1239744795.6111.32.camel@Lini> <1240072355.6002.2.camel@Lini> <1240074472.6002.5.camel@Lini> <49F0DF27.1010704@sun.com> <49F0F1E3.4080403@sun.com> <4F62E260-841E-41D9-9227-E040F81962CF@Sun.COM> Message-ID: <1240693711.6027.88.camel@Lini> Karen, Thank you for getting back to me with a detailed explanation. The concern I have is that there is a clear coupling between the JVM specification and the language specification in order to prove the correctness of my observations. Whilst I understand that the JVM specification is there to support the language specification, I was always under the impression that a formal proof of correctness for the JVM specification could be done in the absence of the language specification. To quote the JVM specification itself (section 1.2): "The Java virtual machine knows nothing of the Java programming language, only of a particular binary format, the class file format. A class file contains Java virtual machine instructions (or bytecodes) and a symbol table, as well as other ancillary information." I appreciate that as the language evolves, additions maybe added to the JVM specification to deal with advances in the language, however the amendments which you quote appear to break a fundamental principle which is explicitly stated in the JVM specification itself, namely the awareness required by the JVM on the language. My personal opinion is that this decoupling becomes of real importance as the number of languages that use the JVM as their implementation grows and specifically the rules governing package private is likely to impact technologies such as OSGI. At the moment I feel that the amendment, whilst it may have strived to remove ambiguity, has resulted in a more serious issue and should be revoked. Instead the ambiguity should be resolved within the constraints of the JVM specification itself. I could be way off here, please correct any misunderstanding I have. Unfortunately I could not access 'monaco.sfbay.sun.com' to read up on the package private discussions, the lookup fails. Regards, Jeff On Fri, 2009-04-24 at 08:43 -0400, Karen Kinnear wrote: > Thanks David for catching that. > > thanks, > Karen > > On Apr 23, 2009, at 6:55 PM, David Holmes - Sun Microsystems wrote: > > > Hi Karen, > > > > I was okay with the explanation until this point: > > > > > This discussion of access control omits a related restriction on the > > > target of a protected field access or method invocation (the target > > > must be of class D or a subtype of D). That requirement is checked > > as > > > part of the verification process (?5.4.1); it is not part of link- > > time > > > access control. > > > == > > > > > > The point here is that the virtual machine in the case of > > invokevirtual, > > > does an accessibility check for the compile-time resolved method, > > > Square.getColour() in your example, but does NOT perform an > > > accessibility check on the link-time resolved method, or > > > CustomSquare.getColour() in your example. > > > > I don't see the relevance of the quoted rule in this case, because > > this is not about the target of protected field/method access. > > > > As far as I can see the reason there is no IllegalAccessError is > > because there is no illegal access: > > - statically Printer's call to Square.getColor is fine as they are > > in the same compile-time package > > - at run-time because CustomSquare.getColor does not override > > Square.getColor (because they are in different run-time packages), > > CustomSquare.getColor is not selected, but rather Square.getColor is > > - At runtime Printer and Square are in the same runtime package, so > > Printer's invocation of Square.getColor is legal - even on a > > CustomSquare instance > > > > In short there is no IllegalAccessError because > > CustomSquare.getColor is not selected to be called. > > > > Cheers, > > David Holmes > > > > Karen Kinnear said the following on 04/24/09 07:35: > >> Jeff, > >> Thank you so much for making this easy for me to reproduce. > >> I think you have two questions here: > >> 1) why do you get "red" when you use a different class loader > >> for CustomSquare and > >> 2) why do you not get an IllegalAccessError when calling > >> package private CustomSquare.getColour() from a > >> different runtime package. > >> These are very important questions and use cases related to > >> the first caused significant confusion in the past which > >> actually led to a specification modification. > >> Let me see if I can explain, first why "red", not "blue", > >> and second why you don't get an IllegalAccessError. > >> First, I too found that Printer and Square are loaded by the > >> same class loader, and CustomSquare is loaded by a different class > >> loader. I ran a fastdebug vm with the flag: -XX: > >> +PrintSystemDictionaryAtExit. This will print out on exit, the > >> internal vm cache of loaded classes including their class loaders. > >> To summarize/abbreviate the scenario: > >> class Main: // class loader 1 > >> Printer.print((Square)CustomSquare instance); > >> package 1, Printer.print // class loader 1 > >> System.out.println(square.getColour()) > >> package 1, class Square // class loader 1 > >> public getColour() returns "blue" > >> package 1, class customSquare // class loader 2 > >> package private getColour() returns "red" > >> The first question is why does the call in Printer to > >> Square.getColour() > >> print "red" when the class customSquare is loaded by > >> a different class loader, but print "blue" when loaded by the > >> same class loader. > >> Let's start with the call in Printer. This translates to > >> invokevirtual(...Square.getColour()) > >> The Clarifications and Amendments to Java Virtual Machine > >> Specification, 2nd edition definition of invokevirtual says: > >> http://java.sun.com/docs/books/jvms/second_edition/jvms-clarify.html > >> == > >> The lookup algorithm used by the invokevirtual instruction (pages > >> 291-292 of the JVMS, 2nd edition) should be revised as follows: > >> Let C be the class of the target of the method invocation. The > >> actual method to be invoked is selected by the following lookup > >> procedure: > >> If C contains a declaration for an instance method M with the > >> same name and descriptor as the resolved method, and M overrides > >> the resolved method , then M is the method to be invoked, and the > >> lookup procedure terminates. > >> Otherwise, if C has a superclass, this same lookup procedure is > >> performed recursively using the direct superclass of C ; the method > >> to be invoked is the result of the recursive invocation of this > >> lookup procedure. > >> Otherwise, an AbstractMethodError is raised. > >> The text highlighted in red is the only change. It replaces the text > >> and the resolved method is accessible from C > >> in the current specification. See the revision of the definition of > >> method override in the JLS 3rd Edition page for more details. > >> == > >> // First we do the static compile-time resolution using the > >> constant pool, which in this case refers to Square.getColour() > >> The named method is resolved (?5.4.3.3). > >> // Then we do the dynamic run-time resolution using CustomSquare as > >> the // target of the method invocation > >> If C contains a declaration for an instance method M with the > >> same name and descriptor as the resolved method, and M overrides > >> the resolved method , then M is the method to be invoked, and the > >> lookup procedure terminates. > >> // The key question is: Does CustomSquare.getColour() override > >> // Square.getColour()? > >> // I'll get to the definitions of inherit and override in a second. > >> // Result is: > >> // If they use the same class loader: yes CustomSqure.getColour() > >> overrides Square.getColour() > >> // If they use different class loaders: no CustomSquare.getColor() > >> does NOT override Square.getColour() > >> * Otherwise, if C has a superclass, this same lookup procedure > >> is performed recursively using the direct superclass of C ; the > >> method to be invoked is the result of the recursive invocation of > >> this lookup procedure. > >> // If CustomSquare.getColour() does NOT override Square.getColour(), > >> // then we use the method Square.getColour(), since Square is the > >> // direct superclass of CustomSquare. > >> Definitions of Inherit and Override: > >> === > >> Inheritance rules: JLS 3rd edition, 8.4.8 Inheritance, Overriding, > >> and Hiding > >> A class C inherits from its direct superclass and direct > >> superinterfaces all non-private methods (whether abstract or not) > >> of the superclass and superinterfaces that are public, protected or > >> declared with default access in the same package as C and are > >> neither overridden ('8.4.8.1) nor hidden ('8.4.8.2) by a > >> declaration in the class. > >> JLS 3rd edition 8.4.8.1 Overriding (by Instance Methods) > >> An instance method m1 declared in a class C overrides another > >> instance method, m2, declared in class A iff all of the following > >> are true: > >> 1. C is a subclass of A. > >> 2. The signature of m1 is a subsignature (?8.4.2) of the > >> signature of m2. > >> 3. Either > >> o m2 is public, protected or declared with default access > >> in the same package as C, or > >> o m1 overrides a method m3, m3 distinct from m1, m3 > >> distinct from m2, such that m3 overrides m2. > >> Moreover, if m1 is not abstract, then m1 is said to implement any > >> and all declarations of abstract methods that it overrides. > >> Note that based on the JVMS 3rd edition transitive overriding > >> rules, we need to do an override check first for the direct > >> superclass and if the current class does not override the direct > >> superclass, recursively for the superclass' superclass. > >> === > >> So CustomSquare.getColour() does NOT override Square.getColour() > >> because > >> it is NOT in the same runtime package as C. > >> =========== > >> =========== > >> Second question: > >> Why do you not get an IllegalAccessException when invoking package- > >> private CustomSquare.getColour() from Printer.print() which > >> is in a different package? > >> We had the same question ourselves a couple of years ago and > >> researched this. > >> If you look closely at JVMS 2nd edition 5.4.4 Access Controls, > >> which goes into the details of accessibility checks for methods, > >> read the final sentences which say: > >> == > >> This discussion of access control omits a related restriction on > >> the target of a protected field access or method invocation (the > >> target must be of class D or a subtype of D). That requirement is > >> checked as part of the verification process (?5.4.1); it is not > >> part of link-time access control. > >> == > >> The point here is that the virtual machine in the case of > >> invokevirtual, > >> does an accessibility check for the compile-time resolved method, > >> Square.getColour() in your example, but does NOT perform an > >> accessibility check on the link-time resolved method, or > >> CustomSquare.getColour() in your example. > >> We proposed changing this behavior, and given that it has always been > >> this way, changing the specification and the multiple virtual > >> machines in the field would be highly likely to break multiple > >> shipping applications. So we decided it was not a good change > >> to make. > >> I hope this helps explain the current behavior, do let me > >> know if any of this needs further clarification or if I > >> misunderstood your original questions. > >> thanks, > >> Karen > >> p.s. you can get even more explanation of the inheritance, > >> overriding, invokevirtual, invokespecial, etc. behavior, etc. in > >> the evaluation of the following bug: > >> http://monaco.sfbay.sun.com/detail.jsf?cr=4766230 > >> p.p.s. The package private discussion is under > >> http://monaco.sfbay.sun.com/detail.jsf?cr=6810795 > >> Jeffrey Sinclair wrote: > >>> Karen, > >>> > >>> Just to say that there is one slight bug in my reproduction > >>> (although > >>> the result of 'Red' stays the same). > >>> > >>> My debug statements for which class loader the class was loaded > >>> from is > >>> incorrect, they are done in the constructor when they should have > >>> been > >>> done in a static block in the class. > >>> > >>> i.e. > >>> public class Square { > >>> static { > >>> System.out.println("Square loaded by classloader: " + > >>> Square.class.getClassLoader()); > >>> } > >>> > >>> This will give the output: > >>> > >>> Printer loaded by classloader: sun.misc.Launcher > >>> $AppClassLoader at 553f5d07 > >>> Square loaded by classloader: sun.misc.Launcher > >>> $AppClassLoader at 553f5d07 > >>> CustomSquare loaded by classloader: java.net.URLClassLoader at 3ae48e1b > >>> Red > >>> > >>> Which is still unexpected since I'm getting 'Red'. > >>> > >>> Regards, > >>> > >>> Jeff > >>> > >>> On Sat, 2009-04-18 at 17:32 +0100, Jeffrey Sinclair wrote: > >>> > >>>> Karen, > >>>> > >>>> Please find attached a zip file which packages the example up > >>>> with a > >>>> build script that uses javac and a plain old run script. > >>>> > >>>> Simply run build.sh followed by run.sh (assumes that javac and > >>>> java are > >>>> on the PATH). > >>>> > >>>> Regards, > >>>> > >>>> Jeff > >>>> > >>>> On Thu, 2009-04-16 at 17:42 -0400, Karen Kinnear wrote: > >>>> > >>>>> Jeff, > >>>>> > >>>>> Thank you for sending me this information. I have a theory, but I > >>>>> would be much more comfortable running the test first. I have > >>>>> experimented > >>>>> with this, but I'd feel much more comfortable duplicating your > >>>>> results. > >>>>> > >>>>> I do appreciate you offering to package this up using plain old > >>>>> javac/ and > >>>>> a run script - I don't have Eclipse installed and much as I've > >>>>> heard it > >>>>> is a great product, I don't have the cycles to do that in the > >>>>> near future. > >>>>> > >>>>> thanks so much, > >>>>> Karen > >>>>> > >>>>> On Apr 14, 2009, at 5:33 PM, Jeffrey Sinclair wrote: > >>>>> > >>>>> > >>>>>> Karen, > >>>>>> > >>>>>> Thanks for getting back to me. > >>>>>> > >>>>>> I was using 1.6.0_10 and have now tried 1.6.0_13 and get the same > >>>>>> result. Specifically I've tried the following versions: > >>>>>> > >>>>>> java version "1.6.0_10" > >>>>>> Java(TM) SE Runtime Environment (build 1.6.0_10-b33) > >>>>>> Java HotSpot(TM) 64-Bit Server VM (build 11.0-b15, mixed mode) > >>>>>> > >>>>>> java version "1.6.0_13" > >>>>>> Java(TM) SE Runtime Environment (build 1.6.0_13-b03) > >>>>>> Java HotSpot(TM) 64-Bit Server VM (build 11.3-b02, mixed mode) > >>>>>> > >>>>>> I've attached my source as Eclipse projects. The URL in the > >>>>>> main method > >>>>>> points to the class files generated by the project with the > >>>>>> CustomSquare. I've also added some debug info relating to which > >>>>>> class > >>>>>> loader is being used to load the Square, Printer and Custom > >>>>>> Square > >>>>>> respectively: > >>>>>> > >>>>>> Printer loaded by classloader: sun.misc.Launcher > >>>>>> $AppClassLoader at 553f5d07 > >>>>>> Square loaded by classloader: java.net.URLClassLoader at 3ae48e1b > >>>>>> CustomSquare loaded by classloader: > >>>>>> java.net.URLClassLoader at 3ae48e1b > >>>>>> Red > >>>>>> > >>>>>> I still get Red. The key point is that the CustomSquare is not > >>>>>> visible > >>>>>> at all to the Printer code. If I stick the CustomSquare in the > >>>>>> same > >>>>>> project as Printer it will then be loaded by the AppClassLoader > >>>>>> and I > >>>>>> get blue. However when it is in a completely separate project > >>>>>> and loaded > >>>>>> via the URLClassLoader (and Printer loaded via the > >>>>>> AppClassLoader) I > >>>>>> always get Red. If I then change getColour() to be public in > >>>>>> both Square > >>>>>> and CustomSquare I get blue. > >>>>>> > >>>>>> This is completely baffling me. I may be doing something really > >>>>>> silly > >>>>>> but I can't see it :) > >>>>>> > >>>>>> Let me know if you can't replicate the issue with the attached > >>>>>> Eclipse > >>>>>> project and I'll try to package it up using plain old javac and > >>>>>> a run > >>>>>> script. > >>>>>> > >>>>>> Even if you do get blue with the different ClassLoaders for > >>>>>> Printer and > >>>>>> CustomSquare, I would probably argue that this is incorrect but > >>>>>> I have > >>>>>> to admit that this argument could be because I've misunderstood > >>>>>> the > >>>>>> meaning of 'runtime package' in terms of package private > >>>>>> accessibility > >>>>>> in the JVM spec. > >>>>>> > >>>>>> Jeff > >>>>>> > >>>>>> On Tue, 2009-04-14 at 15:30 -0400, Karen Kinnear wrote: > >>>>>> > >>>>>>> Jeff, > >>>>>>> > >>>>>>> Perhaps you can help me duplicate the problem. > >>>>>>> > >>>>>>> First - what does java -version say? > >>>>>>> > >>>>>>> I took the source code appended, and modified the URL setting, > >>>>>>> which I believe should just give me your second example, i.e. > >>>>>>> CustomSquare instantiated in a different ClassLoader than > >>>>>>> Printer. > >>>>>>> > >>>>>>> When I run this with Sun's 1.6 or recent 1.7 I get "blue". > >>>>>>> > >>>>>>> What did we do differently? > >>>>>>> > >>>>>>> thanks, > >>>>>>> Karen > >>>>>>> > >>>>>>> Jeffrey Sinclair wrote: > >>>>>>> > >>>>>>>> hotspot-dev, > >>>>>>>> > >>>>>>>> I've been struggling to understand why HotSpot does not throw > >>>>>>>> an > >>>>>>>> IllegalAccessError when a call is made to an override of a > >>>>>>>> package > >>>>>>>> private method on an instance loaded by a different class > >>>>>>>> loader. I was > >>>>>>>> hoping someone could explain to me in technical detail where > >>>>>>>> I'm going > >>>>>>>> wrong because it appears to be a bug. > >>>>>>>> > >>>>>>>> (all source code is pasted at the end of the mail) > >>>>>>>> > >>>>>>>> I have a class called Square with a package private method > >>>>>>>> named > >>>>>>>> getColour() which returns 'red'. I have a subclass of Square > >>>>>>>> called > >>>>>>>> CustomSquare which overrides getColour() to return 'blue'. I > >>>>>>>> have > >>>>>>>> another class called Printer which simply prints out > >>>>>>>> getColour() for the > >>>>>>>> Square passed to it. I then have two test cases: > >>>>>>>> > >>>>>>>> * Printer.print(Square) is called with a CustomSquare > >>>>>>>> instantiated in > >>>>>>>> the same ClassLoader as Printer. > >>>>>>>> * Printer.print(Square) is called with a CustomSquare > >>>>>>>> instantiated in > >>>>>>>> a different ClassLoader as Printer. > >>>>>>>> > >>>>>>>> What I find is that I get 'blue' in the first test (as > >>>>>>>> expected) and > >>>>>>>> 'red' in the second test (not expected). > >>>>>>>> > >>>>>>>> > >>>>>>>>> From the Access Control constraints in the Linking section > >>>>>>>>> of the JVM > >>>>>>>> > >>>>>>>> specification (5.4.4), I as expecting an IllegalAccessError > >>>>>>>> to be thrown > >>>>>>>> because it states that a package private method is accessible > >>>>>>>> to a class > >>>>>>>> if it is declared by a class in the same runtime package. > >>>>>>>> > >>>>>>>> My understanding is that Printer is not in the same runtime > >>>>>>>> package as > >>>>>>>> CustomSquare which explains why my override does not kick in, > >>>>>>>> but it > >>>>>>>> does not explain why an IllegalAccessError is not thrown. > >>>>>>>> > >>>>>>>> I was wondering if someone could explain the behaviour to me. > >>>>>>>> > >>>>>>>> Regards, > >>>>>>>> > >>>>>>>> Jeff > >>>>>>>> > >>>>>>>> The source code: > >>>>>>>> > >>>>>>>> public class Main { > >>>>>>>> public static void main(String[] args) throws Exception { > >>>>>>>> URL[] urls = new URL[]{new URL("path/to/CustomSquare")}; > >>>>>>>> URLClassLoader loader = new URLClassLoader(urls); Class > >>>>>>>> clazz = > >>>>>>>> loader.loadClass("uk.co.cooljeff.visibility.CustomSquare"); > >>>>>>>> Printer printer = new Printer(); > >>>>>>>> printer.print((Square)clazz.newInstance()); // 'red' gets > >>>>>>>> printed > >>>>>>>> } } > >>>>>>>> > >>>>>>>> package uk.co.cooljeff.visibility; > >>>>>>>> > >>>>>>>> public class Printer { > >>>>>>>> public void print(Square square) { > >>>>>>>> System.out.println(square.getColour()); > >>>>>>>> } > >>>>>>>> } > >>>>>>>> > >>>>>>>> package uk.co.cooljeff.visibility; > >>>>>>>> > >>>>>>>> public class CustomSquare extends Square { > >>>>>>>> public CustomSquare() { > >>>>>>>> super(5); > >>>>>>>> } > >>>>>>>> > >>>>>>>> @Override > >>>>>>>> public String getColour() { > >>>>>>>> return "blue"; > >>>>>>>> } > >>>>>>>> } > >>>>>>>> > >>>>>>>> package uk.co.cooljeff.visibility; > >>>>>>>> > >>>>>>>> public class Square { > >>>>>>>> private float length; > >>>>>>>> > >>>>>>>> public Square(float length) { > >>>>>>>> this.length = length; > >>>>>>>> } > >>>>>>>> > >>>>>>>> public float calculateArea() { > >>>>>>>> return length * length; > >>>>>>>> } > >>>>>>>> > >>>>>>>> String getColour() { > >>>>>>>> return "red"; > >>>>>>>> } > >>>>>>>> } > >>>>>>>> > >>>>>>> > >>>>>> > >>>>> > >>> > From lsliu0507 at gmail.com Sun Apr 26 07:07:26 2009 From: lsliu0507 at gmail.com (lianshun Liu) Date: Sun, 26 Apr 2009 22:07:26 +0800 Subject: questions about openjdk & hotspot Message-ID: <9DBE5D90FB37404EB1DE6417C6D2A341@AAA> Hi, I hava two questions about OpenJDK. 1. How many lines of source code does OpenJDK have? 2. In hotspot, there are two interpreters, one is template-interpreter and the other is C++-interpreter, what's the diffrance between them? Why there are two ones? Thanks, Lianshun Liu -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20090426/15fd4e3e/attachment.html From Erik.Trimble at Sun.COM Sun Apr 26 19:10:35 2009 From: Erik.Trimble at Sun.COM (Erik Trimble) Date: Sun, 26 Apr 2009 19:10:35 -0700 Subject: questions about openjdk & hotspot In-Reply-To: <9DBE5D90FB37404EB1DE6417C6D2A341@AAA> References: <9DBE5D90FB37404EB1DE6417C6D2A341@AAA> Message-ID: <49F5141B.3050202@sun.com> lianshun Liu wrote: > Hi, > I hava two questions about OpenJDK. > 1. How many lines of source code does OpenJDK have? > 2. In hotspot, there are two interpreters, one is template-interpreter > and the other is C++-interpreter, what's the diffrance between them? > Why there are two ones? > Thanks, > Lianshun Liu A quick run through the code shows this for the entire Sun JDK 7 (which is a superset of OpenJDK, but should be close enough). Including comment and blank lines, the rough total is about 11 million lines of code. As to your second question: See here: http://weblogs.java.net/blog/simonis/archive/2007/11/template_vs_cin_1.html -- Erik Trimble Java System Support Mailstop: usca22-123 Phone: x17195 Santa Clara, CA From Karen.Kinnear at Sun.COM Mon Apr 27 10:32:31 2009 From: Karen.Kinnear at Sun.COM (Karen Kinnear) Date: Mon, 27 Apr 2009 13:32:31 -0400 Subject: invokevirtual on package private override in different classloader In-Reply-To: <1240693711.6027.88.camel@Lini> References: <1239417256.6194.53.camel@Lini> <49E4E45E.2020508@sun.com> <1239744795.6111.32.camel@Lini> <1240072355.6002.2.camel@Lini> <1240074472.6002.5.camel@Lini> <49F0DF27.1010704@sun.com> <49F0F1E3.4080403@sun.com> <4F62E260-841E-41D9-9227-E040F81962CF@Sun.COM> <1240693711.6027.88.camel@Lini> Message-ID: <49F5EC2F.1020705@sun.com> Jeff, Are there particular languages with which you are involved? Or specific concerns you have relative to OSGi? I am explicitly copying John Rose, who has been instrumental in the multi-language vm efforts, and Alex Buckley, the current owner of the Java Virtual Machine Specification. They can better respond to the directions of the specifications in this context. For the specific issue you raised, the amendment did not change the reliance of the JVMS on the Java Language Specification, so I'll assume your focus is on the larger context of the question, and this was just an example. thanks, Karen p.s. don't worry about the monaco.sfbay link, that was just an explanation that for backward compatibility we are not changing the package private interpretation for invokevirtual. Jeffrey Sinclair wrote: > Karen, > > Thank you for getting back to me with a detailed explanation. > > The concern I have is that there is a clear coupling between the JVM > specification and the language specification in order to prove the > correctness of my observations. Whilst I understand that the JVM > specification is there to support the language specification, I was > always under the impression that a formal proof of correctness for the > JVM specification could be done in the absence of the language > specification. > > To quote the JVM specification itself (section 1.2): > > "The Java virtual machine knows nothing of the Java programming > language, only of a particular binary format, the class file format. A > class file contains Java virtual machine instructions (or bytecodes) and > a symbol table, as well as other ancillary information." > > I appreciate that as the language evolves, additions maybe added to the > JVM specification to deal with advances in the language, however the > amendments which you quote appear to break a fundamental principle which > is explicitly stated in the JVM specification itself, namely the > awareness required by the JVM on the language. > > My personal opinion is that this decoupling becomes of real importance > as the number of languages that use the JVM as their implementation > grows and specifically the rules governing package private is likely to > impact technologies such as OSGI. > > At the moment I feel that the amendment, whilst it may have strived to > remove ambiguity, has resulted in a more serious issue and should be > revoked. Instead the ambiguity should be resolved within the constraints > of the JVM specification itself. > > I could be way off here, please correct any misunderstanding I have. > > Unfortunately I could not access 'monaco.sfbay.sun.com' to read up on > the package private discussions, the lookup fails. > > Regards, > > Jeff > > On Fri, 2009-04-24 at 08:43 -0400, Karen Kinnear wrote: > >>Thanks David for catching that. >> >>thanks, >>Karen >> >>On Apr 23, 2009, at 6:55 PM, David Holmes - Sun Microsystems wrote: >> >> >>>Hi Karen, >>> >>>I was okay with the explanation until this point: >>> >>> >>>>This discussion of access control omits a related restriction on the >>>>target of a protected field access or method invocation (the target >>>>must be of class D or a subtype of D). That requirement is checked >>> >>>as >>> >>>>part of the verification process (?5.4.1); it is not part of link- >>> >>>time >>> >>>>access control. >>>>== >>>> >>>>The point here is that the virtual machine in the case of >>> >>>invokevirtual, >>> >>>>does an accessibility check for the compile-time resolved method, >>>>Square.getColour() in your example, but does NOT perform an >>>>accessibility check on the link-time resolved method, or >>>>CustomSquare.getColour() in your example. >>> >>>I don't see the relevance of the quoted rule in this case, because >>>this is not about the target of protected field/method access. >>> >>>As far as I can see the reason there is no IllegalAccessError is >>>because there is no illegal access: >>>- statically Printer's call to Square.getColor is fine as they are >>>in the same compile-time package >>>- at run-time because CustomSquare.getColor does not override >>>Square.getColor (because they are in different run-time packages), >>>CustomSquare.getColor is not selected, but rather Square.getColor is >>>- At runtime Printer and Square are in the same runtime package, so >>>Printer's invocation of Square.getColor is legal - even on a >>>CustomSquare instance >>> >>>In short there is no IllegalAccessError because >>>CustomSquare.getColor is not selected to be called. >>> >>>Cheers, >>>David Holmes >>> >>>Karen Kinnear said the following on 04/24/09 07:35: >>> >>>>Jeff, >>>>Thank you so much for making this easy for me to reproduce. >>>>I think you have two questions here: >>>>1) why do you get "red" when you use a different class loader >>>>for CustomSquare and >>>>2) why do you not get an IllegalAccessError when calling >>>>package private CustomSquare.getColour() from a >>>>different runtime package. >>>>These are very important questions and use cases related to >>>>the first caused significant confusion in the past which >>>>actually led to a specification modification. >>>>Let me see if I can explain, first why "red", not "blue", >>>>and second why you don't get an IllegalAccessError. >>>>First, I too found that Printer and Square are loaded by the >>>>same class loader, and CustomSquare is loaded by a different class >>>>loader. I ran a fastdebug vm with the flag: -XX: >>>>+PrintSystemDictionaryAtExit. This will print out on exit, the >>>>internal vm cache of loaded classes including their class loaders. >>>>To summarize/abbreviate the scenario: >>>>class Main: // class loader 1 >>>> Printer.print((Square)CustomSquare instance); >>>>package 1, Printer.print // class loader 1 >>>> System.out.println(square.getColour()) >>>>package 1, class Square // class loader 1 >>>> public getColour() returns "blue" >>>>package 1, class customSquare // class loader 2 >>>> package private getColour() returns "red" >>>>The first question is why does the call in Printer to >>>>Square.getColour() >>>>print "red" when the class customSquare is loaded by >>>>a different class loader, but print "blue" when loaded by the >>>>same class loader. >>>>Let's start with the call in Printer. This translates to >>>>invokevirtual(...Square.getColour()) >>>>The Clarifications and Amendments to Java Virtual Machine >>>>Specification, 2nd edition definition of invokevirtual says: >>>>http://java.sun.com/docs/books/jvms/second_edition/jvms-clarify.html >>>>== >>>>The lookup algorithm used by the invokevirtual instruction (pages >>>>291-292 of the JVMS, 2nd edition) should be revised as follows: >>>> Let C be the class of the target of the method invocation. The >>>>actual method to be invoked is selected by the following lookup >>>>procedure: >>>> If C contains a declaration for an instance method M with the >>>>same name and descriptor as the resolved method, and M overrides >>>>the resolved method , then M is the method to be invoked, and the >>>>lookup procedure terminates. >>>> Otherwise, if C has a superclass, this same lookup procedure is >>>>performed recursively using the direct superclass of C ; the method >>>>to be invoked is the result of the recursive invocation of this >>>>lookup procedure. >>>> Otherwise, an AbstractMethodError is raised. >>>>The text highlighted in red is the only change. It replaces the text >>>> and the resolved method is accessible from C >>>>in the current specification. See the revision of the definition of >>>>method override in the JLS 3rd Edition page for more details. >>>>== >>>>// First we do the static compile-time resolution using the >>>>constant pool, which in this case refers to Square.getColour() >>>>The named method is resolved (?5.4.3.3). >>>>// Then we do the dynamic run-time resolution using CustomSquare as >>>>the // target of the method invocation >>>> If C contains a declaration for an instance method M with the >>>>same name and descriptor as the resolved method, and M overrides >>>>the resolved method , then M is the method to be invoked, and the >>>>lookup procedure terminates. >>>>// The key question is: Does CustomSquare.getColour() override >>>>// Square.getColour()? >>>>// I'll get to the definitions of inherit and override in a second. >>>>// Result is: >>>>// If they use the same class loader: yes CustomSqure.getColour() >>>>overrides Square.getColour() >>>>// If they use different class loaders: no CustomSquare.getColor() >>>>does NOT override Square.getColour() >>>> * Otherwise, if C has a superclass, this same lookup procedure >>>>is performed recursively using the direct superclass of C ; the >>>>method to be invoked is the result of the recursive invocation of >>>>this lookup procedure. >>>>// If CustomSquare.getColour() does NOT override Square.getColour(), >>>>// then we use the method Square.getColour(), since Square is the >>>>// direct superclass of CustomSquare. >>>>Definitions of Inherit and Override: >>>>=== >>>>Inheritance rules: JLS 3rd edition, 8.4.8 Inheritance, Overriding, >>>>and Hiding >>>> A class C inherits from its direct superclass and direct >>>>superinterfaces all non-private methods (whether abstract or not) >>>>of the superclass and superinterfaces that are public, protected or >>>>declared with default access in the same package as C and are >>>>neither overridden ('8.4.8.1) nor hidden ('8.4.8.2) by a >>>>declaration in the class. >>>>JLS 3rd edition 8.4.8.1 Overriding (by Instance Methods) >>>>An instance method m1 declared in a class C overrides another >>>>instance method, m2, declared in class A iff all of the following >>>>are true: >>>> 1. C is a subclass of A. >>>> 2. The signature of m1 is a subsignature (?8.4.2) of the >>>>signature of m2. >>>> 3. Either >>>> o m2 is public, protected or declared with default access >>>>in the same package as C, or >>>> o m1 overrides a method m3, m3 distinct from m1, m3 >>>>distinct from m2, such that m3 overrides m2. >>>>Moreover, if m1 is not abstract, then m1 is said to implement any >>>>and all declarations of abstract methods that it overrides. >>>>Note that based on the JVMS 3rd edition transitive overriding >>>>rules, we need to do an override check first for the direct >>>>superclass and if the current class does not override the direct >>>>superclass, recursively for the superclass' superclass. >>>>=== >>>>So CustomSquare.getColour() does NOT override Square.getColour() >>>>because >>>>it is NOT in the same runtime package as C. >>>>=========== >>>>=========== >>>>Second question: >>>>Why do you not get an IllegalAccessException when invoking package- >>>>private CustomSquare.getColour() from Printer.print() which >>>>is in a different package? >>>>We had the same question ourselves a couple of years ago and >>>>researched this. >>>>If you look closely at JVMS 2nd edition 5.4.4 Access Controls, >>>>which goes into the details of accessibility checks for methods, >>>>read the final sentences which say: >>>>== >>>>This discussion of access control omits a related restriction on >>>>the target of a protected field access or method invocation (the >>>>target must be of class D or a subtype of D). That requirement is >>>>checked as part of the verification process (?5.4.1); it is not >>>>part of link-time access control. >>>>== >>>>The point here is that the virtual machine in the case of >>>>invokevirtual, >>>>does an accessibility check for the compile-time resolved method, >>>>Square.getColour() in your example, but does NOT perform an >>>>accessibility check on the link-time resolved method, or >>>>CustomSquare.getColour() in your example. >>>>We proposed changing this behavior, and given that it has always been >>>>this way, changing the specification and the multiple virtual >>>>machines in the field would be highly likely to break multiple >>>>shipping applications. So we decided it was not a good change >>>>to make. >>>>I hope this helps explain the current behavior, do let me >>>>know if any of this needs further clarification or if I >>>>misunderstood your original questions. >>>>thanks, >>>>Karen >>>>p.s. you can get even more explanation of the inheritance, >>>>overriding, invokevirtual, invokespecial, etc. behavior, etc. in >>>>the evaluation of the following bug: >>>>http://monaco.sfbay.sun.com/detail.jsf?cr=4766230 >>>>p.p.s. The package private discussion is under >>>>http://monaco.sfbay.sun.com/detail.jsf?cr=6810795 >>>>Jeffrey Sinclair wrote: >>>> >>>>>Karen, >>>>> >>>>>Just to say that there is one slight bug in my reproduction >>>>>(although >>>>>the result of 'Red' stays the same). >>>>> >>>>>My debug statements for which class loader the class was loaded >>>>>from is >>>>>incorrect, they are done in the constructor when they should have >>>>>been >>>>>done in a static block in the class. >>>>> >>>>>i.e. >>>>>public class Square { >>>>> static { >>>>> System.out.println("Square loaded by classloader: " + >>>>>Square.class.getClassLoader()); >>>>> } >>>>> >>>>>This will give the output: >>>>> >>>>>Printer loaded by classloader: sun.misc.Launcher >>>>>$AppClassLoader at 553f5d07 >>>>>Square loaded by classloader: sun.misc.Launcher >>>>>$AppClassLoader at 553f5d07 >>>>>CustomSquare loaded by classloader: java.net.URLClassLoader at 3ae48e1b >>>>>Red >>>>> >>>>>Which is still unexpected since I'm getting 'Red'. >>>>> >>>>>Regards, >>>>> >>>>>Jeff >>>>> >>>>>On Sat, 2009-04-18 at 17:32 +0100, Jeffrey Sinclair wrote: >>>>> >>>>> >>>>>>Karen, >>>>>> >>>>>>Please find attached a zip file which packages the example up >>>>>>with a >>>>>>build script that uses javac and a plain old run script. >>>>>> >>>>>>Simply run build.sh followed by run.sh (assumes that javac and >>>>>>java are >>>>>>on the PATH). >>>>>> >>>>>>Regards, >>>>>> >>>>>>Jeff >>>>>> >>>>>>On Thu, 2009-04-16 at 17:42 -0400, Karen Kinnear wrote: >>>>>> >>>>>> >>>>>>>Jeff, >>>>>>> >>>>>>>Thank you for sending me this information. I have a theory, but I >>>>>>>would be much more comfortable running the test first. I have >>>>>>>experimented >>>>>>>with this, but I'd feel much more comfortable duplicating your >>>>>>>results. >>>>>>> >>>>>>>I do appreciate you offering to package this up using plain old >>>>>>>javac/ and >>>>>>>a run script - I don't have Eclipse installed and much as I've >>>>>>>heard it >>>>>>>is a great product, I don't have the cycles to do that in the >>>>>>>near future. >>>>>>> >>>>>>>thanks so much, >>>>>>>Karen >>>>>>> >>>>>>>On Apr 14, 2009, at 5:33 PM, Jeffrey Sinclair wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>>>Karen, >>>>>>>> >>>>>>>>Thanks for getting back to me. >>>>>>>> >>>>>>>>I was using 1.6.0_10 and have now tried 1.6.0_13 and get the same >>>>>>>>result. Specifically I've tried the following versions: >>>>>>>> >>>>>>>>java version "1.6.0_10" >>>>>>>>Java(TM) SE Runtime Environment (build 1.6.0_10-b33) >>>>>>>>Java HotSpot(TM) 64-Bit Server VM (build 11.0-b15, mixed mode) >>>>>>>> >>>>>>>>java version "1.6.0_13" >>>>>>>>Java(TM) SE Runtime Environment (build 1.6.0_13-b03) >>>>>>>>Java HotSpot(TM) 64-Bit Server VM (build 11.3-b02, mixed mode) >>>>>>>> >>>>>>>>I've attached my source as Eclipse projects. The URL in the >>>>>>>>main method >>>>>>>>points to the class files generated by the project with the >>>>>>>>CustomSquare. I've also added some debug info relating to which >>>>>>>>class >>>>>>>>loader is being used to load the Square, Printer and Custom >>>>>>>>Square >>>>>>>>respectively: >>>>>>>> >>>>>>>>Printer loaded by classloader: sun.misc.Launcher >>>>>>>>$AppClassLoader at 553f5d07 >>>>>>>>Square loaded by classloader: java.net.URLClassLoader at 3ae48e1b >>>>>>>>CustomSquare loaded by classloader: >>>>>>>>java.net.URLClassLoader at 3ae48e1b >>>>>>>>Red >>>>>>>> >>>>>>>>I still get Red. The key point is that the CustomSquare is not >>>>>>>>visible >>>>>>>>at all to the Printer code. If I stick the CustomSquare in the >>>>>>>>same >>>>>>>>project as Printer it will then be loaded by the AppClassLoader >>>>>>>>and I >>>>>>>>get blue. However when it is in a completely separate project >>>>>>>>and loaded >>>>>>>>via the URLClassLoader (and Printer loaded via the >>>>>>>>AppClassLoader) I >>>>>>>>always get Red. If I then change getColour() to be public in >>>>>>>>both Square >>>>>>>>and CustomSquare I get blue. >>>>>>>> >>>>>>>>This is completely baffling me. I may be doing something really >>>>>>>>silly >>>>>>>>but I can't see it :) >>>>>>>> >>>>>>>>Let me know if you can't replicate the issue with the attached >>>>>>>>Eclipse >>>>>>>>project and I'll try to package it up using plain old javac and >>>>>>>>a run >>>>>>>>script. >>>>>>>> >>>>>>>>Even if you do get blue with the different ClassLoaders for >>>>>>>>Printer and >>>>>>>>CustomSquare, I would probably argue that this is incorrect but >>>>>>>>I have >>>>>>>>to admit that this argument could be because I've misunderstood >>>>>>>>the >>>>>>>>meaning of 'runtime package' in terms of package private >>>>>>>>accessibility >>>>>>>>in the JVM spec. >>>>>>>> >>>>>>>>Jeff >>>>>>>> >>>>>>>>On Tue, 2009-04-14 at 15:30 -0400, Karen Kinnear wrote: >>>>>>>> >>>>>>>> >>>>>>>>>Jeff, >>>>>>>>> >>>>>>>>>Perhaps you can help me duplicate the problem. >>>>>>>>> >>>>>>>>>First - what does java -version say? >>>>>>>>> >>>>>>>>>I took the source code appended, and modified the URL setting, >>>>>>>>>which I believe should just give me your second example, i.e. >>>>>>>>>CustomSquare instantiated in a different ClassLoader than >>>>>>>>>Printer. >>>>>>>>> >>>>>>>>>When I run this with Sun's 1.6 or recent 1.7 I get "blue". >>>>>>>>> >>>>>>>>>What did we do differently? >>>>>>>>> >>>>>>>>>thanks, >>>>>>>>>Karen >>>>>>>>> >>>>>>>>>Jeffrey Sinclair wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>>>hotspot-dev, >>>>>>>>>> >>>>>>>>>>I've been struggling to understand why HotSpot does not throw >>>>>>>>>>an >>>>>>>>>>IllegalAccessError when a call is made to an override of a >>>>>>>>>>package >>>>>>>>>>private method on an instance loaded by a different class >>>>>>>>>>loader. I was >>>>>>>>>>hoping someone could explain to me in technical detail where >>>>>>>>>>I'm going >>>>>>>>>>wrong because it appears to be a bug. >>>>>>>>>> >>>>>>>>>>(all source code is pasted at the end of the mail) >>>>>>>>>> >>>>>>>>>>I have a class called Square with a package private method >>>>>>>>>>named >>>>>>>>>>getColour() which returns 'red'. I have a subclass of Square >>>>>>>>>>called >>>>>>>>>>CustomSquare which overrides getColour() to return 'blue'. I >>>>>>>>>>have >>>>>>>>>>another class called Printer which simply prints out >>>>>>>>>>getColour() for the >>>>>>>>>>Square passed to it. I then have two test cases: >>>>>>>>>> >>>>>>>>>>* Printer.print(Square) is called with a CustomSquare >>>>>>>>>>instantiated in >>>>>>>>>>the same ClassLoader as Printer. >>>>>>>>>>* Printer.print(Square) is called with a CustomSquare >>>>>>>>>>instantiated in >>>>>>>>>>a different ClassLoader as Printer. >>>>>>>>>> >>>>>>>>>>What I find is that I get 'blue' in the first test (as >>>>>>>>>>expected) and >>>>>>>>>>'red' in the second test (not expected). >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>>From the Access Control constraints in the Linking section >>>>>>>>>>>of the JVM >>>>>>>>>> >>>>>>>>>>specification (5.4.4), I as expecting an IllegalAccessError >>>>>>>>>>to be thrown >>>>>>>>>>because it states that a package private method is accessible >>>>>>>>>>to a class >>>>>>>>>>if it is declared by a class in the same runtime package. >>>>>>>>>> >>>>>>>>>>My understanding is that Printer is not in the same runtime >>>>>>>>>>package as >>>>>>>>>>CustomSquare which explains why my override does not kick in, >>>>>>>>>>but it >>>>>>>>>>does not explain why an IllegalAccessError is not thrown. >>>>>>>>>> >>>>>>>>>>I was wondering if someone could explain the behaviour to me. >>>>>>>>>> >>>>>>>>>>Regards, >>>>>>>>>> >>>>>>>>>>Jeff >>>>>>>>>> >>>>>>>>>>The source code: >>>>>>>>>> >>>>>>>>>>public class Main { >>>>>>>>>>public static void main(String[] args) throws Exception { >>>>>>>>>> URL[] urls = new URL[]{new URL("path/to/CustomSquare")}; >>>>>>>>>> URLClassLoader loader = new URLClassLoader(urls); Class >>>>>>>>>>clazz = >>>>>>>>>>loader.loadClass("uk.co.cooljeff.visibility.CustomSquare"); >>>>>>>>>> Printer printer = new Printer(); >>>>>>>>>> printer.print((Square)clazz.newInstance()); // 'red' gets >>>>>>>>>>printed >>>>>>>>>>} } >>>>>>>>>> >>>>>>>>>>package uk.co.cooljeff.visibility; >>>>>>>>>> >>>>>>>>>>public class Printer { >>>>>>>>>>public void print(Square square) { >>>>>>>>>> System.out.println(square.getColour()); >>>>>>>>>>} >>>>>>>>>>} >>>>>>>>>> >>>>>>>>>>package uk.co.cooljeff.visibility; >>>>>>>>>> >>>>>>>>>>public class CustomSquare extends Square { >>>>>>>>>>public CustomSquare() { >>>>>>>>>> super(5); >>>>>>>>>>} >>>>>>>>>> >>>>>>>>>>@Override >>>>>>>>>>public String getColour() { >>>>>>>>>> return "blue"; >>>>>>>>>>} >>>>>>>>>>} >>>>>>>>>> >>>>>>>>>>package uk.co.cooljeff.visibility; >>>>>>>>>> >>>>>>>>>>public class Square { >>>>>>>>>>private float length; >>>>>>>>>> >>>>>>>>>>public Square(float length) { >>>>>>>>>> this.length = length; >>>>>>>>>>} >>>>>>>>>> >>>>>>>>>>public float calculateArea() { >>>>>>>>>> return length * length; >>>>>>>>>>} >>>>>>>>>> >>>>>>>>>>String getColour() { >>>>>>>>>> return "red"; >>>>>>>>>>} >>>>>>>>>>} >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> > > From Karen.Kinnear at Sun.COM Mon Apr 27 11:04:36 2009 From: Karen.Kinnear at Sun.COM (Karen Kinnear) Date: Mon, 27 Apr 2009 14:04:36 -0400 Subject: invokevirtual on package private override in different classloader In-Reply-To: <49F5EC2F.1020705@sun.com> References: <1239417256.6194.53.camel@Lini> <49E4E45E.2020508@sun.com> <1239744795.6111.32.camel@Lini> <1240072355.6002.2.camel@Lini> <1240074472.6002.5.camel@Lini> <49F0DF27.1010704@sun.com> <49F0F1E3.4080403@sun.com> <4F62E260-841E-41D9-9227-E040F81962CF@Sun.COM> <1240693711.6027.88.camel@Lini> <49F5EC2F.1020705@sun.com> Message-ID: <49F5F3B4.9010202@sun.com> Resending to fix John Rose's email address thanks, Karen Karen Kinnear wrote: > Jeff, > > Are there particular languages with which you are involved? > Or specific concerns you have relative to OSGi? > > I am explicitly copying John Rose, who has been instrumental > in the multi-language vm efforts, and Alex Buckley, the > current owner of the Java Virtual Machine Specification. > They can better respond to the directions of the specifications > in this context. > > For the specific issue you raised, the amendment did not change > the reliance of the JVMS on the Java Language Specification, so > I'll assume your focus is on the larger context of the question, > and this was just an example. > > thanks, > Karen > > p.s. don't worry about the monaco.sfbay link, that was just > an explanation that for backward compatibility we are not > changing the package private interpretation for invokevirtual. > > > Jeffrey Sinclair wrote: > >> Karen, >> >> Thank you for getting back to me with a detailed explanation. >> >> The concern I have is that there is a clear coupling between the JVM >> specification and the language specification in order to prove the >> correctness of my observations. Whilst I understand that the JVM >> specification is there to support the language specification, I was >> always under the impression that a formal proof of correctness for the >> JVM specification could be done in the absence of the language >> specification. >> >> To quote the JVM specification itself (section 1.2): >> >> "The Java virtual machine knows nothing of the Java programming >> language, only of a particular binary format, the class file format. A >> class file contains Java virtual machine instructions (or bytecodes) and >> a symbol table, as well as other ancillary information." >> >> I appreciate that as the language evolves, additions maybe added to the >> JVM specification to deal with advances in the language, however the >> amendments which you quote appear to break a fundamental principle which >> is explicitly stated in the JVM specification itself, namely the >> awareness required by the JVM on the language. >> >> My personal opinion is that this decoupling becomes of real importance >> as the number of languages that use the JVM as their implementation >> grows and specifically the rules governing package private is likely to >> impact technologies such as OSGI. >> >> At the moment I feel that the amendment, whilst it may have strived to >> remove ambiguity, has resulted in a more serious issue and should be >> revoked. Instead the ambiguity should be resolved within the constraints >> of the JVM specification itself. >> >> I could be way off here, please correct any misunderstanding I have. >> >> Unfortunately I could not access 'monaco.sfbay.sun.com' to read up on >> the package private discussions, the lookup fails. >> >> Regards, >> >> Jeff >> >> On Fri, 2009-04-24 at 08:43 -0400, Karen Kinnear wrote: >> >>> Thanks David for catching that. >>> >>> thanks, >>> Karen >>> >>> On Apr 23, 2009, at 6:55 PM, David Holmes - Sun Microsystems wrote: >>> >>> >>>> Hi Karen, >>>> >>>> I was okay with the explanation until this point: >>>> >>>> >>>>> This discussion of access control omits a related restriction on the >>>>> target of a protected field access or method invocation (the target >>>>> must be of class D or a subtype of D). That requirement is checked >>>> >>>> >>>> as >>>> >>>>> part of the verification process (?5.4.1); it is not part of link- >>>> >>>> >>>> time >>>> >>>>> access control. >>>>> == >>>>> >>>>> The point here is that the virtual machine in the case of >>>> >>>> >>>> invokevirtual, >>>> >>>>> does an accessibility check for the compile-time resolved method, >>>>> Square.getColour() in your example, but does NOT perform an >>>>> accessibility check on the link-time resolved method, or >>>>> CustomSquare.getColour() in your example. >>>> >>>> >>>> I don't see the relevance of the quoted rule in this case, because >>>> this is not about the target of protected field/method access. >>>> >>>> As far as I can see the reason there is no IllegalAccessError is >>>> because there is no illegal access: >>>> - statically Printer's call to Square.getColor is fine as they are >>>> in the same compile-time package >>>> - at run-time because CustomSquare.getColor does not override >>>> Square.getColor (because they are in different run-time packages), >>>> CustomSquare.getColor is not selected, but rather Square.getColor is >>>> - At runtime Printer and Square are in the same runtime package, so >>>> Printer's invocation of Square.getColor is legal - even on a >>>> CustomSquare instance >>>> >>>> In short there is no IllegalAccessError because >>>> CustomSquare.getColor is not selected to be called. >>>> >>>> Cheers, >>>> David Holmes >>>> >>>> Karen Kinnear said the following on 04/24/09 07:35: >>>> >>>>> Jeff, >>>>> Thank you so much for making this easy for me to reproduce. >>>>> I think you have two questions here: >>>>> 1) why do you get "red" when you use a different class loader >>>>> for CustomSquare and >>>>> 2) why do you not get an IllegalAccessError when calling >>>>> package private CustomSquare.getColour() from a >>>>> different runtime package. >>>>> These are very important questions and use cases related to >>>>> the first caused significant confusion in the past which >>>>> actually led to a specification modification. >>>>> Let me see if I can explain, first why "red", not "blue", >>>>> and second why you don't get an IllegalAccessError. >>>>> First, I too found that Printer and Square are loaded by the >>>>> same class loader, and CustomSquare is loaded by a different class >>>>> loader. I ran a fastdebug vm with the flag: -XX: >>>>> +PrintSystemDictionaryAtExit. This will print out on exit, the >>>>> internal vm cache of loaded classes including their class loaders. >>>>> To summarize/abbreviate the scenario: >>>>> class Main: // class loader 1 >>>>> Printer.print((Square)CustomSquare instance); >>>>> package 1, Printer.print // class loader 1 >>>>> System.out.println(square.getColour()) >>>>> package 1, class Square // class loader 1 >>>>> public getColour() returns "blue" >>>>> package 1, class customSquare // class loader 2 >>>>> package private getColour() returns "red" >>>>> The first question is why does the call in Printer to >>>>> Square.getColour() >>>>> print "red" when the class customSquare is loaded by >>>>> a different class loader, but print "blue" when loaded by the >>>>> same class loader. >>>>> Let's start with the call in Printer. This translates to >>>>> invokevirtual(...Square.getColour()) >>>>> The Clarifications and Amendments to Java Virtual Machine >>>>> Specification, 2nd edition definition of invokevirtual says: >>>>> http://java.sun.com/docs/books/jvms/second_edition/jvms-clarify.html >>>>> == >>>>> The lookup algorithm used by the invokevirtual instruction (pages >>>>> 291-292 of the JVMS, 2nd edition) should be revised as follows: >>>>> Let C be the class of the target of the method invocation. The >>>>> actual method to be invoked is selected by the following lookup >>>>> procedure: >>>>> If C contains a declaration for an instance method M with the >>>>> same name and descriptor as the resolved method, and M overrides >>>>> the resolved method , then M is the method to be invoked, and the >>>>> lookup procedure terminates. >>>>> Otherwise, if C has a superclass, this same lookup procedure is >>>>> performed recursively using the direct superclass of C ; the >>>>> method to be invoked is the result of the recursive invocation of >>>>> this lookup procedure. >>>>> Otherwise, an AbstractMethodError is raised. >>>>> The text highlighted in red is the only change. It replaces the text >>>>> and the resolved method is accessible from C >>>>> in the current specification. See the revision of the definition >>>>> of method override in the JLS 3rd Edition page for more details. >>>>> == >>>>> // First we do the static compile-time resolution using the >>>>> constant pool, which in this case refers to Square.getColour() >>>>> The named method is resolved (?5.4.3.3). >>>>> // Then we do the dynamic run-time resolution using CustomSquare >>>>> as the // target of the method invocation >>>>> If C contains a declaration for an instance method M with the >>>>> same name and descriptor as the resolved method, and M overrides >>>>> the resolved method , then M is the method to be invoked, and the >>>>> lookup procedure terminates. >>>>> // The key question is: Does CustomSquare.getColour() override >>>>> // Square.getColour()? >>>>> // I'll get to the definitions of inherit and override in a second. >>>>> // Result is: >>>>> // If they use the same class loader: yes CustomSqure.getColour() >>>>> overrides Square.getColour() >>>>> // If they use different class loaders: no CustomSquare.getColor() >>>>> does NOT override Square.getColour() >>>>> * Otherwise, if C has a superclass, this same lookup procedure >>>>> is performed recursively using the direct superclass of C ; the >>>>> method to be invoked is the result of the recursive invocation of >>>>> this lookup procedure. >>>>> // If CustomSquare.getColour() does NOT override Square.getColour(), >>>>> // then we use the method Square.getColour(), since Square is the >>>>> // direct superclass of CustomSquare. >>>>> Definitions of Inherit and Override: >>>>> === >>>>> Inheritance rules: JLS 3rd edition, 8.4.8 Inheritance, Overriding, >>>>> and Hiding >>>>> A class C inherits from its direct superclass and direct >>>>> superinterfaces all non-private methods (whether abstract or not) >>>>> of the superclass and superinterfaces that are public, protected >>>>> or declared with default access in the same package as C and are >>>>> neither overridden ('8.4.8.1) nor hidden ('8.4.8.2) by a >>>>> declaration in the class. >>>>> JLS 3rd edition 8.4.8.1 Overriding (by Instance Methods) >>>>> An instance method m1 declared in a class C overrides another >>>>> instance method, m2, declared in class A iff all of the following >>>>> are true: >>>>> 1. C is a subclass of A. >>>>> 2. The signature of m1 is a subsignature (?8.4.2) of the >>>>> signature of m2. >>>>> 3. Either >>>>> o m2 is public, protected or declared with default access >>>>> in the same package as C, or >>>>> o m1 overrides a method m3, m3 distinct from m1, m3 >>>>> distinct from m2, such that m3 overrides m2. >>>>> Moreover, if m1 is not abstract, then m1 is said to implement any >>>>> and all declarations of abstract methods that it overrides. >>>>> Note that based on the JVMS 3rd edition transitive overriding >>>>> rules, we need to do an override check first for the direct >>>>> superclass and if the current class does not override the direct >>>>> superclass, recursively for the superclass' superclass. >>>>> === >>>>> So CustomSquare.getColour() does NOT override Square.getColour() >>>>> because >>>>> it is NOT in the same runtime package as C. >>>>> =========== >>>>> =========== >>>>> Second question: >>>>> Why do you not get an IllegalAccessException when invoking package- >>>>> private CustomSquare.getColour() from Printer.print() which >>>>> is in a different package? >>>>> We had the same question ourselves a couple of years ago and >>>>> researched this. >>>>> If you look closely at JVMS 2nd edition 5.4.4 Access Controls, >>>>> which goes into the details of accessibility checks for methods, >>>>> read the final sentences which say: >>>>> == >>>>> This discussion of access control omits a related restriction on >>>>> the target of a protected field access or method invocation (the >>>>> target must be of class D or a subtype of D). That requirement is >>>>> checked as part of the verification process (?5.4.1); it is not >>>>> part of link-time access control. >>>>> == >>>>> The point here is that the virtual machine in the case of >>>>> invokevirtual, >>>>> does an accessibility check for the compile-time resolved method, >>>>> Square.getColour() in your example, but does NOT perform an >>>>> accessibility check on the link-time resolved method, or >>>>> CustomSquare.getColour() in your example. >>>>> We proposed changing this behavior, and given that it has always been >>>>> this way, changing the specification and the multiple virtual >>>>> machines in the field would be highly likely to break multiple >>>>> shipping applications. So we decided it was not a good change >>>>> to make. >>>>> I hope this helps explain the current behavior, do let me >>>>> know if any of this needs further clarification or if I >>>>> misunderstood your original questions. >>>>> thanks, >>>>> Karen >>>>> p.s. you can get even more explanation of the inheritance, >>>>> overriding, invokevirtual, invokespecial, etc. behavior, etc. in >>>>> the evaluation of the following bug: >>>>> http://monaco.sfbay.sun.com/detail.jsf?cr=4766230 >>>>> p.p.s. The package private discussion is under >>>>> http://monaco.sfbay.sun.com/detail.jsf?cr=6810795 >>>>> Jeffrey Sinclair wrote: >>>>> >>>>>> Karen, >>>>>> >>>>>> Just to say that there is one slight bug in my reproduction >>>>>> (although >>>>>> the result of 'Red' stays the same). >>>>>> >>>>>> My debug statements for which class loader the class was loaded >>>>>> from is >>>>>> incorrect, they are done in the constructor when they should have >>>>>> been >>>>>> done in a static block in the class. >>>>>> >>>>>> i.e. >>>>>> public class Square { >>>>>> static { >>>>>> System.out.println("Square loaded by classloader: " + >>>>>> Square.class.getClassLoader()); >>>>>> } >>>>>> >>>>>> This will give the output: >>>>>> >>>>>> Printer loaded by classloader: sun.misc.Launcher >>>>>> $AppClassLoader at 553f5d07 >>>>>> Square loaded by classloader: sun.misc.Launcher >>>>>> $AppClassLoader at 553f5d07 >>>>>> CustomSquare loaded by classloader: java.net.URLClassLoader at 3ae48e1b >>>>>> Red >>>>>> >>>>>> Which is still unexpected since I'm getting 'Red'. >>>>>> >>>>>> Regards, >>>>>> >>>>>> Jeff >>>>>> >>>>>> On Sat, 2009-04-18 at 17:32 +0100, Jeffrey Sinclair wrote: >>>>>> >>>>>> >>>>>>> Karen, >>>>>>> >>>>>>> Please find attached a zip file which packages the example up >>>>>>> with a >>>>>>> build script that uses javac and a plain old run script. >>>>>>> >>>>>>> Simply run build.sh followed by run.sh (assumes that javac and >>>>>>> java are >>>>>>> on the PATH). >>>>>>> >>>>>>> Regards, >>>>>>> >>>>>>> Jeff >>>>>>> >>>>>>> On Thu, 2009-04-16 at 17:42 -0400, Karen Kinnear wrote: >>>>>>> >>>>>>> >>>>>>>> Jeff, >>>>>>>> >>>>>>>> Thank you for sending me this information. I have a theory, but I >>>>>>>> would be much more comfortable running the test first. I have >>>>>>>> experimented >>>>>>>> with this, but I'd feel much more comfortable duplicating your >>>>>>>> results. >>>>>>>> >>>>>>>> I do appreciate you offering to package this up using plain old >>>>>>>> javac/ and >>>>>>>> a run script - I don't have Eclipse installed and much as I've >>>>>>>> heard it >>>>>>>> is a great product, I don't have the cycles to do that in the >>>>>>>> near future. >>>>>>>> >>>>>>>> thanks so much, >>>>>>>> Karen >>>>>>>> >>>>>>>> On Apr 14, 2009, at 5:33 PM, Jeffrey Sinclair wrote: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> Karen, >>>>>>>>> >>>>>>>>> Thanks for getting back to me. >>>>>>>>> >>>>>>>>> I was using 1.6.0_10 and have now tried 1.6.0_13 and get the same >>>>>>>>> result. Specifically I've tried the following versions: >>>>>>>>> >>>>>>>>> java version "1.6.0_10" >>>>>>>>> Java(TM) SE Runtime Environment (build 1.6.0_10-b33) >>>>>>>>> Java HotSpot(TM) 64-Bit Server VM (build 11.0-b15, mixed mode) >>>>>>>>> >>>>>>>>> java version "1.6.0_13" >>>>>>>>> Java(TM) SE Runtime Environment (build 1.6.0_13-b03) >>>>>>>>> Java HotSpot(TM) 64-Bit Server VM (build 11.3-b02, mixed mode) >>>>>>>>> >>>>>>>>> I've attached my source as Eclipse projects. The URL in the >>>>>>>>> main method >>>>>>>>> points to the class files generated by the project with the >>>>>>>>> CustomSquare. I've also added some debug info relating to >>>>>>>>> which class >>>>>>>>> loader is being used to load the Square, Printer and Custom >>>>>>>>> Square >>>>>>>>> respectively: >>>>>>>>> >>>>>>>>> Printer loaded by classloader: sun.misc.Launcher >>>>>>>>> $AppClassLoader at 553f5d07 >>>>>>>>> Square loaded by classloader: java.net.URLClassLoader at 3ae48e1b >>>>>>>>> CustomSquare loaded by classloader: >>>>>>>>> java.net.URLClassLoader at 3ae48e1b >>>>>>>>> Red >>>>>>>>> >>>>>>>>> I still get Red. The key point is that the CustomSquare is not >>>>>>>>> visible >>>>>>>>> at all to the Printer code. If I stick the CustomSquare in the >>>>>>>>> same >>>>>>>>> project as Printer it will then be loaded by the >>>>>>>>> AppClassLoader and I >>>>>>>>> get blue. However when it is in a completely separate project >>>>>>>>> and loaded >>>>>>>>> via the URLClassLoader (and Printer loaded via the >>>>>>>>> AppClassLoader) I >>>>>>>>> always get Red. If I then change getColour() to be public in >>>>>>>>> both Square >>>>>>>>> and CustomSquare I get blue. >>>>>>>>> >>>>>>>>> This is completely baffling me. I may be doing something >>>>>>>>> really silly >>>>>>>>> but I can't see it :) >>>>>>>>> >>>>>>>>> Let me know if you can't replicate the issue with the attached >>>>>>>>> Eclipse >>>>>>>>> project and I'll try to package it up using plain old javac >>>>>>>>> and a run >>>>>>>>> script. >>>>>>>>> >>>>>>>>> Even if you do get blue with the different ClassLoaders for >>>>>>>>> Printer and >>>>>>>>> CustomSquare, I would probably argue that this is incorrect >>>>>>>>> but I have >>>>>>>>> to admit that this argument could be because I've >>>>>>>>> misunderstood the >>>>>>>>> meaning of 'runtime package' in terms of package private >>>>>>>>> accessibility >>>>>>>>> in the JVM spec. >>>>>>>>> >>>>>>>>> Jeff >>>>>>>>> >>>>>>>>> On Tue, 2009-04-14 at 15:30 -0400, Karen Kinnear wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>>> Jeff, >>>>>>>>>> >>>>>>>>>> Perhaps you can help me duplicate the problem. >>>>>>>>>> >>>>>>>>>> First - what does java -version say? >>>>>>>>>> >>>>>>>>>> I took the source code appended, and modified the URL setting, >>>>>>>>>> which I believe should just give me your second example, i.e. >>>>>>>>>> CustomSquare instantiated in a different ClassLoader than >>>>>>>>>> Printer. >>>>>>>>>> >>>>>>>>>> When I run this with Sun's 1.6 or recent 1.7 I get "blue". >>>>>>>>>> >>>>>>>>>> What did we do differently? >>>>>>>>>> >>>>>>>>>> thanks, >>>>>>>>>> Karen >>>>>>>>>> >>>>>>>>>> Jeffrey Sinclair wrote: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> hotspot-dev, >>>>>>>>>>> >>>>>>>>>>> I've been struggling to understand why HotSpot does not >>>>>>>>>>> throw an >>>>>>>>>>> IllegalAccessError when a call is made to an override of a >>>>>>>>>>> package >>>>>>>>>>> private method on an instance loaded by a different class >>>>>>>>>>> loader. I was >>>>>>>>>>> hoping someone could explain to me in technical detail where >>>>>>>>>>> I'm going >>>>>>>>>>> wrong because it appears to be a bug. >>>>>>>>>>> >>>>>>>>>>> (all source code is pasted at the end of the mail) >>>>>>>>>>> >>>>>>>>>>> I have a class called Square with a package private method >>>>>>>>>>> named >>>>>>>>>>> getColour() which returns 'red'. I have a subclass of Square >>>>>>>>>>> called >>>>>>>>>>> CustomSquare which overrides getColour() to return 'blue'. I >>>>>>>>>>> have >>>>>>>>>>> another class called Printer which simply prints out >>>>>>>>>>> getColour() for the >>>>>>>>>>> Square passed to it. I then have two test cases: >>>>>>>>>>> >>>>>>>>>>> * Printer.print(Square) is called with a CustomSquare >>>>>>>>>>> instantiated in >>>>>>>>>>> the same ClassLoader as Printer. >>>>>>>>>>> * Printer.print(Square) is called with a CustomSquare >>>>>>>>>>> instantiated in >>>>>>>>>>> a different ClassLoader as Printer. >>>>>>>>>>> >>>>>>>>>>> What I find is that I get 'blue' in the first test (as >>>>>>>>>>> expected) and >>>>>>>>>>> 'red' in the second test (not expected). >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> From the Access Control constraints in the Linking section >>>>>>>>>>>> of the JVM >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> specification (5.4.4), I as expecting an IllegalAccessError >>>>>>>>>>> to be thrown >>>>>>>>>>> because it states that a package private method is >>>>>>>>>>> accessible to a class >>>>>>>>>>> if it is declared by a class in the same runtime package. >>>>>>>>>>> >>>>>>>>>>> My understanding is that Printer is not in the same runtime >>>>>>>>>>> package as >>>>>>>>>>> CustomSquare which explains why my override does not kick >>>>>>>>>>> in, but it >>>>>>>>>>> does not explain why an IllegalAccessError is not thrown. >>>>>>>>>>> >>>>>>>>>>> I was wondering if someone could explain the behaviour to me. >>>>>>>>>>> >>>>>>>>>>> Regards, >>>>>>>>>>> >>>>>>>>>>> Jeff >>>>>>>>>>> >>>>>>>>>>> The source code: >>>>>>>>>>> >>>>>>>>>>> public class Main { >>>>>>>>>>> public static void main(String[] args) throws Exception { >>>>>>>>>>> URL[] urls = new URL[]{new URL("path/to/CustomSquare")}; >>>>>>>>>>> URLClassLoader loader = new URLClassLoader(urls); Class >>>>>>>>>>> clazz = >>>>>>>>>>> loader.loadClass("uk.co.cooljeff.visibility.CustomSquare"); >>>>>>>>>>> Printer printer = new Printer(); >>>>>>>>>>> printer.print((Square)clazz.newInstance()); // 'red' gets >>>>>>>>>>> printed >>>>>>>>>>> } } >>>>>>>>>>> >>>>>>>>>>> package uk.co.cooljeff.visibility; >>>>>>>>>>> >>>>>>>>>>> public class Printer { >>>>>>>>>>> public void print(Square square) { >>>>>>>>>>> System.out.println(square.getColour()); >>>>>>>>>>> } >>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>>> package uk.co.cooljeff.visibility; >>>>>>>>>>> >>>>>>>>>>> public class CustomSquare extends Square { >>>>>>>>>>> public CustomSquare() { >>>>>>>>>>> super(5); >>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>>> @Override >>>>>>>>>>> public String getColour() { >>>>>>>>>>> return "blue"; >>>>>>>>>>> } >>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>>> package uk.co.cooljeff.visibility; >>>>>>>>>>> >>>>>>>>>>> public class Square { >>>>>>>>>>> private float length; >>>>>>>>>>> >>>>>>>>>>> public Square(float length) { >>>>>>>>>>> this.length = length; >>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>>> public float calculateArea() { >>>>>>>>>>> return length * length; >>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>>> String getColour() { >>>>>>>>>>> return "red"; >>>>>>>>>>> } >>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >> >> > From Mark_R_Maxey at raytheon.com Mon Apr 27 06:20:21 2009 From: Mark_R_Maxey at raytheon.com (Mark R Maxey) Date: Mon, 27 Apr 2009 08:20:21 -0500 Subject: UseNUMA on Linux Message-ID: Does anyone know the status of the -XX:+UseNUMA flag on Linux? Specifically, I'm interested in its use on Itanium 64 bit SUSE Linux. Mark Maxey Raytheon, Garland 580/2/P22-1 (972)205-5760 Mark_R_Maxey at Raytheon.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20090427/a01db940/attachment.html From Mark_R_Maxey at raytheon.com Mon Apr 27 14:18:53 2009 From: Mark_R_Maxey at raytheon.com (Mark R Maxey) Date: Mon, 27 Apr 2009 16:18:53 -0500 Subject: Tracing VM Threads on Linux Message-ID: Is there a way to correlate a SUSE 10 PID to a Java thread? If you do a "ps -T", you can see a unique SPID for each Java thread. However, the CMD column is all "java". We periodically like to do an strace on a running JVM. It is nice to be able to correlate the information we see there back to our debug logs that contain the Java thread name & group name. Thanks! Mark Maxey Raytheon, Garland 580/2/P22-1 (972)205-5760 Mark_R_Maxey at Raytheon.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20090427/01d3aac6/attachment.html From jeff at cooljeff.co.uk Mon Apr 27 14:38:05 2009 From: jeff at cooljeff.co.uk (Jeffrey Sinclair) Date: Mon, 27 Apr 2009 22:38:05 +0100 Subject: invokevirtual on package private override in different classloader In-Reply-To: <49F5F3B4.9010202@sun.com> References: <1239417256.6194.53.camel@Lini> <49E4E45E.2020508@sun.com> <1239744795.6111.32.camel@Lini> <1240072355.6002.2.camel@Lini> <1240074472.6002.5.camel@Lini> <49F0DF27.1010704@sun.com> <49F0F1E3.4080403@sun.com> <4F62E260-841E-41D9-9227-E040F81962CF@Sun.COM> <1240693711.6027.88.camel@Lini> <49F5EC2F.1020705@sun.com> <49F5F3B4.9010202@sun.com> Message-ID: <1240868285.6044.70.camel@Lini> Hi Karen, There are no languages that I'm specifically involved in, I would love to some day get involved more heavily in either the JVM or the language specification. At the moment I'm just your standard Java developer with an interest in this. Apologies for causing trouble, I admit that I'm being very picky here and perhaps unnecessarily picky. The issue I have is that before this amendment, the resolution could be read without having to understand the language at all. Now the amendment has included the word 'override' which I believe is a language feature because it is not defined in the vm specification outside of the condensed chapter on the Java Programming Language Concepts. If I were to write an implementation of the JVM, I now need to understand the behaviour of override which in itself is tied into a specific language specification version. Hence the JVM now has a dependency on the language in order to deal with package private matching signatures in different runtime packages (and in fact now for any method resolution). For example, what is permitted as an 'override' means something different between Java 1.4 and Java 5 due to covariant return types. Let me know if my point is not clear or is incorrect. Regards, Jeff On Mon, 2009-04-27 at 14:04 -0400, Karen Kinnear wrote: > Resending to fix John Rose's email address > > thanks, > Karen > > Karen Kinnear wrote: > > Jeff, > > > > Are there particular languages with which you are involved? > > Or specific concerns you have relative to OSGi? > > > > I am explicitly copying John Rose, who has been instrumental > > in the multi-language vm efforts, and Alex Buckley, the > > current owner of the Java Virtual Machine Specification. > > They can better respond to the directions of the specifications > > in this context. > > > > For the specific issue you raised, the amendment did not change > > the reliance of the JVMS on the Java Language Specification, so > > I'll assume your focus is on the larger context of the question, > > and this was just an example. > > > > thanks, > > Karen > > > > p.s. don't worry about the monaco.sfbay link, that was just > > an explanation that for backward compatibility we are not > > changing the package private interpretation for invokevirtual. > > > > > > Jeffrey Sinclair wrote: > > > >> Karen, > >> > >> Thank you for getting back to me with a detailed explanation. > >> > >> The concern I have is that there is a clear coupling between the JVM > >> specification and the language specification in order to prove the > >> correctness of my observations. Whilst I understand that the JVM > >> specification is there to support the language specification, I was > >> always under the impression that a formal proof of correctness for the > >> JVM specification could be done in the absence of the language > >> specification. > >> > >> To quote the JVM specification itself (section 1.2): > >> > >> "The Java virtual machine knows nothing of the Java programming > >> language, only of a particular binary format, the class file format. A > >> class file contains Java virtual machine instructions (or bytecodes) and > >> a symbol table, as well as other ancillary information." > >> > >> I appreciate that as the language evolves, additions maybe added to the > >> JVM specification to deal with advances in the language, however the > >> amendments which you quote appear to break a fundamental principle which > >> is explicitly stated in the JVM specification itself, namely the > >> awareness required by the JVM on the language. > >> > >> My personal opinion is that this decoupling becomes of real importance > >> as the number of languages that use the JVM as their implementation > >> grows and specifically the rules governing package private is likely to > >> impact technologies such as OSGI. > >> > >> At the moment I feel that the amendment, whilst it may have strived to > >> remove ambiguity, has resulted in a more serious issue and should be > >> revoked. Instead the ambiguity should be resolved within the constraints > >> of the JVM specification itself. > >> > >> I could be way off here, please correct any misunderstanding I have. > >> > >> Unfortunately I could not access 'monaco.sfbay.sun.com' to read up on > >> the package private discussions, the lookup fails. > >> > >> Regards, > >> > >> Jeff > >> > >> On Fri, 2009-04-24 at 08:43 -0400, Karen Kinnear wrote: > >> > >>> Thanks David for catching that. > >>> > >>> thanks, > >>> Karen > >>> > >>> On Apr 23, 2009, at 6:55 PM, David Holmes - Sun Microsystems wrote: > >>> > >>> > >>>> Hi Karen, > >>>> > >>>> I was okay with the explanation until this point: > >>>> > >>>> > >>>>> This discussion of access control omits a related restriction on the > >>>>> target of a protected field access or method invocation (the target > >>>>> must be of class D or a subtype of D). That requirement is checked > >>>> > >>>> > >>>> as > >>>> > >>>>> part of the verification process (?5.4.1); it is not part of link- > >>>> > >>>> > >>>> time > >>>> > >>>>> access control. > >>>>> == > >>>>> > >>>>> The point here is that the virtual machine in the case of > >>>> > >>>> > >>>> invokevirtual, > >>>> > >>>>> does an accessibility check for the compile-time resolved method, > >>>>> Square.getColour() in your example, but does NOT perform an > >>>>> accessibility check on the link-time resolved method, or > >>>>> CustomSquare.getColour() in your example. > >>>> > >>>> > >>>> I don't see the relevance of the quoted rule in this case, because > >>>> this is not about the target of protected field/method access. > >>>> > >>>> As far as I can see the reason there is no IllegalAccessError is > >>>> because there is no illegal access: > >>>> - statically Printer's call to Square.getColor is fine as they are > >>>> in the same compile-time package > >>>> - at run-time because CustomSquare.getColor does not override > >>>> Square.getColor (because they are in different run-time packages), > >>>> CustomSquare.getColor is not selected, but rather Square.getColor is > >>>> - At runtime Printer and Square are in the same runtime package, so > >>>> Printer's invocation of Square.getColor is legal - even on a > >>>> CustomSquare instance > >>>> > >>>> In short there is no IllegalAccessError because > >>>> CustomSquare.getColor is not selected to be called. > >>>> > >>>> Cheers, > >>>> David Holmes > >>>> > >>>> Karen Kinnear said the following on 04/24/09 07:35: > >>>> > >>>>> Jeff, > >>>>> Thank you so much for making this easy for me to reproduce. > >>>>> I think you have two questions here: > >>>>> 1) why do you get "red" when you use a different class loader > >>>>> for CustomSquare and > >>>>> 2) why do you not get an IllegalAccessError when calling > >>>>> package private CustomSquare.getColour() from a > >>>>> different runtime package. > >>>>> These are very important questions and use cases related to > >>>>> the first caused significant confusion in the past which > >>>>> actually led to a specification modification. > >>>>> Let me see if I can explain, first why "red", not "blue", > >>>>> and second why you don't get an IllegalAccessError. > >>>>> First, I too found that Printer and Square are loaded by the > >>>>> same class loader, and CustomSquare is loaded by a different class > >>>>> loader. I ran a fastdebug vm with the flag: -XX: > >>>>> +PrintSystemDictionaryAtExit. This will print out on exit, the > >>>>> internal vm cache of loaded classes including their class loaders. > >>>>> To summarize/abbreviate the scenario: > >>>>> class Main: // class loader 1 > >>>>> Printer.print((Square)CustomSquare instance); > >>>>> package 1, Printer.print // class loader 1 > >>>>> System.out.println(square.getColour()) > >>>>> package 1, class Square // class loader 1 > >>>>> public getColour() returns "blue" > >>>>> package 1, class customSquare // class loader 2 > >>>>> package private getColour() returns "red" > >>>>> The first question is why does the call in Printer to > >>>>> Square.getColour() > >>>>> print "red" when the class customSquare is loaded by > >>>>> a different class loader, but print "blue" when loaded by the > >>>>> same class loader. > >>>>> Let's start with the call in Printer. This translates to > >>>>> invokevirtual(...Square.getColour()) > >>>>> The Clarifications and Amendments to Java Virtual Machine > >>>>> Specification, 2nd edition definition of invokevirtual says: > >>>>> http://java.sun.com/docs/books/jvms/second_edition/jvms-clarify.html > >>>>> == > >>>>> The lookup algorithm used by the invokevirtual instruction (pages > >>>>> 291-292 of the JVMS, 2nd edition) should be revised as follows: > >>>>> Let C be the class of the target of the method invocation. The > >>>>> actual method to be invoked is selected by the following lookup > >>>>> procedure: > >>>>> If C contains a declaration for an instance method M with the > >>>>> same name and descriptor as the resolved method, and M overrides > >>>>> the resolved method , then M is the method to be invoked, and the > >>>>> lookup procedure terminates. > >>>>> Otherwise, if C has a superclass, this same lookup procedure is > >>>>> performed recursively using the direct superclass of C ; the > >>>>> method to be invoked is the result of the recursive invocation of > >>>>> this lookup procedure. > >>>>> Otherwise, an AbstractMethodError is raised. > >>>>> The text highlighted in red is the only change. It replaces the text > >>>>> and the resolved method is accessible from C > >>>>> in the current specification. See the revision of the definition > >>>>> of method override in the JLS 3rd Edition page for more details. > >>>>> == > >>>>> // First we do the static compile-time resolution using the > >>>>> constant pool, which in this case refers to Square.getColour() > >>>>> The named method is resolved (?5.4.3.3). > >>>>> // Then we do the dynamic run-time resolution using CustomSquare > >>>>> as the // target of the method invocation > >>>>> If C contains a declaration for an instance method M with the > >>>>> same name and descriptor as the resolved method, and M overrides > >>>>> the resolved method , then M is the method to be invoked, and the > >>>>> lookup procedure terminates. > >>>>> // The key question is: Does CustomSquare.getColour() override > >>>>> // Square.getColour()? > >>>>> // I'll get to the definitions of inherit and override in a second. > >>>>> // Result is: > >>>>> // If they use the same class loader: yes CustomSqure.getColour() > >>>>> overrides Square.getColour() > >>>>> // If they use different class loaders: no CustomSquare.getColor() > >>>>> does NOT override Square.getColour() > >>>>> * Otherwise, if C has a superclass, this same lookup procedure > >>>>> is performed recursively using the direct superclass of C ; the > >>>>> method to be invoked is the result of the recursive invocation of > >>>>> this lookup procedure. > >>>>> // If CustomSquare.getColour() does NOT override Square.getColour(), > >>>>> // then we use the method Square.getColour(), since Square is the > >>>>> // direct superclass of CustomSquare. > >>>>> Definitions of Inherit and Override: > >>>>> === > >>>>> Inheritance rules: JLS 3rd edition, 8.4.8 Inheritance, Overriding, > >>>>> and Hiding > >>>>> A class C inherits from its direct superclass and direct > >>>>> superinterfaces all non-private methods (whether abstract or not) > >>>>> of the superclass and superinterfaces that are public, protected > >>>>> or declared with default access in the same package as C and are > >>>>> neither overridden ('8.4.8.1) nor hidden ('8.4.8.2) by a > >>>>> declaration in the class. > >>>>> JLS 3rd edition 8.4.8.1 Overriding (by Instance Methods) > >>>>> An instance method m1 declared in a class C overrides another > >>>>> instance method, m2, declared in class A iff all of the following > >>>>> are true: > >>>>> 1. C is a subclass of A. > >>>>> 2. The signature of m1 is a subsignature (?8.4.2) of the > >>>>> signature of m2. > >>>>> 3. Either > >>>>> o m2 is public, protected or declared with default access > >>>>> in the same package as C, or > >>>>> o m1 overrides a method m3, m3 distinct from m1, m3 > >>>>> distinct from m2, such that m3 overrides m2. > >>>>> Moreover, if m1 is not abstract, then m1 is said to implement any > >>>>> and all declarations of abstract methods that it overrides. > >>>>> Note that based on the JVMS 3rd edition transitive overriding > >>>>> rules, we need to do an override check first for the direct > >>>>> superclass and if the current class does not override the direct > >>>>> superclass, recursively for the superclass' superclass. > >>>>> === > >>>>> So CustomSquare.getColour() does NOT override Square.getColour() > >>>>> because > >>>>> it is NOT in the same runtime package as C. > >>>>> =========== > >>>>> =========== > >>>>> Second question: > >>>>> Why do you not get an IllegalAccessException when invoking package- > >>>>> private CustomSquare.getColour() from Printer.print() which > >>>>> is in a different package? > >>>>> We had the same question ourselves a couple of years ago and > >>>>> researched this. > >>>>> If you look closely at JVMS 2nd edition 5.4.4 Access Controls, > >>>>> which goes into the details of accessibility checks for methods, > >>>>> read the final sentences which say: > >>>>> == > >>>>> This discussion of access control omits a related restriction on > >>>>> the target of a protected field access or method invocation (the > >>>>> target must be of class D or a subtype of D). That requirement is > >>>>> checked as part of the verification process (?5.4.1); it is not > >>>>> part of link-time access control. > >>>>> == > >>>>> The point here is that the virtual machine in the case of > >>>>> invokevirtual, > >>>>> does an accessibility check for the compile-time resolved method, > >>>>> Square.getColour() in your example, but does NOT perform an > >>>>> accessibility check on the link-time resolved method, or > >>>>> CustomSquare.getColour() in your example. > >>>>> We proposed changing this behavior, and given that it has always been > >>>>> this way, changing the specification and the multiple virtual > >>>>> machines in the field would be highly likely to break multiple > >>>>> shipping applications. So we decided it was not a good change > >>>>> to make. > >>>>> I hope this helps explain the current behavior, do let me > >>>>> know if any of this needs further clarification or if I > >>>>> misunderstood your original questions. > >>>>> thanks, > >>>>> Karen > >>>>> p.s. you can get even more explanation of the inheritance, > >>>>> overriding, invokevirtual, invokespecial, etc. behavior, etc. in > >>>>> the evaluation of the following bug: > >>>>> http://monaco.sfbay.sun.com/detail.jsf?cr=4766230 > >>>>> p.p.s. The package private discussion is under > >>>>> http://monaco.sfbay.sun.com/detail.jsf?cr=6810795 > >>>>> Jeffrey Sinclair wrote: > >>>>> > >>>>>> Karen, > >>>>>> > >>>>>> Just to say that there is one slight bug in my reproduction > >>>>>> (although > >>>>>> the result of 'Red' stays the same). > >>>>>> > >>>>>> My debug statements for which class loader the class was loaded > >>>>>> from is > >>>>>> incorrect, they are done in the constructor when they should have > >>>>>> been > >>>>>> done in a static block in the class. > >>>>>> > >>>>>> i.e. > >>>>>> public class Square { > >>>>>> static { > >>>>>> System.out.println("Square loaded by classloader: " + > >>>>>> Square.class.getClassLoader()); > >>>>>> } > >>>>>> > >>>>>> This will give the output: > >>>>>> > >>>>>> Printer loaded by classloader: sun.misc.Launcher > >>>>>> $AppClassLoader at 553f5d07 > >>>>>> Square loaded by classloader: sun.misc.Launcher > >>>>>> $AppClassLoader at 553f5d07 > >>>>>> CustomSquare loaded by classloader: java.net.URLClassLoader at 3ae48e1b > >>>>>> Red > >>>>>> > >>>>>> Which is still unexpected since I'm getting 'Red'. > >>>>>> > >>>>>> Regards, > >>>>>> > >>>>>> Jeff > >>>>>> > >>>>>> On Sat, 2009-04-18 at 17:32 +0100, Jeffrey Sinclair wrote: > >>>>>> > >>>>>> > >>>>>>> Karen, > >>>>>>> > >>>>>>> Please find attached a zip file which packages the example up > >>>>>>> with a > >>>>>>> build script that uses javac and a plain old run script. > >>>>>>> > >>>>>>> Simply run build.sh followed by run.sh (assumes that javac and > >>>>>>> java are > >>>>>>> on the PATH). > >>>>>>> > >>>>>>> Regards, > >>>>>>> > >>>>>>> Jeff > >>>>>>> > >>>>>>> On Thu, 2009-04-16 at 17:42 -0400, Karen Kinnear wrote: > >>>>>>> > >>>>>>> > >>>>>>>> Jeff, > >>>>>>>> > >>>>>>>> Thank you for sending me this information. I have a theory, but I > >>>>>>>> would be much more comfortable running the test first. I have > >>>>>>>> experimented > >>>>>>>> with this, but I'd feel much more comfortable duplicating your > >>>>>>>> results. > >>>>>>>> > >>>>>>>> I do appreciate you offering to package this up using plain old > >>>>>>>> javac/ and > >>>>>>>> a run script - I don't have Eclipse installed and much as I've > >>>>>>>> heard it > >>>>>>>> is a great product, I don't have the cycles to do that in the > >>>>>>>> near future. > >>>>>>>> > >>>>>>>> thanks so much, > >>>>>>>> Karen > >>>>>>>> > >>>>>>>> On Apr 14, 2009, at 5:33 PM, Jeffrey Sinclair wrote: > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>>> Karen, > >>>>>>>>> > >>>>>>>>> Thanks for getting back to me. > >>>>>>>>> > >>>>>>>>> I was using 1.6.0_10 and have now tried 1.6.0_13 and get the same > >>>>>>>>> result. Specifically I've tried the following versions: > >>>>>>>>> > >>>>>>>>> java version "1.6.0_10" > >>>>>>>>> Java(TM) SE Runtime Environment (build 1.6.0_10-b33) > >>>>>>>>> Java HotSpot(TM) 64-Bit Server VM (build 11.0-b15, mixed mode) > >>>>>>>>> > >>>>>>>>> java version "1.6.0_13" > >>>>>>>>> Java(TM) SE Runtime Environment (build 1.6.0_13-b03) > >>>>>>>>> Java HotSpot(TM) 64-Bit Server VM (build 11.3-b02, mixed mode) > >>>>>>>>> > >>>>>>>>> I've attached my source as Eclipse projects. The URL in the > >>>>>>>>> main method > >>>>>>>>> points to the class files generated by the project with the > >>>>>>>>> CustomSquare. I've also added some debug info relating to > >>>>>>>>> which class > >>>>>>>>> loader is being used to load the Square, Printer and Custom > >>>>>>>>> Square > >>>>>>>>> respectively: > >>>>>>>>> > >>>>>>>>> Printer loaded by classloader: sun.misc.Launcher > >>>>>>>>> $AppClassLoader at 553f5d07 > >>>>>>>>> Square loaded by classloader: java.net.URLClassLoader at 3ae48e1b > >>>>>>>>> CustomSquare loaded by classloader: > >>>>>>>>> java.net.URLClassLoader at 3ae48e1b > >>>>>>>>> Red > >>>>>>>>> > >>>>>>>>> I still get Red. The key point is that the CustomSquare is not > >>>>>>>>> visible > >>>>>>>>> at all to the Printer code. If I stick the CustomSquare in the > >>>>>>>>> same > >>>>>>>>> project as Printer it will then be loaded by the > >>>>>>>>> AppClassLoader and I > >>>>>>>>> get blue. However when it is in a completely separate project > >>>>>>>>> and loaded > >>>>>>>>> via the URLClassLoader (and Printer loaded via the > >>>>>>>>> AppClassLoader) I > >>>>>>>>> always get Red. If I then change getColour() to be public in > >>>>>>>>> both Square > >>>>>>>>> and CustomSquare I get blue. > >>>>>>>>> > >>>>>>>>> This is completely baffling me. I may be doing something > >>>>>>>>> really silly > >>>>>>>>> but I can't see it :) > >>>>>>>>> > >>>>>>>>> Let me know if you can't replicate the issue with the attached > >>>>>>>>> Eclipse > >>>>>>>>> project and I'll try to package it up using plain old javac > >>>>>>>>> and a run > >>>>>>>>> script. > >>>>>>>>> > >>>>>>>>> Even if you do get blue with the different ClassLoaders for > >>>>>>>>> Printer and > >>>>>>>>> CustomSquare, I would probably argue that this is incorrect > >>>>>>>>> but I have > >>>>>>>>> to admit that this argument could be because I've > >>>>>>>>> misunderstood the > >>>>>>>>> meaning of 'runtime package' in terms of package private > >>>>>>>>> accessibility > >>>>>>>>> in the JVM spec. > >>>>>>>>> > >>>>>>>>> Jeff > >>>>>>>>> > >>>>>>>>> On Tue, 2009-04-14 at 15:30 -0400, Karen Kinnear wrote: > >>>>>>>>> > >>>>>>>>> > >>>>>>>>>> Jeff, > >>>>>>>>>> > >>>>>>>>>> Perhaps you can help me duplicate the problem. > >>>>>>>>>> > >>>>>>>>>> First - what does java -version say? > >>>>>>>>>> > >>>>>>>>>> I took the source code appended, and modified the URL setting, > >>>>>>>>>> which I believe should just give me your second example, i.e. > >>>>>>>>>> CustomSquare instantiated in a different ClassLoader than > >>>>>>>>>> Printer. > >>>>>>>>>> > >>>>>>>>>> When I run this with Sun's 1.6 or recent 1.7 I get "blue". > >>>>>>>>>> > >>>>>>>>>> What did we do differently? > >>>>>>>>>> > >>>>>>>>>> thanks, > >>>>>>>>>> Karen > >>>>>>>>>> > >>>>>>>>>> Jeffrey Sinclair wrote: > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>>> hotspot-dev, > >>>>>>>>>>> > >>>>>>>>>>> I've been struggling to understand why HotSpot does not > >>>>>>>>>>> throw an > >>>>>>>>>>> IllegalAccessError when a call is made to an override of a > >>>>>>>>>>> package > >>>>>>>>>>> private method on an instance loaded by a different class > >>>>>>>>>>> loader. I was > >>>>>>>>>>> hoping someone could explain to me in technical detail where > >>>>>>>>>>> I'm going > >>>>>>>>>>> wrong because it appears to be a bug. > >>>>>>>>>>> > >>>>>>>>>>> (all source code is pasted at the end of the mail) > >>>>>>>>>>> > >>>>>>>>>>> I have a class called Square with a package private method > >>>>>>>>>>> named > >>>>>>>>>>> getColour() which returns 'red'. I have a subclass of Square > >>>>>>>>>>> called > >>>>>>>>>>> CustomSquare which overrides getColour() to return 'blue'. I > >>>>>>>>>>> have > >>>>>>>>>>> another class called Printer which simply prints out > >>>>>>>>>>> getColour() for the > >>>>>>>>>>> Square passed to it. I then have two test cases: > >>>>>>>>>>> > >>>>>>>>>>> * Printer.print(Square) is called with a CustomSquare > >>>>>>>>>>> instantiated in > >>>>>>>>>>> the same ClassLoader as Printer. > >>>>>>>>>>> * Printer.print(Square) is called with a CustomSquare > >>>>>>>>>>> instantiated in > >>>>>>>>>>> a different ClassLoader as Printer. > >>>>>>>>>>> > >>>>>>>>>>> What I find is that I get 'blue' in the first test (as > >>>>>>>>>>> expected) and > >>>>>>>>>>> 'red' in the second test (not expected). > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>>> From the Access Control constraints in the Linking section > >>>>>>>>>>>> of the JVM > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> specification (5.4.4), I as expecting an IllegalAccessError > >>>>>>>>>>> to be thrown > >>>>>>>>>>> because it states that a package private method is > >>>>>>>>>>> accessible to a class > >>>>>>>>>>> if it is declared by a class in the same runtime package. > >>>>>>>>>>> > >>>>>>>>>>> My understanding is that Printer is not in the same runtime > >>>>>>>>>>> package as > >>>>>>>>>>> CustomSquare which explains why my override does not kick > >>>>>>>>>>> in, but it > >>>>>>>>>>> does not explain why an IllegalAccessError is not thrown. > >>>>>>>>>>> > >>>>>>>>>>> I was wondering if someone could explain the behaviour to me. > >>>>>>>>>>> > >>>>>>>>>>> Regards, > >>>>>>>>>>> > >>>>>>>>>>> Jeff > >>>>>>>>>>> > >>>>>>>>>>> The source code: > >>>>>>>>>>> > >>>>>>>>>>> public class Main { > >>>>>>>>>>> public static void main(String[] args) throws Exception { > >>>>>>>>>>> URL[] urls = new URL[]{new URL("path/to/CustomSquare")}; > >>>>>>>>>>> URLClassLoader loader = new URLClassLoader(urls); Class > >>>>>>>>>>> clazz = > >>>>>>>>>>> loader.loadClass("uk.co.cooljeff.visibility.CustomSquare"); > >>>>>>>>>>> Printer printer = new Printer(); > >>>>>>>>>>> printer.print((Square)clazz.newInstance()); // 'red' gets > >>>>>>>>>>> printed > >>>>>>>>>>> } } > >>>>>>>>>>> > >>>>>>>>>>> package uk.co.cooljeff.visibility; > >>>>>>>>>>> > >>>>>>>>>>> public class Printer { > >>>>>>>>>>> public void print(Square square) { > >>>>>>>>>>> System.out.println(square.getColour()); > >>>>>>>>>>> } > >>>>>>>>>>> } > >>>>>>>>>>> > >>>>>>>>>>> package uk.co.cooljeff.visibility; > >>>>>>>>>>> > >>>>>>>>>>> public class CustomSquare extends Square { > >>>>>>>>>>> public CustomSquare() { > >>>>>>>>>>> super(5); > >>>>>>>>>>> } > >>>>>>>>>>> > >>>>>>>>>>> @Override > >>>>>>>>>>> public String getColour() { > >>>>>>>>>>> return "blue"; > >>>>>>>>>>> } > >>>>>>>>>>> } > >>>>>>>>>>> > >>>>>>>>>>> package uk.co.cooljeff.visibility; > >>>>>>>>>>> > >>>>>>>>>>> public class Square { > >>>>>>>>>>> private float length; > >>>>>>>>>>> > >>>>>>>>>>> public Square(float length) { > >>>>>>>>>>> this.length = length; > >>>>>>>>>>> } > >>>>>>>>>>> > >>>>>>>>>>> public float calculateArea() { > >>>>>>>>>>> return length * length; > >>>>>>>>>>> } > >>>>>>>>>>> > >>>>>>>>>>> String getColour() { > >>>>>>>>>>> return "red"; > >>>>>>>>>>> } > >>>>>>>>>>> } > >>>>>>>>>>> > >>>>>>>>>> > >>>>>>>>> > >>>>>>>> > >>>>>>>> > >> > >> > > > From danhicks at ieee.org Mon Apr 27 14:44:13 2009 From: danhicks at ieee.org (Dan Hicks) Date: Mon, 27 Apr 2009 16:44:13 -0500 Subject: hotspot-dev Digest, Vol 24, Issue 33 In-Reply-To: References: Message-ID: <49F6272D.6020600@ieee.org> This isn't a new development. Over the years I've run into several JVM architectural details that are documented only in the JLS, and others that are documented nowhere other than in the JCKs. The JVM Spec is incomplete in many ways. > Date: Mon, 27 Apr 2009 22:38:05 +0100 > From: Jeffrey Sinclair > Subject: Re: invokevirtual on package private override in different > classloader > To: Karen Kinnear > Cc: Alex Buckley , John.Rose at Sun.COM, > hotspot-dev at openjdk.java.net, David Holmes - Sun Microsystems > > Message-ID: <1240868285.6044.70.camel at Lini> > Content-Type: text/plain; charset="UTF-8" > > Hi Karen, > > There are no languages that I'm specifically involved in, I would love > to some day get involved more heavily in either the JVM or the language > specification. At the moment I'm just your standard Java developer with > an interest in this. > > Apologies for causing trouble, I admit that I'm being very picky here > and perhaps unnecessarily picky. The issue I have is that before this > amendment, the resolution could be read without having to understand the > language at all. > > Now the amendment has included the word 'override' which I believe is a > language feature because it is not defined in the vm specification > outside of the condensed chapter on the Java Programming Language > Concepts. > > If I were to write an implementation of the JVM, I now need to > understand the behaviour of override which in itself is tied into a > specific language specification version. Hence the JVM now has a > dependency on the language in order to deal with package private > matching signatures in different runtime packages (and in fact now for > any method resolution). > > For example, what is permitted as an 'override' means something > different between Java 1.4 and Java 5 due to covariant return types. > > Let me know if my point is not clear or is incorrect. > > Regards, > > Jeff > -- Dan Hicks Man is born to live, not to prepare to live. --Boris Pasternak From vladimir.kozlov at sun.com Mon Apr 27 18:34:00 2009 From: vladimir.kozlov at sun.com (vladimir.kozlov at sun.com) Date: Tue, 28 Apr 2009 01:34:00 +0000 Subject: hg: jdk7/hotspot/hotspot: 2 new changesets Message-ID: <20090428013408.5F9C1E94B@hg.openjdk.java.net> Changeset: 3672e1dac765 Author: kvn Date: 2009-04-27 12:45 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/3672e1dac765 6834142: method->print_codes(): Error: ShouldNotReachHere() Summary: Restore the call to Bytecodes::java_code() in BytecodePrinter::print_attributes(). Reviewed-by: jrose ! src/share/vm/interpreter/bytecodeTracer.cpp Changeset: 27e8e660fbd0 Author: kvn Date: 2009-04-27 12:55 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/27e8e660fbd0 Merge From oleg.v.oleinik at mail.ru Tue Apr 28 10:47:36 2009 From: oleg.v.oleinik at mail.ru (=?koi8-r?Q?=EF=CC=C5=C7_=EF=CC=C5=CA=CE=C9=CB?=) Date: Tue, 28 Apr 2009 21:47:36 +0400 Subject: UseNUMA on Linux Message-ID: Mark, Latest Itanium specific changes of JDK 6 are not available in OpenJDK. I posted the answer to Mark's question regarding UseNUMA on Itanium Linux to Sun Forums / BigAdmin / Troubleshooting forum. Please see here: http://forums.sun.com/thread.jspa?threadID=5383186&tstart=0. Oleg > Subject: UseNUMA on Linux > From: Mark R Maxey > Date: Mon, 27 Apr 2009 08:20:21 -0500 > To: hotspot-dev at openjdk.java.net > CC: Mark R Maxey > > > > Does anyone know the status of the -XX:+UseNUMA flag on Linux? > Specifically, I'm interested in its use on Itanium 64 bit SUSE Linux. From mark at klomp.org Wed Apr 29 03:41:37 2009 From: mark at klomp.org (Mark Wielaard) Date: Wed, 29 Apr 2009 12:41:37 +0200 Subject: How to host HS14 stable? (Was: RFC: Change name of default HotSpot to 'default') In-Reply-To: <49E3ABEA.6020400@sun.com> References: <20090212150029.GA1121@rivendell.middle-earth.co.uk> <1234731237.3562.6.camel@hermans.wildebeest.org> <17c6771e0902151453t523b15derfc243ffaa201264f@mail.gmail.com> <1234768690.24153.28.camel@localhost.localdomain> <1234772748.3612.3.camel@hermans.wildebeest.org> <1234774554.11228.3.camel@localhost.localdomain> <1234862105.4062.8.camel@fedora.wildebeest.org> <499B727D.6060901@sun.com> <17c6771e0903200428j75e26899x9c15daf57f5ed20e@mail.gmail.com> <49E3ABEA.6020400@sun.com> Message-ID: <1241001697.4267.1.camel@fedora.wildebeest.org> Hi Joe, On Mon, 2009-04-13 at 14:17 -0700, Joseph D. Darcy wrote: > Andrew John Hughes wrote: > > 2009/2/18 Joe Darcy : > >> On 02/17/09 01:15 AM, Mark Wielaard wrote: > >> So it would be good to have an open repo that hosts the HS14 stable > >> build so that people interested in a stable, but modern, hotspot could > >> base their work on that. Since IcedTea6 is trying to standardize on HS14 > >> for the default hotspot and the one that Zero and Shark are based on I > >> could create a icedtea/hotspot repo branched from the latest HS14 code > >> in the jdk7/jdk7/hotspot repo. Would that be interesting to others? How > >> do we coordinate backporting fixes to it? Any other suggestions for > >> hosting an open hotspot HS14 repo (maybe as subtree of one of the other > >> 6 hotspot repos under jdk7/hostspot-* (I admit to not know what they are > >> all for currently). >>> > >> I have been talking with the HotSpot team inside Sun about the logistics > >> needed to support a public HotSpot Mercurial repository usable by both > >> OpenJDK 6 and the 6 update release, which would mean the stabilized HotSpot > >> 14 at this point. > >> > >> We should have something figured out relatively soon; I'll post when we do. > > > > Any news on this? > > Some news should be available real soon now... Great. Do you hav any estimates on when "real soon now" will be? Thanks, Mark From volker.simonis at gmail.com Wed Apr 29 05:17:38 2009 From: volker.simonis at gmail.com (Volker Simonis) Date: Wed, 29 Apr 2009 14:17:38 +0200 Subject: Tracing VM Threads on Linux In-Reply-To: References: Message-ID: Hi Mark, you can for example use "jstack " to get a stack dump of all threads which are running in a VM. Among other information, the thread dump contains the thread name and a field "nid" which corresponds to the SPID you see when you do "ps -T". Hope this helps, Volker On 4/27/09, Mark R Maxey wrote: > > Is there a way to correlate a SUSE 10 PID to a Java thread? If you do a "ps > -T", you can see a unique SPID for each Java thread. However, the CMD > column is all "java". > > We periodically like to do an strace on a running JVM. It is nice to be > able to correlate the information we see there back to our debug logs that > contain the Java thread name & group name. > > > Thanks! > > > Mark Maxey > Raytheon, Garland > 580/2/P22-1 > (972)205-5760 > Mark_R_Maxey at Raytheon.com From Mark_R_Maxey at Raytheon.Com Wed Apr 29 06:19:35 2009 From: Mark_R_Maxey at Raytheon.Com (Mark R Maxey) Date: Wed, 29 Apr 2009 08:19:35 -0500 Subject: Tracing VM Threads on Linux In-Reply-To: Message-ID: Thanks a bunch. This is exactly what I was looking for. Mark Maxey Raytheon, Garland 580/2/P22-1 (972)205-5760 Mark_R_Maxey at Raytheon.com Volker Simonis 04/29/2009 07:17 AM To Mark R Maxey cc hotspot-dev at openjdk.java.net Subject Re: Tracing VM Threads on Linux Hi Mark, you can for example use "jstack " to get a stack dump of all threads which are running in a VM. Among other information, the thread dump contains the thread name and a field "nid" which corresponds to the SPID you see when you do "ps -T". Hope this helps, Volker On 4/27/09, Mark R Maxey wrote: > > Is there a way to correlate a SUSE 10 PID to a Java thread? If you do a "ps > -T", you can see a unique SPID for each Java thread. However, the CMD > column is all "java". > > We periodically like to do an strace on a running JVM. It is nice to be > able to correlate the information we see there back to our debug logs that > contain the Java thread name & group name. > > > Thanks! > > > Mark Maxey > Raytheon, Garland > 580/2/P22-1 > (972)205-5760 > Mark_R_Maxey at Raytheon.com The following line is added for your protection and will be used for analysis if this message is reported as spam: (Raytheon Analysis: IP=209.85.218.179; e-from=volker.simonis at gmail.com; from=volker.simonis at gmail.com; date=Apr 29, 2009 12:17:41 PM; subject=Re: Tracing VM Threads on Linux) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20090429/4237fb75/attachment.html From kelly.ohair at sun.com Wed Apr 29 23:08:54 2009 From: kelly.ohair at sun.com (kelly.ohair at sun.com) Date: Thu, 30 Apr 2009 06:08:54 +0000 Subject: hg: jdk7/hotspot/hotspot: 6831225: Upgrade JPRT jobs to use newer Linux 2.6 (e.g. Fedora 9) Message-ID: <20090430060900.3A722EAC8@hg.openjdk.java.net> Changeset: c8379544879a Author: ohair Date: 2009-04-29 17:30 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/c8379544879a 6831225: Upgrade JPRT jobs to use newer Linux 2.6 (e.g. Fedora 9) Reviewed-by: kvn - make/jprt.config ! make/jprt.properties From David.Cox at Sun.COM Thu Apr 30 12:18:09 2009 From: David.Cox at Sun.COM (David Cox) Date: Thu, 30 Apr 2009 12:18:09 -0700 Subject: How to host HS14 stable? (Was: RFC: Change name of default HotSpot to 'default') In-Reply-To: <1241001697.4267.1.camel@fedora.wildebeest.org> References: <20090212150029.GA1121@rivendell.middle-earth.co.uk> <1234731237.3562.6.camel@hermans.wildebeest.org> <17c6771e0902151453t523b15derfc243ffaa201264f@mail.gmail.com> <1234768690.24153.28.camel@localhost.localdomain> <1234772748.3612.3.camel@hermans.wildebeest.org> <1234774554.11228.3.camel@localhost.localdomain> <1234862105.4062.8.camel@fedora.wildebeest.org> <499B727D.6060901@sun.com> <17c6771e0903200428j75e26899x9c15daf57f5ed20e@mail.gmail.com> <49E3ABEA.6020400@sun.com> <1241001697.4267.1.camel@fedora.wildebeest.org> Message-ID: <49F9F971.1010404@sun.com> An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20090430/2197bc2a/attachment.html From gnu_andrew at member.fsf.org Thu Apr 30 13:42:35 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Thu, 30 Apr 2009 21:42:35 +0100 Subject: How to host HS14 stable? (Was: RFC: Change name of default HotSpot to 'default') In-Reply-To: <49F9F971.1010404@sun.com> References: <20090212150029.GA1121@rivendell.middle-earth.co.uk> <1234768690.24153.28.camel@localhost.localdomain> <1234772748.3612.3.camel@hermans.wildebeest.org> <1234774554.11228.3.camel@localhost.localdomain> <1234862105.4062.8.camel@fedora.wildebeest.org> <499B727D.6060901@sun.com> <17c6771e0903200428j75e26899x9c15daf57f5ed20e@mail.gmail.com> <49E3ABEA.6020400@sun.com> <1241001697.4267.1.camel@fedora.wildebeest.org> <49F9F971.1010404@sun.com> Message-ID: <17c6771e0904301342j2fb66bcrd15012452450bdcb@mail.gmail.com> 2009/4/30 David Cox : > Mark Wielaard wrote: > > Hi Joe, > > On Mon, 2009-04-13 at 14:17 -0700, Joseph D. Darcy wrote: > > > Andrew John Hughes wrote: > > > 2009/2/18 Joe Darcy : > > > On 02/17/09 01:15 AM, Mark Wielaard wrote: > So it would be good to have an open repo that hosts the HS14 stable > build so that people interested in a stable, but modern, hotspot could > base their work on that. Since IcedTea6 is trying to standardize on HS14 > for the default hotspot and the one that Zero and Shark are based on I > could create a icedtea/hotspot repo branched from the latest HS14 code > in the jdk7/jdk7/hotspot repo. Would that be interesting to others? How > do we coordinate backporting fixes to it? Any other suggestions for > hosting an open hotspot HS14 repo (maybe as subtree of one of the other > 6 hotspot repos under jdk7/hostspot-* (I admit to not know what they are > all for currently). > > I have been talking with the HotSpot team inside Sun about the logistics > needed to support a public HotSpot Mercurial repository usable by both > OpenJDK 6 and the 6 update release, which would mean the stabilized HotSpot > 14 at this point. > > We should have something figured out relatively soon; I'll post when we do. > > > Any news on this? > > > Some news should be available real soon now... > > > Great. Do you hav any estimates on when "real soon now" will be? > > > "Real soon now" is now, finally.? We at Sun have been discussing the idea of > creating a "HotSpot Express" Project in OpenJDK through which the > stabilization of new versions of HotSpot could be managed.? We could create > repositories such as > > ? http://hg.openjdk.java.net/hsx/14/baseline > ? http://hg.openjdk.java.net/hsx/14/master > > and > > ? http://hg.openjdk.java.net/hsx/15/baseline > ? http://hg.openjdk.java.net/hsx/15/master > > in which this work would be done.? A "baseline" repo would be used to > collect suitable bug fixes from developers.? Occasionally, these changes > would be pushed to "master" to form the basis of a stable build. ? This is > the model we've used at Sun for many years.? If it seems reasonable to > folks, I'll ask one of HotSpot Group members to submit a formal project > proposal for consideration (Although I'm the manager of Sun's HotSpot > garbage collection and compiler teams,? I'm not actually a member of the > group!) > > Dave > Sounds great! Am I right in thinking current development is now moving to hs16? -- 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 David.Cox at Sun.COM Thu Apr 30 13:52:38 2009 From: David.Cox at Sun.COM (David Cox) Date: Thu, 30 Apr 2009 13:52:38 -0700 Subject: How to host HS14 stable? (Was: RFC: Change name of default HotSpot to 'default') In-Reply-To: <17c6771e0904301342j2fb66bcrd15012452450bdcb@mail.gmail.com> References: <20090212150029.GA1121@rivendell.middle-earth.co.uk> <1234768690.24153.28.camel@localhost.localdomain> <1234772748.3612.3.camel@hermans.wildebeest.org> <1234774554.11228.3.camel@localhost.localdomain> <1234862105.4062.8.camel@fedora.wildebeest.org> <499B727D.6060901@sun.com> <17c6771e0903200428j75e26899x9c15daf57f5ed20e@mail.gmail.com> <49E3ABEA.6020400@sun.com> <1241001697.4267.1.camel@fedora.wildebeest.org> <49F9F971.1010404@sun.com> <17c6771e0904301342j2fb66bcrd15012452450bdcb@mail.gmail.com> Message-ID: <49FA0F96.9060101@sun.com> An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20090430/1e6427ba/attachment.html From john.coomes at sun.com Thu Apr 30 14:44:15 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Thu, 30 Apr 2009 21:44:15 +0000 Subject: hg: jdk7/hotspot/hotspot: 4 new changesets Message-ID: <20090430214427.2F3B0EB79@hg.openjdk.java.net> Changeset: bc47cdb8966c Author: xdono Date: 2009-04-23 15:54 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/bc47cdb8966c Added tag jdk7-b56 for changeset a3fd9e40ff2e ! .hgtags Changeset: 451fd2abeda8 Author: jcoomes Date: 2009-04-29 13:22 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/451fd2abeda8 Merge Changeset: f4cbf78110c7 Author: jcoomes Date: 2009-04-29 13:27 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/f4cbf78110c7 6834202: Bump the HS16 build number to 02 Reviewed-by: jmasa ! make/hotspot_version Changeset: 61c5604c8422 Author: jcoomes Date: 2009-04-30 09:53 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/61c5604c8422 Merge - make/jprt.config From Alex.Buckley at Sun.COM Thu Apr 30 16:09:02 2009 From: Alex.Buckley at Sun.COM (Alex Buckley) Date: Thu, 30 Apr 2009 16:09:02 -0700 Subject: invokevirtual on package private override in different classloader In-Reply-To: <1240868285.6044.70.camel@Lini> References: <1239417256.6194.53.camel@Lini> <49E4E45E.2020508@sun.com> <1239744795.6111.32.camel@Lini> <1240072355.6002.2.camel@Lini> <1240074472.6002.5.camel@Lini> <49F0DF27.1010704@sun.com> <49F0F1E3.4080403@sun.com> <4F62E260-841E-41D9-9227-E040F81962CF@Sun.COM> <1240693711.6027.88.camel@Lini> <49F5EC2F.1020705@sun.com> <49F5F3B4.9010202@sun.com> <1240868285.6044.70.camel@Lini> Message-ID: <49FA2F8E.8080707@sun.com> Hi Jeff, You're right that the JVMS should be independent of the JLS. The Third Edition of the JVMS drops the chapter on Java Programming Langage Concepts entirely, but gains a JVM-specific definition of 'overrides': An instance method m1 declared in class C overrides another instance method m2 declared in class A iff all of the following are true: - C is a subclass of A - m2 has the same name and descriptor as m1 - Either: - m2 is public, protected, or declared with default access in the same runtime package as C, or - m1 overrides a method m3, m3 distinct from m1, m3 distinct from m2, such that m3 overrides m2. (The reason why invokevirtual needs to change from 'is accessible' to 'overrides' is strongly related to the following document from the late 1990s (!) that explains a change between the JLS 1st and 2nd editions: http://java.sun.com/docs/books/jls/method-override-rationale.html) Before you ask, publication of the Third Edition of the JVMS is delayed for administrative reasons. Your example's behavior is unchanged under the above definition. CustomSquare::getColour() does not override Square::getColour() and thus is not selected for invocation. Don't split packages! :-) Alex Jeffrey Sinclair wrote: > Hi Karen, > > There are no languages that I'm specifically involved in, I would love > to some day get involved more heavily in either the JVM or the language > specification. At the moment I'm just your standard Java developer with > an interest in this. > > Apologies for causing trouble, I admit that I'm being very picky here > and perhaps unnecessarily picky. The issue I have is that before this > amendment, the resolution could be read without having to understand the > language at all. > > Now the amendment has included the word 'override' which I believe is a > language feature because it is not defined in the vm specification > outside of the condensed chapter on the Java Programming Language > Concepts. > > If I were to write an implementation of the JVM, I now need to > understand the behaviour of override which in itself is tied into a > specific language specification version. Hence the JVM now has a > dependency on the language in order to deal with package private > matching signatures in different runtime packages (and in fact now for > any method resolution). > > For example, what is permitted as an 'override' means something > different between Java 1.4 and Java 5 due to covariant return types. > > Let me know if my point is not clear or is incorrect. > > Regards, > > Jeff > > On Mon, 2009-04-27 at 14:04 -0400, Karen Kinnear wrote: >> Resending to fix John Rose's email address >> >> thanks, >> Karen >> >> Karen Kinnear wrote: >>> Jeff, >>> >>> Are there particular languages with which you are involved? >>> Or specific concerns you have relative to OSGi? >>> >>> I am explicitly copying John Rose, who has been instrumental >>> in the multi-language vm efforts, and Alex Buckley, the >>> current owner of the Java Virtual Machine Specification. >>> They can better respond to the directions of the specifications >>> in this context. >>> >>> For the specific issue you raised, the amendment did not change >>> the reliance of the JVMS on the Java Language Specification, so >>> I'll assume your focus is on the larger context of the question, >>> and this was just an example. >>> >>> thanks, >>> Karen >>> >>> p.s. don't worry about the monaco.sfbay link, that was just >>> an explanation that for backward compatibility we are not >>> changing the package private interpretation for invokevirtual. >>> >>> >>> Jeffrey Sinclair wrote: >>> >>>> Karen, >>>> >>>> Thank you for getting back to me with a detailed explanation. >>>> >>>> The concern I have is that there is a clear coupling between the JVM >>>> specification and the language specification in order to prove the >>>> correctness of my observations. Whilst I understand that the JVM >>>> specification is there to support the language specification, I was >>>> always under the impression that a formal proof of correctness for the >>>> JVM specification could be done in the absence of the language >>>> specification. >>>> >>>> To quote the JVM specification itself (section 1.2): >>>> >>>> "The Java virtual machine knows nothing of the Java programming >>>> language, only of a particular binary format, the class file format. A >>>> class file contains Java virtual machine instructions (or bytecodes) and >>>> a symbol table, as well as other ancillary information." >>>> >>>> I appreciate that as the language evolves, additions maybe added to the >>>> JVM specification to deal with advances in the language, however the >>>> amendments which you quote appear to break a fundamental principle which >>>> is explicitly stated in the JVM specification itself, namely the >>>> awareness required by the JVM on the language. >>>> >>>> My personal opinion is that this decoupling becomes of real importance >>>> as the number of languages that use the JVM as their implementation >>>> grows and specifically the rules governing package private is likely to >>>> impact technologies such as OSGI. >>>> >>>> At the moment I feel that the amendment, whilst it may have strived to >>>> remove ambiguity, has resulted in a more serious issue and should be >>>> revoked. Instead the ambiguity should be resolved within the constraints >>>> of the JVM specification itself. >>>> >>>> I could be way off here, please correct any misunderstanding I have. >>>> >>>> Unfortunately I could not access 'monaco.sfbay.sun.com' to read up on >>>> the package private discussions, the lookup fails. >>>> >>>> Regards, >>>> >>>> Jeff >>>> >>>> On Fri, 2009-04-24 at 08:43 -0400, Karen Kinnear wrote: >>>> >>>>> Thanks David for catching that. >>>>> >>>>> thanks, >>>>> Karen >>>>> >>>>> On Apr 23, 2009, at 6:55 PM, David Holmes - Sun Microsystems wrote: >>>>> >>>>> >>>>>> Hi Karen, >>>>>> >>>>>> I was okay with the explanation until this point: >>>>>> >>>>>> >>>>>>> This discussion of access control omits a related restriction on the >>>>>>> target of a protected field access or method invocation (the target >>>>>>> must be of class D or a subtype of D). That requirement is checked >>>>>> >>>>>> as >>>>>> >>>>>>> part of the verification process (?5.4.1); it is not part of link- >>>>>> >>>>>> time >>>>>> >>>>>>> access control. >>>>>>> == >>>>>>> >>>>>>> The point here is that the virtual machine in the case of >>>>>> >>>>>> invokevirtual, >>>>>> >>>>>>> does an accessibility check for the compile-time resolved method, >>>>>>> Square.getColour() in your example, but does NOT perform an >>>>>>> accessibility check on the link-time resolved method, or >>>>>>> CustomSquare.getColour() in your example. >>>>>> >>>>>> I don't see the relevance of the quoted rule in this case, because >>>>>> this is not about the target of protected field/method access. >>>>>> >>>>>> As far as I can see the reason there is no IllegalAccessError is >>>>>> because there is no illegal access: >>>>>> - statically Printer's call to Square.getColor is fine as they are >>>>>> in the same compile-time package >>>>>> - at run-time because CustomSquare.getColor does not override >>>>>> Square.getColor (because they are in different run-time packages), >>>>>> CustomSquare.getColor is not selected, but rather Square.getColor is >>>>>> - At runtime Printer and Square are in the same runtime package, so >>>>>> Printer's invocation of Square.getColor is legal - even on a >>>>>> CustomSquare instance >>>>>> >>>>>> In short there is no IllegalAccessError because >>>>>> CustomSquare.getColor is not selected to be called. >>>>>> >>>>>> Cheers, >>>>>> David Holmes >>>>>> >>>>>> Karen Kinnear said the following on 04/24/09 07:35: >>>>>> >>>>>>> Jeff, >>>>>>> Thank you so much for making this easy for me to reproduce. >>>>>>> I think you have two questions here: >>>>>>> 1) why do you get "red" when you use a different class loader >>>>>>> for CustomSquare and >>>>>>> 2) why do you not get an IllegalAccessError when calling >>>>>>> package private CustomSquare.getColour() from a >>>>>>> different runtime package. >>>>>>> These are very important questions and use cases related to >>>>>>> the first caused significant confusion in the past which >>>>>>> actually led to a specification modification. >>>>>>> Let me see if I can explain, first why "red", not "blue", >>>>>>> and second why you don't get an IllegalAccessError. >>>>>>> First, I too found that Printer and Square are loaded by the >>>>>>> same class loader, and CustomSquare is loaded by a different class >>>>>>> loader. I ran a fastdebug vm with the flag: -XX: >>>>>>> +PrintSystemDictionaryAtExit. This will print out on exit, the >>>>>>> internal vm cache of loaded classes including their class loaders. >>>>>>> To summarize/abbreviate the scenario: >>>>>>> class Main: // class loader 1 >>>>>>> Printer.print((Square)CustomSquare instance); >>>>>>> package 1, Printer.print // class loader 1 >>>>>>> System.out.println(square.getColour()) >>>>>>> package 1, class Square // class loader 1 >>>>>>> public getColour() returns "blue" >>>>>>> package 1, class customSquare // class loader 2 >>>>>>> package private getColour() returns "red" >>>>>>> The first question is why does the call in Printer to >>>>>>> Square.getColour() >>>>>>> print "red" when the class customSquare is loaded by >>>>>>> a different class loader, but print "blue" when loaded by the >>>>>>> same class loader. >>>>>>> Let's start with the call in Printer. This translates to >>>>>>> invokevirtual(...Square.getColour()) >>>>>>> The Clarifications and Amendments to Java Virtual Machine >>>>>>> Specification, 2nd edition definition of invokevirtual says: >>>>>>> http://java.sun.com/docs/books/jvms/second_edition/jvms-clarify.html >>>>>>> == >>>>>>> The lookup algorithm used by the invokevirtual instruction (pages >>>>>>> 291-292 of the JVMS, 2nd edition) should be revised as follows: >>>>>>> Let C be the class of the target of the method invocation. The >>>>>>> actual method to be invoked is selected by the following lookup >>>>>>> procedure: >>>>>>> If C contains a declaration for an instance method M with the >>>>>>> same name and descriptor as the resolved method, and M overrides >>>>>>> the resolved method , then M is the method to be invoked, and the >>>>>>> lookup procedure terminates. >>>>>>> Otherwise, if C has a superclass, this same lookup procedure is >>>>>>> performed recursively using the direct superclass of C ; the >>>>>>> method to be invoked is the result of the recursive invocation of >>>>>>> this lookup procedure. >>>>>>> Otherwise, an AbstractMethodError is raised. >>>>>>> The text highlighted in red is the only change. It replaces the text >>>>>>> and the resolved method is accessible from C >>>>>>> in the current specification. See the revision of the definition >>>>>>> of method override in the JLS 3rd Edition page for more details. >>>>>>> == >>>>>>> // First we do the static compile-time resolution using the >>>>>>> constant pool, which in this case refers to Square.getColour() >>>>>>> The named method is resolved (?5.4.3.3). >>>>>>> // Then we do the dynamic run-time resolution using CustomSquare >>>>>>> as the // target of the method invocation >>>>>>> If C contains a declaration for an instance method M with the >>>>>>> same name and descriptor as the resolved method, and M overrides >>>>>>> the resolved method , then M is the method to be invoked, and the >>>>>>> lookup procedure terminates. >>>>>>> // The key question is: Does CustomSquare.getColour() override >>>>>>> // Square.getColour()? >>>>>>> // I'll get to the definitions of inherit and override in a second. >>>>>>> // Result is: >>>>>>> // If they use the same class loader: yes CustomSqure.getColour() >>>>>>> overrides Square.getColour() >>>>>>> // If they use different class loaders: no CustomSquare.getColor() >>>>>>> does NOT override Square.getColour() >>>>>>> * Otherwise, if C has a superclass, this same lookup procedure >>>>>>> is performed recursively using the direct superclass of C ; the >>>>>>> method to be invoked is the result of the recursive invocation of >>>>>>> this lookup procedure. >>>>>>> // If CustomSquare.getColour() does NOT override Square.getColour(), >>>>>>> // then we use the method Square.getColour(), since Square is the >>>>>>> // direct superclass of CustomSquare. >>>>>>> Definitions of Inherit and Override: >>>>>>> === >>>>>>> Inheritance rules: JLS 3rd edition, 8.4.8 Inheritance, Overriding, >>>>>>> and Hiding >>>>>>> A class C inherits from its direct superclass and direct >>>>>>> superinterfaces all non-private methods (whether abstract or not) >>>>>>> of the superclass and superinterfaces that are public, protected >>>>>>> or declared with default access in the same package as C and are >>>>>>> neither overridden ('8.4.8.1) nor hidden ('8.4.8.2) by a >>>>>>> declaration in the class. >>>>>>> JLS 3rd edition 8.4.8.1 Overriding (by Instance Methods) >>>>>>> An instance method m1 declared in a class C overrides another >>>>>>> instance method, m2, declared in class A iff all of the following >>>>>>> are true: >>>>>>> 1. C is a subclass of A. >>>>>>> 2. The signature of m1 is a subsignature (?8.4.2) of the >>>>>>> signature of m2. >>>>>>> 3. Either >>>>>>> o m2 is public, protected or declared with default access >>>>>>> in the same package as C, or >>>>>>> o m1 overrides a method m3, m3 distinct from m1, m3 >>>>>>> distinct from m2, such that m3 overrides m2. >>>>>>> Moreover, if m1 is not abstract, then m1 is said to implement any >>>>>>> and all declarations of abstract methods that it overrides. >>>>>>> Note that based on the JVMS 3rd edition transitive overriding >>>>>>> rules, we need to do an override check first for the direct >>>>>>> superclass and if the current class does not override the direct >>>>>>> superclass, recursively for the superclass' superclass. >>>>>>> === >>>>>>> So CustomSquare.getColour() does NOT override Square.getColour() >>>>>>> because >>>>>>> it is NOT in the same runtime package as C. >>>>>>> =========== >>>>>>> =========== >>>>>>> Second question: >>>>>>> Why do you not get an IllegalAccessException when invoking package- >>>>>>> private CustomSquare.getColour() from Printer.print() which >>>>>>> is in a different package? >>>>>>> We had the same question ourselves a couple of years ago and >>>>>>> researched this. >>>>>>> If you look closely at JVMS 2nd edition 5.4.4 Access Controls, >>>>>>> which goes into the details of accessibility checks for methods, >>>>>>> read the final sentences which say: >>>>>>> == >>>>>>> This discussion of access control omits a related restriction on >>>>>>> the target of a protected field access or method invocation (the >>>>>>> target must be of class D or a subtype of D). That requirement is >>>>>>> checked as part of the verification process (?5.4.1); it is not >>>>>>> part of link-time access control. >>>>>>> == >>>>>>> The point here is that the virtual machine in the case of >>>>>>> invokevirtual, >>>>>>> does an accessibility check for the compile-time resolved method, >>>>>>> Square.getColour() in your example, but does NOT perform an >>>>>>> accessibility check on the link-time resolved method, or >>>>>>> CustomSquare.getColour() in your example. >>>>>>> We proposed changing this behavior, and given that it has always been >>>>>>> this way, changing the specification and the multiple virtual >>>>>>> machines in the field would be highly likely to break multiple >>>>>>> shipping applications. So we decided it was not a good change >>>>>>> to make. >>>>>>> I hope this helps explain the current behavior, do let me >>>>>>> know if any of this needs further clarification or if I >>>>>>> misunderstood your original questions. >>>>>>> thanks, >>>>>>> Karen >>>>>>> p.s. you can get even more explanation of the inheritance, >>>>>>> overriding, invokevirtual, invokespecial, etc. behavior, etc. in >>>>>>> the evaluation of the following bug: >>>>>>> http://monaco.sfbay.sun.com/detail.jsf?cr=4766230 >>>>>>> p.p.s. The package private discussion is under >>>>>>> http://monaco.sfbay.sun.com/detail.jsf?cr=6810795 >>>>>>> Jeffrey Sinclair wrote: >>>>>>> >>>>>>>> Karen, >>>>>>>> >>>>>>>> Just to say that there is one slight bug in my reproduction >>>>>>>> (although >>>>>>>> the result of 'Red' stays the same). >>>>>>>> >>>>>>>> My debug statements for which class loader the class was loaded >>>>>>>> from is >>>>>>>> incorrect, they are done in the constructor when they should have >>>>>>>> been >>>>>>>> done in a static block in the class. >>>>>>>> >>>>>>>> i.e. >>>>>>>> public class Square { >>>>>>>> static { >>>>>>>> System.out.println("Square loaded by classloader: " + >>>>>>>> Square.class.getClassLoader()); >>>>>>>> } >>>>>>>> >>>>>>>> This will give the output: >>>>>>>> >>>>>>>> Printer loaded by classloader: sun.misc.Launcher >>>>>>>> $AppClassLoader at 553f5d07 >>>>>>>> Square loaded by classloader: sun.misc.Launcher >>>>>>>> $AppClassLoader at 553f5d07 >>>>>>>> CustomSquare loaded by classloader: java.net.URLClassLoader at 3ae48e1b >>>>>>>> Red >>>>>>>> >>>>>>>> Which is still unexpected since I'm getting 'Red'. >>>>>>>> >>>>>>>> Regards, >>>>>>>> >>>>>>>> Jeff >>>>>>>> >>>>>>>> On Sat, 2009-04-18 at 17:32 +0100, Jeffrey Sinclair wrote: >>>>>>>> >>>>>>>> >>>>>>>>> Karen, >>>>>>>>> >>>>>>>>> Please find attached a zip file which packages the example up >>>>>>>>> with a >>>>>>>>> build script that uses javac and a plain old run script. >>>>>>>>> >>>>>>>>> Simply run build.sh followed by run.sh (assumes that javac and >>>>>>>>> java are >>>>>>>>> on the PATH). >>>>>>>>> >>>>>>>>> Regards, >>>>>>>>> >>>>>>>>> Jeff >>>>>>>>> >>>>>>>>> On Thu, 2009-04-16 at 17:42 -0400, Karen Kinnear wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>>> Jeff, >>>>>>>>>> >>>>>>>>>> Thank you for sending me this information. I have a theory, but I >>>>>>>>>> would be much more comfortable running the test first. I have >>>>>>>>>> experimented >>>>>>>>>> with this, but I'd feel much more comfortable duplicating your >>>>>>>>>> results. >>>>>>>>>> >>>>>>>>>> I do appreciate you offering to package this up using plain old >>>>>>>>>> javac/ and >>>>>>>>>> a run script - I don't have Eclipse installed and much as I've >>>>>>>>>> heard it >>>>>>>>>> is a great product, I don't have the cycles to do that in the >>>>>>>>>> near future. >>>>>>>>>> >>>>>>>>>> thanks so much, >>>>>>>>>> Karen >>>>>>>>>> >>>>>>>>>> On Apr 14, 2009, at 5:33 PM, Jeffrey Sinclair wrote: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> Karen, >>>>>>>>>>> >>>>>>>>>>> Thanks for getting back to me. >>>>>>>>>>> >>>>>>>>>>> I was using 1.6.0_10 and have now tried 1.6.0_13 and get the same >>>>>>>>>>> result. Specifically I've tried the following versions: >>>>>>>>>>> >>>>>>>>>>> java version "1.6.0_10" >>>>>>>>>>> Java(TM) SE Runtime Environment (build 1.6.0_10-b33) >>>>>>>>>>> Java HotSpot(TM) 64-Bit Server VM (build 11.0-b15, mixed mode) >>>>>>>>>>> >>>>>>>>>>> java version "1.6.0_13" >>>>>>>>>>> Java(TM) SE Runtime Environment (build 1.6.0_13-b03) >>>>>>>>>>> Java HotSpot(TM) 64-Bit Server VM (build 11.3-b02, mixed mode) >>>>>>>>>>> >>>>>>>>>>> I've attached my source as Eclipse projects. The URL in the >>>>>>>>>>> main method >>>>>>>>>>> points to the class files generated by the project with the >>>>>>>>>>> CustomSquare. I've also added some debug info relating to >>>>>>>>>>> which class >>>>>>>>>>> loader is being used to load the Square, Printer and Custom >>>>>>>>>>> Square >>>>>>>>>>> respectively: >>>>>>>>>>> >>>>>>>>>>> Printer loaded by classloader: sun.misc.Launcher >>>>>>>>>>> $AppClassLoader at 553f5d07 >>>>>>>>>>> Square loaded by classloader: java.net.URLClassLoader at 3ae48e1b >>>>>>>>>>> CustomSquare loaded by classloader: >>>>>>>>>>> java.net.URLClassLoader at 3ae48e1b >>>>>>>>>>> Red >>>>>>>>>>> >>>>>>>>>>> I still get Red. The key point is that the CustomSquare is not >>>>>>>>>>> visible >>>>>>>>>>> at all to the Printer code. If I stick the CustomSquare in the >>>>>>>>>>> same >>>>>>>>>>> project as Printer it will then be loaded by the >>>>>>>>>>> AppClassLoader and I >>>>>>>>>>> get blue. However when it is in a completely separate project >>>>>>>>>>> and loaded >>>>>>>>>>> via the URLClassLoader (and Printer loaded via the >>>>>>>>>>> AppClassLoader) I >>>>>>>>>>> always get Red. If I then change getColour() to be public in >>>>>>>>>>> both Square >>>>>>>>>>> and CustomSquare I get blue. >>>>>>>>>>> >>>>>>>>>>> This is completely baffling me. I may be doing something >>>>>>>>>>> really silly >>>>>>>>>>> but I can't see it :) >>>>>>>>>>> >>>>>>>>>>> Let me know if you can't replicate the issue with the attached >>>>>>>>>>> Eclipse >>>>>>>>>>> project and I'll try to package it up using plain old javac >>>>>>>>>>> and a run >>>>>>>>>>> script. >>>>>>>>>>> >>>>>>>>>>> Even if you do get blue with the different ClassLoaders for >>>>>>>>>>> Printer and >>>>>>>>>>> CustomSquare, I would probably argue that this is incorrect >>>>>>>>>>> but I have >>>>>>>>>>> to admit that this argument could be because I've >>>>>>>>>>> misunderstood the >>>>>>>>>>> meaning of 'runtime package' in terms of package private >>>>>>>>>>> accessibility >>>>>>>>>>> in the JVM spec. >>>>>>>>>>> >>>>>>>>>>> Jeff >>>>>>>>>>> >>>>>>>>>>> On Tue, 2009-04-14 at 15:30 -0400, Karen Kinnear wrote: >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> Jeff, >>>>>>>>>>>> >>>>>>>>>>>> Perhaps you can help me duplicate the problem. >>>>>>>>>>>> >>>>>>>>>>>> First - what does java -version say? >>>>>>>>>>>> >>>>>>>>>>>> I took the source code appended, and modified the URL setting, >>>>>>>>>>>> which I believe should just give me your second example, i.e. >>>>>>>>>>>> CustomSquare instantiated in a different ClassLoader than >>>>>>>>>>>> Printer. >>>>>>>>>>>> >>>>>>>>>>>> When I run this with Sun's 1.6 or recent 1.7 I get "blue". >>>>>>>>>>>> >>>>>>>>>>>> What did we do differently? >>>>>>>>>>>> >>>>>>>>>>>> thanks, >>>>>>>>>>>> Karen >>>>>>>>>>>> >>>>>>>>>>>> Jeffrey Sinclair wrote: >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>>> hotspot-dev, >>>>>>>>>>>>> >>>>>>>>>>>>> I've been struggling to understand why HotSpot does not >>>>>>>>>>>>> throw an >>>>>>>>>>>>> IllegalAccessError when a call is made to an override of a >>>>>>>>>>>>> package >>>>>>>>>>>>> private method on an instance loaded by a different class >>>>>>>>>>>>> loader. I was >>>>>>>>>>>>> hoping someone could explain to me in technical detail where >>>>>>>>>>>>> I'm going >>>>>>>>>>>>> wrong because it appears to be a bug. >>>>>>>>>>>>> >>>>>>>>>>>>> (all source code is pasted at the end of the mail) >>>>>>>>>>>>> >>>>>>>>>>>>> I have a class called Square with a package private method >>>>>>>>>>>>> named >>>>>>>>>>>>> getColour() which returns 'red'. I have a subclass of Square >>>>>>>>>>>>> called >>>>>>>>>>>>> CustomSquare which overrides getColour() to return 'blue'. I >>>>>>>>>>>>> have >>>>>>>>>>>>> another class called Printer which simply prints out >>>>>>>>>>>>> getColour() for the >>>>>>>>>>>>> Square passed to it. I then have two test cases: >>>>>>>>>>>>> >>>>>>>>>>>>> * Printer.print(Square) is called with a CustomSquare >>>>>>>>>>>>> instantiated in >>>>>>>>>>>>> the same ClassLoader as Printer. >>>>>>>>>>>>> * Printer.print(Square) is called with a CustomSquare >>>>>>>>>>>>> instantiated in >>>>>>>>>>>>> a different ClassLoader as Printer. >>>>>>>>>>>>> >>>>>>>>>>>>> What I find is that I get 'blue' in the first test (as >>>>>>>>>>>>> expected) and >>>>>>>>>>>>> 'red' in the second test (not expected). >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>>> From the Access Control constraints in the Linking section >>>>>>>>>>>>>> of the JVM >>>>>>>>>>>>> >>>>>>>>>>>>> specification (5.4.4), I as expecting an IllegalAccessError >>>>>>>>>>>>> to be thrown >>>>>>>>>>>>> because it states that a package private method is >>>>>>>>>>>>> accessible to a class >>>>>>>>>>>>> if it is declared by a class in the same runtime package. >>>>>>>>>>>>> >>>>>>>>>>>>> My understanding is that Printer is not in the same runtime >>>>>>>>>>>>> package as >>>>>>>>>>>>> CustomSquare which explains why my override does not kick >>>>>>>>>>>>> in, but it >>>>>>>>>>>>> does not explain why an IllegalAccessError is not thrown. >>>>>>>>>>>>> >>>>>>>>>>>>> I was wondering if someone could explain the behaviour to me. >>>>>>>>>>>>> >>>>>>>>>>>>> Regards, >>>>>>>>>>>>> >>>>>>>>>>>>> Jeff >>>>>>>>>>>>> >>>>>>>>>>>>> The source code: >>>>>>>>>>>>> >>>>>>>>>>>>> public class Main { >>>>>>>>>>>>> public static void main(String[] args) throws Exception { >>>>>>>>>>>>> URL[] urls = new URL[]{new URL("path/to/CustomSquare")}; >>>>>>>>>>>>> URLClassLoader loader = new URLClassLoader(urls); Class >>>>>>>>>>>>> clazz = >>>>>>>>>>>>> loader.loadClass("uk.co.cooljeff.visibility.CustomSquare"); >>>>>>>>>>>>> Printer printer = new Printer(); >>>>>>>>>>>>> printer.print((Square)clazz.newInstance()); // 'red' gets >>>>>>>>>>>>> printed >>>>>>>>>>>>> } } >>>>>>>>>>>>> >>>>>>>>>>>>> package uk.co.cooljeff.visibility; >>>>>>>>>>>>> >>>>>>>>>>>>> public class Printer { >>>>>>>>>>>>> public void print(Square square) { >>>>>>>>>>>>> System.out.println(square.getColour()); >>>>>>>>>>>>> } >>>>>>>>>>>>> } >>>>>>>>>>>>> >>>>>>>>>>>>> package uk.co.cooljeff.visibility; >>>>>>>>>>>>> >>>>>>>>>>>>> public class CustomSquare extends Square { >>>>>>>>>>>>> public CustomSquare() { >>>>>>>>>>>>> super(5); >>>>>>>>>>>>> } >>>>>>>>>>>>> >>>>>>>>>>>>> @Override >>>>>>>>>>>>> public String getColour() { >>>>>>>>>>>>> return "blue"; >>>>>>>>>>>>> } >>>>>>>>>>>>> } >>>>>>>>>>>>> >>>>>>>>>>>>> package uk.co.cooljeff.visibility; >>>>>>>>>>>>> >>>>>>>>>>>>> public class Square { >>>>>>>>>>>>> private float length; >>>>>>>>>>>>> >>>>>>>>>>>>> public Square(float length) { >>>>>>>>>>>>> this.length = length; >>>>>>>>>>>>> } >>>>>>>>>>>>> >>>>>>>>>>>>> public float calculateArea() { >>>>>>>>>>>>> return length * length; >>>>>>>>>>>>> } >>>>>>>>>>>>> >>>>>>>>>>>>> String getColour() { >>>>>>>>>>>>> return "red"; >>>>>>>>>>>>> } >>>>>>>>>>>>> } >>>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>> > From john.coomes at sun.com Thu Apr 30 20:36:02 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 01 May 2009 03:36:02 +0000 Subject: hg: jdk7/hotspot: 5 new changesets Message-ID: <20090501033603.0A51DECC3@hg.openjdk.java.net> Changeset: e13a01c44efe Author: ohair Date: 2009-04-27 20:15 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/rev/e13a01c44efe 6831225: Upgrade JPRT jobs to use newer Linux 2.6 (e.g. Fedora 9) Reviewed-by: tbell - make/jprt.config ! make/jprt.properties Changeset: caba6a812b19 Author: peterz Date: 2009-04-25 21:34 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/rev/caba6a812b19 6591875: Nimbus Swing Look and Feel Reviewed-by: jasper, ohair ! README-builds.html Changeset: 8f5674f7087d Author: yan Date: 2009-04-28 13:31 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/rev/8f5674f7087d Merge Changeset: ffd09e767dfa Author: yan Date: 2009-04-29 00:24 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/rev/ffd09e767dfa Merge Changeset: 59b497130f82 Author: xdono Date: 2009-04-30 15:04 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/rev/59b497130f82 Added tag jdk7-b57 for changeset ffd09e767dfa ! .hgtags From john.coomes at sun.com Thu Apr 30 20:39:42 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 01 May 2009 03:39:42 +0000 Subject: hg: jdk7/hotspot/corba: 4 new changesets Message-ID: <20090501033946.A8E78ECC9@hg.openjdk.java.net> Changeset: 4906dae0c5fa Author: tbell Date: 2009-04-20 00:12 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/corba/rev/4906dae0c5fa 6372405: Server thread hangs when fragments don't complete because of connection abort 5104239: Java: thread deadlock 6191561: JCK15: api/org_omg/PortableInterceptor/ClientRequestInfo/index.html#RIMethods sometime hang 6486322: org.omg.CORBA.ORB.init() thread safety issue 6420980: Security issue with the com.sun.corba.se.impl.orbutil.ORBUtility class 6465377: NullPointerException for RMI ORB in 1.5.0_08 6553303: Corba application fails w/ org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 203 completed: No 6438259: Wrong repository ID generated by IDLJ Reviewed-by: darcy ! src/share/classes/com/sun/corba/se/impl/encoding/BufferManagerReadStream.java ! src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java ! src/share/classes/com/sun/corba/se/impl/oa/poa/POAFactory.java ! src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java ! src/share/classes/com/sun/corba/se/impl/orb/ORBSingleton.java ! src/share/classes/com/sun/corba/se/impl/orbutil/ORBUtility.java ! src/share/classes/com/sun/corba/se/impl/resolver/INSURLOperationImpl.java ! src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelConnectionImpl.java ! src/share/classes/com/sun/corba/se/spi/logging/data/ORBUtil.mc ! src/share/classes/com/sun/tools/corba/se/idl/Parser.java ! src/share/classes/com/sun/tools/corba/se/logutil/InputException.java ! src/share/classes/org/omg/CORBA/ORB.java Changeset: 1c55bc99d36c Author: tbell Date: 2009-04-23 21:29 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/corba/rev/1c55bc99d36c Merge Changeset: 972c6157fae5 Author: ohair Date: 2009-04-27 20:17 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/corba/rev/972c6157fae5 6831225: Upgrade JPRT jobs to use newer Linux 2.6 (e.g. Fedora 9) Reviewed-by: tbell - make/jprt.config ! make/jprt.properties Changeset: 080ecdea3020 Author: xdono Date: 2009-04-30 15:04 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/corba/rev/080ecdea3020 Added tag jdk7-b57 for changeset 972c6157fae5 ! .hgtags From john.coomes at sun.com Thu Apr 30 20:47:40 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 01 May 2009 03:47:40 +0000 Subject: hg: jdk7/hotspot/jaxp: 5 new changesets Message-ID: <20090501034748.DE650ECCE@hg.openjdk.java.net> Changeset: b56d870cb5c8 Author: tbell Date: 2009-04-20 22:50 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/b56d870cb5c8 6738894: Merge jaxp fixes from 6 update train into OpenJDK 6 and 7 6573268: Four JCK-devtools-6a tests report OOM: Java Heap space since JDK7 b14 Reviewed-by: darcy ! .hgignore ! THIRD_PARTY_README + TRADEMARK ! src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Import.java ! src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Include.java ! src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/Type.java ! src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/SAX2DOM.java ! src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java ! src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerFactoryImpl.java ! src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java ! src/share/classes/com/sun/org/apache/xerces/internal/dom/EntityImpl.java ! src/share/classes/com/sun/org/apache/xerces/internal/impl/PropertyManager.java ! src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.java ! src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLDocumentScannerImpl.java ! src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLStreamFilterImpl.java ! src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages.properties ! src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSAttributeChecker.java ! src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDHandler.java ! src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/XMLSchemaFactory.java ! src/share/classes/com/sun/org/apache/xerces/internal/xinclude/XIncludeHandler.java ! src/share/classes/com/sun/org/apache/xml/internal/utils/ThreadControllerWrapper.java ! src/share/classes/com/sun/org/apache/xpath/internal/axes/NodeSequence.java ! src/share/classes/com/sun/xml/internal/stream/events/XMLEventAllocatorImpl.java Changeset: ee3d2d2bec61 Author: tbell Date: 2009-04-20 22:51 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/ee3d2d2bec61 Merge - make/jprt.config Changeset: 4f6b0a4d3768 Author: tbell Date: 2009-04-23 21:30 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/4f6b0a4d3768 Merge Changeset: e4851e9f7be2 Author: ohair Date: 2009-04-27 20:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/e4851e9f7be2 6831225: Upgrade JPRT jobs to use newer Linux 2.6 (e.g. Fedora 9) Reviewed-by: tbell ! make/jprt.properties Changeset: fb846b3f9450 Author: xdono Date: 2009-04-30 15:04 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/fb846b3f9450 Added tag jdk7-b57 for changeset e4851e9f7be2 ! .hgtags From john.coomes at sun.com Thu Apr 30 20:59:10 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 01 May 2009 03:59:10 +0000 Subject: hg: jdk7/hotspot/jdk: 79 new changesets Message-ID: <20090501041526.EC2DCECE0@hg.openjdk.java.net> Changeset: a31f5f824580 Author: weijun Date: 2009-04-08 13:54 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/a31f5f824580 4811968: ASN.1 (X509Certificate) implementations don't handle large OID components Reviewed-by: xuelei ! src/share/classes/sun/security/util/ObjectIdentifier.java ! test/sun/security/util/Oid/OidFormat.java + test/sun/security/util/Oid/S11N.sh + test/sun/security/util/Oid/SerialTest.java Changeset: 74a3d8978eb0 Author: sherman Date: 2009-04-08 09:21 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/74a3d8978eb0 6827871: Cleanup leftover code in CharToByteJohab.java Summary: Removed the leftover data tables Reviewed-by: alanb ! src/share/classes/sun/io/CharToByteJohab.java Changeset: 6fe0aa207f5f Author: sherman Date: 2009-04-08 10:40 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/6fe0aa207f5f 6827921: ByteToCharBig5.java should use nio data tables instead of its own copy Summary: To use the data tables from sun.nio.cs.ext.Big5 Reviewed-by: alanb ! src/share/classes/sun/io/ByteToCharBig5.java Changeset: 8d37331265ae Author: weijun Date: 2009-04-09 15:32 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/8d37331265ae 6714845: Quotes in Kerberos configuration file are included in the values Reviewed-by: xuelei ! src/share/classes/sun/security/krb5/Config.java + test/sun/security/krb5/ConfigWithQuotations.java + test/sun/security/krb5/edu.mit.Kerberos Changeset: 897b2d42995a Author: weijun Date: 2009-04-10 11:21 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/897b2d42995a 6587676: Krb5LoginModule failure if useTicketCache=true on Vista Reviewed-by: valeriep ! src/windows/native/sun/security/krb5/NativeCreds.c Changeset: 572d3f36c8a9 Author: martin Date: 2009-04-12 20:21 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/572d3f36c8a9 6827153: Miscellaneous typos in javadoc Reviewed-by: alanb ! src/share/classes/java/lang/NoSuchFieldError.java ! src/share/classes/java/nio/channels/AsynchronousDatagramChannel.java ! src/share/classes/java/nio/file/Path.java ! src/share/classes/java/nio/file/SecureDirectoryStream.java ! src/share/classes/java/security/AccessController.java ! src/share/classes/java/security/AlgorithmParametersSpi.java ! src/share/classes/java/security/PrivilegedActionException.java ! src/share/classes/java/security/Security.java ! src/share/classes/java/security/SecurityPermission.java ! src/share/classes/java/security/SignatureSpi.java ! src/share/classes/java/security/cert/CertificateFactory.java ! src/share/classes/java/security/cert/CertificateFactorySpi.java Changeset: 6f99dbd58123 Author: valeriep Date: 2009-04-13 18:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/6f99dbd58123 6829098: Regression test java/security/Security/ClassLoaderDeadlock/Deadlock2.java error - missing ";" Summary: Added back the missing ";" Reviewed-by: weijun ! test/java/security/Security/ClassLoaderDeadlock/Deadlock2.java Changeset: 33e06332c9d4 Author: weijun Date: 2009-04-16 11:16 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/33e06332c9d4 6830658: Changeset 897b2d42995a breaks the fastdebug build in NativeCreds.c Reviewed-by: tbell ! src/windows/native/sun/security/krb5/NativeCreds.c Changeset: 1aaeb8fbe705 Author: sherman Date: 2009-04-16 21:00 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/1aaeb8fbe705 4244499: ZipEntry() does not convert filenames from Unicode to platform 4532049: IllegalArgumentException in ZipInputStream while reading unicode file 5030283: Incorrect implementation of UTF-8 in zip package 4700978: ZipFile can't treat Japanese name in a zipfile properly 4980042: Cannot use Surrogates in zip file metadata like filenames 4820807: java.util.zip.ZipInputStream cannot extract files with Chinese chars in name Summary: Add new constructors for zip classes to support non-UTF-8 encoded names/comments in ZIP file Reviewed-by: alanb, martin ! make/java/zip/FILES_c.gmk ! make/java/zip/mapfile-vers ! make/java/zip/reorder-i586 ! make/java/zip/reorder-sparc ! make/java/zip/reorder-sparcv9 + src/share/classes/java/util/zip/ZipCoder.java ! src/share/classes/java/util/zip/ZipConstants64.java ! src/share/classes/java/util/zip/ZipEntry.java ! src/share/classes/java/util/zip/ZipFile.java ! src/share/classes/java/util/zip/ZipInputStream.java ! src/share/classes/java/util/zip/ZipOutputStream.java ! src/share/classes/java/util/zip/package.html - src/share/native/java/util/zip/ZipEntry.c ! src/share/native/java/util/zip/ZipFile.c ! src/share/native/java/util/zip/zip_util.c ! src/share/native/java/util/zip/zip_util.h + test/java/util/zip/ZipCoding.java + test/java/util/zip/zip.java Changeset: 0b3660c68262 Author: alanb Date: 2009-04-15 14:53 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/0b3660c68262 6795561: (bf) CharBuffer.subSequence() uses wrong capacity value for new buffer Reviewed-by: sherman, iris ! src/share/classes/java/nio/ByteBufferAs-X-Buffer.java ! src/share/classes/java/nio/Direct-X-Buffer.java ! src/share/classes/java/nio/Heap-X-Buffer.java ! src/share/classes/java/nio/StringCharBuffer.java ! test/java/nio/Buffer/Basic-X.java ! test/java/nio/Buffer/Basic.java ! test/java/nio/Buffer/BasicByte.java ! test/java/nio/Buffer/BasicChar.java ! test/java/nio/Buffer/BasicDouble.java ! test/java/nio/Buffer/BasicFloat.java ! test/java/nio/Buffer/BasicInt.java ! test/java/nio/Buffer/BasicLong.java ! test/java/nio/Buffer/BasicShort.java Changeset: 44b6b2a4dd04 Author: alanb Date: 2009-04-15 16:16 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/44b6b2a4dd04 6543863: (fc) FileLock.release can deadlock with FileChannel.close 6429910: (fc) FileChannel.lock() IOException: Bad file number, not AsynchronousCloseException 6814948: (fc) test/java/nio/channels/AsynchronousFileChannel/Lock.java failed intermittently 6822643: (fc) AsynchronousFileChannel.close does not invalidate FileLocks Reviewed-by: sherman ! src/share/classes/sun/nio/ch/AsynchronousFileChannelImpl.java ! src/share/classes/sun/nio/ch/FileChannelImpl.java ! src/share/classes/sun/nio/ch/FileLockImpl.java ! src/share/classes/sun/nio/ch/FileLockTable.java ! src/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java ! src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java ! src/windows/native/sun/nio/ch/FileDispatcherImpl.c ! test/java/nio/channels/AsynchronousFileChannel/Basic.java ! test/java/nio/channels/AsynchronousFileChannel/Lock.java + test/java/nio/channels/FileChannel/ReleaseOnCloseDeadlock.java Changeset: ca94dcd8c4fb Author: alanb Date: 2009-04-17 09:38 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/ca94dcd8c4fb Merge - src/share/native/java/util/zip/ZipEntry.c Changeset: fb2ccb7c50c7 Author: wetmore Date: 2008-08-22 18:48 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/fb2ccb7c50c7 6497740: Limit the size of RSA public keys Reviewed-by: andreas, valeriep, vinnie ! src/share/classes/sun/security/pkcs11/P11KeyPairGenerator.java ! src/share/classes/sun/security/pkcs11/P11KeyStore.java ! src/share/classes/sun/security/pkcs11/P11RSAKeyFactory.java ! src/share/classes/sun/security/pkcs11/SunPKCS11.java ! src/share/classes/sun/security/rsa/RSAKeyFactory.java ! src/share/classes/sun/security/rsa/RSAKeyPairGenerator.java ! src/share/classes/sun/security/rsa/RSAPrivateCrtKeyImpl.java ! src/share/classes/sun/security/rsa/RSAPrivateKeyImpl.java ! src/share/classes/sun/security/rsa/RSAPublicKeyImpl.java ! src/windows/classes/sun/security/mscapi/RSAKeyPairGenerator.java ! src/windows/classes/sun/security/mscapi/RSASignature.java Changeset: 8e51a219fc3b Author: weijun Date: 2008-10-01 10:01 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/8e51a219fc3b 6588160: jaas krb5 client leaks OS-level UDP sockets (all platforms) Reviewed-by: jccollet, chegar ! src/share/classes/sun/security/krb5/KrbKdcReq.java ! src/share/classes/sun/security/krb5/internal/UDPClient.java Changeset: 150a441a305d Author: ksrini Date: 2008-09-04 09:43 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/150a441a305d 6733959: Insufficient checks for "Main-Class" manifest entry in JAR files Summary: Fixes a buffer overrun problem with a very long Main-Class attribute. Reviewed-by: darcy ! src/share/bin/emessages.h ! src/share/bin/java.c ! test/tools/launcher/MultipleJRE.sh + test/tools/launcher/ZipMeUp.java Changeset: ec336f0e23f4 Author: okutsu Date: 2008-10-02 16:49 +0900 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/ec336f0e23f4 6734167: Calendar.readObject allows elevation of privileges Reviewed-by: peytoia ! src/share/classes/java/util/Calendar.java Changeset: 135c5fe2ee42 Author: bae Date: 2008-10-02 20:37 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/135c5fe2ee42 6726779: ConvolveOp on USHORT raster can cause the JVM crash. Reviewed-by: igor, prr ! src/share/native/sun/awt/medialib/awt_ImagingLib.c + test/java/awt/image/ConvolveOp/EdgeNoOpCrash.java Changeset: 9d1033f65e4b Author: alanb Date: 2008-10-09 21:12 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/9d1033f65e4b 6721753: File.createTempFile produces guessable file names Reviewed-by: sherman ! src/share/classes/java/io/File.java Changeset: 3c567ab34788 Author: ksrini Date: 2008-10-17 09:43 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/3c567ab34788 6755943: Java JAR Pack200 Decompression should enforce stricter header checks Summary: Fixes a core dump when fed with a faulty pack file and related malicious take over Reviewed-by: jrose ! make/common/shared/Defs-windows.gmk ! src/share/native/com/sun/java/util/jar/pack/bytes.cpp ! src/share/native/com/sun/java/util/jar/pack/defines.h ! src/share/native/com/sun/java/util/jar/pack/main.cpp ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp ! src/share/native/com/sun/java/util/jar/pack/unpack.h ! src/share/native/com/sun/java/util/jar/pack/utils.cpp ! src/share/native/com/sun/java/util/jar/pack/utils.h + test/tools/pack200/MemoryAllocatorTest.java Changeset: 0291de857e51 Author: bae Date: 2008-12-03 13:34 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/0291de857e51 6766136: corrupted gif image may cause crash in java splashscreen library. Reviewed-by: prr, art ! src/share/native/sun/awt/splashscreen/splashscreen_gfx_impl.h ! src/share/native/sun/awt/splashscreen/splashscreen_gif.c Changeset: dfb09d805b2d Author: prr Date: 2008-12-24 15:48 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/dfb09d805b2d 6652463: MediaSize constructors allow to redefine the mapping of standard MediaSizeName values Reviewed-by: igor, jgodinez ! src/share/classes/javax/print/attribute/standard/MediaSize.java + test/javax/print/attribute/MediaMappingsTest.java Changeset: a8ec0998704e Author: weijun Date: 2008-12-30 10:42 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/a8ec0998704e 6717680: LdapCtx does not close the connection if initialization fails Reviewed-by: vinnie, xuelei ! src/share/classes/com/sun/jndi/ldap/LdapCtx.java Changeset: 6a4e03cc03bb Author: prr Date: 2009-01-05 11:28 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/6a4e03cc03bb 6632886: Font.createFont can be persuaded to leak temporary files 6522586: Enforce limits on Font creation 6652929: Font.createFont(int,File) trusts File.getPath Reviewed-by: igor ! src/share/classes/java/awt/Font.java + src/share/classes/sun/font/CreatedFontTracker.java ! src/share/classes/sun/font/FileFont.java ! src/share/classes/sun/font/FontManager.java + test/java/awt/FontClass/CreateFont/A.ttf + test/java/awt/FontClass/CreateFont/BigFont.java + test/java/awt/FontClass/CreateFont/DeleteFont.java + test/java/awt/FontClass/CreateFont/DeleteFont.sh + test/java/awt/FontClass/CreateFont/bigfont.html + test/java/awt/FontClass/CreateFont/fileaccess/FontFile.java Changeset: 392c4225d636 Author: ksrini Date: 2009-02-18 14:14 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/392c4225d636 6792554: Java JAR Pack200 header checks are insufficent Summary: Added several checks to ensure that the values read from the headers are consistent Reviewed-by: jrose ! src/share/native/com/sun/java/util/jar/pack/bands.cpp ! src/share/native/com/sun/java/util/jar/pack/coding.cpp ! src/share/native/com/sun/java/util/jar/pack/defines.h ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp - test/tools/pack200/MemoryAllocatorTest.java Changeset: 7f4cf1eb7586 Author: bae Date: 2009-02-20 13:48 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/7f4cf1eb7586 6804996: JWS PNG Decoding Integer Overflow [V-flrhat2ln8] Reviewed-by: prr ! src/share/native/sun/awt/splashscreen/splashscreen_gif.c ! src/share/native/sun/awt/splashscreen/splashscreen_impl.h ! src/share/native/sun/awt/splashscreen/splashscreen_png.c Changeset: dedf9366f289 Author: prr Date: 2009-03-03 16:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/dedf9366f289 2163516: Font.createFont can be persuaded to leak temporary files Reviewed-by: igor ! src/share/classes/sun/font/FontManager.java ! src/share/classes/sun/font/TrueTypeFont.java ! src/share/classes/sun/font/Type1Font.java ! test/java/awt/FontClass/CreateFont/DeleteFont.java Changeset: 7f6c1ce75629 Author: bae Date: 2009-03-05 19:36 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/7f6c1ce75629 6804998: JRE GIF Decoding Heap Corruption [V-y6g5jlm8e1] Reviewed-by: prr ! src/share/classes/sun/awt/image/GifImageDecoder.java ! src/share/native/sun/awt/image/gif/gifdecoder.c Changeset: 51f13571014c Author: bae Date: 2009-03-06 12:40 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/51f13571014c 6804997: JWS GIF Decoding Heap Corruption [V-r687oxuocp] Reviewed-by: prr ! src/share/native/sun/awt/giflib/dgif_lib.c Changeset: 2e34ef54a93a Author: michaelm Date: 2009-03-10 03:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/2e34ef54a93a 6630639: lightweight HttpServer leaks file descriptors on no-data connections Summary: not cleaning up no-data connections properly Reviewed-by: chegar ! src/share/classes/sun/net/httpserver/Request.java ! src/share/classes/sun/net/httpserver/ServerImpl.java Changeset: 21e38c573956 Author: dfuchs Date: 2009-03-09 21:49 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/21e38c573956 6656633: getNotificationInfo methods static mutable Reviewed-by: emcmanus, jfdenise ! src/share/classes/javax/management/monitor/CounterMonitor.java ! src/share/classes/javax/management/monitor/GaugeMonitor.java ! src/share/classes/javax/management/monitor/StringMonitor.java Changeset: ea88236be621 Author: dfuchs Date: 2009-03-10 12:28 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/ea88236be621 Merge Changeset: 8cdfcdea53cb Author: dfuchs Date: 2009-03-09 22:17 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/8cdfcdea53cb 6691246: Thread context class loader can be set using JMX remote ClientNotifForwarded Reviewed-by: emcmanus ! src/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java Changeset: 09b17f679cbd Author: dfuchs Date: 2009-03-10 12:36 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/09b17f679cbd Merge Changeset: 13dfb2c46091 Author: dfuchs Date: 2009-03-09 22:34 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/13dfb2c46091 6610888: Potential use of cleared of incorrect acc in JMX Monitor Reviewed-by: emcmanus ! src/share/classes/javax/management/monitor/Monitor.java Changeset: de520a184ddb Author: dfuchs Date: 2009-03-10 12:47 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/de520a184ddb Merge Changeset: 8062f8c51a88 Author: dfuchs Date: 2009-03-09 22:49 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/8062f8c51a88 6610896: JMX Monitor handles thread groups incorrectly Reviewed-by: emcmanus ! src/share/classes/javax/management/monitor/Monitor.java Changeset: e1d79edaf7a0 Author: dfuchs Date: 2009-03-10 12:55 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/e1d79edaf7a0 Merge ! src/share/classes/javax/management/monitor/Monitor.java Changeset: 3265fb461090 Author: dfuchs Date: 2009-03-09 23:50 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/3265fb461090 6721651: Security problem with out-of-the-box management Reviewed-by: emcmanus, lmalvent ! src/share/classes/com/sun/jmx/remote/security/MBeanServerAccessController.java ! src/share/classes/com/sun/jmx/remote/security/MBeanServerFileAccessController.java ! src/share/lib/management/jmxremote.access Changeset: 6ed878e5a5d4 Author: dfuchs Date: 2009-03-10 14:29 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/6ed878e5a5d4 Merge Changeset: 255dcd4f19b6 Author: vinnie Date: 2009-03-10 18:43 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/255dcd4f19b6 6737315: LDAP serialized data vulnerability Reviewed-by: alanb ! src/share/classes/com/sun/jndi/ldap/VersionHelper12.java Changeset: e51956c74e5c Author: asaha Date: 2009-04-16 21:08 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/e51956c74e5c Merge ! make/common/shared/Defs-windows.gmk ! src/share/bin/emessages.h ! src/share/bin/java.c ! src/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java ! src/share/classes/com/sun/jmx/remote/security/MBeanServerFileAccessController.java ! src/share/classes/java/awt/Font.java ! src/share/classes/java/io/File.java ! src/share/classes/java/util/Calendar.java ! src/share/classes/javax/management/monitor/CounterMonitor.java ! src/share/classes/javax/management/monitor/GaugeMonitor.java ! src/share/classes/javax/management/monitor/Monitor.java ! src/share/classes/sun/font/FontManager.java ! src/share/classes/sun/font/TrueTypeFont.java ! src/share/classes/sun/font/Type1Font.java ! src/share/classes/sun/net/httpserver/Request.java ! src/share/classes/sun/net/httpserver/ServerImpl.java ! src/share/native/com/sun/java/util/jar/pack/bands.cpp ! src/share/native/com/sun/java/util/jar/pack/bytes.cpp ! src/share/native/com/sun/java/util/jar/pack/coding.cpp ! src/share/native/com/sun/java/util/jar/pack/defines.h ! src/share/native/com/sun/java/util/jar/pack/main.cpp ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp ! src/share/native/com/sun/java/util/jar/pack/unpack.h ! src/share/native/com/sun/java/util/jar/pack/utils.cpp ! src/share/native/com/sun/java/util/jar/pack/utils.h Changeset: 16c5e63f32d2 Author: asaha Date: 2009-04-16 22:47 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/16c5e63f32d2 Merge - src/share/native/java/util/zip/ZipEntry.c Changeset: a498d2817bef Author: asaha Date: 2009-04-17 09:21 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/a498d2817bef Merge Changeset: f1c76fb74e57 Author: tbell Date: 2009-04-18 14:10 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/f1c76fb74e57 Merge ! src/share/classes/sun/font/FontManager.java - src/share/native/java/util/zip/ZipEntry.c Changeset: ccd08d4b19cf Author: alanb Date: 2009-04-20 09:30 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/ccd08d4b19cf 6830721: (fc) test/java/nio/channels/AsynchronousFileChannel/Basic.java intermittent failure Reviewed-by: sherman ! test/java/nio/channels/AsynchronousFileChannel/Basic.java Changeset: e281812be4ce Author: alanb Date: 2009-04-20 13:27 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/e281812be4ce 6831461: (sample) Copy -r fails with IllegalArgumentexception: 'maxDepth' is negative Reviewed-by: chegar ! src/share/sample/nio/file/Copy.java Changeset: 697bf0cf039b Author: martin Date: 2009-04-20 21:23 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/697bf0cf039b 6830220: Logging issues due to regression from bug fix 6797480 Reviewed-by: swamyv Contributed-by: jeremymanson at google.com ! src/share/classes/java/util/logging/Logger.java + test/java/util/logging/LoggerSubclass.java Changeset: 079985c9965b Author: martin Date: 2009-04-20 21:53 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/079985c9965b 6716076: test UTIL_REGRESSION/test/java/util/logging/LoggingDeadlock2.java failed with exit code 1 Reviewed-by: swamyv, mchung ! test/java/util/logging/LoggingDeadlock2.java Changeset: 0fd45dba3cc8 Author: martin Date: 2009-04-20 21:57 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/0fd45dba3cc8 6278014: java.util.logging.LogRecord.getThreadID() should provide real thread id Summary: Make j.u.l. thread id a copy of Thread's id, for small values of thread id. Reviewed-by: alanb ! src/share/classes/java/util/logging/LogRecord.java ! test/java/util/logging/LoggerSubclass.java Changeset: c35a027468f2 Author: tbell Date: 2009-04-21 08:46 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/c35a027468f2 6831313: update jaxws in OpenJDK7 to 2.1 plus bug fixes from OpenJDK 6 6672868: Package javax.xml.ws.wsaddressing not included in make/docs/CORE_PKGS.gmk Reviewed-by: darcy ! make/docs/CORE_PKGS.gmk Changeset: cc5db1a62f70 Author: tbell Date: 2009-04-21 09:03 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/cc5db1a62f70 Merge - make/common/shared/Compiler.gmk - make/jprt.config - src/share/classes/sun/text/normalizer/UProperty.java - src/share/native/java/util/zip/ZipEntry.c - src/windows/classes/sun/awt/windows/fontconfig.98.properties - src/windows/classes/sun/awt/windows/fontconfig.Me.properties - src/windows/native/sun/windows/awt_KeyboardFocusManager.h Changeset: ea611a547fbf Author: tbell Date: 2009-04-21 21:26 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/ea611a547fbf Merge - src/share/native/java/util/zip/ZipEntry.c Changeset: 7859c68fed2b Author: tbell Date: 2009-04-23 21:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/7859c68fed2b Merge Changeset: 31a9fa5a8e6b Author: ohair Date: 2009-04-27 20:26 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/31a9fa5a8e6b 6831225: Upgrade JPRT jobs to use newer Linux 2.6 (e.g. Fedora 9) Reviewed-by: tbell ! make/jprt.properties Changeset: 45dfc3aeee8f Author: ohair Date: 2009-04-28 14:43 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/45dfc3aeee8f 6835241: Annotate some tests with @ignore that have shown to be unpredictable Reviewed-by: tbell ! test/java/lang/Class/getEnclosingConstructor/EnclosingConstructorTests.java ! test/java/lang/instrument/ParallelTransformerLoader.sh ! test/java/lang/management/ThreadMXBean/ThreadStateTest.java ! test/java/security/Security/ClassLoaderDeadlock/Deadlock2.sh ! test/java/util/logging/LoggingDeadlock2.java Changeset: 8dd1c3eb1288 Author: denis Date: 2009-04-13 21:42 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/8dd1c3eb1288 6590857: Drag & Drop arbitrary file copy Reviewed-by: uta ! src/share/classes/sun/awt/datatransfer/DataTransferer.java Changeset: 98ddbb3840a4 Author: anthony Date: 2009-04-14 14:17 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/98ddbb3840a4 6825342: Security warning may change Z-order of top-level Summary: Added the SWP_NOOWNERZORDER flag when calling ::SetWindowPos() Reviewed-by: art, dcherepanov ! src/windows/native/sun/windows/awt_Window.cpp Changeset: 6f4446ca5499 Author: yan Date: 2009-04-16 23:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/6f4446ca5499 Merge - make/common/shared/Compiler.gmk - make/jprt.config - src/share/classes/sun/misc/JavaIODeleteOnExitAccess.java - src/share/classes/sun/text/normalizer/UProperty.java - src/solaris/classes/sun/nio/ch/FileDispatcher.java - src/solaris/native/sun/nio/ch/FileDispatcher.c - src/windows/classes/sun/awt/windows/fontconfig.98.properties - src/windows/classes/sun/awt/windows/fontconfig.Me.properties - src/windows/classes/sun/nio/ch/FileDispatcher.java - src/windows/native/sun/nio/ch/FileDispatcher.c Changeset: c6503f2a93d1 Author: anthony Date: 2009-04-17 16:16 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/c6503f2a93d1 6826104: Getting a NullPointer exception when clicked on Application & Toolkit Modal dialog Summary: The addition of window peers to the windows collection has been restored in XWindowPeer. Reviewed-by: art, dcherepanov ! src/solaris/classes/sun/awt/X11/XWindowPeer.java Changeset: 9124b0123df3 Author: anthony Date: 2009-04-17 16:30 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/9124b0123df3 6821948: Consider removing the constraints for bounds of untrusted top-level windows Summary: The constrainBounds() methods are removed. Reviewed-by: art, dcherepanov ! src/solaris/classes/sun/awt/X11/XDecoratedPeer.java ! src/solaris/classes/sun/awt/X11/XEmbeddedFramePeer.java ! src/solaris/classes/sun/awt/X11/XWindow.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java ! src/windows/classes/sun/awt/windows/WDialogPeer.java ! src/windows/classes/sun/awt/windows/WEmbeddedFramePeer.java ! src/windows/classes/sun/awt/windows/WFramePeer.java ! src/windows/classes/sun/awt/windows/WWindowPeer.java Changeset: 5555093749ab Author: anthony Date: 2009-04-17 16:42 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/5555093749ab 6829858: JInternalFrame is not redrawing heavyweight children properly Summary: The Container.recursiveApplyCurrentShape() is now recursively called for all hw containers, even those having non-null layout Reviewed-by: art, dcherepanov ! src/share/classes/java/awt/Container.java + test/java/awt/Mixing/MixingInHwPanel.java Changeset: bd06d33634ee Author: dcherepanov Date: 2009-04-20 14:41 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/bd06d33634ee 6633354: AppletPanel loads Swing classes Reviewed-by: art, anthony ! src/share/classes/sun/applet/AppletPanel.java Changeset: 0d03c3cc2f03 Author: dcherepanov Date: 2009-04-20 17:05 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/0d03c3cc2f03 6770457: Using ToolTips causes inactive app window to exhibit active window behavior Reviewed-by: art, ant ! src/windows/native/sun/windows/awt_Component.cpp ! src/windows/native/sun/windows/awt_Window.cpp ! src/windows/native/sun/windows/awt_Window.h Changeset: 68ce3fa2b4c5 Author: dcherepanov Date: 2009-04-20 19:18 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/68ce3fa2b4c5 6825362: Avoid calling peer.setZOrder on Window instances Reviewed-by: anthony ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java ! src/share/classes/java/awt/Window.java ! src/windows/classes/sun/awt/windows/WPanelPeer.java Changeset: 9cb0aecf54bd Author: anthony Date: 2009-04-21 11:35 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/9cb0aecf54bd 6802853: API: shaped & translucent windows Summary: A public API for the feature forward-ported from 6u10. Reviewed-by: yan ! src/share/classes/java/awt/GraphicsConfiguration.java ! src/share/classes/java/awt/GraphicsDevice.java ! src/share/classes/java/awt/Window.java ! src/share/classes/sun/awt/EmbeddedFrame.java ! src/share/classes/sun/awt/SunToolkit.java ! src/solaris/classes/sun/awt/X11GraphicsConfig.java ! src/windows/classes/sun/awt/Win32GraphicsConfig.java ! src/windows/classes/sun/awt/windows/WComponentPeer.java ! src/windows/classes/sun/awt/windows/WWindowPeer.java - test/com/sun/awt/Translucency/TranslucentJAppletTest/TranslucentJAppletTest.java - test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TSFrame.java - test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.form - test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.java + test/java/awt/Window/TranslucentJAppletTest/TranslucentJAppletTest.java + test/java/awt/Window/TranslucentShapedFrameTest/TSFrame.java + test/java/awt/Window/TranslucentShapedFrameTest/TranslucentShapedFrameTest.form + test/java/awt/Window/TranslucentShapedFrameTest/TranslucentShapedFrameTest.java Changeset: 48df681dc50a Author: yan Date: 2009-04-28 13:30 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/48df681dc50a Merge - test/com/sun/awt/Translucency/TranslucentJAppletTest/TranslucentJAppletTest.java - test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TSFrame.java - test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.form - test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.java Changeset: 7601454859c2 Author: art Date: 2009-04-17 12:46 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/7601454859c2 6829923: Test javax/swing/system/6799345/TestShutdown.java fails on X11 platforms Summary: XAWT toolkit thread is correctly interrupted when AppContext is disposed Reviewed-by: anthony, peterz ! src/solaris/classes/sun/awt/X11/XToolkit.java Changeset: 8e01a3dee336 Author: amenkov Date: 2009-04-17 15:02 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/8e01a3dee336 5050147: RFE: Add More Useful Constructors to MidiMessage Subclasses Reviewed-by: alexp ! src/share/classes/javax/sound/midi/MetaMessage.java ! src/share/classes/javax/sound/midi/ShortMessage.java ! src/share/classes/javax/sound/midi/SysexMessage.java Changeset: f94a3aaae91d Author: amenkov Date: 2009-04-17 15:10 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/f94a3aaae91d 4672194: FloatControl should provide consistent policy for the floats Reviewed-by: alexp ! src/share/classes/javax/sound/sampled/FloatControl.java Changeset: e7b19babfd80 Author: amenkov Date: 2009-04-17 15:11 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/e7b19babfd80 4895403: SPEC: documentation of javax.sound.sampled.spi.MixerProvider should be detailed Reviewed-by: malenkov ! src/share/classes/javax/sound/sampled/spi/MixerProvider.java Changeset: a301fb619494 Author: amenkov Date: 2009-04-17 15:15 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/a301fb619494 6806019: 38 JCK api/javax_sound/midi/ tests fails starting from jdk7 b46 Reviewed-by: kalli ! src/share/classes/com/sun/media/sound/SoftSynthesizer.java Changeset: 923a730165bf Author: kalli Date: 2009-04-17 16:13 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/923a730165bf 6821030: Merge OpenJDK Gervill with upstream sources, Q1CY2009 Reviewed-by: darcy, amenkov ! src/share/classes/com/sun/media/sound/SoftAudioPusher.java ! src/share/classes/com/sun/media/sound/SoftChannel.java ! src/share/classes/com/sun/media/sound/SoftChorus.java ! src/share/classes/com/sun/media/sound/SoftFilter.java ! src/share/classes/com/sun/media/sound/SoftJitterCorrector.java ! src/share/classes/com/sun/media/sound/SoftMainMixer.java ! src/share/classes/com/sun/media/sound/SoftVoice.java + test/javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest.java + test/javax/sound/midi/Gervill/SoftFilter/TestProcessAudio.java Changeset: e61cd67602bd Author: kalli Date: 2009-04-17 16:20 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/e61cd67602bd 6823445: Gervill SoftChannel/ResetAllControllers jtreg test fails after portamento fix from last merge. Reviewed-by: amenkov ! src/share/classes/com/sun/media/sound/SoftChannel.java Changeset: 5ac8b97ffabd Author: kalli Date: 2009-04-17 16:28 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/5ac8b97ffabd 6823446: Gervill SoftLowFrequencyOscillator fails when freq is set to 0 cent or 8.1758 Hz. Reviewed-by: amenkov ! src/share/classes/com/sun/media/sound/SoftLowFrequencyOscillator.java + test/javax/sound/midi/Gervill/SoftLowFrequencyOscillator/TestProcessControlLogic.java Changeset: 7f45fcc04f8e Author: peterz Date: 2009-04-25 21:17 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/7f45fcc04f8e 6591875: Nimbus Swing Look and Feel Reviewed-by: jasper, ohair ! README ! make/common/Sanity.gmk ! make/common/shared/Defs.gmk ! make/common/shared/Platform.gmk ! make/common/shared/Sanity-Settings.gmk ! make/common/shared/Sanity.gmk ! make/javax/swing/plaf/Makefile + make/javax/swing/plaf/nimbus/Makefile ! make/tools/Makefile + make/tools/swing-nimbus/Makefile + make/tools/swing-nimbus/classes/org/jdesktop/beans/AbstractBean.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/BezierControlPoint.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/BlendingMode.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/Canvas.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/ControlPoint.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/Designer.jibx.xml + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/DoubleBean.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/EllipseShape.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/GraphicsHelper.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/Layer.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/LayerContainer.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/PaintedShape.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/PathShape.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/RectangleShape.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/SimpleShape.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/TemplateLayer.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/DropShadowEffect.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/Effect.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/EffectUtils.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/EffectUtilsTemp.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/InnerGlowEffect.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/InnerShadowEffect.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/OuterGlowEffect.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/ShadowEffect.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/font/Typeface.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/jibxhelpers/CanvasMapper.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/jibxhelpers/ColorMapper.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/jibxhelpers/DimensionMapper.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/jibxhelpers/InsetsMapper.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/AbstractGradient.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/Gradient.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/GradientStop.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/Matte.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/PaintModel.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/RadialGradient.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/Texture.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/utils/HasPath.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/utils/HasResources.java + make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/utils/HasUIDefaults.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/DefaultsGenerator.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/Generator.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/GeneratorUtils.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/ObjectCodeConvertors.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/PainterGenerator.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/TemplateWriter.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/CustomUIDefault.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/HasUIStyle.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/PainterBorder.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/SynthModel.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/SynthModel.jibx.xml + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIBorder.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIColor.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIComponent.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIDefault.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIDimension.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIFont.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIIcon.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIIconRegion.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIInsets.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIPaint.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIProperty.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIRegion.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIState.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIStateType.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIStyle.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/jibxhelpers/BorderMapper.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/jibxhelpers/ClassConverter.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/jibxhelpers/ClassMapper.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/jibxhelpers/FontMapper.java + make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/jibxhelpers/UIPropertyMapper.java + src/share/classes/com/sun/java/swing/Painter.java ! src/share/classes/com/sun/java/swing/plaf/gtk/GTKFileChooserUI.java + src/share/classes/com/sun/java/swing/plaf/nimbus/AbstractRegionPainter.java + src/share/classes/com/sun/java/swing/plaf/nimbus/NimbusLookAndFeel.java ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java ! src/share/classes/java/awt/Color.java ! src/share/classes/javax/swing/DefaultCellEditor.java ! src/share/classes/javax/swing/DefaultListCellRenderer.java ! src/share/classes/javax/swing/JComboBox.java ! src/share/classes/javax/swing/JScrollPane.java ! src/share/classes/javax/swing/JSpinner.java ! src/share/classes/javax/swing/JSplitPane.java ! src/share/classes/javax/swing/JTable.java ! src/share/classes/javax/swing/MultiUIDefaults.java + src/share/classes/javax/swing/Painter.java ! src/share/classes/javax/swing/UIManager.java ! src/share/classes/javax/swing/border/TitledBorder.java ! src/share/classes/javax/swing/plaf/basic/BasicComboBoxUI.java ! src/share/classes/javax/swing/plaf/basic/BasicListUI.java ! src/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java ! src/share/classes/javax/swing/plaf/basic/BasicProgressBarUI.java ! src/share/classes/javax/swing/plaf/basic/BasicScrollBarUI.java ! src/share/classes/javax/swing/plaf/basic/BasicSliderUI.java ! src/share/classes/javax/swing/plaf/basic/BasicSplitPaneUI.java ! src/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java ! src/share/classes/javax/swing/plaf/basic/BasicTableUI.java ! src/share/classes/javax/swing/plaf/basic/BasicTextUI.java ! src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java + src/share/classes/javax/swing/plaf/nimbus/AbstractRegionPainter.java + src/share/classes/javax/swing/plaf/nimbus/Defaults.template + src/share/classes/javax/swing/plaf/nimbus/DerivedColor.java + src/share/classes/javax/swing/plaf/nimbus/DropShadowEffect.java + src/share/classes/javax/swing/plaf/nimbus/Effect.java + src/share/classes/javax/swing/plaf/nimbus/EffectUtils.java + src/share/classes/javax/swing/plaf/nimbus/ImageCache.java + src/share/classes/javax/swing/plaf/nimbus/ImageScalingHelper.java + src/share/classes/javax/swing/plaf/nimbus/InnerGlowEffect.java + src/share/classes/javax/swing/plaf/nimbus/InnerShadowEffect.java + src/share/classes/javax/swing/plaf/nimbus/LoweredBorder.java + src/share/classes/javax/swing/plaf/nimbus/NimbusIcon.java + src/share/classes/javax/swing/plaf/nimbus/NimbusLookAndFeel.java + src/share/classes/javax/swing/plaf/nimbus/NimbusStyle.java + src/share/classes/javax/swing/plaf/nimbus/OuterGlowEffect.java + src/share/classes/javax/swing/plaf/nimbus/PainterImpl.template + src/share/classes/javax/swing/plaf/nimbus/ShadowEffect.java + src/share/classes/javax/swing/plaf/nimbus/State.java + src/share/classes/javax/swing/plaf/nimbus/StateImpl.template + src/share/classes/javax/swing/plaf/nimbus/SynthPainterImpl.java + src/share/classes/javax/swing/plaf/nimbus/TableScrollPaneCorner.java + src/share/classes/javax/swing/plaf/nimbus/ToolBarSeparatorPainter.java + src/share/classes/javax/swing/plaf/nimbus/doc-files/properties.html + src/share/classes/javax/swing/plaf/nimbus/package.html + src/share/classes/javax/swing/plaf/nimbus/skin.laf ! src/share/classes/javax/swing/plaf/synth/SynthArrowButton.java ! src/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java ! src/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java ! src/share/classes/javax/swing/plaf/synth/SynthProgressBarUI.java ! src/share/classes/javax/swing/plaf/synth/SynthScrollBarUI.java ! src/share/classes/javax/swing/plaf/synth/SynthScrollPaneUI.java ! src/share/classes/javax/swing/plaf/synth/SynthSliderUI.java ! src/share/classes/javax/swing/plaf/synth/SynthSpinnerUI.java ! src/share/classes/javax/swing/plaf/synth/SynthStyle.java ! src/share/classes/javax/swing/plaf/synth/SynthTabbedPaneUI.java ! src/share/classes/javax/swing/plaf/synth/SynthTableHeaderUI.java ! src/share/classes/javax/swing/plaf/synth/SynthTableUI.java ! src/share/classes/javax/swing/plaf/synth/SynthTextAreaUI.java ! src/share/classes/javax/swing/plaf/synth/SynthToggleButtonUI.java ! src/share/classes/javax/swing/plaf/synth/SynthToolBarUI.java ! src/share/classes/javax/swing/plaf/synth/SynthTreeUI.java ! src/share/classes/javax/swing/table/DefaultTableCellRenderer.java ! src/share/classes/javax/swing/tree/DefaultTreeCellRenderer.java ! src/share/classes/sun/swing/DefaultLookup.java ! src/share/classes/sun/swing/FilePane.java + src/share/classes/sun/swing/plaf/GTKKeybindings.java + src/share/classes/sun/swing/plaf/WindowsKeybindings.java ! src/share/classes/sun/swing/plaf/synth/SynthFileChooserUI.java ! src/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java ! src/share/classes/sun/swing/table/DefaultTableCellHeaderRenderer.java Changeset: 8df0db057762 Author: peterz Date: 2009-04-28 21:41 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/8df0db057762 6835113: Nimbus Makefile issue Reviewed-by: prr ! make/tools/swing-nimbus/Makefile Changeset: 4b922e8fef3b Author: yan Date: 2009-04-28 13:41 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/4b922e8fef3b Merge ! make/common/shared/Defs.gmk ! make/common/shared/Platform.gmk ! make/common/shared/Sanity-Settings.gmk ! make/common/shared/Sanity.gmk ! src/solaris/classes/sun/awt/X11/XToolkit.java Changeset: d5a1223e9618 Author: yan Date: 2009-04-29 00:27 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/d5a1223e9618 Merge - test/com/sun/awt/Translucency/TranslucentJAppletTest/TranslucentJAppletTest.java - test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TSFrame.java - test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.form - test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.java Changeset: 6c7c0bccab55 Author: xdono Date: 2009-04-30 15:04 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/6c7c0bccab55 Added tag jdk7-b57 for changeset d5a1223e9618 ! .hgtags From john.coomes at sun.com Thu Apr 30 20:51:50 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 01 May 2009 03:51:50 +0000 Subject: hg: jdk7/hotspot/jaxws: 8 new changesets Message-ID: <20090501035203.142FEECD3@hg.openjdk.java.net> Changeset: 99fc62f032a7 Author: ramap Date: 2009-03-09 15:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/99fc62f032a7 6536193: Fix the flaw in UTF8XmlOutput Reviewed-by: tbell ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/UTF8XmlOutput.java Changeset: f89f252678be Author: asaha Date: 2009-04-10 13:05 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/f89f252678be Merge Changeset: fa6a4207cae8 Author: tbell Date: 2009-04-18 14:09 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/fa6a4207cae8 Merge Changeset: 31822b475baa Author: tbell Date: 2009-04-20 15:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/31822b475baa 6831313: update jaxws in OpenJDK7 to 2.1 plus bug fixes from OpenJDK 6 6672868: Package javax.xml.ws.wsaddressing not included in make/docs/CORE_PKGS.gmk Reviewed-by: darcy ! THIRD_PARTY_README + TRADEMARK ! make/Makefile ! make/build.xml ! make/jprt.properties ! src/share/classes/com/sun/activation/registries/MailcapFile.java ! src/share/classes/com/sun/codemodel/internal/ClassType.java ! src/share/classes/com/sun/codemodel/internal/CodeWriter.java ! src/share/classes/com/sun/codemodel/internal/JAnnotatable.java ! src/share/classes/com/sun/codemodel/internal/JAnnotationArrayMember.java ! src/share/classes/com/sun/codemodel/internal/JAnnotationStringValue.java ! src/share/classes/com/sun/codemodel/internal/JAnnotationUse.java ! src/share/classes/com/sun/codemodel/internal/JAnnotationValue.java ! src/share/classes/com/sun/codemodel/internal/JAnnotationWriter.java ! src/share/classes/com/sun/codemodel/internal/JAnonymousClass.java ! src/share/classes/com/sun/codemodel/internal/JArray.java ! src/share/classes/com/sun/codemodel/internal/JArrayClass.java ! src/share/classes/com/sun/codemodel/internal/JArrayCompRef.java ! src/share/classes/com/sun/codemodel/internal/JAssignment.java ! src/share/classes/com/sun/codemodel/internal/JAssignmentTarget.java ! src/share/classes/com/sun/codemodel/internal/JAtom.java ! src/share/classes/com/sun/codemodel/internal/JBlock.java ! src/share/classes/com/sun/codemodel/internal/JBreak.java ! src/share/classes/com/sun/codemodel/internal/JCase.java ! src/share/classes/com/sun/codemodel/internal/JCast.java ! src/share/classes/com/sun/codemodel/internal/JCatchBlock.java ! src/share/classes/com/sun/codemodel/internal/JClass.java ! src/share/classes/com/sun/codemodel/internal/JClassAlreadyExistsException.java ! src/share/classes/com/sun/codemodel/internal/JClassContainer.java ! src/share/classes/com/sun/codemodel/internal/JCodeModel.java ! src/share/classes/com/sun/codemodel/internal/JCommentPart.java ! src/share/classes/com/sun/codemodel/internal/JConditional.java ! src/share/classes/com/sun/codemodel/internal/JContinue.java ! src/share/classes/com/sun/codemodel/internal/JDeclaration.java ! src/share/classes/com/sun/codemodel/internal/JDefinedClass.java ! src/share/classes/com/sun/codemodel/internal/JDirectClass.java ! src/share/classes/com/sun/codemodel/internal/JDoLoop.java ! src/share/classes/com/sun/codemodel/internal/JDocComment.java ! src/share/classes/com/sun/codemodel/internal/JEnumConstant.java ! src/share/classes/com/sun/codemodel/internal/JExpr.java ! src/share/classes/com/sun/codemodel/internal/JExpression.java ! src/share/classes/com/sun/codemodel/internal/JExpressionImpl.java ! src/share/classes/com/sun/codemodel/internal/JFieldRef.java ! src/share/classes/com/sun/codemodel/internal/JFieldVar.java ! src/share/classes/com/sun/codemodel/internal/JForEach.java ! src/share/classes/com/sun/codemodel/internal/JForLoop.java ! src/share/classes/com/sun/codemodel/internal/JFormatter.java ! src/share/classes/com/sun/codemodel/internal/JGenerable.java ! src/share/classes/com/sun/codemodel/internal/JGenerifiable.java ! src/share/classes/com/sun/codemodel/internal/JGenerifiableImpl.java ! src/share/classes/com/sun/codemodel/internal/JInvocation.java ! src/share/classes/com/sun/codemodel/internal/JJavaName.java ! src/share/classes/com/sun/codemodel/internal/JLabel.java ! src/share/classes/com/sun/codemodel/internal/JMethod.java ! src/share/classes/com/sun/codemodel/internal/JMod.java ! src/share/classes/com/sun/codemodel/internal/JMods.java ! src/share/classes/com/sun/codemodel/internal/JNarrowedClass.java ! src/share/classes/com/sun/codemodel/internal/JNullType.java ! src/share/classes/com/sun/codemodel/internal/JOp.java ! src/share/classes/com/sun/codemodel/internal/JPackage.java ! src/share/classes/com/sun/codemodel/internal/JPrimitiveType.java ! src/share/classes/com/sun/codemodel/internal/JResourceFile.java ! src/share/classes/com/sun/codemodel/internal/JReturn.java ! src/share/classes/com/sun/codemodel/internal/JStatement.java ! src/share/classes/com/sun/codemodel/internal/JStringLiteral.java ! src/share/classes/com/sun/codemodel/internal/JSwitch.java ! src/share/classes/com/sun/codemodel/internal/JThrow.java ! src/share/classes/com/sun/codemodel/internal/JTryBlock.java ! src/share/classes/com/sun/codemodel/internal/JType.java ! src/share/classes/com/sun/codemodel/internal/JTypeVar.java ! src/share/classes/com/sun/codemodel/internal/JTypeWildcard.java ! src/share/classes/com/sun/codemodel/internal/JVar.java ! src/share/classes/com/sun/codemodel/internal/JWhileLoop.java ! src/share/classes/com/sun/codemodel/internal/TypedAnnotationWriter.java ! src/share/classes/com/sun/codemodel/internal/fmt/JBinaryFile.java ! src/share/classes/com/sun/codemodel/internal/fmt/JPropertyFile.java ! src/share/classes/com/sun/codemodel/internal/fmt/JSerializedObject.java ! src/share/classes/com/sun/codemodel/internal/fmt/JStaticFile.java ! src/share/classes/com/sun/codemodel/internal/fmt/JStaticJavaFile.java ! src/share/classes/com/sun/codemodel/internal/fmt/JTextFile.java ! src/share/classes/com/sun/codemodel/internal/fmt/package.html ! src/share/classes/com/sun/codemodel/internal/package-info.java ! src/share/classes/com/sun/codemodel/internal/util/ClassNameComparator.java ! src/share/classes/com/sun/codemodel/internal/util/EncoderFactory.java ! src/share/classes/com/sun/codemodel/internal/util/JavadocEscapeWriter.java ! src/share/classes/com/sun/codemodel/internal/util/MS1252Encoder.java ! src/share/classes/com/sun/codemodel/internal/util/SingleByteEncoder.java ! src/share/classes/com/sun/codemodel/internal/util/Surrogate.java ! src/share/classes/com/sun/codemodel/internal/util/UnicodeEscapeWriter.java ! src/share/classes/com/sun/codemodel/internal/writer/FileCodeWriter.java ! src/share/classes/com/sun/codemodel/internal/writer/FilterCodeWriter.java ! src/share/classes/com/sun/codemodel/internal/writer/ProgressCodeWriter.java ! src/share/classes/com/sun/codemodel/internal/writer/PrologCodeWriter.java ! src/share/classes/com/sun/codemodel/internal/writer/SingleStreamCodeWriter.java ! src/share/classes/com/sun/codemodel/internal/writer/ZipCodeWriter.java ! src/share/classes/com/sun/istack/internal/ByteArrayDataSource.java ! src/share/classes/com/sun/istack/internal/FinalArrayList.java ! src/share/classes/com/sun/istack/internal/FragmentContentHandler.java ! src/share/classes/com/sun/istack/internal/Interned.java ! src/share/classes/com/sun/istack/internal/NotNull.java ! src/share/classes/com/sun/istack/internal/Nullable.java ! src/share/classes/com/sun/istack/internal/Pool.java ! src/share/classes/com/sun/istack/internal/SAXException2.java ! src/share/classes/com/sun/istack/internal/SAXParseException2.java + src/share/classes/com/sun/istack/internal/XMLStreamException2.java + src/share/classes/com/sun/istack/internal/XMLStreamReaderToContentHandler.java ! src/share/classes/com/sun/istack/internal/package-info.java ! src/share/classes/com/sun/istack/internal/tools/APTTypeVisitor.java + src/share/classes/com/sun/istack/internal/tools/MaskingClassLoader.java + src/share/classes/com/sun/istack/internal/tools/ParallelWorldClassLoader.java ! src/share/classes/com/sun/istack/internal/tools/package-info.java ! src/share/classes/com/sun/istack/internal/ws/AnnotationProcessorFactoryImpl.java ! src/share/classes/com/sun/istack/internal/ws/package-info.java + src/share/classes/com/sun/tools/etc/META-INF/services/com.sun.tools.internal.xjc.Plugin ! src/share/classes/com/sun/tools/internal/jxc/ConfigReader.java ! src/share/classes/com/sun/tools/internal/jxc/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/jxc/Messages.java ! src/share/classes/com/sun/tools/internal/jxc/NGCCRuntimeEx.java ! src/share/classes/com/sun/tools/internal/jxc/SchemaGenerator.java ! src/share/classes/com/sun/tools/internal/jxc/apt/AnnotationParser.java ! src/share/classes/com/sun/tools/internal/jxc/apt/AnnotationProcessorFactoryImpl.java ! src/share/classes/com/sun/tools/internal/jxc/apt/Const.java ! src/share/classes/com/sun/tools/internal/jxc/apt/ErrorReceiverImpl.java ! src/share/classes/com/sun/tools/internal/jxc/apt/InlineAnnotationReaderImpl.java ! src/share/classes/com/sun/tools/internal/jxc/apt/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/jxc/apt/Messages.java ! src/share/classes/com/sun/tools/internal/jxc/apt/Options.java ! src/share/classes/com/sun/tools/internal/jxc/apt/SchemaGenerator.java ! src/share/classes/com/sun/tools/internal/jxc/apt/package.html ! src/share/classes/com/sun/tools/internal/jxc/gen/config/AttributesImpl.java ! src/share/classes/com/sun/tools/internal/jxc/gen/config/Classes.java ! src/share/classes/com/sun/tools/internal/jxc/gen/config/Config.java ! src/share/classes/com/sun/tools/internal/jxc/gen/config/NGCCEventReceiver.java ! src/share/classes/com/sun/tools/internal/jxc/gen/config/NGCCEventSource.java ! src/share/classes/com/sun/tools/internal/jxc/gen/config/NGCCHandler.java ! src/share/classes/com/sun/tools/internal/jxc/gen/config/NGCCInterleaveFilter.java ! src/share/classes/com/sun/tools/internal/jxc/gen/config/NGCCRuntime.java ! src/share/classes/com/sun/tools/internal/jxc/gen/config/Schema.java ! src/share/classes/com/sun/tools/internal/jxc/gen/config/config.rng ! src/share/classes/com/sun/tools/internal/jxc/gen/config/config.xsd ! src/share/classes/com/sun/tools/internal/jxc/model/nav/APTNavigator.java - src/share/classes/com/sun/tools/internal/txw2/AntErrorListener.java - src/share/classes/com/sun/tools/internal/txw2/ConsoleErrorReporter.java - src/share/classes/com/sun/tools/internal/txw2/ErrorListener.java - src/share/classes/com/sun/tools/internal/txw2/Main.java - src/share/classes/com/sun/tools/internal/txw2/NameUtil.java - src/share/classes/com/sun/tools/internal/txw2/RELAXNGLoader.java - src/share/classes/com/sun/tools/internal/txw2/SchemaBuilder.java - src/share/classes/com/sun/tools/internal/txw2/TxwOptions.java - src/share/classes/com/sun/tools/internal/txw2/TxwTask.java - src/share/classes/com/sun/tools/internal/txw2/XmlSchemaLoader.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/AnnotationsImpl.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/CommentListImpl.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/DataPatternBuilderImpl.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/DatatypeFactory.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/DivImpl.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/ElementAnnotationBuilderImpl.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/GrammarImpl.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/GrammarSectionImpl.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/SchemaBuilderImpl.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/package.html - src/share/classes/com/sun/tools/internal/txw2/builder/xsd/XmlSchemaBuilder.java - src/share/classes/com/sun/tools/internal/txw2/builder/xsd/package.html - src/share/classes/com/sun/tools/internal/txw2/model/Attribute.java - src/share/classes/com/sun/tools/internal/txw2/model/CycleIterator.java - src/share/classes/com/sun/tools/internal/txw2/model/Data.java - src/share/classes/com/sun/tools/internal/txw2/model/Define.java - src/share/classes/com/sun/tools/internal/txw2/model/Element.java - src/share/classes/com/sun/tools/internal/txw2/model/Empty.java - src/share/classes/com/sun/tools/internal/txw2/model/Grammar.java - src/share/classes/com/sun/tools/internal/txw2/model/Leaf.java - src/share/classes/com/sun/tools/internal/txw2/model/List.java - src/share/classes/com/sun/tools/internal/txw2/model/Node.java - src/share/classes/com/sun/tools/internal/txw2/model/NodeSet.java - src/share/classes/com/sun/tools/internal/txw2/model/Ref.java - src/share/classes/com/sun/tools/internal/txw2/model/Text.java - src/share/classes/com/sun/tools/internal/txw2/model/Value.java - src/share/classes/com/sun/tools/internal/txw2/model/WriterNode.java - src/share/classes/com/sun/tools/internal/txw2/model/XmlNode.java - src/share/classes/com/sun/tools/internal/txw2/model/prop/AttributeProp.java - src/share/classes/com/sun/tools/internal/txw2/model/prop/ElementProp.java - src/share/classes/com/sun/tools/internal/txw2/model/prop/LeafElementProp.java - src/share/classes/com/sun/tools/internal/txw2/model/prop/Prop.java - src/share/classes/com/sun/tools/internal/txw2/model/prop/ValueProp.java - src/share/classes/com/sun/tools/internal/txw2/model/prop/XmlItemProp.java ! src/share/classes/com/sun/tools/internal/ws/Invoker.java ! src/share/classes/com/sun/tools/internal/ws/ToolVersion.java ! src/share/classes/com/sun/tools/internal/ws/WsGen.java ! src/share/classes/com/sun/tools/internal/ws/WsImport.java + src/share/classes/com/sun/tools/internal/ws/api/TJavaGeneratorExtension.java + src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLExtensible.java + src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLExtension.java + src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLExtensionHandler.java + src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLOperation.java + src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLParserContext.java ! src/share/classes/com/sun/tools/internal/ws/package-info.java - src/share/classes/com/sun/tools/internal/ws/processor/Processor.java - src/share/classes/com/sun/tools/internal/ws/processor/ProcessorAction.java - src/share/classes/com/sun/tools/internal/ws/processor/ProcessorActionVersion.java - src/share/classes/com/sun/tools/internal/ws/processor/ProcessorConstants.java ! src/share/classes/com/sun/tools/internal/ws/processor/ProcessorException.java - src/share/classes/com/sun/tools/internal/ws/processor/ProcessorNotificationListener.java - src/share/classes/com/sun/tools/internal/ws/processor/ProcessorOptions.java - src/share/classes/com/sun/tools/internal/ws/processor/config/ClassModelInfo.java - src/share/classes/com/sun/tools/internal/ws/processor/config/Configuration.java - src/share/classes/com/sun/tools/internal/ws/processor/config/ConfigurationException.java - src/share/classes/com/sun/tools/internal/ws/processor/config/HandlerChainInfo.java - src/share/classes/com/sun/tools/internal/ws/processor/config/HandlerInfo.java - src/share/classes/com/sun/tools/internal/ws/processor/config/ModelInfo.java - src/share/classes/com/sun/tools/internal/ws/processor/config/WSDLModelInfo.java - src/share/classes/com/sun/tools/internal/ws/processor/config/parser/ClassModelParser.java - src/share/classes/com/sun/tools/internal/ws/processor/config/parser/CustomizationParser.java - src/share/classes/com/sun/tools/internal/ws/processor/config/parser/InputParser.java - src/share/classes/com/sun/tools/internal/ws/processor/config/parser/JAXWSBindingInfoParser.java - src/share/classes/com/sun/tools/internal/ws/processor/config/parser/ParserUtil.java - src/share/classes/com/sun/tools/internal/ws/processor/config/parser/Reader.java ! src/share/classes/com/sun/tools/internal/ws/processor/generator/CustomExceptionGenerator.java ! src/share/classes/com/sun/tools/internal/ws/processor/generator/GeneratorBase.java ! src/share/classes/com/sun/tools/internal/ws/processor/generator/GeneratorConstants.java ! src/share/classes/com/sun/tools/internal/ws/processor/generator/GeneratorException.java ! src/share/classes/com/sun/tools/internal/ws/processor/generator/GeneratorUtil.java - src/share/classes/com/sun/tools/internal/ws/processor/generator/JAXBTypeGenerator.java + src/share/classes/com/sun/tools/internal/ws/processor/generator/JavaGeneratorExtensionFacade.java ! src/share/classes/com/sun/tools/internal/ws/processor/generator/Names.java ! src/share/classes/com/sun/tools/internal/ws/processor/generator/SeiGenerator.java ! src/share/classes/com/sun/tools/internal/ws/processor/generator/ServiceGenerator.java - src/share/classes/com/sun/tools/internal/ws/processor/generator/SimpleToBoxedUtil.java + src/share/classes/com/sun/tools/internal/ws/processor/generator/W3CAddressingJavaGeneratorExtension.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/AbstractType.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/AsyncOperation.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/AsyncOperationType.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/Block.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/ExtendedModelVisitor.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/Fault.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/HeaderFault.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/Message.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/Model.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/ModelException.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/ModelObject.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/ModelProperties.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/ModelVisitor.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/Operation.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/Parameter.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/Port.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/Request.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/Response.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/Service.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/exporter/ExternalObject.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaArrayType.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaException.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaInterface.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaMethod.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaParameter.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaSimpleType.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaStructureMember.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaStructureType.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaType.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/JAXBElementMember.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/JAXBMapping.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/JAXBModel.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/JAXBProperty.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/JAXBStructuredType.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/JAXBType.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/JAXBTypeAndAnnotation.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/JAXBTypeVisitor.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/RpcLitMember.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/RpcLitStructure.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/Util.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/JavaSimpleTypeCreator.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/Modeler.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/ModelerConstants.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/ModelerException.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/ModelerUtils.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/AnnotationProcessorContext.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/FaultInfo.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/MakeSafeTypeVisitor.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/MemberInfo.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/ModelBuilder.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/TypeModeler.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/TypeMoniker.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/TypeMonikerFactory.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceAP.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceConstants.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceReferenceCollector.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceVisitor.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceWrapperGenerator.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/WrapperInfo.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/AccessorElement.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/ClassNameAllocatorImpl.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/ConsoleErrorReporter.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/JAXBModelBuilder.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/MimeHelper.java + src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/ModelerUtils.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/PseudoSchemaBuilder.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/WSDLModeler.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/WSDLModelerBase.java ! src/share/classes/com/sun/tools/internal/ws/processor/util/ClassNameCollector.java - src/share/classes/com/sun/tools/internal/ws/processor/util/ClientProcessorEnvironment.java ! src/share/classes/com/sun/tools/internal/ws/processor/util/DirectoryUtil.java - src/share/classes/com/sun/tools/internal/ws/processor/util/GeneratedFileInfo.java ! src/share/classes/com/sun/tools/internal/ws/processor/util/IndentingWriter.java - src/share/classes/com/sun/tools/internal/ws/processor/util/ProcessorEnvironment.java - src/share/classes/com/sun/tools/internal/ws/processor/util/ProcessorEnvironmentBase.java + src/share/classes/com/sun/tools/internal/ws/resources/ConfigurationMessages.java + src/share/classes/com/sun/tools/internal/ws/resources/GeneratorMessages.java + src/share/classes/com/sun/tools/internal/ws/resources/JavacompilerMessages.java + src/share/classes/com/sun/tools/internal/ws/resources/ModelMessages.java + src/share/classes/com/sun/tools/internal/ws/resources/ModelerMessages.java + src/share/classes/com/sun/tools/internal/ws/resources/ProcessorMessages.java + src/share/classes/com/sun/tools/internal/ws/resources/UtilMessages.java + src/share/classes/com/sun/tools/internal/ws/resources/WebserviceapMessages.java + src/share/classes/com/sun/tools/internal/ws/resources/WscompileMessages.java + src/share/classes/com/sun/tools/internal/ws/resources/WsdlMessages.java ! src/share/classes/com/sun/tools/internal/ws/resources/configuration.properties ! src/share/classes/com/sun/tools/internal/ws/resources/generator.properties ! src/share/classes/com/sun/tools/internal/ws/resources/javacompiler.properties ! src/share/classes/com/sun/tools/internal/ws/resources/model.properties ! src/share/classes/com/sun/tools/internal/ws/resources/modeler.properties ! src/share/classes/com/sun/tools/internal/ws/resources/processor.properties ! src/share/classes/com/sun/tools/internal/ws/resources/util.properties ! src/share/classes/com/sun/tools/internal/ws/resources/webserviceap.properties ! src/share/classes/com/sun/tools/internal/ws/resources/wscompile.properties ! src/share/classes/com/sun/tools/internal/ws/resources/wsdl.properties ! src/share/classes/com/sun/tools/internal/ws/spi/WSToolsObjectFactory.java ! src/share/classes/com/sun/tools/internal/ws/spi/package-info.java ! src/share/classes/com/sun/tools/internal/ws/util/ClassNameInfo.java ! src/share/classes/com/sun/tools/internal/ws/util/ForkEntityResolver.java - src/share/classes/com/sun/tools/internal/ws/util/JAXWSClassFactory.java - src/share/classes/com/sun/tools/internal/ws/util/JavaCompilerHelper.java - src/share/classes/com/sun/tools/internal/ws/util/MapBase.java - src/share/classes/com/sun/tools/internal/ws/util/ToolBase.java ! src/share/classes/com/sun/tools/internal/ws/util/WSDLParseException.java ! src/share/classes/com/sun/tools/internal/ws/util/WSToolsObjectFactoryImpl.java - src/share/classes/com/sun/tools/internal/ws/util/xml/NodeListIterator.java - src/share/classes/com/sun/tools/internal/ws/util/xml/NullEntityResolver.java - src/share/classes/com/sun/tools/internal/ws/util/xml/PrettyPrintingXmlWriter.java ! src/share/classes/com/sun/tools/internal/ws/util/xml/XmlUtil.java - src/share/classes/com/sun/tools/internal/ws/util/xml/XmlWriter.java ! src/share/classes/com/sun/tools/internal/ws/version.properties + src/share/classes/com/sun/tools/internal/ws/wscompile/AbortException.java - src/share/classes/com/sun/tools/internal/ws/wscompile/ActionConstants.java + src/share/classes/com/sun/tools/internal/ws/wscompile/BadCommandLineException.java - src/share/classes/com/sun/tools/internal/ws/wscompile/CompileTool.java + src/share/classes/com/sun/tools/internal/ws/wscompile/ErrorReceiver.java + src/share/classes/com/sun/tools/internal/ws/wscompile/ErrorReceiverFilter.java ! src/share/classes/com/sun/tools/internal/ws/wscompile/FilerCodeWriter.java + src/share/classes/com/sun/tools/internal/ws/wscompile/JavaCompilerHelper.java + src/share/classes/com/sun/tools/internal/ws/wscompile/Options.java ! src/share/classes/com/sun/tools/internal/ws/wscompile/WSCodeWriter.java + src/share/classes/com/sun/tools/internal/ws/wscompile/WsgenOptions.java + src/share/classes/com/sun/tools/internal/ws/wscompile/WsgenTool.java + src/share/classes/com/sun/tools/internal/ws/wscompile/WsimportListener.java + src/share/classes/com/sun/tools/internal/ws/wscompile/WsimportOptions.java + src/share/classes/com/sun/tools/internal/ws/wscompile/WsimportTool.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/Binding.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/BindingFault.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/BindingInput.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/BindingOperation.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/BindingOutput.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/Definitions.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/Documentation.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/Fault.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/Import.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/Input.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/Kinds.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/Message.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/MessagePart.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/Operation.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/OperationStyle.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/Output.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/Port.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/PortType.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/Service.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/Types.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/WSDLConstants.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/WSDLDocument.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/WSDLDocumentVisitor.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/WSDLDocumentVisitorBase.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/http/HTTPAddress.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/http/HTTPBinding.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/http/HTTPConstants.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/http/HTTPOperation.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/http/HTTPUrlEncoded.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/http/HTTPUrlReplacement.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/jaxws/CustomName.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/jaxws/Exception.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/jaxws/JAXWSBinding.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/jaxws/JAXWSBindingsConstants.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/jaxws/Parameter.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/mime/MIMEConstants.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/mime/MIMEContent.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/mime/MIMEMultipartRelated.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/mime/MIMEPart.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/mime/MIMEXml.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/schema/BuiltInTypes.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/schema/Schema.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/schema/SchemaAttribute.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/schema/SchemaConstants.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/schema/SchemaDocument.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/schema/SchemaElement.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/schema/SchemaEntity.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/schema/SchemaKinds.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAP12Binding.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAP12Constants.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPAddress.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPBinding.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPBody.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPConstants.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPFault.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPHeader.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPHeaderFault.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPOperation.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPStyle.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPUse.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/AbstractDocument.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/Defining.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/DuplicateEntityException.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/Elemental.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/Entity.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/EntityAction.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/EntityReferenceAction.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/EntityReferenceValidator.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/ExtensibilityHelper.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/Extensible.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/Extension.java + src/share/classes/com/sun/tools/internal/ws/wsdl/framework/ExtensionImpl.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/ExtensionVisitor.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/ExtensionVisitorBase.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/ExternalEntityReference.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/GlobalEntity.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/GloballyKnown.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/Identifiable.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/Kind.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/NoSuchEntityException.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/ParseException.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/ParserContext.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/ParserListener.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/QNameAction.java + src/share/classes/com/sun/tools/internal/ws/wsdl/framework/TWSDLParserContextImpl.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/ValidationException.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/WSDLLocation.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/WriterContext.java + src/share/classes/com/sun/tools/internal/ws/wsdl/parser/AbstractExtensionHandler.java + src/share/classes/com/sun/tools/internal/ws/wsdl/parser/AbstractReferenceFinderImpl.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/Constants.java + src/share/classes/com/sun/tools/internal/ws/wsdl/parser/DOMBuilder.java + src/share/classes/com/sun/tools/internal/ws/wsdl/parser/DOMForest.java + src/share/classes/com/sun/tools/internal/ws/wsdl/parser/DOMForestScanner.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/ExtensionHandler.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/ExtensionHandlerBase.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/HTTPExtensionHandler.java + src/share/classes/com/sun/tools/internal/ws/wsdl/parser/InternalizationLogic.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/Internalizer.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/JAXWSBindingExtensionHandler.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/MIMEExtensionHandler.java + src/share/classes/com/sun/tools/internal/ws/wsdl/parser/MemberSubmissionAddressingExtensionHandler.java + src/share/classes/com/sun/tools/internal/ws/wsdl/parser/MetadataFinder.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/NamespaceContextImpl.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/SOAP12ExtensionHandler.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/SOAPEntityReferenceValidator.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/SOAPExtensionHandler.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/SchemaExtensionHandler.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/SchemaParser.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/SchemaWriter.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/Util.java + src/share/classes/com/sun/tools/internal/ws/wsdl/parser/VersionChecker.java + src/share/classes/com/sun/tools/internal/ws/wsdl/parser/W3CAddressingExtensionHandler.java + src/share/classes/com/sun/tools/internal/ws/wsdl/parser/WSDLInternalizationLogic.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/WSDLParser.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/WSDLWriter.java + src/share/classes/com/sun/tools/internal/ws/wsdl/parser/WhitespaceStripper.java ! src/share/classes/com/sun/tools/internal/xjc/AbortException.java ! src/share/classes/com/sun/tools/internal/xjc/BadCommandLineException.java ! src/share/classes/com/sun/tools/internal/xjc/ConsoleErrorReporter.java ! src/share/classes/com/sun/tools/internal/xjc/Driver.java ! src/share/classes/com/sun/tools/internal/xjc/ErrorReceiver.java ! src/share/classes/com/sun/tools/internal/xjc/Language.java ! src/share/classes/com/sun/tools/internal/xjc/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/ModelLoader.java ! src/share/classes/com/sun/tools/internal/xjc/Options.java ! src/share/classes/com/sun/tools/internal/xjc/Plugin.java ! src/share/classes/com/sun/tools/internal/xjc/ProgressCodeWriter.java ! src/share/classes/com/sun/tools/internal/xjc/SchemaCache.java ! src/share/classes/com/sun/tools/internal/xjc/XJCListener.java ! src/share/classes/com/sun/tools/internal/xjc/addon/at_generated/PluginImpl.java ! src/share/classes/com/sun/tools/internal/xjc/addon/code_injector/Const.java ! src/share/classes/com/sun/tools/internal/xjc/addon/code_injector/PluginImpl.java + src/share/classes/com/sun/tools/internal/xjc/addon/episode/PluginImpl.java + src/share/classes/com/sun/tools/internal/xjc/addon/episode/package-info.java ! src/share/classes/com/sun/tools/internal/xjc/addon/locator/SourceLocationAddOn.java ! src/share/classes/com/sun/tools/internal/xjc/addon/sync/SynchronizedMethodAddOn.java ! src/share/classes/com/sun/tools/internal/xjc/api/ClassNameAllocator.java ! src/share/classes/com/sun/tools/internal/xjc/api/ErrorListener.java ! src/share/classes/com/sun/tools/internal/xjc/api/J2SJAXBModel.java ! src/share/classes/com/sun/tools/internal/xjc/api/JAXBModel.java ! src/share/classes/com/sun/tools/internal/xjc/api/JavaCompiler.java ! src/share/classes/com/sun/tools/internal/xjc/api/Mapping.java ! src/share/classes/com/sun/tools/internal/xjc/api/Property.java ! src/share/classes/com/sun/tools/internal/xjc/api/Reference.java ! src/share/classes/com/sun/tools/internal/xjc/api/S2JJAXBModel.java ! src/share/classes/com/sun/tools/internal/xjc/api/SchemaCompiler.java + src/share/classes/com/sun/tools/internal/xjc/api/SpecVersion.java ! src/share/classes/com/sun/tools/internal/xjc/api/TypeAndAnnotation.java ! src/share/classes/com/sun/tools/internal/xjc/api/XJC.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/j2s/JAXBModelImpl.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/j2s/JavaCompilerImpl.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/j2s/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/j2s/Messages.properties ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/AbstractMappingImpl.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/BeanMappingImpl.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/DowngradingErrorHandler.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/ElementAdapter.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/ElementCollectionAdapter.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/ElementMappingImpl.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/ElementSingleAdapter.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/JAXBModelImpl.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/PropertyImpl.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/SchemaCompilerImpl.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/TypeAndAnnotationImpl.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/package.html ! src/share/classes/com/sun/tools/internal/xjc/api/package.html ! src/share/classes/com/sun/tools/internal/xjc/api/util/APTClassLoader.java ! src/share/classes/com/sun/tools/internal/xjc/api/util/FilerCodeWriter.java ! src/share/classes/com/sun/tools/internal/xjc/api/util/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/api/util/Messages.properties ! src/share/classes/com/sun/tools/internal/xjc/api/util/ToolsJarNotFoundException.java ! src/share/classes/com/sun/tools/internal/xjc/api/util/package.html ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/ri/XmlIsSetWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/ri/XmlLocationWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAccessorOrderWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAccessorTypeWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAnyAttributeWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAnyElementWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAttachmentRefWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAttributeWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementDeclWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementRefWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementRefsWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementWrapperWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementsWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlEnumValueWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlEnumWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlIDREFWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlIDWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlInlineBinaryDataWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlJavaTypeAdapterWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlListWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlMimeTypeWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlMixedWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlNsWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlRegistryWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlRootElementWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSchemaTypeWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSchemaTypesWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSchemaWriter.java + src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSeeAlsoWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlTransientWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlTypeWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlValueWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/BeanGenerator.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/ClassOutlineImpl.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/DualObjectFactoryGenerator.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/ElementOutlineImpl.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/ImplStructureStrategy.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/MethodWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/ObjectFactoryGenerator.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/ObjectFactoryGeneratorImpl.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/PackageOutlineImpl.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/PrivateObjectFactoryGenerator.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/PublicObjectFactoryGenerator.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/AbstractField.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/AbstractFieldWithVar.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/AbstractListField.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/ArrayField.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/ConstField.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/ConstFieldRenderer.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/DefaultFieldRenderer.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/FieldRenderer.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/FieldRendererFactory.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/GenericFieldRenderer.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/IsSetField.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/IsSetFieldRenderer.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/SingleField.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/SinglePrimitiveAccessField.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/UnboxedField.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/UntypedListField.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/UntypedListFieldRenderer.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/package.html ! src/share/classes/com/sun/tools/internal/xjc/generator/package-info.java ! src/share/classes/com/sun/tools/internal/xjc/generator/util/BlockReference.java ! src/share/classes/com/sun/tools/internal/xjc/generator/util/ExistingBlockReference.java ! src/share/classes/com/sun/tools/internal/xjc/generator/util/LazyBlockReference.java ! src/share/classes/com/sun/tools/internal/xjc/generator/util/WhitespaceNormalizer.java + src/share/classes/com/sun/tools/internal/xjc/model/AbstractCElement.java ! src/share/classes/com/sun/tools/internal/xjc/model/AbstractCTypeInfoImpl.java + src/share/classes/com/sun/tools/internal/xjc/model/AutoClassNameAllocator.java ! src/share/classes/com/sun/tools/internal/xjc/model/CAdapter.java ! src/share/classes/com/sun/tools/internal/xjc/model/CArrayInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CAttributePropertyInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CBuiltinLeafInfo.java + src/share/classes/com/sun/tools/internal/xjc/model/CClass.java ! src/share/classes/com/sun/tools/internal/xjc/model/CClassInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CClassInfoParent.java + src/share/classes/com/sun/tools/internal/xjc/model/CClassRef.java ! src/share/classes/com/sun/tools/internal/xjc/model/CCustomizable.java ! src/share/classes/com/sun/tools/internal/xjc/model/CCustomizations.java ! src/share/classes/com/sun/tools/internal/xjc/model/CDefaultValue.java ! src/share/classes/com/sun/tools/internal/xjc/model/CElement.java ! src/share/classes/com/sun/tools/internal/xjc/model/CElementInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CElementPropertyInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CEnumConstant.java ! src/share/classes/com/sun/tools/internal/xjc/model/CEnumLeafInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CNonElement.java ! src/share/classes/com/sun/tools/internal/xjc/model/CPluginCustomization.java ! src/share/classes/com/sun/tools/internal/xjc/model/CPropertyInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CPropertyVisitor.java ! src/share/classes/com/sun/tools/internal/xjc/model/CReferencePropertyInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CSingleTypePropertyInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CTypeInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CTypeRef.java ! src/share/classes/com/sun/tools/internal/xjc/model/CValuePropertyInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CWildcardTypeInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/ClassNameAllocatorWrapper.java ! src/share/classes/com/sun/tools/internal/xjc/model/Constructor.java ! src/share/classes/com/sun/tools/internal/xjc/model/Model.java ! src/share/classes/com/sun/tools/internal/xjc/model/Multiplicity.java ! src/share/classes/com/sun/tools/internal/xjc/model/Populatable.java ! src/share/classes/com/sun/tools/internal/xjc/model/SymbolSpace.java ! src/share/classes/com/sun/tools/internal/xjc/model/TypeUse.java ! src/share/classes/com/sun/tools/internal/xjc/model/TypeUseFactory.java ! src/share/classes/com/sun/tools/internal/xjc/model/TypeUseImpl.java ! src/share/classes/com/sun/tools/internal/xjc/model/nav/EagerNClass.java ! src/share/classes/com/sun/tools/internal/xjc/model/nav/EagerNType.java ! src/share/classes/com/sun/tools/internal/xjc/model/nav/NClass.java ! src/share/classes/com/sun/tools/internal/xjc/model/nav/NClassByJClass.java ! src/share/classes/com/sun/tools/internal/xjc/model/nav/NParameterizedType.java ! src/share/classes/com/sun/tools/internal/xjc/model/nav/NType.java ! src/share/classes/com/sun/tools/internal/xjc/model/nav/NavigatorImpl.java ! src/share/classes/com/sun/tools/internal/xjc/model/nav/package.html ! src/share/classes/com/sun/tools/internal/xjc/model/package-info.java ! src/share/classes/com/sun/tools/internal/xjc/outline/Aspect.java ! src/share/classes/com/sun/tools/internal/xjc/outline/ClassOutline.java ! src/share/classes/com/sun/tools/internal/xjc/outline/ElementOutline.java ! src/share/classes/com/sun/tools/internal/xjc/outline/EnumConstantOutline.java ! src/share/classes/com/sun/tools/internal/xjc/outline/EnumOutline.java ! src/share/classes/com/sun/tools/internal/xjc/outline/FieldAccessor.java ! src/share/classes/com/sun/tools/internal/xjc/outline/FieldOutline.java ! src/share/classes/com/sun/tools/internal/xjc/outline/Outline.java ! src/share/classes/com/sun/tools/internal/xjc/outline/PackageOutline.java ! src/share/classes/com/sun/tools/internal/xjc/outline/package.html ! src/share/classes/com/sun/tools/internal/xjc/package-info.java + src/share/classes/com/sun/tools/internal/xjc/reader/AbstractExtensionBindingChecker.java ! src/share/classes/com/sun/tools/internal/xjc/reader/Const.java ! src/share/classes/com/sun/tools/internal/xjc/reader/ExtensionBindingChecker.java ! src/share/classes/com/sun/tools/internal/xjc/reader/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/reader/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/reader/ModelChecker.java ! src/share/classes/com/sun/tools/internal/xjc/reader/RawTypeSet.java ! src/share/classes/com/sun/tools/internal/xjc/reader/Ring.java ! src/share/classes/com/sun/tools/internal/xjc/reader/TypeUtil.java ! src/share/classes/com/sun/tools/internal/xjc/reader/Util.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/Block.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/Element.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/ModelGroup.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/Occurence.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/TDTDReader.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/Term.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIAttribute.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIConstructor.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIContent.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIConversion.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIElement.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIEnumeration.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIInterface.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIUserConversion.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BindInfo.java - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/DOM4JLocator.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/DOMBuilder.java + src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/DOMLocator.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/DOMUtil.java + src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/DTDExtensionBindingChecker.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/bindingfile.rng ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/bindingfile.xsd ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/package.html ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/xjc.xsd ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/Choice.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/ConnectedComponent.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/Element.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/ElementSet.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/ElementSets.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/Expression.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/Graph.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/OneOrMore.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/Sequence.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/SinkNode.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/SourceNode.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/package.html ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/AbstractReferenceFinderImpl.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/ContentHandlerNamespacePrefixAdapter.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/DOMBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/DOMForest.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/DOMForestParser.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/DOMForestScanner.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/InternalizationLogic.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/Internalizer.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/LocatorTable.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/NamespaceContextImpl.java + src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/SCDBasedBindingSet.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/VersionChecker.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/WhitespaceStripper.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/package.html ! src/share/classes/com/sun/tools/internal/xjc/reader/package.html ! src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/BindStyle.java ! src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/ContentModelBinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/DatatypeLib.java ! src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/DefineFinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/NameCalculator.java ! src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/RELAXNGCompiler.java ! src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/RELAXNGInternalizationLogic.java ! src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/RawTypeSetBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/TypePatternBinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/TypeUseBinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/Abstractifier.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/BGMBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/BindBlue.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/BindGreen.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/BindPurple.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/BindRed.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/BindYellow.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/BindingComponent.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ClassBinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ClassBinderFilter.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ClassSelector.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/CollisionInfo.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ColorBinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/DefaultClassBinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/DefaultParticleBinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ErrorReporter.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ExpressionBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ExpressionParticleBinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/GElement.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/GElementImpl.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/GWildcardElement.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/MultiplicityCounter.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ParticleBinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/RawTypeSetBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/RefererFinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/SimpleTypeBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/UnusedCustomizationChecker.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/WildcardNameClassBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/AbstractDeclarationImpl.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/AnnotationParserFactoryImpl.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIClass.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIConversion.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIDeclaration.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIDom.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIEnum.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIEnumMember.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIGlobalBinding.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIProperty.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BISchemaBinding.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BISerializable.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIXDom.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIXPluginCustomization.java + src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIXSubstitutable.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BindInfo.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/CollectionTypeAttribute.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/DomHandlerEx.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/EnumMemberMode.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/ForkingFilter.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/LocalScoping.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/OptionalPropertyMode.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/binding.rng ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/binding.xsd ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/package-info.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/package.html ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/xjc.xsd ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/xs.xsd ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/CTBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/ChoiceContentComplexTypeBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/ComplexTypeBindingMode.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/ComplexTypeFieldBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/ExtendedComplexTypeBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/FreshComplexTypeBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/MixedComplexTypeBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/RestrictedComplexTypeBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/STDerivedComplexTypeBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/CustomizationContextChecker.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/IncorrectNamespaceURIChecker.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/LSInputSAXWrapper.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/SchemaConstraintChecker.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/XMLSchemaInternalizationLogic.java ! src/share/classes/com/sun/tools/internal/xjc/runtime/JAXBContextFactory.java ! src/share/classes/com/sun/tools/internal/xjc/runtime/ZeroOneBooleanAdapter.java ! src/share/classes/com/sun/tools/internal/xjc/runtime/package.html ! src/share/classes/com/sun/tools/internal/xjc/util/CodeModelClassFactory.java ! src/share/classes/com/sun/tools/internal/xjc/util/DOMUtils.java ! src/share/classes/com/sun/tools/internal/xjc/util/ErrorReceiverFilter.java ! src/share/classes/com/sun/tools/internal/xjc/util/ForkContentHandler.java ! src/share/classes/com/sun/tools/internal/xjc/util/ForkEntityResolver.java ! src/share/classes/com/sun/tools/internal/xjc/util/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/util/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/util/MimeTypeRange.java ! src/share/classes/com/sun/tools/internal/xjc/util/NamespaceContextAdapter.java ! src/share/classes/com/sun/tools/internal/xjc/util/NullStream.java ! src/share/classes/com/sun/tools/internal/xjc/util/ReadOnlyAdapter.java ! src/share/classes/com/sun/tools/internal/xjc/util/StringCutter.java + src/share/classes/com/sun/tools/internal/xjc/util/SubtreeCutter.java ! src/share/classes/com/sun/tools/internal/xjc/util/Util.java - src/share/classes/com/sun/tools/internal/xjc/util/XMLStreamReaderToContentHandler.java ! src/share/classes/com/sun/tools/internal/xjc/writer/SignatureWriter.java + src/share/classes/com/sun/xml/internal/bind/AccessorFactory.java + src/share/classes/com/sun/xml/internal/bind/AccessorFactoryImpl.java + src/share/classes/com/sun/xml/internal/bind/AnyTypeAdapter.java + src/share/classes/com/sun/xml/internal/bind/CycleRecoverable.java ! src/share/classes/com/sun/xml/internal/bind/DatatypeConverterImpl.java ! src/share/classes/com/sun/xml/internal/bind/IDResolver.java ! src/share/classes/com/sun/xml/internal/bind/Locatable.java ! src/share/classes/com/sun/xml/internal/bind/Util.java ! src/share/classes/com/sun/xml/internal/bind/ValidationEventLocatorEx.java ! src/share/classes/com/sun/xml/internal/bind/WhiteSpaceProcessor.java + src/share/classes/com/sun/xml/internal/bind/XmlAccessorFactory.java ! src/share/classes/com/sun/xml/internal/bind/annotation/XmlIsSet.java ! src/share/classes/com/sun/xml/internal/bind/annotation/XmlLocation.java ! src/share/classes/com/sun/xml/internal/bind/api/AccessorException.java ! src/share/classes/com/sun/xml/internal/bind/api/Bridge.java ! src/share/classes/com/sun/xml/internal/bind/api/BridgeContext.java + src/share/classes/com/sun/xml/internal/bind/api/ClassResolver.java ! src/share/classes/com/sun/xml/internal/bind/api/CompositeStructure.java + src/share/classes/com/sun/xml/internal/bind/api/ErrorListener.java ! src/share/classes/com/sun/xml/internal/bind/api/JAXBRIContext.java ! src/share/classes/com/sun/xml/internal/bind/api/RawAccessor.java ! src/share/classes/com/sun/xml/internal/bind/api/TypeReference.java ! src/share/classes/com/sun/xml/internal/bind/api/impl/NameConverter.java ! src/share/classes/com/sun/xml/internal/bind/api/impl/NameUtil.java ! src/share/classes/com/sun/xml/internal/bind/api/package-info.java ! src/share/classes/com/sun/xml/internal/bind/marshaller/CharacterEscapeHandler.java ! src/share/classes/com/sun/xml/internal/bind/marshaller/DataWriter.java ! src/share/classes/com/sun/xml/internal/bind/marshaller/DumbEscapeHandler.java ! src/share/classes/com/sun/xml/internal/bind/marshaller/Messages.java ! src/share/classes/com/sun/xml/internal/bind/marshaller/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/marshaller/MinimumEscapeHandler.java ! src/share/classes/com/sun/xml/internal/bind/marshaller/NamespacePrefixMapper.java ! src/share/classes/com/sun/xml/internal/bind/marshaller/NioEscapeHandler.java ! src/share/classes/com/sun/xml/internal/bind/marshaller/SAX2DOMEx.java ! src/share/classes/com/sun/xml/internal/bind/marshaller/XMLWriter.java ! src/share/classes/com/sun/xml/internal/bind/unmarshaller/DOMScanner.java ! src/share/classes/com/sun/xml/internal/bind/unmarshaller/InfosetScanner.java ! src/share/classes/com/sun/xml/internal/bind/unmarshaller/Messages.java ! src/share/classes/com/sun/xml/internal/bind/unmarshaller/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/unmarshaller/Patcher.java ! src/share/classes/com/sun/xml/internal/bind/util/AttributesImpl.java ! src/share/classes/com/sun/xml/internal/bind/util/ValidationEventLocatorExImpl.java ! src/share/classes/com/sun/xml/internal/bind/util/Which.java ! src/share/classes/com/sun/xml/internal/bind/v2/ClassFactory.java ! src/share/classes/com/sun/xml/internal/bind/v2/ContextFactory.java ! src/share/classes/com/sun/xml/internal/bind/v2/Messages.java ! src/share/classes/com/sun/xml/internal/bind/v2/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/v2/TODO.java ! src/share/classes/com/sun/xml/internal/bind/v2/WellKnownNamespace.java ! src/share/classes/com/sun/xml/internal/bind/v2/bytecode/ClassTailor.java ! src/share/classes/com/sun/xml/internal/bind/v2/bytecode/package.html - src/share/classes/com/sun/xml/internal/bind/v2/doc-files/packages.png - src/share/classes/com/sun/xml/internal/bind/v2/doc-files/packages.vsd - src/share/classes/com/sun/xml/internal/bind/v2/doc-files/readme.txt ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/AbstractInlineAnnotationReaderImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/AnnotationReader.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/AnnotationSource.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/ClassLocatable.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/FieldLocatable.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/Init.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/Locatable.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/LocatableAnnotation.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/Messages.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/MethodLocatable.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/Quick.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/RuntimeAnnotationReader.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/RuntimeInlineAnnotationReader.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlAttributeQuick.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlElementDeclQuick.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlElementQuick.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlElementRefQuick.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlElementRefsQuick.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlEnumQuick.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlRootElementQuick.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlSchemaQuick.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlTransientQuick.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlTypeQuick.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlValueQuick.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/package.html ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/Adapter.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/ArrayInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/AttributePropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/BuiltinLeafInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/ClassInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/Element.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/ElementInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/ElementPropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/EnumConstant.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/EnumLeafInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/ErrorHandler.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/ID.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/LeafInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/MapPropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/MaybeElement.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/NonElement.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/NonElementRef.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/PropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/PropertyKind.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/Ref.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/ReferencePropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/RegistryInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/TypeInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/TypeInfoSet.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/TypeRef.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/ValuePropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/WildcardMode.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/WildcardTypeInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/package-info.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/AnyTypeImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ArrayInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/AttributePropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/BuiltinLeafInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ClassInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ERPropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ElementInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ElementPropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/EnumConstantImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/EnumLeafInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/FieldPropertySeed.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/GetterSetterPropertySeed.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/LeafInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/MapPropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/Messages.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/PropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/PropertySeed.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ReferencePropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RegistryInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeAnyTypeImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeArrayInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeAttributePropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeBuiltinLeafInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeClassInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeElementInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeElementPropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeEnumConstantImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeEnumLeafInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeMapPropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeModelBuilder.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeReferencePropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeTypeInfoSetImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeTypeRefImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeValuePropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/SingleTypePropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/TypeInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/TypeInfoSetImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/TypeRefImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/Util.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ValuePropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/package.html ! src/share/classes/com/sun/xml/internal/bind/v2/model/nav/GenericArrayTypeImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/nav/Navigator.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/nav/ParameterizedTypeImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/nav/ReflectionNavigator.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/nav/TypeVisitor.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/nav/WildcardTypeImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/nav/package.html ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeArrayInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeAttributePropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeBuiltinLeafInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeClassInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeElement.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeElementInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeElementPropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeEnumLeafInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeLeafInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeMapPropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeNonElement.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeNonElementRef.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimePropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeReferencePropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeTypeInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeTypeInfoSet.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeTypeRef.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeValuePropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/package-info.java ! src/share/classes/com/sun/xml/internal/bind/v2/package-info.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/AnyTypeBeanInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/ArrayBeanInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/AssociationMap.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/BinderImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/BridgeAdapter.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/BridgeContextImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/BridgeImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/ClassBeanInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/CompositeStructureBeanInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/ContentHandlerAdaptor.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/Coordinator.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/DomPostInitAction.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/ElementBeanInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/FilterTransducer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/IllegalAnnotationException.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/IllegalAnnotationsException.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/InlineBinaryTransducer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/InternalBridge.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/JAXBContextImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/JaxBeanInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/LeafBeanInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/LifecycleMethods.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/Location.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/MarshallerImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/Messages.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/MimeTypedTransducer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/Name.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/NameBuilder.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/NameList.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/NamespaceContext2.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/RuntimeUtil.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/SchemaTypeTransducer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/StAXPostInitAction.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/SwaRefAdapter.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/Transducer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/ValueListBeanInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/XMLSerializer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/C14nXmlOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/DOMOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/Encoded.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/FastInfosetStreamWriterOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/ForkXmlOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/InPlaceDOMOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/IndentingUTF8XmlOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/MTOMXmlOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/NamespaceContextImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/Pcdata.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/SAXOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/UTF8XmlOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/XMLEventWriterOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/XMLStreamWriterOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/XmlOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/XmlOutputAbstractImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/package-info.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/package.html ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ArrayERProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ArrayElementLeafProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ArrayElementNodeProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ArrayElementProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ArrayProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ArrayReferenceNodeProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/AttributeProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ListElementProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/Messages.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/Property.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/PropertyFactory.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/PropertyImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/SingleElementLeafProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/SingleElementNodeProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/SingleMapNodeProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/SingleReferenceNodeProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/StructureLoaderBuilder.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/TagAndType.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/UnmarshallerChain.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ValueProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/Accessor.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/AdaptedAccessor.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/AdaptedLister.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/DefaultTransducedAccessor.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/ListIterator.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/ListTransducedAccessorImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/Lister.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/Messages.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/NullSafeAccessor.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerBoolean.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerByte.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerCharacter.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerDouble.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerFloat.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerInteger.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerLong.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerShort.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/TransducedAccessor.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/AccessorInjector.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/Bean.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/Const.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Boolean.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Byte.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Character.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Double.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Float.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Integer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Long.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Ref.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Short.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Boolean.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Byte.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Character.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Double.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Float.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Integer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Long.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Ref.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Short.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/OptimizedAccessorFactory.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/OptimizedTransducedAccessorFactory.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/Ref.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Boolean.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Byte.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Double.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Float.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Integer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Long.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Short.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Boolean.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Byte.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Double.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Float.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Integer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Long.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Short.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/package.html ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/package.html ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/AttributesEx.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/AttributesExImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Base64Data.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/ChildLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/DefaultIDResolver.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/DefaultValueLoaderDecorator.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Discarder.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/DomLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/FastInfosetConnector.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/IntArrayData.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/IntData.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Intercepter.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/InterningXmlVisitor.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/LeafPropertyLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Loader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/LocatorEx.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/LocatorExWrapper.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/MTOMDecorator.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Messages.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Patcher.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/ProxyLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Receiver.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/SAXConnector.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Scope.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StAXConnector.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StAXEventConnector.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StAXStreamConnector.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StructureLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/TagName.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/TextLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/UnmarshallerImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/UnmarshallingContext.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/ValidatingUnmarshaller.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/ValuePropertyLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/WildcardLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/XmlVisitor.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/XsiNilLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/XsiTypeLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/FoolProofResolver.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/Form.java + src/share/classes/com/sun/xml/internal/bind/v2/schemagen/GroupKind.java + src/share/classes/com/sun/xml/internal/bind/v2/schemagen/Messages.java + src/share/classes/com/sun/xml/internal/bind/v2/schemagen/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/MultiMap.java + src/share/classes/com/sun/xml/internal/bind/v2/schemagen/Tree.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/Util.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/XmlSchemaGenerator.java + src/share/classes/com/sun/xml/internal/bind/v2/schemagen/episode/Bindings.java + src/share/classes/com/sun/xml/internal/bind/v2/schemagen/episode/Klass.java + src/share/classes/com/sun/xml/internal/bind/v2/schemagen/episode/SchemaBindings.java + src/share/classes/com/sun/xml/internal/bind/v2/schemagen/episode/package-info.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/package-info.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Annotated.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Annotation.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Any.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Appinfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/AttrDecls.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/AttributeType.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexContent.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexExtension.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexRestriction.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexType.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexTypeHost.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexTypeModel.java + src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ContentModelContainer.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Documentation.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Element.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ExplicitGroup.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ExtensionType.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/FixedOrDefault.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Import.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/List.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/LocalAttribute.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/LocalElement.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/NestedParticle.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/NoFixedFacet.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Occurs.java + src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Particle.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Redefinable.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Schema.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SchemaTop.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleContent.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleDerivation.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleExtension.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleRestriction.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleRestrictionModel.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleType.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleTypeHost.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/TopLevelAttribute.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/TopLevelElement.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/TypeDefParticle.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/TypeHost.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Union.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Wildcard.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/package-info.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/package.html ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/xmlschema-for-jaxb.rng ! src/share/classes/com/sun/xml/internal/bind/v2/util/ByteArrayOutputStreamEx.java ! src/share/classes/com/sun/xml/internal/bind/v2/util/CollisionCheckStack.java ! src/share/classes/com/sun/xml/internal/bind/v2/util/DataSourceSource.java ! src/share/classes/com/sun/xml/internal/bind/v2/util/EditDistance.java ! src/share/classes/com/sun/xml/internal/bind/v2/util/FatalAdapter.java ! src/share/classes/com/sun/xml/internal/bind/v2/util/FlattenIterator.java ! src/share/classes/com/sun/xml/internal/bind/v2/util/QNameMap.java + src/share/classes/com/sun/xml/internal/bind/v2/util/TypeCast.java ! src/share/classes/com/sun/xml/internal/dtdparser/DTDEventListener.java ! src/share/classes/com/sun/xml/internal/dtdparser/DTDHandlerBase.java ! src/share/classes/com/sun/xml/internal/dtdparser/DTDParser.java ! src/share/classes/com/sun/xml/internal/dtdparser/EndOfInputException.java ! src/share/classes/com/sun/xml/internal/dtdparser/EntityDecl.java ! src/share/classes/com/sun/xml/internal/dtdparser/ExternalEntity.java ! src/share/classes/com/sun/xml/internal/dtdparser/InputEntity.java ! src/share/classes/com/sun/xml/internal/dtdparser/InternalEntity.java ! src/share/classes/com/sun/xml/internal/dtdparser/MessageCatalog.java ! src/share/classes/com/sun/xml/internal/dtdparser/Resolver.java ! src/share/classes/com/sun/xml/internal/dtdparser/SimpleHashtable.java ! src/share/classes/com/sun/xml/internal/dtdparser/XmlChars.java ! src/share/classes/com/sun/xml/internal/dtdparser/XmlNames.java ! src/share/classes/com/sun/xml/internal/dtdparser/XmlReader.java ! src/share/classes/com/sun/xml/internal/dtdparser/package.html ! src/share/classes/com/sun/xml/internal/dtdparser/resources/Messages.properties ! src/share/classes/com/sun/xml/internal/fastinfoset/AbstractResourceBundle.java ! src/share/classes/com/sun/xml/internal/fastinfoset/CommonResourceBundle.java ! src/share/classes/com/sun/xml/internal/fastinfoset/Decoder.java ! src/share/classes/com/sun/xml/internal/fastinfoset/DecoderStateTables.java ! src/share/classes/com/sun/xml/internal/fastinfoset/Encoder.java ! src/share/classes/com/sun/xml/internal/fastinfoset/EncodingConstants.java ! src/share/classes/com/sun/xml/internal/fastinfoset/Notation.java + src/share/classes/com/sun/xml/internal/fastinfoset/OctetBufferListener.java ! src/share/classes/com/sun/xml/internal/fastinfoset/QualifiedName.java ! src/share/classes/com/sun/xml/internal/fastinfoset/UnparsedEntity.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/BASE64EncodingAlgorithm.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/BooleanEncodingAlgorithm.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/BuiltInEncodingAlgorithm.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/BuiltInEncodingAlgorithmFactory.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/BuiltInEncodingAlgorithmState.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/DoubleEncodingAlgorithm.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/FloatEncodingAlgorithm.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/HexadecimalEncodingAlgorithm.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/IEEE754FloatingPointEncodingAlgorithm.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/IntEncodingAlgorithm.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/IntegerEncodingAlgorithm.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/LongEncodingAlgorithm.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/ShortEncodingAlgorithm.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/UUIDEncodingAlgorithm.java ! src/share/classes/com/sun/xml/internal/fastinfoset/alphabet/BuiltInRestrictedAlphabets.java ! src/share/classes/com/sun/xml/internal/fastinfoset/dom/DOMDocumentParser.java ! src/share/classes/com/sun/xml/internal/fastinfoset/dom/DOMDocumentSerializer.java ! src/share/classes/com/sun/xml/internal/fastinfoset/org/apache/xerces/util/XMLChar.java ! src/share/classes/com/sun/xml/internal/fastinfoset/resources/ResourceBundle.properties ! src/share/classes/com/sun/xml/internal/fastinfoset/sax/AttributesHolder.java ! src/share/classes/com/sun/xml/internal/fastinfoset/sax/Features.java ! src/share/classes/com/sun/xml/internal/fastinfoset/sax/Properties.java ! src/share/classes/com/sun/xml/internal/fastinfoset/sax/SAXDocumentParser.java ! src/share/classes/com/sun/xml/internal/fastinfoset/sax/SAXDocumentSerializer.java + src/share/classes/com/sun/xml/internal/fastinfoset/sax/SAXDocumentSerializerWithPrefixMapping.java ! src/share/classes/com/sun/xml/internal/fastinfoset/sax/SystemIdResolver.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/EventLocation.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/StAXDocumentParser.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/StAXDocumentSerializer.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/StAXManager.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/AttributeBase.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/CharactersEvent.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/CommentEvent.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/DTDEvent.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/EmptyIterator.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/EndDocumentEvent.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/EndElementEvent.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/EntityDeclarationImpl.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/EntityReferenceEvent.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/EventBase.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/NamespaceBase.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/ProcessingInstructionEvent.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/ReadIterator.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/StAXEventAllocator.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/StAXEventAllocatorBase.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/StAXEventReader.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/StAXEventWriter.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/StAXFilteredEvent.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/StartDocumentEvent.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/StartElementEvent.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/Util.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/XMLConstants.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/factory/StAXEventFactory.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/factory/StAXInputFactory.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/factory/StAXOutputFactory.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/util/StAXFilteredParser.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/util/StAXParserWrapper.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/FI_DOM_Or_XML_DOM_SAX_SAXEvent.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/FI_SAX_Or_XML_SAX_DOM_SAX_SAXEvent.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/FI_SAX_Or_XML_SAX_SAXEvent.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/FI_SAX_XML.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/FI_StAX_SAX_Or_XML_SAX_SAXEvent.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/PrintTable.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/SAX2StAXWriter.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/SAXEventSerializer.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/StAX2SAXReader.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/TransformInputOutput.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/VocabularyGenerator.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/XML_DOM_FI.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/XML_DOM_SAX_FI.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/XML_SAX_FI.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/XML_SAX_StAX_FI.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/CharArray.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/CharArrayArray.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/CharArrayIntMap.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/CharArrayString.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/ContiguousCharArrayArray.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/DuplicateAttributeVerifier.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/FixedEntryStringIntMap.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/KeyIntMap.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/LocalNameQualifiedNamesMap.java + src/share/classes/com/sun/xml/internal/fastinfoset/util/NamespaceContextImplementation.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/PrefixArray.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/QualifiedNameArray.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/StringArray.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/StringIntMap.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/ValueArray.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/ValueArrayResourceException.java ! src/share/classes/com/sun/xml/internal/fastinfoset/vocab/ParserVocabulary.java ! src/share/classes/com/sun/xml/internal/fastinfoset/vocab/SerializerVocabulary.java ! src/share/classes/com/sun/xml/internal/fastinfoset/vocab/Vocabulary.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/SOAPExceptionImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/client/p2p/HttpSOAPConnection.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/client/p2p/HttpSOAPConnectionFactory.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/client/p2p/LocalStrings.properties ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/Header.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/MessagingException.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/MultipartDataSource.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/BMMimeMultipart.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/ContentDisposition.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/ContentType.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/HeaderTokenizer.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/InternetHeaders.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimeBodyPart.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimeMultipart.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimePartDataSource.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimeUtility.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/ParameterList.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/ParseException.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/SharedInputStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/UniqueValue.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/ASCIIUtility.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/BASE64DecoderStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/BASE64EncoderStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/BEncoderStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/LineInputStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/OutputUtil.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/QDecoderStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/QEncoderStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/QPDecoderStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/QPEncoderStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/UUDecoderStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/UUEncoderStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/AttachmentPartImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/Envelope.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/EnvelopeFactory.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/FastInfosetDataContentHandler.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/GifDataContentHandler.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ImageDataContentHandler.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/JpegDataContentHandler.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/LocalStrings.properties ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/MessageFactoryImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/MessageImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/MultipartDataContentHandler.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SAAJMetaFactoryImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPDocument.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPDocumentFragment.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPDocumentImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPFactoryImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPIOException.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPPartImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPVersionMismatchException.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/StringDataContentHandler.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/XmlDataContentHandler.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/dynamic/SOAPFactoryDynamicImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/dynamic/SOAPMessageFactoryDynamicImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/BodyElementImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/BodyImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/CDATAImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/CommentImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/DetailEntryImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/DetailImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/ElementFactory.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/ElementImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/EnvelopeImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/FaultElementImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/FaultImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/HeaderElementImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/HeaderImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/LocalStrings.properties ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/TextImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/TreeException.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/name/LocalStrings.properties ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/name/NameImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Body1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/BodyElement1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Detail1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/DetailEntry1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Envelope1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Fault1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/FaultElement1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Header1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/HeaderElement1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/LocalStrings.properties ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Message1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/SOAPFactory1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/SOAPMessageFactory1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/SOAPPart1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Body1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/BodyElement1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Detail1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/DetailEntry1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Envelope1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Fault1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/FaultElement1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Header1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/HeaderElement1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/LocalStrings.properties ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Message1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/SOAPFactory1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/SOAPMessageFactory1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/SOAPPart1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/Base64.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/ByteInputStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/ByteOutputStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/CharReader.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/CharWriter.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/FastInfosetReflection.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/FinalArrayList.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/JAXMStreamSource.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/JaxmURI.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/LocalStrings.properties ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/LogDomainConstants.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/MimeHeadersUtil.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/NamespaceContextIterator.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/ParseUtil.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/ParserPool.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/RejectDoctypeSaxFilter.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/TeeInputStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/XMLDeclarationParser.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/transform/EfficientStreamingTransformer.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/EncodingAlgorithm.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/EncodingAlgorithmException.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/EncodingAlgorithmIndexes.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/ExternalVocabulary.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/FastInfosetException.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/FastInfosetParser.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/FastInfosetResult.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/FastInfosetSerializer.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/FastInfosetSource.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/RestrictedAlphabet.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/Vocabulary.java + src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/VocabularyApplicationData.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/sax/EncodingAlgorithmAttributes.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/sax/EncodingAlgorithmContentHandler.java + src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/sax/ExtendedContentHandler.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/sax/FastInfosetReader.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/sax/FastInfosetWriter.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/sax/PrimitiveTypeContentHandler.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/sax/RestrictedAlphabetContentHandler.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/sax/helpers/EncodingAlgorithmAttributesImpl.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/sax/helpers/FastInfosetDefaultHandler.java + src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/stax/FastInfosetStreamReader.java + src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/stax/LowLevelFastInfosetStreamWriter.java + src/share/classes/com/sun/xml/internal/org/jvnet/staxex/Base64Data.java + src/share/classes/com/sun/xml/internal/org/jvnet/staxex/Base64Encoder.java + src/share/classes/com/sun/xml/internal/org/jvnet/staxex/ByteArrayOutputStreamEx.java + src/share/classes/com/sun/xml/internal/org/jvnet/staxex/NamespaceContextEx.java + src/share/classes/com/sun/xml/internal/org/jvnet/staxex/XMLStreamReaderEx.java + src/share/classes/com/sun/xml/internal/org/jvnet/staxex/XMLStreamWriterEx.java ! src/share/classes/com/sun/xml/internal/rngom/ast/builder/Annotations.java ! src/share/classes/com/sun/xml/internal/rngom/ast/builder/BuildException.java ! src/share/classes/com/sun/xml/internal/rngom/ast/builder/CommentList.java ! src/share/classes/com/sun/xml/internal/rngom/ast/builder/DataPatternBuilder.java ! src/share/classes/com/sun/xml/internal/rngom/ast/builder/Div.java ! src/share/classes/com/sun/xml/internal/rngom/ast/builder/ElementAnnotationBuilder.java ! src/share/classes/com/sun/xml/internal/rngom/ast/builder/Grammar.java ! src/share/classes/com/sun/xml/internal/rngom/ast/builder/GrammarSection.java ! src/share/classes/com/sun/xml/internal/rngom/ast/builder/Include.java ! src/share/classes/com/sun/xml/internal/rngom/ast/builder/IncludedGrammar.java ! src/share/classes/com/sun/xml/internal/rngom/ast/builder/NameClassBuilder.java ! src/share/classes/com/sun/xml/internal/rngom/ast/builder/SchemaBuilder.java ! src/share/classes/com/sun/xml/internal/rngom/ast/builder/Scope.java ! src/share/classes/com/sun/xml/internal/rngom/ast/om/Location.java ! src/share/classes/com/sun/xml/internal/rngom/ast/om/ParsedElementAnnotation.java ! src/share/classes/com/sun/xml/internal/rngom/ast/om/ParsedNameClass.java ! src/share/classes/com/sun/xml/internal/rngom/ast/om/ParsedPattern.java ! src/share/classes/com/sun/xml/internal/rngom/ast/util/CheckingSchemaBuilder.java ! src/share/classes/com/sun/xml/internal/rngom/ast/util/LocatorImpl.java ! src/share/classes/com/sun/xml/internal/rngom/ast/util/package.html ! src/share/classes/com/sun/xml/internal/rngom/binary/AfterPattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/Alphabet.java ! src/share/classes/com/sun/xml/internal/rngom/binary/AttributePattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/BinaryPattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/ChoicePattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/DataExceptPattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/DataPattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/DuplicateAttributeDetector.java ! src/share/classes/com/sun/xml/internal/rngom/binary/ElementPattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/EmptyPattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/ErrorPattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/GroupPattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/InterleavePattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/ListPattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/Messages.properties ! src/share/classes/com/sun/xml/internal/rngom/binary/NotAllowedPattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/OneOrMorePattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/Pattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/PatternBuilder.java ! src/share/classes/com/sun/xml/internal/rngom/binary/PatternInterner.java ! src/share/classes/com/sun/xml/internal/rngom/binary/RefPattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/RestrictionViolationException.java ! src/share/classes/com/sun/xml/internal/rngom/binary/SchemaBuilderImpl.java ! src/share/classes/com/sun/xml/internal/rngom/binary/SchemaPatternBuilder.java ! src/share/classes/com/sun/xml/internal/rngom/binary/StringPattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/TextPattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/ValuePattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/package.html ! src/share/classes/com/sun/xml/internal/rngom/binary/visitor/ChildElementFinder.java ! src/share/classes/com/sun/xml/internal/rngom/binary/visitor/PatternFunction.java ! src/share/classes/com/sun/xml/internal/rngom/binary/visitor/PatternVisitor.java ! src/share/classes/com/sun/xml/internal/rngom/binary/visitor/PatternWalker.java ! src/share/classes/com/sun/xml/internal/rngom/digested/Annotation.java ! src/share/classes/com/sun/xml/internal/rngom/digested/CommentListImpl.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DAnnotation.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DAttributePattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DChoicePattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DContainerPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DDataPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DDefine.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DElementPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DEmptyPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DGrammarPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DGroupPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DInterleavePattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DListPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DMixedPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DNotAllowedPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DOMPrinter.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DOneOrMorePattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DOptionalPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DPatternVisitor.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DPatternWalker.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DRefPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DSchemaBuilderImpl.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DTextPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DUnaryPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DValuePattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DXMLPrinter.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DXmlTokenPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DZeroOrMorePattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DataPatternBuilderImpl.java ! src/share/classes/com/sun/xml/internal/rngom/digested/ElementAnnotationBuilderImpl.java ! src/share/classes/com/sun/xml/internal/rngom/digested/ElementWrapper.java ! src/share/classes/com/sun/xml/internal/rngom/digested/GrammarBuilderImpl.java ! src/share/classes/com/sun/xml/internal/rngom/digested/IncludeImpl.java ! src/share/classes/com/sun/xml/internal/rngom/digested/Main.java ! src/share/classes/com/sun/xml/internal/rngom/digested/PatternParseable.java ! src/share/classes/com/sun/xml/internal/rngom/digested/package.html ! src/share/classes/com/sun/xml/internal/rngom/dt/CachedDatatypeLibraryFactory.java ! src/share/classes/com/sun/xml/internal/rngom/dt/CascadingDatatypeLibraryFactory.java ! src/share/classes/com/sun/xml/internal/rngom/dt/DoNothingDatatypeLibraryFactoryImpl.java ! src/share/classes/com/sun/xml/internal/rngom/dt/builtin/BuiltinDatatypeBuilder.java ! src/share/classes/com/sun/xml/internal/rngom/dt/builtin/BuiltinDatatypeLibrary.java ! src/share/classes/com/sun/xml/internal/rngom/dt/builtin/BuiltinDatatypeLibraryFactory.java ! src/share/classes/com/sun/xml/internal/rngom/dt/builtin/CompatibilityDatatypeLibrary.java ! src/share/classes/com/sun/xml/internal/rngom/dt/builtin/Messages.properties ! src/share/classes/com/sun/xml/internal/rngom/dt/builtin/package.html ! src/share/classes/com/sun/xml/internal/rngom/nc/AnyNameClass.java ! src/share/classes/com/sun/xml/internal/rngom/nc/AnyNameExceptNameClass.java ! src/share/classes/com/sun/xml/internal/rngom/nc/ChoiceNameClass.java ! src/share/classes/com/sun/xml/internal/rngom/nc/NameClass.java ! src/share/classes/com/sun/xml/internal/rngom/nc/NameClassBuilderImpl.java ! src/share/classes/com/sun/xml/internal/rngom/nc/NameClassVisitor.java ! src/share/classes/com/sun/xml/internal/rngom/nc/NameClassWalker.java ! src/share/classes/com/sun/xml/internal/rngom/nc/NsNameClass.java ! src/share/classes/com/sun/xml/internal/rngom/nc/NsNameExceptNameClass.java ! src/share/classes/com/sun/xml/internal/rngom/nc/NullNameClass.java ! src/share/classes/com/sun/xml/internal/rngom/nc/OverlapDetector.java ! src/share/classes/com/sun/xml/internal/rngom/nc/SimpleNameClass.java ! src/share/classes/com/sun/xml/internal/rngom/nc/package.html ! src/share/classes/com/sun/xml/internal/rngom/parse/Context.java ! src/share/classes/com/sun/xml/internal/rngom/parse/IllegalSchemaException.java ! src/share/classes/com/sun/xml/internal/rngom/parse/Messages.properties ! src/share/classes/com/sun/xml/internal/rngom/parse/Parseable.java ! src/share/classes/com/sun/xml/internal/rngom/parse/compact/CompactParseable.java ! src/share/classes/com/sun/xml/internal/rngom/parse/compact/CompactSyntax.java ! src/share/classes/com/sun/xml/internal/rngom/parse/compact/CompactSyntaxConstants.java ! src/share/classes/com/sun/xml/internal/rngom/parse/compact/CompactSyntaxTokenManager.java ! src/share/classes/com/sun/xml/internal/rngom/parse/compact/EOFException.java ! src/share/classes/com/sun/xml/internal/rngom/parse/compact/EscapeSyntaxException.java ! src/share/classes/com/sun/xml/internal/rngom/parse/compact/JavaCharStream.java ! src/share/classes/com/sun/xml/internal/rngom/parse/compact/Messages.properties ! src/share/classes/com/sun/xml/internal/rngom/parse/compact/ParseException.java ! src/share/classes/com/sun/xml/internal/rngom/parse/compact/Token.java ! src/share/classes/com/sun/xml/internal/rngom/parse/compact/TokenMgrError.java ! src/share/classes/com/sun/xml/internal/rngom/parse/compact/UCode_UCodeESC_CharStream.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/AnnotationsHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/Base.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/CommentListHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/DataPatternBuilderHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/DivHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/ElementAnnotationBuilderHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/GrammarHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/GrammarSectionHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/IncludeHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/LocationHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/NameClassBuilderHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/ParsedElementAnnotationHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/ParsedNameClassHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/ParsedPatternHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/SchemaBuilderHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/ScopeHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/package.html ! src/share/classes/com/sun/xml/internal/rngom/parse/xml/DtdContext.java ! src/share/classes/com/sun/xml/internal/rngom/parse/xml/Messages.properties ! src/share/classes/com/sun/xml/internal/rngom/parse/xml/SAXParseable.java ! src/share/classes/com/sun/xml/internal/rngom/parse/xml/SchemaParser.java ! src/share/classes/com/sun/xml/internal/rngom/util/Localizer.java ! src/share/classes/com/sun/xml/internal/rngom/util/Uri.java ! src/share/classes/com/sun/xml/internal/rngom/util/Utf16.java ! src/share/classes/com/sun/xml/internal/rngom/xml/sax/AbstractLexicalHandler.java ! src/share/classes/com/sun/xml/internal/rngom/xml/sax/JAXPXMLReaderCreator.java ! src/share/classes/com/sun/xml/internal/rngom/xml/sax/XMLReaderCreator.java ! src/share/classes/com/sun/xml/internal/rngom/xml/sax/XmlBaseHandler.java ! src/share/classes/com/sun/xml/internal/rngom/xml/util/EncodingMap.java ! src/share/classes/com/sun/xml/internal/rngom/xml/util/Naming.java ! src/share/classes/com/sun/xml/internal/rngom/xml/util/WellKnownNamespaces.java + src/share/classes/com/sun/xml/internal/stream/buffer/AbstractCreator.java + src/share/classes/com/sun/xml/internal/stream/buffer/AbstractCreatorProcessor.java + src/share/classes/com/sun/xml/internal/stream/buffer/AbstractProcessor.java + src/share/classes/com/sun/xml/internal/stream/buffer/AttributesHolder.java + src/share/classes/com/sun/xml/internal/stream/buffer/FragmentedArray.java + src/share/classes/com/sun/xml/internal/stream/buffer/MutableXMLStreamBuffer.java + src/share/classes/com/sun/xml/internal/stream/buffer/XMLStreamBuffer.java + src/share/classes/com/sun/xml/internal/stream/buffer/XMLStreamBufferException.java + src/share/classes/com/sun/xml/internal/stream/buffer/XMLStreamBufferMark.java + src/share/classes/com/sun/xml/internal/stream/buffer/XMLStreamBufferResult.java + src/share/classes/com/sun/xml/internal/stream/buffer/XMLStreamBufferSource.java + src/share/classes/com/sun/xml/internal/stream/buffer/sax/DefaultWithLexicalHandler.java + src/share/classes/com/sun/xml/internal/stream/buffer/sax/Features.java + src/share/classes/com/sun/xml/internal/stream/buffer/sax/Properties.java + src/share/classes/com/sun/xml/internal/stream/buffer/sax/SAXBufferCreator.java + src/share/classes/com/sun/xml/internal/stream/buffer/sax/SAXBufferProcessor.java + src/share/classes/com/sun/xml/internal/stream/buffer/stax/NamespaceContexHelper.java + src/share/classes/com/sun/xml/internal/stream/buffer/stax/StreamBufferCreator.java + src/share/classes/com/sun/xml/internal/stream/buffer/stax/StreamReaderBufferCreator.java + src/share/classes/com/sun/xml/internal/stream/buffer/stax/StreamReaderBufferProcessor.java + src/share/classes/com/sun/xml/internal/stream/buffer/stax/StreamWriterBufferCreator.java + src/share/classes/com/sun/xml/internal/stream/buffer/stax/StreamWriterBufferProcessor.java ! src/share/classes/com/sun/xml/internal/txw2/Attribute.java ! src/share/classes/com/sun/xml/internal/txw2/Cdata.java ! src/share/classes/com/sun/xml/internal/txw2/Comment.java ! src/share/classes/com/sun/xml/internal/txw2/ContainerElement.java ! src/share/classes/com/sun/xml/internal/txw2/Content.java ! src/share/classes/com/sun/xml/internal/txw2/ContentVisitor.java ! src/share/classes/com/sun/xml/internal/txw2/DatatypeWriter.java ! src/share/classes/com/sun/xml/internal/txw2/Document.java ! src/share/classes/com/sun/xml/internal/txw2/EndDocument.java ! src/share/classes/com/sun/xml/internal/txw2/EndTag.java ! src/share/classes/com/sun/xml/internal/txw2/IllegalAnnotationException.java ! src/share/classes/com/sun/xml/internal/txw2/IllegalSignatureException.java ! src/share/classes/com/sun/xml/internal/txw2/NamespaceDecl.java ! src/share/classes/com/sun/xml/internal/txw2/NamespaceResolver.java ! src/share/classes/com/sun/xml/internal/txw2/NamespaceSupport.java ! src/share/classes/com/sun/xml/internal/txw2/Pcdata.java ! src/share/classes/com/sun/xml/internal/txw2/StartDocument.java ! src/share/classes/com/sun/xml/internal/txw2/StartTag.java ! src/share/classes/com/sun/xml/internal/txw2/TXW.java ! src/share/classes/com/sun/xml/internal/txw2/Text.java ! src/share/classes/com/sun/xml/internal/txw2/TxwException.java ! src/share/classes/com/sun/xml/internal/txw2/TypedXmlWriter.java ! src/share/classes/com/sun/xml/internal/txw2/annotation/XmlAttribute.java ! src/share/classes/com/sun/xml/internal/txw2/annotation/XmlCDATA.java ! src/share/classes/com/sun/xml/internal/txw2/annotation/XmlElement.java ! src/share/classes/com/sun/xml/internal/txw2/annotation/XmlNamespace.java ! src/share/classes/com/sun/xml/internal/txw2/annotation/XmlValue.java ! src/share/classes/com/sun/xml/internal/txw2/annotation/package.html ! src/share/classes/com/sun/xml/internal/txw2/output/CharacterEscapeHandler.java ! src/share/classes/com/sun/xml/internal/txw2/output/DataWriter.java + src/share/classes/com/sun/xml/internal/txw2/output/DelegatingXMLStreamWriter.java ! src/share/classes/com/sun/xml/internal/txw2/output/DomSerializer.java ! src/share/classes/com/sun/xml/internal/txw2/output/DumbEscapeHandler.java ! src/share/classes/com/sun/xml/internal/txw2/output/DumpSerializer.java + src/share/classes/com/sun/xml/internal/txw2/output/IndentingXMLFilter.java + src/share/classes/com/sun/xml/internal/txw2/output/IndentingXMLStreamWriter.java ! src/share/classes/com/sun/xml/internal/txw2/output/ResultFactory.java ! src/share/classes/com/sun/xml/internal/txw2/output/SaxSerializer.java ! src/share/classes/com/sun/xml/internal/txw2/output/StaxSerializer.java ! src/share/classes/com/sun/xml/internal/txw2/output/StreamSerializer.java ! src/share/classes/com/sun/xml/internal/txw2/output/XMLWriter.java ! src/share/classes/com/sun/xml/internal/txw2/output/XmlSerializer.java ! src/share/classes/com/sun/xml/internal/txw2/output/package.html ! src/share/classes/com/sun/xml/internal/txw2/package.html + src/share/classes/com/sun/xml/internal/ws/Closeable.java + src/share/classes/com/sun/xml/internal/ws/addressing/EndpointReferenceUtil.java + src/share/classes/com/sun/xml/internal/ws/addressing/ProblemAction.java + src/share/classes/com/sun/xml/internal/ws/addressing/ProblemHeaderQName.java + src/share/classes/com/sun/xml/internal/ws/addressing/W3CAddressingConstants.java + src/share/classes/com/sun/xml/internal/ws/addressing/WsaClientTube.java + src/share/classes/com/sun/xml/internal/ws/addressing/WsaServerTube.java + src/share/classes/com/sun/xml/internal/ws/addressing/WsaTube.java + src/share/classes/com/sun/xml/internal/ws/addressing/WsaTubeHelper.java + src/share/classes/com/sun/xml/internal/ws/addressing/WsaTubeHelperImpl.java + src/share/classes/com/sun/xml/internal/ws/addressing/model/ActionNotSupportedException.java + src/share/classes/com/sun/xml/internal/ws/addressing/model/InvalidMapException.java + src/share/classes/com/sun/xml/internal/ws/addressing/model/MapRequiredException.java + src/share/classes/com/sun/xml/internal/ws/addressing/v200408/MemberSubmissionAddressingConstants.java + src/share/classes/com/sun/xml/internal/ws/addressing/v200408/ProblemAction.java + src/share/classes/com/sun/xml/internal/ws/addressing/v200408/ProblemHeaderQName.java + src/share/classes/com/sun/xml/internal/ws/addressing/v200408/WsaTubeHelperImpl.java + src/share/classes/com/sun/xml/internal/ws/api/BindingID.java + src/share/classes/com/sun/xml/internal/ws/api/BindingIDFactory.java + src/share/classes/com/sun/xml/internal/ws/api/DistributedPropertySet.java + src/share/classes/com/sun/xml/internal/ws/api/EndpointAddress.java + src/share/classes/com/sun/xml/internal/ws/api/FeatureConstructor.java + src/share/classes/com/sun/xml/internal/ws/api/PropertySet.java + src/share/classes/com/sun/xml/internal/ws/api/SOAPVersion.java + src/share/classes/com/sun/xml/internal/ws/api/WSBinding.java + src/share/classes/com/sun/xml/internal/ws/api/WSFeatureList.java + src/share/classes/com/sun/xml/internal/ws/api/WSService.java + src/share/classes/com/sun/xml/internal/ws/api/addressing/AddressingVersion.java + src/share/classes/com/sun/xml/internal/ws/api/addressing/EPRHeader.java + src/share/classes/com/sun/xml/internal/ws/api/addressing/OneWayFeature.java + src/share/classes/com/sun/xml/internal/ws/api/addressing/OutboundReferenceParameterHeader.java + src/share/classes/com/sun/xml/internal/ws/api/addressing/WSEndpointReference.java + src/share/classes/com/sun/xml/internal/ws/api/addressing/package-info.java + src/share/classes/com/sun/xml/internal/ws/api/client/ClientPipelineHook.java + src/share/classes/com/sun/xml/internal/ws/api/client/SelectOptimalEncodingFeature.java + src/share/classes/com/sun/xml/internal/ws/api/client/ServiceInterceptor.java + src/share/classes/com/sun/xml/internal/ws/api/client/ServiceInterceptorFactory.java + src/share/classes/com/sun/xml/internal/ws/api/client/WSPortInfo.java + src/share/classes/com/sun/xml/internal/ws/api/fastinfoset/FastInfosetFeature.java + src/share/classes/com/sun/xml/internal/ws/api/message/Attachment.java + src/share/classes/com/sun/xml/internal/ws/api/message/AttachmentSet.java + src/share/classes/com/sun/xml/internal/ws/api/message/ExceptionHasMessage.java + src/share/classes/com/sun/xml/internal/ws/api/message/Header.java + src/share/classes/com/sun/xml/internal/ws/api/message/HeaderList.java + src/share/classes/com/sun/xml/internal/ws/api/message/Headers.java + src/share/classes/com/sun/xml/internal/ws/api/message/Message.java + src/share/classes/com/sun/xml/internal/ws/api/message/Messages.java + src/share/classes/com/sun/xml/internal/ws/api/message/Packet.java + src/share/classes/com/sun/xml/internal/ws/api/message/package-info.java + src/share/classes/com/sun/xml/internal/ws/api/message/stream/InputStreamMessage.java + src/share/classes/com/sun/xml/internal/ws/api/message/stream/StreamBasedMessage.java + src/share/classes/com/sun/xml/internal/ws/api/message/stream/XMLStreamReaderMessage.java + src/share/classes/com/sun/xml/internal/ws/api/model/CheckedException.java + src/share/classes/com/sun/xml/internal/ws/api/model/ExceptionType.java + src/share/classes/com/sun/xml/internal/ws/api/model/JavaMethod.java + src/share/classes/com/sun/xml/internal/ws/api/model/MEP.java + src/share/classes/com/sun/xml/internal/ws/api/model/Parameter.java + src/share/classes/com/sun/xml/internal/ws/api/model/ParameterBinding.java + src/share/classes/com/sun/xml/internal/ws/api/model/SEIModel.java + src/share/classes/com/sun/xml/internal/ws/api/model/soap/SOAPBinding.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLBoundOperation.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLBoundPortType.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLDescriptorKind.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLExtensible.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLExtension.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLFault.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLFeaturedObject.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLInput.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLMessage.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLModel.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLObject.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLOperation.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLOutput.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLPart.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLPartDescriptor.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLPort.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLPortType.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLService.java + src/share/classes/com/sun/xml/internal/ws/api/package-info.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/ClientPipeAssemblerContext.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/ClientTubeAssemblerContext.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/Codec.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/Codecs.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/ContentType.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/Engine.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/Fiber.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/FiberContextSwitchInterceptor.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/NextAction.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/Pipe.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/PipeCloner.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/PipelineAssembler.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/PipelineAssemblerFactory.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/SOAPBindingCodec.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/ServerPipeAssemblerContext.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/ServerTubeAssemblerContext.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/StreamSOAPCodec.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/Stubs.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/TransportPipeFactory.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/TransportTubeFactory.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/Tube.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/TubeCloner.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/TubelineAssembler.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/TubelineAssemblerFactory.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/helper/AbstractFilterPipeImpl.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/helper/AbstractFilterTubeImpl.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/helper/AbstractPipeImpl.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/helper/AbstractTubeImpl.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/helper/PipeAdapter.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/helper/package-info.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/package-info.java + src/share/classes/com/sun/xml/internal/ws/api/server/AbstractServerAsyncTransport.java + src/share/classes/com/sun/xml/internal/ws/api/server/Adapter.java + src/share/classes/com/sun/xml/internal/ws/api/server/AsyncProvider.java + src/share/classes/com/sun/xml/internal/ws/api/server/AsyncProviderCallback.java + src/share/classes/com/sun/xml/internal/ws/api/server/BoundEndpoint.java + src/share/classes/com/sun/xml/internal/ws/api/server/Container.java + src/share/classes/com/sun/xml/internal/ws/api/server/ContainerResolver.java + src/share/classes/com/sun/xml/internal/ws/api/server/DocumentAddressResolver.java + src/share/classes/com/sun/xml/internal/ws/api/server/EndpointAwareCodec.java + src/share/classes/com/sun/xml/internal/ws/api/server/InstanceResolver.java + src/share/classes/com/sun/xml/internal/ws/api/server/InstanceResolverAnnotation.java + src/share/classes/com/sun/xml/internal/ws/api/server/Invoker.java + src/share/classes/com/sun/xml/internal/ws/api/server/Module.java + src/share/classes/com/sun/xml/internal/ws/api/server/PortAddressResolver.java + src/share/classes/com/sun/xml/internal/ws/api/server/ResourceInjector.java + src/share/classes/com/sun/xml/internal/ws/api/server/SDDocument.java + src/share/classes/com/sun/xml/internal/ws/api/server/SDDocumentFilter.java + src/share/classes/com/sun/xml/internal/ws/api/server/SDDocumentSource.java + src/share/classes/com/sun/xml/internal/ws/api/server/ServerPipelineHook.java + src/share/classes/com/sun/xml/internal/ws/api/server/ServiceDefinition.java + src/share/classes/com/sun/xml/internal/ws/api/server/TransportBackChannel.java + src/share/classes/com/sun/xml/internal/ws/api/server/WSEndpoint.java + src/share/classes/com/sun/xml/internal/ws/api/server/WSWebServiceContext.java + src/share/classes/com/sun/xml/internal/ws/api/server/WebModule.java + src/share/classes/com/sun/xml/internal/ws/api/server/WebServiceContextDelegate.java + src/share/classes/com/sun/xml/internal/ws/api/server/package-info.java + src/share/classes/com/sun/xml/internal/ws/api/streaming/XMLStreamReaderFactory.java + src/share/classes/com/sun/xml/internal/ws/api/streaming/XMLStreamWriterFactory.java + src/share/classes/com/sun/xml/internal/ws/api/wsdl/parser/MetaDataResolver.java + src/share/classes/com/sun/xml/internal/ws/api/wsdl/parser/MetadataResolverFactory.java + src/share/classes/com/sun/xml/internal/ws/api/wsdl/parser/ServiceDescriptor.java + src/share/classes/com/sun/xml/internal/ws/api/wsdl/parser/WSDLParserExtension.java + src/share/classes/com/sun/xml/internal/ws/api/wsdl/parser/WSDLParserExtensionContext.java + src/share/classes/com/sun/xml/internal/ws/api/wsdl/parser/XMLEntityResolver.java + src/share/classes/com/sun/xml/internal/ws/api/wsdl/parser/package-info.java + src/share/classes/com/sun/xml/internal/ws/api/wsdl/writer/WSDLGenExtnContext.java + src/share/classes/com/sun/xml/internal/ws/api/wsdl/writer/WSDLGeneratorExtension.java ! src/share/classes/com/sun/xml/internal/ws/binding/BindingImpl.java + src/share/classes/com/sun/xml/internal/ws/binding/HTTPBindingImpl.java + src/share/classes/com/sun/xml/internal/ws/binding/SOAPBindingImpl.java + src/share/classes/com/sun/xml/internal/ws/binding/WebServiceFeatureList.java - src/share/classes/com/sun/xml/internal/ws/binding/http/HTTPBindingImpl.java - src/share/classes/com/sun/xml/internal/ws/binding/soap/SOAPBindingImpl.java - src/share/classes/com/sun/xml/internal/ws/client/AsyncHandlerService.java + src/share/classes/com/sun/xml/internal/ws/client/AsyncInvoker.java + src/share/classes/com/sun/xml/internal/ws/client/AsyncResponseImpl.java ! src/share/classes/com/sun/xml/internal/ws/client/BindingProviderProperties.java - src/share/classes/com/sun/xml/internal/ws/client/ClientConfigurationException.java ! src/share/classes/com/sun/xml/internal/ws/client/ClientTransportException.java - src/share/classes/com/sun/xml/internal/ws/client/ContactInfoBase.java - src/share/classes/com/sun/xml/internal/ws/client/ContactInfoListImpl.java - src/share/classes/com/sun/xml/internal/ws/client/ContactInfoListIteratorBase.java ! src/share/classes/com/sun/xml/internal/ws/client/ContentNegotiation.java - src/share/classes/com/sun/xml/internal/ws/client/ContextMap.java - src/share/classes/com/sun/xml/internal/ws/client/EndpointIFBase.java - src/share/classes/com/sun/xml/internal/ws/client/EndpointIFContext.java - src/share/classes/com/sun/xml/internal/ws/client/EndpointIFInvocationHandler.java + src/share/classes/com/sun/xml/internal/ws/client/HandlerConfiguration.java + src/share/classes/com/sun/xml/internal/ws/client/HandlerConfigurator.java - src/share/classes/com/sun/xml/internal/ws/client/InternalBindingProvider.java + src/share/classes/com/sun/xml/internal/ws/client/PortInfo.java - src/share/classes/com/sun/xml/internal/ws/client/PortInfoBase.java ! src/share/classes/com/sun/xml/internal/ws/client/RequestContext.java ! src/share/classes/com/sun/xml/internal/ws/client/ResponseContext.java + src/share/classes/com/sun/xml/internal/ws/client/ResponseContextReceiver.java + src/share/classes/com/sun/xml/internal/ws/client/ResponseImpl.java + src/share/classes/com/sun/xml/internal/ws/client/SCAnnotations.java + src/share/classes/com/sun/xml/internal/ws/client/SEIPortInfo.java ! src/share/classes/com/sun/xml/internal/ws/client/SenderException.java - src/share/classes/com/sun/xml/internal/ws/client/ServiceContext.java - src/share/classes/com/sun/xml/internal/ws/client/ServiceContextBuilder.java + src/share/classes/com/sun/xml/internal/ws/client/Stub.java - src/share/classes/com/sun/xml/internal/ws/client/WSFuture.java ! src/share/classes/com/sun/xml/internal/ws/client/WSServiceDelegate.java + src/share/classes/com/sun/xml/internal/ws/client/dispatch/DataSourceDispatch.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/DispatchBase.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/DispatchContext.java + src/share/classes/com/sun/xml/internal/ws/client/dispatch/DispatchImpl.java + src/share/classes/com/sun/xml/internal/ws/client/dispatch/JAXBDispatch.java + src/share/classes/com/sun/xml/internal/ws/client/dispatch/MessageDispatch.java + src/share/classes/com/sun/xml/internal/ws/client/dispatch/RESTSourceDispatch.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/ResponseImpl.java + src/share/classes/com/sun/xml/internal/ws/client/dispatch/SOAPMessageDispatch.java + src/share/classes/com/sun/xml/internal/ws/client/dispatch/SOAPSourceDispatch.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/impl/DispatchContactInfoList.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/impl/DispatchDelegate.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/impl/encoding/DispatchSerializer.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/impl/encoding/DispatchUtil.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/impl/protocol/MessageDispatcherHelper.java ! src/share/classes/com/sun/xml/internal/ws/client/package-info.java + src/share/classes/com/sun/xml/internal/ws/client/sei/AsyncBuilder.java + src/share/classes/com/sun/xml/internal/ws/client/sei/AsyncMethodHandler.java + src/share/classes/com/sun/xml/internal/ws/client/sei/BodyBuilder.java + src/share/classes/com/sun/xml/internal/ws/client/sei/CallbackMethodHandler.java + src/share/classes/com/sun/xml/internal/ws/client/sei/MessageFiller.java + src/share/classes/com/sun/xml/internal/ws/client/sei/MethodHandler.java + src/share/classes/com/sun/xml/internal/ws/client/sei/PollingMethodHandler.java + src/share/classes/com/sun/xml/internal/ws/client/sei/ResponseBuilder.java + src/share/classes/com/sun/xml/internal/ws/client/sei/SEIStub.java + src/share/classes/com/sun/xml/internal/ws/client/sei/SyncMethodHandler.java + src/share/classes/com/sun/xml/internal/ws/client/sei/ValueGetter.java + src/share/classes/com/sun/xml/internal/ws/client/sei/ValueSetter.java + src/share/classes/com/sun/xml/internal/ws/client/sei/package-info.java + src/share/classes/com/sun/xml/internal/ws/developer/EPRRecipe.java ! src/share/classes/com/sun/xml/internal/ws/developer/JAXWSProperties.java + src/share/classes/com/sun/xml/internal/ws/developer/MemberSubmissionAddressing.java + src/share/classes/com/sun/xml/internal/ws/developer/MemberSubmissionAddressingFeature.java + src/share/classes/com/sun/xml/internal/ws/developer/MemberSubmissionEndpointReference.java + src/share/classes/com/sun/xml/internal/ws/developer/ServerSideException.java + src/share/classes/com/sun/xml/internal/ws/developer/Stateful.java + src/share/classes/com/sun/xml/internal/ws/developer/StatefulFeature.java + src/share/classes/com/sun/xml/internal/ws/developer/StatefulWebServiceManager.java + src/share/classes/com/sun/xml/internal/ws/developer/WSBindingProvider.java + src/share/classes/com/sun/xml/internal/ws/developer/package-info.java + src/share/classes/com/sun/xml/internal/ws/encoding/AbstractXMLStreamWriterExImpl.java + src/share/classes/com/sun/xml/internal/ws/encoding/ContentTypeImpl.java - src/share/classes/com/sun/xml/internal/ws/encoding/EncoderDecoderBase.java - src/share/classes/com/sun/xml/internal/ws/encoding/JAXWSAttachmentMarshaller.java - src/share/classes/com/sun/xml/internal/ws/encoding/JAXWSAttachmentUnmarshaller.java + src/share/classes/com/sun/xml/internal/ws/encoding/MimeCodec.java + src/share/classes/com/sun/xml/internal/ws/encoding/MimeMultipartParser.java + src/share/classes/com/sun/xml/internal/ws/encoding/MtomCodec.java + src/share/classes/com/sun/xml/internal/ws/encoding/SOAPBindingCodec.java + src/share/classes/com/sun/xml/internal/ws/encoding/StreamSOAP11Codec.java + src/share/classes/com/sun/xml/internal/ws/encoding/StreamSOAP12Codec.java + src/share/classes/com/sun/xml/internal/ws/encoding/StreamSOAPCodec.java + src/share/classes/com/sun/xml/internal/ws/encoding/SwACodec.java + src/share/classes/com/sun/xml/internal/ws/encoding/TagInfoset.java + src/share/classes/com/sun/xml/internal/ws/encoding/XMLHTTPBindingCodec.java + src/share/classes/com/sun/xml/internal/ws/encoding/fastinfoset/FastInfosetCodec.java + src/share/classes/com/sun/xml/internal/ws/encoding/fastinfoset/FastInfosetMIMETypes.java + src/share/classes/com/sun/xml/internal/ws/encoding/fastinfoset/FastInfosetStreamReaderFactory.java + src/share/classes/com/sun/xml/internal/ws/encoding/fastinfoset/FastInfosetStreamReaderRecyclable.java + src/share/classes/com/sun/xml/internal/ws/encoding/fastinfoset/FastInfosetStreamSOAP11Codec.java + src/share/classes/com/sun/xml/internal/ws/encoding/fastinfoset/FastInfosetStreamSOAP12Codec.java + src/share/classes/com/sun/xml/internal/ws/encoding/fastinfoset/FastInfosetStreamSOAPCodec.java - src/share/classes/com/sun/xml/internal/ws/encoding/internal/InternalEncoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/jaxb/JAXBBeanInfo.java - src/share/classes/com/sun/xml/internal/ws/encoding/jaxb/JAXBBridgeInfo.java - src/share/classes/com/sun/xml/internal/ws/encoding/jaxb/JAXBTypeSerializer.java - src/share/classes/com/sun/xml/internal/ws/encoding/jaxb/RpcLitPayload.java - src/share/classes/com/sun/xml/internal/ws/encoding/jaxb/RpcLitPayloadSerializer.java - src/share/classes/com/sun/xml/internal/ws/encoding/simpletype/EncoderUtils.java - src/share/classes/com/sun/xml/internal/ws/encoding/simpletype/SimpleTypeConstants.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/ClientEncoderDecoder.java ! src/share/classes/com/sun/xml/internal/ws/encoding/soap/DeserializationException.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/EncoderDecoder.java ! src/share/classes/com/sun/xml/internal/ws/encoding/soap/SOAP12Constants.java ! src/share/classes/com/sun/xml/internal/ws/encoding/soap/SOAPConstants.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/SOAPDecoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/SOAPEPTFactory.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/SOAPEncoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/SOAPVersion.java ! src/share/classes/com/sun/xml/internal/ws/encoding/soap/SerializationException.java ! src/share/classes/com/sun/xml/internal/ws/encoding/soap/SerializerConstants.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/ServerEncoderDecoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/client/SOAP12XMLDecoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/client/SOAP12XMLEncoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/client/SOAPXMLDecoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/client/SOAPXMLEncoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/internal/AttachmentBlock.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/internal/BodyBlock.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/internal/DelegateBase.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/internal/HeaderBlock.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/internal/InternalMessage.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/internal/MessageBlock.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/internal/MessageInfoBase.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/internal/SOAP12NotUnderstoodHeaderBlock.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/message/FaultCode.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/message/FaultCodeEnum.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/message/FaultReason.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/message/FaultReasonText.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/message/FaultSubcode.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/message/SOAP12FaultInfo.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/message/SOAPFaultInfo.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/message/SOAPMsgCreateException.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/message/SOAPMsgFactoryCreateException.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/server/ProviderSED.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/server/SOAP12XMLDecoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/server/SOAP12XMLEncoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/server/SOAPXMLDecoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/server/SOAPXMLEncoder.java ! src/share/classes/com/sun/xml/internal/ws/encoding/soap/streaming/SOAP12NamespaceConstants.java ! src/share/classes/com/sun/xml/internal/ws/encoding/soap/streaming/SOAPNamespaceConstants.java + src/share/classes/com/sun/xml/internal/ws/encoding/xml/XMLCodec.java - src/share/classes/com/sun/xml/internal/ws/encoding/xml/XMLDecoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/xml/XMLEPTFactory.java - src/share/classes/com/sun/xml/internal/ws/encoding/xml/XMLEncoder.java ! src/share/classes/com/sun/xml/internal/ws/encoding/xml/XMLMessage.java + src/share/classes/com/sun/xml/internal/ws/fault/CodeType.java + src/share/classes/com/sun/xml/internal/ws/fault/DetailType.java + src/share/classes/com/sun/xml/internal/ws/fault/ExceptionBean.java + src/share/classes/com/sun/xml/internal/ws/fault/ReasonType.java + src/share/classes/com/sun/xml/internal/ws/fault/SOAP11Fault.java + src/share/classes/com/sun/xml/internal/ws/fault/SOAP12Fault.java + src/share/classes/com/sun/xml/internal/ws/fault/SOAPFaultBuilder.java + src/share/classes/com/sun/xml/internal/ws/fault/SubcodeType.java + src/share/classes/com/sun/xml/internal/ws/fault/TextType.java + src/share/classes/com/sun/xml/internal/ws/handler/ClientLogicalHandlerTube.java + src/share/classes/com/sun/xml/internal/ws/handler/ClientSOAPHandlerTube.java - src/share/classes/com/sun/xml/internal/ws/handler/HandlerChainCaller.java ! src/share/classes/com/sun/xml/internal/ws/handler/HandlerChainsModel.java - src/share/classes/com/sun/xml/internal/ws/handler/HandlerContext.java ! src/share/classes/com/sun/xml/internal/ws/handler/HandlerException.java + src/share/classes/com/sun/xml/internal/ws/handler/HandlerProcessor.java - src/share/classes/com/sun/xml/internal/ws/handler/HandlerResolverImpl.java + src/share/classes/com/sun/xml/internal/ws/handler/HandlerTube.java ! src/share/classes/com/sun/xml/internal/ws/handler/LogicalMessageContextImpl.java ! src/share/classes/com/sun/xml/internal/ws/handler/LogicalMessageImpl.java ! src/share/classes/com/sun/xml/internal/ws/handler/MessageContextImpl.java - src/share/classes/com/sun/xml/internal/ws/handler/MessageContextUtil.java + src/share/classes/com/sun/xml/internal/ws/handler/MessageUpdatableContext.java ! src/share/classes/com/sun/xml/internal/ws/handler/PortInfoImpl.java - src/share/classes/com/sun/xml/internal/ws/handler/SHDSOAPMessageContext.java - src/share/classes/com/sun/xml/internal/ws/handler/SOAPHandlerContext.java + src/share/classes/com/sun/xml/internal/ws/handler/SOAPHandlerProcessor.java ! src/share/classes/com/sun/xml/internal/ws/handler/SOAPMessageContextImpl.java + src/share/classes/com/sun/xml/internal/ws/handler/ServerLogicalHandlerTube.java + src/share/classes/com/sun/xml/internal/ws/handler/ServerSOAPHandlerTube.java - src/share/classes/com/sun/xml/internal/ws/handler/XMLHandlerContext.java + src/share/classes/com/sun/xml/internal/ws/handler/XMLHandlerProcessor.java - src/share/classes/com/sun/xml/internal/ws/handler/XMLLogicalMessageContextImpl.java - src/share/classes/com/sun/xml/internal/ws/handler/XMLLogicalMessageImpl.java - src/share/classes/com/sun/xml/internal/ws/handler/package-info.java + src/share/classes/com/sun/xml/internal/ws/message/AbstractHeaderImpl.java + src/share/classes/com/sun/xml/internal/ws/message/AbstractMessageImpl.java + src/share/classes/com/sun/xml/internal/ws/message/AttachmentSetImpl.java + src/share/classes/com/sun/xml/internal/ws/message/AttachmentUnmarshallerImpl.java + src/share/classes/com/sun/xml/internal/ws/message/ByteArrayAttachment.java + src/share/classes/com/sun/xml/internal/ws/message/DOMHeader.java + src/share/classes/com/sun/xml/internal/ws/message/DOMMessage.java + src/share/classes/com/sun/xml/internal/ws/message/DataHandlerAttachment.java + src/share/classes/com/sun/xml/internal/ws/message/EmptyMessageImpl.java + src/share/classes/com/sun/xml/internal/ws/message/FaultDetailHeader.java + src/share/classes/com/sun/xml/internal/ws/message/JAXBAttachment.java + src/share/classes/com/sun/xml/internal/ws/message/MimeAttachmentSet.java + src/share/classes/com/sun/xml/internal/ws/message/ProblemActionHeader.java + src/share/classes/com/sun/xml/internal/ws/message/RelatesToHeader.java + src/share/classes/com/sun/xml/internal/ws/message/RootElementSniffer.java + src/share/classes/com/sun/xml/internal/ws/message/StringHeader.java + src/share/classes/com/sun/xml/internal/ws/message/Util.java + src/share/classes/com/sun/xml/internal/ws/message/XMLReaderImpl.java + src/share/classes/com/sun/xml/internal/ws/message/jaxb/AttachmentMarshallerImpl.java + src/share/classes/com/sun/xml/internal/ws/message/jaxb/JAXBBridgeSource.java + src/share/classes/com/sun/xml/internal/ws/message/jaxb/JAXBHeader.java + src/share/classes/com/sun/xml/internal/ws/message/jaxb/JAXBMessage.java + src/share/classes/com/sun/xml/internal/ws/message/jaxb/MarshallerBridge.java + src/share/classes/com/sun/xml/internal/ws/message/jaxb/package-info.java + src/share/classes/com/sun/xml/internal/ws/message/package-info.java + src/share/classes/com/sun/xml/internal/ws/message/saaj/SAAJHeader.java + src/share/classes/com/sun/xml/internal/ws/message/saaj/SAAJMessage.java + src/share/classes/com/sun/xml/internal/ws/message/source/PayloadSourceMessage.java + src/share/classes/com/sun/xml/internal/ws/message/source/ProtocolSourceMessage.java + src/share/classes/com/sun/xml/internal/ws/message/source/SourceUtils.java + src/share/classes/com/sun/xml/internal/ws/message/stream/OutboundStreamHeader.java + src/share/classes/com/sun/xml/internal/ws/message/stream/PayloadStreamReaderMessage.java + src/share/classes/com/sun/xml/internal/ws/message/stream/StreamAttachment.java + src/share/classes/com/sun/xml/internal/ws/message/stream/StreamHeader.java + src/share/classes/com/sun/xml/internal/ws/message/stream/StreamHeader11.java + src/share/classes/com/sun/xml/internal/ws/message/stream/StreamHeader12.java + src/share/classes/com/sun/xml/internal/ws/message/stream/StreamMessage.java + src/share/classes/com/sun/xml/internal/ws/model/AbstractSEIModelImpl.java - src/share/classes/com/sun/xml/internal/ws/model/CheckedException.java + src/share/classes/com/sun/xml/internal/ws/model/CheckedExceptionImpl.java - src/share/classes/com/sun/xml/internal/ws/model/ExceptionType.java - src/share/classes/com/sun/xml/internal/ws/model/JavaMethod.java + src/share/classes/com/sun/xml/internal/ws/model/JavaMethodImpl.java - src/share/classes/com/sun/xml/internal/ws/model/Mode.java - src/share/classes/com/sun/xml/internal/ws/model/Parameter.java - src/share/classes/com/sun/xml/internal/ws/model/ParameterBinding.java + src/share/classes/com/sun/xml/internal/ws/model/ParameterImpl.java - src/share/classes/com/sun/xml/internal/ws/model/RuntimeModel.java + src/share/classes/com/sun/xml/internal/ws/model/RuntimeModeler.java + src/share/classes/com/sun/xml/internal/ws/model/RuntimeModelerException.java + src/share/classes/com/sun/xml/internal/ws/model/SOAPSEIModel.java ! src/share/classes/com/sun/xml/internal/ws/model/WrapperParameter.java - src/share/classes/com/sun/xml/internal/ws/model/soap/SOAPBinding.java + src/share/classes/com/sun/xml/internal/ws/model/soap/SOAPBindingImpl.java - src/share/classes/com/sun/xml/internal/ws/model/soap/SOAPRuntimeModel.java - src/share/classes/com/sun/xml/internal/ws/model/soap/Style.java - src/share/classes/com/sun/xml/internal/ws/model/soap/Use.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/AbstractExtensibleImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/AbstractFeaturedObjectImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/AbstractObjectImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLBoundOperationImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLBoundPortTypeImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLFaultImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLInputImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLMessageImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLModelImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLOperationImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLOutputImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLPartDescriptorImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLPartImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLPortImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLPortTypeImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLProperties.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLServiceImpl.java - src/share/classes/com/sun/xml/internal/ws/modeler/RuntimeModeler.java - src/share/classes/com/sun/xml/internal/ws/modeler/RuntimeModelerException.java ! src/share/classes/com/sun/xml/internal/ws/package-info.java - src/share/classes/com/sun/xml/internal/ws/pept/Delegate.java - src/share/classes/com/sun/xml/internal/ws/pept/encoding/Decoder.java - src/share/classes/com/sun/xml/internal/ws/pept/encoding/Encoder.java - src/share/classes/com/sun/xml/internal/ws/pept/ept/Acceptor.java - src/share/classes/com/sun/xml/internal/ws/pept/ept/ContactInfo.java - src/share/classes/com/sun/xml/internal/ws/pept/ept/ContactInfoList.java - src/share/classes/com/sun/xml/internal/ws/pept/ept/ContactInfoListIterator.java - src/share/classes/com/sun/xml/internal/ws/pept/ept/EPTFactory.java - src/share/classes/com/sun/xml/internal/ws/pept/ept/MessageInfo.java - src/share/classes/com/sun/xml/internal/ws/pept/presentation/MessageStruct.java - src/share/classes/com/sun/xml/internal/ws/pept/presentation/Stub.java - src/share/classes/com/sun/xml/internal/ws/pept/presentation/TargetFinder.java - src/share/classes/com/sun/xml/internal/ws/pept/presentation/Tie.java - src/share/classes/com/sun/xml/internal/ws/pept/protocol/Interceptors.java - src/share/classes/com/sun/xml/internal/ws/pept/protocol/MessageDispatcher.java + src/share/classes/com/sun/xml/internal/ws/protocol/soap/ClientMUTube.java + src/share/classes/com/sun/xml/internal/ws/protocol/soap/MUTube.java + src/share/classes/com/sun/xml/internal/ws/protocol/soap/ServerMUTube.java + src/share/classes/com/sun/xml/internal/ws/protocol/soap/VersionMismatchException.java - src/share/classes/com/sun/xml/internal/ws/protocol/soap/client/SOAPMessageDispatcher.java - src/share/classes/com/sun/xml/internal/ws/protocol/soap/server/ProviderSOAPMD.java - src/share/classes/com/sun/xml/internal/ws/protocol/soap/server/SOAPMessageDispatcher.java ! src/share/classes/com/sun/xml/internal/ws/protocol/xml/XMLMessageException.java - src/share/classes/com/sun/xml/internal/ws/protocol/xml/client/XMLMessageDispatcher.java - src/share/classes/com/sun/xml/internal/ws/protocol/xml/server/ProviderXMLMD.java - src/share/classes/com/sun/xml/internal/ws/protocol/xml/server/XMLMessageDispatcher.java + src/share/classes/com/sun/xml/internal/ws/resources/AddressingMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/ClientMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/DispatchMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/EncodingMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/HandlerMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/HttpserverMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/ModelerMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/ProviderApiMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/SenderMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/ServerMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/SoapMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/StreamingMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/UtilMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/WsdlmodelMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/WsservletMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/XmlmessageMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/addressing.properties ! src/share/classes/com/sun/xml/internal/ws/resources/client.properties ! src/share/classes/com/sun/xml/internal/ws/resources/dispatch.properties ! src/share/classes/com/sun/xml/internal/ws/resources/encoding.properties ! src/share/classes/com/sun/xml/internal/ws/resources/handler.properties ! src/share/classes/com/sun/xml/internal/ws/resources/httpserver.properties ! src/share/classes/com/sun/xml/internal/ws/resources/modeler.properties + src/share/classes/com/sun/xml/internal/ws/resources/providerApi.properties ! src/share/classes/com/sun/xml/internal/ws/resources/sender.properties ! src/share/classes/com/sun/xml/internal/ws/resources/server.properties ! src/share/classes/com/sun/xml/internal/ws/resources/soap.properties ! src/share/classes/com/sun/xml/internal/ws/resources/streaming.properties ! src/share/classes/com/sun/xml/internal/ws/resources/util.properties + src/share/classes/com/sun/xml/internal/ws/resources/wsdlmodel.properties ! src/share/classes/com/sun/xml/internal/ws/resources/wsservlet.properties ! src/share/classes/com/sun/xml/internal/ws/resources/xmlmessage.properties + src/share/classes/com/sun/xml/internal/ws/server/AbstractInstanceResolver.java + src/share/classes/com/sun/xml/internal/ws/server/AbstractMultiInstanceResolver.java + src/share/classes/com/sun/xml/internal/ws/server/AbstractWebServiceContext.java - src/share/classes/com/sun/xml/internal/ws/server/AppMsgContextImpl.java + src/share/classes/com/sun/xml/internal/ws/server/DefaultResourceInjector.java - src/share/classes/com/sun/xml/internal/ws/server/DocInfo.java - src/share/classes/com/sun/xml/internal/ws/server/EPTFactoryBase.java - src/share/classes/com/sun/xml/internal/ws/server/EPTFactoryFactoryBase.java + src/share/classes/com/sun/xml/internal/ws/server/EndpointFactory.java + src/share/classes/com/sun/xml/internal/ws/server/EndpointMessageContextImpl.java + src/share/classes/com/sun/xml/internal/ws/server/InvokerTube.java - src/share/classes/com/sun/xml/internal/ws/server/PeptTie.java - src/share/classes/com/sun/xml/internal/ws/server/RuntimeContext.java - src/share/classes/com/sun/xml/internal/ws/server/RuntimeEndpointInfo.java + src/share/classes/com/sun/xml/internal/ws/server/SDDocumentImpl.java ! src/share/classes/com/sun/xml/internal/ws/server/ServerPropertyConstants.java ! src/share/classes/com/sun/xml/internal/ws/server/ServerRtException.java + src/share/classes/com/sun/xml/internal/ws/server/ServiceDefinitionImpl.java + src/share/classes/com/sun/xml/internal/ws/server/SingletonResolver.java + src/share/classes/com/sun/xml/internal/ws/server/StatefulInstanceResolver.java - src/share/classes/com/sun/xml/internal/ws/server/TargetFinderImpl.java - src/share/classes/com/sun/xml/internal/ws/server/Tie.java + src/share/classes/com/sun/xml/internal/ws/server/UnsupportedMediaException.java ! src/share/classes/com/sun/xml/internal/ws/server/WSDLGenResolver.java ! src/share/classes/com/sun/xml/internal/ws/server/WSDLPatcher.java + src/share/classes/com/sun/xml/internal/ws/server/WSEndpointImpl.java - src/share/classes/com/sun/xml/internal/ws/server/XMLEPTFactoryImpl.java ! src/share/classes/com/sun/xml/internal/ws/server/package-info.java + src/share/classes/com/sun/xml/internal/ws/server/provider/AsyncProviderInvokerTube.java + src/share/classes/com/sun/xml/internal/ws/server/provider/MessageProviderArgumentBuilder.java + src/share/classes/com/sun/xml/internal/ws/server/provider/ProviderArgumentsBuilder.java + src/share/classes/com/sun/xml/internal/ws/server/provider/ProviderEndpointModel.java + src/share/classes/com/sun/xml/internal/ws/server/provider/ProviderInvokerTube.java - src/share/classes/com/sun/xml/internal/ws/server/provider/ProviderModel.java - src/share/classes/com/sun/xml/internal/ws/server/provider/ProviderPeptTie.java + src/share/classes/com/sun/xml/internal/ws/server/provider/SOAPProviderArgumentBuilder.java + src/share/classes/com/sun/xml/internal/ws/server/provider/SyncProviderInvokerTube.java + src/share/classes/com/sun/xml/internal/ws/server/provider/XMLProviderArgumentBuilder.java + src/share/classes/com/sun/xml/internal/ws/server/sei/ActionBasedDispatcher.java + src/share/classes/com/sun/xml/internal/ws/server/sei/DispatchException.java + src/share/classes/com/sun/xml/internal/ws/server/sei/EndpointArgumentsBuilder.java + src/share/classes/com/sun/xml/internal/ws/server/sei/EndpointMethodDispatcher.java + src/share/classes/com/sun/xml/internal/ws/server/sei/EndpointMethodDispatcherGetter.java + src/share/classes/com/sun/xml/internal/ws/server/sei/EndpointMethodHandler.java + src/share/classes/com/sun/xml/internal/ws/server/sei/EndpointResponseMessageBuilder.java + src/share/classes/com/sun/xml/internal/ws/server/sei/EndpointValueSetter.java + src/share/classes/com/sun/xml/internal/ws/server/sei/MessageFiller.java + src/share/classes/com/sun/xml/internal/ws/server/sei/PayloadQNameBasedDispatcher.java + src/share/classes/com/sun/xml/internal/ws/server/sei/SEIInvokerTube.java + src/share/classes/com/sun/xml/internal/ws/server/sei/ValueGetter.java ! src/share/classes/com/sun/xml/internal/ws/spi/ProviderImpl.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/Binding.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/ClientTransportFactory.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/ClientTransportFactoryTypes.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/InternalSoapEncoder.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/Invoker.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/MessageContext.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/MtomCallback.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/RuntimeEndpointInfo.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/SOAPMessageContext.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/StubBase.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/SystemHandlerDelegate.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/SystemHandlerDelegateFactory.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/Tie.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/WSConnection.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/WebServiceContext.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/package-info.java ! src/share/classes/com/sun/xml/internal/ws/streaming/Attributes.java ! src/share/classes/com/sun/xml/internal/ws/streaming/DOMStreamReader.java ! src/share/classes/com/sun/xml/internal/ws/streaming/PrefixFactory.java ! src/share/classes/com/sun/xml/internal/ws/streaming/PrefixFactoryImpl.java ! src/share/classes/com/sun/xml/internal/ws/streaming/SourceReaderFactory.java ! src/share/classes/com/sun/xml/internal/ws/streaming/TidyXMLStreamReader.java ! src/share/classes/com/sun/xml/internal/ws/streaming/XMLReader.java ! src/share/classes/com/sun/xml/internal/ws/streaming/XMLReaderException.java ! src/share/classes/com/sun/xml/internal/ws/streaming/XMLStreamReaderException.java - src/share/classes/com/sun/xml/internal/ws/streaming/XMLStreamReaderFactory.java ! src/share/classes/com/sun/xml/internal/ws/streaming/XMLStreamReaderUtil.java ! src/share/classes/com/sun/xml/internal/ws/streaming/XMLStreamWriterException.java - src/share/classes/com/sun/xml/internal/ws/streaming/XMLStreamWriterFactory.java ! src/share/classes/com/sun/xml/internal/ws/streaming/XMLStreamWriterUtil.java + src/share/classes/com/sun/xml/internal/ws/transport/DeferredTransportPipe.java ! src/share/classes/com/sun/xml/internal/ws/transport/Headers.java - src/share/classes/com/sun/xml/internal/ws/transport/WSConnectionImpl.java + src/share/classes/com/sun/xml/internal/ws/transport/http/DeploymentDescriptorParser.java + src/share/classes/com/sun/xml/internal/ws/transport/http/HttpAdapter.java + src/share/classes/com/sun/xml/internal/ws/transport/http/HttpAdapterList.java + src/share/classes/com/sun/xml/internal/ws/transport/http/ResourceLoader.java + src/share/classes/com/sun/xml/internal/ws/transport/http/WSHTTPConnection.java ! src/share/classes/com/sun/xml/internal/ws/transport/http/client/CookieJar.java ! src/share/classes/com/sun/xml/internal/ws/transport/http/client/HttpClientTransport.java - src/share/classes/com/sun/xml/internal/ws/transport/http/client/HttpClientTransportFactory.java ! src/share/classes/com/sun/xml/internal/ws/transport/http/client/HttpCookie.java + src/share/classes/com/sun/xml/internal/ws/transport/http/client/HttpResponseProperties.java + src/share/classes/com/sun/xml/internal/ws/transport/http/client/HttpTransportPipe.java ! src/share/classes/com/sun/xml/internal/ws/transport/http/client/RfcDateParser.java - src/share/classes/com/sun/xml/internal/ws/transport/http/server/EndpointDocInfo.java - src/share/classes/com/sun/xml/internal/ws/transport/http/server/EndpointEntityResolver.java ! src/share/classes/com/sun/xml/internal/ws/transport/http/server/EndpointImpl.java ! src/share/classes/com/sun/xml/internal/ws/transport/http/server/HttpEndpoint.java ! src/share/classes/com/sun/xml/internal/ws/transport/http/server/ServerConnectionImpl.java ! src/share/classes/com/sun/xml/internal/ws/transport/http/server/ServerMgr.java ! src/share/classes/com/sun/xml/internal/ws/transport/http/server/WSHttpHandler.java - src/share/classes/com/sun/xml/internal/ws/transport/http/server/WebServiceContextImpl.java - src/share/classes/com/sun/xml/internal/ws/transport/local/LocalMessage.java - src/share/classes/com/sun/xml/internal/ws/transport/local/client/LocalClientTransport.java - src/share/classes/com/sun/xml/internal/ws/transport/local/client/LocalClientTransportFactory.java - src/share/classes/com/sun/xml/internal/ws/transport/local/server/LocalConnectionImpl.java - src/share/classes/com/sun/xml/internal/ws/transport/local/server/LocalWSContextImpl.java ! src/share/classes/com/sun/xml/internal/ws/util/ASCIIUtility.java - src/share/classes/com/sun/xml/internal/ws/util/Base64Util.java ! src/share/classes/com/sun/xml/internal/ws/util/ByteArrayBuffer.java ! src/share/classes/com/sun/xml/internal/ws/util/ByteArrayDataSource.java + src/share/classes/com/sun/xml/internal/ws/util/CompletedFuture.java ! src/share/classes/com/sun/xml/internal/ws/util/Constants.java ! src/share/classes/com/sun/xml/internal/ws/util/DOMUtil.java ! src/share/classes/com/sun/xml/internal/ws/util/FastInfosetReflection.java ! src/share/classes/com/sun/xml/internal/ws/util/FastInfosetUtil.java ! src/share/classes/com/sun/xml/internal/ws/util/HandlerAnnotationInfo.java ! src/share/classes/com/sun/xml/internal/ws/util/HandlerAnnotationProcessor.java ! src/share/classes/com/sun/xml/internal/ws/util/JAXWSUtils.java - src/share/classes/com/sun/xml/internal/ws/util/MessageInfoUtil.java ! src/share/classes/com/sun/xml/internal/ws/util/NamespaceSupport.java + src/share/classes/com/sun/xml/internal/ws/util/NoCloseInputStream.java + src/share/classes/com/sun/xml/internal/ws/util/NoCloseOutputStream.java - src/share/classes/com/sun/xml/internal/ws/util/NullIterator.java + src/share/classes/com/sun/xml/internal/ws/util/Pool.java + src/share/classes/com/sun/xml/internal/ws/util/QNameMap.java + src/share/classes/com/sun/xml/internal/ws/util/ReadOnlyPropertyException.java ! src/share/classes/com/sun/xml/internal/ws/util/RuntimeVersion.java - src/share/classes/com/sun/xml/internal/ws/util/SOAPConnectionUtil.java - src/share/classes/com/sun/xml/internal/ws/util/SOAPUtil.java + src/share/classes/com/sun/xml/internal/ws/util/ServiceConfigurationError.java + src/share/classes/com/sun/xml/internal/ws/util/ServiceFinder.java ! src/share/classes/com/sun/xml/internal/ws/util/StringUtils.java - src/share/classes/com/sun/xml/internal/ws/util/SunStAXReflection.java ! src/share/classes/com/sun/xml/internal/ws/util/UtilException.java ! src/share/classes/com/sun/xml/internal/ws/util/Version.java ! src/share/classes/com/sun/xml/internal/ws/util/VersionUtil.java - src/share/classes/com/sun/xml/internal/ws/util/XMLConnectionUtil.java ! src/share/classes/com/sun/xml/internal/ws/util/exception/JAXWSExceptionBase.java + src/share/classes/com/sun/xml/internal/ws/util/exception/LocatableWebServiceException.java ! src/share/classes/com/sun/xml/internal/ws/util/localization/Localizable.java + src/share/classes/com/sun/xml/internal/ws/util/localization/LocalizableImpl.java ! src/share/classes/com/sun/xml/internal/ws/util/localization/LocalizableMessage.java ! src/share/classes/com/sun/xml/internal/ws/util/localization/LocalizableMessageFactory.java ! src/share/classes/com/sun/xml/internal/ws/util/localization/Localizer.java ! src/share/classes/com/sun/xml/internal/ws/util/localization/NullLocalizable.java + src/share/classes/com/sun/xml/internal/ws/util/pipe/DumpTube.java + src/share/classes/com/sun/xml/internal/ws/util/pipe/StandalonePipeAssembler.java + src/share/classes/com/sun/xml/internal/ws/util/pipe/StandaloneTubeAssembler.java ! src/share/classes/com/sun/xml/internal/ws/util/resources/Messages_en.properties ! src/share/classes/com/sun/xml/internal/ws/util/version.properties ! src/share/classes/com/sun/xml/internal/ws/util/xml/CDATA.java + src/share/classes/com/sun/xml/internal/ws/util/xml/ContentHandlerToXMLStreamWriter.java + src/share/classes/com/sun/xml/internal/ws/util/xml/DummyLocation.java ! src/share/classes/com/sun/xml/internal/ws/util/xml/NamedNodeMapIterator.java ! src/share/classes/com/sun/xml/internal/ws/util/xml/NodeListIterator.java + src/share/classes/com/sun/xml/internal/ws/util/xml/StAXResult.java ! src/share/classes/com/sun/xml/internal/ws/util/xml/StAXSource.java + src/share/classes/com/sun/xml/internal/ws/util/xml/XMLStreamReaderFilter.java - src/share/classes/com/sun/xml/internal/ws/util/xml/XMLStreamReaderToContentHandler.java + src/share/classes/com/sun/xml/internal/ws/util/xml/XMLStreamReaderToXMLStreamWriter.java + src/share/classes/com/sun/xml/internal/ws/util/xml/XMLStreamWriterFilter.java ! src/share/classes/com/sun/xml/internal/ws/util/xml/XmlUtil.java - src/share/classes/com/sun/xml/internal/ws/wsdl/WSDLContext.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/Binding.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/BindingOperation.java + src/share/classes/com/sun/xml/internal/ws/wsdl/parser/DelegatingParserExtension.java + src/share/classes/com/sun/xml/internal/ws/wsdl/parser/EntityResolverWrapper.java + src/share/classes/com/sun/xml/internal/ws/wsdl/parser/ErrorHandler.java + src/share/classes/com/sun/xml/internal/ws/wsdl/parser/FoolProofParserExtension.java + src/share/classes/com/sun/xml/internal/ws/wsdl/parser/InaccessibleWSDLException.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/parser/MIMEConstants.java + src/share/classes/com/sun/xml/internal/ws/wsdl/parser/MemberSubmissionAddressingWSDLParserExtension.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/Message.java + src/share/classes/com/sun/xml/internal/ws/wsdl/parser/MexEntityResolver.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/parser/ParserUtil.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/Part.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/Port.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/PortType.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/PortTypeOperation.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/parser/RuntimeWSDLParser.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/parser/SOAPConstants.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/Service.java + src/share/classes/com/sun/xml/internal/ws/wsdl/parser/W3CAddressingWSDLParserExtension.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/parser/WSDLConstants.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/WSDLDocument.java + src/share/classes/com/sun/xml/internal/ws/wsdl/parser/WSDLParserExtensionContextImpl.java + src/share/classes/com/sun/xml/internal/ws/wsdl/parser/WSDLParserExtensionFacade.java + src/share/classes/com/sun/xml/internal/ws/wsdl/writer/UsingAddressing.java + src/share/classes/com/sun/xml/internal/ws/wsdl/writer/W3CAddressingWSDLGeneratorExtension.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/WSDLGenerator.java + src/share/classes/com/sun/xml/internal/ws/wsdl/writer/WSDLGeneratorExtensionFacade.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/WSDLOutputResolver.java + src/share/classes/com/sun/xml/internal/ws/wsdl/writer/WSDLResolver.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Binding.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/BindingOperationType.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Definitions.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Documented.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Fault.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/FaultType.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Import.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Message.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/OpenAtts.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Operation.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/ParamType.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Part.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Port.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/PortType.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Service.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/StartWithExtensionsType.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Types.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/http/Address.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/http/Binding.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/http/Operation.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/http/package-info.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/package-info.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap/Body.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap/BodyType.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap/Header.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap/HeaderFault.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap/SOAPAddress.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap/SOAPBinding.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap/SOAPFault.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap/SOAPOperation.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap/package-info.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap12/Body.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap12/BodyType.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap12/Header.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap12/HeaderFault.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap12/SOAPAddress.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap12/SOAPBinding.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap12/SOAPFault.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap12/SOAPOperation.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap12/package-info.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/xsd/Import.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/xsd/Schema.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/xsd/package-info.java ! src/share/classes/com/sun/xml/internal/xsom/ForeignAttributes.java + src/share/classes/com/sun/xml/internal/xsom/SCD.java ! src/share/classes/com/sun/xml/internal/xsom/XSAnnotation.java ! src/share/classes/com/sun/xml/internal/xsom/XSAttContainer.java ! src/share/classes/com/sun/xml/internal/xsom/XSAttGroupDecl.java ! src/share/classes/com/sun/xml/internal/xsom/XSAttributeDecl.java ! src/share/classes/com/sun/xml/internal/xsom/XSAttributeUse.java ! src/share/classes/com/sun/xml/internal/xsom/XSComplexType.java ! src/share/classes/com/sun/xml/internal/xsom/XSComponent.java ! src/share/classes/com/sun/xml/internal/xsom/XSContentType.java ! src/share/classes/com/sun/xml/internal/xsom/XSDeclaration.java ! src/share/classes/com/sun/xml/internal/xsom/XSElementDecl.java ! src/share/classes/com/sun/xml/internal/xsom/XSFacet.java ! src/share/classes/com/sun/xml/internal/xsom/XSIdentityConstraint.java ! src/share/classes/com/sun/xml/internal/xsom/XSListSimpleType.java ! src/share/classes/com/sun/xml/internal/xsom/XSModelGroup.java ! src/share/classes/com/sun/xml/internal/xsom/XSModelGroupDecl.java ! src/share/classes/com/sun/xml/internal/xsom/XSNotation.java ! src/share/classes/com/sun/xml/internal/xsom/XSParticle.java ! src/share/classes/com/sun/xml/internal/xsom/XSRestrictionSimpleType.java ! src/share/classes/com/sun/xml/internal/xsom/XSSchema.java ! src/share/classes/com/sun/xml/internal/xsom/XSSchemaSet.java ! src/share/classes/com/sun/xml/internal/xsom/XSSimpleType.java ! src/share/classes/com/sun/xml/internal/xsom/XSTerm.java ! src/share/classes/com/sun/xml/internal/xsom/XSType.java ! src/share/classes/com/sun/xml/internal/xsom/XSUnionSimpleType.java ! src/share/classes/com/sun/xml/internal/xsom/XSVariety.java ! src/share/classes/com/sun/xml/internal/xsom/XSWildcard.java ! src/share/classes/com/sun/xml/internal/xsom/XSXPath.java ! src/share/classes/com/sun/xml/internal/xsom/XmlString.java ! src/share/classes/com/sun/xml/internal/xsom/impl/AnnotationImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/AttGroupDeclImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/AttributeDeclImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/AttributeUseImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/AttributesHolder.java ! src/share/classes/com/sun/xml/internal/xsom/impl/ComplexTypeImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/ComponentImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/Const.java ! src/share/classes/com/sun/xml/internal/xsom/impl/ContentTypeImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/DeclarationImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/ElementDecl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/EmptyImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/FacetImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/ForeignAttributesImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/IdentityConstraintImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/ListSimpleTypeImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/ModelGroupDeclImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/ModelGroupImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/NotationImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/ParticleImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/Ref.java ! src/share/classes/com/sun/xml/internal/xsom/impl/RestrictionSimpleTypeImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/SchemaImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/SchemaSetImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/SimpleTypeImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/UName.java ! src/share/classes/com/sun/xml/internal/xsom/impl/UnionSimpleTypeImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/Util.java ! src/share/classes/com/sun/xml/internal/xsom/impl/WildcardImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/XPathImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/package.html + src/share/classes/com/sun/xml/internal/xsom/impl/parser/BaseContentRef.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/DefaultAnnotationParser.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/DelayedRef.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/Messages.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/Messages.properties ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/Messages_ja.properties ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/NGCCRuntimeEx.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/ParserContext.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/Patch.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/PatcherManager.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/SAXParserFactoryAdaptor.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/SchemaDocumentImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/SubstGroupBaseTypeRef.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/datatypes.xsd ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/package.html ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/AttributesImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/NGCCEventReceiver.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/NGCCEventSource.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/NGCCHandler.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/NGCCInterleaveFilter.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/NGCCRuntime.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/Schema.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/SimpleType_List.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/SimpleType_Restriction.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/SimpleType_Union.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/annotation.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/attributeDeclBody.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/attributeGroupDecl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/attributeUses.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/complexType.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/complexType_complexContent_body.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/elementDeclBody.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/erSet.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/ersSet.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/facet.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/foreignAttributes.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/group.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/identityConstraint.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/importDecl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/includeDecl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/modelGroupBody.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/notation.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/occurs.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/particle.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/qname.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/qualification.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/redefine.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/simpleType.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/wildcardBody.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/xpath.java + src/share/classes/com/sun/xml/internal/xsom/impl/scd/AbstractAxisImpl.java + src/share/classes/com/sun/xml/internal/xsom/impl/scd/Axis.java + src/share/classes/com/sun/xml/internal/xsom/impl/scd/Iterators.java + src/share/classes/com/sun/xml/internal/xsom/impl/scd/ParseException.java + src/share/classes/com/sun/xml/internal/xsom/impl/scd/SCDImpl.java + src/share/classes/com/sun/xml/internal/xsom/impl/scd/SCDParser.java + src/share/classes/com/sun/xml/internal/xsom/impl/scd/SCDParserConstants.java + src/share/classes/com/sun/xml/internal/xsom/impl/scd/SCDParserTokenManager.java + src/share/classes/com/sun/xml/internal/xsom/impl/scd/SimpleCharStream.java + src/share/classes/com/sun/xml/internal/xsom/impl/scd/Step.java + src/share/classes/com/sun/xml/internal/xsom/impl/scd/Token.java + src/share/classes/com/sun/xml/internal/xsom/impl/scd/TokenMgrError.java - src/share/classes/com/sun/xml/internal/xsom/impl/util/ConcatIterator.java ! src/share/classes/com/sun/xml/internal/xsom/impl/util/DraconianErrorHandler.java - src/share/classes/com/sun/xml/internal/xsom/impl/util/FilterIterator.java ! src/share/classes/com/sun/xml/internal/xsom/impl/util/ResourceEntityResolver.java ! src/share/classes/com/sun/xml/internal/xsom/impl/util/SchemaTreeTraverser.java ! src/share/classes/com/sun/xml/internal/xsom/impl/util/SchemaWriter.java ! src/share/classes/com/sun/xml/internal/xsom/impl/util/Uri.java ! src/share/classes/com/sun/xml/internal/xsom/package.html ! src/share/classes/com/sun/xml/internal/xsom/parser/AnnotationContext.java ! src/share/classes/com/sun/xml/internal/xsom/parser/AnnotationParser.java ! src/share/classes/com/sun/xml/internal/xsom/parser/AnnotationParserFactory.java ! src/share/classes/com/sun/xml/internal/xsom/parser/JAXPParser.java ! src/share/classes/com/sun/xml/internal/xsom/parser/SchemaDocument.java ! src/share/classes/com/sun/xml/internal/xsom/parser/XMLParser.java ! src/share/classes/com/sun/xml/internal/xsom/parser/XSOMParser.java ! src/share/classes/com/sun/xml/internal/xsom/parser/package.html ! src/share/classes/com/sun/xml/internal/xsom/util/ComponentNameFunction.java + src/share/classes/com/sun/xml/internal/xsom/util/DeferedCollection.java ! src/share/classes/com/sun/xml/internal/xsom/util/DomAnnotationParserFactory.java ! src/share/classes/com/sun/xml/internal/xsom/util/NameGetter.java ! src/share/classes/com/sun/xml/internal/xsom/util/NameGetter.properties ! src/share/classes/com/sun/xml/internal/xsom/util/SimpleTypeSet.java ! src/share/classes/com/sun/xml/internal/xsom/util/TypeClosure.java ! src/share/classes/com/sun/xml/internal/xsom/util/TypeSet.java ! src/share/classes/com/sun/xml/internal/xsom/util/XSFinder.java ! src/share/classes/com/sun/xml/internal/xsom/util/XSFunctionFilter.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSContentTypeFunction.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSContentTypeVisitor.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSFunction.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSSimpleTypeFunction.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSSimpleTypeVisitor.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSTermFunction.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSTermFunctionWithParam.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSTermVisitor.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSVisitor.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSWildcardFunction.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSWildcardVisitor.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/package.html ! src/share/classes/javax/activation/ActivationDataFlavor.java ! src/share/classes/javax/activation/MailcapCommandMap.java ! src/share/classes/javax/activation/MimeType.java ! src/share/classes/javax/activation/MimeTypeParameterList.java ! src/share/classes/javax/xml/bind/ContextFinder.java + src/share/classes/javax/xml/bind/DataBindingException.java ! src/share/classes/javax/xml/bind/DatatypeConverter.java + src/share/classes/javax/xml/bind/DatatypeConverterImpl.java ! src/share/classes/javax/xml/bind/DatatypeConverterInterface.java ! src/share/classes/javax/xml/bind/Element.java + src/share/classes/javax/xml/bind/GetPropertyAction.java + src/share/classes/javax/xml/bind/JAXB.java ! src/share/classes/javax/xml/bind/JAXBContext.java ! src/share/classes/javax/xml/bind/JAXBElement.java ! src/share/classes/javax/xml/bind/JAXBException.java ! src/share/classes/javax/xml/bind/MarshalException.java ! src/share/classes/javax/xml/bind/Marshaller.java ! src/share/classes/javax/xml/bind/Messages.properties ! src/share/classes/javax/xml/bind/NotIdentifiableEvent.java ! src/share/classes/javax/xml/bind/ParseConversionEvent.java ! src/share/classes/javax/xml/bind/PrintConversionEvent.java ! src/share/classes/javax/xml/bind/PropertyException.java ! src/share/classes/javax/xml/bind/SchemaOutputResolver.java ! src/share/classes/javax/xml/bind/TypeConstraintException.java ! src/share/classes/javax/xml/bind/UnmarshalException.java ! src/share/classes/javax/xml/bind/Unmarshaller.java ! src/share/classes/javax/xml/bind/UnmarshallerHandler.java ! src/share/classes/javax/xml/bind/ValidationEvent.java ! src/share/classes/javax/xml/bind/ValidationEventHandler.java ! src/share/classes/javax/xml/bind/ValidationEventLocator.java ! src/share/classes/javax/xml/bind/ValidationException.java ! src/share/classes/javax/xml/bind/Validator.java + src/share/classes/javax/xml/bind/WhiteSpaceProcessor.java ! src/share/classes/javax/xml/bind/annotation/XmlAccessOrder.java ! src/share/classes/javax/xml/bind/annotation/XmlAccessType.java ! src/share/classes/javax/xml/bind/annotation/XmlAccessorOrder.java ! src/share/classes/javax/xml/bind/annotation/XmlAccessorType.java ! src/share/classes/javax/xml/bind/annotation/XmlAttribute.java ! src/share/classes/javax/xml/bind/annotation/XmlElement.java ! src/share/classes/javax/xml/bind/annotation/XmlElementRef.java ! src/share/classes/javax/xml/bind/annotation/XmlElementWrapper.java ! src/share/classes/javax/xml/bind/annotation/XmlID.java ! src/share/classes/javax/xml/bind/annotation/XmlIDREF.java ! src/share/classes/javax/xml/bind/annotation/XmlList.java ! src/share/classes/javax/xml/bind/annotation/XmlNs.java ! src/share/classes/javax/xml/bind/annotation/XmlNsForm.java ! src/share/classes/javax/xml/bind/annotation/XmlSchema.java + src/share/classes/javax/xml/bind/annotation/XmlSeeAlso.java ! src/share/classes/javax/xml/bind/annotation/XmlTransient.java ! src/share/classes/javax/xml/bind/annotation/XmlType.java ! src/share/classes/javax/xml/bind/annotation/XmlValue.java ! src/share/classes/javax/xml/bind/annotation/adapters/HexBinaryAdapter.java ! src/share/classes/javax/xml/bind/annotation/adapters/NormalizedStringAdapter.java ! src/share/classes/javax/xml/bind/annotation/adapters/XmlAdapter.java ! src/share/classes/javax/xml/bind/annotation/adapters/XmlJavaTypeAdapter.java ! src/share/classes/javax/xml/bind/annotation/adapters/package.html ! src/share/classes/javax/xml/bind/annotation/package.html ! src/share/classes/javax/xml/bind/attachment/AttachmentMarshaller.java ! src/share/classes/javax/xml/bind/attachment/AttachmentUnmarshaller.java ! src/share/classes/javax/xml/bind/attachment/package.html ! src/share/classes/javax/xml/bind/helpers/AbstractMarshallerImpl.java ! src/share/classes/javax/xml/bind/helpers/AbstractUnmarshallerImpl.java ! src/share/classes/javax/xml/bind/helpers/DefaultValidationEventHandler.java ! src/share/classes/javax/xml/bind/helpers/Messages.properties ! src/share/classes/javax/xml/bind/helpers/NotIdentifiableEventImpl.java ! src/share/classes/javax/xml/bind/helpers/ParseConversionEventImpl.java ! src/share/classes/javax/xml/bind/helpers/PrintConversionEventImpl.java ! src/share/classes/javax/xml/bind/helpers/ValidationEventImpl.java ! src/share/classes/javax/xml/bind/helpers/ValidationEventLocatorImpl.java ! src/share/classes/javax/xml/bind/helpers/package.html ! src/share/classes/javax/xml/bind/package.html ! src/share/classes/javax/xml/bind/util/Messages.properties ! src/share/classes/javax/xml/bind/util/ValidationEventCollector.java ! src/share/classes/javax/xml/bind/util/package.html ! src/share/classes/javax/xml/soap/AttachmentPart.java ! src/share/classes/javax/xml/soap/Detail.java ! src/share/classes/javax/xml/soap/DetailEntry.java ! src/share/classes/javax/xml/soap/FactoryFinder.java ! src/share/classes/javax/xml/soap/MessageFactory.java ! src/share/classes/javax/xml/soap/MimeHeader.java ! src/share/classes/javax/xml/soap/MimeHeaders.java ! src/share/classes/javax/xml/soap/Name.java ! src/share/classes/javax/xml/soap/Node.java ! src/share/classes/javax/xml/soap/SAAJMetaFactory.java ! src/share/classes/javax/xml/soap/SAAJResult.java ! src/share/classes/javax/xml/soap/SOAPBody.java ! src/share/classes/javax/xml/soap/SOAPBodyElement.java ! src/share/classes/javax/xml/soap/SOAPConnection.java ! src/share/classes/javax/xml/soap/SOAPConnectionFactory.java ! src/share/classes/javax/xml/soap/SOAPConstants.java ! src/share/classes/javax/xml/soap/SOAPElement.java ! src/share/classes/javax/xml/soap/SOAPElementFactory.java ! src/share/classes/javax/xml/soap/SOAPEnvelope.java ! src/share/classes/javax/xml/soap/SOAPException.java ! src/share/classes/javax/xml/soap/SOAPFactory.java ! src/share/classes/javax/xml/soap/SOAPFault.java ! src/share/classes/javax/xml/soap/SOAPFaultElement.java ! src/share/classes/javax/xml/soap/SOAPHeader.java ! src/share/classes/javax/xml/soap/SOAPHeaderElement.java ! src/share/classes/javax/xml/soap/SOAPMessage.java ! src/share/classes/javax/xml/soap/SOAPPart.java ! src/share/classes/javax/xml/soap/Text.java ! src/share/classes/javax/xml/soap/package.html + src/share/classes/javax/xml/ws/Action.java ! src/share/classes/javax/xml/ws/AsyncHandler.java ! src/share/classes/javax/xml/ws/Binding.java ! src/share/classes/javax/xml/ws/BindingProvider.java ! src/share/classes/javax/xml/ws/BindingType.java ! src/share/classes/javax/xml/ws/Dispatch.java ! src/share/classes/javax/xml/ws/Endpoint.java + src/share/classes/javax/xml/ws/EndpointReference.java + src/share/classes/javax/xml/ws/FaultAction.java ! src/share/classes/javax/xml/ws/Holder.java ! src/share/classes/javax/xml/ws/LogicalMessage.java ! src/share/classes/javax/xml/ws/ProtocolException.java ! src/share/classes/javax/xml/ws/Provider.java ! src/share/classes/javax/xml/ws/RequestWrapper.java + src/share/classes/javax/xml/ws/RespectBinding.java + src/share/classes/javax/xml/ws/RespectBindingFeature.java ! src/share/classes/javax/xml/ws/Response.java ! src/share/classes/javax/xml/ws/ResponseWrapper.java ! src/share/classes/javax/xml/ws/Service.java ! src/share/classes/javax/xml/ws/ServiceMode.java ! src/share/classes/javax/xml/ws/WebEndpoint.java ! src/share/classes/javax/xml/ws/WebFault.java ! src/share/classes/javax/xml/ws/WebServiceClient.java ! src/share/classes/javax/xml/ws/WebServiceContext.java ! src/share/classes/javax/xml/ws/WebServiceException.java + src/share/classes/javax/xml/ws/WebServiceFeature.java ! src/share/classes/javax/xml/ws/WebServicePermission.java ! src/share/classes/javax/xml/ws/WebServiceRef.java ! src/share/classes/javax/xml/ws/WebServiceRefs.java ! src/share/classes/javax/xml/ws/handler/HandlerResolver.java ! src/share/classes/javax/xml/ws/handler/LogicalMessageContext.java ! src/share/classes/javax/xml/ws/handler/MessageContext.java ! src/share/classes/javax/xml/ws/handler/PortInfo.java ! src/share/classes/javax/xml/ws/handler/package.html ! src/share/classes/javax/xml/ws/handler/soap/SOAPHandler.java ! src/share/classes/javax/xml/ws/handler/soap/SOAPMessageContext.java ! src/share/classes/javax/xml/ws/handler/soap/package.html ! src/share/classes/javax/xml/ws/http/package.html ! src/share/classes/javax/xml/ws/package.html + src/share/classes/javax/xml/ws/soap/Addressing.java + src/share/classes/javax/xml/ws/soap/AddressingFeature.java + src/share/classes/javax/xml/ws/soap/MTOM.java + src/share/classes/javax/xml/ws/soap/MTOMFeature.java ! src/share/classes/javax/xml/ws/soap/SOAPBinding.java ! src/share/classes/javax/xml/ws/soap/SOAPFaultException.java ! src/share/classes/javax/xml/ws/soap/package.html ! src/share/classes/javax/xml/ws/spi/FactoryFinder.java ! src/share/classes/javax/xml/ws/spi/Provider.java ! src/share/classes/javax/xml/ws/spi/ServiceDelegate.java + src/share/classes/javax/xml/ws/spi/WebServiceFeatureAnnotation.java ! src/share/classes/javax/xml/ws/spi/package.html + src/share/classes/javax/xml/ws/wsaddressing/W3CEndpointReference.java + src/share/classes/javax/xml/ws/wsaddressing/W3CEndpointReferenceBuilder.java + src/share/classes/javax/xml/ws/wsaddressing/package-info.java + src/share/classes/javax/xml/ws/wsaddressing/package.html + src/share/classes/org/relaxng/datatype/Datatype.java + src/share/classes/org/relaxng/datatype/DatatypeBuilder.java + src/share/classes/org/relaxng/datatype/DatatypeException.java + src/share/classes/org/relaxng/datatype/DatatypeLibrary.java + src/share/classes/org/relaxng/datatype/DatatypeLibraryFactory.java + src/share/classes/org/relaxng/datatype/DatatypeStreamingValidator.java + src/share/classes/org/relaxng/datatype/ValidationContext.java + src/share/classes/org/relaxng/datatype/helpers/DatatypeLibraryLoader.java + src/share/classes/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.java + src/share/classes/org/relaxng/datatype/helpers/StreamingValidatorImpl.java Changeset: a88ad84027a0 Author: tbell Date: 2009-04-20 15:25 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/a88ad84027a0 Merge - make/jprt.config ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/UTF8XmlOutput.java Changeset: fdb6df80707e Author: tbell Date: 2009-04-23 21:31 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/fdb6df80707e Merge - src/share/classes/com/sun/tools/internal/txw2/AntErrorListener.java - src/share/classes/com/sun/tools/internal/txw2/ConsoleErrorReporter.java - src/share/classes/com/sun/tools/internal/txw2/ErrorListener.java - src/share/classes/com/sun/tools/internal/txw2/Main.java - src/share/classes/com/sun/tools/internal/txw2/NameUtil.java - src/share/classes/com/sun/tools/internal/txw2/RELAXNGLoader.java - src/share/classes/com/sun/tools/internal/txw2/SchemaBuilder.java - src/share/classes/com/sun/tools/internal/txw2/TxwOptions.java - src/share/classes/com/sun/tools/internal/txw2/TxwTask.java - src/share/classes/com/sun/tools/internal/txw2/XmlSchemaLoader.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/AnnotationsImpl.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/CommentListImpl.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/DataPatternBuilderImpl.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/DatatypeFactory.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/DivImpl.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/ElementAnnotationBuilderImpl.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/GrammarImpl.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/GrammarSectionImpl.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/SchemaBuilderImpl.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/package.html - src/share/classes/com/sun/tools/internal/txw2/builder/xsd/XmlSchemaBuilder.java - src/share/classes/com/sun/tools/internal/txw2/builder/xsd/package.html - src/share/classes/com/sun/tools/internal/txw2/model/Attribute.java - src/share/classes/com/sun/tools/internal/txw2/model/CycleIterator.java - src/share/classes/com/sun/tools/internal/txw2/model/Data.java - src/share/classes/com/sun/tools/internal/txw2/model/Define.java - src/share/classes/com/sun/tools/internal/txw2/model/Element.java - src/share/classes/com/sun/tools/internal/txw2/model/Empty.java - src/share/classes/com/sun/tools/internal/txw2/model/Grammar.java - src/share/classes/com/sun/tools/internal/txw2/model/Leaf.java - src/share/classes/com/sun/tools/internal/txw2/model/List.java - src/share/classes/com/sun/tools/internal/txw2/model/Node.java - src/share/classes/com/sun/tools/internal/txw2/model/NodeSet.java - src/share/classes/com/sun/tools/internal/txw2/model/Ref.java - src/share/classes/com/sun/tools/internal/txw2/model/Text.java - src/share/classes/com/sun/tools/internal/txw2/model/Value.java - src/share/classes/com/sun/tools/internal/txw2/model/WriterNode.java - src/share/classes/com/sun/tools/internal/txw2/model/XmlNode.java - src/share/classes/com/sun/tools/internal/txw2/model/prop/AttributeProp.java - src/share/classes/com/sun/tools/internal/txw2/model/prop/ElementProp.java - src/share/classes/com/sun/tools/internal/txw2/model/prop/LeafElementProp.java - src/share/classes/com/sun/tools/internal/txw2/model/prop/Prop.java - src/share/classes/com/sun/tools/internal/txw2/model/prop/ValueProp.java - src/share/classes/com/sun/tools/internal/txw2/model/prop/XmlItemProp.java - src/share/classes/com/sun/tools/internal/ws/processor/Processor.java - src/share/classes/com/sun/tools/internal/ws/processor/ProcessorAction.java - src/share/classes/com/sun/tools/internal/ws/processor/ProcessorActionVersion.java - src/share/classes/com/sun/tools/internal/ws/processor/ProcessorConstants.java - src/share/classes/com/sun/tools/internal/ws/processor/ProcessorNotificationListener.java - src/share/classes/com/sun/tools/internal/ws/processor/ProcessorOptions.java - src/share/classes/com/sun/tools/internal/ws/processor/config/ClassModelInfo.java - src/share/classes/com/sun/tools/internal/ws/processor/config/Configuration.java - src/share/classes/com/sun/tools/internal/ws/processor/config/ConfigurationException.java - src/share/classes/com/sun/tools/internal/ws/processor/config/HandlerChainInfo.java - src/share/classes/com/sun/tools/internal/ws/processor/config/HandlerInfo.java - src/share/classes/com/sun/tools/internal/ws/processor/config/ModelInfo.java - src/share/classes/com/sun/tools/internal/ws/processor/config/WSDLModelInfo.java - src/share/classes/com/sun/tools/internal/ws/processor/config/parser/ClassModelParser.java - src/share/classes/com/sun/tools/internal/ws/processor/config/parser/CustomizationParser.java - src/share/classes/com/sun/tools/internal/ws/processor/config/parser/InputParser.java - src/share/classes/com/sun/tools/internal/ws/processor/config/parser/JAXWSBindingInfoParser.java - src/share/classes/com/sun/tools/internal/ws/processor/config/parser/ParserUtil.java - src/share/classes/com/sun/tools/internal/ws/processor/config/parser/Reader.java - src/share/classes/com/sun/tools/internal/ws/processor/generator/JAXBTypeGenerator.java - src/share/classes/com/sun/tools/internal/ws/processor/generator/SimpleToBoxedUtil.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/ModelerUtils.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceReferenceCollector.java - src/share/classes/com/sun/tools/internal/ws/processor/util/ClientProcessorEnvironment.java - src/share/classes/com/sun/tools/internal/ws/processor/util/GeneratedFileInfo.java - src/share/classes/com/sun/tools/internal/ws/processor/util/ProcessorEnvironment.java - src/share/classes/com/sun/tools/internal/ws/processor/util/ProcessorEnvironmentBase.java - src/share/classes/com/sun/tools/internal/ws/util/JAXWSClassFactory.java - src/share/classes/com/sun/tools/internal/ws/util/JavaCompilerHelper.java - src/share/classes/com/sun/tools/internal/ws/util/MapBase.java - src/share/classes/com/sun/tools/internal/ws/util/ToolBase.java - src/share/classes/com/sun/tools/internal/ws/util/xml/NodeListIterator.java - src/share/classes/com/sun/tools/internal/ws/util/xml/NullEntityResolver.java - src/share/classes/com/sun/tools/internal/ws/util/xml/PrettyPrintingXmlWriter.java - src/share/classes/com/sun/tools/internal/ws/util/xml/XmlWriter.java - src/share/classes/com/sun/tools/internal/ws/wscompile/ActionConstants.java - src/share/classes/com/sun/tools/internal/ws/wscompile/CompileTool.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/schema/BuiltInTypes.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/schema/Schema.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/schema/SchemaAttribute.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/schema/SchemaDocument.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/schema/SchemaElement.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/schema/SchemaEntity.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/Extensible.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/Extension.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/ParserContext.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/WriterContext.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/ExtensionHandler.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/ExtensionHandlerBase.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/SchemaExtensionHandler.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/SchemaParser.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/SchemaWriter.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/WSDLWriter.java - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/DOM4JLocator.java - src/share/classes/com/sun/tools/internal/xjc/util/XMLStreamReaderToContentHandler.java - src/share/classes/com/sun/xml/internal/bind/v2/doc-files/packages.png - src/share/classes/com/sun/xml/internal/bind/v2/doc-files/packages.vsd - src/share/classes/com/sun/xml/internal/bind/v2/doc-files/readme.txt - src/share/classes/com/sun/xml/internal/ws/binding/http/HTTPBindingImpl.java - src/share/classes/com/sun/xml/internal/ws/binding/soap/SOAPBindingImpl.java - src/share/classes/com/sun/xml/internal/ws/client/AsyncHandlerService.java - src/share/classes/com/sun/xml/internal/ws/client/ClientConfigurationException.java - src/share/classes/com/sun/xml/internal/ws/client/ContactInfoBase.java - src/share/classes/com/sun/xml/internal/ws/client/ContactInfoListImpl.java - src/share/classes/com/sun/xml/internal/ws/client/ContactInfoListIteratorBase.java - src/share/classes/com/sun/xml/internal/ws/client/ContextMap.java - src/share/classes/com/sun/xml/internal/ws/client/EndpointIFBase.java - src/share/classes/com/sun/xml/internal/ws/client/EndpointIFContext.java - src/share/classes/com/sun/xml/internal/ws/client/EndpointIFInvocationHandler.java - src/share/classes/com/sun/xml/internal/ws/client/InternalBindingProvider.java - src/share/classes/com/sun/xml/internal/ws/client/PortInfoBase.java - src/share/classes/com/sun/xml/internal/ws/client/ServiceContext.java - src/share/classes/com/sun/xml/internal/ws/client/ServiceContextBuilder.java - src/share/classes/com/sun/xml/internal/ws/client/WSFuture.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/DispatchBase.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/DispatchContext.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/ResponseImpl.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/impl/DispatchContactInfoList.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/impl/DispatchDelegate.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/impl/encoding/DispatchSerializer.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/impl/encoding/DispatchUtil.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/impl/protocol/MessageDispatcherHelper.java - src/share/classes/com/sun/xml/internal/ws/encoding/EncoderDecoderBase.java - src/share/classes/com/sun/xml/internal/ws/encoding/JAXWSAttachmentMarshaller.java - src/share/classes/com/sun/xml/internal/ws/encoding/JAXWSAttachmentUnmarshaller.java - src/share/classes/com/sun/xml/internal/ws/encoding/internal/InternalEncoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/jaxb/JAXBBeanInfo.java - src/share/classes/com/sun/xml/internal/ws/encoding/jaxb/JAXBBridgeInfo.java - src/share/classes/com/sun/xml/internal/ws/encoding/jaxb/JAXBTypeSerializer.java - src/share/classes/com/sun/xml/internal/ws/encoding/jaxb/RpcLitPayload.java - src/share/classes/com/sun/xml/internal/ws/encoding/jaxb/RpcLitPayloadSerializer.java - src/share/classes/com/sun/xml/internal/ws/encoding/simpletype/EncoderUtils.java - src/share/classes/com/sun/xml/internal/ws/encoding/simpletype/SimpleTypeConstants.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/ClientEncoderDecoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/EncoderDecoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/SOAPDecoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/SOAPEPTFactory.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/SOAPEncoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/SOAPVersion.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/ServerEncoderDecoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/client/SOAP12XMLDecoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/client/SOAP12XMLEncoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/client/SOAPXMLDecoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/client/SOAPXMLEncoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/internal/AttachmentBlock.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/internal/BodyBlock.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/internal/DelegateBase.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/internal/HeaderBlock.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/internal/InternalMessage.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/internal/MessageBlock.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/internal/MessageInfoBase.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/internal/SOAP12NotUnderstoodHeaderBlock.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/message/FaultCode.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/message/FaultCodeEnum.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/message/FaultReason.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/message/FaultReasonText.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/message/FaultSubcode.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/message/SOAP12FaultInfo.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/message/SOAPFaultInfo.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/message/SOAPMsgCreateException.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/message/SOAPMsgFactoryCreateException.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/server/ProviderSED.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/server/SOAP12XMLDecoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/server/SOAP12XMLEncoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/server/SOAPXMLDecoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/server/SOAPXMLEncoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/xml/XMLDecoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/xml/XMLEPTFactory.java - src/share/classes/com/sun/xml/internal/ws/encoding/xml/XMLEncoder.java - src/share/classes/com/sun/xml/internal/ws/handler/HandlerChainCaller.java - src/share/classes/com/sun/xml/internal/ws/handler/HandlerContext.java - src/share/classes/com/sun/xml/internal/ws/handler/HandlerResolverImpl.java - src/share/classes/com/sun/xml/internal/ws/handler/MessageContextUtil.java - src/share/classes/com/sun/xml/internal/ws/handler/SHDSOAPMessageContext.java - src/share/classes/com/sun/xml/internal/ws/handler/SOAPHandlerContext.java - src/share/classes/com/sun/xml/internal/ws/handler/XMLHandlerContext.java - src/share/classes/com/sun/xml/internal/ws/handler/XMLLogicalMessageContextImpl.java - src/share/classes/com/sun/xml/internal/ws/handler/XMLLogicalMessageImpl.java - src/share/classes/com/sun/xml/internal/ws/handler/package-info.java - src/share/classes/com/sun/xml/internal/ws/model/CheckedException.java - src/share/classes/com/sun/xml/internal/ws/model/ExceptionType.java - src/share/classes/com/sun/xml/internal/ws/model/JavaMethod.java - src/share/classes/com/sun/xml/internal/ws/model/Mode.java - src/share/classes/com/sun/xml/internal/ws/model/Parameter.java - src/share/classes/com/sun/xml/internal/ws/model/ParameterBinding.java - src/share/classes/com/sun/xml/internal/ws/model/RuntimeModel.java - src/share/classes/com/sun/xml/internal/ws/model/soap/SOAPBinding.java - src/share/classes/com/sun/xml/internal/ws/model/soap/SOAPRuntimeModel.java - src/share/classes/com/sun/xml/internal/ws/model/soap/Style.java - src/share/classes/com/sun/xml/internal/ws/model/soap/Use.java - src/share/classes/com/sun/xml/internal/ws/modeler/RuntimeModeler.java - src/share/classes/com/sun/xml/internal/ws/modeler/RuntimeModelerException.java - src/share/classes/com/sun/xml/internal/ws/pept/Delegate.java - src/share/classes/com/sun/xml/internal/ws/pept/encoding/Decoder.java - src/share/classes/com/sun/xml/internal/ws/pept/encoding/Encoder.java - src/share/classes/com/sun/xml/internal/ws/pept/ept/Acceptor.java - src/share/classes/com/sun/xml/internal/ws/pept/ept/ContactInfo.java - src/share/classes/com/sun/xml/internal/ws/pept/ept/ContactInfoList.java - src/share/classes/com/sun/xml/internal/ws/pept/ept/ContactInfoListIterator.java - src/share/classes/com/sun/xml/internal/ws/pept/ept/EPTFactory.java - src/share/classes/com/sun/xml/internal/ws/pept/ept/MessageInfo.java - src/share/classes/com/sun/xml/internal/ws/pept/presentation/MessageStruct.java - src/share/classes/com/sun/xml/internal/ws/pept/presentation/Stub.java - src/share/classes/com/sun/xml/internal/ws/pept/presentation/TargetFinder.java - src/share/classes/com/sun/xml/internal/ws/pept/presentation/Tie.java - src/share/classes/com/sun/xml/internal/ws/pept/protocol/Interceptors.java - src/share/classes/com/sun/xml/internal/ws/pept/protocol/MessageDispatcher.java - src/share/classes/com/sun/xml/internal/ws/protocol/soap/client/SOAPMessageDispatcher.java - src/share/classes/com/sun/xml/internal/ws/protocol/soap/server/ProviderSOAPMD.java - src/share/classes/com/sun/xml/internal/ws/protocol/soap/server/SOAPMessageDispatcher.java - src/share/classes/com/sun/xml/internal/ws/protocol/xml/client/XMLMessageDispatcher.java - src/share/classes/com/sun/xml/internal/ws/protocol/xml/server/ProviderXMLMD.java - src/share/classes/com/sun/xml/internal/ws/protocol/xml/server/XMLMessageDispatcher.java - src/share/classes/com/sun/xml/internal/ws/server/AppMsgContextImpl.java - src/share/classes/com/sun/xml/internal/ws/server/DocInfo.java - src/share/classes/com/sun/xml/internal/ws/server/EPTFactoryBase.java - src/share/classes/com/sun/xml/internal/ws/server/EPTFactoryFactoryBase.java - src/share/classes/com/sun/xml/internal/ws/server/PeptTie.java - src/share/classes/com/sun/xml/internal/ws/server/RuntimeContext.java - src/share/classes/com/sun/xml/internal/ws/server/RuntimeEndpointInfo.java - src/share/classes/com/sun/xml/internal/ws/server/TargetFinderImpl.java - src/share/classes/com/sun/xml/internal/ws/server/Tie.java - src/share/classes/com/sun/xml/internal/ws/server/XMLEPTFactoryImpl.java - src/share/classes/com/sun/xml/internal/ws/server/provider/ProviderModel.java - src/share/classes/com/sun/xml/internal/ws/server/provider/ProviderPeptTie.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/Binding.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/ClientTransportFactory.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/ClientTransportFactoryTypes.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/InternalSoapEncoder.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/Invoker.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/MessageContext.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/MtomCallback.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/RuntimeEndpointInfo.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/SOAPMessageContext.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/StubBase.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/SystemHandlerDelegate.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/SystemHandlerDelegateFactory.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/Tie.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/WSConnection.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/WebServiceContext.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/package-info.java - src/share/classes/com/sun/xml/internal/ws/streaming/XMLStreamReaderFactory.java - src/share/classes/com/sun/xml/internal/ws/streaming/XMLStreamWriterFactory.java - src/share/classes/com/sun/xml/internal/ws/transport/WSConnectionImpl.java - src/share/classes/com/sun/xml/internal/ws/transport/http/client/HttpClientTransportFactory.java - src/share/classes/com/sun/xml/internal/ws/transport/http/server/EndpointDocInfo.java - src/share/classes/com/sun/xml/internal/ws/transport/http/server/EndpointEntityResolver.java - src/share/classes/com/sun/xml/internal/ws/transport/http/server/WebServiceContextImpl.java - src/share/classes/com/sun/xml/internal/ws/transport/local/LocalMessage.java - src/share/classes/com/sun/xml/internal/ws/transport/local/client/LocalClientTransport.java - src/share/classes/com/sun/xml/internal/ws/transport/local/client/LocalClientTransportFactory.java - src/share/classes/com/sun/xml/internal/ws/transport/local/server/LocalConnectionImpl.java - src/share/classes/com/sun/xml/internal/ws/transport/local/server/LocalWSContextImpl.java - src/share/classes/com/sun/xml/internal/ws/util/Base64Util.java - src/share/classes/com/sun/xml/internal/ws/util/MessageInfoUtil.java - src/share/classes/com/sun/xml/internal/ws/util/NullIterator.java - src/share/classes/com/sun/xml/internal/ws/util/SOAPConnectionUtil.java - src/share/classes/com/sun/xml/internal/ws/util/SOAPUtil.java - src/share/classes/com/sun/xml/internal/ws/util/SunStAXReflection.java - src/share/classes/com/sun/xml/internal/ws/util/XMLConnectionUtil.java - src/share/classes/com/sun/xml/internal/ws/util/xml/XMLStreamReaderToContentHandler.java - src/share/classes/com/sun/xml/internal/ws/wsdl/WSDLContext.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/Binding.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/BindingOperation.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/Message.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/Part.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/Port.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/PortType.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/PortTypeOperation.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/Service.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/WSDLDocument.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/WSDLOutputResolver.java - src/share/classes/com/sun/xml/internal/xsom/impl/util/ConcatIterator.java - src/share/classes/com/sun/xml/internal/xsom/impl/util/FilterIterator.java Changeset: 68257a5eb19a Author: ohair Date: 2009-04-27 20:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/68257a5eb19a 6831225: Upgrade JPRT jobs to use newer Linux 2.6 (e.g. Fedora 9) Reviewed-by: tbell ! make/jprt.properties Changeset: c2d622fe401b Author: xdono Date: 2009-04-30 15:04 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/c2d622fe401b Added tag jdk7-b57 for changeset 68257a5eb19a ! .hgtags From john.coomes at sun.com Thu Apr 30 21:25:22 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 01 May 2009 04:25:22 +0000 Subject: hg: jdk7/hotspot/langtools: 2 new changesets Message-ID: <20090501042527.2C4EBECE5@hg.openjdk.java.net> Changeset: 4030cc469205 Author: ohair Date: 2009-04-27 20:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/4030cc469205 6831225: Upgrade JPRT jobs to use newer Linux 2.6 (e.g. Fedora 9) Reviewed-by: tbell ! make/jprt.properties Changeset: 8a2424db1a14 Author: xdono Date: 2009-04-30 15:04 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/8a2424db1a14 Added tag jdk7-b57 for changeset 4030cc469205 ! .hgtags From vladimir.kozlov at sun.com Thu Apr 30 22:08:24 2009 From: vladimir.kozlov at sun.com (vladimir.kozlov at sun.com) Date: Fri, 01 May 2009 05:08:24 +0000 Subject: hg: jdk7/hotspot/hotspot: 3 new changesets Message-ID: <20090501050835.52AC5ED06@hg.openjdk.java.net> Changeset: 45463a04ca27 Author: kvn Date: 2009-04-29 12:58 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/45463a04ca27 6834177: Running jsynprog on Solaris Nevada can cause JVM crash Summary: Use CodeCache buffer blob instead of static buffer in AdapterHandlerLibrary. Reviewed-by: never ! src/share/vm/runtime/dtraceJSDT.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp Changeset: f36f12d01311 Author: kvn Date: 2009-04-30 12:09 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/f36f12d01311 Merge Changeset: af5d39ca39a3 Author: kvn Date: 2009-04-30 15:57 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/af5d39ca39a3 6835796: Fedora 9 linux_i586-fastdebug-c2-runThese_Xcomp times out Summary: Switch off GCC 4.3.0 optimized compilation for mulnode.o. Reviewed-by: johnc ! make/jprt.properties ! make/linux/makefiles/gcc.make