From per.bothner at oracle.com Mon Jan 3 15:42:41 2011 From: per.bothner at oracle.com (Per Bothner) Date: Mon, 03 Jan 2011 15:42:41 -0800 Subject: Fwd: Re: hotspot build problems In-Reply-To: <4D07CC33.6040108@oracle.com> References: <4D07CC33.6040108@oracle.com> Message-ID: <4D225EF1.9000703@oracle.com> There were some recent changes to make/linux/makefiles/launcher.make, so my patch no longer applies. Here is an updated patch. I've verified that the patch is still needed (on Fedora 14 with SELinux enabled), and that it is "complete", in the sense that top-level make clean && make completes successfully. -- --Per Bothner per.bothner at oracle.com per at bothner.com http://per.bothner.com/ -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: chcon-launcher2.patch Url: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20110103/0fff6ade/attachment.ksh From vladimir.kozlov at oracle.com Mon Jan 3 18:28:26 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 03 Jan 2011 18:28:26 -0800 Subject: Request for reviews (M): 7009756: volatile variables could be broken throw reflection API Message-ID: <4D2285CA.4000802@oracle.com> http://cr.openjdk.java.net/~kvn/7009756/webrev Fixed 7009756: volatile variables could be broken throw reflection API Unsafe_SetLongVolatile() and Unsafe_GetLongVolatile() are not atomic on 32 bit x86 (C++ generates two 32 bit loads/stores). Use Atomic::load() and Atomic::store() to access a volatile long. Verified with bug's test on all 32 bit platforms. Passed JPRT. From David.Holmes at oracle.com Mon Jan 3 18:48:29 2011 From: David.Holmes at oracle.com (David Holmes) Date: Tue, 04 Jan 2011 12:48:29 +1000 Subject: Request for reviews (M): 7009756: volatile variables could be broken throw reflection API In-Reply-To: <4D2285CA.4000802@oracle.com> References: <4D2285CA.4000802@oracle.com> Message-ID: <4D228A7D.1060903@oracle.com> Vladimir Kozlov said the following on 01/04/11 12:28: > http://cr.openjdk.java.net/~kvn/7009756/webrev > > Fixed 7009756: volatile variables could be broken throw reflection API > > Unsafe_SetLongVolatile() and Unsafe_GetLongVolatile() are not atomic > on 32 bit x86 (C++ generates two 32 bit loads/stores). > > Use Atomic::load() and Atomic::store() to access a volatile long. > > Verified with bug's test on all 32 bit platforms. Passed JPRT. Hold up there! The Unsafe code uses supports_cx8 to determine whether atomic 64-bit operations are supported, and if not it falls back to using explicit locking. This change totally removes that for these methods and so breaks all platforms where cx8 is not supported. If anything is wrong it is these macros: 155 #define GET_FIELD_VOLATILE(obj, offset, type_name, v) \ 156 oop p = JNIHandles::resolve(obj); \ 157 volatile type_name v = *(volatile type_name*)index_oop_from_field_offset_long(p, offset) 158 159 #define SET_FIELD_VOLATILE(obj, offset, type_name, x) \ 160 oop p = JNIHandles::resolve(obj); \ 161 *(volatile type_name*)index_oop_from_field_offset_long(p, offset) = x; \ 162 OrderAccess::fence(); 163 because we should be using a load/store mechanism that is aware of the volatile aspect and so enforces the 64-bit atomicity requirement at a lower level. Such a mechanism already exists for regular volatile variable support. David From igor.veresov at oracle.com Mon Jan 3 18:51:44 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Mon, 03 Jan 2011 18:51:44 -0800 Subject: Request for reviews (M): 7009756: volatile variables could be broken throw reflection API In-Reply-To: <4D2285CA.4000802@oracle.com> References: <4D2285CA.4000802@oracle.com> Message-ID: <4D228B40.6020502@oracle.com> The comment in unsafe.cpp:259-260 should probably be fixed. Looks good otherwise. igor On 1/3/11 6:28 PM, Vladimir Kozlov wrote: > http://cr.openjdk.java.net/~kvn/7009756/webrev > > Fixed 7009756: volatile variables could be broken throw reflection API > > Unsafe_SetLongVolatile() and Unsafe_GetLongVolatile() are not atomic > on 32 bit x86 (C++ generates two 32 bit loads/stores). > > Use Atomic::load() and Atomic::store() to access a volatile long. > > Verified with bug's test on all 32 bit platforms. Passed JPRT. From David.Holmes at oracle.com Mon Jan 3 19:01:16 2011 From: David.Holmes at oracle.com (David Holmes) Date: Tue, 04 Jan 2011 13:01:16 +1000 Subject: Request for reviews (M): 7009756: volatile variables could be broken throw reflection API In-Reply-To: <4D228A7D.1060903@oracle.com> References: <4D2285CA.4000802@oracle.com> <4D228A7D.1060903@oracle.com> Message-ID: <4D228D7C.7080107@oracle.com> Further, note that the specification for Unsafe does not make it clear that these methods are supposed to implement the atomicity properties of Java volatiles, as opposed to simply adhering to the memory model properties. David David Holmes said the following on 01/04/11 12:48: > Vladimir Kozlov said the following on 01/04/11 12:28: >> http://cr.openjdk.java.net/~kvn/7009756/webrev >> >> Fixed 7009756: volatile variables could be broken throw reflection API >> >> Unsafe_SetLongVolatile() and Unsafe_GetLongVolatile() are not atomic >> on 32 bit x86 (C++ generates two 32 bit loads/stores). >> >> Use Atomic::load() and Atomic::store() to access a volatile long. >> >> Verified with bug's test on all 32 bit platforms. Passed JPRT. > > Hold up there! The Unsafe code uses supports_cx8 to determine whether > atomic 64-bit operations are supported, and if not it falls back to > using explicit locking. This change totally removes that for these > methods and so breaks all platforms where cx8 is not supported. > > If anything is wrong it is these macros: > > 155 #define GET_FIELD_VOLATILE(obj, offset, type_name, v) \ > 156 oop p = JNIHandles::resolve(obj); \ > 157 volatile type_name v = *(volatile > type_name*)index_oop_from_field_offset_long(p, offset) > 158 > 159 #define SET_FIELD_VOLATILE(obj, offset, type_name, x) \ > 160 oop p = JNIHandles::resolve(obj); \ > 161 *(volatile type_name*)index_oop_from_field_offset_long(p, offset) > = x; \ > 162 OrderAccess::fence(); > 163 > > because we should be using a load/store mechanism that is aware of the > volatile aspect and so enforces the 64-bit atomicity requirement at a > lower level. Such a mechanism already exists for regular volatile > variable support. > > David From David.Holmes at oracle.com Mon Jan 3 19:28:57 2011 From: David.Holmes at oracle.com (David Holmes) Date: Tue, 04 Jan 2011 13:28:57 +1000 Subject: Request for reviews (M): 7009756: volatile variables could be broken throw reflection API In-Reply-To: <4D228D7C.7080107@oracle.com> References: <4D2285CA.4000802@oracle.com> <4D228A7D.1060903@oracle.com> <4D228D7C.7080107@oracle.com> Message-ID: <4D2293F9.4000608@oracle.com> David Holmes said the following on 01/04/11 13:01: > Further, note that the specification for Unsafe does not make it clear > that these methods are supposed to implement the atomicity properties of > Java volatiles, as opposed to simply adhering to the memory model > properties. Ignore the above - the usage by AtomicLongFieldUpdater makes it clear that 64-bit atomic access is expected/required. David > > David > > David Holmes said the following on 01/04/11 12:48: >> Vladimir Kozlov said the following on 01/04/11 12:28: >>> http://cr.openjdk.java.net/~kvn/7009756/webrev >>> >>> Fixed 7009756: volatile variables could be broken throw reflection API >>> >>> Unsafe_SetLongVolatile() and Unsafe_GetLongVolatile() are not atomic >>> on 32 bit x86 (C++ generates two 32 bit loads/stores). >>> >>> Use Atomic::load() and Atomic::store() to access a volatile long. >>> >>> Verified with bug's test on all 32 bit platforms. Passed JPRT. >> >> Hold up there! The Unsafe code uses supports_cx8 to determine whether >> atomic 64-bit operations are supported, and if not it falls back to >> using explicit locking. This change totally removes that for these >> methods and so breaks all platforms where cx8 is not supported. >> >> If anything is wrong it is these macros: >> >> 155 #define GET_FIELD_VOLATILE(obj, offset, type_name, v) \ >> 156 oop p = JNIHandles::resolve(obj); \ >> 157 volatile type_name v = *(volatile >> type_name*)index_oop_from_field_offset_long(p, offset) >> 158 >> 159 #define SET_FIELD_VOLATILE(obj, offset, type_name, x) \ >> 160 oop p = JNIHandles::resolve(obj); \ >> 161 *(volatile type_name*)index_oop_from_field_offset_long(p, >> offset) = x; \ >> 162 OrderAccess::fence(); >> 163 >> >> because we should be using a load/store mechanism that is aware of the >> volatile aspect and so enforces the 64-bit atomicity requirement at a >> lower level. Such a mechanism already exists for regular volatile >> variable support. >> >> David From vladimir.kozlov at oracle.com Mon Jan 3 20:19:38 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 03 Jan 2011 20:19:38 -0800 Subject: Request for reviews (M): 7009756: volatile variables could be broken throw reflection API In-Reply-To: <4D228A7D.1060903@oracle.com> References: <4D2285CA.4000802@oracle.com> <4D228A7D.1060903@oracle.com> Message-ID: <4D229FDA.9020400@oracle.com> David, What mechanism you are talking about?: "Such a mechanism already exists for regular volatile variable support." As you may notice I duplicated code from these macros. supports_cx8 and lock are not needed here if you have atomic long move instruction. supports_cx8 is NOT indicating "whether atomic 64-bit operations are supported", it only indicates that HW has 8 bytes atomic CMPXCHG instruction which is not used here. I think this code was duplicated without thinking from Unsafe_CompareAndSwapLong() when it was fixed long time ago to support HW without cx8. Thanks, Vladimir On 1/3/11 6:48 PM, David Holmes wrote: > Vladimir Kozlov said the following on 01/04/11 12:28: >> http://cr.openjdk.java.net/~kvn/7009756/webrev >> >> Fixed 7009756: volatile variables could be broken throw reflection API >> >> Unsafe_SetLongVolatile() and Unsafe_GetLongVolatile() are not atomic >> on 32 bit x86 (C++ generates two 32 bit loads/stores). >> >> Use Atomic::load() and Atomic::store() to access a volatile long. >> >> Verified with bug's test on all 32 bit platforms. Passed JPRT. > > Hold up there! The Unsafe code uses supports_cx8 to determine whether atomic 64-bit operations are supported, and if not > it falls back to using explicit locking. This change totally removes that for these methods and so breaks all platforms > where cx8 is not supported. > > If anything is wrong it is these macros: > > 155 #define GET_FIELD_VOLATILE(obj, offset, type_name, v) \ > 156 oop p = JNIHandles::resolve(obj); \ > 157 volatile type_name v = *(volatile type_name*)index_oop_from_field_offset_long(p, offset) > 158 > 159 #define SET_FIELD_VOLATILE(obj, offset, type_name, x) \ > 160 oop p = JNIHandles::resolve(obj); \ > 161 *(volatile type_name*)index_oop_from_field_offset_long(p, offset) = x; \ > 162 OrderAccess::fence(); > 163 > > because we should be using a load/store mechanism that is aware of the volatile aspect and so enforces the 64-bit > atomicity requirement at a lower level. Such a mechanism already exists for regular volatile variable support. > > David From vladimir.kozlov at oracle.com Mon Jan 3 23:04:37 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 03 Jan 2011 23:04:37 -0800 Subject: Request for reviews (M): 7009756: volatile variables could be broken throw reflection API In-Reply-To: <4D228B40.6020502@oracle.com> References: <4D2285CA.4000802@oracle.com> <4D228B40.6020502@oracle.com> Message-ID: <4D22C685.80001@oracle.com> Thank you, Igor I will update the comment. Thanks, Vladimir On 1/3/11 6:51 PM, Igor Veresov wrote: > The comment in unsafe.cpp:259-260 should probably be fixed. > > Looks good otherwise. > > igor > > On 1/3/11 6:28 PM, Vladimir Kozlov wrote: >> http://cr.openjdk.java.net/~kvn/7009756/webrev >> >> Fixed 7009756: volatile variables could be broken throw reflection API >> >> Unsafe_SetLongVolatile() and Unsafe_GetLongVolatile() are not atomic >> on 32 bit x86 (C++ generates two 32 bit loads/stores). >> >> Use Atomic::load() and Atomic::store() to access a volatile long. >> >> Verified with bug's test on all 32 bit platforms. Passed JPRT. > From David.Holmes at oracle.com Tue Jan 4 03:46:36 2011 From: David.Holmes at oracle.com (David Holmes) Date: Tue, 04 Jan 2011 21:46:36 +1000 Subject: Request for reviews (M): 7009756: volatile variables could be broken throw reflection API In-Reply-To: <4D229FDA.9020400@oracle.com> References: <4D2285CA.4000802@oracle.com> <4D228A7D.1060903@oracle.com> <4D229FDA.9020400@oracle.com> Message-ID: <4D23089C.1040505@oracle.com> Vladimir Kozlov said the following on 01/04/11 14:19: > David, > > What mechanism you are talking about?: > "Such a mechanism already exists for regular volatile variable support." I mean that we have code in the VM that ensures that load/store of volatile Java variables is atomic. Those Unsafe macros should have utilized similar code, not plain load/store. > supports_cx8 and lock are not needed here if you have atomic long move > instruction. _if_ you have them. That's what supports_cx8 is telling you. (Yes I know it's an abuse but that's the way it is). > supports_cx8 is NOT indicating "whether atomic 64-bit operations are > supported", > it only indicates that HW has 8 bytes atomic CMPXCHG instruction which > is not used here. Please read the comment at 259-260 that you indicated you would "clean up" 259 // Volatile long versions must use locks if !VM_Version::supports_cx8(). 260 // support_cx8 is a surrogate for 'supports atomic long memory ops'. > I think this code was duplicated without thinking from > Unsafe_CompareAndSwapLong() > when it was fixed long time ago to support HW without cx8. I think it stems from there being platforms without the ability to do 64-bit atomic load/stores. David > Thanks, > Vladimir > > On 1/3/11 6:48 PM, David Holmes wrote: >> Vladimir Kozlov said the following on 01/04/11 12:28: >>> http://cr.openjdk.java.net/~kvn/7009756/webrev >>> >>> Fixed 7009756: volatile variables could be broken throw reflection API >>> >>> Unsafe_SetLongVolatile() and Unsafe_GetLongVolatile() are not atomic >>> on 32 bit x86 (C++ generates two 32 bit loads/stores). >>> >>> Use Atomic::load() and Atomic::store() to access a volatile long. >>> >>> Verified with bug's test on all 32 bit platforms. Passed JPRT. >> >> Hold up there! The Unsafe code uses supports_cx8 to determine whether >> atomic 64-bit operations are supported, and if not >> it falls back to using explicit locking. This change totally removes >> that for these methods and so breaks all platforms >> where cx8 is not supported. >> >> If anything is wrong it is these macros: >> >> 155 #define GET_FIELD_VOLATILE(obj, offset, type_name, v) \ >> 156 oop p = JNIHandles::resolve(obj); \ >> 157 volatile type_name v = *(volatile >> type_name*)index_oop_from_field_offset_long(p, offset) >> 158 >> 159 #define SET_FIELD_VOLATILE(obj, offset, type_name, x) \ >> 160 oop p = JNIHandles::resolve(obj); \ >> 161 *(volatile type_name*)index_oop_from_field_offset_long(p, offset) >> = x; \ >> 162 OrderAccess::fence(); >> 163 >> >> because we should be using a load/store mechanism that is aware of the >> volatile aspect and so enforces the 64-bit >> atomicity requirement at a lower level. Such a mechanism already >> exists for regular volatile variable support. >> >> David From tom.rodriguez at oracle.com Tue Jan 4 08:38:21 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 4 Jan 2011 08:38:21 -0800 Subject: Request for reviews (M): 7009756: volatile variables could be broken throw reflection API In-Reply-To: <4D23089C.1040505@oracle.com> References: <4D2285CA.4000802@oracle.com> <4D228A7D.1060903@oracle.com> <4D229FDA.9020400@oracle.com> <4D23089C.1040505@oracle.com> Message-ID: On Jan 4, 2011, at 3:46 AM, David Holmes wrote: > Vladimir Kozlov said the following on 01/04/11 14:19: >> David, >> What mechanism you are talking about?: >> "Such a mechanism already exists for regular volatile variable support." > > I mean that we have code in the VM that ensures that load/store of volatile Java variables is atomic. Those Unsafe macros should have utilized similar code, not plain load/store. > > > supports_cx8 and lock are not needed here if you have atomic long move >> instruction. > > _if_ you have them. That's what supports_cx8 is telling you. (Yes I know it's an abuse but that's the way it is). > >> supports_cx8 is NOT indicating "whether atomic 64-bit operations are supported", >> it only indicates that HW has 8 bytes atomic CMPXCHG instruction which is not used here. > > Please read the comment at 259-260 that you indicated you would "clean up" > > 259 // Volatile long versions must use locks if !VM_Version::supports_cx8(). > 260 // support_cx8 is a surrogate for 'supports atomic long memory ops'. That's the point of the fix, supports_cx8 is a bad proxy for whether you have atomic long operations. 32 bit x86 doesn't have an atomic long move but it does have cx8. If other architectures need to use the ObjectLocker for atomic longs then we need some new feature test to drive that logic. How are the compiler intrinsics for those routines implemented for those architectures? tom > >> I think this code was duplicated without thinking from Unsafe_CompareAndSwapLong() >> when it was fixed long time ago to support HW without cx8. > > I think it stems from there being platforms without the ability to do 64-bit atomic load/stores. > > David > >> Thanks, >> Vladimir >> On 1/3/11 6:48 PM, David Holmes wrote: >>> Vladimir Kozlov said the following on 01/04/11 12:28: >>>> http://cr.openjdk.java.net/~kvn/7009756/webrev >>>> >>>> Fixed 7009756: volatile variables could be broken throw reflection API >>>> >>>> Unsafe_SetLongVolatile() and Unsafe_GetLongVolatile() are not atomic >>>> on 32 bit x86 (C++ generates two 32 bit loads/stores). >>>> >>>> Use Atomic::load() and Atomic::store() to access a volatile long. >>>> >>>> Verified with bug's test on all 32 bit platforms. Passed JPRT. >>> >>> Hold up there! The Unsafe code uses supports_cx8 to determine whether atomic 64-bit operations are supported, and if not >>> it falls back to using explicit locking. This change totally removes that for these methods and so breaks all platforms >>> where cx8 is not supported. >>> >>> If anything is wrong it is these macros: >>> >>> 155 #define GET_FIELD_VOLATILE(obj, offset, type_name, v) \ >>> 156 oop p = JNIHandles::resolve(obj); \ >>> 157 volatile type_name v = *(volatile type_name*)index_oop_from_field_offset_long(p, offset) >>> 158 >>> 159 #define SET_FIELD_VOLATILE(obj, offset, type_name, x) \ >>> 160 oop p = JNIHandles::resolve(obj); \ >>> 161 *(volatile type_name*)index_oop_from_field_offset_long(p, offset) = x; \ >>> 162 OrderAccess::fence(); >>> 163 >>> >>> because we should be using a load/store mechanism that is aware of the volatile aspect and so enforces the 64-bit >>> atomicity requirement at a lower level. Such a mechanism already exists for regular volatile variable support. >>> >>> David From john.r.rose at oracle.com Tue Jan 4 09:05:07 2011 From: john.r.rose at oracle.com (John Rose) Date: Tue, 4 Jan 2011 09:05:07 -0800 Subject: Request for reviews (M): 7009756: volatile variables could be broken throw reflection API In-Reply-To: <4D228A7D.1060903@oracle.com> References: <4D2285CA.4000802@oracle.com> <4D228A7D.1060903@oracle.com> Message-ID: On Jan 3, 2011, at 6:48 PM, David Holmes wrote: > Vladimir Kozlov said the following on 01/04/11 12:28: >> http://cr.openjdk.java.net/~kvn/7009756/webrev >> Fixed 7009756: volatile variables could be broken throw reflection API >> Unsafe_SetLongVolatile() and Unsafe_GetLongVolatile() are not atomic >> on 32 bit x86 (C++ generates two 32 bit loads/stores). >> Use Atomic::load() and Atomic::store() to access a volatile long. >> Verified with bug's test on all 32 bit platforms. Passed JPRT. > > Hold up there! The Unsafe code uses supports_cx8 to determine whether atomic 64-bit operations are supported, and if not it falls back to using explicit locking. This change totally removes that for these methods and so breaks all platforms where cx8 is not supported. The ObjectLocker-based implementation of GetVolatileLong will fail on a null base pointer, but that is allowed by the Unsafe API. This is another bug which Vladimir's change removes. > > If anything is wrong it is these macros: > > 155 #define GET_FIELD_VOLATILE(obj, offset, type_name, v) \ > 156 oop p = JNIHandles::resolve(obj); \ > 157 volatile type_name v = *(volatile type_name*)index_oop_from_field_offset_long(p, offset) > 158 > 159 #define SET_FIELD_VOLATILE(obj, offset, type_name, x) \ > 160 oop p = JNIHandles::resolve(obj); \ > 161 *(volatile type_name*)index_oop_from_field_offset_long(p, offset) = x; \ > 162 OrderAccess::fence(); > 163 > > because we should be using a load/store mechanism that is aware of the volatile aspect and so enforces the 64-bit atomicity requirement at a lower level. Such a mechanism already exists for regular volatile variable support. If an Unsafe.*Volatile* method does not correctly emulate Java volatile field semantics, that is a bug. (One reservation: I assume there is no code in JSR 166 stuff that relies for performance on weakened non-atomic semantics on longs.) I agree the fence structure for volatiles should be the same in unsafe.cpp as it is in the interpreter and compiler. -- John -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20110104/c6f1878c/attachment.html From vladimir.kozlov at oracle.com Tue Jan 4 12:04:03 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 04 Jan 2011 12:04:03 -0800 Subject: Request for reviews (M): 7009756: volatile variables could be broken throw reflection API In-Reply-To: References: <4D2285CA.4000802@oracle.com> <4D228A7D.1060903@oracle.com> <4D229FDA.9020400@oracle.com> <4D23089C.1040505@oracle.com> Message-ID: <4D237D33.8080508@oracle.com> Tom Rodriguez wrote: > On Jan 4, 2011, at 3:46 AM, David Holmes wrote: > >> Vladimir Kozlov said the following on 01/04/11 14:19: >>> David, >>> What mechanism you are talking about?: >>> "Such a mechanism already exists for regular volatile variable support." >> I mean that we have code in the VM that ensures that load/store of volatile Java variables is atomic. Those Unsafe macros should have utilized similar code, not plain load/store. >> There are NO uniform code for volatile moves. Interpreter: obj->long_field_acquire(field_offset), 0); obj->release_long_field_put(field_offset, STACK_LONG(-1)); OrderAccess::storeload(); Note: they are also NOT atomic and need to be fixed!!! They call OrderAccess::load_acquire() and OrderAccess::release_store() which are implemented on x86 as: inline jlong OrderAccess::load_acquire(volatile jlong* p) { return *p; } inline void OrderAccess::release_store(volatile jlong* p, jlong v) { *p = v; } Template interpreter uses FPU registers: __ push(rdx); __ push(rax); // Must update atomically with FIST __ fild_d(Address(rsp,0)); // So load into FPU register __ fistp_d(lo); // and put into memory atomically __ addptr(rsp, 2*wordSize); // volatile_barrier(); volatile_barrier(Assembler::Membar_mask_bits(Assembler::StoreLoad | Assembler::StoreStore)); __ fild_d(lo); // Must load atomically __ subptr(rsp,2*wordSize); // Make space for store __ fistp_d(Address(rsp,0)); __ pop(rax); __ pop(rdx); C1 and C2 generated code uses FPU or XMM registers to move volatile long atomically. C2 does generate memory barriers for volatile loads and stores. I am not familiar with C1 to say if it does. >>> supports_cx8 and lock are not needed here if you have atomic long move >>> instruction. >> _if_ you have them. That's what supports_cx8 is telling you. (Yes I know it's an abuse but that's the way it is). You are right that we should have code for platforms which do not have 64-bit atomic moves but we can't use supports_cx8. I will add a different proxy. I also realized that I did not add Atomic::load to zero implementation which will prevent its build. Vladimir >> >>> supports_cx8 is NOT indicating "whether atomic 64-bit operations are supported", >>> it only indicates that HW has 8 bytes atomic CMPXCHG instruction which is not used here. >> Please read the comment at 259-260 that you indicated you would "clean up" >> >> 259 // Volatile long versions must use locks if !VM_Version::supports_cx8(). >> 260 // support_cx8 is a surrogate for 'supports atomic long memory ops'. > > That's the point of the fix, supports_cx8 is a bad proxy for whether you have atomic long operations. 32 bit x86 doesn't have an atomic long move but it does have cx8. If other architectures need to use the ObjectLocker for atomic longs then we need some new feature test to drive that logic. How are the compiler intrinsics for those routines implemented for those architectures? > > tom > >>> I think this code was duplicated without thinking from Unsafe_CompareAndSwapLong() >>> when it was fixed long time ago to support HW without cx8. >> I think it stems from there being platforms without the ability to do 64-bit atomic load/stores. >> >> David >> >>> Thanks, >>> Vladimir >>> On 1/3/11 6:48 PM, David Holmes wrote: >>>> Vladimir Kozlov said the following on 01/04/11 12:28: >>>>> http://cr.openjdk.java.net/~kvn/7009756/webrev >>>>> >>>>> Fixed 7009756: volatile variables could be broken throw reflection API >>>>> >>>>> Unsafe_SetLongVolatile() and Unsafe_GetLongVolatile() are not atomic >>>>> on 32 bit x86 (C++ generates two 32 bit loads/stores). >>>>> >>>>> Use Atomic::load() and Atomic::store() to access a volatile long. >>>>> >>>>> Verified with bug's test on all 32 bit platforms. Passed JPRT. >>>> Hold up there! The Unsafe code uses supports_cx8 to determine whether atomic 64-bit operations are supported, and if not >>>> it falls back to using explicit locking. This change totally removes that for these methods and so breaks all platforms >>>> where cx8 is not supported. >>>> >>>> If anything is wrong it is these macros: >>>> >>>> 155 #define GET_FIELD_VOLATILE(obj, offset, type_name, v) \ >>>> 156 oop p = JNIHandles::resolve(obj); \ >>>> 157 volatile type_name v = *(volatile type_name*)index_oop_from_field_offset_long(p, offset) >>>> 158 >>>> 159 #define SET_FIELD_VOLATILE(obj, offset, type_name, x) \ >>>> 160 oop p = JNIHandles::resolve(obj); \ >>>> 161 *(volatile type_name*)index_oop_from_field_offset_long(p, offset) = x; \ >>>> 162 OrderAccess::fence(); >>>> 163 >>>> >>>> because we should be using a load/store mechanism that is aware of the volatile aspect and so enforces the 64-bit >>>> atomicity requirement at a lower level. Such a mechanism already exists for regular volatile variable support. >>>> >>>> David > From paul.hohensee at oracle.com Tue Jan 4 13:00:30 2011 From: paul.hohensee at oracle.com (Paul Hohensee) Date: Tue, 04 Jan 2011 16:00:30 -0500 Subject: Pls review 6173675/7003271 Message-ID: <4D238A6E.8000802@oracle.com> These two rfes implement per-thread approximate memory allocation tracking. 6173675 also adds multi-thread-id versions of getThreadCpuTime and getThreadUserTime. *6173675 M&M: approximate memory allocation rate/amount per thread **7003271 Hotspot should track cumulative Java heap bytes allocated on a per-thread basis *6173675 is the library part, while 7003271 is the Hotspot part. Webrevs here http://cr.openjdk.java.net/~phh/6173675/webrev.00/ http://cr.openjdk.java.net/~phh/7003271/webrev.00/ The new file jdk/src/share/classes/com/sun/management/ThreadMXBean.java defines the com.sun.management.ThreadMXBean, a new interface subclassed from java.lang. management.ThreadMXBean. The Oracle implementation of ThreadMXBean now implements c.s.m.ThreadMXBean rather than j.l.m.ThreadMXBean. Hotspot has been changed to track the total amount of memory allocated by each thread on the Java heap. The total is approximate because it's incremented only when a TLAB (thread-local allocation buffer) is retired, or when an object is allocated directly in eden or the old generation. The implementation of getThreadAllocatedBytes attempts to include the memory allocated within the currently active TLABs, but that's precise only when the requesting thread is the same as the examined thread. Some cleanup has been done in both ThreadImpl.java and Hotspot as a side effect of implementing this change. Thanks, Paul -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20110104/508646f9/attachment.html From vladimir.kozlov at oracle.com Tue Jan 4 14:29:40 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 04 Jan 2011 14:29:40 -0800 Subject: Request for reviews (M): 7009756: volatile variables could be broken throw reflection API In-Reply-To: <4D238CCA.40500@oracle.com> References: <4D2285CA.4000802@oracle.com> <4D228A7D.1060903@oracle.com> <4D229FDA.9020400@oracle.com> <4D23089C.1040505@oracle.com> <4D237D33.8080508@oracle.com> <4D238CCA.40500@oracle.com> Message-ID: <4D239F54.8060303@oracle.com> David, We talked on today compiler meeting about this bug and decided that I will do only small additional changes: add memory barriers to Unsafe (C2 has barriers) and use Atomic:: moves for long in OrderAccess methods. I will leave support for other platforms to runtime and embedded groups. But keep in mind that ObjectLocker-based implementation will fail as John Rose pointed. And it would be nice to keep platform specific code inside Atomic:: methods. Thanks, Vladimir David Holmes wrote: > > You are right that we should have code for platforms > > which do not have 64-bit atomic moves but we can't > > use supports_cx8. I will add a different proxy. > > Thanks I'm fine with that. > > And yes we need to fix intepreter too. C1 is okay (for atomicity and > barriers), can't comment on C2. > > As noted in other email though the Unsafe operations are missing all the > needed memory barriers for volatile accesses, as are the intrinsic > version in C1 (haven't checked C2). > > So there is a lot of work to be done to get correct volatile support in > place, and to fix up Unsafe volatile support. > > Thanks, > David > > Vladimir Kozlov said the following on 01/05/11 06:04: >> Tom Rodriguez wrote: >>> On Jan 4, 2011, at 3:46 AM, David Holmes wrote: >>> >>>> Vladimir Kozlov said the following on 01/04/11 14:19: >>>>> David, >>>>> What mechanism you are talking about?: >>>>> "Such a mechanism already exists for regular volatile variable >>>>> support." >>>> I mean that we have code in the VM that ensures that load/store of >>>> volatile Java variables is atomic. Those Unsafe macros should have >>>> utilized similar code, not plain load/store. >>>> >> >> There are NO uniform code for volatile moves. >> >> >> Interpreter: >> >> obj->long_field_acquire(field_offset), 0); >> >> obj->release_long_field_put(field_offset, STACK_LONG(-1)); >> OrderAccess::storeload(); >> >> Note: they are also NOT atomic and need to be fixed!!! >> >> They call OrderAccess::load_acquire() and OrderAccess::release_store() >> which are implemented on x86 as: >> >> inline jlong OrderAccess::load_acquire(volatile jlong* p) { >> return *p; } >> inline void OrderAccess::release_store(volatile jlong* p, >> jlong v) { *p = v; } >> >> >> Template interpreter uses FPU registers: >> >> __ push(rdx); >> __ push(rax); // Must update atomically with FIST >> __ fild_d(Address(rsp,0)); // So load into FPU register >> __ fistp_d(lo); // and put into memory atomically >> __ addptr(rsp, 2*wordSize); >> // volatile_barrier(); >> volatile_barrier(Assembler::Membar_mask_bits(Assembler::StoreLoad | >> Assembler::StoreStore)); >> >> __ fild_d(lo); // Must load atomically >> __ subptr(rsp,2*wordSize); // Make space for store >> __ fistp_d(Address(rsp,0)); >> __ pop(rax); >> __ pop(rdx); >> >> >> C1 and C2 generated code uses FPU or XMM registers to move volatile >> long atomically. >> C2 does generate memory barriers for volatile loads and stores. >> I am not familiar with C1 to say if it does. >> >> >>>>> supports_cx8 and lock are not needed here if you have atomic long move >>>>> instruction. >>>> _if_ you have them. That's what supports_cx8 is telling you. (Yes I >>>> know it's an abuse but that's the way it is). >> >> You are right that we should have code for platforms >> which do not have 64-bit atomic moves but we can't >> use supports_cx8. I will add a different proxy. >> I also realized that I did not add Atomic::load to >> zero implementation which will prevent its build. >> >> Vladimir >> >>>> >>>>> supports_cx8 is NOT indicating "whether atomic 64-bit operations >>>>> are supported", >>>>> it only indicates that HW has 8 bytes atomic CMPXCHG instruction >>>>> which is not used here. >>>> Please read the comment at 259-260 that you indicated you would >>>> "clean up" >>>> >>>> 259 // Volatile long versions must use locks if >>>> !VM_Version::supports_cx8(). >>>> 260 // support_cx8 is a surrogate for 'supports atomic long memory >>>> ops'. >>> >>> That's the point of the fix, supports_cx8 is a bad proxy for whether >>> you have atomic long operations. 32 bit x86 doesn't have an atomic >>> long move but it does have cx8. If other architectures need to use >>> the ObjectLocker for atomic longs then we need some new feature test >>> to drive that logic. How are the compiler intrinsics for those >>> routines implemented for those architectures? >>> >>> tom >>> >>>>> I think this code was duplicated without thinking from >>>>> Unsafe_CompareAndSwapLong() >>>>> when it was fixed long time ago to support HW without cx8. >>>> I think it stems from there being platforms without the ability to >>>> do 64-bit atomic load/stores. >>>> >>>> David >>>> >>>>> Thanks, >>>>> Vladimir >>>>> On 1/3/11 6:48 PM, David Holmes wrote: >>>>>> Vladimir Kozlov said the following on 01/04/11 12:28: >>>>>>> http://cr.openjdk.java.net/~kvn/7009756/webrev >>>>>>> >>>>>>> Fixed 7009756: volatile variables could be broken throw >>>>>>> reflection API >>>>>>> >>>>>>> Unsafe_SetLongVolatile() and Unsafe_GetLongVolatile() are not atomic >>>>>>> on 32 bit x86 (C++ generates two 32 bit loads/stores). >>>>>>> >>>>>>> Use Atomic::load() and Atomic::store() to access a volatile long. >>>>>>> >>>>>>> Verified with bug's test on all 32 bit platforms. Passed JPRT. >>>>>> Hold up there! The Unsafe code uses supports_cx8 to determine >>>>>> whether atomic 64-bit operations are supported, and if not >>>>>> it falls back to using explicit locking. This change totally >>>>>> removes that for these methods and so breaks all platforms >>>>>> where cx8 is not supported. >>>>>> >>>>>> If anything is wrong it is these macros: >>>>>> >>>>>> 155 #define GET_FIELD_VOLATILE(obj, offset, type_name, v) \ >>>>>> 156 oop p = JNIHandles::resolve(obj); \ >>>>>> 157 volatile type_name v = *(volatile >>>>>> type_name*)index_oop_from_field_offset_long(p, offset) >>>>>> 158 >>>>>> 159 #define SET_FIELD_VOLATILE(obj, offset, type_name, x) \ >>>>>> 160 oop p = JNIHandles::resolve(obj); \ >>>>>> 161 *(volatile type_name*)index_oop_from_field_offset_long(p, >>>>>> offset) = x; \ >>>>>> 162 OrderAccess::fence(); >>>>>> 163 >>>>>> >>>>>> because we should be using a load/store mechanism that is aware of >>>>>> the volatile aspect and so enforces the 64-bit >>>>>> atomicity requirement at a lower level. Such a mechanism already >>>>>> exists for regular volatile variable support. >>>>>> >>>>>> David >>> From David.Holmes at oracle.com Tue Jan 4 13:10:34 2011 From: David.Holmes at oracle.com (David Holmes) Date: Wed, 05 Jan 2011 07:10:34 +1000 Subject: Request for reviews (M): 7009756: volatile variables could be broken throw reflection API In-Reply-To: <4D237D33.8080508@oracle.com> References: <4D2285CA.4000802@oracle.com> <4D228A7D.1060903@oracle.com> <4D229FDA.9020400@oracle.com> <4D23089C.1040505@oracle.com> <4D237D33.8080508@oracle.com> Message-ID: <4D238CCA.40500@oracle.com> > You are right that we should have code for platforms > which do not have 64-bit atomic moves but we can't > use supports_cx8. I will add a different proxy. Thanks I'm fine with that. And yes we need to fix intepreter too. C1 is okay (for atomicity and barriers), can't comment on C2. As noted in other email though the Unsafe operations are missing all the needed memory barriers for volatile accesses, as are the intrinsic version in C1 (haven't checked C2). So there is a lot of work to be done to get correct volatile support in place, and to fix up Unsafe volatile support. Thanks, David Vladimir Kozlov said the following on 01/05/11 06:04: > Tom Rodriguez wrote: >> On Jan 4, 2011, at 3:46 AM, David Holmes wrote: >> >>> Vladimir Kozlov said the following on 01/04/11 14:19: >>>> David, >>>> What mechanism you are talking about?: >>>> "Such a mechanism already exists for regular volatile variable >>>> support." >>> I mean that we have code in the VM that ensures that load/store of >>> volatile Java variables is atomic. Those Unsafe macros should have >>> utilized similar code, not plain load/store. >>> > > There are NO uniform code for volatile moves. > > > Interpreter: > > obj->long_field_acquire(field_offset), 0); > > obj->release_long_field_put(field_offset, STACK_LONG(-1)); > OrderAccess::storeload(); > > Note: they are also NOT atomic and need to be fixed!!! > > They call OrderAccess::load_acquire() and OrderAccess::release_store() > which are implemented on x86 as: > > inline jlong OrderAccess::load_acquire(volatile jlong* p) { return > *p; } > inline void OrderAccess::release_store(volatile jlong* p, jlong > v) { *p = v; } > > > Template interpreter uses FPU registers: > > __ push(rdx); > __ push(rax); // Must update atomically with FIST > __ fild_d(Address(rsp,0)); // So load into FPU register > __ fistp_d(lo); // and put into memory atomically > __ addptr(rsp, 2*wordSize); > // volatile_barrier(); > volatile_barrier(Assembler::Membar_mask_bits(Assembler::StoreLoad | > Assembler::StoreStore)); > > __ fild_d(lo); // Must load atomically > __ subptr(rsp,2*wordSize); // Make space for store > __ fistp_d(Address(rsp,0)); > __ pop(rax); > __ pop(rdx); > > > C1 and C2 generated code uses FPU or XMM registers to move volatile long > atomically. > C2 does generate memory barriers for volatile loads and stores. > I am not familiar with C1 to say if it does. > > >>>> supports_cx8 and lock are not needed here if you have atomic long move >>>> instruction. >>> _if_ you have them. That's what supports_cx8 is telling you. (Yes I >>> know it's an abuse but that's the way it is). > > You are right that we should have code for platforms > which do not have 64-bit atomic moves but we can't > use supports_cx8. I will add a different proxy. > I also realized that I did not add Atomic::load to > zero implementation which will prevent its build. > > Vladimir > >>> >>>> supports_cx8 is NOT indicating "whether atomic 64-bit operations are >>>> supported", >>>> it only indicates that HW has 8 bytes atomic CMPXCHG instruction >>>> which is not used here. >>> Please read the comment at 259-260 that you indicated you would >>> "clean up" >>> >>> 259 // Volatile long versions must use locks if >>> !VM_Version::supports_cx8(). >>> 260 // support_cx8 is a surrogate for 'supports atomic long memory ops'. >> >> That's the point of the fix, supports_cx8 is a bad proxy for whether >> you have atomic long operations. 32 bit x86 doesn't have an atomic >> long move but it does have cx8. If other architectures need to use >> the ObjectLocker for atomic longs then we need some new feature test >> to drive that logic. How are the compiler intrinsics for those >> routines implemented for those architectures? >> >> tom >> >>>> I think this code was duplicated without thinking from >>>> Unsafe_CompareAndSwapLong() >>>> when it was fixed long time ago to support HW without cx8. >>> I think it stems from there being platforms without the ability to do >>> 64-bit atomic load/stores. >>> >>> David >>> >>>> Thanks, >>>> Vladimir >>>> On 1/3/11 6:48 PM, David Holmes wrote: >>>>> Vladimir Kozlov said the following on 01/04/11 12:28: >>>>>> http://cr.openjdk.java.net/~kvn/7009756/webrev >>>>>> >>>>>> Fixed 7009756: volatile variables could be broken throw reflection >>>>>> API >>>>>> >>>>>> Unsafe_SetLongVolatile() and Unsafe_GetLongVolatile() are not atomic >>>>>> on 32 bit x86 (C++ generates two 32 bit loads/stores). >>>>>> >>>>>> Use Atomic::load() and Atomic::store() to access a volatile long. >>>>>> >>>>>> Verified with bug's test on all 32 bit platforms. Passed JPRT. >>>>> Hold up there! The Unsafe code uses supports_cx8 to determine >>>>> whether atomic 64-bit operations are supported, and if not >>>>> it falls back to using explicit locking. This change totally >>>>> removes that for these methods and so breaks all platforms >>>>> where cx8 is not supported. >>>>> >>>>> If anything is wrong it is these macros: >>>>> >>>>> 155 #define GET_FIELD_VOLATILE(obj, offset, type_name, v) \ >>>>> 156 oop p = JNIHandles::resolve(obj); \ >>>>> 157 volatile type_name v = *(volatile >>>>> type_name*)index_oop_from_field_offset_long(p, offset) >>>>> 158 >>>>> 159 #define SET_FIELD_VOLATILE(obj, offset, type_name, x) \ >>>>> 160 oop p = JNIHandles::resolve(obj); \ >>>>> 161 *(volatile type_name*)index_oop_from_field_offset_long(p, >>>>> offset) = x; \ >>>>> 162 OrderAccess::fence(); >>>>> 163 >>>>> >>>>> because we should be using a load/store mechanism that is aware of >>>>> the volatile aspect and so enforces the 64-bit >>>>> atomicity requirement at a lower level. Such a mechanism already >>>>> exists for regular volatile variable support. >>>>> >>>>> David >> From xiaoqiangnk at gmail.com Wed Jan 5 01:03:26 2011 From: xiaoqiangnk at gmail.com (Yongqiang Yang) Date: Wed, 5 Jan 2011 17:03:26 +0800 Subject: How to apply for JCK? Message-ID: Hi, We are porting hotspot to processor with MIPS architecture. Now, we need JCK to test the ported jvm. I however don't know how to apply for JCK. Is this the right mailing list? Could anyone give me some help about it? Thanks, Yongqiang. -- Best Wishes Yongqiang Yang From christian.thalinger at oracle.com Wed Jan 5 01:16:42 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Wed, 5 Jan 2011 10:16:42 +0100 Subject: Pls review 6173675/7003271 In-Reply-To: <4D238A6E.8000802@oracle.com> References: <4D238A6E.8000802@oracle.com> Message-ID: <0D7708E3-A23B-453C-A526-565FE232822C@oracle.com> On Jan 4, 2011, at 10:00 PM, Paul Hohensee wrote: > These two rfes implement per-thread approximate memory allocation tracking. > 6173675 also adds multi-thread-id versions of getThreadCpuTime and getThreadUserTime. > > 6173675 M&M: approximate memory allocation rate/amount per thread > 7003271 Hotspot should track cumulative Java heap bytes allocated on a per-thread basis src/os/solaris/vm/thread_solaris.inline.hpp: 56 Thread *candidate = ThreadLocalStorage::_get_thread_cache[ix]; You could have fixed the * in that line too. src/share/vm/opto/macro.cpp: 1242 new (C, 4) StorePNode( needgc_false, contended_phi_rawmem, eden_top_adr, 1243 TypeRawPtr::BOTTOM, new_eden_top ); 1249 new (C, 5) StorePConditionalNode( needgc_false, contended_phi_rawmem, eden_top_adr, 1250 new_eden_top, fast_oop/*old_eden_top*/ ); 1284 Node* new_alloc_bytes = new (C, 3) AddLNode( alloc_bytes, alloc_size ); Could you also remove the spaces before and after the parentheses when you're at it? MacroAssembler::incr_allocated_bytes: It seems we could use a RegisterOrConstant size_in_bytes argument instead of Register var_size_in_bytes, int con_size_in_bytes. Otherwise it looks good. -- Christian From David.Holmes at oracle.com Wed Jan 5 03:48:54 2011 From: David.Holmes at oracle.com (David Holmes) Date: Wed, 05 Jan 2011 21:48:54 +1000 Subject: How to apply for JCK? In-Reply-To: References: Message-ID: <4D245AA6.8070204@oracle.com> Try discuss at openjdk.java.net David Yongqiang Yang said the following on 01/05/11 19:03: > Hi, > > We are porting hotspot to processor with MIPS architecture. > Now, we need JCK to test the ported jvm. I however don't know > how to apply for JCK. > > Is this the right mailing list? > > Could anyone give me some help about it? > > > Thanks, > Yongqiang. From paul.hohensee at oracle.com Wed Jan 5 10:00:24 2011 From: paul.hohensee at oracle.com (Paul Hohensee) Date: Wed, 05 Jan 2011 13:00:24 -0500 Subject: Pls review 6173675/7003271 In-Reply-To: <0D7708E3-A23B-453C-A526-565FE232822C@oracle.com> References: <4D238A6E.8000802@oracle.com> <0D7708E3-A23B-453C-A526-565FE232822C@oracle.com> Message-ID: <4D24B1B8.6050509@oracle.com> An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20110105/f0bc16bc/attachment.html From mandy.chung at oracle.com Wed Jan 5 12:05:57 2011 From: mandy.chung at oracle.com (Mandy Chung) Date: Wed, 05 Jan 2011 12:05:57 -0800 Subject: Pls review 6173675/7003271 In-Reply-To: <4D238A6E.8000802@oracle.com> References: <4D238A6E.8000802@oracle.com> Message-ID: <4D24CF25.6070300@oracle.com> On 01/04/11 13:00, Paul Hohensee wrote: > These two rfes implement per-thread approximate memory allocation > tracking. > 6173675 also adds multi-thread-id versions of getThreadCpuTime and > getThreadUserTime. > > *6173675 M&M: approximate memory allocation rate/amount per thread > > **7003271 Hotspot should track cumulative Java heap bytes allocated on > a per-thread basis > > *6173675 is the library part, while 7003271 is the Hotspot part. > > Webrevs here > > http://cr.openjdk.java.net/~phh/6173675/webrev.00/ I reviewed the jdk change. Happy new year! Should the copyright year be 2011? Can you include the unit tests in the webrev? sun/management/ThreadImpl.java line 153-155: the spec allows the given ids array of zero-length. The check should not be added. You may want to add a check in line 175 to return infos if ids.length == 0. Thanks for doing the refactoring. I think the check calling isThreadCpuTimeEnabled() should be included in the verifyCurrentThreadCpuTime and verifyThreadCpuTime methods. How about having these 2 methods to return a boolean; i.e. return isThreadCpuTimeEnabled(). boolean verifyCurrentThreadCpuTime() boolean verifyThreadCpuTime(long[] ids) The callers to the verifyThreadCpuTime(long[]) method will do its own allocation of the resulting long[]. line 255-259 can be refactored as a separate method (which can also be called by the getThreadAllocatedBytes method. Similarly, the verifyThreadAllocatedMemory method can return a boolean (isThreadAllocatedMemoryEnabled()) and have the caller to construct the resulting array. Mandy -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20110105/f2838b10/attachment.html From vladimir.kozlov at oracle.com Wed Jan 5 17:11:32 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 05 Jan 2011 17:11:32 -0800 Subject: Request for reviews (M): 7009756: volatile variables could be broken throw reflection API In-Reply-To: <4D239F54.8060303@oracle.com> References: <4D2285CA.4000802@oracle.com> <4D228A7D.1060903@oracle.com> <4D229FDA.9020400@oracle.com> <4D23089C.1040505@oracle.com> <4D237D33.8080508@oracle.com> <4D238CCA.40500@oracle.com> <4D239F54.8060303@oracle.com> Message-ID: <4D2516C4.20308@oracle.com> After long internal discussion I decided to keep old code in unsafe.cpp undef #ifdef for platforms other than Sparc and X86. http://cr.openjdk.java.net/~kvn/7009756/webrev.02 Thanks, Vladimir Vladimir Kozlov wrote: > David, > > We talked on today compiler meeting about this bug and > decided that I will do only small additional changes: > add memory barriers to Unsafe (C2 has barriers) and > use Atomic:: moves for long in OrderAccess methods. > > I will leave support for other platforms to > runtime and embedded groups. But keep in mind that > ObjectLocker-based implementation will fail as > John Rose pointed. And it would be nice to keep > platform specific code inside Atomic:: methods. > > Thanks, > Vladimir > > David Holmes wrote: >> > You are right that we should have code for platforms >> > which do not have 64-bit atomic moves but we can't >> > use supports_cx8. I will add a different proxy. >> >> Thanks I'm fine with that. >> >> And yes we need to fix intepreter too. C1 is okay (for atomicity and >> barriers), can't comment on C2. >> >> As noted in other email though the Unsafe operations are missing all >> the needed memory barriers for volatile accesses, as are the intrinsic >> version in C1 (haven't checked C2). >> >> So there is a lot of work to be done to get correct volatile support >> in place, and to fix up Unsafe volatile support. >> >> Thanks, >> David >> >> Vladimir Kozlov said the following on 01/05/11 06:04: >>> Tom Rodriguez wrote: >>>> On Jan 4, 2011, at 3:46 AM, David Holmes wrote: >>>> >>>>> Vladimir Kozlov said the following on 01/04/11 14:19: >>>>>> David, >>>>>> What mechanism you are talking about?: >>>>>> "Such a mechanism already exists for regular volatile variable >>>>>> support." >>>>> I mean that we have code in the VM that ensures that load/store of >>>>> volatile Java variables is atomic. Those Unsafe macros should have >>>>> utilized similar code, not plain load/store. >>>>> >>> >>> There are NO uniform code for volatile moves. >>> >>> >>> Interpreter: >>> >>> obj->long_field_acquire(field_offset), 0); >>> >>> obj->release_long_field_put(field_offset, STACK_LONG(-1)); >>> OrderAccess::storeload(); >>> >>> Note: they are also NOT atomic and need to be fixed!!! >>> >>> They call OrderAccess::load_acquire() and OrderAccess::release_store() >>> which are implemented on x86 as: >>> >>> inline jlong OrderAccess::load_acquire(volatile jlong* p) { >>> return *p; } >>> inline void OrderAccess::release_store(volatile jlong* p, >>> jlong v) { *p = v; } >>> >>> >>> Template interpreter uses FPU registers: >>> >>> __ push(rdx); >>> __ push(rax); // Must update atomically with FIST >>> __ fild_d(Address(rsp,0)); // So load into FPU register >>> __ fistp_d(lo); // and put into memory atomically >>> __ addptr(rsp, 2*wordSize); >>> // volatile_barrier(); >>> volatile_barrier(Assembler::Membar_mask_bits(Assembler::StoreLoad | >>> Assembler::StoreStore)); >>> >>> __ fild_d(lo); // Must load atomically >>> __ subptr(rsp,2*wordSize); // Make space for store >>> __ fistp_d(Address(rsp,0)); >>> __ pop(rax); >>> __ pop(rdx); >>> >>> >>> C1 and C2 generated code uses FPU or XMM registers to move volatile >>> long atomically. >>> C2 does generate memory barriers for volatile loads and stores. >>> I am not familiar with C1 to say if it does. >>> >>> >>>>>> supports_cx8 and lock are not needed here if you have atomic long >>>>>> move >>>>>> instruction. >>>>> _if_ you have them. That's what supports_cx8 is telling you. (Yes I >>>>> know it's an abuse but that's the way it is). >>> >>> You are right that we should have code for platforms >>> which do not have 64-bit atomic moves but we can't >>> use supports_cx8. I will add a different proxy. >>> I also realized that I did not add Atomic::load to >>> zero implementation which will prevent its build. >>> >>> Vladimir >>> >>>>> >>>>>> supports_cx8 is NOT indicating "whether atomic 64-bit operations >>>>>> are supported", >>>>>> it only indicates that HW has 8 bytes atomic CMPXCHG instruction >>>>>> which is not used here. >>>>> Please read the comment at 259-260 that you indicated you would >>>>> "clean up" >>>>> >>>>> 259 // Volatile long versions must use locks if >>>>> !VM_Version::supports_cx8(). >>>>> 260 // support_cx8 is a surrogate for 'supports atomic long memory >>>>> ops'. >>>> >>>> That's the point of the fix, supports_cx8 is a bad proxy for whether >>>> you have atomic long operations. 32 bit x86 doesn't have an atomic >>>> long move but it does have cx8. If other architectures need to use >>>> the ObjectLocker for atomic longs then we need some new feature test >>>> to drive that logic. How are the compiler intrinsics for those >>>> routines implemented for those architectures? >>>> >>>> tom >>>> >>>>>> I think this code was duplicated without thinking from >>>>>> Unsafe_CompareAndSwapLong() >>>>>> when it was fixed long time ago to support HW without cx8. >>>>> I think it stems from there being platforms without the ability to >>>>> do 64-bit atomic load/stores. >>>>> >>>>> David >>>>> >>>>>> Thanks, >>>>>> Vladimir >>>>>> On 1/3/11 6:48 PM, David Holmes wrote: >>>>>>> Vladimir Kozlov said the following on 01/04/11 12:28: >>>>>>>> http://cr.openjdk.java.net/~kvn/7009756/webrev >>>>>>>> >>>>>>>> Fixed 7009756: volatile variables could be broken throw >>>>>>>> reflection API >>>>>>>> >>>>>>>> Unsafe_SetLongVolatile() and Unsafe_GetLongVolatile() are not >>>>>>>> atomic >>>>>>>> on 32 bit x86 (C++ generates two 32 bit loads/stores). >>>>>>>> >>>>>>>> Use Atomic::load() and Atomic::store() to access a volatile long. >>>>>>>> >>>>>>>> Verified with bug's test on all 32 bit platforms. Passed JPRT. >>>>>>> Hold up there! The Unsafe code uses supports_cx8 to determine >>>>>>> whether atomic 64-bit operations are supported, and if not >>>>>>> it falls back to using explicit locking. This change totally >>>>>>> removes that for these methods and so breaks all platforms >>>>>>> where cx8 is not supported. >>>>>>> >>>>>>> If anything is wrong it is these macros: >>>>>>> >>>>>>> 155 #define GET_FIELD_VOLATILE(obj, offset, type_name, v) \ >>>>>>> 156 oop p = JNIHandles::resolve(obj); \ >>>>>>> 157 volatile type_name v = *(volatile >>>>>>> type_name*)index_oop_from_field_offset_long(p, offset) >>>>>>> 158 >>>>>>> 159 #define SET_FIELD_VOLATILE(obj, offset, type_name, x) \ >>>>>>> 160 oop p = JNIHandles::resolve(obj); \ >>>>>>> 161 *(volatile type_name*)index_oop_from_field_offset_long(p, >>>>>>> offset) = x; \ >>>>>>> 162 OrderAccess::fence(); >>>>>>> 163 >>>>>>> >>>>>>> because we should be using a load/store mechanism that is aware >>>>>>> of the volatile aspect and so enforces the 64-bit >>>>>>> atomicity requirement at a lower level. Such a mechanism already >>>>>>> exists for regular volatile variable support. >>>>>>> >>>>>>> David >>>> From David.Holmes at oracle.com Wed Jan 5 18:02:36 2011 From: David.Holmes at oracle.com (David Holmes) Date: Thu, 06 Jan 2011 12:02:36 +1000 Subject: Request for reviews (M): 7009756: volatile variables could be broken throw reflection API In-Reply-To: <4D2516C4.20308@oracle.com> References: <4D2285CA.4000802@oracle.com> <4D228A7D.1060903@oracle.com> <4D229FDA.9020400@oracle.com> <4D23089C.1040505@oracle.com> <4D237D33.8080508@oracle.com> <4D238CCA.40500@oracle.com> <4D239F54.8060303@oracle.com> <4D2516C4.20308@oracle.com> Message-ID: <4D2522BC.6040309@oracle.com> Vladimir Kozlov said the following on 01/06/11 11:11: > After long internal discussion I decided to keep old code > in unsafe.cpp undef #ifdef for platforms other than Sparc and X86. > > http://cr.openjdk.java.net/~kvn/7009756/webrev.02 That's certainly not the cleanest way to implement things. Much of the ifdef logic is superfluous given that supports_cx8 will be true for x86 and sparc anyway. If we switch to using supports_atomic_XXXX in the future then we will rip most of this back out. But I won't stand in the way. David > Thanks, > Vladimir > > > Vladimir Kozlov wrote: >> David, >> >> We talked on today compiler meeting about this bug and >> decided that I will do only small additional changes: >> add memory barriers to Unsafe (C2 has barriers) and >> use Atomic:: moves for long in OrderAccess methods. >> >> I will leave support for other platforms to >> runtime and embedded groups. But keep in mind that >> ObjectLocker-based implementation will fail as >> John Rose pointed. And it would be nice to keep >> platform specific code inside Atomic:: methods. >> >> Thanks, >> Vladimir >> >> David Holmes wrote: >>> > You are right that we should have code for platforms >>> > which do not have 64-bit atomic moves but we can't >>> > use supports_cx8. I will add a different proxy. >>> >>> Thanks I'm fine with that. >>> >>> And yes we need to fix intepreter too. C1 is okay (for atomicity and >>> barriers), can't comment on C2. >>> >>> As noted in other email though the Unsafe operations are missing all >>> the needed memory barriers for volatile accesses, as are the >>> intrinsic version in C1 (haven't checked C2). >>> >>> So there is a lot of work to be done to get correct volatile support >>> in place, and to fix up Unsafe volatile support. >>> >>> Thanks, >>> David >>> >>> Vladimir Kozlov said the following on 01/05/11 06:04: >>>> Tom Rodriguez wrote: >>>>> On Jan 4, 2011, at 3:46 AM, David Holmes wrote: >>>>> >>>>>> Vladimir Kozlov said the following on 01/04/11 14:19: >>>>>>> David, >>>>>>> What mechanism you are talking about?: >>>>>>> "Such a mechanism already exists for regular volatile variable >>>>>>> support." >>>>>> I mean that we have code in the VM that ensures that load/store of >>>>>> volatile Java variables is atomic. Those Unsafe macros should have >>>>>> utilized similar code, not plain load/store. >>>>>> >>>> >>>> There are NO uniform code for volatile moves. >>>> >>>> >>>> Interpreter: >>>> >>>> obj->long_field_acquire(field_offset), 0); >>>> >>>> obj->release_long_field_put(field_offset, STACK_LONG(-1)); >>>> OrderAccess::storeload(); >>>> >>>> Note: they are also NOT atomic and need to be fixed!!! >>>> >>>> They call OrderAccess::load_acquire() and OrderAccess::release_store() >>>> which are implemented on x86 as: >>>> >>>> inline jlong OrderAccess::load_acquire(volatile jlong* p) { >>>> return *p; } >>>> inline void OrderAccess::release_store(volatile jlong* p, >>>> jlong v) { *p = v; } >>>> >>>> >>>> Template interpreter uses FPU registers: >>>> >>>> __ push(rdx); >>>> __ push(rax); // Must update atomically with FIST >>>> __ fild_d(Address(rsp,0)); // So load into FPU register >>>> __ fistp_d(lo); // and put into memory atomically >>>> __ addptr(rsp, 2*wordSize); >>>> // volatile_barrier(); >>>> volatile_barrier(Assembler::Membar_mask_bits(Assembler::StoreLoad | >>>> Assembler::StoreStore)); >>>> >>>> __ fild_d(lo); // Must load atomically >>>> __ subptr(rsp,2*wordSize); // Make space for store >>>> __ fistp_d(Address(rsp,0)); >>>> __ pop(rax); >>>> __ pop(rdx); >>>> >>>> >>>> C1 and C2 generated code uses FPU or XMM registers to move volatile >>>> long atomically. >>>> C2 does generate memory barriers for volatile loads and stores. >>>> I am not familiar with C1 to say if it does. >>>> >>>> >>>>>>> supports_cx8 and lock are not needed here if you have atomic long >>>>>>> move >>>>>>> instruction. >>>>>> _if_ you have them. That's what supports_cx8 is telling you. (Yes >>>>>> I know it's an abuse but that's the way it is). >>>> >>>> You are right that we should have code for platforms >>>> which do not have 64-bit atomic moves but we can't >>>> use supports_cx8. I will add a different proxy. >>>> I also realized that I did not add Atomic::load to >>>> zero implementation which will prevent its build. >>>> >>>> Vladimir >>>> >>>>>> >>>>>>> supports_cx8 is NOT indicating "whether atomic 64-bit operations >>>>>>> are supported", >>>>>>> it only indicates that HW has 8 bytes atomic CMPXCHG instruction >>>>>>> which is not used here. >>>>>> Please read the comment at 259-260 that you indicated you would >>>>>> "clean up" >>>>>> >>>>>> 259 // Volatile long versions must use locks if >>>>>> !VM_Version::supports_cx8(). >>>>>> 260 // support_cx8 is a surrogate for 'supports atomic long memory >>>>>> ops'. >>>>> >>>>> That's the point of the fix, supports_cx8 is a bad proxy for >>>>> whether you have atomic long operations. 32 bit x86 doesn't have >>>>> an atomic long move but it does have cx8. If other architectures >>>>> need to use the ObjectLocker for atomic longs then we need some new >>>>> feature test to drive that logic. How are the compiler intrinsics >>>>> for those routines implemented for those architectures? >>>>> >>>>> tom >>>>> >>>>>>> I think this code was duplicated without thinking from >>>>>>> Unsafe_CompareAndSwapLong() >>>>>>> when it was fixed long time ago to support HW without cx8. >>>>>> I think it stems from there being platforms without the ability to >>>>>> do 64-bit atomic load/stores. >>>>>> >>>>>> David >>>>>> >>>>>>> Thanks, >>>>>>> Vladimir >>>>>>> On 1/3/11 6:48 PM, David Holmes wrote: >>>>>>>> Vladimir Kozlov said the following on 01/04/11 12:28: >>>>>>>>> http://cr.openjdk.java.net/~kvn/7009756/webrev >>>>>>>>> >>>>>>>>> Fixed 7009756: volatile variables could be broken throw >>>>>>>>> reflection API >>>>>>>>> >>>>>>>>> Unsafe_SetLongVolatile() and Unsafe_GetLongVolatile() are not >>>>>>>>> atomic >>>>>>>>> on 32 bit x86 (C++ generates two 32 bit loads/stores). >>>>>>>>> >>>>>>>>> Use Atomic::load() and Atomic::store() to access a volatile long. >>>>>>>>> >>>>>>>>> Verified with bug's test on all 32 bit platforms. Passed JPRT. >>>>>>>> Hold up there! The Unsafe code uses supports_cx8 to determine >>>>>>>> whether atomic 64-bit operations are supported, and if not >>>>>>>> it falls back to using explicit locking. This change totally >>>>>>>> removes that for these methods and so breaks all platforms >>>>>>>> where cx8 is not supported. >>>>>>>> >>>>>>>> If anything is wrong it is these macros: >>>>>>>> >>>>>>>> 155 #define GET_FIELD_VOLATILE(obj, offset, type_name, v) \ >>>>>>>> 156 oop p = JNIHandles::resolve(obj); \ >>>>>>>> 157 volatile type_name v = *(volatile >>>>>>>> type_name*)index_oop_from_field_offset_long(p, offset) >>>>>>>> 158 >>>>>>>> 159 #define SET_FIELD_VOLATILE(obj, offset, type_name, x) \ >>>>>>>> 160 oop p = JNIHandles::resolve(obj); \ >>>>>>>> 161 *(volatile type_name*)index_oop_from_field_offset_long(p, >>>>>>>> offset) = x; \ >>>>>>>> 162 OrderAccess::fence(); >>>>>>>> 163 >>>>>>>> >>>>>>>> because we should be using a load/store mechanism that is aware >>>>>>>> of the volatile aspect and so enforces the 64-bit >>>>>>>> atomicity requirement at a lower level. Such a mechanism already >>>>>>>> exists for regular volatile variable support. >>>>>>>> >>>>>>>> David >>>>> From vladimir.kozlov at oracle.com Wed Jan 5 19:32:26 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 05 Jan 2011 19:32:26 -0800 Subject: Request for reviews (M): 7009756: volatile variables could be broken throw reflection API In-Reply-To: <4D2522BC.6040309@oracle.com> References: <4D2285CA.4000802@oracle.com> <4D228A7D.1060903@oracle.com> <4D229FDA.9020400@oracle.com> <4D23089C.1040505@oracle.com> <4D237D33.8080508@oracle.com> <4D238CCA.40500@oracle.com> <4D239F54.8060303@oracle.com> <4D2516C4.20308@oracle.com> <4D2522BC.6040309@oracle.com> Message-ID: <4D2537CA.2070905@oracle.com> Thank you, David Vladimir On 1/5/11 6:02 PM, David Holmes wrote: > Vladimir Kozlov said the following on 01/06/11 11:11: >> After long internal discussion I decided to keep old code >> in unsafe.cpp undef #ifdef for platforms other than Sparc and X86. >> >> http://cr.openjdk.java.net/~kvn/7009756/webrev.02 > > That's certainly not the cleanest way to implement things. Much of the ifdef logic is superfluous given that > supports_cx8 will be true for x86 and sparc anyway. If we switch to using supports_atomic_XXXX in the future then we > will rip most of this back out. > > But I won't stand in the way. > > David > >> Thanks, >> Vladimir >> >> >> Vladimir Kozlov wrote: >>> David, >>> >>> We talked on today compiler meeting about this bug and >>> decided that I will do only small additional changes: >>> add memory barriers to Unsafe (C2 has barriers) and >>> use Atomic:: moves for long in OrderAccess methods. >>> >>> I will leave support for other platforms to >>> runtime and embedded groups. But keep in mind that >>> ObjectLocker-based implementation will fail as >>> John Rose pointed. And it would be nice to keep >>> platform specific code inside Atomic:: methods. >>> >>> Thanks, >>> Vladimir >>> >>> David Holmes wrote: >>>> > You are right that we should have code for platforms >>>> > which do not have 64-bit atomic moves but we can't >>>> > use supports_cx8. I will add a different proxy. >>>> >>>> Thanks I'm fine with that. >>>> >>>> And yes we need to fix intepreter too. C1 is okay (for atomicity and barriers), can't comment on C2. >>>> >>>> As noted in other email though the Unsafe operations are missing all the needed memory barriers for volatile >>>> accesses, as are the intrinsic version in C1 (haven't checked C2). >>>> >>>> So there is a lot of work to be done to get correct volatile support in place, and to fix up Unsafe volatile support. >>>> >>>> Thanks, >>>> David >>>> >>>> Vladimir Kozlov said the following on 01/05/11 06:04: >>>>> Tom Rodriguez wrote: >>>>>> On Jan 4, 2011, at 3:46 AM, David Holmes wrote: >>>>>> >>>>>>> Vladimir Kozlov said the following on 01/04/11 14:19: >>>>>>>> David, >>>>>>>> What mechanism you are talking about?: >>>>>>>> "Such a mechanism already exists for regular volatile variable support." >>>>>>> I mean that we have code in the VM that ensures that load/store of volatile Java variables is atomic. Those >>>>>>> Unsafe macros should have utilized similar code, not plain load/store. >>>>>>> >>>>> >>>>> There are NO uniform code for volatile moves. >>>>> >>>>> >>>>> Interpreter: >>>>> >>>>> obj->long_field_acquire(field_offset), 0); >>>>> >>>>> obj->release_long_field_put(field_offset, STACK_LONG(-1)); >>>>> OrderAccess::storeload(); >>>>> >>>>> Note: they are also NOT atomic and need to be fixed!!! >>>>> >>>>> They call OrderAccess::load_acquire() and OrderAccess::release_store() >>>>> which are implemented on x86 as: >>>>> >>>>> inline jlong OrderAccess::load_acquire(volatile jlong* p) { return *p; } >>>>> inline void OrderAccess::release_store(volatile jlong* p, jlong v) { *p = v; } >>>>> >>>>> >>>>> Template interpreter uses FPU registers: >>>>> >>>>> __ push(rdx); >>>>> __ push(rax); // Must update atomically with FIST >>>>> __ fild_d(Address(rsp,0)); // So load into FPU register >>>>> __ fistp_d(lo); // and put into memory atomically >>>>> __ addptr(rsp, 2*wordSize); >>>>> // volatile_barrier(); >>>>> volatile_barrier(Assembler::Membar_mask_bits(Assembler::StoreLoad | >>>>> Assembler::StoreStore)); >>>>> >>>>> __ fild_d(lo); // Must load atomically >>>>> __ subptr(rsp,2*wordSize); // Make space for store >>>>> __ fistp_d(Address(rsp,0)); >>>>> __ pop(rax); >>>>> __ pop(rdx); >>>>> >>>>> >>>>> C1 and C2 generated code uses FPU or XMM registers to move volatile long atomically. >>>>> C2 does generate memory barriers for volatile loads and stores. >>>>> I am not familiar with C1 to say if it does. >>>>> >>>>> >>>>>>>> supports_cx8 and lock are not needed here if you have atomic long move >>>>>>>> instruction. >>>>>>> _if_ you have them. That's what supports_cx8 is telling you. (Yes I know it's an abuse but that's the way it is). >>>>> >>>>> You are right that we should have code for platforms >>>>> which do not have 64-bit atomic moves but we can't >>>>> use supports_cx8. I will add a different proxy. >>>>> I also realized that I did not add Atomic::load to >>>>> zero implementation which will prevent its build. >>>>> >>>>> Vladimir >>>>> >>>>>>> >>>>>>>> supports_cx8 is NOT indicating "whether atomic 64-bit operations are supported", >>>>>>>> it only indicates that HW has 8 bytes atomic CMPXCHG instruction which is not used here. >>>>>>> Please read the comment at 259-260 that you indicated you would "clean up" >>>>>>> >>>>>>> 259 // Volatile long versions must use locks if !VM_Version::supports_cx8(). >>>>>>> 260 // support_cx8 is a surrogate for 'supports atomic long memory ops'. >>>>>> >>>>>> That's the point of the fix, supports_cx8 is a bad proxy for whether you have atomic long operations. 32 bit x86 >>>>>> doesn't have an atomic long move but it does have cx8. If other architectures need to use the ObjectLocker for >>>>>> atomic longs then we need some new feature test to drive that logic. How are the compiler intrinsics for those >>>>>> routines implemented for those architectures? >>>>>> >>>>>> tom >>>>>> >>>>>>>> I think this code was duplicated without thinking from Unsafe_CompareAndSwapLong() >>>>>>>> when it was fixed long time ago to support HW without cx8. >>>>>>> I think it stems from there being platforms without the ability to do 64-bit atomic load/stores. >>>>>>> >>>>>>> David >>>>>>> >>>>>>>> Thanks, >>>>>>>> Vladimir >>>>>>>> On 1/3/11 6:48 PM, David Holmes wrote: >>>>>>>>> Vladimir Kozlov said the following on 01/04/11 12:28: >>>>>>>>>> http://cr.openjdk.java.net/~kvn/7009756/webrev >>>>>>>>>> >>>>>>>>>> Fixed 7009756: volatile variables could be broken throw reflection API >>>>>>>>>> >>>>>>>>>> Unsafe_SetLongVolatile() and Unsafe_GetLongVolatile() are not atomic >>>>>>>>>> on 32 bit x86 (C++ generates two 32 bit loads/stores). >>>>>>>>>> >>>>>>>>>> Use Atomic::load() and Atomic::store() to access a volatile long. >>>>>>>>>> >>>>>>>>>> Verified with bug's test on all 32 bit platforms. Passed JPRT. >>>>>>>>> Hold up there! The Unsafe code uses supports_cx8 to determine whether atomic 64-bit operations are supported, >>>>>>>>> and if not >>>>>>>>> it falls back to using explicit locking. This change totally removes that for these methods and so breaks all >>>>>>>>> platforms >>>>>>>>> where cx8 is not supported. >>>>>>>>> >>>>>>>>> If anything is wrong it is these macros: >>>>>>>>> >>>>>>>>> 155 #define GET_FIELD_VOLATILE(obj, offset, type_name, v) \ >>>>>>>>> 156 oop p = JNIHandles::resolve(obj); \ >>>>>>>>> 157 volatile type_name v = *(volatile type_name*)index_oop_from_field_offset_long(p, offset) >>>>>>>>> 158 >>>>>>>>> 159 #define SET_FIELD_VOLATILE(obj, offset, type_name, x) \ >>>>>>>>> 160 oop p = JNIHandles::resolve(obj); \ >>>>>>>>> 161 *(volatile type_name*)index_oop_from_field_offset_long(p, offset) = x; \ >>>>>>>>> 162 OrderAccess::fence(); >>>>>>>>> 163 >>>>>>>>> >>>>>>>>> because we should be using a load/store mechanism that is aware of the volatile aspect and so enforces the 64-bit >>>>>>>>> atomicity requirement at a lower level. Such a mechanism already exists for regular volatile variable support. >>>>>>>>> >>>>>>>>> David >>>>>> From xerxes at zafena.se Thu Jan 6 15:26:27 2011 From: xerxes at zafena.se (Xerxes Ranby) Date: Fri, 07 Jan 2011 10:26:27 +1100 Subject: How to apply for JCK? In-Reply-To: References: Message-ID: <4D264FA3.10100@zafena.se> Hi Yongqiang! For what I know there are two ways to gain access to the JCK/TCK. Option 1: Read, sign and send in the OpenJDK Community TCK License Agreement to Oracle. http://openjdk.java.net/groups/conformance/JckAccess/index.html Option 2: Become a JCP member and then download the TCK from: http://www.jcp.org/en/resources/tdk at the bottom of this page are the download link to the TCK for JCP members. Cheers Xerxes On 2011-01-05 20:03, Yongqiang Yang wrote: > Hi, > > We are porting hotspot to processor with MIPS architecture. > Now, we need JCK to test the ported jvm. I however don't know > how to apply for JCK. > > Is this the right mailing list? > > Could anyone give me some help about it? > > > Thanks, > Yongqiang. From john.coomes at oracle.com Thu Jan 6 20:35:38 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 07 Jan 2011 04:35:38 +0000 Subject: hg: jdk7/hotspot: 7 new changesets Message-ID: <20110107043538.8738547A2D@hg.openjdk.java.net> Changeset: 4346ba98938b Author: ohair Date: 2010-12-21 16:44 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/rev/4346ba98938b 6360517: ALT_MSDEVTOOLS_PATH and rc.exe location, and rebase location Reviewed-by: ksrini ! Makefile ! README-builds.html Changeset: dc9eb519c6ed Author: ohair Date: 2010-12-22 12:25 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/rev/dc9eb519c6ed 7003845: README-builds document proper location of forest extension, provide alternatives Reviewed-by: robilad ! README ! README-builds.html + get_source.sh + make/scripts/hgforest.sh Changeset: 4d044e6e1080 Author: ohair Date: 2010-12-22 12:27 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/rev/4d044e6e1080 Merge ! README-builds.html Changeset: c1af03f88627 Author: ohair Date: 2010-12-23 18:41 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/rev/c1af03f88627 7008723: Remove binary plugs creation and use from openjdk Reviewed-by: mchung, andrew, aph, dholmes ! Makefile ! README-builds.html Changeset: d0eb51cc458a Author: ohair Date: 2010-12-24 11:16 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/rev/d0eb51cc458a Merge Changeset: 024a6755895b Author: ohair Date: 2010-12-28 15:52 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/rev/024a6755895b 6962318: Update copyright year Reviewed-by: xdono ! make/Defs-internal.gmk ! make/deploy-rules.gmk ! make/hotspot-rules.gmk ! make/install-rules.gmk ! make/jprt.gmk ! make/sanity-rules.gmk + make/scripts/update_copyright_year.sh Changeset: 5c4df7e99277 Author: cl Date: 2011-01-06 20:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/rev/5c4df7e99277 Added tag jdk7-b124 for changeset 024a6755895b ! .hgtags From john.coomes at oracle.com Thu Jan 6 20:35:46 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 07 Jan 2011 04:35:46 +0000 Subject: hg: jdk7/hotspot/corba: 2 new changesets Message-ID: <20110107043550.1F72047A2E@hg.openjdk.java.net> Changeset: f90b3e014e83 Author: ohair Date: 2010-12-28 15:52 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/corba/rev/f90b3e014e83 6962318: Update copyright year Reviewed-by: xdono ! make/Makefile ! make/com/sun/corba/minclude/com_sun_corba_se_impl_io.jmk ! make/common/Defs-linux.gmk ! make/common/Defs-solaris.gmk ! make/common/Defs-windows.gmk ! make/common/Defs.gmk ! make/common/Rules.gmk ! make/common/shared/Defs-java.gmk ! make/common/shared/Defs-linux.gmk ! make/common/shared/Defs-solaris.gmk ! make/common/shared/Defs-windows.gmk ! make/common/shared/Defs.gmk ! make/org/omg/idl/Makefile ! make/sun/corba/Makefile ! make/sun/corba/core/Makefile ! make/sun/rmi/rmic/FILES.gmk ! src/share/classes/com/sun/corba/se/impl/encoding/BufferManagerWriteStream.java ! src/share/classes/com/sun/corba/se/impl/interceptors/ClientRequestInfoImpl.java ! src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java ! src/share/classes/com/sun/corba/se/impl/interceptors/PINoOpHandlerImpl.java ! src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java ! src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java ! src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java ! src/share/classes/com/sun/corba/se/impl/orbutil/CorbaResourceUtil.java ! src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_pt_BR.properties ! src/share/classes/com/sun/corba/se/impl/presentation/rmi/ExceptionHandlerImpl.java ! src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelConnectionImpl.java ! src/share/classes/com/sun/corba/se/pept/transport/ConnectionCache.java ! src/share/classes/com/sun/corba/se/spi/protocol/PIHandler.java ! src/share/classes/com/sun/corba/se/spi/transport/CorbaConnection.java ! src/share/classes/com/sun/tools/corba/se/idl/constExpr/Expression.java ! src/share/classes/javax/rmi/PortableRemoteObject.java ! src/share/classes/org/omg/CORBA/ORB.java ! src/share/classes/org/omg/CORBA/SetOverrideType.java ! src/share/classes/org/omg/CORBA/TCKind.java ! src/share/classes/org/omg/CORBA/UnknownUserException.java ! src/share/classes/org/omg/CORBA/portable/ServantObject.java ! src/share/classes/org/omg/CosNaming/nameservice.idl ! src/share/classes/org/omg/PortableInterceptor/Interceptors.idl ! src/share/classes/sun/corba/Bridge.java Changeset: 1ce58c72b789 Author: cl Date: 2011-01-06 20:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/corba/rev/1ce58c72b789 Added tag jdk7-b124 for changeset f90b3e014e83 ! .hgtags From john.coomes at oracle.com Thu Jan 6 20:35:56 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 07 Jan 2011 04:35:56 +0000 Subject: hg: jdk7/hotspot/jaxp: 2 new changesets Message-ID: <20110107043556.C6B9547A2F@hg.openjdk.java.net> Changeset: 57ed1f3bec72 Author: ohair Date: 2010-12-28 15:52 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/57ed1f3bec72 6962318: Update copyright year Reviewed-by: xdono ! build.properties ! make/Makefile Changeset: 6c9bdee0cc3a Author: cl Date: 2011-01-06 20:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/6c9bdee0cc3a Added tag jdk7-b124 for changeset 57ed1f3bec72 ! .hgtags From john.coomes at oracle.com Thu Jan 6 20:36:03 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 07 Jan 2011 04:36:03 +0000 Subject: hg: jdk7/hotspot/jaxws: 2 new changesets Message-ID: <20110107043603.20B9C47A30@hg.openjdk.java.net> Changeset: 86f60e5b3975 Author: ohair Date: 2010-12-28 15:53 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/86f60e5b3975 6962318: Update copyright year Reviewed-by: xdono ! build.properties ! jaxws.properties ! make/Makefile Changeset: d72eea121c3b Author: cl Date: 2011-01-06 20:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/d72eea121c3b Added tag jdk7-b124 for changeset 86f60e5b3975 ! .hgtags From john.coomes at oracle.com Thu Jan 6 20:36:41 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 07 Jan 2011 04:36:41 +0000 Subject: hg: jdk7/hotspot/jdk: 6 new changesets Message-ID: <20110107043801.F2D9447A32@hg.openjdk.java.net> Changeset: 4e70663f0163 Author: ohair Date: 2010-12-21 18:21 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/4e70663f0163 6360517: ALT_MSDEVTOOLS_PATH and rc.exe location, and rebase location Reviewed-by: ksrini ! make/Makefile ! make/common/shared/Compiler-gcc.gmk ! make/common/shared/Compiler-msvc.gmk ! make/common/shared/Defs-solaris.gmk ! make/common/shared/Defs-versions.gmk ! make/common/shared/Defs-windows.gmk ! make/common/shared/Defs.gmk ! make/common/shared/Sanity-Settings.gmk ! make/common/shared/Sanity.gmk ! make/jdk_generic_profile.sh Changeset: 217c842d710b Author: ohair Date: 2010-12-23 18:50 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/217c842d710b 7008723: Remove binary plugs creation and use from openjdk Reviewed-by: mchung, andrew, aph, dholmes ! README ! make/Makefile ! make/com/sun/jmx/Makefile ! make/common/Defs.gmk ! make/common/Library.gmk ! make/common/Program.gmk ! make/common/Release.gmk ! make/common/Sanity.gmk - make/common/internal/BinaryPlugs.gmk ! make/common/shared/Sanity-Settings.gmk ! make/common/shared/Sanity.gmk ! make/java/redist/Makefile ! make/javax/sound/Makefile ! make/jdk_generic_profile.sh ! make/netbeans/README ! make/sun/dcpr/Makefile ! make/sun/font/t2k/Makefile ! make/sun/management/Makefile Changeset: ab960e856d18 Author: ohair Date: 2010-12-24 11:17 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/ab960e856d18 Merge - make/common/internal/BinaryPlugs.gmk ! make/common/shared/Defs-versions.gmk ! make/common/shared/Sanity.gmk Changeset: a06412e13bf7 Author: ohair Date: 2010-12-28 15:53 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/a06412e13bf7 6962318: Update copyright year Reviewed-by: xdono ! make/com/Makefile ! make/com/sun/Makefile ! make/com/sun/crypto/provider/Makefile ! make/com/sun/demo/Makefile ! make/com/sun/demo/jvmti/Makefile ! make/com/sun/java/Makefile ! make/com/sun/java/browser/Makefile ! make/com/sun/java/pack/Makefile ! make/com/sun/java/pack/prop/Makefile ! make/com/sun/jmx/Makefile ! make/com/sun/jndi/Makefile ! make/com/sun/jndi/cosnaming/Makefile ! make/com/sun/jndi/dns/Makefile ! make/com/sun/jndi/ldap/Makefile ! make/com/sun/jndi/rmi/Makefile ! make/com/sun/jndi/rmi/registry/Makefile ! make/com/sun/nio/Makefile ! make/com/sun/nio/sctp/FILES_java.gmk ! make/com/sun/nio/sctp/Makefile ! make/com/sun/nio/sctp/mapfile-vers ! make/com/sun/org/Makefile ! make/com/sun/org/apache/Makefile ! make/com/sun/org/apache/xml/Makefile ! make/com/sun/rowset/Makefile ! make/com/sun/script/Makefile ! make/com/sun/security/Makefile ! make/com/sun/security/auth/module/Makefile ! make/com/sun/servicetag/Makefile ! make/com/sun/tools/Makefile ! make/com/sun/tools/attach/Makefile ! make/com/sun/tracing/Makefile ! make/common/Cscope.gmk ! make/common/Defs-linux.gmk ! make/common/Defs-solaris.gmk ! make/common/Defs-windows.gmk ! make/common/Defs.gmk ! make/common/Demo.gmk ! make/common/Library.gmk ! make/common/Modules.gmk ! make/common/Program.gmk ! make/common/Release.gmk ! make/common/Sanity.gmk ! make/common/internal/Resources.gmk ! make/common/shared/Compiler-sun.gmk ! make/common/shared/Defs-control.gmk ! make/common/shared/Defs-java.gmk ! make/common/shared/Defs-linux.gmk ! make/common/shared/Defs-utils.gmk ! make/docs/CORE_PKGS.gmk ! make/docs/NON_CORE_PKGS.gmk ! make/java/Makefile ! make/java/awt/Makefile ! make/java/dyn/Makefile ! make/java/fdlibm/Makefile ! make/java/hpi/Makefile ! make/java/hpi/hpi_common.gmk ! make/java/hpi/native/Makefile ! make/java/hpi/windows/Makefile ! make/java/instrument/Makefile ! make/java/java/Makefile ! make/java/java/genlocales.gmk ! make/java/java_crw_demo/Makefile ! make/java/java_hprof_demo/Makefile ! make/java/jli/Makefile ! make/java/logging/Makefile ! make/java/main/Makefile ! make/java/main/java/Makefile ! make/java/main/javaw/Makefile ! make/java/management/Makefile ! make/java/net/FILES_c.gmk ! make/java/net/Makefile ! make/java/net/mapfile-vers ! make/java/nio/FILES_java.gmk ! make/java/nio/Makefile ! make/java/nio/mapfile-linux ! make/java/nio/mapfile-solaris ! make/java/npt/Makefile ! make/java/redist/Makefile ! make/java/redist/fonts/Makefile ! make/java/redist/sajdi/Makefile ! make/java/sql/Makefile ! make/java/sun_nio/Makefile ! make/java/text/base/Makefile ! make/java/util/FILES_java.gmk ! make/java/verify/Makefile ! make/java/zip/Makefile ! make/javax/Makefile ! make/javax/crypto/Makefile ! make/javax/imageio/Makefile ! make/javax/print/Makefile ! make/javax/rmi/Makefile ! make/javax/sound/Makefile ! make/javax/sound/jsoundalsa/Makefile ! make/javax/sound/jsoundds/Makefile ! make/javax/sql/Makefile ! make/javax/swing/FILES.gmk ! make/javax/swing/Makefile ! make/javax/swing/beaninfo/SwingBeans.gmk ! make/javax/swing/plaf/Makefile ! make/jpda/Makefile ! make/jpda/back/Makefile ! make/jpda/transport/Makefile ! make/jpda/transport/shmem/Makefile ! make/jpda/transport/socket/Makefile ! make/jpda/tty/Makefile ! make/jprt.gmk ! make/jprt.properties ! make/launchers/Makefile ! make/mkdemo/Makefile ! make/mkdemo/applets/Makefile ! make/mkdemo/jfc/Makefile ! make/mkdemo/jni/Makefile ! make/mkdemo/jvmti/hprof/Makefile ! make/mkdemo/management/Makefile ! make/mkdemo/nio/Makefile ! make/mkdemo/nio/zipfs/Makefile ! make/mkdemo/scripting/Makefile ! make/mksample/Makefile ! make/mksample/dtrace/Makefile ! make/mksample/jmx/Makefile ! make/mksample/jmx/jmx-scandir/Makefile ! make/mksample/nbproject/Makefile ! make/mksample/nio/Makefile ! make/mksample/nio/file/Makefile ! make/mksample/nio/multicast/Makefile ! make/mksample/nio/server/Makefile ! make/mksample/scripting/Makefile ! make/mksample/scripting/scriptpad/Makefile ! make/mksample/webservices/EbayClient/Makefile ! make/mksample/webservices/EbayServer/Makefile ! make/mksample/webservices/Makefile ! make/modules/Makefile ! make/modules/modules.config ! make/modules/optional.depconfig ! make/modules/tools/Makefile ! make/modules/tools/nbproject/project.properties ! make/modules/tools/src/com/sun/classanalyzer/Module.java ! make/netbeans/world/build.xml ! make/org/Makefile ! make/org/ietf/Makefile ! make/sun/Makefile ! make/sun/applet/Makefile ! make/sun/awt/FILES_c_unix.gmk ! make/sun/awt/FILES_c_windows.gmk ! make/sun/awt/FILES_export_unix.gmk ! make/sun/awt/FILES_export_windows.gmk ! make/sun/awt/Makefile ! make/sun/awt/mapfile-mawt-vers ! make/sun/awt/mapfile-vers ! make/sun/awt/mapfile-vers-linux ! make/sun/cmm/Makefile ! make/sun/cmm/kcms/Makefile ! make/sun/cmm/lcms/FILES_c_unix.gmk ! make/sun/cmm/lcms/FILES_c_windows.gmk ! make/sun/cmm/lcms/Makefile ! make/sun/dcpr/Makefile ! make/sun/font/FILES_c.gmk ! make/sun/font/Makefile ! make/sun/font/t2k/Makefile ! make/sun/headless/Makefile ! make/sun/headless/mapfile-vers ! make/sun/image/Makefile ! make/sun/image/generic/Makefile ! make/sun/image/vis/Makefile ! make/sun/jar/Makefile ! make/sun/javazic/Makefile ! make/sun/jawt/Makefile ! make/sun/jconsole/Makefile ! make/sun/jdbc/Makefile ! make/sun/jdga/Makefile ! make/sun/jkernel/Makefile ! make/sun/jpeg/Makefile ! make/sun/launcher/Makefile ! make/sun/management/Makefile ! make/sun/native2ascii/Makefile ! make/sun/net/FILES_java.gmk ! make/sun/net/Makefile ! make/sun/net/others/Makefile ! make/sun/net/spi/Makefile ! make/sun/net/spi/nameservice/Makefile ! make/sun/net/spi/nameservice/dns/Makefile ! make/sun/nio/Makefile ! make/sun/nio/cs/FILES_java.gmk ! make/sun/nio/cs/Makefile ! make/sun/org/Makefile ! make/sun/org/mozilla/Makefile ! make/sun/org/mozilla/javascript/Makefile ! make/sun/pisces/Makefile ! make/sun/rmi/Makefile ! make/sun/rmi/cgi/Makefile ! make/sun/rmi/oldtools/Makefile ! make/sun/rmi/registry/Makefile ! make/sun/rmi/rmi/Makefile ! make/sun/rmi/rmic/Makefile ! make/sun/rmi/rmid/Makefile ! make/sun/security/Makefile ! make/sun/security/ec/Makefile ! make/sun/security/jgss/wrapper/Makefile ! make/sun/security/krb5/Makefile ! make/sun/security/mscapi/Makefile ! make/sun/security/pkcs11/Makefile ! make/sun/security/smartcardio/Makefile ! make/sun/serialver/Makefile ! make/sun/splashscreen/Makefile ! make/sun/text/Makefile ! make/sun/tools/Makefile ! make/sun/tracing/Makefile ! make/sun/tracing/dtrace/Makefile ! make/sun/xawt/FILES_c_unix.gmk ! make/sun/xawt/FILES_export_unix.gmk ! make/sun/xawt/Makefile ! make/sun/xawt/mapfile-vers ! make/tools/Makefile ! make/tools/freetypecheck/freetypecheck.c ! make/tools/src/build/tools/charsetmapping/JIS0213.java ! make/tools/src/build/tools/charsetmapping/Main.java ! make/tools/src/build/tools/charsetmapping/SBCS.java ! make/tools/src/build/tools/charsetmapping/Utils.java ! make/tools/src/build/tools/generatecharacter/GenerateCharacter.java ! make/tools/src/build/tools/jarreorder/JarReorder.java ! make/tools/src/build/tools/javazic/RuleDay.java ! src/share/bin/main.c ! src/share/bin/parse_manifest.c ! src/share/bin/wildcard.c ! src/share/classes/com/sun/imageio/plugins/bmp/BMPImageReaderSpi.java ! src/share/classes/com/sun/imageio/plugins/bmp/BMPImageWriterSpi.java ! src/share/classes/com/sun/imageio/plugins/gif/GIFImageReaderSpi.java ! src/share/classes/com/sun/imageio/plugins/gif/GIFImageWriterSpi.java ! src/share/classes/com/sun/imageio/plugins/jpeg/JPEG.java ! src/share/classes/com/sun/imageio/plugins/png/PNGImageReaderSpi.java ! src/share/classes/com/sun/imageio/plugins/png/PNGImageWriterSpi.java ! src/share/classes/com/sun/imageio/plugins/wbmp/WBMPImageReaderSpi.java ! src/share/classes/com/sun/imageio/plugins/wbmp/WBMPImageWriterSpi.java ! src/share/classes/com/sun/imageio/spi/FileImageInputStreamSpi.java ! src/share/classes/com/sun/imageio/spi/FileImageOutputStreamSpi.java ! src/share/classes/com/sun/imageio/spi/InputStreamImageInputStreamSpi.java ! src/share/classes/com/sun/imageio/spi/OutputStreamImageOutputStreamSpi.java ! src/share/classes/com/sun/imageio/spi/RAFImageInputStreamSpi.java ! src/share/classes/com/sun/imageio/spi/RAFImageOutputStreamSpi.java ! src/share/classes/com/sun/java/swing/plaf/gtk/PangoFonts.java ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsComboBoxUI.java ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsTableHeaderUI.java ! src/share/classes/com/sun/java/util/jar/pack/AdaptiveCoding.java ! src/share/classes/com/sun/java/util/jar/pack/BandStructure.java ! src/share/classes/com/sun/java/util/jar/pack/ClassWriter.java ! src/share/classes/com/sun/java/util/jar/pack/Code.java ! src/share/classes/com/sun/java/util/jar/pack/Coding.java ! src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java ! src/share/classes/com/sun/java/util/jar/pack/CodingMethod.java ! src/share/classes/com/sun/java/util/jar/pack/Fixups.java ! src/share/classes/com/sun/java/util/jar/pack/Histogram.java ! src/share/classes/com/sun/java/util/jar/pack/Instruction.java ! src/share/classes/com/sun/java/util/jar/pack/PackageReader.java ! src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java ! src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java ! src/share/classes/com/sun/jndi/dns/DnsClient.java ! src/share/classes/com/sun/jndi/rmi/registry/RegistryContext.java ! src/share/classes/com/sun/media/sound/AbstractMidiDevice.java ! src/share/classes/com/sun/media/sound/AudioSynthesizerPropertyInfo.java ! src/share/classes/com/sun/media/sound/ModelByteBufferWavetable.java ! src/share/classes/com/sun/media/sound/ModelInstrument.java ! src/share/classes/com/sun/media/sound/SoftReceiver.java ! src/share/classes/com/sun/media/sound/SoftVoice.java ! src/share/classes/com/sun/net/httpserver/BasicAuthenticator.java ! src/share/classes/com/sun/net/httpserver/Filter.java ! src/share/classes/com/sun/net/httpserver/Headers.java ! src/share/classes/com/sun/net/httpserver/HttpsConfigurator.java ! src/share/classes/com/sun/net/httpserver/HttpsParameters.java ! src/share/classes/com/sun/rowset/internal/XmlReaderContentHandler.java ! src/share/classes/com/sun/security/auth/LdapPrincipal.java ! src/share/classes/com/sun/security/sasl/CramMD5Client.java ! src/share/classes/com/sun/security/sasl/CramMD5Server.java ! src/share/classes/com/sun/security/sasl/ExternalClient.java ! src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Client.java ! src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Server.java ! src/share/classes/com/sun/servicetag/Registry.java ! src/share/classes/com/sun/servicetag/SunConnection.java ! src/share/classes/com/sun/servicetag/resources/register.html ! src/share/classes/com/sun/servicetag/resources/register_ja.html ! src/share/classes/com/sun/servicetag/resources/register_zh_CN.html ! src/share/classes/com/sun/tools/example/debug/tty/TTYResources.java ! src/share/classes/java/awt/AWTEvent.java ! src/share/classes/java/awt/AlphaComposite.java ! src/share/classes/java/awt/Canvas.java ! src/share/classes/java/awt/Color.java ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java ! src/share/classes/java/awt/Dialog.java ! src/share/classes/java/awt/EventDispatchThread.java ! src/share/classes/java/awt/EventQueue.java ! src/share/classes/java/awt/FileDialog.java ! src/share/classes/java/awt/Font.java ! src/share/classes/java/awt/Frame.java ! src/share/classes/java/awt/GraphicsEnvironment.java ! src/share/classes/java/awt/GridBagConstraints.java ! src/share/classes/java/awt/KeyboardFocusManager.java ! src/share/classes/java/awt/ScrollPane.java ! src/share/classes/java/awt/Scrollbar.java ! src/share/classes/java/awt/SequencedEvent.java ! src/share/classes/java/awt/SplashScreen.java ! src/share/classes/java/awt/Toolkit.java ! src/share/classes/java/awt/Window.java ! src/share/classes/java/awt/event/ActionEvent.java ! src/share/classes/java/awt/event/InputEvent.java ! src/share/classes/java/awt/image/IndexColorModel.java ! src/share/classes/java/awt/image/SampleModel.java ! src/share/classes/java/beans/MetaData.java ! src/share/classes/java/beans/XMLDecoder.java ! src/share/classes/java/dyn/Linkage.java ! src/share/classes/java/dyn/MethodType.java ! src/share/classes/java/dyn/package-info.java ! src/share/classes/java/io/Bits.java ! src/share/classes/java/io/BufferedInputStream.java ! src/share/classes/java/io/ByteArrayInputStream.java ! src/share/classes/java/io/ByteArrayOutputStream.java ! src/share/classes/java/io/Closeable.java ! src/share/classes/java/io/FileOutputStream.java ! src/share/classes/java/io/FilterInputStream.java ! src/share/classes/java/io/ObjectInput.java ! src/share/classes/java/io/ObjectOutput.java ! src/share/classes/java/io/PushbackInputStream.java ! src/share/classes/java/io/package.html ! src/share/classes/java/lang/AbstractStringBuilder.java ! src/share/classes/java/lang/AssertionError.java ! src/share/classes/java/lang/Deprecated.java ! src/share/classes/java/lang/Error.java ! src/share/classes/java/lang/Exception.java ! src/share/classes/java/lang/Integer.java ! src/share/classes/java/lang/Iterable.java ! src/share/classes/java/lang/Math.java ! src/share/classes/java/lang/Object.java ! src/share/classes/java/lang/ProcessBuilder.java ! src/share/classes/java/lang/Readable.java ! src/share/classes/java/lang/RuntimeException.java ! src/share/classes/java/lang/String.java ! src/share/classes/java/lang/SuppressWarnings.java ! src/share/classes/java/lang/System.java ! src/share/classes/java/lang/Thread.java ! src/share/classes/java/lang/ThreadGroup.java ! src/share/classes/java/lang/reflect/Constructor.java ! src/share/classes/java/net/AbstractPlainSocketImpl.java ! src/share/classes/java/net/DatagramSocket.java ! src/share/classes/java/net/HttpCookie.java ! src/share/classes/java/net/HttpURLConnection.java ! src/share/classes/java/net/Inet6Address.java ! src/share/classes/java/net/InetAddress.java ! src/share/classes/java/net/NetPermission.java ! src/share/classes/java/net/NetworkInterface.java ! src/share/classes/java/net/ServerSocket.java ! src/share/classes/java/net/SocketInputStream.java ! src/share/classes/java/net/SocksSocketImpl.java ! src/share/classes/java/net/URI.java ! src/share/classes/java/nio/Bits.java ! src/share/classes/java/nio/Direct-X-Buffer.java.template ! src/share/classes/java/nio/MappedByteBuffer.java ! src/share/classes/java/nio/StringCharBuffer.java ! src/share/classes/java/nio/channels/AsynchronousSocketChannel.java ! src/share/classes/java/nio/channels/FileLock.java ! src/share/classes/java/nio/channels/package-info.java ! src/share/classes/java/nio/channels/spi/AbstractInterruptibleChannel.java ! src/share/classes/java/nio/channels/spi/AbstractSelector.java ! src/share/classes/java/nio/channels/spi/AsynchronousChannelProvider.java ! src/share/classes/java/nio/charset/Charset.java ! src/share/classes/java/nio/charset/package.html ! src/share/classes/java/nio/file/DirectoryStream.java ! src/share/classes/java/nio/file/FileTreeWalker.java ! src/share/classes/java/nio/file/FileVisitOption.java ! src/share/classes/java/nio/file/FileVisitor.java ! src/share/classes/java/nio/file/Files.java ! src/share/classes/java/nio/file/Path.java ! src/share/classes/java/nio/file/SecureDirectoryStream.java ! src/share/classes/java/nio/file/SimpleFileVisitor.java ! src/share/classes/java/security/IdentityScope.java ! src/share/classes/java/security/Security.java ! src/share/classes/java/security/cert/PKIXParameters.java ! src/share/classes/java/text/CollationElementIterator.java ! src/share/classes/java/text/DateFormat.java ! src/share/classes/java/text/MessageFormat.java ! src/share/classes/java/text/NumberFormat.java ! src/share/classes/java/text/RuleBasedBreakIterator.java ! src/share/classes/java/util/AbstractCollection.java ! src/share/classes/java/util/AbstractList.java ! src/share/classes/java/util/AbstractMap.java ! src/share/classes/java/util/ArrayList.java ! src/share/classes/java/util/Arrays.java ! src/share/classes/java/util/Collection.java ! src/share/classes/java/util/Collections.java ! src/share/classes/java/util/ConcurrentModificationException.java ! src/share/classes/java/util/Currency.java ! src/share/classes/java/util/Date.java ! src/share/classes/java/util/FormattableFlags.java ! src/share/classes/java/util/Formatter.java ! src/share/classes/java/util/Hashtable.java ! src/share/classes/java/util/Iterator.java ! src/share/classes/java/util/LinkedList.java ! src/share/classes/java/util/List.java ! src/share/classes/java/util/ListResourceBundle.java ! src/share/classes/java/util/PriorityQueue.java ! src/share/classes/java/util/Properties.java ! src/share/classes/java/util/Random.java ! src/share/classes/java/util/Scanner.java ! src/share/classes/java/util/Stack.java ! src/share/classes/java/util/TreeMap.java ! src/share/classes/java/util/TreeSet.java ! src/share/classes/java/util/Vector.java ! src/share/classes/java/util/XMLUtils.java ! src/share/classes/java/util/concurrent/CopyOnWriteArrayList.java ! src/share/classes/java/util/jar/JarInputStream.java ! src/share/classes/java/util/logging/LogRecord.java ! src/share/classes/java/util/regex/Pattern.java ! src/share/classes/java/util/spi/CurrencyNameProvider.java ! src/share/classes/java/util/spi/LocaleServiceProvider.java ! src/share/classes/java/util/zip/Deflater.java ! src/share/classes/java/util/zip/ZipFile.java ! src/share/classes/javax/imageio/stream/ImageInputStream.java ! src/share/classes/javax/management/remote/JMXServiceURL.java ! src/share/classes/javax/naming/event/EventDirContext.java ! src/share/classes/javax/naming/ldap/Control.java ! src/share/classes/javax/naming/ldap/ControlFactory.java ! src/share/classes/javax/naming/ldap/ExtendedRequest.java ! src/share/classes/javax/naming/ldap/ExtendedResponse.java ! src/share/classes/javax/naming/ldap/LdapName.java ! src/share/classes/javax/naming/ldap/Rdn.java ! src/share/classes/javax/naming/ldap/UnsolicitedNotification.java ! src/share/classes/javax/naming/ldap/UnsolicitedNotificationListener.java ! src/share/classes/javax/net/SocketFactory.java ! src/share/classes/javax/net/ssl/SSLContext.java ! src/share/classes/javax/print/DocFlavor.java ! src/share/classes/javax/sound/midi/MidiDevice.java ! src/share/classes/javax/sound/midi/MidiSystem.java ! src/share/classes/javax/sound/midi/Receiver.java ! src/share/classes/javax/sound/midi/Transmitter.java ! src/share/classes/javax/sound/sampled/Line.java ! src/share/classes/javax/swing/AbstractButton.java ! src/share/classes/javax/swing/DebugGraphics.java ! src/share/classes/javax/swing/DefaultDesktopManager.java ! src/share/classes/javax/swing/GroupLayout.java ! src/share/classes/javax/swing/JColorChooser.java ! src/share/classes/javax/swing/JComponent.java ! src/share/classes/javax/swing/JDesktopPane.java ! src/share/classes/javax/swing/JEditorPane.java ! src/share/classes/javax/swing/JLayer.java ! src/share/classes/javax/swing/JList.java ! src/share/classes/javax/swing/JSplitPane.java ! src/share/classes/javax/swing/JTabbedPane.java ! src/share/classes/javax/swing/JTextField.java ! src/share/classes/javax/swing/JTree.java ! src/share/classes/javax/swing/JViewport.java ! src/share/classes/javax/swing/Popup.java ! src/share/classes/javax/swing/RepaintManager.java ! src/share/classes/javax/swing/SwingUtilities.java ! src/share/classes/javax/swing/ToolTipManager.java ! src/share/classes/javax/swing/UIDefaults.java ! src/share/classes/javax/swing/plaf/LayerUI.java ! src/share/classes/javax/swing/plaf/basic/BasicButtonListener.java ! src/share/classes/javax/swing/plaf/basic/BasicComboPopup.java ! src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java ! src/share/classes/javax/swing/plaf/basic/BasicLookAndFeel.java ! src/share/classes/javax/swing/plaf/basic/BasicMenuUI.java ! src/share/classes/javax/swing/plaf/basic/BasicScrollBarUI.java ! src/share/classes/javax/swing/plaf/basic/BasicScrollPaneUI.java ! src/share/classes/javax/swing/plaf/basic/BasicSliderUI.java ! src/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java ! src/share/classes/javax/swing/plaf/basic/BasicTableHeaderUI.java ! src/share/classes/javax/swing/plaf/basic/BasicTextUI.java ! src/share/classes/javax/swing/plaf/basic/BasicViewportUI.java ! src/share/classes/javax/swing/plaf/metal/MetalComboBoxUI.java ! src/share/classes/javax/swing/plaf/metal/MetalScrollPaneUI.java ! src/share/classes/javax/swing/plaf/nimbus/NimbusStyle.java ! src/share/classes/javax/swing/plaf/synth/SynthButtonUI.java ! src/share/classes/javax/swing/plaf/synth/SynthColorChooserUI.java ! src/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java ! src/share/classes/javax/swing/plaf/synth/SynthDesktopIconUI.java ! src/share/classes/javax/swing/plaf/synth/SynthDesktopPaneUI.java ! src/share/classes/javax/swing/plaf/synth/SynthEditorPaneUI.java ! src/share/classes/javax/swing/plaf/synth/SynthInternalFrameUI.java ! src/share/classes/javax/swing/plaf/synth/SynthLabelUI.java ! src/share/classes/javax/swing/plaf/synth/SynthListUI.java ! src/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java ! src/share/classes/javax/swing/plaf/synth/SynthMenuBarUI.java ! src/share/classes/javax/swing/plaf/synth/SynthMenuItemUI.java ! src/share/classes/javax/swing/plaf/synth/SynthMenuUI.java ! src/share/classes/javax/swing/plaf/synth/SynthOptionPaneUI.java ! src/share/classes/javax/swing/plaf/synth/SynthPanelUI.java ! src/share/classes/javax/swing/plaf/synth/SynthParser.java ! src/share/classes/javax/swing/plaf/synth/SynthPopupMenuUI.java ! src/share/classes/javax/swing/plaf/synth/SynthProgressBarUI.java ! src/share/classes/javax/swing/plaf/synth/SynthRootPaneUI.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/SynthSeparatorUI.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/SynthSplitPaneUI.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/SynthTextFieldUI.java ! src/share/classes/javax/swing/plaf/synth/SynthTextPaneUI.java ! src/share/classes/javax/swing/plaf/synth/SynthToolBarUI.java ! src/share/classes/javax/swing/plaf/synth/SynthToolTipUI.java ! src/share/classes/javax/swing/plaf/synth/SynthTreeUI.java ! src/share/classes/javax/swing/plaf/synth/SynthViewportUI.java ! src/share/classes/javax/swing/table/DefaultTableCellRenderer.java ! src/share/classes/javax/swing/text/DefaultCaret.java ! src/share/classes/javax/swing/text/DefaultEditorKit.java ! src/share/classes/javax/swing/text/DefaultFormatter.java ! src/share/classes/javax/swing/text/DefaultHighlighter.java ! src/share/classes/javax/swing/text/DefaultStyledDocument.java ! src/share/classes/javax/swing/text/GlyphView.java ! src/share/classes/javax/swing/text/InternationalFormatter.java ! src/share/classes/javax/swing/text/JTextComponent.java ! src/share/classes/javax/swing/text/MaskFormatter.java ! src/share/classes/javax/swing/text/NumberFormatter.java ! src/share/classes/javax/swing/text/PlainDocument.java ! src/share/classes/javax/swing/text/TabSet.java ! src/share/classes/javax/swing/text/Utilities.java ! src/share/classes/javax/swing/text/WrappedPlainView.java ! src/share/classes/javax/swing/text/html/FormView.java ! src/share/classes/javax/swing/text/html/HTMLDocument.java ! src/share/classes/javax/swing/text/html/MinimalHTMLWriter.java ! src/share/classes/javax/swing/text/html/StyleSheet.java ! src/share/classes/javax/swing/text/html/parser/Parser.java ! src/share/classes/javax/swing/text/rtf/AbstractFilter.java ! src/share/classes/sun/applet/resources/MsgAppletViewer.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_pt_BR.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_zh_CN.java ! src/share/classes/sun/awt/AWTAccessor.java ! src/share/classes/sun/awt/EmbeddedFrame.java ! src/share/classes/sun/awt/HKSCS.java ! src/share/classes/sun/awt/PlatformFont.java ! src/share/classes/sun/awt/SunToolkit.java ! src/share/classes/sun/awt/UngrabEvent.java ! src/share/classes/sun/awt/dnd/SunDropTargetContextPeer.java ! src/share/classes/sun/awt/image/BufImgSurfaceData.java ! src/share/classes/sun/awt/image/ImageRepresentation.java ! src/share/classes/sun/awt/image/PNGImageDecoder.java ! src/share/classes/sun/dyn/AdapterMethodHandle.java ! src/share/classes/sun/dyn/BoundMethodHandle.java ! src/share/classes/sun/dyn/CallSiteImpl.java ! src/share/classes/sun/dyn/FilterGeneric.java ! src/share/classes/sun/dyn/FilterOneArgument.java ! src/share/classes/sun/dyn/FromGeneric.java ! src/share/classes/sun/dyn/Invokers.java ! src/share/classes/sun/dyn/MethodTypeImpl.java ! src/share/classes/sun/dyn/SpreadGeneric.java ! src/share/classes/sun/dyn/ToGeneric.java ! src/share/classes/sun/dyn/empty/Empty.java ! src/share/classes/sun/dyn/package-info.java ! src/share/classes/sun/dyn/util/BytecodeDescriptor.java ! src/share/classes/sun/dyn/util/BytecodeName.java ! src/share/classes/sun/dyn/util/ValueConversions.java ! src/share/classes/sun/dyn/util/VerifyAccess.java ! src/share/classes/sun/dyn/util/VerifyType.java ! src/share/classes/sun/dyn/util/Wrapper.java ! src/share/classes/sun/font/FontManagerFactory.java ! src/share/classes/sun/font/FontUtilities.java ! src/share/classes/sun/font/StrikeCache.java ! src/share/classes/sun/font/SunFontManager.java ! src/share/classes/sun/io/ByteToCharBig5.java ! src/share/classes/sun/io/ByteToCharBig5_HKSCS.java ! src/share/classes/sun/io/ByteToCharBig5_Solaris.java ! src/share/classes/sun/io/ByteToCharISO2022.java ! src/share/classes/sun/io/ByteToCharISO2022JP.java ! src/share/classes/sun/io/ByteToCharJISAutoDetect.java ! src/share/classes/sun/io/ByteToCharMS950_HKSCS.java ! src/share/classes/sun/io/ByteToCharUTF8.java ! src/share/classes/sun/io/CharToByteBig5.java ! src/share/classes/sun/io/CharToByteBig5_HKSCS.java ! src/share/classes/sun/io/CharToByteBig5_Solaris.java ! src/share/classes/sun/io/CharToByteDBCS_ASCII.java ! src/share/classes/sun/io/CharToByteDBCS_EBCDIC.java ! src/share/classes/sun/io/CharToByteMS950_HKSCS.java ! src/share/classes/sun/io/CharToBytePCK.java ! src/share/classes/sun/io/CharToByteUnicode.java ! src/share/classes/sun/io/Converters.java ! src/share/classes/sun/java2d/Disposer.java ! src/share/classes/sun/java2d/HeadlessGraphicsEnvironment.java ! src/share/classes/sun/java2d/SurfaceData.java ! src/share/classes/sun/java2d/cmm/CMSManager.java ! src/share/classes/sun/java2d/cmm/lcms/LCMS.java ! src/share/classes/sun/java2d/cmm/lcms/LCMSTransform.java ! src/share/classes/sun/java2d/loops/DrawParallelogram.java ! src/share/classes/sun/java2d/loops/FillParallelogram.java ! src/share/classes/sun/java2d/loops/GraphicsPrimitive.java ! src/share/classes/sun/java2d/loops/RenderLoops.java ! src/share/classes/sun/java2d/pipe/BufferedPaints.java ! src/share/classes/sun/java2d/pipe/LoopPipe.java ! src/share/classes/sun/java2d/pipe/RenderBuffer.java ! src/share/classes/sun/java2d/pisces/Curve.java ! src/share/classes/sun/java2d/pisces/Dasher.java ! src/share/classes/sun/java2d/pisces/Helpers.java ! src/share/classes/sun/java2d/pisces/PiscesCache.java ! src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java ! src/share/classes/sun/java2d/pisces/Renderer.java ! src/share/classes/sun/java2d/pisces/Stroker.java ! src/share/classes/sun/java2d/pisces/TransformingPathConsumer2D.java ! src/share/classes/sun/jkernel/DownloadManager.java ! src/share/classes/sun/jvmstat/monitor/AbstractMonitor.java ! src/share/classes/sun/jvmstat/monitor/Monitor.java ! src/share/classes/sun/jvmstat/monitor/Units.java ! src/share/classes/sun/jvmstat/monitor/Variability.java ! src/share/classes/sun/jvmstat/perfdata/monitor/PerfByteArrayMonitor.java ! src/share/classes/sun/jvmstat/perfdata/monitor/PerfIntegerMonitor.java ! src/share/classes/sun/jvmstat/perfdata/monitor/PerfLongMonitor.java ! src/share/classes/sun/jvmstat/perfdata/monitor/PerfStringConstantMonitor.java ! src/share/classes/sun/jvmstat/perfdata/monitor/PerfStringMonitor.java ! src/share/classes/sun/jvmstat/perfdata/monitor/PerfStringVariableMonitor.java ! src/share/classes/sun/jvmstat/perfdata/monitor/v1_0/PerfDataBuffer.java ! src/share/classes/sun/jvmstat/perfdata/monitor/v2_0/PerfDataBuffer.java ! src/share/classes/sun/launcher/resources/launcher_de.properties ! src/share/classes/sun/launcher/resources/launcher_es.properties ! src/share/classes/sun/launcher/resources/launcher_fr.properties ! src/share/classes/sun/launcher/resources/launcher_it.properties ! src/share/classes/sun/launcher/resources/launcher_ja.properties ! src/share/classes/sun/launcher/resources/launcher_ko.properties ! src/share/classes/sun/launcher/resources/launcher_pt_BR.properties ! src/share/classes/sun/launcher/resources/launcher_sv.properties ! src/share/classes/sun/launcher/resources/launcher_zh_CN.properties ! src/share/classes/sun/launcher/resources/launcher_zh_TW.properties ! src/share/classes/sun/management/Flag.java ! src/share/classes/sun/management/resources/agent_de.properties ! src/share/classes/sun/management/resources/agent_es.properties ! src/share/classes/sun/management/resources/agent_fr.properties ! src/share/classes/sun/management/resources/agent_it.properties ! src/share/classes/sun/management/resources/agent_ja.properties ! src/share/classes/sun/management/resources/agent_ko.properties ! src/share/classes/sun/management/resources/agent_pt_BR.properties ! src/share/classes/sun/management/resources/agent_sv.properties ! src/share/classes/sun/management/resources/agent_zh_CN.properties ! src/share/classes/sun/management/resources/agent_zh_TW.properties ! src/share/classes/sun/misc/BootClassLoaderHook.java ! src/share/classes/sun/misc/Launcher.java ! src/share/classes/sun/misc/VM.java ! src/share/classes/sun/net/InetAddressCachePolicy.java ! src/share/classes/sun/net/NetworkClient.java ! src/share/classes/sun/net/ftp/impl/FtpClient.java ! src/share/classes/sun/net/httpserver/ChunkedInputStream.java ! src/share/classes/sun/net/httpserver/Event.java ! src/share/classes/sun/net/httpserver/ExchangeImpl.java ! src/share/classes/sun/net/httpserver/FixedLengthInputStream.java ! src/share/classes/sun/net/httpserver/HttpConnection.java ! src/share/classes/sun/net/httpserver/Request.java ! src/share/classes/sun/net/httpserver/SSLStreams.java ! src/share/classes/sun/net/httpserver/ServerConfig.java ! src/share/classes/sun/net/httpserver/ServerImpl.java ! src/share/classes/sun/net/www/MessageHeader.java ! src/share/classes/sun/net/www/MimeTable.java ! src/share/classes/sun/net/www/http/HttpClient.java ! src/share/classes/sun/net/www/protocol/file/FileURLConnection.java ! src/share/classes/sun/net/www/protocol/ftp/FtpURLConnection.java ! src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java ! src/share/classes/sun/net/www/protocol/http/BasicAuthentication.java ! src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java ! src/share/classes/sun/nio/ch/CompletedFuture.java ! src/share/classes/sun/nio/ch/DatagramChannelImpl.java ! src/share/classes/sun/nio/ch/DatagramSocketAdaptor.java ! src/share/classes/sun/nio/ch/FileChannelImpl.java ! src/share/classes/sun/nio/ch/FileDispatcher.java ! src/share/classes/sun/nio/ch/IOUtil.java ! src/share/classes/sun/nio/ch/IOVecWrapper.java ! src/share/classes/sun/nio/ch/Interruptible.java ! src/share/classes/sun/nio/ch/ServerSocketAdaptor.java ! src/share/classes/sun/nio/ch/ServerSocketChannelImpl.java ! src/share/classes/sun/nio/ch/SocketAdaptor.java ! src/share/classes/sun/nio/ch/SocketChannelImpl.java ! src/share/classes/sun/nio/ch/Util.java ! src/share/classes/sun/nio/cs/AbstractCharsetProvider.java ! src/share/classes/sun/nio/cs/UTF_32Coder.java ! src/share/classes/sun/nio/cs/UTF_8.java ! src/share/classes/sun/nio/cs/UnicodeEncoder.java ! src/share/classes/sun/nio/cs/ext/Big5_HKSCS_2001.java ! src/share/classes/sun/nio/cs/ext/Big5_Solaris.java ! src/share/classes/sun/nio/cs/ext/DoubleByte.java ! src/share/classes/sun/nio/cs/ext/EUC_JP.java ! src/share/classes/sun/nio/cs/ext/EUC_JP_LINUX.java ! src/share/classes/sun/nio/cs/ext/EUC_JP_Open.java ! src/share/classes/sun/nio/cs/ext/EUC_TW.java ! src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java ! src/share/classes/sun/nio/cs/ext/GB18030.java ! src/share/classes/sun/nio/cs/ext/IBM33722.java ! src/share/classes/sun/nio/cs/ext/IBM964.java ! src/share/classes/sun/nio/cs/ext/ISO2022.java ! src/share/classes/sun/nio/cs/ext/JISAutoDetect.java ! src/share/classes/sun/nio/cs/ext/MS950_HKSCS_XP.java ! src/share/classes/sun/nio/cs/ext/PCK.java ! src/share/classes/sun/nio/cs/ext/SJIS.java ! src/share/classes/sun/nio/fs/AbstractPath.java ! src/share/classes/sun/nio/fs/AbstractWatchKey.java ! src/share/classes/sun/rmi/registry/resources/rmiregistry_pt_BR.properties ! src/share/classes/sun/rmi/rmic/BatchEnvironment.java ! src/share/classes/sun/rmi/rmic/resources/rmic.properties ! src/share/classes/sun/rmi/rmic/resources/rmic_ja.properties ! src/share/classes/sun/rmi/rmic/resources/rmic_zh_CN.properties ! src/share/classes/sun/rmi/server/resources/rmid_pt_BR.properties ! src/share/classes/sun/security/jca/Providers.java ! src/share/classes/sun/security/jgss/krb5/InitialToken.java ! src/share/classes/sun/security/pkcs11/P11ECKeyFactory.java ! src/share/classes/sun/security/pkcs11/wrapper/PKCS11Exception.java ! src/share/classes/sun/security/provider/JavaKeyStore.java ! src/share/classes/sun/security/ssl/Krb5Helper.java ! src/share/classes/sun/security/ssl/Krb5Proxy.java ! src/share/classes/sun/security/ssl/krb5/Krb5ProxyImpl.java ! src/share/classes/sun/security/tools/JarSignerResources_ja.java ! src/share/classes/sun/security/tools/JarSignerResources_zh_CN.java ! src/share/classes/sun/security/util/AuthResources_de.java ! src/share/classes/sun/security/util/AuthResources_es.java ! src/share/classes/sun/security/util/AuthResources_fr.java ! src/share/classes/sun/security/util/AuthResources_it.java ! src/share/classes/sun/security/util/AuthResources_ja.java ! src/share/classes/sun/security/util/AuthResources_ko.java ! src/share/classes/sun/security/util/AuthResources_pt_BR.java ! src/share/classes/sun/security/util/AuthResources_sv.java ! src/share/classes/sun/security/util/AuthResources_zh_CN.java ! src/share/classes/sun/security/util/AuthResources_zh_TW.java ! src/share/classes/sun/security/util/Resources_fr.java ! src/share/classes/sun/security/util/Resources_it.java ! src/share/classes/sun/security/util/Resources_pt_BR.java ! src/share/classes/sun/security/x509/X509Key.java ! src/share/classes/sun/swing/SwingUtilities2.java ! src/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java ! src/share/classes/sun/swing/table/DefaultTableCellHeaderRenderer.java ! src/share/classes/sun/text/resources/FormatData_be.java ! src/share/classes/sun/text/resources/FormatData_fr.java ! src/share/classes/sun/text/resources/FormatData_fr_BE.java ! src/share/classes/sun/text/resources/FormatData_fr_CA.java ! src/share/classes/sun/text/resources/FormatData_fr_CH.java ! src/share/classes/sun/tools/jar/Main.java ! src/share/classes/sun/tools/jar/resources/jar_pt_BR.properties ! src/share/classes/sun/tools/jconsole/resources/JConsoleResources.java ! src/share/classes/sun/tools/jconsole/resources/JConsoleResources_ja.java ! src/share/classes/sun/tools/jconsole/resources/JConsoleResources_zh_CN.java ! src/share/classes/sun/tools/jstat/Arguments.java ! src/share/classes/sun/tools/jstat/ExpressionResolver.java ! src/share/classes/sun/tools/jstat/JStatLogger.java ! src/share/classes/sun/tools/jstat/Jstat.java ! src/share/classes/sun/tools/jstat/OptionFinder.java ! src/share/classes/sun/tools/jstat/OptionLister.java ! src/share/classes/sun/tools/jstat/resources/jstat_options ! src/share/classes/sun/tools/native2ascii/resources/MsgNative2ascii.java ! src/share/classes/sun/util/BuddhistCalendar.java ! src/share/classes/sun/util/calendar/ZoneInfoFile.java ! src/share/classes/sun/util/logging/PlatformLogger.java ! src/share/classes/sun/util/logging/resources/logging_pt_BR.properties ! src/share/classes/sun/util/resources/CalendarData_hu.properties ! src/share/classes/sun/util/resources/CurrencyNames_uk_UA.properties ! src/share/classes/sun/util/resources/LocaleNames.properties ! src/share/classes/sun/util/resources/LocaleNames_nl.properties ! src/share/classes/sun/util/resources/LocaleNames_zh.properties ! src/share/classes/sun/util/resources/LocaleNames_zh_TW.properties ! src/share/demo/java2d/J2DBench/src/j2dbench/J2DBench.java ! src/share/demo/java2d/J2DBench/src/j2dbench/Option.java ! src/share/demo/java2d/J2DBench/src/j2dbench/Result.java ! src/share/demo/java2d/J2DBench/src/j2dbench/report/J2DAnalyzer.java ! src/share/demo/java2d/J2DBench/src/j2dbench/tests/GraphicsTests.java ! src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextTests.java ! src/share/demo/jvmti/hprof/sample.makefile.txt ! src/share/javavm/export/classfile_constants.h ! src/share/native/com/sun/java/util/jar/pack/bytes.cpp ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp ! src/share/native/common/check_code.c ! src/share/native/common/jdk_util.c ! src/share/native/common/jni_util.c ! src/share/native/java/io/RandomAccessFile.c ! src/share/native/java/io/io_util.c ! src/share/native/java/io/io_util.h ! src/share/native/java/lang/Class.c ! src/share/native/java/lang/ClassLoader.c ! src/share/native/java/lang/System.c ! src/share/native/java/lang/fdlibm/include/fdlibm.h ! src/share/native/java/lang/java_props.h ! src/share/native/java/lang/reflect/Proxy.c ! src/share/native/java/net/net_util.c ! src/share/native/java/nio/Bits.c ! src/share/native/java/util/zip/Deflater.c ! src/share/native/java/util/zip/Inflater.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 ! src/share/native/sun/awt/image/BufImgSurfaceData.c ! src/share/native/sun/awt/image/jpeg/imageioJPEG.c ! src/share/native/sun/awt/medialib/awt_ImagingLib.c ! src/share/native/sun/awt/medialib/mlib_ImageLookUp_64.c ! src/share/native/sun/awt/medialib/safe_alloc.h ! src/share/native/sun/awt/splashscreen/splashscreen_gif.c ! src/share/native/sun/awt/splashscreen/splashscreen_png.c ! src/share/native/sun/font/AccelGlyphCache.c ! src/share/native/sun/font/fontscalerdefs.h ! src/share/native/sun/font/freetypeScaler.c ! src/share/native/sun/font/sunFont.c ! src/share/native/sun/java2d/cmm/lcms/LCMS.c ! src/share/native/sun/java2d/loops/Any3Byte.c ! src/share/native/sun/java2d/loops/Any4Byte.c ! src/share/native/sun/java2d/loops/AnyByte.c ! src/share/native/sun/java2d/loops/AnyInt.c ! src/share/native/sun/java2d/loops/AnyShort.c ! src/share/native/sun/java2d/loops/DrawParallelogram.c ! src/share/native/sun/java2d/loops/FillParallelogram.c ! src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.c ! src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ! src/share/native/sun/java2d/loops/LoopMacros.h ! src/share/native/sun/java2d/loops/ProcessPath.c ! src/share/native/sun/java2d/opengl/OGLTextRenderer.c ! src/share/native/sun/management/Flag.c ! src/share/native/sun/misc/VM.c ! src/share/native/sun/misc/VMSupport.c ! src/share/native/sun/security/ec/ECC_JNI.cpp ! src/share/sample/nio/file/Chmod.java ! src/share/sample/nio/file/Copy.java ! src/share/sample/nio/file/WatchDir.java ! src/solaris/bin/jexec.c ! src/solaris/classes/java/io/UnixFileSystem.java ! src/solaris/classes/java/lang/ProcessImpl.java ! src/solaris/classes/java/lang/UNIXProcess.java.linux ! src/solaris/classes/java/lang/UNIXProcess.java.solaris ! src/solaris/classes/sun/awt/UNIXToolkit.java ! src/solaris/classes/sun/awt/X11/InfoWindow.java ! src/solaris/classes/sun/awt/X11/XBaseWindow.java ! src/solaris/classes/sun/awt/X11/XDecoratedPeer.java ! src/solaris/classes/sun/awt/X11/XEmbeddedFrame.java ! src/solaris/classes/sun/awt/X11/XEmbeddedFramePeer.java ! src/solaris/classes/sun/awt/X11/XFileDialogPeer.java ! src/solaris/classes/sun/awt/X11/XFramePeer.java ! src/solaris/classes/sun/awt/X11/XRobotPeer.java ! src/solaris/classes/sun/awt/X11/XTextAreaPeer.java ! src/solaris/classes/sun/awt/X11/XTrayIconPeer.java ! src/solaris/classes/sun/awt/X11/XWindow.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java ! src/solaris/classes/sun/awt/X11GraphicsDevice.java ! src/solaris/classes/sun/awt/X11GraphicsEnvironment.java ! src/solaris/classes/sun/awt/X11InputMethod.java ! src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Fedora.properties ! src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties ! src/solaris/classes/sun/awt/fontconfigs/solaris.fontconfig.properties ! src/solaris/classes/sun/awt/motif/MToolkit.java ! src/solaris/classes/sun/java2d/UnixSurfaceManagerFactory.java ! src/solaris/classes/sun/java2d/x11/X11SurfaceData.java ! src/solaris/classes/sun/net/NetHooks.java ! src/solaris/classes/sun/net/sdp/SdpProvider.java ! src/solaris/classes/sun/nio/ch/DevPollSelectorImpl.java ! src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java ! src/solaris/classes/sun/nio/ch/FileDispatcherImpl.java ! src/solaris/classes/sun/nio/ch/InheritedChannel.java ! src/solaris/classes/sun/nio/ch/LinuxAsynchronousChannelProvider.java ! src/solaris/classes/sun/nio/ch/PipeImpl.java ! src/solaris/classes/sun/nio/ch/PollSelectorImpl.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/SctpServerChannelImpl.java ! src/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java ! src/solaris/classes/sun/nio/cs/ext/COMPOUND_TEXT_Encoder.java ! src/solaris/classes/sun/nio/cs/ext/CompoundTextSupport.java ! src/solaris/classes/sun/nio/fs/LinuxFileStore.java ! src/solaris/classes/sun/nio/fs/SolarisFileStore.java ! src/solaris/classes/sun/nio/fs/UnixDirectoryStream.java ! src/solaris/classes/sun/nio/fs/UnixFileStore.java ! src/solaris/classes/sun/nio/fs/UnixPath.java ! src/solaris/classes/sun/nio/fs/UnixSecureDirectoryStream.java ! src/solaris/classes/sun/tools/attach/LinuxVirtualMachine.java ! src/solaris/classes/sun/tools/attach/SolarisVirtualMachine.java ! src/solaris/demo/jni/Poller/Poller.c ! src/solaris/native/java/io/FileOutputStream_md.c ! src/solaris/native/java/io/UnixFileSystem_md.c ! src/solaris/native/java/io/canonicalize_md.c ! src/solaris/native/java/io/io_util_md.c ! src/solaris/native/java/io/io_util_md.h ! src/solaris/native/java/lang/java_props_md.c ! src/solaris/native/java/lang/locale_str.h ! src/solaris/native/java/net/Inet4AddressImpl.c ! src/solaris/native/java/net/Inet6AddressImpl.c ! src/solaris/native/java/net/NetworkInterface.c ! src/solaris/native/java/net/PlainDatagramSocketImpl.c ! src/solaris/native/java/net/PlainSocketImpl.c ! src/solaris/native/java/net/net_util_md.c ! src/solaris/native/java/net/net_util_md.h ! src/solaris/native/java/nio/MappedByteBuffer.c ! src/solaris/native/sun/awt/awt.h ! src/solaris/native/sun/awt/awt_DrawingSurface.c ! src/solaris/native/sun/awt/awt_InputMethod.c ! src/solaris/native/sun/awt/awt_Robot.c ! src/solaris/native/sun/awt/awt_UNIXToolkit.c ! src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpS32S16Func.c ! src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpS32U16Func.c ! src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpSIS32S16Func.c ! src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpSIS32U16Func.c ! src/solaris/native/sun/awt/swing_GTKStyle.c ! src/solaris/native/sun/java2d/loops/java2d_Mlib.c ! src/solaris/native/sun/java2d/loops/vis_FuncArray.c ! src/solaris/native/sun/java2d/opengl/GLXSurfaceData.c ! src/solaris/native/sun/java2d/x11/X11SurfaceData.c ! src/solaris/native/sun/java2d/x11/X11SurfaceData.h ! src/solaris/native/sun/net/sdp/SdpSupport.c ! src/solaris/native/sun/net/spi/DefaultProxySelector.c ! src/solaris/native/sun/nio/ch/IOUtil.c ! src/solaris/native/sun/nio/ch/Net.c ! src/solaris/native/sun/nio/ch/SctpNet.c ! src/solaris/native/sun/nio/ch/SocketChannelImpl.c ! src/solaris/native/sun/nio/ch/UnixAsynchronousSocketChannelImpl.c ! src/solaris/native/sun/xawt/XlibWrapper.c ! src/solaris/native/sun/xawt/awt_Desktop.c ! src/windows/classes/java/io/Win32FileSystem.java ! src/windows/classes/java/lang/ProcessImpl.java ! src/windows/classes/sun/awt/Win32GraphicsDevice.java ! src/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java ! src/windows/classes/sun/awt/windows/WComponentPeer.java ! src/windows/classes/sun/awt/windows/WEmbeddedFrame.java ! src/windows/classes/sun/awt/windows/WFileDialogPeer.java ! src/windows/classes/sun/awt/windows/WFramePeer.java ! src/windows/classes/sun/awt/windows/WInputMethod.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/awt/windows/fontconfig.properties ! src/windows/classes/sun/java2d/d3d/D3DScreenUpdateManager.java ! src/windows/classes/sun/nio/ch/FileDispatcherImpl.java ! src/windows/classes/sun/nio/ch/WindowsAsynchronousChannelProvider.java ! src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java ! src/windows/classes/sun/nio/ch/WindowsSelectorImpl.java ! src/windows/classes/sun/nio/fs/WindowsChannelFactory.java ! src/windows/classes/sun/nio/fs/WindowsDirectoryStream.java ! src/windows/native/com/sun/media/sound/PLATFORM_API_WinOS_DirectSound.cpp ! src/windows/native/common/jni_util_md.c ! src/windows/native/java/io/FileOutputStream_md.c ! src/windows/native/java/io/WinNTFileSystem_md.c ! src/windows/native/java/io/io_util_md.c ! src/windows/native/java/io/io_util_md.h ! src/windows/native/java/lang/ProcessImpl_md.c ! src/windows/native/java/lang/java_props_md.c ! src/windows/native/java/net/NetworkInterface_winXP.c ! src/windows/native/java/net/TwoStacksPlainDatagramSocketImpl.c ! src/windows/native/java/net/net_util_md.h ! src/windows/native/java/nio/MappedByteBuffer.c ! src/windows/native/java/util/TimeZone_md.c ! src/windows/native/sun/font/fontpath.c ! src/windows/native/sun/java2d/d3d/D3DGraphicsDevice.cpp ! src/windows/native/sun/java2d/d3d/D3DPipelineManager.cpp ! src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ! src/windows/native/sun/java2d/opengl/WGLSurfaceData.c ! src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.cpp ! src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ! src/windows/native/sun/java2d/windows/WindowsFlags.cpp ! src/windows/native/sun/jkernel/DownloadDialog.cpp ! src/windows/native/sun/jkernel/DownloadHelper.cpp ! src/windows/native/sun/jkernel/kernel.rc ! src/windows/native/sun/jkernel/kernel_pt_BR.rc ! src/windows/native/sun/jkernel/stdafx.h ! src/windows/native/sun/net/spi/DefaultProxySelector.c ! src/windows/native/sun/nio/ch/DatagramChannelImpl.c ! src/windows/native/sun/nio/ch/FileDispatcherImpl.c ! src/windows/native/sun/nio/ch/Net.c ! src/windows/native/sun/nio/ch/ServerSocketChannelImpl.c ! src/windows/native/sun/nio/ch/SocketChannelImpl.c ! src/windows/native/sun/nio/ch/SocketDispatcher.c ! src/windows/native/sun/nio/ch/WindowsAsynchronousFileChannelImpl.c ! src/windows/native/sun/nio/ch/WindowsSelectorImpl.c ! src/windows/native/sun/nio/ch/nio_util.h ! src/windows/native/sun/windows/WPrinterJob.cpp ! src/windows/native/sun/windows/awt.h ! src/windows/native/sun/windows/awt_BitmapUtil.cpp ! src/windows/native/sun/windows/awt_Choice.cpp ! src/windows/native/sun/windows/awt_Choice.h ! src/windows/native/sun/windows/awt_DataTransferer.cpp ! src/windows/native/sun/windows/awt_Desktop.cpp ! src/windows/native/sun/windows/awt_DesktopProperties.cpp ! src/windows/native/sun/windows/awt_Dialog.cpp ! src/windows/native/sun/windows/awt_DnDDS.cpp ! src/windows/native/sun/windows/awt_DrawingSurface.h ! src/windows/native/sun/windows/awt_FileDialog.cpp ! src/windows/native/sun/windows/awt_FileDialog.h ! src/windows/native/sun/windows/awt_Font.cpp ! src/windows/native/sun/windows/awt_InputMethod.cpp ! src/windows/native/sun/windows/awt_MenuItem.cpp ! src/windows/native/sun/windows/awt_PrintJob.cpp ! src/windows/native/sun/windows/awt_Robot.cpp ! src/windows/native/sun/windows/awt_TextArea.cpp ! src/windows/native/sun/windows/awt_TextComponent.h ! src/windows/native/sun/windows/awt_TextField.cpp ! src/windows/native/sun/windows/awt_TextField.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/awtmsg.h ! test/com/sun/crypto/provider/KeyFactory/TestProviderLeak.java ! test/com/sun/crypto/provider/TLS/TestPremaster.java ! test/com/sun/crypto/provider/TLS/Utils.java ! test/com/sun/java/swing/plaf/gtk/Test6635110.java ! test/com/sun/jdi/PopAndInvokeTest.java ! test/com/sun/jdi/connect/spi/JdiLoadedByCustomLoader.sh ! test/com/sun/net/httpserver/Test.java ! test/com/sun/net/httpserver/Test1.java ! test/com/sun/net/httpserver/Test11.java ! test/com/sun/net/httpserver/Test12.java ! test/com/sun/net/httpserver/Test13.java ! test/com/sun/net/httpserver/Test6a.java ! test/com/sun/net/httpserver/Test7a.java ! test/com/sun/net/httpserver/Test8a.java ! test/com/sun/net/httpserver/Test9.java ! test/com/sun/net/httpserver/Test9a.java ! test/com/sun/net/httpserver/bugs/6725892/Test.java ! test/com/sun/net/httpserver/bugs/B6361557.java ! test/com/sun/net/httpserver/bugs/B6373555.java ! test/com/sun/net/httpserver/bugs/B6401598.java ! test/com/sun/nio/sctp/SctpChannel/Connect.java ! test/com/sun/nio/sctp/SctpChannel/Send.java ! test/com/sun/nio/sctp/SctpChannel/SocketOptionTests.java ! test/com/sun/nio/sctp/SctpMultiChannel/Send.java ! test/com/sun/servicetag/FindServiceTags.java ! test/com/sun/servicetag/JavaServiceTagTest1.java ! test/com/sun/servicetag/SystemRegistryTest.java ! test/com/sun/servicetag/Util.java ! test/com/sun/tools/attach/ProviderTests.sh ! test/com/sun/tracing/BasicFunctionality.java ! test/java/awt/EventDispatchThread/LoopRobustness/LoopRobustness.java ! test/java/awt/EventQueue/PushPopDeadlock2/PushPopTest.java ! test/java/awt/FileDialog/FilenameFilterTest/FilenameFilterTest.java ! test/java/awt/TextArea/UsingWithMouse/SelectionAutoscrollTest.java ! test/java/awt/TextField/ScrollSelectionTest/ScrollSelectionTest.java ! test/java/awt/event/MouseEvent/SpuriousExitEnter/SpuriousExitEnter_3.java ! test/java/awt/regtesthelpers/process/ProcessCommunicator.java ! test/java/beans/Beans/Test4080522.java ! test/java/beans/EventHandler/Test6277246.java ! test/java/beans/EventHandler/Test6277266.java ! test/java/beans/Introspector/Test6277246.java ! test/java/beans/XMLEncoder/java_awt_GridBagConstraints.java ! test/java/io/BufferedReader/BigMark.java ! test/java/io/BufferedReader/ReadLineSync.java ! test/java/io/DataInputStream/OpsAfterClose.java ! test/java/io/DataInputStream/ReadFully.java ! test/java/io/File/Basic.java ! test/java/io/File/DeleteOnExit.java ! test/java/io/File/DeleteOnExitNPE.java ! test/java/io/File/IsHidden.java ! test/java/io/File/SetAccess.java ! test/java/io/File/SetReadOnly.java ! test/java/io/FileInputStream/LeadingSlash.java ! test/java/io/InputStream/OpsAfterClose.java ! test/java/io/InputStream/ReadParams.java ! test/java/io/InputStreamReader/GrowAfterEOF.java ! test/java/io/ObjectInputStream/ResolveProxyClass.java ! test/java/io/RandomAccessFile/EOF.java ! test/java/io/RandomAccessFile/ParameterCheck.java ! test/java/io/RandomAccessFile/ReadLine.java ! test/java/io/RandomAccessFile/Seek.java ! test/java/io/RandomAccessFile/WriteBytesChars.java ! test/java/io/RandomAccessFile/WriteUTF.java ! test/java/io/RandomAccessFile/skipBytes/SkipBytes.java ! test/java/io/Reader/Skip.java ! test/java/io/Reader/SkipNegative.java ! test/java/io/Serializable/ClassCastExceptionDetail/Read.java ! test/java/io/Serializable/auditStreamSubclass/AuditStreamSubclass.java ! test/java/io/Serializable/backRefCNFException/Read.java ! test/java/io/Serializable/checkModifiers/CheckModifiers.java ! test/java/io/Serializable/classDescFlagConflict/Read.java ! test/java/io/Serializable/classDescHooks/ClassDescHooks.java ! test/java/io/Serializable/duplicateSerialFields/Test.java ! test/java/io/Serializable/enum/badResolve/Read.java ! test/java/io/Serializable/enum/constantSubclasses/Read.java ! test/java/io/Serializable/enum/missingConstant/Read.java ! test/java/io/Serializable/evolution/RenamePackage/run.sh ! test/java/io/Serializable/fieldTypeString/Read.java ! test/java/io/Serializable/illegalHandle/Test.java ! test/java/io/Serializable/longString/LongString.java ! test/java/io/Serializable/oldTests/AnnotateClass.java ! test/java/io/Serializable/oldTests/ArrayFields.java ! test/java/io/Serializable/oldTests/ArraysOfArrays.java ! test/java/io/Serializable/oldTests/BinaryTree.java ! test/java/io/Serializable/oldTests/CircularList.java ! test/java/io/Serializable/oldTests/SimpleArrays.java ! test/java/io/Serializable/oldTests/WritePrimitive.java ! test/java/io/Serializable/packageAccess/Test.java ! test/java/io/Serializable/parents/EvolvedClass.java ! test/java/io/Serializable/parents/OriginalClass.java ! test/java/io/Serializable/proxy/Basic.java ! test/java/io/Serializable/proxy/skipMissing/Read.java ! test/java/io/Serializable/proxy/skipMissing/Write.java ! test/java/io/Serializable/readObjectNoData/Read.java ! test/java/io/Serializable/serialver/classpath/run.sh ! test/java/io/Serializable/serialver/nested/run.sh ! test/java/io/Serializable/skipWriteObject/Read.java ! test/java/io/Serializable/skippedObjCNFException/Read.java ! test/java/io/Serializable/stopCustomDeserialization/Read.java ! test/java/io/Serializable/unresolvedClassDesc/Read.java ! test/java/io/Serializable/unshared/Read.java ! test/java/io/Serializable/wrongReturnTypes/Read.java ! test/java/io/StreamTokenizer/Comment.java ! test/java/io/pathNames/GeneralWin32.java ! test/java/io/readBytes/ReadBytesBounds.java ! test/java/lang/ClassLoader/UninitializedParent.java ! test/java/lang/ClassLoader/deadlock/TestCrossDelegate.sh ! test/java/lang/ClassLoader/deadlock/TestOneWayDelegate.sh ! test/java/lang/ClassLoader/defineClass/DefineClassByteBuffer.java ! test/java/lang/ClassLoader/findSystemClass/Loader.java ! test/java/lang/ProcessBuilder/Basic.java ! test/java/lang/Runtime/exec/ExecWithDir.java ! test/java/lang/String/Supplementary.java ! test/java/lang/StringBuffer/Supplementary.java ! test/java/lang/StringBuilder/Supplementary.java ! test/java/lang/StringCoding/CheckEncodings.sh ! test/java/lang/System/ExitFinalizersAndJIT.java ! test/java/lang/System/IgnoreNullSecurityManager.java ! test/java/lang/Thread/GenerifyStackTraces.java ! test/java/lang/Thread/StackTraces.java ! test/java/lang/annotation/ParameterAnnotations.java ! test/java/lang/management/ClassLoadingMXBean/LoadCounts.java ! test/java/lang/management/ManagementFactory/MXBeanProxyTest.java ! test/java/lang/management/MemoryMXBean/CollectionUsageThreshold.java ! test/java/lang/management/MemoryMXBean/CollectionUsageThresholdConcMarkSweepGC.sh ! test/java/lang/management/MemoryMXBean/LowMemoryTest.java ! test/java/lang/management/MemoryMXBean/MemoryManagement.java ! test/java/lang/management/MemoryMXBean/Pending.java ! test/java/lang/management/MemoryMXBean/ResetPeakMemoryUsage.java ! test/java/lang/management/MemoryPoolMXBean/ThresholdTest.java ! test/java/lang/management/RuntimeMXBean/UpTime.java ! test/java/lang/management/ThreadMXBean/AllThreadIds.java ! test/java/lang/management/ThreadMXBean/DisableTest.java ! test/java/lang/management/ThreadMXBean/EnableTest.java ! test/java/lang/management/ThreadMXBean/FindDeadlocks.java ! test/java/lang/management/ThreadMXBean/FindMonitorDeadlock.java ! test/java/lang/management/ThreadMXBean/Locks.java ! test/java/lang/reflect/Proxy/Boxing.java ! test/java/lang/reflect/Proxy/ClassRestrictions.java ! test/java/lang/reflect/Proxy/returnTypes/Test.java ! test/java/net/Authenticator/B4769350.java ! test/java/net/BindException/Test.java ! test/java/net/CookieHandler/CookieHandlerTest.java ! test/java/net/CookieHandler/TestHttpCookie.java ! test/java/net/DatagramSocket/DatagramTimeout.java ! test/java/net/DatagramSocket/SendSize.java ! test/java/net/Inet6Address/B6214234.java ! test/java/net/Inet6Address/B6558853.java ! test/java/net/Inet6Address/serialize/Serialize.java ! test/java/net/InetAddress/CheckJNI.java ! test/java/net/MulticastSocket/NoLoopbackPackets.java ! test/java/net/MulticastSocket/SetOutgoingIf.java ! test/java/net/ProxySelector/B6737819.java ! test/java/net/ResponseCache/B6181108.java ! test/java/net/ResponseCache/ResponseCacheTest.java ! test/java/net/ResponseCache/getResponseCode.java ! test/java/net/ServerSocket/AcceptCauseFileDescriptorLeak.java ! test/java/net/Socket/CloseAvailable.java ! test/java/net/Socket/DeadlockTest.java ! test/java/net/Socket/LingerTest.java ! test/java/net/Socket/LinkLocal.java ! test/java/net/Socket/ProxyCons.java ! test/java/net/Socket/ReadTimeout.java ! test/java/net/Socket/SetReceiveBufferSize.java ! test/java/net/Socket/SetSoLinger.java ! test/java/net/Socket/ShutdownBoth.java ! test/java/net/Socket/SoTimeout.java ! test/java/net/Socket/Timeout.java ! test/java/net/Socket/UrgentDataTest.java ! test/java/net/Socket/asyncClose/BrokenPipe.java ! test/java/net/Socket/setReuseAddress/Restart.java ! test/java/net/SocketInputStream/SocketClosedException.java ! test/java/net/SocketInputStream/SocketTimeout.java ! test/java/net/URI/Test.java ! test/java/net/URL/GetContent.java ! test/java/net/URL/TestIPv6Addresses.java ! test/java/net/URLClassLoader/ClassLoad.java ! test/java/net/URLClassLoader/HttpTest.java ! test/java/net/URLClassLoader/closetest/CloseTest.java ! test/java/net/URLConnection/B5052093.java ! test/java/net/URLConnection/DisconnectAfterEOF.java ! test/java/net/URLConnection/HandleContentTypeWithAttrs.java ! test/java/net/URLConnection/HttpContinueStackOverflow.java ! test/java/net/URLConnection/Redirect307Test.java ! test/java/net/URLConnection/RedirectLimit.java ! test/java/net/URLConnection/ResendPostBody.java ! test/java/net/URLConnection/SetIfModifiedSince.java ! test/java/net/URLConnection/TimeoutTest.java ! test/java/net/URLConnection/URLConnectionHeaders.java ! test/java/net/URLConnection/ZeroContentLength.java ! test/java/net/URLConnection/contentHandler/UserContentHandler.java ! test/java/net/ipv6tests/B6521014.java ! test/java/net/ipv6tests/TcpTest.java ! test/java/net/ipv6tests/Tests.java ! test/java/nio/Buffer/StringCharBufferSliceTest.java ! test/java/nio/BufferPoolMXBean/Basic.java ! test/java/nio/MappedByteBuffer/Basic.java ! test/java/nio/MappedByteBuffer/Force.java ! test/java/nio/MappedByteBuffer/ZeroMap.java ! test/java/nio/channels/AsyncCloseAndInterrupt.java ! test/java/nio/channels/AsynchronousChannelGroup/Basic.java ! test/java/nio/channels/AsynchronousChannelGroup/GroupOfOne.java ! test/java/nio/channels/AsynchronousChannelGroup/Identity.java ! test/java/nio/channels/AsynchronousFileChannel/Basic.java ! test/java/nio/channels/AsynchronousFileChannel/Lock.java ! test/java/nio/channels/AsynchronousServerSocketChannel/Basic.java ! test/java/nio/channels/AsynchronousSocketChannel/Basic.java ! test/java/nio/channels/AsynchronousSocketChannel/Leaky.java ! test/java/nio/channels/Channels/Basic2.java ! test/java/nio/channels/Channels/Write.java ! test/java/nio/channels/DatagramChannel/AdaptDatagramSocket.java ! test/java/nio/channels/DatagramChannel/Connect.java ! test/java/nio/channels/DatagramChannel/EmptyBuffer.java ! test/java/nio/channels/DatagramChannel/NoSender.java ! test/java/nio/channels/DatagramChannel/ReceiveISA.java ! test/java/nio/channels/DatagramChannel/SRTest.java ! test/java/nio/channels/DatagramChannel/Sender.java ! test/java/nio/channels/DatagramChannel/SocketOptionTests.java ! test/java/nio/channels/FileChannel/Args.java ! test/java/nio/channels/FileChannel/ClosedChannelTransfer.java ! test/java/nio/channels/FileChannel/ExpandingMap.java ! test/java/nio/channels/FileChannel/Lock.java ! test/java/nio/channels/FileChannel/MapOverEnd.java ! test/java/nio/channels/FileChannel/MapReadOnly.java ! test/java/nio/channels/FileChannel/MapTest.java ! test/java/nio/channels/FileChannel/Mode.java ! test/java/nio/channels/FileChannel/Position.java ! test/java/nio/channels/FileChannel/Pread.java ! test/java/nio/channels/FileChannel/Pwrite.java ! test/java/nio/channels/FileChannel/Read.java ! test/java/nio/channels/FileChannel/ReadFull.java ! test/java/nio/channels/FileChannel/ReadToLimit.java ! test/java/nio/channels/FileChannel/ReleaseOnCloseDeadlock.java ! test/java/nio/channels/FileChannel/ScatteringRead.java ! test/java/nio/channels/FileChannel/Size.java ! test/java/nio/channels/FileChannel/Transfer.java ! test/java/nio/channels/FileChannel/TransferToChannel.java ! test/java/nio/channels/FileChannel/TransferToNonWritable.java ! test/java/nio/channels/FileChannel/Transfers.java ! test/java/nio/channels/FileChannel/Truncate.java ! test/java/nio/channels/FileChannel/TryLock.java ! test/java/nio/channels/FileChannel/Write.java ! test/java/nio/channels/Pipe/NonBlocking.java ! test/java/nio/channels/Pipe/SelectPipe.java ! test/java/nio/channels/SelectionKey/AtomicAttachTest.java ! test/java/nio/channels/Selector/BasicAccept.java ! test/java/nio/channels/Selector/BasicConnect.java ! test/java/nio/channels/Selector/ByteServer.java ! test/java/nio/channels/Selector/CheckLocking.java ! test/java/nio/channels/Selector/CloseInvalidatesKeys.java ! test/java/nio/channels/Selector/CloseThenRegister.java ! test/java/nio/channels/Selector/CloseWhenKeyIdle.java ! test/java/nio/channels/Selector/Connect.java ! test/java/nio/channels/Selector/ConnectWrite.java ! test/java/nio/channels/Selector/HelperSlowToDie.java ! test/java/nio/channels/Selector/KeysReady.java ! test/java/nio/channels/Selector/LotsOfChannels.java ! test/java/nio/channels/Selector/OpRead.java ! test/java/nio/channels/Selector/ReadAfterConnect.java ! test/java/nio/channels/Selector/RegAfterPreClose.java ! test/java/nio/channels/Selector/SelectAfterRead.java ! test/java/nio/channels/Selector/SelectAndCancel.java ! test/java/nio/channels/Selector/SelectWrite.java ! test/java/nio/channels/Selector/SelectorLimit.java ! test/java/nio/channels/Selector/SelectorTest.java ! test/java/nio/channels/Selector/WakeupNow.java ! test/java/nio/channels/Selector/WakeupOverflow.java ! test/java/nio/channels/Selector/WakeupSpeed.java ! test/java/nio/channels/Selector/lots_of_updates.sh ! test/java/nio/channels/ServerSocketChannel/SocketOptionTests.java ! test/java/nio/channels/SocketChannel/AdaptSocket.java ! test/java/nio/channels/SocketChannel/BigReadWrite.java ! test/java/nio/channels/SocketChannel/Bind.java ! test/java/nio/channels/SocketChannel/Close.java ! test/java/nio/channels/SocketChannel/CloseRegisteredChannel.java ! test/java/nio/channels/SocketChannel/CloseTimeoutChannel.java ! test/java/nio/channels/SocketChannel/IsConnectable.java ! test/java/nio/channels/SocketChannel/LocalAddress.java ! test/java/nio/channels/SocketChannel/OpenLeak.java ! test/java/nio/channels/SocketChannel/SocketInheritance.java ! test/java/nio/channels/SocketChannel/SocketOptionTests.java ! test/java/nio/channels/SocketChannel/Trivial.java ! test/java/nio/channels/SocketChannel/UnboundSocketTests.java ! test/java/nio/channels/SocketChannel/VectorIO.java ! test/java/nio/channels/SocketChannel/Write.java ! test/java/nio/channels/etc/Shadow.java ! test/java/nio/channels/spi/AsynchronousChannelProvider/Provider1.java ! test/java/nio/channels/spi/AsynchronousChannelProvider/Provider2.java ! test/java/nio/channels/spi/AsynchronousChannelProvider/custom_provider.sh ! test/java/nio/channels/spi/SelectorProvider/inheritedChannel/ClosedStreams.java ! test/java/nio/channels/spi/SelectorProvider/inheritedChannel/EchoTest.java ! test/java/nio/file/DirectoryStream/Basic.java ! test/java/nio/file/DirectoryStream/SecureDS.java ! test/java/nio/file/FileStore/Basic.java ! test/java/nio/file/Files/Misc.java ! test/java/nio/file/Files/PrintFileTree.java ! test/java/nio/file/Files/SkipSiblings.java ! test/java/nio/file/Files/TerminateWalk.java ! test/java/nio/file/Files/WalkWithSecurity.java ! test/java/nio/file/Files/walk_file_tree.sh ! test/java/nio/file/Path/CheckPermissions.java ! test/java/nio/file/Path/CopyAndMove.java ! test/java/nio/file/Path/InterruptCopy.java ! test/java/nio/file/Path/Misc.java ! test/java/nio/file/Path/PathOps.java ! test/java/nio/file/Path/delete_on_close.sh ! test/java/nio/file/TestUtil.java ! test/java/security/Provider/Turkish.java ! test/java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh ! test/java/util/Collection/BiggernYours.java ! test/java/util/Collection/IteratorAtEnd.java ! test/java/util/Collection/MOAT.java ! test/java/util/Collections/RacingCollections.java ! test/java/util/Deque/ChorusLine.java ! test/java/util/Formatter/Constructors.java ! test/java/util/Locale/PrintDefaultLocale.java ! test/java/util/Locale/data/deflocale.c ! test/java/util/Locale/data/deflocale.sh ! test/java/util/PluggableLocale/ExecTest.sh ! test/java/util/ResourceBundle/Bug4168625Test.java ! test/java/util/ResourceBundle/Bug6299235Test.sh ! test/java/util/ResourceBundle/Bug6359330.java ! test/java/util/ResourceBundle/Control/ExpirationTest.sh ! test/java/util/ResourceBundle/Test4300693.java ! test/java/util/ResourceBundle/TestBug4179766.java ! test/java/util/ServiceLoader/basic.sh ! test/java/util/concurrent/BlockingQueue/Interrupt.java ! test/java/util/concurrent/ConcurrentQueues/OfferRemoveLoops.java ! test/java/util/concurrent/CopyOnWriteArrayList/EqualsRace.java ! test/java/util/concurrent/CopyOnWriteArraySet/RacingCows.java ! test/java/util/concurrent/CyclicBarrier/Basic.java ! test/java/util/concurrent/Executors/AutoShutdown.java ! test/java/util/concurrent/Executors/Throws.java ! test/java/util/concurrent/FutureTask/BlockingTaskExecutor.java ! test/java/util/concurrent/FutureTask/Customized.java ! test/java/util/concurrent/ThreadPoolExecutor/ConfigChanges.java ! test/java/util/concurrent/ThreadPoolExecutor/Custom.java ! test/java/util/concurrent/ThreadPoolExecutor/ScheduledTickleService.java ! test/java/util/concurrent/ThreadPoolExecutor/ShutdownNowExecuteRace.java ! test/java/util/concurrent/ThreadPoolExecutor/ThrowingTasks.java ! test/java/util/concurrent/atomic/VMSupportsCS8.java ! test/java/util/concurrent/locks/Lock/FlakyMutex.java ! test/java/util/concurrent/locks/Lock/TimedAcquireLeak.java ! test/java/util/concurrent/locks/ReentrantReadWriteLock/Bug6571733.java ! test/java/util/regex/RegExTest.java ! test/java/util/zip/ZipFile/ReadZip.java ! test/javax/imageio/CachePremissionsTest/CachePermissionsTest.java ! test/javax/print/attribute/ServiceDialogTest.java ! test/javax/print/attribute/SidesPageRangesTest.java ! test/javax/script/ProviderTest.sh ! test/javax/sound/midi/Gervill/AudioFloatConverter/ToFloatArray.java ! test/javax/sound/midi/Gervill/SoftAudioSynthesizer/DummySourceDataLine.java ! test/javax/sound/midi/Gervill/SoftSynthesizer/DummySourceDataLine.java ! test/javax/sound/midi/Gervill/SoftSynthesizer/LoadAllInstruments.java ! test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstrument.java ! test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstruments.java ! test/javax/sound/midi/Gervill/SoftSynthesizer/RemapInstrument.java ! test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadAllInstruments.java ! test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstrument.java ! test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstruments.java ! test/javax/swing/AbstractButton/6711682/bug6711682.java ! test/javax/swing/JLayer/SerializationTest/SerializationTest.java ! test/javax/swing/JTextArea/Test6593649.java ! test/javax/swing/plaf/nimbus/Test6919629.java ! test/javax/swing/system/6799345/TestShutdown.java ! test/sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java ! test/sun/java2d/GdiRendering/InsetClipping.java ! test/sun/java2d/SunGraphics2D/DrawImageBilinear.java ! test/sun/java2d/SunGraphics2D/SourceClippingBlitTest/SourceClippingBlitTest.java ! test/sun/java2d/X11SurfaceData/SharedMemoryPixmapsTest/SharedMemoryPixmapsTest.java ! test/sun/java2d/pipe/MutableColorTest/MutableColorTest.java ! test/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.sh ! test/sun/jvmstat/testlibrary/utils.sh ! test/sun/management/jmxremote/bootstrap/GeneratePropertyPassword.sh ! test/sun/misc/BootClassLoaderHook/TestHook.java ! test/sun/net/ftp/FtpGetContent.java ! test/sun/net/ftp/FtpURL.java ! test/sun/net/sdp/ProbeIB.java ! test/sun/net/sdp/sanity.sh ! test/sun/net/www/http/ChunkedInputStream/ChunkedEncodingTest.java ! test/sun/net/www/http/ChunkedInputStream/ChunkedEncodingWithProgressMonitorTest.java ! test/sun/net/www/http/ChunkedOutputStream/Test.java ! test/sun/net/www/http/HttpClient/B6726695.java ! test/sun/net/www/http/HttpClient/MultiThreadTest.java ! test/sun/net/www/http/HttpClient/ProxyTest.java ! test/sun/net/www/http/KeepAliveCache/B5045306.java ! test/sun/net/www/http/KeepAliveCache/KeepAliveTimerThread.java ! test/sun/net/www/http/KeepAliveStream/KeepAliveStreamCloseWithWrongContentLength.java ! test/sun/net/www/httptest/HttpServer.java ! test/sun/net/www/protocol/http/ChunkedErrorStream.java ! test/sun/net/www/protocol/http/DigestTest.java ! test/sun/nio/ch/Basic.java ! test/sun/nio/ch/TempBuffer.java ! test/sun/nio/cs/CheckHistoricalNames.java ! test/sun/nio/cs/FindDecoderBugs.java ! test/sun/nio/cs/ReadZero.java ! test/sun/nio/cs/Test4200310.sh ! test/sun/nio/cs/Test4206507.java ! test/sun/nio/cs/TestStringCoding.java ! test/sun/nio/cs/TestX11CNS.java ! test/sun/rmi/rmic/manifestClassPath/run.sh ! test/sun/security/krb5/auto/Context.java ! test/sun/security/pkcs11/KeyGenerator/TestKeyGenerator.java ! test/sun/security/pkcs11/tls/TestPremaster.java ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/ClientModeClientAuth.java ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/B6226610.java ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsPost.java ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/Redirect.java ! test/sun/text/resources/LocaleDataTest.java ! test/sun/tools/jps/jps-Vvml_2.sh ! test/sun/tools/jps/jps-help.sh ! test/sun/tools/jps/jps-m_2.sh ! test/sun/tools/jstat/jstatHelp.sh ! test/sun/tools/jstat/jstatOptions1.sh ! test/sun/tools/jstatd/jstatdDefaults.sh ! test/sun/tools/jstatd/jstatdExternalRegistry.sh ! test/sun/tools/jstatd/jstatdPort.sh ! test/sun/tools/jstatd/jstatdServerName.sh ! test/sun/tools/jstatd/jstatdUsage1.sh ! test/sun/util/logging/PlatformLoggerTest.java ! test/sun/util/resources/TimeZone/Bug6317929.java ! test/tools/jar/JarEntryTime.java ! test/tools/jar/index/MetaInf.java ! test/tools/launcher/ChangeDataModel.sh ! test/tools/launcher/DefaultLocaleTest.sh ! test/tools/launcher/UnicodeTest.sh Changeset: 1c72adc9d5f3 Author: ohair Date: 2010-12-28 16:12 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/1c72adc9d5f3 6991482: Add global jdk makefile options to silence some VS2010 warnings Reviewed-by: prr ! make/common/Defs-windows.gmk ! make/common/shared/Defs-windows.gmk ! make/common/shared/Sanity-Settings.gmk Changeset: 0a56bdd709d0 Author: cl Date: 2011-01-06 20:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/0a56bdd709d0 Added tag jdk7-b124 for changeset 1c72adc9d5f3 ! .hgtags From john.coomes at oracle.com Thu Jan 6 20:38:14 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 07 Jan 2011 04:38:14 +0000 Subject: hg: jdk7/hotspot/langtools: 2 new changesets Message-ID: <20110107043821.CC1DD47A33@hg.openjdk.java.net> Changeset: 4868a36f6fd8 Author: ohair Date: 2010-12-28 15:54 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/4868a36f6fd8 6962318: Update copyright year Reviewed-by: xdono ! make/Makefile ! make/build.properties ! make/tools/CompileProperties/CompileProperties.java ! make/tools/CompileProperties/CompilePropertiesTask.java ! src/share/classes/com/sun/mirror/util/SourceOrderDeclScanner.java ! src/share/classes/com/sun/source/tree/MethodTree.java ! src/share/classes/com/sun/source/tree/Tree.java ! src/share/classes/com/sun/source/tree/TreeVisitor.java ! src/share/classes/com/sun/source/tree/TryTree.java ! src/share/classes/com/sun/source/tree/TypeParameterTree.java ! src/share/classes/com/sun/source/util/SimpleTreeVisitor.java ! src/share/classes/com/sun/source/util/TreeScanner.java ! src/share/classes/com/sun/source/util/Trees.java ! src/share/classes/com/sun/tools/apt/comp/Apt.java ! src/share/classes/com/sun/tools/apt/main/CommandLine.java ! src/share/classes/com/sun/tools/apt/main/Main.java ! src/share/classes/com/sun/tools/apt/mirror/apt/FilerImpl.java ! src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationProxyMaker.java ! src/share/classes/com/sun/tools/apt/mirror/declaration/DeclarationImpl.java ! src/share/classes/com/sun/tools/apt/mirror/type/TypeMirrorImpl.java ! src/share/classes/com/sun/tools/apt/resources/apt_ja.properties ! src/share/classes/com/sun/tools/apt/resources/apt_zh_CN.properties ! src/share/classes/com/sun/tools/classfile/ClassWriter.java ! src/share/classes/com/sun/tools/classfile/ExtendedAnnotation.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractExecutableMemberWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractIndexWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractPackageIndexWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractTreeWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AllClassesFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/ConstantsSummaryWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/DeprecatedListWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/EnumConstantWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/FieldWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/FrameOutputWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HelpWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDoclet.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialFieldWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialMethodWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkFactoryImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/NestedClassWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageTreeWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/SerializedFormWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/SingleIndexWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/SourceToHTMLConverter.java ! src/share/classes/com/sun/tools/doclets/formats/html/SplitIndexWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/SubWriterHolderWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/TreeWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeOptionalMemberWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeRequiredMemberWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/ClassWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/ConstantsSummaryWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/ConstructorWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/EnumConstantWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/FieldWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/MemberSummaryWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/MethodWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/NestedClassWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/PackageSummaryWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/SerializedFormWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractMemberBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeOptionalMemberBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeRequiredMemberBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ClassBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstantsSummaryBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstructorBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/EnumConstantBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/FieldBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/LayoutParser.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MemberSummaryBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MethodBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PackageSummaryBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclet.xml ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DirectoryManager.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java ! src/share/classes/com/sun/tools/doclets/standard/Standard.java ! src/share/classes/com/sun/tools/javac/Launcher.java ! src/share/classes/com/sun/tools/javac/api/JavacTool.java ! src/share/classes/com/sun/tools/javac/code/Attribute.java ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Kinds.java ! src/share/classes/com/sun/tools/javac/code/Lint.java ! src/share/classes/com/sun/tools/javac/code/Source.java ! src/share/classes/com/sun/tools/javac/code/Symtab.java ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/code/TypeAnnotationPosition.java ! src/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Annotate.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/Enter.java ! src/share/classes/com/sun/tools/javac/comp/Flow.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/comp/TransTypes.java ! src/share/classes/com/sun/tools/javac/file/Paths.java ! src/share/classes/com/sun/tools/javac/jvm/CRTable.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javac/jvm/Code.java ! src/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/share/classes/com/sun/tools/javac/jvm/Items.java ! src/share/classes/com/sun/tools/javac/jvm/Target.java ! src/share/classes/com/sun/tools/javac/main/CommandLine.java ! src/share/classes/com/sun/tools/javac/main/Main.java ! src/share/classes/com/sun/tools/javac/main/OptionName.java ! src/share/classes/com/sun/tools/javac/main/RecognizedOptions.java ! src/share/classes/com/sun/tools/javac/model/AnnotationProxyMaker.java ! src/share/classes/com/sun/tools/javac/model/JavacElements.java ! src/share/classes/com/sun/tools/javac/model/JavacTypes.java ! src/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java ! src/share/classes/com/sun/tools/javac/nio/PathFileObject.java ! src/share/classes/com/sun/tools/javac/parser/Keywords.java ! src/share/classes/com/sun/tools/javac/processing/JavacFiler.java ! src/share/classes/com/sun/tools/javac/processing/JavacMessager.java ! src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java ! src/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/resources/compiler_ja.properties ! src/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties ! src/share/classes/com/sun/tools/javac/resources/javac.properties ! src/share/classes/com/sun/tools/javac/resources/javac_ja.properties ! src/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties ! src/share/classes/com/sun/tools/javac/resources/legacy.properties ! src/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/share/classes/com/sun/tools/javac/tree/Pretty.java ! src/share/classes/com/sun/tools/javac/tree/TreeCopier.java ! src/share/classes/com/sun/tools/javac/tree/TreeInfo.java ! src/share/classes/com/sun/tools/javac/tree/TreeMaker.java ! src/share/classes/com/sun/tools/javac/tree/TreeScanner.java ! src/share/classes/com/sun/tools/javac/tree/TreeTranslator.java ! src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/AbstractLog.java ! src/share/classes/com/sun/tools/javac/util/BaseFileManager.java ! src/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/Bits.java ! src/share/classes/com/sun/tools/javac/util/FatalError.java ! src/share/classes/com/sun/tools/javac/util/JCDiagnostic.java ! src/share/classes/com/sun/tools/javac/util/LayoutCharacters.java ! src/share/classes/com/sun/tools/javac/util/List.java ! src/share/classes/com/sun/tools/javac/util/Log.java ! src/share/classes/com/sun/tools/javac/util/MandatoryWarningHandler.java ! src/share/classes/com/sun/tools/javac/util/Options.java ! src/share/classes/com/sun/tools/javac/util/RawDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/Warner.java ! src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java ! src/share/classes/com/sun/tools/javadoc/DocEnv.java ! src/share/classes/com/sun/tools/javadoc/DocletInvoker.java ! src/share/classes/com/sun/tools/javadoc/JavadocClassReader.java ! src/share/classes/com/sun/tools/javadoc/Messager.java ! src/share/classes/com/sun/tools/javadoc/Start.java ! src/share/classes/com/sun/tools/javadoc/resources/javadoc.properties ! src/share/classes/com/sun/tools/javah/JNI.java ! src/share/classes/com/sun/tools/javah/LLNI.java ! src/share/classes/com/sun/tools/javah/Mangle.java ! src/share/classes/com/sun/tools/javah/TypeSignature.java ! src/share/classes/com/sun/tools/javah/resources/version.properties-template ! src/share/classes/com/sun/tools/javap/AnnotationWriter.java ! src/share/classes/com/sun/tools/javap/AttributeWriter.java ! src/share/classes/com/sun/tools/javap/ClassWriter.java ! src/share/classes/com/sun/tools/javap/CodeWriter.java ! src/share/classes/com/sun/tools/javap/SourceWriter.java ! src/share/classes/javax/lang/model/element/ElementKind.java ! src/share/classes/javax/lang/model/element/ElementVisitor.java ! src/share/classes/javax/lang/model/type/MirroredTypeException.java ! src/share/classes/javax/lang/model/type/MirroredTypesException.java ! src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor6.java ! src/share/classes/javax/lang/model/util/AbstractElementVisitor6.java ! src/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java ! src/share/classes/javax/lang/model/util/ElementKindVisitor6.java ! src/share/classes/javax/lang/model/util/ElementScanner6.java ! src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor6.java ! src/share/classes/javax/lang/model/util/SimpleElementVisitor6.java ! src/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java ! src/share/classes/javax/lang/model/util/TypeKindVisitor6.java ! src/share/classes/javax/tools/ToolProvider.java ! src/share/sample/javac/processing/src/CheckNamesProcessor.java ! test/com/sun/javadoc/AccessAsciiArt/AccessAsciiArt.java ! test/com/sun/javadoc/AccessH1/AccessH1.java ! test/com/sun/javadoc/AccessSkipNav/AccessSkipNav.java ! test/com/sun/javadoc/AccessSummary/AccessSummary.java ! test/com/sun/javadoc/AuthorDD/AuthorDD.java ! test/com/sun/javadoc/JavascriptWinTitle/JavascriptWinTitle.java ! test/com/sun/javadoc/MetaTag/MetaTag.java ! test/com/sun/javadoc/ValidHtml/ValidHtml.java ! test/com/sun/javadoc/VersionNumber/VersionNumber.java ! test/com/sun/javadoc/WindowTitles/WindowTitles.java ! test/com/sun/javadoc/constantValues/TestConstantValuesDriver.java ! test/com/sun/javadoc/testClassCrossReferences/TestClassCrossReferences.java ! test/com/sun/javadoc/testClassTree/TestClassTree.java ! test/com/sun/javadoc/testConstructorIndent/TestConstructorIndent.java ! test/com/sun/javadoc/testDeprecatedDocs/TestDeprecatedDocs.java ! test/com/sun/javadoc/testDocRootInlineTag/TestDocRootInlineTag.java ! test/com/sun/javadoc/testExternalOverridenMethod/TestExternalOverridenMethod.java ! test/com/sun/javadoc/testHeadings/TestHeadings.java ! test/com/sun/javadoc/testHelpOption/TestHelpOption.java ! test/com/sun/javadoc/testHref/TestHref.java ! test/com/sun/javadoc/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/com/sun/javadoc/testHtmlStrongTag/TestHtmlStrongTag.java ! test/com/sun/javadoc/testHtmlTableTags/TestHtmlTableTags.java ! test/com/sun/javadoc/testHtmlTag/TestHtmlTag.java ! test/com/sun/javadoc/testIndex/TestIndex.java ! test/com/sun/javadoc/testInlineLinkLabel/TestInlineLinkLabel.java ! test/com/sun/javadoc/testInterface/TestInterface.java ! test/com/sun/javadoc/testJavascript/TestJavascript.java ! test/com/sun/javadoc/testLinkOption/TestLinkOption.java ! test/com/sun/javadoc/testLinkTaglet/TestLinkTaglet.java ! test/com/sun/javadoc/testLinkToSerialForm/TestLinkToSerialForm.java ! test/com/sun/javadoc/testMemberInheritence/TestMemberInheritence.java ! test/com/sun/javadoc/testMemberSummary/TestMemberSummary.java ! test/com/sun/javadoc/testNavagation/TestNavagation.java ! test/com/sun/javadoc/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/com/sun/javadoc/testOverridenMethods/TestMultiInheritence.java ! test/com/sun/javadoc/testOverridenMethods/TestOverridenMethodDocCopy.java ! test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethods.java ! test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethodsWithPackageFlag.java ! test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethodsWithPrivateFlag.java ! test/com/sun/javadoc/testPackagePage/TestPackagePage.java ! test/com/sun/javadoc/testParamTaglet/TestParamTaglet.java ! test/com/sun/javadoc/testPrivateClasses/TestPrivateClasses.java ! test/com/sun/javadoc/testSerializedForm/TestSerializedForm.java ! test/com/sun/javadoc/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java ! test/com/sun/javadoc/testSimpleTag/TestSimpleTag.java ! test/com/sun/javadoc/testStylesheet/TestStylesheet.java ! test/com/sun/javadoc/testSummaryHeading/TestSummaryHeading.java ! test/com/sun/javadoc/testSuperclassInSerialForm/TestSuperClassInSerialForm.java ! test/com/sun/javadoc/testTagInheritence/TestTagInheritence.java ! test/com/sun/javadoc/testTaglets/TestTaglets.java ! test/com/sun/javadoc/testTaglets/taglets/Foo.java ! test/com/sun/javadoc/testThrowsHead/TestThrowsHead.java ! test/com/sun/javadoc/testThrowsTag/TestThrowsTag.java ! test/com/sun/javadoc/testTitleInHref/TestTitleInHref.java ! test/com/sun/javadoc/testTypeParams/TestTypeParameters.java ! test/com/sun/javadoc/testUnnamedPackage/TestUnnamedPackage.java ! test/com/sun/javadoc/testValueTag/TestValueTag.java ! test/com/sun/javadoc/testWarnings/TestWarnings.java ! test/tools/javac/6341866/Anno.java ! test/tools/javac/6341866/T6341866.java ! test/tools/javac/6402516/CheckLocalElements.java ! test/tools/javac/ClassFileModifiers/ClassModifiers.java ! test/tools/javac/ClassFileModifiers/MemberModifiers.java ! test/tools/javac/EarlyAssert.java ! test/tools/javac/InterfaceAssert.java ! test/tools/javac/OverrideChecks/6738538/T6738538a.java ! test/tools/javac/OverrideChecks/6738538/T6738538b.java ! test/tools/javac/T6358024.java ! test/tools/javac/T6403466.java ! test/tools/javac/T6411379.java ! test/tools/javac/T6423583.java ! test/tools/javac/T6705935.java ! test/tools/javac/ThrowsIntersection_1.java ! test/tools/javac/ThrowsIntersection_2.java ! test/tools/javac/ThrowsIntersection_3.java ! test/tools/javac/ThrowsIntersection_4.java ! test/tools/javac/annotations/6214965/T6214965.java ! test/tools/javac/annotations/6365854/T6365854.java ! test/tools/javac/annotations/neg/Constant.java ! test/tools/javac/annotations/neg/Dep.java ! test/tools/javac/annotations/pos/TrailingComma.java ! test/tools/javac/api/6421111/T6421111.java ! test/tools/javac/api/6468404/T6468404.java ! test/tools/javac/api/6731573/T6731573.java ! test/tools/javac/api/T6392782.java ! test/tools/javac/api/T6412669.java ! test/tools/javac/api/TestOperators.java ! test/tools/javac/cast/6548436/T6548436d.java ! test/tools/javac/cast/6558559/T6558559a.java ! test/tools/javac/cast/6558559/T6558559b.java ! test/tools/javac/cast/6586091/T6586091.java ! test/tools/javac/danglingDep/DepX.java ! test/tools/javac/danglingDep/NoDepX.java ! test/tools/javac/danglingDep/Test1.java ! test/tools/javac/depOverrides/annotation/Test1.java ! test/tools/javac/depOverrides/annotation/Test2.java ! test/tools/javac/depOverrides/doccomment/Test1.java ! test/tools/javac/depOverrides/doccomment/Test2.java ! test/tools/javac/diags/examples/BadSourceFileHeader/sourcepath/p/A.java ! test/tools/javac/enum/6424358/T6424358.java ! test/tools/javac/enum/T6724345.java ! test/tools/javac/generics/Casting.java ! test/tools/javac/generics/Casting3.java ! test/tools/javac/generics/Casting4.java ! test/tools/javac/generics/InnerInterface1.java ! test/tools/javac/generics/InnerInterface2.java ! test/tools/javac/generics/Multibound1.java ! test/tools/javac/generics/MultipleInheritance.java ! test/tools/javac/generics/NameOrder.java ! test/tools/javac/generics/PermuteBound.java ! test/tools/javac/generics/PrimitiveVariant.java ! test/tools/javac/generics/T6557954.java ! test/tools/javac/generics/T6751514.java ! test/tools/javac/generics/T6869075.java ! test/tools/javac/generics/inference/6569789/T6569789.java ! test/tools/javac/generics/inference/6650759/T6650759a.java ! test/tools/javac/generics/typevars/5060485/Compatibility.java ! test/tools/javac/generics/typevars/5060485/Compatibility02.java ! test/tools/javac/generics/typevars/T6880344.java ! test/tools/javac/generics/wildcards/T6732484.java ! test/tools/javac/mandatoryWarnings/deprecated/Test.java ! test/tools/javac/mandatoryWarnings/unchecked/Test.java ! test/tools/javac/meth/InvokeMHTrans.java ! test/tools/javac/nio/compileTest/CompileTest.java ! test/tools/javac/policy/test1/Test1a.java ! test/tools/javac/policy/test2/Test.java ! test/tools/javac/processing/model/util/elements/Foo.java ! test/tools/javac/rawDiags/Note.java ! test/tools/javac/tree/TreeKindTest.java ! test/tools/javac/typeAnnotations/newlocations/BasicTest.java ! test/tools/javac/varargs/T6746184.java ! test/tools/javac/varargs/warning/Warn1.java ! test/tools/javadoc/T4994049/FileWithTabs.java ! test/tools/javadoc/T4994049/T4994049.java ! test/tools/javap/T6715251.java ! test/tools/javap/T6715753.java ! test/tools/javap/T6729471.java ! test/tools/javap/T6868539.java Changeset: 4b0560c72b52 Author: cl Date: 2011-01-06 20:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/4b0560c72b52 Added tag jdk7-b124 for changeset 4868a36f6fd8 ! .hgtags From David.Holmes at oracle.com Thu Jan 6 23:09:41 2011 From: David.Holmes at oracle.com (David Holmes) Date: Fri, 07 Jan 2011 17:09:41 +1000 Subject: Request for review: 7010665 - Misplaced membar in C1 implementation of Unsafe.get/putXXX Message-ID: <4D26BC35.4010100@oracle.com> http://cr.openjdk.java.net/~dholmes/7010665/ The memory barriers were misplaced in the intrinsic versions of the Unsafe.get/putVolatile methods get old: -> membar_acquire(), load; membar() new: -> load; membar_acquire() put old: -> membar_release(); store new: -> membar_release(); store; membar() These now match the C1 handling of Java volatile variables (see LIRGenerator::do_StoreField and LIRGenerator::do_LoadField in the same file). The non-intrinsic versions are being fixed as part of 7009756. Thanks, David From igor.veresov at oracle.com Thu Jan 6 23:25:59 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Thu, 06 Jan 2011 23:25:59 -0800 Subject: Request for review: 7010665 - Misplaced membar in C1 implementation of Unsafe.get/putXXX In-Reply-To: <4D26BC35.4010100@oracle.com> References: <4D26BC35.4010100@oracle.com> Message-ID: <4D26C007.5050902@oracle.com> Looks good. igor On 1/6/11 11:09 PM, David Holmes wrote: > http://cr.openjdk.java.net/~dholmes/7010665/ > > The memory barriers were misplaced in the intrinsic versions of the > Unsafe.get/putVolatile methods > > get > old: -> membar_acquire(), load; membar() > new: -> load; membar_acquire() > > put > old: -> membar_release(); store > new: -> membar_release(); store; membar() > > These now match the C1 handling of Java volatile variables (see > LIRGenerator::do_StoreField and LIRGenerator::do_LoadField in the same > file). > > The non-intrinsic versions are being fixed as part of 7009756. > > Thanks, > David From vladimir.kozlov at oracle.com Fri Jan 7 09:18:42 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 07 Jan 2011 09:18:42 -0800 Subject: Request for review: 7010665 - Misplaced membar in C1 implementation of Unsafe.get/putXXX In-Reply-To: <4D26BC35.4010100@oracle.com> References: <4D26BC35.4010100@oracle.com> Message-ID: <4D274AF2.2020806@oracle.com> Looks good Vladimir On 1/6/11 11:09 PM, David Holmes wrote: > http://cr.openjdk.java.net/~dholmes/7010665/ > > The memory barriers were misplaced in the intrinsic versions of the Unsafe.get/putVolatile methods > > get > old: -> membar_acquire(), load; membar() > new: -> load; membar_acquire() > > put > old: -> membar_release(); store > new: -> membar_release(); store; membar() > > These now match the C1 handling of Java volatile variables (see LIRGenerator::do_StoreField and > LIRGenerator::do_LoadField in the same file). > > The non-intrinsic versions are being fixed as part of 7009756. > > Thanks, > David From Christian.Thalinger at Sun.COM Fri Jan 7 11:30:46 2011 From: Christian.Thalinger at Sun.COM (Christian.Thalinger at Sun.COM) Date: Fri, 07 Jan 2011 19:30:46 +0000 Subject: hg: jdk7/hotspot/hotspot: 19 new changesets Message-ID: <20110107193119.3D8BC47A71@hg.openjdk.java.net> Changeset: 7737fa7ec2b5 Author: twisti Date: 2010-12-14 12:44 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/7737fa7ec2b5 7006044: materialize cheap non-oop pointers on 64-bit SPARC Summary: After 6961690 we load non-oop pointers for the constant table which could easily be materialized in a few instructions. Reviewed-by: never, kvn ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/sparc.ad Changeset: 781072b12368 Author: never Date: 2010-12-14 23:17 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/781072b12368 6765546: Wrong sscanf used to parse CompilerOracle command >= 32 characters could lead to crash Reviewed-by: kvn, iveresov ! src/share/vm/compiler/compilerOracle.cpp Changeset: 4042471b7419 Author: iveresov Date: 2010-12-16 01:46 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/4042471b7419 Merge Changeset: cccd1b172b85 Author: never Date: 2010-12-16 12:47 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/cccd1b172b85 6839888: Array overrun in vm adlc Reviewed-by: kvn, iveresov ! src/share/vm/adlc/dict2.cpp Changeset: c04052fd6ae1 Author: kvn Date: 2010-12-16 14:15 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/c04052fd6ae1 7006505: Use kstat info to identify SPARC processor Summary: read Solaris kstat data to get more precise CPU information Reviewed-by: iveresov, never, twisti, dholmes ! make/solaris/makefiles/buildtree.make ! make/solaris/makefiles/vm.make ! src/cpu/sparc/vm/sparc.ad ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.hpp ! src/os/solaris/vm/os_solaris.cpp ! src/os_cpu/solaris_sparc/vm/vm_version_solaris_sparc.cpp ! src/share/vm/memory/universe.cpp Changeset: 7223744c2784 Author: never Date: 2010-12-17 15:55 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/7223744c2784 6579789: Internal error "c1_LinearScan.cpp:1429 Error: assert(false,"")" in debuggee with fastdebug VM Reviewed-by: kvn, iveresov ! src/share/vm/c1/c1_LinearScan.cpp ! src/share/vm/c1/c1_LinearScan.hpp + test/compiler/6579789/Test6579789.java Changeset: 52d615436cef Author: never Date: 2010-12-18 06:40 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/52d615436cef Merge Changeset: 7d9caaedafce Author: twisti Date: 2010-12-18 01:15 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/7d9caaedafce 6990933: assert(sender_cb) failed: sanity in frame::sender_for_interpreter_frame Reviewed-by: never ! src/share/vm/code/nmethod.cpp Changeset: 1fb0500f550e Author: twisti Date: 2010-12-18 08:38 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/1fb0500f550e Merge Changeset: ef3c5db0b3ae Author: twisti Date: 2010-12-21 04:37 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/ef3c5db0b3ae 7008165: Garbage in ClassFormatError message Summary: When bootstrap_method_ref in BootstrapMethods attribute points to a wrong CP entry (non-MethodHandle), JVM throws ClassFormatError with a message, where method index and class file name is garbage. Reviewed-by: iveresov ! src/share/vm/classfile/classFileParser.cpp Changeset: a21ff35351ec Author: kvn Date: 2010-12-21 13:56 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/a21ff35351ec 7003130: assert(iterations References: <4D26BC35.4010100@oracle.com> Message-ID: Looks good. tom On Jan 6, 2011, at 11:09 PM, David Holmes wrote: > http://cr.openjdk.java.net/~dholmes/7010665/ > > The memory barriers were misplaced in the intrinsic versions of the Unsafe.get/putVolatile methods > > get > old: -> membar_acquire(), load; membar() > new: -> load; membar_acquire() > > put > old: -> membar_release(); store > new: -> membar_release(); store; membar() > > These now match the C1 handling of Java volatile variables (see LIRGenerator::do_StoreField and LIRGenerator::do_LoadField in the same file). > > The non-intrinsic versions are being fixed as part of 7009756. > > Thanks, > David From David.Holmes at oracle.com Fri Jan 7 15:26:18 2011 From: David.Holmes at oracle.com (David Holmes) Date: Sat, 08 Jan 2011 09:26:18 +1000 Subject: Request for review: 7010665 - Misplaced membar in C1 implementation of Unsafe.get/putXXX In-Reply-To: References: <4D26BC35.4010100@oracle.com> Message-ID: <4D27A11A.7040303@oracle.com> Thanks Tom, Vladimir and Igor. David Tom Rodriguez said the following on 01/08/11 05:36: > Looks good. > > tom > > On Jan 6, 2011, at 11:09 PM, David Holmes wrote: > >> http://cr.openjdk.java.net/~dholmes/7010665/ >> >> The memory barriers were misplaced in the intrinsic versions of the Unsafe.get/putVolatile methods >> >> get >> old: -> membar_acquire(), load; membar() >> new: -> load; membar_acquire() >> >> put >> old: -> membar_release(); store >> new: -> membar_release(); store; membar() >> >> These now match the C1 handling of Java volatile variables (see LIRGenerator::do_StoreField and LIRGenerator::do_LoadField in the same file). >> >> The non-intrinsic versions are being fixed as part of 7009756. >> >> Thanks, >> David > From daniel.daugherty at oracle.com Fri Jan 7 19:10:08 2011 From: daniel.daugherty at oracle.com (daniel.daugherty at oracle.com) Date: Sat, 08 Jan 2011 03:10:08 +0000 Subject: hg: jdk7/hotspot/hotspot: 8 new changesets Message-ID: <20110108031022.C8FEF47A89@hg.openjdk.java.net> Changeset: 36c186bcc085 Author: coleenp Date: 2011-01-03 14:09 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/36c186bcc085 6302804: Hotspot VM dies ungraceful death when C heap is exhausted in various places. Summary: enhance the error reporting mechanism to help user to fix the problem rather than making it look like a VM error. Reviewed-by: kvn, kamg ! src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp ! src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/utilities/debug.cpp ! src/share/vm/utilities/vmError.cpp ! src/share/vm/utilities/vmError.hpp Changeset: 0eb90baf1b69 Author: coleenp Date: 2011-01-05 21:23 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/0eb90baf1b69 6583275: Hotspot crash in vm_perform_shutdown_actions due to uninitialized TLS during out of memory handling Summary: Call get_thread_slow() in vm_perform_shutdown actions and add null check. Reviewed-by: kvn, dholmes, jcoomes ! src/share/vm/runtime/java.cpp Changeset: 039eb4201e06 Author: alanb Date: 2011-01-07 03:38 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/039eb4201e06 7009975: Large file support broken in hs20-b04 Reviewed-by: phh, acorn, kamg ! src/os/solaris/vm/os_solaris.cpp Changeset: 2f9d59b0fa5c Author: bobv Date: 2011-01-07 12:44 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/2f9d59b0fa5c 7009268: guarantee(middle - slop > start) failed: need enough space to divide up Summary: Codebuffer can overflow on test with large number of calls Reviewed-by: dholmes, collins ! src/share/vm/c1/c1_Compilation.cpp ! src/share/vm/c1/c1_Compilation.hpp Changeset: 4537d449ba57 Author: bobv Date: 2011-01-07 15:57 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/4537d449ba57 Merge Changeset: b1a2afa37ec4 Author: phh Date: 2011-01-07 10:42 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/b1a2afa37ec4 7003271: Hotspot should track cumulative Java heap bytes allocated on a per-thread basis Summary: Track allocated bytes in Thread's, update on TLAB retirement and direct allocation in Eden and tenured, add JNI methods for ThreadMXBean. Reviewed-by: coleenp, kvn, dholmes, ysr ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_MacroAssembler_sparc.hpp ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/c1_MacroAssembler_x86.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/solaris/vm/thread_solaris.inline.hpp ! src/share/vm/gc_interface/collectedHeap.inline.hpp ! src/share/vm/memory/threadLocalAllocBuffer.cpp ! src/share/vm/memory/threadLocalAllocBuffer.hpp ! src/share/vm/opto/macro.cpp ! src/share/vm/prims/jvmti.xml ! src/share/vm/prims/jvmtiEnv.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/services/jmm.h ! src/share/vm/services/management.cpp ! src/share/vm/services/threadService.cpp ! src/share/vm/services/threadService.hpp Changeset: 55d7d18ccff9 Author: dcubed Date: 2011-01-07 13:59 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/55d7d18ccff9 Merge Changeset: 84f36150fcc3 Author: dcubed Date: 2011-01-07 15:54 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/84f36150fcc3 Merge ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/os/solaris/vm/os_solaris.cpp From erik.trimble at oracle.com Sat Jan 8 05:32:18 2011 From: erik.trimble at oracle.com (erik.trimble at oracle.com) Date: Sat, 08 Jan 2011 13:32:18 +0000 Subject: hg: jdk7/hotspot/hotspot: 5 new changesets Message-ID: <20110108133231.6221647AA0@hg.openjdk.java.net> Changeset: 0a8e0d4345b3 Author: trims Date: 2011-01-03 15:30 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/0a8e0d4345b3 7010068: Update all 2010 Oracle-changed OpenJDK files to have the proper copyright dates - first pass Summary: Update the copyright to be 2010 on all changed files in OpenJDK Reviewed-by: jcoomes ! agent/src/os/linux/libproc_impl.c ! agent/src/os/linux/ps_core.c ! agent/src/os/linux/ps_proc.c ! agent/src/os/linux/symtab.c ! agent/src/os/linux/symtab.h ! agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeInvoke.java ! agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeWithCPIndex.java ! agent/src/share/classes/sun/jvm/hotspot/interpreter/Bytecodes.java ! agent/src/share/classes/sun/jvm/hotspot/memory/CompactibleFreeListSpace.java ! agent/src/share/classes/sun/jvm/hotspot/memory/SystemDictionary.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPoolCache.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPoolCacheEntry.java ! agent/src/share/classes/sun/jvm/hotspot/oops/GenerateOopMap.java ! agent/src/share/classes/sun/jvm/hotspot/oops/Oop.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java ! agent/src/share/classes/sun/jvm/hotspot/tools/jcore/ByteCodeRewriter.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/soql/sa.js ! make/hotspot_distro ! make/hotspot_version ! make/jprt.gmk ! make/jprt.properties ! make/linux/makefiles/defs.make ! make/linux/makefiles/jvmti.make ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! make/linux/makefiles/product.make ! make/linux/makefiles/saproc.make ! make/linux/makefiles/shark.make ! make/linux/makefiles/sparcWorks.make ! make/solaris/makefiles/defs.make ! make/solaris/makefiles/fastdebug.make ! make/solaris/makefiles/jvmti.make ! make/solaris/makefiles/optimized.make ! make/solaris/makefiles/product.make ! make/solaris/makefiles/saproc.make ! make/windows/build.bat ! make/windows/get_msc_ver.sh ! make/windows/makefiles/defs.make ! make/windows/makefiles/sanity.make ! src/os/solaris/dtrace/hotspot.d ! src/os_cpu/linux_x86/vm/linux_x86_32.s ! src/os_cpu/solaris_x86/vm/solaris_x86_32.il ! src/os_cpu/solaris_x86/vm/solaris_x86_32.s ! src/os_cpu/solaris_x86/vm/solaris_x86_64.il ! test/Makefile ! test/compiler/6431242/Test.java ! test/compiler/6857159/Test6857159.java ! test/compiler/6877254/Test.java ! test/compiler/6895383/Test.java ! test/compiler/6896727/Test.java Changeset: 09d92cbb793b Author: cl Date: 2011-01-06 20:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/09d92cbb793b Added tag jdk7-b124 for changeset 0a8e0d4345b3 ! .hgtags Changeset: f6a707dbaddb Author: trims Date: 2011-01-07 19:09 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/f6a707dbaddb Added tag hs20-b05 for changeset 0a8e0d4345b3 ! .hgtags Changeset: 9fc3ffb1e0b1 Author: trims Date: 2011-01-07 22:42 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/9fc3ffb1e0b1 7011125: Bump the HS20 build number to 06 Summary: Update the HS20 build number to 06 Reviewed-by: jcoomes ! make/hotspot_version Changeset: e24ab3fa6aaf Author: trims Date: 2011-01-07 22:56 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/e24ab3fa6aaf Merge ! make/jprt.properties From paul.hohensee at oracle.com Sun Jan 9 17:10:39 2011 From: paul.hohensee at oracle.com (Paul Hohensee) Date: Sun, 09 Jan 2011 20:10:39 -0500 Subject: Pls (re)review 6173675/7003271: per-thread memory allocation measurement Message-ID: <4D2A5C8F.7030207@oracle.com> Thanks to all who reviewed the previous webrev. Revised versions are here http://cr.openjdk.java.net/~phh/6173675/webrev.02/ http://cr.openjdk.java.net/~phh/7003271/webrev.02/ The interesting changes are in the library side for 6173675. In particular, I've added 3 unit tests. Thanks for any review, Paul From David.Holmes at oracle.com Sun Jan 9 18:17:39 2011 From: David.Holmes at oracle.com (David Holmes) Date: Mon, 10 Jan 2011 12:17:39 +1000 Subject: Pls (re)review 6173675/7003271: per-thread memory allocation measurement In-Reply-To: <4D2A5C8F.7030207@oracle.com> References: <4D2A5C8F.7030207@oracle.com> Message-ID: <4D2A6C43.6090309@oracle.com> Hi Paul, Partial re-review :) Paul Hohensee said the following on 01/10/11 11:10: > Thanks to all who reviewed the previous webrev. Revised versions are here > > http://cr.openjdk.java.net/~phh/6173675/webrev.02/ In ThreadImpl.java you could replace: long[] times = initialLongArray(length, -1); with long[] times = java.util.Arrays.fill(new long[length], -1); and delete initialLongArray. In test/com/sun/management/ThreadMXBean/ThreadCpuTimeArray.java I don't understand the test logic. Your tests threads all do: doit(); while (!done) wait doit(); but the main thread doesn't check any times etc after setting done=true, so why have the test threads do the second call to doit? For that matter why even bother with doit()? It only delays the threads in getting to the wait(), which is what the main thread itself waits for. 111 goSleep(200); What does 200 represent? What is it that you are actually waiting for? Is 200 long enough on a slow uniprocessor? 141 if ((times[i] + DELTA) < newTime) { 142 throw new RuntimeException("TEST FAILED: " + Again what does DELTA represent, how can you be sure the times for all threads will have advanced this much? > http://cr.openjdk.java.net/~phh/7003271/webrev.02/ All files listed have zero changes ??? Cheers, David ----- > The interesting changes are in the library side for 6173675. In > particular, > I've added 3 unit tests. > > Thanks for any review, > > Paul > From paul.hohensee at oracle.com Sun Jan 9 22:42:17 2011 From: paul.hohensee at oracle.com (Paul Hohensee) Date: Mon, 10 Jan 2011 01:42:17 -0500 Subject: Pls (re)review 6173675/7003271: per-thread memory allocation measurement In-Reply-To: <4D2A6C43.6090309@oracle.com> References: <4D2A5C8F.7030207@oracle.com> <4D2A6C43.6090309@oracle.com> Message-ID: <4D2AAA49.7090504@oracle.com> My bad on the 7003271 webrev. It's already pushed. The only one to review is 6173675. I replaced initialLongArray with java.util.Arrays.fill. I took the code for ThreadCpuTimeArray.java from test/java/lang/management/ ThreadCpuTime.java. The check for DELTA was in that code, so I kept it. Same with the argument of 200 to goSleep(). I'm assuming that the same logic works, and it appears to do so. I can, though, change it to be like the code in ThreadAllocatedMemoryArray.java. Paul On 1/9/11 9:17 PM, David Holmes wrote: > Hi Paul, > > Partial re-review :) > > Paul Hohensee said the following on 01/10/11 11:10: >> Thanks to all who reviewed the previous webrev. Revised versions are >> here >> >> http://cr.openjdk.java.net/~phh/6173675/webrev.02/ > > In ThreadImpl.java you could replace: > > long[] times = initialLongArray(length, -1); > > with > > long[] times = java.util.Arrays.fill(new long[length], -1); > > and delete initialLongArray. > > > In test/com/sun/management/ThreadMXBean/ThreadCpuTimeArray.java > > I don't understand the test logic. Your tests threads all do: > > doit(); > while (!done) wait > doit(); > > but the main thread doesn't check any times etc after setting > done=true, so why have the test threads do the second call to doit? > For that matter why even bother with doit()? It only delays the > threads in getting to the wait(), which is what the main thread itself > waits for. > > 111 goSleep(200); > > What does 200 represent? What is it that you are actually waiting for? > Is 200 long enough on a slow uniprocessor? > > 141 if ((times[i] + DELTA) < newTime) { > 142 throw new RuntimeException("TEST FAILED: " + > > Again what does DELTA represent, how can you be sure the times for all > threads will have advanced this much? > > >> http://cr.openjdk.java.net/~phh/7003271/webrev.02/ > > All files listed have zero changes ??? > > Cheers, > David > ----- > >> The interesting changes are in the library side for 6173675. In >> particular, >> I've added 3 unit tests. >> >> Thanks for any review, >> >> Paul >> From David.Holmes at oracle.com Sun Jan 9 23:01:42 2011 From: David.Holmes at oracle.com (David Holmes) Date: Mon, 10 Jan 2011 17:01:42 +1000 Subject: Pls (re)review 6173675/7003271: per-thread memory allocation measurement In-Reply-To: <4D2AAA49.7090504@oracle.com> References: <4D2A5C8F.7030207@oracle.com> <4D2A6C43.6090309@oracle.com> <4D2AAA49.7090504@oracle.com> Message-ID: <4D2AAED6.6050500@oracle.com> Paul Hohensee said the following on 01/10/11 16:42: > My bad on the 7003271 webrev. It's already pushed. The only one to > review is 6173675. > > I replaced initialLongArray with java.util.Arrays.fill. > > I took the code for ThreadCpuTimeArray.java from test/java/lang/management/ > ThreadCpuTime.java. The check for DELTA was in that code, so I kept > it. Same with the argument of 200 to goSleep(). I'm assuming that the > same logic works, and it appears to do so. I can, though, change it > to be like the code in ThreadAllocatedMemoryArray.java. I'd say both tests using the DELTA are equally dubious, but I'd need to know what the intent of that check was. If it was to see if the cpu time advanced by an expected amount then a better test would be for each thread to measure elapsed time around doit() and then have the main thread check that the elapsed CPU time is <= the measured elapsed time. (Some of the JVMTI test do similar comparisons). That said, given you are emulating existing tests that appear to work I won't push for you to re-write them :) But we should have a CR to either change them or at least make the DELTA a configurable value. I can easily imagine that these tests will fail on some of our internal platforms. Cheers, David > > Paul > > On 1/9/11 9:17 PM, David Holmes wrote: >> Hi Paul, >> >> Partial re-review :) >> >> Paul Hohensee said the following on 01/10/11 11:10: >>> Thanks to all who reviewed the previous webrev. Revised versions are >>> here >>> >>> http://cr.openjdk.java.net/~phh/6173675/webrev.02/ >> >> In ThreadImpl.java you could replace: >> >> long[] times = initialLongArray(length, -1); >> >> with >> >> long[] times = java.util.Arrays.fill(new long[length], -1); >> >> and delete initialLongArray. >> >> >> In test/com/sun/management/ThreadMXBean/ThreadCpuTimeArray.java >> >> I don't understand the test logic. Your tests threads all do: >> >> doit(); >> while (!done) wait >> doit(); >> >> but the main thread doesn't check any times etc after setting >> done=true, so why have the test threads do the second call to doit? >> For that matter why even bother with doit()? It only delays the >> threads in getting to the wait(), which is what the main thread itself >> waits for. >> >> 111 goSleep(200); >> >> What does 200 represent? What is it that you are actually waiting for? >> Is 200 long enough on a slow uniprocessor? >> >> 141 if ((times[i] + DELTA) < newTime) { >> 142 throw new RuntimeException("TEST FAILED: " + >> >> Again what does DELTA represent, how can you be sure the times for all >> threads will have advanced this much? >> >> >>> http://cr.openjdk.java.net/~phh/7003271/webrev.02/ >> >> All files listed have zero changes ??? >> >> Cheers, >> David >> ----- >> >>> The interesting changes are in the library side for 6173675. In >>> particular, >>> I've added 3 unit tests. >>> >>> Thanks for any review, >>> >>> Paul >>> From paul.hohensee at oracle.com Sun Jan 9 23:29:03 2011 From: paul.hohensee at oracle.com (Paul Hohensee) Date: Mon, 10 Jan 2011 02:29:03 -0500 Subject: Pls (re)review 6173675/7003271: per-thread memory allocation measurement In-Reply-To: <4D2AAED6.6050500@oracle.com> References: <4D2A5C8F.7030207@oracle.com> <4D2A6C43.6090309@oracle.com> <4D2AAA49.7090504@oracle.com> <4D2AAED6.6050500@oracle.com> Message-ID: <4D2AB53F.8080404@oracle.com> I'll file a CR. Thanks for your review! Pul On 1/10/11 2:01 AM, David Holmes wrote: > Paul Hohensee said the following on 01/10/11 16:42: >> My bad on the 7003271 webrev. It's already pushed. The only one to >> review is 6173675. >> >> I replaced initialLongArray with java.util.Arrays.fill. >> >> I took the code for ThreadCpuTimeArray.java from > test/java/lang/management/ >> ThreadCpuTime.java. The check for DELTA was in that code, so I kept >> it. Same with the argument of 200 to goSleep(). I'm assuming that the >> same logic works, and it appears to do so. I can, though, change it >> to be like the code in ThreadAllocatedMemoryArray.java. > > I'd say both tests using the DELTA are equally dubious, but I'd need > to know what the intent of that check was. If it was to see if the cpu > time advanced by an expected amount then a better test would be for > each thread to measure elapsed time around doit() and then have the > main thread check that the elapsed CPU time is <= the measured elapsed > time. (Some of the JVMTI test do similar comparisons). > > That said, given you are emulating existing tests that appear to work > I won't push for you to re-write them :) But we should have a CR to > either change them or at least make the DELTA a configurable value. I > can easily imagine that these tests will fail on some of our internal > platforms. > > Cheers, > David > >> >> Paul >> >> On 1/9/11 9:17 PM, David Holmes wrote: >>> Hi Paul, >>> >>> Partial re-review :) >>> >>> Paul Hohensee said the following on 01/10/11 11:10: >>>> Thanks to all who reviewed the previous webrev. Revised versions >>>> are here >>>> >>>> http://cr.openjdk.java.net/~phh/6173675/webrev.02/ >>> >>> In ThreadImpl.java you could replace: >>> >>> long[] times = initialLongArray(length, -1); >>> >>> with >>> >>> long[] times = java.util.Arrays.fill(new long[length], -1); >>> >>> and delete initialLongArray. >>> >>> >>> In test/com/sun/management/ThreadMXBean/ThreadCpuTimeArray.java >>> >>> I don't understand the test logic. Your tests threads all do: >>> >>> doit(); >>> while (!done) wait >>> doit(); >>> >>> but the main thread doesn't check any times etc after setting >>> done=true, so why have the test threads do the second call to doit? >>> For that matter why even bother with doit()? It only delays the >>> threads in getting to the wait(), which is what the main thread >>> itself waits for. >>> >>> 111 goSleep(200); >>> >>> What does 200 represent? What is it that you are actually waiting >>> for? Is 200 long enough on a slow uniprocessor? >>> >>> 141 if ((times[i] + DELTA) < newTime) { >>> 142 throw new RuntimeException("TEST FAILED: " + >>> >>> Again what does DELTA represent, how can you be sure the times for >>> all threads will have advanced this much? >>> >>> >>>> http://cr.openjdk.java.net/~phh/7003271/webrev.02/ >>> >>> All files listed have zero changes ??? >>> >>> Cheers, >>> David >>> ----- >>> >>>> The interesting changes are in the library side for 6173675. In >>>> particular, >>>> I've added 3 unit tests. >>>> >>>> Thanks for any review, >>>> >>>> Paul >>>> From mandy.chung at oracle.com Mon Jan 10 07:59:43 2011 From: mandy.chung at oracle.com (Mandy Chung) Date: Mon, 10 Jan 2011 07:59:43 -0800 Subject: Pls (re)review 6173675/7003271: per-thread memory allocation measurement In-Reply-To: <4D2A5C8F.7030207@oracle.com> References: <4D2A5C8F.7030207@oracle.com> Message-ID: <4D2B2CEF.5060105@oracle.com> On 1/9/11 5:10 PM, Paul Hohensee wrote: > Thanks to all who reviewed the previous webrev. Revised versions are > here > > http://cr.openjdk.java.net/~phh/6173675/webrev.02/ > Looks good. Thanks for updating it and adding the tests. As for the tests, the existing java/lang/management regression tests definitely need upgrade and improvement. They were written before java.util.concurrent locks were added in 1.5 and also the tests have run into some timing issue between the work done by threads and the test verification. I'm fine for pushing the tests you have and then follow up with a CR as David suggests. Thanks Mandy From paul.hohensee at oracle.com Mon Jan 10 08:10:04 2011 From: paul.hohensee at oracle.com (Paul Hohensee) Date: Mon, 10 Jan 2011 11:10:04 -0500 Subject: Pls (re)review 6173675/7003271: per-thread memory allocation measurement In-Reply-To: <4D2B2CEF.5060105@oracle.com> References: <4D2A5C8F.7030207@oracle.com> <4D2B2CEF.5060105@oracle.com> Message-ID: <4D2B2F5C.4080307@oracle.com> Thanks! Paul On 1/10/11 10:59 AM, Mandy Chung wrote: > On 1/9/11 5:10 PM, Paul Hohensee wrote: >> Thanks to all who reviewed the previous webrev. Revised versions are >> here >> >> http://cr.openjdk.java.net/~phh/6173675/webrev.02/ >> > Looks good. Thanks for updating it and adding the tests. > > As for the tests, the existing java/lang/management regression tests > definitely need upgrade and improvement. They were written before > java.util.concurrent locks were added in 1.5 and also the tests have > run into some timing issue between the work done by threads and the > test verification. I'm fine for pushing the tests you have and then > follow up with a CR as David suggests. > > Thanks > Mandy From Alan.Bateman at oracle.com Mon Jan 10 08:29:38 2011 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 10 Jan 2011 16:29:38 +0000 Subject: Pls (re)review 6173675/7003271: per-thread memory allocation measurement In-Reply-To: <4D2B2CEF.5060105@oracle.com> References: <4D2A5C8F.7030207@oracle.com> <4D2B2CEF.5060105@oracle.com> Message-ID: <4D2B33F2.3090601@oracle.com> Mandy Chung wrote: > On 1/9/11 5:10 PM, Paul Hohensee wrote: >> Thanks to all who reviewed the previous webrev. Revised versions are >> here >> >> http://cr.openjdk.java.net/~phh/6173675/webrev.02/ >> > Looks good. Thanks for updating it and adding the tests. > > As for the tests, the existing java/lang/management regression tests > definitely need upgrade and improvement. They were written before > java.util.concurrent locks were added in 1.5 and also the tests have > run into some timing issue between the work done by threads and the > test verification. I'm fine for pushing the tests you have and then > follow up with a CR as David suggests. > > Thanks > Mandy One thing on the tests, what would you think about disabling the per CPU time and memory allocation in a finally block so that they do clean-up in the event of a test failure. It would be useful once we get to run these tests in samevm mode (I think currently the Makefile runs these tests in othervm mode so it's not a problem if the tests don't clean-up). -Alan From aph at redhat.com Tue Jan 11 11:17:58 2011 From: aph at redhat.com (Andrew Haley) Date: Tue, 11 Jan 2011 19:17:58 +0000 Subject: Linux: Support transparent hugepages Message-ID: <4D2CACE6.9010903@redhat.com> New Linux kernels have support for transparent hugepages: the kernel automagically uses hugepages for all mappings of > 2M (or whatever) in size. This means that the UseLargePages option will not be needed in future, and all Java apps will get the benefit of large pages. This will come as a great relief to anyone who has set up a Java app on a Linux system to use large pages, which requires pages to be locked in memory, root access, etc, etc. The upstream kernel only has transparent hugepages for x86 (32 & 64), but later it may apply to embedded powerpc and probably some other architectures. However, there is no guarantee that mmap() will produce 2M-aligned mapped regions, even with requests that are a multiple of 2M in size, so some small pages at the beginning and the end of each allocated region remain. This is fairly easy to fix with a patch like the one below. However, it doesn't use /proc/meminfo in the manner of os::large_page_init(), and it only supports x86-64. I'm not sure whether we ought to do this for 32-bit x86, as it comsumes some address space. So, do I need to use the page size finding logic from os::large_page_init(), or should I simply use the default pages sizes for each architecture? The former seems rather excessive for this purpose, but I'm happy to do it if you think that's necessary. Comments welcome. Thanks, Andrew. diff -r e24ab3fa6aaf src/os/linux/vm/os_linux.cpp --- a/src/os/linux/vm/os_linux.cpp Fri Jan 07 22:56:35 2011 -0800 +++ b/src/os/linux/vm/os_linux.cpp Tue Jan 11 19:14:52 2011 +0000 @@ -2714,6 +2714,11 @@ static address _highest_vm_reserved_address = NULL; +#ifdef __x86_64__ +#define HPAGE_SIZE (2*1024*1024) +#define GGC_QUIRE_SIZE 512 +#endif + // If 'fixed' is true, anon_mmap() will attempt to reserve anonymous memory // at 'requested_addr'. If there are existing memory mappings at the same // location, however, they will be overwritten. If 'fixed' is false, @@ -2735,6 +2740,26 @@ addr = (char*)::mmap(requested_addr, bytes, PROT_READ|PROT_WRITE, flags, -1, 0); +#ifdef HPAGE_SIZE + if (requested_addr == NULL + && !(bytes & (HPAGE_SIZE-1)) + && addr != MAP_FAILED + && ((size_t)addr & (HPAGE_SIZE-1))) { + char *mapped_region; + ::munmap(addr, bytes); + addr = (char *)::mmap (NULL, bytes + HPAGE_SIZE-1, + PROT_READ | PROT_WRITE, + flags, -1, 0); + mapped_region = addr; + addr = (char *)(((size_t)addr + HPAGE_SIZE-1) + & ~(HPAGE_SIZE-1)); + if (mapped_region != addr) + ::munmap(mapped_region, addr - mapped_region); + if (addr != mapped_region + HPAGE_SIZE-1) + ::munmap(addr + bytes, mapped_region + HPAGE_SIZE-1 - addr); + } +#endif + if (addr != MAP_FAILED) { // anon_mmap() should only get called during VM initialization, // don't need lock (actually we can skip locking even it can be called From tom.rodriguez at oracle.com Tue Jan 11 13:09:02 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 11 Jan 2011 13:09:02 -0800 Subject: review (M) for 4926272: methodOopDesc::method_from_bcp is unsafe Message-ID: <0F6A0333-8ED2-4CA5-BEAF-344AAD5C164B@oracle.com> 4926272: methodOopDesc::method_from_bcp is unsafe Reviewed-by: To deal transparently with breakpoint bytecodes many of the bytecode routines may need access to the original methodOop. Currently we are relying on GC machinery toscan backwards to the beginning of the oop. This doesn't always work with CMS and won't exist when we remove the perm gen. The fix is to require passing around the methodOop. This required changing these Bytecodes into StackObjs which cause a few other syntaactic changes like converting -> to . in quite a few places. It created a little inconsistency with some of the other Bytecode classes that I chose to fix. They are all now StackObj and I got rid of the *_at helpers and moved the verify calls into the constructors. I also eliminated ThisRelativeObj completely and changed a few names. Tested with nsk jvmti related tests. From tom.rodriguez at oracle.com Tue Jan 11 14:31:03 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 11 Jan 2011 14:31:03 -0800 Subject: review (M) for 4926272: methodOopDesc::method_from_bcp is unsafe In-Reply-To: <0F6A0333-8ED2-4CA5-BEAF-344AAD5C164B@oracle.com> References: <0F6A0333-8ED2-4CA5-BEAF-344AAD5C164B@oracle.com> Message-ID: http://cr.openjdk.java.net/~never/4926272 On Jan 11, 2011, at 1:09 PM, Tom Rodriguez wrote: > 4926272: methodOopDesc::method_from_bcp is unsafe > Reviewed-by: > > To deal transparently with breakpoint bytecodes many of the bytecode > routines may need access to the original methodOop. Currently we are > relying on GC machinery toscan backwards to the beginning of the oop. > This doesn't always work with CMS and won't exist when we remove the > perm gen. The fix is to require passing around the methodOop. This > required changing these Bytecodes into StackObjs which cause a few > other syntaactic changes like converting -> to . in quite a few > places. It created a little inconsistency with some of the other > Bytecode classes that I chose to fix. They are all now StackObj and I > got rid of the *_at helpers and moved the verify calls into the > constructors. I also eliminated ThisRelativeObj completely and > changed a few names. Tested with nsk jvmti related tests. > From john.r.rose at oracle.com Tue Jan 11 15:51:40 2011 From: john.r.rose at oracle.com (John Rose) Date: Tue, 11 Jan 2011 15:51:40 -0800 Subject: review (M) for 4926272: methodOopDesc::method_from_bcp is unsafe In-Reply-To: References: <0F6A0333-8ED2-4CA5-BEAF-344AAD5C164B@oracle.com> Message-ID: <9178B296-2B6B-4952-B40B-C0DEE93EB5DD@oracle.com> On Jan 11, 2011, at 2:31 PM, Tom Rodriguez wrote: > http://cr.openjdk.java.net/~never/4926272 >> > 4926272: methodOopDesc::method_from_bcp is unsafe This is a painful but long-needed cleanup. There is lots of good code deletion. Thank you. Bytecode_member_ref and Bytecode_loadconstant would look better as subclasses of Bytcode also. Was there a mismatch somewhere? Suggest pushing the Bytecode superclass down into those guys. That's an economical move passing methodOop(NULL) from the CI. The two binary overloadings of Bytecodes::code_at have swapped arg-order; this smells worse now. Can something be done? Maybe just put the (now required) methodOop first always or (better) second always? Wait, I guess I see the convention: bcp/oop vs. oop/bci. (Seen in Bytecode constructors and various accessors in Bytecodes::.) That is an uncomfortable way to deal with the bci/bcp duality, which might be worth fixing now. Fixing it might double your (already considerable) work. OTOH, fixing that might just touch use points you are already touching now anyway. Suggest moving the methodOop after the bcp/bci in all touched API points and immediate neighbors. The name Bytecode_invoke_at_check doesn't read so well anymore; it is not part of a pattern. Suggest Bytecode_invoke_check. Reviewed! -- John From tom.rodriguez at oracle.com Tue Jan 11 16:21:17 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 11 Jan 2011 16:21:17 -0800 Subject: review (M) for 4926272: methodOopDesc::method_from_bcp is unsafe In-Reply-To: <9178B296-2B6B-4952-B40B-C0DEE93EB5DD@oracle.com> References: <0F6A0333-8ED2-4CA5-BEAF-344AAD5C164B@oracle.com> <9178B296-2B6B-4952-B40B-C0DEE93EB5DD@oracle.com> Message-ID: <7567F6BB-04E8-413F-A53E-FEB61A7E7CBB@oracle.com> On Jan 11, 2011, at 3:51 PM, John Rose wrote: > On Jan 11, 2011, at 2:31 PM, Tom Rodriguez wrote: > >> http://cr.openjdk.java.net/~never/4926272 >>> >> 4926272: methodOopDesc::method_from_bcp is unsafe > > This is a painful but long-needed cleanup. There is lots of good code deletion. Thank you. > > Bytecode_member_ref and Bytecode_loadconstant would look better as subclasses of Bytcode also. Was there a mismatch somewhere? Suggest pushing the Bytecode superclass down into those guys. The mismatch is that Bytecode works with bcp but member_ref and loadconstant use bci and I hadn't originally wanted to touch those. Additionally they use methodHandle instead of methodOop which makes them safer but causes creation of Handles that didn't previously occur. The use of method/bci also means they can't work with the CI because the bcp is unrelated to the method. I don't see a really clean way to shoehorn these together without making lots of changes of dubious value. For the most part these trivial classes and the inheritance relation is primarily implementation inheritance so the benefits of sharing are somewhat minimal. Anyway, this part feels like a thread I don't want to pull right now. > > That's an economical move passing methodOop(NULL) from the CI. ;) Nice choice of words. I wanted it to be explicit and I also included asserts to make sure it was done that way. I'd considered moving the construction of these into the various bytecode streams to hide the details of how they were created. That doesn't work for some of the uses but it might be an effective way to do it for the CI. > > The two binary overloadings of Bytecodes::code_at have swapped arg-order; this smells worse now. Can something be done? Maybe just put the (now required) methodOop first always or (better) second always? Wait, I guess I see the convention: bcp/oop vs. oop/bci. (Seen in Bytecode constructors and various accessors in Bytecodes::.) That is an uncomfortable way to deal with the bci/bcp duality, which might be worth fixing now. Fixing it might double your (already considerable) work. OTOH, fixing that might just touch use points you are already touching now anyway. Suggest moving the methodOop after the bcp/bci in all touched API points and immediate neighbors. I wasn't happy with this myself. I'll swap it around to method, bcp. > > The name Bytecode_invoke_at_check doesn't read so well anymore; it is not part of a pattern. Suggest Bytecode_invoke_check. Ok. I didn't like this much but it wasn't easy to clean up the use sites so I left it mostly as is. I'll send out mail when I've updated it. Thanks! tom > > Reviewed! > > -- John From vladimir.kozlov at oracle.com Tue Jan 11 17:14:41 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 11 Jan 2011 17:14:41 -0800 Subject: review (M) for 4926272: methodOopDesc::method_from_bcp is unsafe In-Reply-To: <9178B296-2B6B-4952-B40B-C0DEE93EB5DD@oracle.com> References: <0F6A0333-8ED2-4CA5-BEAF-344AAD5C164B@oracle.com> <9178B296-2B6B-4952-B40B-C0DEE93EB5DD@oracle.com> Message-ID: <4D2D0081.3090801@oracle.com> I think it looks good. I would only suggest (as John) to keep swapped arguments (method, bcp) order if possible. Thanks, Vladimir John Rose wrote: > On Jan 11, 2011, at 2:31 PM, Tom Rodriguez wrote: > >> http://cr.openjdk.java.net/~never/4926272 >> 4926272: methodOopDesc::method_from_bcp is unsafe > > This is a painful but long-needed cleanup. There is lots of good code deletion. Thank you. > > Bytecode_member_ref and Bytecode_loadconstant would look better as subclasses of Bytcode also. Was there a mismatch somewhere? Suggest pushing the Bytecode superclass down into those guys. > > That's an economical move passing methodOop(NULL) from the CI. > > The two binary overloadings of Bytecodes::code_at have swapped arg-order; this smells worse now. Can something be done? Maybe just put the (now required) methodOop first always or (better) second always? Wait, I guess I see the convention: bcp/oop vs. oop/bci. (Seen in Bytecode constructors and various accessors in Bytecodes::.) That is an uncomfortable way to deal with the bci/bcp duality, which might be worth fixing now. Fixing it might double your (already considerable) work. OTOH, fixing that might just touch use points you are already touching now anyway. Suggest moving the methodOop after the bcp/bci in all touched API points and immediate neighbors. > > The name Bytecode_invoke_at_check doesn't read so well anymore; it is not part of a pattern. Suggest Bytecode_invoke_check. > > Reviewed! > > -- John From tom.rodriguez at oracle.com Tue Jan 11 18:59:11 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 11 Jan 2011 18:59:11 -0800 Subject: review (M) for 4926272: methodOopDesc::method_from_bcp is unsafe In-Reply-To: <7567F6BB-04E8-413F-A53E-FEB61A7E7CBB@oracle.com> References: <0F6A0333-8ED2-4CA5-BEAF-344AAD5C164B@oracle.com> <9178B296-2B6B-4952-B40B-C0DEE93EB5DD@oracle.com> <7567F6BB-04E8-413F-A53E-FEB61A7E7CBB@oracle.com> Message-ID: On Jan 11, 2011, at 4:21 PM, Tom Rodriguez wrote: > > On Jan 11, 2011, at 3:51 PM, John Rose wrote: > >> On Jan 11, 2011, at 2:31 PM, Tom Rodriguez wrote: >> >>> http://cr.openjdk.java.net/~never/4926272 >>>> >>> 4926272: methodOopDesc::method_from_bcp is unsafe >> >> This is a painful but long-needed cleanup. There is lots of good code deletion. Thank you. >> >> Bytecode_member_ref and Bytecode_loadconstant would look better as subclasses of Bytcode also. Was there a mismatch somewhere? Suggest pushing the Bytecode superclass down into those guys. > > The mismatch is that Bytecode works with bcp but member_ref and loadconstant use bci and I hadn't originally wanted to touch those. Additionally they use methodHandle instead of methodOop which makes them safer but causes creation of Handles that didn't previously occur. The use of method/bci also means they can't work with the CI because the bcp is unrelated to the method. I don't see a really clean way to shoehorn these together without making lots of changes of dubious value. For the most part these trivial classes and the inheritance relation is primarily implementation inheritance so the benefits of sharing are somewhat minimal. Anyway, this part feels like a thread I don't want to pull right now. Actually I might be able to paper over that by the doing early conversion of _breakpoint bytecodes. Then the methodOop value wouldn't have to be kept in the Bytecode instance and the same Bytecode class could be made to work for both methodOop and ciMethod by just having different constructors. I'm looking at it now. tom > >> >> That's an economical move passing methodOop(NULL) from the CI. > > ;) Nice choice of words. I wanted it to be explicit and I also included asserts to make sure it was done that way. I'd considered moving the construction of these into the various bytecode streams to hide the details of how they were created. That doesn't work for some of the uses but it might be an effective way to do it for the CI. > >> >> The two binary overloadings of Bytecodes::code_at have swapped arg-order; this smells worse now. Can something be done? Maybe just put the (now required) methodOop first always or (better) second always? Wait, I guess I see the convention: bcp/oop vs. oop/bci. (Seen in Bytecode constructors and various accessors in Bytecodes::.) That is an uncomfortable way to deal with the bci/bcp duality, which might be worth fixing now. Fixing it might double your (already considerable) work. OTOH, fixing that might just touch use points you are already touching now anyway. Suggest moving the methodOop after the bcp/bci in all touched API points and immediate neighbors. > > I wasn't happy with this myself. I'll swap it around to method, bcp. > >> >> The name Bytecode_invoke_at_check doesn't read so well anymore; it is not part of a pattern. Suggest Bytecode_invoke_check. > > Ok. I didn't like this much but it wasn't easy to clean up the use sites so I left it mostly as is. > > I'll send out mail when I've updated it. Thanks! > > tom > >> >> Reviewed! >> >> -- John > From paul.hohensee at oracle.com Wed Jan 12 00:55:09 2011 From: paul.hohensee at oracle.com (Paul Hohensee) Date: Wed, 12 Jan 2011 03:55:09 -0500 Subject: Pls (re)review 6173675/7003271: per-thread memory allocation measurement In-Reply-To: <4D2AB53F.8080404@oracle.com> References: <4D2A5C8F.7030207@oracle.com> <4D2A6C43.6090309@oracle.com> <4D2AAA49.7090504@oracle.com> <4D2AAED6.6050500@oracle.com> <4D2AB53F.8080404@oracle.com> Message-ID: <4D2D6C6D.6020106@oracle.com> I filed 7011788 for this. Paul On 1/10/11 2:29 AM, Paul Hohensee wrote: > I'll file a CR. > > Thanks for your review! > > Pul > > On 1/10/11 2:01 AM, David Holmes wrote: >> Paul Hohensee said the following on 01/10/11 16:42: >>> My bad on the 7003271 webrev. It's already pushed. The only one to >>> review is 6173675. >>> >>> I replaced initialLongArray with java.util.Arrays.fill. >>> >>> I took the code for ThreadCpuTimeArray.java from >> test/java/lang/management/ >>> ThreadCpuTime.java. The check for DELTA was in that code, so I kept >>> it. Same with the argument of 200 to goSleep(). I'm assuming that the >>> same logic works, and it appears to do so. I can, though, change it >>> to be like the code in ThreadAllocatedMemoryArray.java. >> >> I'd say both tests using the DELTA are equally dubious, but I'd need >> to know what the intent of that check was. If it was to see if the >> cpu time advanced by an expected amount then a better test would be >> for each thread to measure elapsed time around doit() and then have >> the main thread check that the elapsed CPU time is <= the measured >> elapsed time. (Some of the JVMTI test do similar comparisons). >> >> That said, given you are emulating existing tests that appear to work >> I won't push for you to re-write them :) But we should have a CR to >> either change them or at least make the DELTA a configurable value. I >> can easily imagine that these tests will fail on some of our internal >> platforms. >> >> Cheers, >> David >> >>> >>> Paul >>> >>> On 1/9/11 9:17 PM, David Holmes wrote: >>>> Hi Paul, >>>> >>>> Partial re-review :) >>>> >>>> Paul Hohensee said the following on 01/10/11 11:10: >>>>> Thanks to all who reviewed the previous webrev. Revised versions >>>>> are here >>>>> >>>>> http://cr.openjdk.java.net/~phh/6173675/webrev.02/ >>>> >>>> In ThreadImpl.java you could replace: >>>> >>>> long[] times = initialLongArray(length, -1); >>>> >>>> with >>>> >>>> long[] times = java.util.Arrays.fill(new long[length], -1); >>>> >>>> and delete initialLongArray. >>>> >>>> >>>> In test/com/sun/management/ThreadMXBean/ThreadCpuTimeArray.java >>>> >>>> I don't understand the test logic. Your tests threads all do: >>>> >>>> doit(); >>>> while (!done) wait >>>> doit(); >>>> >>>> but the main thread doesn't check any times etc after setting >>>> done=true, so why have the test threads do the second call to doit? >>>> For that matter why even bother with doit()? It only delays the >>>> threads in getting to the wait(), which is what the main thread >>>> itself waits for. >>>> >>>> 111 goSleep(200); >>>> >>>> What does 200 represent? What is it that you are actually waiting >>>> for? Is 200 long enough on a slow uniprocessor? >>>> >>>> 141 if ((times[i] + DELTA) < newTime) { >>>> 142 throw new RuntimeException("TEST FAILED: " + >>>> >>>> Again what does DELTA represent, how can you be sure the times for >>>> all threads will have advanced this much? >>>> >>>> >>>>> http://cr.openjdk.java.net/~phh/7003271/webrev.02/ >>>> >>>> All files listed have zero changes ??? >>>> >>>> Cheers, >>>> David >>>> ----- >>>> >>>>> The interesting changes are in the library side for 6173675. In >>>>> particular, >>>>> I've added 3 unit tests. >>>>> >>>>> Thanks for any review, >>>>> >>>>> Paul >>>>> From tom.rodriguez at oracle.com Wed Jan 12 14:50:40 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Wed, 12 Jan 2011 14:50:40 -0800 Subject: review (M) for 4926272: methodOopDesc::method_from_bcp is unsafe In-Reply-To: <9178B296-2B6B-4952-B40B-C0DEE93EB5DD@oracle.com> References: <0F6A0333-8ED2-4CA5-BEAF-344AAD5C164B@oracle.com> <9178B296-2B6B-4952-B40B-C0DEE93EB5DD@oracle.com> Message-ID: <5850D32D-8D83-4B0B-895C-AB77393D77B1@oracle.com> On Jan 11, 2011, at 3:51 PM, John Rose wrote: > On Jan 11, 2011, at 2:31 PM, Tom Rodriguez wrote: > >> http://cr.openjdk.java.net/~never/4926272 >>> >> 4926272: methodOopDesc::method_from_bcp is unsafe > > This is a painful but long-needed cleanup. There is lots of good code deletion. Thank you. I've updated the webrev wit the following changes. It's now always method, bcp/bci. I removed methodOop from a few minor places where it wasn't needed. I changed bytecode to extract the Code in the constructor and made a few changes in Bytescodes to allow this. This would allow it work with breakpoints in the CI. I changed Bytecode_loadconstant and Bytecode_member_ref to inherit from Bytecode and removed some redundant/unneeded fields and methods. I added constructors that take a ciBytecodeStream* to build the CI versions of the Bytecode and placed the definitions in ciStreams.hpp so they could be inlined. Moved the must_rewrite logic into Bytecodes with the can_rewrite stuff. Added java_code_at and code_at to methodOop. Renamed Bytecode_invoke_at_check to Bytecode_invoke_check. tom > > Bytecode_member_ref and Bytecode_loadconstant would look better as subclasses of Bytcode also. Was there a mismatch somewhere? Suggest pushing the Bytecode superclass down into those guys. > > That's an economical move passing methodOop(NULL) from the CI. > > The two binary overloadings of Bytecodes::code_at have swapped arg-order; this smells worse now. Can something be done? Maybe just put the (now required) methodOop first always or (better) second always? Wait, I guess I see the convention: bcp/oop vs. oop/bci. (Seen in Bytecode constructors and various accessors in Bytecodes::.) That is an uncomfortable way to deal with the bci/bcp duality, which might be worth fixing now. Fixing it might double your (already considerable) work. OTOH, fixing that might just touch use points you are already touching now anyway. Suggest moving the methodOop after the bcp/bci in all touched API points and immediate neighbors. > > The name Bytecode_invoke_at_check doesn't read so well anymore; it is not part of a pattern. Suggest Bytecode_invoke_check. > > Reviewed! > > -- John From vladimir.kozlov at oracle.com Wed Jan 12 15:04:58 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 12 Jan 2011 15:04:58 -0800 Subject: review (M) for 4926272: methodOopDesc::method_from_bcp is unsafe In-Reply-To: <5850D32D-8D83-4B0B-895C-AB77393D77B1@oracle.com> References: <0F6A0333-8ED2-4CA5-BEAF-344AAD5C164B@oracle.com> <9178B296-2B6B-4952-B40B-C0DEE93EB5DD@oracle.com> <5850D32D-8D83-4B0B-895C-AB77393D77B1@oracle.com> Message-ID: <4D2E339A.6040906@oracle.com> Looks good. Vladimir Tom Rodriguez wrote: > On Jan 11, 2011, at 3:51 PM, John Rose wrote: > >> On Jan 11, 2011, at 2:31 PM, Tom Rodriguez wrote: >> >>> http://cr.openjdk.java.net/~never/4926272 >>> 4926272: methodOopDesc::method_from_bcp is unsafe >> This is a painful but long-needed cleanup. There is lots of good code deletion. Thank you. > > I've updated the webrev wit the following changes. It's now always method, bcp/bci. I removed methodOop from a few minor places where it wasn't needed. I changed bytecode to extract the Code in the constructor and made a few changes in Bytescodes to allow this. This would allow it work with breakpoints in the CI. I changed Bytecode_loadconstant and Bytecode_member_ref to inherit from Bytecode and removed some redundant/unneeded fields and methods. I added constructors that take a ciBytecodeStream* to build the CI versions of the Bytecode and placed the definitions in ciStreams.hpp so they could be inlined. Moved the must_rewrite logic into Bytecodes with the can_rewrite stuff. Added java_code_at and code_at to methodOop. Renamed Bytecode_invoke_at_check to Bytecode_invoke_check. > > tom > >> Bytecode_member_ref and Bytecode_loadconstant would look better as subclasses of Bytcode also. Was there a mismatch somewhere? Suggest pushing the Bytecode superclass down into those guys. >> >> That's an economical move passing methodOop(NULL) from the CI. >> >> The two binary overloadings of Bytecodes::code_at have swapped arg-order; this smells worse now. Can something be done? Maybe just put the (now required) methodOop first always or (better) second always? Wait, I guess I see the convention: bcp/oop vs. oop/bci. (Seen in Bytecode constructors and various accessors in Bytecodes::.) That is an uncomfortable way to deal with the bci/bcp duality, which might be worth fixing now. Fixing it might double your (already considerable) work. OTOH, fixing that might just touch use points you are already touching now anyway. Suggest moving the methodOop after the bcp/bci in all touched API points and immediate neighbors. >> >> The name Bytecode_invoke_at_check doesn't read so well anymore; it is not part of a pattern. Suggest Bytecode_invoke_check. >> >> Reviewed! >> >> -- John > From coleen.phillimore at oracle.com Wed Jan 12 15:17:48 2011 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Wed, 12 Jan 2011 18:17:48 -0500 Subject: review (M) for 4926272: methodOopDesc::method_from_bcp is unsafe In-Reply-To: <5850D32D-8D83-4B0B-895C-AB77393D77B1@oracle.com> References: <0F6A0333-8ED2-4CA5-BEAF-344AAD5C164B@oracle.com> <9178B296-2B6B-4952-B40B-C0DEE93EB5DD@oracle.com> <5850D32D-8D83-4B0B-895C-AB77393D77B1@oracle.com> Message-ID: <4D2E369C.9050205@oracle.com> This is a really nice change. Thanks, Coleen On 1/12/2011 5:50 PM, Tom Rodriguez wrote: > On Jan 11, 2011, at 3:51 PM, John Rose wrote: > >> On Jan 11, 2011, at 2:31 PM, Tom Rodriguez wrote: >> >>> http://cr.openjdk.java.net/~never/4926272 >>> 4926272: methodOopDesc::method_from_bcp is unsafe >> This is a painful but long-needed cleanup. There is lots of good code deletion. Thank you. > I've updated the webrev wit the following changes. It's now always method, bcp/bci. I removed methodOop from a few minor places where it wasn't needed. I changed bytecode to extract the Code in the constructor and made a few changes in Bytescodes to allow this. This would allow it work with breakpoints in the CI. I changed Bytecode_loadconstant and Bytecode_member_ref to inherit from Bytecode and removed some redundant/unneeded fields and methods. I added constructors that take a ciBytecodeStream* to build the CI versions of the Bytecode and placed the definitions in ciStreams.hpp so they could be inlined. Moved the must_rewrite logic into Bytecodes with the can_rewrite stuff. Added java_code_at and code_at to methodOop. Renamed Bytecode_invoke_at_check to Bytecode_invoke_check. > > tom > >> Bytecode_member_ref and Bytecode_loadconstant would look better as subclasses of Bytcode also. Was there a mismatch somewhere? Suggest pushing the Bytecode superclass down into those guys. >> >> That's an economical move passing methodOop(NULL) from the CI. >> >> The two binary overloadings of Bytecodes::code_at have swapped arg-order; this smells worse now. Can something be done? Maybe just put the (now required) methodOop first always or (better) second always? Wait, I guess I see the convention: bcp/oop vs. oop/bci. (Seen in Bytecode constructors and various accessors in Bytecodes::.) That is an uncomfortable way to deal with the bci/bcp duality, which might be worth fixing now. Fixing it might double your (already considerable) work. OTOH, fixing that might just touch use points you are already touching now anyway. Suggest moving the methodOop after the bcp/bci in all touched API points and immediate neighbors. >> >> The name Bytecode_invoke_at_check doesn't read so well anymore; it is not part of a pattern. Suggest Bytecode_invoke_check. >> >> Reviewed! >> >> -- John From john.r.rose at oracle.com Wed Jan 12 16:42:39 2011 From: john.r.rose at oracle.com (John Rose) Date: Wed, 12 Jan 2011 16:42:39 -0800 Subject: review (M) for 4926272: methodOopDesc::method_from_bcp is unsafe In-Reply-To: <4D2E369C.9050205@oracle.com> References: <0F6A0333-8ED2-4CA5-BEAF-344AAD5C164B@oracle.com> <9178B296-2B6B-4952-B40B-C0DEE93EB5DD@oracle.com> <5850D32D-8D83-4B0B-895C-AB77393D77B1@oracle.com> <4D2E369C.9050205@oracle.com> Message-ID: On Jan 12, 2011, at 3:17 PM, Coleen Phillimore wrote: > This is a really nice change. Exactly my thought. Tom, thanks for the multiple iterations of extra care. I like the new webrev. A final thought: I noticed you added methodOopDesc::code_at (with java_code_at), as part of the pattern of making the method argument more explicit everywhere. (Doesn't work everywhere, since sometimes the method is null, but it works lots of places.) You might consider (though it's not necessary) changing some of your use points of Bytecodes::code_at(m,x) to m->code_at(x). One spot I noticed was methodOopDesc::is_accessor. -- John From tom.rodriguez at oracle.com Wed Jan 12 18:18:14 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Wed, 12 Jan 2011 18:18:14 -0800 Subject: review (M) for 4926272: methodOopDesc::method_from_bcp is unsafe In-Reply-To: References: <0F6A0333-8ED2-4CA5-BEAF-344AAD5C164B@oracle.com> <9178B296-2B6B-4952-B40B-C0DEE93EB5DD@oracle.com> <5850D32D-8D83-4B0B-895C-AB77393D77B1@oracle.com> <4D2E369C.9050205@oracle.com> Message-ID: <993E36B6-6D6F-4046-A4E3-6BB47BA4E9E6@oracle.com> On Jan 12, 2011, at 4:42 PM, John Rose wrote: > On Jan 12, 2011, at 3:17 PM, Coleen Phillimore wrote: > >> This is a really nice change. > > Exactly my thought. > > Tom, thanks for the multiple iterations of extra care. I like the new webrev. > > A final thought: I noticed you added methodOopDesc::code_at (with java_code_at), as part of the pattern of making the method argument more explicit everywhere. (Doesn't work everywhere, since sometimes the method is null, but it works lots of places.) You might consider (though it's not necessary) changing some of your use points of Bytecodes::code_at(m,x) to m->code_at(x). One spot I noticed was methodOopDesc::is_accessor. I was looking for more places to use that but most of them want the bcp anyway so it wasn't much better. is_accessor is a good one though and I fixed a minor use in some printing code in deoptimization.cpp. Many of the other ones feel like they could be simplified by embedding more logic in Bytecode itself but I'm not going to go there. Thanks for all the good feedback Coleen, John and Vladimir. I'm going to redo my testing now and push tomorrow if everything looks good. tom > > -- John > From xingfugui111 at 163.com Thu Jan 13 06:19:28 2011 From: xingfugui111 at 163.com (=?GBK?B?0M+4trnz?=) Date: Thu, 13 Jan 2011 22:19:28 +0800 (CST) Subject: subcribe Message-ID: <6a43b1b1.8a8d.12d7fbed2ea.Coremail.xingfugui111@163.com> -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20110113/3026f9cc/attachment.html From Christian.Thalinger at Sun.COM Thu Jan 13 12:37:36 2011 From: Christian.Thalinger at Sun.COM (Christian.Thalinger at Sun.COM) Date: Thu, 13 Jan 2011 20:37:36 +0000 Subject: hg: jdk7/hotspot/hotspot: 9 new changesets Message-ID: <20110113203754.B16E147C09@hg.openjdk.java.net> Changeset: 55f868e91c3b Author: iveresov Date: 2011-01-06 16:03 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/55f868e91c3b 7010618: C1: array length should be treated at int on 64bit during array allocation Summary: Sign-extend the length argument during array allocation Reviewed-by: never, kvn ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp Changeset: 0e52ef6e94d3 Author: twisti Date: 2011-01-07 03:58 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/0e52ef6e94d3 Merge Changeset: 4fc084dac61e Author: kvn Date: 2011-01-07 10:16 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/4fc084dac61e 7009756: volatile variables could be broken throw reflection API Summary: Use Atomic::load() and Atomic::store() to access a volatile long. Reviewed-by: iveresov, jrose, dholmes, never ! src/os_cpu/linux_sparc/vm/atomic_linux_sparc.inline.hpp ! src/os_cpu/linux_x86/vm/atomic_linux_x86.inline.hpp ! src/os_cpu/linux_x86/vm/linux_x86_32.s ! src/os_cpu/linux_x86/vm/orderAccess_linux_x86.inline.hpp ! src/os_cpu/solaris_x86/vm/atomic_solaris_x86.inline.hpp ! src/os_cpu/solaris_x86/vm/orderAccess_solaris_x86.inline.hpp ! src/os_cpu/solaris_x86/vm/solaris_x86_32.il ! src/os_cpu/windows_x86/vm/atomic_windows_x86.inline.hpp ! src/os_cpu/windows_x86/vm/orderAccess_windows_x86.inline.hpp ! src/share/vm/prims/unsafe.cpp Changeset: 78e248949382 Author: kvn Date: 2011-01-07 11:53 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/78e248949382 6876037: CTW fails jdk7/hotspot/src/share/vm/opto/type.cpp:2055. assert(bits,"Use TypePtr for NULL") Summary: Add missing 0 value check in TypeRawPtr::add_offset(). Reviewed-by: never ! src/share/vm/opto/type.cpp Changeset: d810e9a3fc33 Author: twisti Date: 2011-01-10 00:56 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/d810e9a3fc33 7010180: JSR 292 InvokeDynamicPrintArgs fails with: assert(_adapter == NULL) failed: init'd to NULL Reviewed-by: never ! src/cpu/sparc/vm/methodHandles_sparc.cpp ! src/cpu/x86/vm/methodHandles_x86.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/methodHandles.hpp Changeset: 70427f06ea47 Author: twisti Date: 2011-01-10 03:58 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/70427f06ea47 7010913: JSR 292 ciMethodHandle does not handle MethodHandleCompiler exceptions properly Reviewed-by: kvn, never ! src/share/vm/ci/ciMethodHandle.cpp ! src/share/vm/prims/methodHandleWalk.cpp Changeset: dd031b2226de Author: iveresov Date: 2011-01-10 18:46 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/dd031b2226de 4930919: race condition in MDO creation at back branch locations Summary: Reuse set_method_data_for_bcp() to setup mdp after MDO creation. Reviewed-by: kvn, never ! src/cpu/sparc/vm/interp_masm_sparc.cpp ! src/cpu/sparc/vm/interp_masm_sparc.hpp ! 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_64.cpp ! 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_64.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/interpreter/interpreterRuntime.hpp Changeset: d4fca0a6abde Author: kvn Date: 2011-01-11 20:26 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/d4fca0a6abde 7011386: race in objArrayKlass::array_klass_impl Summary: Move _lower_dimension field initialization before _higher_dimension and add storestore barrier. Reviewed-by: dholmes, iveresov, never ! src/share/vm/oops/arrayKlass.hpp ! src/share/vm/oops/objArrayKlass.cpp ! src/share/vm/oops/typeArrayKlass.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: bb8e3b66bde6 Author: twisti Date: 2011-01-13 07:20 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/bb8e3b66bde6 Merge ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/os_cpu/linux_x86/vm/linux_x86_32.s ! src/os_cpu/solaris_x86/vm/solaris_x86_32.il From daniel.daugherty at oracle.com Thu Jan 13 16:49:08 2011 From: daniel.daugherty at oracle.com (daniel.daugherty at oracle.com) Date: Fri, 14 Jan 2011 00:49:08 +0000 Subject: hg: jdk7/hotspot/hotspot: 11 new changesets Message-ID: <20110114004927.8D63347C15@hg.openjdk.java.net> Changeset: c17b998c5926 Author: iveresov Date: 2011-01-12 18:33 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/c17b998c5926 7011627: C1: call_RT must support targets that don't fit in wdisp30 Summary: Make both compilers emit near and far calls when necessary. Reviewed-by: never, kvn, phh ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/assembler_sparc.inline.hpp ! src/cpu/sparc/vm/sparc.ad Changeset: 5ae3e3b03224 Author: twisti Date: 2011-01-13 07:28 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/5ae3e3b03224 Merge ! src/cpu/sparc/vm/assembler_sparc.hpp Changeset: df307487d610 Author: dholmes Date: 2011-01-09 17:16 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/df307487d610 7010665: Misplaced membar in C1 implementation of Unsafe.get/putXXX Summary: Modify membars to match regular volatile variable handling Reviewed-by: iveresov, kvn, never ! src/share/vm/c1/c1_LIRGenerator.cpp Changeset: e31d8c656c5b Author: dcubed Date: 2011-01-10 09:23 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/e31d8c656c5b Merge ! src/share/vm/c1/c1_LIRGenerator.cpp Changeset: 7246a374a9f2 Author: kamg Date: 2011-01-10 17:14 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/7246a374a9f2 6458402: 3 jvmti tests fail with CMS and +ExplicitGCInvokesConcurrent Summary: Make JvmtiGCMark safe to run non-safepoint and instrument CMS Reviewed-by: ysr, dcubed ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/vm_operations_g1.cpp ! src/share/vm/gc_implementation/parallelScavenge/vmPSOperations.cpp ! src/share/vm/gc_implementation/shared/vmGCOperations.cpp ! src/share/vm/gc_implementation/shared/vmGCOperations.hpp ! src/share/vm/prims/jvmti.xml ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/jvmtiExport.hpp ! src/share/vm/prims/jvmtiImpl.cpp ! src/share/vm/prims/jvmtiImpl.hpp ! src/share/vm/prims/jvmtiTagMap.cpp ! src/share/vm/prims/jvmtiTagMap.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/jniHandles.cpp Changeset: db2b0f8c1cef Author: kamg Date: 2011-01-11 10:06 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/db2b0f8c1cef 6814943: getcpool001 catches more than one JvmtiThreadState problem Summary: Mark field volatile, use membars, and change access order to close race Reviewed-by: dcubed, dholmes ! src/share/vm/prims/jvmtiEventController.cpp ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp Changeset: 5577848f5923 Author: phh Date: 2011-01-11 17:33 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/5577848f5923 7011463: Sparc MacroAssembler::incr_allocated_bytes() needs a RegisterOrConstant argument Summary: Replaced incr_allocated_bytes() formals var_size_in_bytes and con_size_in_bytes with a single RegisterOrConstant formal. Reviewed-by: twisti, jcoomes ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp Changeset: 0ca32cc95d7b Author: phh Date: 2011-01-11 17:50 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/0ca32cc95d7b Merge Changeset: 8f8dfba37802 Author: kevinw Date: 2011-01-12 15:44 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/8f8dfba37802 6994753: Implement optional hook to a Java method at VM startup. Reviewed-by: mchung, acorn ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/prims/jvm.h ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/java.hpp ! src/share/vm/runtime/thread.cpp Changeset: 34d64ad817f4 Author: coleenp Date: 2011-01-12 13:59 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/34d64ad817f4 7009828: Fix for 6938627 breaks visualvm monitoring when -Djava.io.tmpdir is defined Summary: Change get_temp_directory() back to /tmp and %TEMP% like it always was and where the tools expect it to be. Reviewed-by: phh, dcubed, kamg, alanb ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/utilities/vmError.cpp Changeset: 856ecff79cf7 Author: dcubed Date: 2011-01-13 08:32 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/856ecff79cf7 Merge ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/templateTable_sparc.cpp From john.cuthbertson at oracle.com Thu Jan 13 19:28:05 2011 From: john.cuthbertson at oracle.com (john.cuthbertson at oracle.com) Date: Fri, 14 Jan 2011 03:28:05 +0000 Subject: hg: jdk7/hotspot/hotspot: 6 new changesets Message-ID: <20110114032825.28A4347C31@hg.openjdk.java.net> Changeset: 4947ee68d19c Author: ysr Date: 2011-01-06 23:50 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/4947ee68d19c 7008136: CMS: assert((HeapWord*)nextChunk <= _limit) failed: sweep invariant Summary: The recorded _sweep_limit may not necessarily remain a block boundary as the old generation expands during a concurrent cycle. Terminal actions inside the sweep closure need to be aware of this as they cross over the limit. Reviewed-by: johnc, minqi ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp Changeset: 2250ee17e258 Author: tonyp Date: 2011-01-12 13:06 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/2250ee17e258 7007068: G1: refine the BOT during evac failure handling Summary: During evacuation failure handling we refine the BOT to reflect the location of all the objects in the regions we scan. The changeset includes some minor cleanup: a) non-product print_on() method on the G1 BOT class, b) added more complete BOT verification during heap / region verification, c) slight modification to the BOT set up for humongous regions to be more consistent with the BOT set up during evac failure handling, and d) removed a couple of unused methods. Reviewed-by: johnc, ysr ! src/share/vm/gc_implementation/g1/g1BlockOffsetTable.cpp ! src/share/vm/gc_implementation/g1/g1BlockOffsetTable.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.cpp Changeset: b158bed62ef5 Author: tonyp Date: 2011-01-12 16:34 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/b158bed62ef5 6994297: G1: do first-level slow-path allocations with a CAS Summary: First attempt to allocate out the current alloc region using a CAS instead of taking the Heap_lock (first level of G1's slow allocation path). Only if that fails and it's necessary to replace the current alloc region take the Heap_lock (that's the second level of G1's slow allocation path). Reviewed-by: johnc, brutisso, ysr ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp Changeset: 2e0b0c4671e4 Author: brutisso Date: 2011-01-13 04:43 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/2e0b0c4671e4 6941122: G1: UseLargePages does not work with G1 garbage collector Summary: Pass the value of UseLargePages instead of false as the "large" parameter when reserving the G1 heap. Reviewed-by: tonyp, johnc, phh ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Changeset: c91cc404ca46 Author: ysr Date: 2011-01-13 11:33 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/c91cc404ca46 7011940: iCMS: SIGSEGV in SweepClosure::do_already_free_chunk(FreeChunk*)+0x360 Summary: Revert a (relaxed version of the) bounds-check that was incorrectly removed in the fix for 7008136. Reviewed-by: jmasa, johnc ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Changeset: ffd725ff6943 Author: johnc Date: 2011-01-13 17:19 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/ffd725ff6943 Merge ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp From erik.trimble at oracle.com Fri Jan 14 04:01:11 2011 From: erik.trimble at oracle.com (erik.trimble at oracle.com) Date: Fri, 14 Jan 2011 12:01:11 +0000 Subject: hg: jdk7/hotspot/hotspot: 5 new changesets Message-ID: <20110114120216.1DC7F47C49@hg.openjdk.java.net> Changeset: 4c851c931d00 Author: cl Date: 2011-01-13 16:43 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/4c851c931d00 Added tag jdk7-b125 for changeset e24ab3fa6aaf ! .hgtags Changeset: e4f8c88cf6f0 Author: trims Date: 2011-01-13 22:49 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/e4f8c88cf6f0 Added tag hs20-b06 for changeset e24ab3fa6aaf ! .hgtags Changeset: 76d6282dcfe5 Author: trims Date: 2011-01-13 22:53 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/76d6282dcfe5 7012348: Bump the HS20 build number to 07 Summary: Update the HS20 build number to 07 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 0915f9be781c Author: trims Date: 2011-01-13 22:54 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/0915f9be781c Merge Changeset: 75efcee5ac47 Author: minqi Date: 2010-10-07 13:49 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/75efcee5ac47 6966589: hs16-b08 causes java.lang.StackOverflowError Reviewed-by: mchung, dholmes, chrisphi ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/classfile/classLoader.hpp From john.coomes at oracle.com Fri Jan 14 11:32:45 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 14 Jan 2011 19:32:45 +0000 Subject: hg: jdk7/hotspot: Added tag jdk7-b125 for changeset 5c4df7e99277 Message-ID: <20110114193245.DE54747C5A@hg.openjdk.java.net> Changeset: b566d4909056 Author: cl Date: 2011-01-13 16:43 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/rev/b566d4909056 Added tag jdk7-b125 for changeset 5c4df7e99277 ! .hgtags From john.coomes at oracle.com Fri Jan 14 11:32:53 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 14 Jan 2011 19:32:53 +0000 Subject: hg: jdk7/hotspot/corba: Added tag jdk7-b125 for changeset 1ce58c72b789 Message-ID: <20110114193253.E5D0847C5C@hg.openjdk.java.net> Changeset: d7532bcd3742 Author: cl Date: 2011-01-13 16:43 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/corba/rev/d7532bcd3742 Added tag jdk7-b125 for changeset 1ce58c72b789 ! .hgtags From john.coomes at oracle.com Fri Jan 14 11:33:01 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 14 Jan 2011 19:33:01 +0000 Subject: hg: jdk7/hotspot/jaxp: Added tag jdk7-b125 for changeset 6c9bdee0cc3a Message-ID: <20110114193302.02C2147C5D@hg.openjdk.java.net> Changeset: 116b935148bc Author: cl Date: 2011-01-13 16:43 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/116b935148bc Added tag jdk7-b125 for changeset 6c9bdee0cc3a ! .hgtags From john.coomes at oracle.com Fri Jan 14 11:33:09 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 14 Jan 2011 19:33:09 +0000 Subject: hg: jdk7/hotspot/jaxws: Added tag jdk7-b125 for changeset d72eea121c3b Message-ID: <20110114193309.17BA847C5E@hg.openjdk.java.net> Changeset: e8fc02b4c889 Author: cl Date: 2011-01-13 16:43 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/e8fc02b4c889 Added tag jdk7-b125 for changeset d72eea121c3b ! .hgtags From john.coomes at oracle.com Fri Jan 14 11:33:17 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 14 Jan 2011 19:33:17 +0000 Subject: hg: jdk7/hotspot/jdk: Added tag jdk7-b125 for changeset 0a56bdd709d0 Message-ID: <20110114193355.0087B47C5F@hg.openjdk.java.net> Changeset: 3972926bc8f1 Author: cl Date: 2011-01-13 16:44 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/3972926bc8f1 Added tag jdk7-b125 for changeset 0a56bdd709d0 ! .hgtags From john.coomes at oracle.com Fri Jan 14 11:34:02 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 14 Jan 2011 19:34:02 +0000 Subject: hg: jdk7/hotspot/langtools: Added tag jdk7-b125 for changeset 4b0560c72b52 Message-ID: <20110114193405.EFD0E47C60@hg.openjdk.java.net> Changeset: 62bdb6767734 Author: cl Date: 2011-01-13 16:44 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/62bdb6767734 Added tag jdk7-b125 for changeset 4b0560c72b52 ! .hgtags From vladimir.kozlov at oracle.com Wed Jan 19 21:07:03 2011 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Thu, 20 Jan 2011 05:07:03 +0000 Subject: hg: jdk7/hotspot/hotspot: 2 new changesets Message-ID: <20110120050707.4DF2247F9F@hg.openjdk.java.net> Changeset: 85c73c0edb06 Author: kvn Date: 2011-01-18 17:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/85c73c0edb06 7012965: Fix failed on sparc for 7009756: volatile variables could be broken throw reflection API Summary: Use LDX/STX on v9 and LDD/STD on v8 sparc for volatile long moves. Reviewed-by: never ! src/os_cpu/solaris_sparc/vm/atomic_solaris_sparc.inline.hpp ! src/os_cpu/solaris_sparc/vm/orderAccess_solaris_sparc.inline.hpp ! src/os_cpu/solaris_sparc/vm/solaris_sparc.il Changeset: b599a4c6c2df Author: iveresov Date: 2011-01-18 18:00 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/b599a4c6c2df 7012766: assert(false) failed: DEBUG MESSAGE in MacroAssembler::debug32 Summary: Interpreter expects to see methodOop in rbx on method entry, which needs to be restored after call to profile_method. Reviewed-by: kvn, never ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp From daniel.daugherty at oracle.com Thu Jan 20 09:06:00 2011 From: daniel.daugherty at oracle.com (daniel.daugherty at oracle.com) Date: Thu, 20 Jan 2011 17:06:00 +0000 Subject: hg: jdk7/hotspot/hotspot: 7 new changesets Message-ID: <20110120170612.8462047FC2@hg.openjdk.java.net> Changeset: 8012aa3ccede Author: never Date: 2011-01-13 22:15 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/8012aa3ccede 4926272: methodOopDesc::method_from_bcp is unsafe Reviewed-by: coleenp, jrose, kvn, dcubed ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_Runtime1.cpp ! src/share/vm/ci/bcEscapeAnalyzer.cpp ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/ci/ciMethodBlocks.cpp ! src/share/vm/ci/ciStreams.hpp ! src/share/vm/ci/ciTypeFlow.cpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/compiler/methodLiveness.cpp ! src/share/vm/interpreter/bytecode.cpp ! src/share/vm/interpreter/bytecode.hpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/interpreter/bytecodeStream.cpp ! 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/interpreter.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/interpreter/interpreterRuntime.hpp ! src/share/vm/interpreter/rewriter.cpp ! src/share/vm/interpreter/templateInterpreter.cpp ! src/share/vm/oops/generateOopMap.cpp ! src/share/vm/oops/methodDataOop.cpp ! src/share/vm/oops/methodOop.cpp ! src/share/vm/oops/methodOop.hpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/methodComparator.cpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/relocator.hpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/vframeArray.cpp Changeset: 17c778814856 Author: coleenp Date: 2011-01-14 13:47 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/17c778814856 6811367: Fix code in HeapDumper::dump_heap() to avoid buffer overrun Summary: Check buffer size before using and use dynamic buffer sizes for subsequent calls. Reviewed-by: kamg, dholmes ! src/share/vm/services/heapDumper.cpp Changeset: 633a44a9fc45 Author: dcubed Date: 2011-01-19 07:15 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/633a44a9fc45 Merge ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/interpreter/interpreterRuntime.hpp Changeset: c1a0ede55d6f Author: dcubed Date: 2011-01-19 07:41 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/c1a0ede55d6f 7012493: 2/2 6849574/Test.java fails with Internal Error (src/share/vm/prims/jvmtiTagMap.cpp:3294) Summary: Refine assertion to work before VMThread has started. Reviewed-by: ysr, never, dholmes, acorn ! src/share/vm/prims/jvmtiTagMap.cpp Changeset: 2f33b03bd915 Author: never Date: 2011-01-19 08:16 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/2f33b03bd915 7013008: 2/3 assert(method == NULL || check_method(method, bcp)) failed: bcp must point into method Summary: The Relocator should pass a NULL methodOop when rewriting since its resource array can never contain breakpoints. Reviewed-by: dcubed, kvn, coleenp ! src/share/vm/runtime/relocator.hpp Changeset: 9afee0b9fc1d Author: kamg Date: 2011-01-19 13:51 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/9afee0b9fc1d 7012505: BreakpointWithFullGC.sh fails with Internal Error (src/share/vm/oops/methodOop.cpp:220) Summary: Rebuild breakpoint cache at gc_epilogue instead of during oops_do Reviewed-by: dcubed, ysr, coleenp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/memory/genMarkSweep.cpp ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/jvmtiExport.hpp ! src/share/vm/prims/jvmtiImpl.cpp ! src/share/vm/prims/jvmtiImpl.hpp ! src/share/vm/runtime/jniHandles.cpp Changeset: 02b6913287da Author: dcubed Date: 2011-01-19 19:24 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/02b6913287da Merge From john.cuthbertson at oracle.com Thu Jan 20 16:44:47 2011 From: john.cuthbertson at oracle.com (john.cuthbertson at oracle.com) Date: Fri, 21 Jan 2011 00:44:47 +0000 Subject: hg: jdk7/hotspot/hotspot: 5 new changesets Message-ID: <20110121004457.0121047FF4@hg.openjdk.java.net> Changeset: 7e37af9d69ef Author: tonyp Date: 2011-01-19 09:35 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/7e37af9d69ef 7011379: G1: overly long concurrent marking cycles Summary: This changeset introduces filtering of SATB buffers at the point when they are about to be enqueued. If this filtering clears enough entries on each buffer, the buffer can then be re-used and not enqueued. This cuts down the number of SATB buffers that need to be processed by the concurrent marking threads. Reviewed-by: johnc, ysr ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.hpp ! src/share/vm/gc_implementation/g1/ptrQueue.cpp ! src/share/vm/gc_implementation/g1/ptrQueue.hpp ! src/share/vm/gc_implementation/g1/satbQueue.cpp ! src/share/vm/gc_implementation/g1/satbQueue.hpp Changeset: 182e9624aa42 Author: johnc Date: 2011-01-19 13:01 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/182e9624aa42 7012642: G1: JumbleGC002 test aborts with segmentation violation due to uncaught stack overflow Summary: With recent G1 allocation path changes, the value of StackShadowPages in fast debug builds of the JVM, is no longer large enough to prevent the JVM C++ code from touching the stack guard pages. Increase the value of StackShadowPages to a suitable value. Reviewed-by: ysr, tonyp, coleenp ! src/cpu/x86/vm/globals_x86.hpp Changeset: cb913d743d09 Author: johnc Date: 2011-01-19 13:04 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/cb913d743d09 Merge Changeset: 0fa27f37d4d4 Author: tonyp Date: 2011-01-19 19:30 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/0fa27f37d4d4 6977804: G1: remove the zero-filling thread Summary: This changeset removes the zero-filling thread from G1 and collapses the two free region lists we had before (the "free" and "unclean" lists) into one. The new free list uses the new heap region sets / lists abstractions that we'll ultimately use it to keep track of all regions in the heap. A heap region set was also introduced for the humongous regions. Finally, this change increases the concurrency between the thread that completes freeing regions (after a cleanup pause) and the rest of the system (before we'd have to wait for said thread to complete before allocating a new region). The changest also includes a lot of refactoring and code simplification. Reviewed-by: jcoomes, johnc ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp - src/share/vm/gc_implementation/g1/concurrentZFThread.cpp - src/share/vm/gc_implementation/g1/concurrentZFThread.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! 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/heapRegionSeq.cpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.hpp + src/share/vm/gc_implementation/g1/heapRegionSet.cpp + src/share/vm/gc_implementation/g1/heapRegionSet.hpp + src/share/vm/gc_implementation/g1/heapRegionSet.inline.hpp + src/share/vm/gc_implementation/g1/heapRegionSets.cpp + src/share/vm/gc_implementation/g1/heapRegionSets.hpp ! src/share/vm/runtime/mutexLocker.cpp ! src/share/vm/runtime/mutexLocker.hpp ! src/share/vm/utilities/debug.hpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: 377371490991 Author: johnc Date: 2011-01-20 13:57 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/377371490991 Merge - src/share/vm/gc_implementation/g1/concurrentZFThread.cpp - src/share/vm/gc_implementation/g1/concurrentZFThread.hpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp From john.coomes at oracle.com Thu Jan 20 20:32:36 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 21 Jan 2011 04:32:36 +0000 Subject: hg: jdk7/hotspot: Added tag jdk7-b126 for changeset b566d4909056 Message-ID: <20110121043236.F241347FFD@hg.openjdk.java.net> Changeset: bd70f76b0309 Author: cl Date: 2011-01-20 15:51 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/rev/bd70f76b0309 Added tag jdk7-b126 for changeset b566d4909056 ! .hgtags From john.coomes at oracle.com Thu Jan 20 20:32:43 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 21 Jan 2011 04:32:43 +0000 Subject: hg: jdk7/hotspot/corba: Added tag jdk7-b126 for changeset d7532bcd3742 Message-ID: <20110121043245.A5FD247FFE@hg.openjdk.java.net> Changeset: 64775e83f4df Author: cl Date: 2011-01-20 15:52 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/corba/rev/64775e83f4df Added tag jdk7-b126 for changeset d7532bcd3742 ! .hgtags From john.coomes at oracle.com Thu Jan 20 20:32:52 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 21 Jan 2011 04:32:52 +0000 Subject: hg: jdk7/hotspot/jaxp: 6 new changesets Message-ID: <20110121043252.2B9A047FFF@hg.openjdk.java.net> Changeset: 63190d0ca619 Author: ohair Date: 2010-12-16 13:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/63190d0ca619 7007257: jaxp 1.4.5 jdk7 1st integration Reviewed-by: joehw ! jaxp.properties Changeset: ce7b69a2d927 Author: lana Date: 2010-12-22 22:57 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/ce7b69a2d927 Merge Changeset: 3a829f5ba9d2 Author: lana Date: 2011-01-04 16:28 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/3a829f5ba9d2 Merge Changeset: 64c84c62ec2a Author: lana Date: 2011-01-13 14:55 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/64c84c62ec2a Merge Changeset: 2fde639439c1 Author: lana Date: 2011-01-14 13:48 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/2fde639439c1 Merge Changeset: c532d6dbc8d1 Author: cl Date: 2011-01-20 15:52 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/c532d6dbc8d1 Added tag jdk7-b126 for changeset 2fde639439c1 ! .hgtags From john.coomes at oracle.com Thu Jan 20 20:32:58 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 21 Jan 2011 04:32:58 +0000 Subject: hg: jdk7/hotspot/jaxws: 6 new changesets Message-ID: <20110121043258.8ECE448000@hg.openjdk.java.net> Changeset: aca101db2361 Author: ohair Date: 2010-12-16 13:14 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/aca101db2361 7006853: Integrate JAX-WS 2.2.2 RI into JDK 7 Reviewed-by: ramap ! jaxws.properties Changeset: 8ac759987b08 Author: lana Date: 2010-12-22 22:57 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/8ac759987b08 Merge Changeset: 466e89f7e5be Author: lana Date: 2011-01-04 16:37 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/466e89f7e5be Merge ! jaxws.properties Changeset: dba69d6345d9 Author: lana Date: 2011-01-13 14:55 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/dba69d6345d9 Merge Changeset: 6d772c5119d5 Author: lana Date: 2011-01-14 13:48 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/6d772c5119d5 Merge Changeset: ef19f173578c Author: cl Date: 2011-01-20 15:52 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/ef19f173578c Added tag jdk7-b126 for changeset 6d772c5119d5 ! .hgtags From john.coomes at oracle.com Thu Jan 20 20:37:03 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 21 Jan 2011 04:37:03 +0000 Subject: hg: jdk7/hotspot/jdk: 77 new changesets Message-ID: <20110121045047.DB0C247011@hg.openjdk.java.net> Changeset: 4d6f9aaa2600 Author: flar Date: 2010-12-14 13:25 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/4d6f9aaa2600 6766342: Improve performance of Ductus rasterizer Reviewed-by: jgodinez, prr ! make/sun/awt/make.depend ! make/sun/awt/mapfile-vers ! make/sun/awt/mapfile-vers-linux ! src/share/classes/sun/dc/DuctusRenderingEngine.java ! src/share/classes/sun/java2d/SurfaceData.java ! src/share/classes/sun/java2d/loops/CompositeType.java ! src/share/classes/sun/java2d/loops/MaskFill.java ! src/share/classes/sun/java2d/pipe/AAShapePipe.java ! src/share/classes/sun/java2d/pipe/AlphaColorPipe.java ! src/share/classes/sun/java2d/pipe/RenderingEngine.java ! src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java ! src/share/native/sun/java2d/loops/DrawParallelogram.c ! src/share/native/sun/java2d/loops/FillParallelogram.c ! src/share/native/sun/java2d/loops/MaskFill.c + src/share/native/sun/java2d/loops/ParallelogramUtils.h ! src/solaris/native/sun/java2d/loops/vis_IntArgbPre_Mask.c ! src/solaris/native/sun/java2d/loops/vis_SrcMaskFill.c + test/java/awt/Graphics2D/RenderClipTest/6766342.tests + test/java/awt/Graphics2D/RenderClipTest/RenderClipTest.java Changeset: 9d0eebb55003 Author: bae Date: 2010-12-15 19:47 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/9d0eebb55003 6782574: AffineTransformOp.filter(BufferedImage, BufferedImage) fails with InternalError Reviewed-by: igor, prr ! src/share/classes/java/awt/image/SinglePixelPackedSampleModel.java ! src/share/native/sun/awt/image/awt_parseImage.c + test/java/awt/image/IncorrectSampleMaskTest.java Changeset: 6a219e5ccfd7 Author: bae Date: 2010-12-17 13:18 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/6a219e5ccfd7 7006948: FindBugs warning in IndexColorModel class Reviewed-by: igor, prr ! src/share/classes/java/awt/image/IndexColorModel.java Changeset: 33a0f66771d5 Author: jgodinez Date: 2010-12-17 09:39 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/33a0f66771d5 6635462: D3D: REGRESSION: XOR rendering is extremly slow Reviewed-by: igor, prr ! src/share/classes/javax/swing/DefaultDesktopManager.java ! src/windows/classes/sun/awt/windows/WComponentPeer.java ! src/windows/classes/sun/java2d/d3d/D3DSurfaceData.java Changeset: 0125062d65b6 Author: bae Date: 2010-12-20 10:38 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/0125062d65b6 6736178: java.awt.image.SampleModel constructor unexpectedly throws IllegalArgumentException Reviewed-by: jgodinez, prr ! src/share/classes/java/awt/image/SampleModel.java Changeset: b0f9760f3103 Author: prr Date: 2010-12-22 13:32 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/b0f9760f3103 7007299: FileFontStrike appears not to be threadsafe? Reviewed-by: igor, jgodinez ! src/share/classes/sun/font/FileFontStrike.java Changeset: 1513ccf103a9 Author: prr Date: 2010-12-22 13:49 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/1513ccf103a9 6996867: Garbage rendering of LCD text with SRC composite mode Reviewed-by: igor, jgodinez ! src/share/classes/sun/java2d/SurfaceData.java + test/java/awt/Graphics2D/DrawString/LCDTextSrcEa.java Changeset: 78d0a8d449fd Author: bae Date: 2010-12-23 14:27 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/78d0a8d449fd 7002627: JNI Critical Arrays should be released with the original (unmodified) pointer Reviewed-by: jgodinez, prr ! src/share/native/sun/java2d/pipe/BufferedMaskBlit.c Changeset: cb3c0ffb27bb Author: lana Date: 2010-12-23 00:03 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/cb3c0ffb27bb Merge - src/share/classes/java/dyn/BootstrapMethod.java - src/share/classes/java/dyn/LinkagePermission.java - src/share/classes/java/dyn/MethodHandleProvider.java - src/share/classes/sun/dyn/JavaMethodHandle.java - src/share/demo/nio/zipfs/META-INF/services/java.nio.file.spi.FileSystemProvider - src/share/demo/nio/zipfs/com/sun/nio/zipfs/JarFileSystemProvider.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipCoder.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipConstants.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipDirectoryStream.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileAttributeView.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileAttributes.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileStore.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileSystem.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileSystemProvider.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipInfo.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipPath.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipUtils.java - test/java/dyn/JavaDocExamples.java Changeset: 155d91257957 Author: lana Date: 2010-12-23 08:47 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/155d91257957 Merge Changeset: 7fff69f28bf4 Author: jgodinez Date: 2010-12-23 10:38 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/7fff69f28bf4 6913300: Missing serialVersionUID in javax.print.attribute.standard.DialogTypeSelection Reviewed-by: igor, prr ! src/share/classes/javax/print/attribute/standard/DialogTypeSelection.java Changeset: b22c74e20a1b Author: jgodinez Date: 2010-12-23 11:01 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/b22c74e20a1b 6949749: regression cases need to be updated by removing "System.exit(0)" Reviewed-by: igor, prr ! test/java/awt/PrintJob/Text/StringWidth.java Changeset: 417acb7e8fa1 Author: prr Date: 2010-12-23 15:28 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/417acb7e8fa1 6891551: Font rasterisation uses more heap than needed for some strikes. Reviewed-by: jgodinez ! src/share/classes/sun/font/FileFontStrike.java Changeset: 4e47e55dd717 Author: prr Date: 2010-12-23 21:58 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/4e47e55dd717 6927458: font system should cache transient strikes with weak references. Reviewed-by: igor, jgodinez ! src/share/classes/sun/font/Font2D.java Changeset: 99c540ac926c Author: bae Date: 2010-12-24 14:05 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/99c540ac926c 6983028: java/awt/FontClass/FontPrivilege.java Reviewed-by: prr ! test/java/awt/FontClass/FontPrivilege.java Changeset: 14033e1600ac Author: prr Date: 2010-12-24 09:31 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/14033e1600ac 6997210: Solaris 11 has no development support for DGA: Cannot build JDK Reviewed-by: bae, ohair ! make/sun/Makefile Changeset: 70bfa0af3969 Author: bae Date: 2010-12-30 11:33 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/70bfa0af3969 7003434: test/closed/java/awt/FullScreen/DisplayChangeVITest/DisplayChangeVITest.java fails with ClassCastExc Reviewed-by: jgodinez, prr ! src/windows/classes/sun/java2d/opengl/WGLVolatileSurfaceManager.java Changeset: 9320dcfb5398 Author: lana Date: 2011-01-05 11:21 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/9320dcfb5398 Merge - make/common/internal/BinaryPlugs.gmk ! make/sun/Makefile ! make/sun/awt/mapfile-vers ! make/sun/awt/mapfile-vers-linux ! src/share/classes/java/awt/image/IndexColorModel.java ! src/share/classes/java/awt/image/SampleModel.java ! src/share/classes/javax/swing/DefaultDesktopManager.java ! src/share/classes/sun/java2d/SurfaceData.java ! src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java ! src/share/native/sun/java2d/loops/DrawParallelogram.c ! src/share/native/sun/java2d/loops/FillParallelogram.c ! src/windows/classes/sun/awt/windows/WComponentPeer.java Changeset: 3db5ac2b4c62 Author: andrew Date: 2010-12-14 13:51 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/3db5ac2b4c62 6444769: java/awt/Insets/WindowWithWarningTest/WindowWithWarningTest.html fails Summary: Remove unneeded test Reviewed-by: anthony - test/java/awt/Insets/WindowWithWarningTest/WindowWithWarningTest.html - test/java/awt/Insets/WindowWithWarningTest/WindowWithWarningTest.java Changeset: b9706aff91a3 Author: lana Date: 2010-12-15 11:49 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/b9706aff91a3 Merge - src/share/classes/sun/net/httpserver/SelectorCache.java Changeset: 4a0970a420d5 Author: anthony Date: 2010-12-16 21:48 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/4a0970a420d5 6993803: Request to update SplashScreen specification 6984255: Request for java.awt.SplashScreen spec update: mention possibility of having custom "-splash" option 6992416: [Spec clarification request] Is color deviation for splash screen image allowed? 6992833: [Spec clarification request] point (0,0) in SplashScreen.createGraphics() 6993071: java.awt.SplashScreen should mention that no unnecessary distortions to the image are allowed 6993113: [Spec clarification request] getSplashScreen(): null or HeadlessException? 6996439: [Spec clarification request] Is any delay with splashscreen appearance allowed? Summary: Update SplashScreen specification Reviewed-by: art ! src/share/classes/java/awt/SplashScreen.java Changeset: 8dbb797793b0 Author: anthony Date: 2010-12-22 17:37 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/8dbb797793b0 6998323: Unexpected color change after invoking SplashScreen.update() Summary: Fix the blendRGB() function Reviewed-by: art, dcherepanov ! src/share/native/sun/awt/splashscreen/splashscreen_gfx_impl.h Changeset: 15c45fdd572c Author: lana Date: 2010-12-23 10:20 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/15c45fdd572c Merge - src/share/classes/java/dyn/BootstrapMethod.java - src/share/classes/java/dyn/LinkagePermission.java - src/share/classes/java/dyn/MethodHandleProvider.java - src/share/classes/sun/dyn/JavaMethodHandle.java - src/share/demo/nio/zipfs/META-INF/services/java.nio.file.spi.FileSystemProvider - src/share/demo/nio/zipfs/com/sun/nio/zipfs/JarFileSystemProvider.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipCoder.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipConstants.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipDirectoryStream.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileAttributeView.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileAttributes.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileStore.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileSystem.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileSystemProvider.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipInfo.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipPath.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipUtils.java - src/share/native/sun/font/layout/HebrewLigatureData.cpp - src/share/native/sun/font/layout/HebrewShaping.cpp - src/share/native/sun/font/layout/HebrewShaping.h - test/java/dyn/JavaDocExamples.java Changeset: 6e4d9f4466f6 Author: dcherepanov Date: 2010-12-27 18:37 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/6e4d9f4466f6 4887645: Remove "awt.threadgroup" system property Reviewed-by: art, anthony ! src/share/classes/sun/awt/SunToolkit.java Changeset: a0a4f73b3d1d Author: dcherepanov Date: 2010-12-27 18:42 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/a0a4f73b3d1d 6957765: Test Bug - javax/swing/SwingWorker/6480289/bug6480289.java failed on 1.7.0b94 but passed on previous Reviewed-by: art, alexp - test/javax/swing/SwingWorker/6480289/bug6480289.java Changeset: 33d4e0de0424 Author: dcherepanov Date: 2010-12-27 18:43 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/33d4e0de0424 6866808: nsk/stress/jck12a/jck12a014 crashes with SIGSEGV at [libjvm.so+0xc5b10] Reviewed-by: art ! src/solaris/native/sun/xawt/XToolkit.c Changeset: c90a0da7649e Author: dcherepanov Date: 2010-12-27 18:45 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/c90a0da7649e 6921598: PrinterDialog hidden behind other frames Reviewed-by: art ! src/windows/native/sun/windows/awt_Dialog.cpp ! src/windows/native/sun/windows/awt_Dialog.h Changeset: 39e9d5613145 Author: dav Date: 2010-12-28 17:13 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/39e9d5613145 6999766: Changes to correct c/c++ language issues for use of parfait Reviewed-by: uta, amenkov ! src/windows/native/sun/windows/Devices.h ! src/windows/native/sun/windows/awt.h ! src/windows/native/sun/windows/awt_Debug.cpp ! src/windows/native/sun/windows/awt_Debug.h ! src/windows/native/sun/windows/awt_DesktopProperties.cpp ! src/windows/native/sun/windows/awt_TextArea.h ! src/windows/native/sun/windows/awt_Toolkit.h Changeset: 8b05f9b91765 Author: dav Date: 2010-12-29 15:13 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/8b05f9b91765 7008106: com/sun/awt/Translucency/WindowOpacity.java test fails just against jdk7 b122 Reviewed-by: dcherepanov ! test/com/sun/awt/Translucency/WindowOpacity.java Changeset: 78364959fc73 Author: dav Date: 2010-12-29 17:36 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/78364959fc73 6963357: After clicking the "Load" button,the case FileDialogUserFilterTest.html crashes in jdk7 b98. Reviewed-by: dcherepanov ! src/solaris/native/sun/awt/sun_awt_X11_GtkFileDialogPeer.c Changeset: aa03f76d0e80 Author: lana Date: 2011-01-05 15:54 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/aa03f76d0e80 Merge - make/common/internal/BinaryPlugs.gmk ! src/share/classes/java/awt/SplashScreen.java ! src/share/classes/sun/awt/SunToolkit.java ! src/windows/native/sun/windows/awt.h ! src/windows/native/sun/windows/awt_DesktopProperties.cpp ! src/windows/native/sun/windows/awt_Dialog.cpp ! src/windows/native/sun/windows/awt_Toolkit.h Changeset: bde32b5becf1 Author: lana Date: 2011-01-06 18:01 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/bde32b5becf1 Merge - test/java/awt/Insets/WindowWithWarningTest/WindowWithWarningTest.html - test/java/awt/Insets/WindowWithWarningTest/WindowWithWarningTest.java - test/javax/swing/SwingWorker/6480289/bug6480289.java Changeset: ec02d02d3409 Author: okutsu Date: 2010-12-15 11:38 +0900 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/ec02d02d3409 6990037: font warnings in the build, missing fonts Reviewed-by: peytoia ! make/sun/awt/Makefile ! src/share/classes/sun/awt/FontConfiguration.java Changeset: cd7b5fb40005 Author: okutsu Date: 2010-12-17 16:56 +0900 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/cd7b5fb40005 7007583: (tz) Windows-only: update tzmappings for KB2443685 Reviewed-by: peytoia ! src/windows/lib/tzmappings Changeset: 7c7e4a0330bc Author: okutsu Date: 2010-12-17 17:13 +0900 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/7c7e4a0330bc 6644493: [Fmt-Da] SimpleDateFormat parsing RFC822 time offset is slow Reviewed-by: peytoia ! src/share/classes/java/text/SimpleDateFormat.java ! test/java/text/Format/DateFormat/ISO8601ZoneTest.java Changeset: f710204034fd Author: okutsu Date: 2010-12-17 18:06 +0900 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/f710204034fd 6983207: API: MessageFormat quote handling discrepancy Reviewed-by: peytoia ! src/share/classes/java/text/MessageFormat.java Changeset: 89d065844fb6 Author: okutsu Date: 2010-12-21 10:58 +0900 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/89d065844fb6 6943959: NumericShaper API doc doesn't describe ARABIC/EASTERN_ARABIC precedence Reviewed-by: peytoia ! src/share/classes/java/awt/font/NumericShaper.java Changeset: 8da79c7d137e Author: okutsu Date: 2010-12-21 11:20 +0900 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/8da79c7d137e 7007905: javazic produces wrong line numbers Reviewed-by: peytoia ! make/tools/src/build/tools/javazic/Zoneinfo.java Changeset: 55d9205735e1 Author: naoto Date: 2010-12-21 16:14 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/55d9205735e1 4940539: Constructor of java.util.Locale should handle ISO 639-2 Language Codes Reviewed-by: okutsu ! src/share/classes/java/util/Locale.java ! test/java/util/Locale/LocaleTest.java Changeset: 403a88eeac15 Author: lana Date: 2010-12-22 16:57 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/403a88eeac15 Merge - src/share/classes/java/dyn/BootstrapMethod.java - src/share/classes/java/dyn/LinkagePermission.java - src/share/classes/java/dyn/MethodHandleProvider.java - src/share/classes/sun/dyn/JavaMethodHandle.java - src/share/demo/nio/zipfs/META-INF/services/java.nio.file.spi.FileSystemProvider - src/share/demo/nio/zipfs/com/sun/nio/zipfs/JarFileSystemProvider.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipCoder.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipConstants.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipDirectoryStream.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileAttributeView.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileAttributes.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileStore.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileSystem.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileSystemProvider.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipInfo.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipPath.java - src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipUtils.java - src/share/native/sun/font/layout/HebrewLigatureData.cpp - src/share/native/sun/font/layout/HebrewShaping.cpp - src/share/native/sun/font/layout/HebrewShaping.h - test/java/dyn/JavaDocExamples.java Changeset: c8b383fd8adf Author: rupashka Date: 2010-12-23 17:39 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/c8b383fd8adf 6973773: JCK manual case JSliderTests.html#JSlider fails in jdk7 b100 Reviewed-by: alexp ! src/share/classes/javax/swing/JSlider.java Changeset: 69b2e5838eee Author: rupashka Date: 2010-12-23 18:25 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/69b2e5838eee 7007708: TEST: javax/swing/JScrollBar/6542335/bug6542335.java failes agaisnt jdk7 on solaris/linux Reviewed-by: alexp ! test/javax/swing/JScrollBar/6542335/bug6542335.java Changeset: 94e0438c74c3 Author: okutsu Date: 2010-12-27 14:13 +0900 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/94e0438c74c3 7003643: [Fmt-Me] MessageFormat.toPattern produces wrong quoted string and subformat modifiers 7008195: [Fmt-Me] Improve MessageFormat.applyPattern performance Reviewed-by: naoto, peytoia ! src/share/classes/java/text/MessageFormat.java + test/java/text/Format/MessageFormat/Bug7003643.java ! test/java/util/PluggableLocale/DateFormatProviderTest.java ! test/java/util/PluggableLocale/DateFormatProviderTest.sh ! test/java/util/PluggableLocale/NumberFormatProviderTest.java ! test/java/util/PluggableLocale/NumberFormatProviderTest.sh ! test/java/util/PluggableLocale/fooprovider.jar ! test/java/util/PluggableLocale/providersrc/DateFormatProviderImpl.java + test/java/util/PluggableLocale/providersrc/FooDateFormat.java + test/java/util/PluggableLocale/providersrc/FooNumberFormat.java ! test/java/util/PluggableLocale/providersrc/Makefile ! test/java/util/PluggableLocale/providersrc/NumberFormatProviderImpl.java Changeset: c06d4327c0f2 Author: rupashka Date: 2010-12-27 15:28 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/c06d4327c0f2 6959584: closed/javax/swing/JFileChooser/4847375/bug4847375.java : compilation failed Reviewed-by: alexp + test/javax/swing/JFileChooser/4847375/bug4847375.java Changeset: 72f1247e9ff5 Author: rupashka Date: 2010-12-27 17:41 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/72f1247e9ff5 6532833: PIT: Metal LAF - The right side border is not shown for the Spinner after the removing the buttons Reviewed-by: alexp ! src/share/classes/javax/swing/plaf/basic/BasicSpinnerUI.java + test/javax/swing/JSpinner/6532833/bug6532833.java Changeset: 2c3c88a389b0 Author: amenkov Date: 2010-12-28 16:37 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/2c3c88a389b0 6842956: Assertion error in javax_sound on 64-bit RHEL 5.3 with 32-bit JDK Reviewed-by: bae ! src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_MidiIn.c Changeset: ac1e3f99a69e Author: amenkov Date: 2010-12-29 16:26 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/ac1e3f99a69e 7006997: A typo in MidiSystem.getTransmitter() implementation code Reviewed-by: dav ! src/share/classes/javax/sound/midi/MidiSystem.java Changeset: be27227ff554 Author: amenkov Date: 2010-12-30 14:57 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/be27227ff554 6989702: sound native code compiler warnings Reviewed-by: bae ! src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_CommonUtils.c ! src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_MidiUtils.c ! src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCM.c ! src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCMUtils.h ! src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_Ports.c Changeset: 349b67ae3e08 Author: lana Date: 2011-01-04 23:41 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/349b67ae3e08 Merge - make/common/internal/BinaryPlugs.gmk ! make/sun/awt/Makefile ! src/share/classes/java/text/MessageFormat.java ! src/share/classes/javax/sound/midi/MidiSystem.java Changeset: fff6fd437f4a Author: lana Date: 2011-01-06 18:03 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/fff6fd437f4a Merge Changeset: 6d3fb387da8e Author: ksrini Date: 2010-12-14 07:42 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/6d3fb387da8e 6990106: FindBugs scan - Malicious code vulnerability Warnings in com.sun.java.util.jar.pack.* Reviewed-by: mduigou, briangoetz ! src/share/classes/com/sun/java/util/jar/pack/AdaptiveCoding.java ! src/share/classes/com/sun/java/util/jar/pack/Attribute.java ! src/share/classes/com/sun/java/util/jar/pack/BandStructure.java ! src/share/classes/com/sun/java/util/jar/pack/ClassReader.java ! src/share/classes/com/sun/java/util/jar/pack/ClassWriter.java ! src/share/classes/com/sun/java/util/jar/pack/Code.java ! src/share/classes/com/sun/java/util/jar/pack/Coding.java ! src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java ! src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java ! src/share/classes/com/sun/java/util/jar/pack/Constants.java ! src/share/classes/com/sun/java/util/jar/pack/Driver.java ! src/share/classes/com/sun/java/util/jar/pack/Fixups.java ! src/share/classes/com/sun/java/util/jar/pack/Histogram.java ! src/share/classes/com/sun/java/util/jar/pack/Instruction.java ! src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java ! src/share/classes/com/sun/java/util/jar/pack/Package.java ! src/share/classes/com/sun/java/util/jar/pack/PackageReader.java ! src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java ! src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java ! src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java ! src/share/classes/com/sun/java/util/jar/pack/PropMap.java ! src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java ! src/share/classes/com/sun/java/util/jar/pack/Utils.java ! src/share/classes/java/util/jar/Pack200.java Changeset: 68cc30a3a1fd Author: ksrini Date: 2010-12-14 08:13 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/68cc30a3a1fd 7006704: (pack200) add missing file for 6990106 Reviewed-by: mduigou, briangoetz + src/share/classes/com/sun/java/util/jar/pack/FixedList.java Changeset: a72e7147816f Author: lancea Date: 2010-12-14 16:08 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/a72e7147816f 7006454: Typo in javadocs typo for Statement.executeBatch @since Reviewed-by: alanb ! src/share/classes/java/sql/Statement.java Changeset: 0ef137ae6f3b Author: alanb Date: 2010-12-15 09:15 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/0ef137ae6f3b 6927816: Demo crash in heaptracker with Non-Sun JDK due to possible violation of JNI spec Reviewed-by: ohair, alanb Contributed-by: spoole at uk.ibm.com ! src/share/demo/jvmti/heapTracker/heapTracker.c Changeset: e6ed7c95d94f Author: xuelei Date: 2010-12-15 22:42 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/e6ed7c95d94f 7006265: Javadoc warnings Reviewed-by: weijun ! src/share/classes/javax/net/ssl/X509ExtendedTrustManager.java Changeset: e67a399dd4ad Author: sundar Date: 2010-12-16 20:52 +0530 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/e67a399dd4ad 6980447: Rhino JavaScript engine code in jdk-7 has to updated with the latest code from Rhino 1.7R3. Summary: Updating Rhino javascript engine with version 1.7R3. Issue 6427783 (E4X support is missing from Sun's Mozilla JavaScript implementation) is also fixed as a side-effect. Reviewed-by: alanb, jjh ! src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java ! src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java ! src/share/classes/com/sun/script/javascript/RhinoTopLevel.java ! src/share/classes/com/sun/tools/script/shell/init.js - test/javax/script/E4XErrorTest.java ! test/javax/script/VersionTest.java Changeset: 1f0f0737f04e Author: weijun Date: 2010-12-17 11:03 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/1f0f0737f04e 6975866: api/org_ietf/jgss/GSSContext/index.html#wrapUnwrapIOTest started to fail since jdk7 b102 Reviewed-by: valeriep ! src/share/classes/sun/security/jgss/krb5/CipherHelper.java ! src/share/classes/sun/security/jgss/krb5/MessageToken_v2.java ! src/share/classes/sun/security/jgss/krb5/MicToken_v2.java ! src/share/classes/sun/security/jgss/krb5/WrapToken.java ! src/share/classes/sun/security/jgss/krb5/WrapToken_v2.java ! test/sun/security/krb5/auto/BasicKrb5Test.java ! test/sun/security/krb5/auto/Context.java - test/sun/security/krb5/auto/basic.sh Changeset: ae84db37130a Author: ksrini Date: 2010-12-18 09:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/ae84db37130a 7007157: (pack200) stripping attributes causes a NPE Reviewed-by: jrose, mduigou, dholmes ! src/share/classes/com/sun/java/util/jar/pack/ClassReader.java + test/tools/pack200/T7007157.java Changeset: 449dfb061fde Author: smarks Date: 2010-12-20 13:47 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/449dfb061fde 6880112: Project Coin: Port JDK core library code to use diamond operator Reviewed-by: darcy, lancea, alanb, briangoetz, mduigou, mchung ! src/share/classes/com/sun/java/util/jar/pack/BandStructure.java ! src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java ! src/share/classes/com/sun/java/util/jar/pack/Package.java ! src/share/classes/java/io/DeleteOnExitHook.java ! src/share/classes/java/io/File.java ! src/share/classes/java/io/FileInputStream.java ! src/share/classes/java/io/FileOutputStream.java ! src/share/classes/java/io/FilePermission.java ! src/share/classes/java/io/ObjectInputStream.java ! src/share/classes/java/io/ObjectOutputStream.java ! src/share/classes/java/io/ObjectStreamClass.java ! src/share/classes/java/lang/ApplicationShutdownHooks.java ! src/share/classes/java/lang/Character.java ! src/share/classes/java/lang/CharacterName.java ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/ClassLoader.java ! src/share/classes/java/lang/Package.java ! src/share/classes/java/lang/ProcessBuilder.java ! src/share/classes/java/lang/String.java ! src/share/classes/java/lang/StringCoding.java ! src/share/classes/java/lang/Thread.java ! src/share/classes/java/lang/Throwable.java ! src/share/classes/java/lang/management/ManagementFactory.java ! src/share/classes/java/lang/management/PlatformComponent.java ! src/share/classes/java/lang/reflect/Constructor.java ! src/share/classes/java/lang/reflect/Proxy.java ! src/share/classes/java/lang/reflect/ReflectAccess.java ! src/share/classes/java/sql/DriverManager.java ! src/share/classes/java/util/AbstractList.java ! src/share/classes/java/util/Arrays.java ! src/share/classes/java/util/Collections.java ! src/share/classes/java/util/EnumMap.java ! src/share/classes/java/util/EnumSet.java ! src/share/classes/java/util/Formatter.java ! src/share/classes/java/util/HashMap.java ! src/share/classes/java/util/HashSet.java ! src/share/classes/java/util/Hashtable.java ! src/share/classes/java/util/IdentityHashMap.java ! src/share/classes/java/util/JumboEnumSet.java ! src/share/classes/java/util/LinkedHashMap.java ! src/share/classes/java/util/LinkedList.java ! src/share/classes/java/util/ListResourceBundle.java ! src/share/classes/java/util/PriorityQueue.java ! src/share/classes/java/util/Properties.java ! src/share/classes/java/util/RegularEnumSet.java ! src/share/classes/java/util/ServiceLoader.java ! src/share/classes/java/util/TimSort.java ! src/share/classes/java/util/TreeMap.java ! src/share/classes/java/util/TreeSet.java ! src/share/classes/java/util/WeakHashMap.java ! src/share/classes/java/util/logging/FileHandler.java ! src/share/classes/java/util/logging/Level.java ! src/share/classes/java/util/logging/LogManager.java ! src/share/classes/java/util/logging/LogRecord.java ! src/share/classes/java/util/logging/Logger.java ! src/share/classes/java/util/logging/Logging.java ! src/share/classes/java/util/prefs/AbstractPreferences.java ! src/share/classes/java/util/regex/Pattern.java ! src/share/classes/java/util/zip/ZipFile.java ! src/share/classes/java/util/zip/ZipOutputStream.java ! src/share/classes/sun/io/Converters.java ! src/share/classes/sun/util/logging/PlatformLogger.java ! src/solaris/classes/java/lang/ProcessEnvironment.java ! src/solaris/classes/java/util/prefs/FileSystemPreferences.java ! src/windows/classes/java/lang/ProcessEnvironment.java ! test/java/io/Serializable/NPEProvoker/NPEProvoker.java ! test/java/lang/instrument/ilib/Inject.java ! test/java/lang/instrument/ilib/InjectBytecodes.java ! test/java/lang/reflect/Generics/TestPlainArrayNotGeneric.java ! test/java/util/Random/DistinctSeeds.java ! test/java/util/logging/ClassLoaderLeakTest.java Changeset: d2a0e795c1c2 Author: weijun Date: 2010-12-21 17:35 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/d2a0e795c1c2 6996367: improve HandshakeHash Reviewed-by: xuelei ! src/share/classes/sun/security/ssl/ClientHandshaker.java ! src/share/classes/sun/security/ssl/HandshakeHash.java ! src/share/classes/sun/security/ssl/ServerHandshaker.java Changeset: d36ad8686f6d Author: kevinw Date: 2010-12-21 11:32 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/d36ad8686f6d 6968933: Clip loop() deadlock in DirectAudioDevice$DirectClip.run Reviewed-by: amenkov ! src/share/classes/com/sun/media/sound/DirectAudioDevice.java Changeset: 9deace8396f9 Author: ptisnovs Date: 2010-12-22 14:37 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/9deace8396f9 6560348: PIT : java/awt/xembed/server/RunTestXEmbed.java fails Summary: Testcase correction. Reviewed-by: anthony ! test/java/awt/xembed/server/TestXEmbedServer.java Changeset: 0d826185a92e Author: xuelei Date: 2010-12-22 06:28 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/0d826185a92e 6996365: Evaluate the priorities of cipher suites Reviewed-by: wetmore ! src/share/classes/sun/security/ssl/CipherSuite.java Changeset: d4c2d2d72cfc Author: valeriep Date: 2010-12-22 18:30 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/d4c2d2d72cfc 6581254: pkcs11 provider fails to parse configuration file contains windows short path Summary: Modified configuration parsing code to support "~". Reviewed-by: weijun ! src/share/classes/sun/security/pkcs11/Config.java + test/sun/security/pkcs11/Provider/ConfigShortPath.java + test/sun/security/pkcs11/Provider/csp.cfg Changeset: 6acd81baf2c7 Author: lana Date: 2010-12-22 23:12 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/6acd81baf2c7 Merge - src/share/classes/java/dyn/BootstrapMethod.java - src/share/classes/java/dyn/LinkagePermission.java - src/share/classes/java/dyn/MethodHandleProvider.java ! src/share/classes/java/lang/Character.java ! src/share/classes/java/util/ListResourceBundle.java - src/share/classes/sun/dyn/JavaMethodHandle.java - src/share/native/sun/font/layout/HebrewLigatureData.cpp - src/share/native/sun/font/layout/HebrewShaping.cpp - src/share/native/sun/font/layout/HebrewShaping.h - test/java/dyn/JavaDocExamples.java Changeset: 5beec82bf20d Author: ksrini Date: 2010-12-23 13:51 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/5beec82bf20d 7002386: (launcher) fix XshowSettings Reviewed-by: darcy, mchung, naoto ! src/share/bin/java.c ! src/share/classes/sun/launcher/LauncherHelper.java ! test/tools/launcher/Settings.java Changeset: 3c4afaacd345 Author: dcubed Date: 2010-12-23 23:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/3c4afaacd345 7005984: 3/3 Incorrect values of S0C and S0CMX appear with -gcnewcapacity in jstat Summary: Swap S0C and S0CMX column values. Reviewed-by: ohair, dholmes, poonam ! src/share/classes/sun/tools/jstat/resources/jstat_options ! test/sun/tools/jstat/gcNewCapacityOutput1.awk Changeset: adff75ebdc00 Author: valeriep Date: 2010-12-22 19:19 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/adff75ebdc00 6924489: sun.security.pkcs11.wrapper.PKCS11Exception: CKR_OPERATION_NOT_INITIALIZED Summary: Reset cipher state to un-initialized wherever necessary. Reviewed-by: weijun ! src/share/classes/sun/security/pkcs11/P11Cipher.java Changeset: 3254c3ae63fe Author: valeriep Date: 2010-12-27 11:39 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/3254c3ae63fe Merge - src/share/classes/java/dyn/BootstrapMethod.java - src/share/classes/java/dyn/LinkagePermission.java - src/share/classes/java/dyn/MethodHandleProvider.java - src/share/classes/sun/dyn/JavaMethodHandle.java - src/share/native/sun/font/layout/HebrewLigatureData.cpp - src/share/native/sun/font/layout/HebrewShaping.cpp - src/share/native/sun/font/layout/HebrewShaping.h - test/java/dyn/JavaDocExamples.java Changeset: 6f2d19ef67b1 Author: alanb Date: 2011-01-04 17:49 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/6f2d19ef67b1 7010192: InetAddress.isReachable hits ShouldNotReachHere with hs20-b04 (win) Reviewed-by: chegar ! src/windows/native/java/net/Inet4AddressImpl.c ! src/windows/native/java/net/Inet6AddressImpl.c Changeset: 4379c762ec50 Author: sherman Date: 2011-01-04 14:17 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/4379c762ec50 7009618: regression test failed caused by the fix for 7003462 Summary: avoid caching the "ended" Inflater in ZipFile class Reviewed-by: alanb ! src/share/classes/java/util/zip/Inflater.java ! src/share/classes/java/util/zip/ZipFile.java + test/java/util/zip/ZipFile/FinalizeZipFile.java Changeset: 58aa8eadae5f Author: lana Date: 2011-01-04 17:05 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/58aa8eadae5f Merge - make/common/internal/BinaryPlugs.gmk ! src/share/classes/com/sun/java/util/jar/pack/AdaptiveCoding.java ! src/share/classes/com/sun/java/util/jar/pack/BandStructure.java ! src/share/classes/com/sun/java/util/jar/pack/ClassWriter.java ! src/share/classes/com/sun/java/util/jar/pack/Code.java ! src/share/classes/com/sun/java/util/jar/pack/Coding.java ! src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java ! src/share/classes/com/sun/java/util/jar/pack/Fixups.java ! src/share/classes/com/sun/java/util/jar/pack/Histogram.java ! src/share/classes/com/sun/java/util/jar/pack/Instruction.java ! src/share/classes/com/sun/java/util/jar/pack/PackageReader.java ! src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java ! src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java ! src/share/classes/java/io/FileOutputStream.java ! src/share/classes/java/lang/ProcessBuilder.java ! src/share/classes/java/lang/String.java ! src/share/classes/java/lang/Thread.java ! src/share/classes/java/lang/reflect/Constructor.java ! src/share/classes/java/util/AbstractList.java ! src/share/classes/java/util/Arrays.java ! src/share/classes/java/util/Collections.java ! src/share/classes/java/util/Formatter.java ! src/share/classes/java/util/Hashtable.java ! src/share/classes/java/util/LinkedList.java ! src/share/classes/java/util/ListResourceBundle.java ! src/share/classes/java/util/PriorityQueue.java ! src/share/classes/java/util/Properties.java ! src/share/classes/java/util/TreeMap.java ! src/share/classes/java/util/TreeSet.java ! src/share/classes/java/util/logging/LogRecord.java ! src/share/classes/java/util/regex/Pattern.java ! src/share/classes/java/util/zip/ZipFile.java ! src/share/classes/sun/io/Converters.java ! src/share/classes/sun/tools/jstat/resources/jstat_options ! src/share/classes/sun/util/logging/PlatformLogger.java ! test/sun/security/krb5/auto/Context.java Changeset: d56c111ec6dc Author: jjg Date: 2011-01-06 14:32 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/d56c111ec6dc 7010537: javah no longer depends on javadoc Reviewed-by: ohair ! make/common/shared/Defs-java.gmk Changeset: c4ec4f80f44e Author: lana Date: 2011-01-06 18:05 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/c4ec4f80f44e Merge - test/javax/script/E4XErrorTest.java - test/sun/security/krb5/auto/basic.sh Changeset: 1513e13fae08 Author: lana Date: 2011-01-13 15:03 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/1513e13fae08 Merge - test/java/awt/Insets/WindowWithWarningTest/WindowWithWarningTest.html - test/java/awt/Insets/WindowWithWarningTest/WindowWithWarningTest.java - test/javax/script/E4XErrorTest.java - test/javax/swing/SwingWorker/6480289/bug6480289.java - test/sun/security/krb5/auto/basic.sh Changeset: 8361ef97a0f9 Author: lana Date: 2011-01-14 13:48 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/8361ef97a0f9 Merge Changeset: 29e09de1d0b4 Author: cl Date: 2011-01-20 15:52 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/29e09de1d0b4 Added tag jdk7-b126 for changeset 8361ef97a0f9 ! .hgtags From igor.veresov at oracle.com Fri Jan 21 02:04:14 2011 From: igor.veresov at oracle.com (igor.veresov at oracle.com) Date: Fri, 21 Jan 2011 10:04:14 +0000 Subject: hg: jdk7/hotspot/hotspot: 7013812: C1: deopt blob too far from patching stub Message-ID: <20110121100416.63D7C47021@hg.openjdk.java.net> Changeset: 85330eaa15ee Author: iveresov Date: 2011-01-21 00:01 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/85330eaa15ee 7013812: C1: deopt blob too far from patching stub Summary: Use long jumps to get from patching stubs to deopt blob Reviewed-by: kvn, never ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp From erik.trimble at oracle.com Fri Jan 21 03:18:52 2011 From: erik.trimble at oracle.com (erik.trimble at oracle.com) Date: Fri, 21 Jan 2011 11:18:52 +0000 Subject: hg: jdk7/hotspot/hotspot: 4 new changesets Message-ID: <20110121111903.6CE2947025@hg.openjdk.java.net> Changeset: 102466e70deb Author: cl Date: 2011-01-20 15:52 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/102466e70deb Added tag jdk7-b126 for changeset 4c851c931d00 ! .hgtags Changeset: 5668ad215b80 Author: trims Date: 2011-01-20 17:53 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/5668ad215b80 Merge ! .hgtags Changeset: 98bf1c6bb73a Author: trims Date: 2011-01-20 18:24 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/98bf1c6bb73a Merge Changeset: d535bf4c1235 Author: trims Date: 2011-01-21 02:07 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/d535bf4c1235 Merge From christian.thalinger at oracle.com Mon Jan 24 04:42:18 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Mon, 24 Jan 2011 13:42:18 +0100 Subject: Request for reviews (L): 7009309: JSR 292: compiler/6991596/Test6991596.java crashes on fastdebug JDK7/b122 Message-ID: <77F0DF61-2945-4425-B08B-F30CA46AE562@oracle.com> HEADS-UP: Please take a look at this one (or review it) if you are using or supporting older pre-SSE2 systems or use UseSSE=0 or UseSSE=1! Thank you! http://cr.openjdk.java.net/~twisti/7009309/webrev.01/ 7009309: JSR 292: compiler/6991596/Test6991596.java crashes on fastdebug JDK7/b122 Reviewed-by: The reason the test fails is because of the extra cleanup code in the I2C adapter that's executed in C2 when SSE2 is not available (or UseSSE=1 is used). The suggested fix is to remove that extra logic completely and always do the FPU cleaning when SSE2 is not available. This would also be a nice cleanup of the code in question. I did a refworkload run of specjvm98_client with 5 iterations and -Xint on a dual P3 system and it's slightly slower: ============================================================================ logs.baseline-Xint Benchmark Samples Mean Stdev Geomean Weight specjvm98_client 5 11.78 0.10 ============================================================================ logs.fix-Xint Benchmark Samples Mean Stdev %Diff P Significant specjvm98_client 5 11.63 0.09 -1.27 0.035 * ============================================================================ This slowdown would only apply to very old systems and given the fact that most x86 chips today are 64-bit and/or have SSE2, I think this should not be a big deal. And for smaller systems which use C1 and rely on startup performance this does not apply anyway. However, in mixed mode the slowdown should completely disappear as the extra code is only executed when returning from compiled code to the interpreter. A quick mixed mode run on that system even shows a speedup: ============================================================================ logs.baseline Benchmark Samples Mean Stdev Geomean Weight specjvm98_client 5 66.81 2.31 ============================================================================ logs.fix Benchmark Samples Mean Stdev %Diff P Significant specjvm98_client 5 68.20 2.04 2.08 0.343 * ============================================================================ From vladimir.kozlov at oracle.com Mon Jan 24 22:51:58 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 24 Jan 2011 22:51:58 -0800 Subject: Request for reviews (L): 7009309: JSR 292: compiler/6991596/Test6991596.java crashes on fastdebug JDK7/b122 In-Reply-To: <77F0DF61-2945-4425-B08B-F30CA46AE562@oracle.com> References: <77F0DF61-2945-4425-B08B-F30CA46AE562@oracle.com> Message-ID: <4D3E730E.3040407@oracle.com> I think this looks good. Thank you for cleaning it. Vladimir On 1/24/11 4:42 AM, Christian Thalinger wrote: > HEADS-UP: Please take a look at this one (or review it) if you are using or supporting older pre-SSE2 systems or use UseSSE=0 or UseSSE=1! Thank you! > > http://cr.openjdk.java.net/~twisti/7009309/webrev.01/ > > 7009309: JSR 292: compiler/6991596/Test6991596.java crashes on fastdebug JDK7/b122 > Reviewed-by: > > The reason the test fails is because of the extra cleanup code in the > I2C adapter that's executed in C2 when SSE2 is not available (or > UseSSE=1 is used). > > The suggested fix is to remove that extra logic completely and always > do the FPU cleaning when SSE2 is not available. This would also be a > nice cleanup of the code in question. > > I did a refworkload run of specjvm98_client with 5 iterations and > -Xint on a dual P3 system and it's slightly slower: > > ============================================================================ > logs.baseline-Xint > Benchmark Samples Mean Stdev Geomean Weight > specjvm98_client 5 11.78 0.10 > ============================================================================ > logs.fix-Xint > Benchmark Samples Mean Stdev %Diff P Significant > specjvm98_client 5 11.63 0.09 -1.27 0.035 * > ============================================================================ > > This slowdown would only apply to very old systems and given the fact > that most x86 chips today are 64-bit and/or have SSE2, I think this > should not be a big deal. And for smaller systems which use C1 and > rely on startup performance this does not apply anyway. > > However, in mixed mode the slowdown should completely disappear as the > extra code is only executed when returning from compiled code to the > interpreter. A quick mixed mode run on that system even shows a > speedup: > > ============================================================================ > logs.baseline > Benchmark Samples Mean Stdev Geomean Weight > specjvm98_client 5 66.81 2.31 > ============================================================================ > logs.fix > Benchmark Samples Mean Stdev %Diff P Significant > specjvm98_client 5 68.20 2.04 2.08 0.343 * > ============================================================================ > > From tom.rodriguez at oracle.com Tue Jan 25 01:15:49 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 25 Jan 2011 01:15:49 -0800 Subject: Request for reviews (L): 7009309: JSR 292: compiler/6991596/Test6991596.java crashes on fastdebug JDK7/b122 In-Reply-To: <77F0DF61-2945-4425-B08B-F30CA46AE562@oracle.com> References: <77F0DF61-2945-4425-B08B-F30CA46AE562@oracle.com> Message-ID: <58D71D96-75E3-44AA-BC54-4EF17DBACE5A@oracle.com> Looks good. tom On Jan 24, 2011, at 4:42 AM, Christian Thalinger wrote: > HEADS-UP: Please take a look at this one (or review it) if you are using or supporting older pre-SSE2 systems or use UseSSE=0 or UseSSE=1! Thank you! > > http://cr.openjdk.java.net/~twisti/7009309/webrev.01/ > > 7009309: JSR 292: compiler/6991596/Test6991596.java crashes on fastdebug JDK7/b122 > Reviewed-by: > > The reason the test fails is because of the extra cleanup code in the > I2C adapter that's executed in C2 when SSE2 is not available (or > UseSSE=1 is used). > > The suggested fix is to remove that extra logic completely and always > do the FPU cleaning when SSE2 is not available. This would also be a > nice cleanup of the code in question. > > I did a refworkload run of specjvm98_client with 5 iterations and > -Xint on a dual P3 system and it's slightly slower: > > ============================================================================ > logs.baseline-Xint > Benchmark Samples Mean Stdev Geomean Weight > specjvm98_client 5 11.78 0.10 > ============================================================================ > logs.fix-Xint > Benchmark Samples Mean Stdev %Diff P Significant > specjvm98_client 5 11.63 0.09 -1.27 0.035 * > ============================================================================ > > This slowdown would only apply to very old systems and given the fact > that most x86 chips today are 64-bit and/or have SSE2, I think this > should not be a big deal. And for smaller systems which use C1 and > rely on startup performance this does not apply anyway. > > However, in mixed mode the slowdown should completely disappear as the > extra code is only executed when returning from compiled code to the > interpreter. A quick mixed mode run on that system even shows a > speedup: > > ============================================================================ > logs.baseline > Benchmark Samples Mean Stdev Geomean Weight > specjvm98_client 5 66.81 2.31 > ============================================================================ > logs.fix > Benchmark Samples Mean Stdev %Diff P Significant > specjvm98_client 5 68.20 2.04 2.08 0.343 * > ============================================================================ > > From erik.trimble at oracle.com Tue Jan 25 15:07:13 2011 From: erik.trimble at oracle.com (erik.trimble at oracle.com) Date: Tue, 25 Jan 2011 23:07:13 +0000 Subject: hg: jdk7/hotspot/hotspot: 2 new changesets Message-ID: <20110125230717.9580E4713E@hg.openjdk.java.net> Changeset: 6aa467001334 Author: trims Date: 2011-01-25 14:57 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/6aa467001334 Added tag hs20-b07 for changeset d535bf4c1235 ! .hgtags Changeset: d19d8218a399 Author: trims Date: 2011-01-25 15:06 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/d19d8218a399 7014711: Fork HS20 to HS21 - renumber Major and build numbers of JVM Summary: Update the Major and Build numbers for HS21 Reviewed-by: jcoomes ! make/hotspot_version From erik.trimble at oracle.com Tue Jan 25 17:28:45 2011 From: erik.trimble at oracle.com (erik.trimble at oracle.com) Date: Wed, 26 Jan 2011 01:28:45 +0000 Subject: hg: hsx/hsx20/baseline: Added tag hs20-b07 for changeset d535bf4c1235 Message-ID: <20110126012846.D95324714C@hg.openjdk.java.net> Changeset: 6aa467001334 Author: trims Date: 2011-01-25 14:57 -0800 URL: http://hg.openjdk.java.net/hsx/hsx20/baseline/rev/6aa467001334 Added tag hs20-b07 for changeset d535bf4c1235 ! .hgtags From igor.veresov at oracle.com Wed Jan 26 18:32:19 2011 From: igor.veresov at oracle.com (igor.veresov at oracle.com) Date: Thu, 27 Jan 2011 02:32:19 +0000 Subject: hg: hsx/hsx20/baseline: 2 new changesets Message-ID: <20110127023223.3904D47194@hg.openjdk.java.net> Changeset: 08b8a97af1a8 Author: iveresov Date: 2011-01-25 18:00 -0800 URL: http://hg.openjdk.java.net/hsx/hsx20/baseline/rev/08b8a97af1a8 7014247: CTW fails when compile sun/misc/AtomicLongCSImpl (REMOVED from JDK7) Summary: Use lea to compute field address in AtomicLongCSImpl::attemptUpdate() intrinsic on x86. Reviewed-by: never, kvn ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp Changeset: a2320a6088f0 Author: iveresov Date: 2011-01-26 11:01 -0800 URL: http://hg.openjdk.java.net/hsx/hsx20/baseline/rev/a2320a6088f0 Merge From christian.thalinger at oracle.com Thu Jan 27 02:23:19 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Thu, 27 Jan 2011 11:23:19 +0100 Subject: Request for reviews (XS): 7012339: JSR 292 crash in G1SATBCardTableModRefBS::write_ref_field_pre_work() Message-ID: http://cr.openjdk.java.net/~twisti/7012339/webrev.01/ 7012339: JSR 292 crash in G1SATBCardTableModRefBS::write_ref_field_pre_work() Reviewed-by: The cast of &_f1 to HeapWord* in ConstantPoolCacheEntry::set_f1_if_null_atomic leads to the wrong version of update_barrier_set_pre. The fix is to cast &_f1 to oop*. Thanks to John Cuthbertson who actually told me what's going wrong. From daniel.daugherty at oracle.com Thu Jan 27 10:57:15 2011 From: daniel.daugherty at oracle.com (daniel.daugherty at oracle.com) Date: Thu, 27 Jan 2011 18:57:15 +0000 Subject: hg: jdk7/hotspot/hotspot: 2 new changesets Message-ID: <20110127185720.3CDD0471BB@hg.openjdk.java.net> Changeset: ccfcb502af3f Author: dholmes Date: 2011-01-25 00:14 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/ccfcb502af3f 6566340: Restore use of stillborn flag to signify a thread that was stopped before it started Summary: Restore use of stillborn flag Reviewed-by: acorn, alanb ! src/share/vm/prims/jvm.cpp ! src/share/vm/runtime/thread.cpp Changeset: 515cc1a31fd1 Author: dcubed Date: 2011-01-26 21:26 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/515cc1a31fd1 Merge From tom.rodriguez at oracle.com Thu Jan 27 11:00:18 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 27 Jan 2011 11:00:18 -0800 Subject: Request for reviews (XS): 7012339: JSR 292 crash in G1SATBCardTableModRefBS::write_ref_field_pre_work() In-Reply-To: References: Message-ID: <8554B55E-DEEB-46B6-9F7E-FB6B7EF37D4E@oracle.com> Looks good. tom On Jan 27, 2011, at 2:23 AM, Christian Thalinger wrote: > http://cr.openjdk.java.net/~twisti/7012339/webrev.01/ > > 7012339: JSR 292 crash in G1SATBCardTableModRefBS::write_ref_field_pre_work() > Reviewed-by: > > The cast of &_f1 to HeapWord* in > ConstantPoolCacheEntry::set_f1_if_null_atomic leads to the wrong > version of update_barrier_set_pre. > > The fix is to cast &_f1 to oop*. > > Thanks to John Cuthbertson who actually told me what's going > wrong. From Christian.Thalinger at Sun.COM Thu Jan 27 14:01:30 2011 From: Christian.Thalinger at Sun.COM (Christian.Thalinger at Sun.COM) Date: Thu, 27 Jan 2011 22:01:30 +0000 Subject: hg: jdk7/hotspot/hotspot: 8 new changesets Message-ID: <20110127220144.392A5471CA@hg.openjdk.java.net> Changeset: bb2c2878f134 Author: twisti Date: 2011-01-20 08:25 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/bb2c2878f134 7011839: JSR 292 turn on escape analysis when using invokedynamic Summary: Currently escape analysis is turned off when EnableInvokeDynamic is true. Reviewed-by: jrose, kvn ! src/share/vm/ci/bcEscapeAnalyzer.cpp ! src/share/vm/runtime/arguments.cpp Changeset: a7367756024b Author: twisti Date: 2011-01-21 01:16 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/a7367756024b Merge ! src/share/vm/ci/bcEscapeAnalyzer.cpp - src/share/vm/gc_implementation/g1/concurrentZFThread.cpp - src/share/vm/gc_implementation/g1/concurrentZFThread.hpp Changeset: 403dc4c1d7f5 Author: never Date: 2011-01-21 13:01 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/403dc4c1d7f5 6809483: hotspot:::method_entry are not correctly generated for "method()V" Reviewed-by: iveresov, twisti ! src/share/vm/c1/c1_Canonicalizer.cpp ! src/share/vm/c1/c1_Canonicalizer.hpp ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_Instruction.hpp ! src/share/vm/c1/c1_InstructionPrinter.cpp ! src/share/vm/c1/c1_InstructionPrinter.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_LIRGenerator.hpp ! src/share/vm/c1/c1_Optimizer.cpp ! src/share/vm/c1/c1_ValueMap.hpp Changeset: aa4b04b68652 Author: never Date: 2011-01-21 13:03 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/aa4b04b68652 Merge ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp Changeset: e4fee0bdaa85 Author: never Date: 2011-01-24 13:34 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/e4fee0bdaa85 7008809: should report the class in ArrayStoreExceptions from compiled code Reviewed-by: iveresov, twisti ! src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp ! src/cpu/x86/vm/c1_CodeStubs_x86.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/share/vm/c1/c1_CodeStubs.hpp ! src/share/vm/c1/c1_LIR.cpp ! src/share/vm/c1/c1_Runtime1.cpp ! src/share/vm/c1/c1_Runtime1.hpp Changeset: f966c66b5463 Author: iveresov Date: 2011-01-25 14:38 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/f966c66b5463 7014247: CTW fails when compile sun/misc/AtomicLongCSImpl (REMOVED from JDK7) Summary: Use lea to compute field address in AtomicLongCSImpl::attemptUpdate() intrinsic on x86. Reviewed-by: never, kvn ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp Changeset: 635b068a7224 Author: twisti Date: 2011-01-27 08:47 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/635b068a7224 Merge ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp Changeset: 9846d99e16d3 Author: twisti Date: 2011-01-27 14:05 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/9846d99e16d3 Merge From john.cuthbertson at oracle.com Thu Jan 27 17:16:10 2011 From: john.cuthbertson at oracle.com (john.cuthbertson at oracle.com) Date: Fri, 28 Jan 2011 01:16:10 +0000 Subject: hg: jdk7/hotspot/hotspot: 5 new changesets Message-ID: <20110128011623.6B4D4471D2@hg.openjdk.java.net> Changeset: a672e43650cc Author: tonyp Date: 2011-01-21 11:30 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/a672e43650cc 7013718: G1: small fixes for two assert/guarantee failures Summary: Two small fixes to deal with a guarantee failure (the marking thread should join the SuspendibleThreadSet before calling a method that does pause prediction work so that said method is never called during a pause) and an assert failure (an assert is too strong). Reviewed-by: iveresov, johnc ! src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.cpp Changeset: 97ba643ea3ed Author: tonyp Date: 2011-01-25 17:58 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/97ba643ea3ed 7014261: G1: RSet-related failures Summary: A race between the concurrent cleanup thread and the VM thread while it is processing the "expanded sparse table list" causes both threads to try to free the same sparse table entry and either causes one of the threads to fail or leaves the entry in an inconsistent state. The solution is purge all entries on the expanded list that correspond go regions that are being cleaned up. Reviewed-by: brutisso, johnc ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp ! src/share/vm/gc_implementation/g1/sparsePRT.cpp ! src/share/vm/gc_implementation/g1/sparsePRT.hpp Changeset: 234761c55641 Author: johnc Date: 2011-01-25 10:56 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/234761c55641 6608385: G1: need to support parallel reference processing Summary: Implement support for ParallelRefProcEnabled in the reference processing that takes place at the end of G1 concurrent marking. Reviewed-by: tonyp, ysr ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/runtime/arguments.cpp Changeset: 81668b1f4877 Author: johnc Date: 2011-01-26 09:57 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/81668b1f4877 Merge ! src/share/vm/gc_implementation/g1/concurrentMark.cpp Changeset: 27e4ea99855d Author: johnc Date: 2011-01-27 13:42 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/27e4ea99855d Merge ! src/share/vm/runtime/arguments.cpp From john.coomes at oracle.com Thu Jan 27 20:32:44 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 28 Jan 2011 04:32:44 +0000 Subject: hg: jdk7/hotspot: Added tag jdk7-b127 for changeset bd70f76b0309 Message-ID: <20110128043244.44535471F0@hg.openjdk.java.net> Changeset: 6e0f4d6099bb Author: cl Date: 2011-01-27 17:28 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/rev/6e0f4d6099bb Added tag jdk7-b127 for changeset bd70f76b0309 ! .hgtags From john.coomes at oracle.com Thu Jan 27 20:32:50 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 28 Jan 2011 04:32:50 +0000 Subject: hg: jdk7/hotspot/corba: Added tag jdk7-b127 for changeset 64775e83f4df Message-ID: <20110128043254.700C8471F1@hg.openjdk.java.net> Changeset: 9baa8f94a11d Author: cl Date: 2011-01-27 17:28 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/corba/rev/9baa8f94a11d Added tag jdk7-b127 for changeset 64775e83f4df ! .hgtags From john.coomes at oracle.com Thu Jan 27 20:33:01 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 28 Jan 2011 04:33:01 +0000 Subject: hg: jdk7/hotspot/jaxp: Added tag jdk7-b127 for changeset c532d6dbc8d1 Message-ID: <20110128043301.2FC64471F2@hg.openjdk.java.net> Changeset: a42c6132c746 Author: cl Date: 2011-01-27 17:28 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/a42c6132c746 Added tag jdk7-b127 for changeset c532d6dbc8d1 ! .hgtags From john.coomes at oracle.com Thu Jan 27 20:33:07 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 28 Jan 2011 04:33:07 +0000 Subject: hg: jdk7/hotspot/jaxws: Added tag jdk7-b127 for changeset ef19f173578c Message-ID: <20110128043307.E2DE3471F3@hg.openjdk.java.net> Changeset: 88d74afc5593 Author: cl Date: 2011-01-27 17:28 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/88d74afc5593 Added tag jdk7-b127 for changeset ef19f173578c ! .hgtags From john.coomes at oracle.com Thu Jan 27 20:33:16 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 28 Jan 2011 04:33:16 +0000 Subject: hg: jdk7/hotspot/jdk: Added tag jdk7-b127 for changeset 29e09de1d0b4 Message-ID: <20110128043343.AABB4471F4@hg.openjdk.java.net> Changeset: 66c86ca4079a Author: cl Date: 2011-01-27 17:28 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/66c86ca4079a Added tag jdk7-b127 for changeset 29e09de1d0b4 ! .hgtags From john.coomes at oracle.com Thu Jan 27 20:33:56 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 28 Jan 2011 04:33:56 +0000 Subject: hg: jdk7/hotspot/langtools: 14 new changesets Message-ID: <20110128043428.C8B27471F5@hg.openjdk.java.net> Changeset: a8d3eed8e247 Author: jjh Date: 2010-12-13 17:35 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/a8d3eed8e247 6999460: Glassfish build with JDK 6 / 7 is 5x-10x slower on Windows than on Linux Summary: Fixed JavacFileManager to not treat a non-existant pathname as a directory. Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/file/JavacFileManager.java ! src/share/classes/com/sun/tools/javac/file/Paths.java Changeset: 0141f508b98d Author: jjg Date: 2010-12-14 14:17 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/0141f508b98d 6999891: DefaultFileManager incorrect Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/file/JavacFileManager.java + test/tools/javac/processing/filer/TestValidRelativeNames.java Changeset: cff0b8694633 Author: jjg Date: 2010-12-15 06:39 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/cff0b8694633 7006564: NPE in javac running test/tools/javac/nio/compileTest/CompileTest.java Reviewed-by: mcimadamore, alanb ! src/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java ! test/tools/javac/nio/compileTest/CompileTest.java Changeset: 3131e664558d Author: ksrini Date: 2010-12-18 09:38 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/3131e664558d 6567415: Neverending loop in ClassReader Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java + test/tools/javac/6567415/T6567415.java Changeset: 7c33098600b2 Author: jjh Date: 2010-12-21 16:29 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/7c33098600b2 7008378: javac bootstrap launcher fails on cygwin when called via an absolute path Summary: Use cygpath if it is cygwin Reviewed-by: ksrini ! make/Makefile ! make/build.xml ! src/share/bin/launcher.sh-template Changeset: 8859e49909e6 Author: lana Date: 2010-12-22 23:15 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/8859e49909e6 Merge Changeset: dd38bab326a3 Author: jjh Date: 2010-12-23 10:08 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/dd38bab326a3 7008869: Debug printlns accidentally added to make/build.xml Summary: Delete bogus echo statements Reviewed-by: ksrini ! make/build.xml Changeset: e8719f95f2d0 Author: jjh Date: 2010-12-23 12:29 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/e8719f95f2d0 6982992: Tests CheckAttributedTree.java, JavacTreeScannerTest.java, and SourceTreeeScannerTest.java timeout Summary: Hoist some invariant code out of a loop Reviewed-by: ksrini ! test/tools/javac/failover/CheckAttributedTree.java ! test/tools/javac/tree/AbstractTreeScannerTest.java ! test/tools/javac/tree/TreePosTest.java Changeset: e63b1f8341ce Author: lana Date: 2011-01-04 17:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/e63b1f8341ce Merge ! make/Makefile ! src/share/classes/com/sun/tools/javac/file/Paths.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java ! test/tools/javac/nio/compileTest/CompileTest.java Changeset: 15484cb7e5ae Author: mcimadamore Date: 2011-01-05 09:59 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/15484cb7e5ae 7010194: several langtools regression failures after JSR 292 changes (b123) Summary: Some regression tests rely on unsupported JSR 292 features Reviewed-by: jjg ! test/tools/javac/diags/examples/TypeParameterOnPolymorphicSignature.java - test/tools/javac/meth/InvokeDyn.java - test/tools/javac/meth/InvokeDynTrans.java ! test/tools/javac/meth/XlintWarn.java Changeset: 20fec1b88bc1 Author: lana Date: 2011-01-13 15:05 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/20fec1b88bc1 Merge - test/tools/javac/meth/InvokeDyn.java - test/tools/javac/meth/InvokeDynTrans.java Changeset: 438a8ad60f7a Author: lana Date: 2011-01-14 13:48 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/438a8ad60f7a Merge Changeset: 1e6094c33187 Author: cl Date: 2011-01-20 15:52 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/1e6094c33187 Added tag jdk7-b126 for changeset 438a8ad60f7a ! .hgtags Changeset: d79e283c7d9b Author: cl Date: 2011-01-27 17:28 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/d79e283c7d9b Added tag jdk7-b127 for changeset 1e6094c33187 ! .hgtags From daniel.daugherty at oracle.com Sat Jan 29 09:58:11 2011 From: daniel.daugherty at oracle.com (daniel.daugherty at oracle.com) Date: Sat, 29 Jan 2011 17:58:11 +0000 Subject: hg: jdk7/hotspot/hotspot: 6990754: Use native memory and reference counting to implement SymbolTable Message-ID: <20110129175815.BB94147269@hg.openjdk.java.net> Changeset: 3582bf76420e Author: coleenp Date: 2011-01-27 16:11 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable Summary: move symbols from permgen into C heap and reference count them Reviewed-by: never, acorn, jmasa, stefank ! agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java ! agent/src/share/classes/sun/jvm/hotspot/HotSpotTypeDataBase.java ! agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeLoadConstant.java ! agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeWithKlass.java ! agent/src/share/classes/sun/jvm/hotspot/memory/DictionaryEntry.java ! agent/src/share/classes/sun/jvm/hotspot/memory/LoaderConstraintEntry.java ! agent/src/share/classes/sun/jvm/hotspot/memory/PlaceholderEntry.java ! agent/src/share/classes/sun/jvm/hotspot/memory/StringTable.java ! agent/src/share/classes/sun/jvm/hotspot/memory/SymbolTable.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPool.java ! agent/src/share/classes/sun/jvm/hotspot/oops/GenerateOopMap.java ! agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java ! agent/src/share/classes/sun/jvm/hotspot/oops/Klass.java ! agent/src/share/classes/sun/jvm/hotspot/oops/Method.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java ! agent/src/share/classes/sun/jvm/hotspot/oops/Symbol.java - agent/src/share/classes/sun/jvm/hotspot/oops/SymbolKlass.java ! agent/src/share/classes/sun/jvm/hotspot/tools/jcore/ClassWriter.java ! agent/src/share/classes/sun/jvm/hotspot/types/Field.java ! agent/src/share/classes/sun/jvm/hotspot/ui/classbrowser/HTMLGenerator.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/Hashtable.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/HashtableEntry.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/os/solaris/dtrace/generateJvmOffsets.cpp ! src/os/solaris/dtrace/jhelper.d ! src/os/solaris/dtrace/libjvm_db.c ! src/os/solaris/vm/dtraceJSDT_solaris.cpp ! src/share/vm/ci/ciClassList.hpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciEnv.hpp ! src/share/vm/ci/ciField.cpp ! src/share/vm/ci/ciInstanceKlass.cpp ! src/share/vm/ci/ciKlass.cpp ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciObjArrayKlass.cpp ! src/share/vm/ci/ciObject.hpp ! src/share/vm/ci/ciObjectFactory.cpp ! src/share/vm/ci/ciObjectFactory.hpp ! src/share/vm/ci/ciSignature.cpp ! src/share/vm/ci/ciSignature.hpp ! src/share/vm/ci/ciSymbol.cpp ! src/share/vm/ci/ciSymbol.hpp - src/share/vm/ci/ciSymbolKlass.cpp - src/share/vm/ci/ciSymbolKlass.hpp ! src/share/vm/ci/compilerInterface.hpp ! src/share/vm/classfile/classFileError.cpp ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/classfile/classLoader.hpp ! src/share/vm/classfile/dictionary.cpp ! src/share/vm/classfile/dictionary.hpp ! src/share/vm/classfile/javaAssertions.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/loaderConstraints.cpp ! src/share/vm/classfile/loaderConstraints.hpp ! src/share/vm/classfile/placeholders.cpp ! src/share/vm/classfile/placeholders.hpp ! src/share/vm/classfile/resolutionErrors.cpp ! src/share/vm/classfile/resolutionErrors.hpp ! src/share/vm/classfile/stackMapFrame.cpp ! src/share/vm/classfile/stackMapFrame.hpp ! src/share/vm/classfile/stackMapTable.cpp ! src/share/vm/classfile/symbolTable.cpp ! src/share/vm/classfile/symbolTable.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/verificationType.cpp ! src/share/vm/classfile/verificationType.hpp ! src/share/vm/classfile/verifier.cpp ! src/share/vm/classfile/verifier.hpp ! src/share/vm/classfile/vmSymbols.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/code/compiledIC.cpp ! src/share/vm/code/dependencies.cpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/compiler/compileLog.hpp ! src/share/vm/compiler/compilerOracle.cpp ! src/share/vm/compiler/compilerOracle.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.hpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/shared/concurrentGCThread.cpp ! src/share/vm/gc_implementation/shared/markSweep.cpp ! src/share/vm/interpreter/bytecode.cpp ! src/share/vm/interpreter/bytecode.hpp ! src/share/vm/interpreter/bytecodeTracer.cpp ! src/share/vm/interpreter/interpreter.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/interpreter/linkResolver.hpp ! src/share/vm/memory/classify.cpp ! src/share/vm/memory/compactingPermGenGen.cpp ! src/share/vm/memory/compactingPermGenGen.hpp ! src/share/vm/memory/dump.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genMarkSweep.cpp ! src/share/vm/memory/heapInspection.cpp ! src/share/vm/memory/iterator.hpp ! src/share/vm/memory/oopFactory.hpp ! src/share/vm/memory/restore.cpp ! src/share/vm/memory/serialize.cpp ! src/share/vm/memory/sharedHeap.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/oops/arrayKlass.cpp ! src/share/vm/oops/arrayKlass.hpp ! src/share/vm/oops/arrayOop.cpp ! src/share/vm/oops/constantPoolKlass.cpp ! src/share/vm/oops/constantPoolOop.cpp ! src/share/vm/oops/constantPoolOop.hpp ! src/share/vm/oops/generateOopMap.cpp ! src/share/vm/oops/generateOopMap.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceKlassKlass.cpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/klassKlass.cpp ! src/share/vm/oops/klassVtable.cpp ! src/share/vm/oops/klassVtable.hpp ! src/share/vm/oops/markOop.hpp ! src/share/vm/oops/methodKlass.cpp ! src/share/vm/oops/methodOop.cpp ! src/share/vm/oops/methodOop.hpp ! src/share/vm/oops/objArrayKlass.cpp ! src/share/vm/oops/objArrayKlassKlass.cpp ! src/share/vm/oops/oop.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/oops/oopsHierarchy.hpp + src/share/vm/oops/symbol.cpp + src/share/vm/oops/symbol.hpp - src/share/vm/oops/symbolKlass.cpp - src/share/vm/oops/symbolKlass.hpp - src/share/vm/oops/symbolOop.cpp - src/share/vm/oops/symbolOop.hpp ! src/share/vm/oops/typeArrayKlass.cpp ! src/share/vm/opto/runtime.cpp ! src/share/vm/precompiled.hpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jniCheck.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm_misc.hpp ! src/share/vm/prims/jvmtiClassFileReconstituter.cpp ! src/share/vm/prims/jvmtiClassFileReconstituter.hpp ! src/share/vm/prims/jvmtiEnv.cpp ! src/share/vm/prims/jvmtiEnvBase.cpp ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/jvmtiExport.hpp ! src/share/vm/prims/jvmtiImpl.cpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/jvmtiRedefineClasses.hpp ! src/share/vm/prims/jvmtiTagMap.cpp ! src/share/vm/prims/methodComparator.cpp ! src/share/vm/prims/methodHandleWalk.cpp ! src/share/vm/prims/methodHandleWalk.hpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/methodHandles.hpp ! src/share/vm/prims/nativeLookup.cpp ! src/share/vm/prims/unsafe.cpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/fieldDescriptor.hpp ! src/share/vm/runtime/fieldType.cpp ! src/share/vm/runtime/fieldType.hpp ! src/share/vm/runtime/fprofiler.cpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/frame.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/handles.hpp ! src/share/vm/runtime/interfaceSupport.cpp ! src/share/vm/runtime/interfaceSupport.hpp ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/java.hpp ! src/share/vm/runtime/javaCalls.cpp ! src/share/vm/runtime/javaCalls.hpp ! src/share/vm/runtime/objectMonitor.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/reflection.cpp ! src/share/vm/runtime/reflection.hpp ! src/share/vm/runtime/reflectionUtils.hpp ! src/share/vm/runtime/rframe.cpp ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp ! src/share/vm/runtime/signature.cpp ! src/share/vm/runtime/signature.hpp ! src/share/vm/runtime/statSampler.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vframe.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/runtime/vmStructs.hpp ! src/share/vm/runtime/vm_operations.cpp ! src/share/vm/runtime/vm_operations.hpp ! src/share/vm/services/attachListener.cpp ! src/share/vm/services/classLoadingService.cpp ! src/share/vm/services/heapDumper.cpp ! src/share/vm/services/lowMemoryDetector.cpp ! src/share/vm/services/management.cpp ! src/share/vm/services/management.hpp ! src/share/vm/services/memoryManager.cpp ! src/share/vm/services/memoryPool.cpp ! src/share/vm/services/memoryService.cpp ! src/share/vm/services/threadService.cpp ! src/share/vm/utilities/debug.cpp ! src/share/vm/utilities/debug.hpp ! src/share/vm/utilities/exceptions.cpp ! src/share/vm/utilities/exceptions.hpp ! src/share/vm/utilities/hashtable.cpp ! src/share/vm/utilities/hashtable.hpp ! src/share/vm/utilities/hashtable.inline.hpp ! src/share/vm/utilities/utf8.cpp ! src/share/vm/utilities/utf8.hpp ! src/share/vm/utilities/xmlstream.cpp ! src/share/vm/utilities/xmlstream.hpp From mlists at juma.me.uk Sat Jan 29 14:16:25 2011 From: mlists at juma.me.uk (Ismael Juma) Date: Sat, 29 Jan 2011 22:16:25 +0000 (UTC) Subject: hg: jdk7/hotspot/hotspot: 6990754: Use native memory and =?utf-8?b?cmVmZXJlbmNlCWNvdW50aW5n?= to implement SymbolTable References: <20110129175815.BB94147269@hg.openjdk.java.net> Message-ID: Hi, writes: > 6990754: Use native memory and reference counting to implement SymbolTable > Summary: move symbols from permgen into C heap and reference count them Out of curiosity, is the plan for bug 6964458 (which, as I understand, removes the PermGen from HotSpot) to be completed for JDK 7? Best, Ismael From jon.masamitsu at oracle.com Sat Jan 29 18:52:09 2011 From: jon.masamitsu at oracle.com (Jon Masamitsu) Date: Sat, 29 Jan 2011 18:52:09 -0800 Subject: hg: jdk7/hotspot/hotspot: 6990754: Use native memory and reference counting to implement SymbolTable In-Reply-To: References: <20110129175815.BB94147269@hg.openjdk.java.net> Message-ID: <4D44D259.60601@oracle.com> On 1/29/2011 2:16 PM, Ismael Juma wrote: > Hi, > > writes: >> 6990754: Use native memory and reference counting to implement SymbolTable >> Summary: move symbols from permgen into C heap and reference count them > Out of curiosity, is the plan for bug 6964458 (which, as I understand, removes > the PermGen from HotSpot) to be completed for JDK 7? > I don't expect the work will be completed in time for jdk 7. > Best, > Ismael > From mlists at juma.me.uk Sat Jan 29 20:14:23 2011 From: mlists at juma.me.uk (Ismael Juma) Date: Sun, 30 Jan 2011 04:14:23 +0000 (UTC) Subject: hg: jdk7/hotspot/hotspot: 6990754: Use native memory and =?utf-8?b?cmVmZXJlbmNlCWNvdW50aW5n?= to implement SymbolTable References: <20110129175815.BB94147269@hg.openjdk.java.net> <4D44D259.60601@oracle.com> Message-ID: Jon Masamitsu writes: > I don't expect the work will be completed in time for jdk 7. Thank you for the quick reply. Best, Ismael From fweimer at bfk.de Mon Jan 31 04:48:22 2011 From: fweimer at bfk.de (Florian Weimer) Date: Mon, 31 Jan 2011 12:48:22 +0000 Subject: Client VM on amd64 Message-ID: <827hdlb5nt.fsf@mid.bfk.de> There are some commits which reference C1 in the context of amd64 and compressed oops. Is this feature readily available in regular builds? Perhaps even with OpenJDK 6? -client does not seem to have any effect (as witnessed by "java -version"). Even on larger machines, the client VM with -XX:+UseSerialGC could be interesting for background monitoring daemons because its resource consumption is supposed to be lower (especially with class data sharing). And amd64 support is important to maintain JNI compatibility with the usual VM. -- Florian Weimer BFK edv-consulting GmbH http://www.bfk.de/ Kriegsstra?e 100 tel: +49-721-96201-1 D-76133 Karlsruhe fax: +49-721-96201-99 From paul.hohensee at oracle.com Mon Jan 31 07:11:30 2011 From: paul.hohensee at oracle.com (Paul Hohensee) Date: Mon, 31 Jan 2011 10:11:30 -0500 Subject: Client VM on amd64 In-Reply-To: <827hdlb5nt.fsf@mid.bfk.de> References: <827hdlb5nt.fsf@mid.bfk.de> Message-ID: <4D46D122.3070103@oracle.com> Oracle doesn't support 64-bit client jvms, but they can certainly be built. E.g., gnumake LP64=1 product1 The reason the commits mention amd64 and compressed oops is because the client compiler is part of the tiered compilation system (c1 + c2) that's built into the server jvm and available via -XX:+TieredCompilation. The 64-bit client compiler must work in order for tiered compilation to work. Paul On 1/31/11 7:48 AM, Florian Weimer wrote: > There are some commits which reference C1 in the context of amd64 and > compressed oops. Is this feature readily available in regular builds? > Perhaps even with OpenJDK 6? -client does not seem to have any effect > (as witnessed by "java -version"). > > Even on larger machines, the client VM with -XX:+UseSerialGC could be > interesting for background monitoring daemons because its resource > consumption is supposed to be lower (especially with class data > sharing). And amd64 support is important to maintain JNI > compatibility with the usual VM. > From islam.atta at utoronto.ca Mon Jan 31 19:23:48 2011 From: islam.atta at utoronto.ca (Islam Atta) Date: Mon, 31 Jan 2011 22:23:48 -0500 Subject: Building HotSpot JVM Message-ID: Hi all, I'm a PhD student at UofT and I might be working on analysis of Java programs using HotSpot JVM. I'm new to the OpenJDK and was trying to build out the repository. Unfortuneatly I'm getting several errors, I've solved a couple but now stuck! BTW I'm not a Linux or gcc expert. The command I used to build is gmake "ALLOW_DOWNLOADS=true". Part of the build error is below: gmake[6]: Entering directory `/media/sf_UofT/Research/Tools_Benchmarks/openJDK/openjdk/build/linux-i586/hotspot/outputdir/linux_i486_compiler2/product' ../generated/adfiles/adlc -DLINUX -D_GNU_SOURCE -DIA32 -q -T -g -U_LP64 ../generated/adfiles/linux_x86_32.ad \ -c../generated/adfiles/mktmp342/ad_x86_32.cpp -h../generated/adfiles/mktmp342/ad_x86_32.hpp -a../generated/adfiles/mktmp342/dfa_x86_32.cpp -v../generated/adfiles/mktmp342/adGlobals_x86_32.hpp \ || { rm -rf ../generated/adfiles/mktmp342; exit 1; } ./adlc_updater ad_x86_32.cpp ../generated/adfiles/mktmp342 ../generated/adfiles ./adlc_updater ad_x86_32.hpp ../generated/adfiles/mktmp342 ../generated/adfiles ./adlc_updater ad_x86_32_clone.cpp ../generated/adfiles/mktmp342 ../generated/adfiles ./adlc_updater ad_x86_32_expand.cpp ../generated/adfiles/mktmp342 ../generated/adfiles ./adlc_updater ad_x86_32_format.cpp ../generated/adfiles/mktmp342 ../generated/adfiles ./adlc_updater ad_x86_32_gen.cpp ../generated/adfiles/mktmp342 ../generated/adfiles ./adlc_updater ad_x86_32_misc.cpp ../generated/adfiles/mktmp342 ../generated/adfiles ./adlc_updater ad_x86_32_peephole.cpp ../generated/adfiles/mktmp342 ../generated/adfiles ./adlc_updater ad_x86_32_pipeline.cpp ../generated/adfiles/mktmp342 ../generated/adfiles ./adlc_updater adGlobals_x86_32.hpp ../generated/adfiles/mktmp342 ../generated/adfiles ./adlc_updater dfa_x86_32.cpp ../generated/adfiles/mktmp342 ../generated/adfiles [ -f ../generated/adfiles/mktmp342/made-change ] \ || echo "Rescanned ../generated/adfiles/linux_x86_32.ad but encountered no changes." Rescanned ../generated/adfiles/linux_x86_32.ad but encountered no changes. rm -rf ../generated/adfiles/mktmp342 gmake[6]: Leaving directory `/media/sf_UofT/Research/Tools_Benchmarks/openJDK/openjdk/build/linux-i586/hotspot/outputdir/linux_i486_compiler2/product' gmake[6]: Entering directory `/media/sf_UofT/Research/Tools_Benchmarks/openJDK/openjdk/build/linux-i586/hotspot/outputdir/linux_i486_compiler2/product' gmake[6]: Nothing to be done for `all'. gmake[6]: Leaving directory `/media/sf_UofT/Research/Tools_Benchmarks/openJDK/openjdk/build/linux-i586/hotspot/outputdir/linux_i486_compiler2/product' gmake[6]: Entering directory `/media/sf_UofT/Research/Tools_Benchmarks/openJDK/openjdk/build/linux-i586/hotspot/outputdir/linux_i486_compiler2/product' if [ -d /media/sf_UofT/Research/Tools_Benchmarks/openJDK/openjdk/hotspot/agent -a "x86" != "ia64" \ -a "x86" != "arm" \ -a "x86" != "ppc" \ -a "x86" != "zero" ] ; then \ gmake -f sa.make /media/sf_UofT/Research/Tools_Benchmarks/openJDK/openjdk/build/linux-i586/hotspot/outputdir/linux_i486_compiler2/product/../generated/sa-jdi.jar; \ fi gmake[7]: Entering directory `/media/sf_UofT/Research/Tools_Benchmarks/openJDK/openjdk/build/linux-i586/hotspot/outputdir/linux_i486_compiler2/product' echo "Making /media/sf_UofT/Research/Tools_Benchmarks/openJDK/openjdk/build/linux-i586/hotspot/outputdir/linux_i486_compiler2/product/../generated/sa-jdi.jar" Making /media/sf_UofT/Research/Tools_Benchmarks/openJDK/openjdk/build/linux-i586/hotspot/outputdir/linux_i486_compiler2/product/../generated/sa-jdi.jar if [ "/usr/lib/jvm/java-openjdk" = "" ]; then \ echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \ exit 1; \ fi if [ ! -f /usr/lib/jvm/java-openjdk/lib/tools.jar -a ! -d /usr/lib/jvm/java-openjdk/lib/modules ] ; then \ echo "Missing /usr/lib/jvm/java-openjdk/lib/tools.jar file. Use 1.6.0 or later version of JDK";\ echo ""; \ exit 1; \ fi if [ ! -d /media/sf_UofT/Research/Tools_Benchmarks/openJDK/openjdk/build/linux-i586/hotspot/outputdir/linux_i486_compiler2/product/../generated/saclasses ] ; then \ mkdir -p /media/sf_UofT/Research/Tools_Benchmarks/openJDK/openjdk/build/linux-i586/hotspot/outputdir/linux_i486_compiler2/product/../generated/saclasses; \ fi /usr/lib/jvm/java-openjdk/bin/javac -g -encoding ascii -source 6 -target 6 -source 1.4 -target 1.4 -classpath /usr/lib/jvm/java-openjdk/lib/tools.jar -sourcepath /media/sf_UofT/Research/Tools_Benchmarks/openJDK/openjdk/hotspot/agent/src/share/classes -d /media/sf_UofT/Research/Tools_Benchmarks/openJDK/openjdk/build/linux-i586/hotspot/outputdir/linux_i486_compiler2/product/../generated/saclasses @/media/sf_UofT/Research/Tools_Benchmarks/openJDK/openjdk/build/linux-i586/hotspot/outputdir/linux_i486_compiler2/product/../generated/agent1.classes.list /media/sf_UofT/Research/Tools_Benchmarks/openJDK/openjdk/hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/COFFFileParser.java:333: error while writing sun.jvm.hotspot.debugger.win32.coff.COFFFileParser.COFFFileImpl.COFFHeaderImpl.OptionalHeaderWindowsSpecificFieldsImpl: /media/sf_UofT/Research/Tools_Benchmarks/openJDK/openjdk/build/linux-i586/hotspot/outputdir/linux_i486_compiler2/product/../generated/saclasses/sun/jvm/hotspot/debugger/win32/coff/COFFFileParser$COFFFileImpl$COFFHeaderImpl$OptionalHeaderWindowsSpecificFieldsImpl.class (Operation not permitted) class OptionalHeaderWindowsSpecificFieldsImpl implements OptionalHeaderWindowsSpecificFields { ^ 1 error gmake[7]: *** [/media/sf_UofT/Research/Tools_Benchmarks/openJDK/openjdk/build/linux-i586/hotspot/outputdir/linux_i486_compiler2/product/../generated/sa-jdi.jar] Error 1 gmake[7]: Leaving directory `/media/sf_UofT/Research/Tools_Benchmarks/openJDK/openjdk/build/linux-i586/hotspot/outputdir/linux_i486_compiler2/product' gmake[6]: *** [all] Error 2 gmake[6]: Leaving directory `/media/sf_UofT/Research/Tools_Benchmarks/openJDK/openjdk/build/linux-i586/hotspot/outputdir/linux_i486_compiler2/product' gmake[5]: *** [sa_stuff] Error 2 gmake[5]: Leaving directory `/media/sf_UofT/Research/Tools_Benchmarks/openJDK/openjdk/build/linux-i586/hotspot/outputdir/linux_i486_compiler2/product' gmake[4]: *** [product] Error 2 gmake[4]: Leaving directory `/media/sf_UofT/Research/Tools_Benchmarks/openJDK/openjdk/build/linux-i586/hotspot/outputdir' gmake[3]: *** [generic_build2] Error 2 gmake[3]: Leaving directory `/media/sf_UofT/Research/Tools_Benchmarks/openJDK/openjdk/hotspot/make' gmake[2]: *** [product] Error 2 gmake[2]: Leaving directory `/media/sf_UofT/Research/Tools_Benchmarks/openJDK/openjdk/hotspot/make' gmake[1]: *** [hotspot-build] Error 2 gmake[1]: Leaving directory `/media/sf_UofT/Research/Tools_Benchmarks/openJDK/openjdk' gmake: *** [build_product_image] Error 2 -- Best regards, Islam Atta, M.Sc., B.Sc. Ph.D. student The Edward S. Rogers Sr. department of Electrical & Computer Engineering Faculty of Applied Science & Engineering University of Toronto Tel: +1 (647) 779-1186 Email: islam.atta at utoronto.ca -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20110131/a19d946f/attachment.html