From stefan.karlsson at oracle.com Fri Feb 1 00:13:27 2013 From: stefan.karlsson at oracle.com (Stefan Karlsson) Date: Fri, 01 Feb 2013 09:13:27 +0100 Subject: Review Request: 8006506: Add test for redefining methods in backtraces to java/lang/instrument tests In-Reply-To: <50FE901F.4050806@oracle.com> References: <50FE901F.4050806@oracle.com> Message-ID: <510B7927.9090008@oracle.com> http://cr.openjdk.java.net/~stefank/8006506/webrev.03/ 1) Reverted the ProblemList change, since the fix has already propagaged to jdk8/tl 2) Renamed do_redefine -> doRedefine 3) Updated the .sh file with the bug number of the original CR instead of the test CR. thanks, StefanK On 2013-01-22 14:11, Stefan Karlsson wrote: > http://cr.openjdk.java.net/~stefank/8006506/webrev.00/ > > This test provokes the JVM crash described in bug: JDK-7174978. > > I intend to push this to: > http://hg.openjdk.java.net/jdk8/tl/jdk > > thanks, > StefanK > > From staffan.larsen at oracle.com Fri Feb 1 00:20:14 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Fri, 1 Feb 2013 09:20:14 +0100 Subject: RFR: 8006423 SA: NullPointerException in sun.jvm.hotspot.debugger.bsd.BsdThread.getContext(BsdThread.java:67) In-Reply-To: <510B4D00.1060209@oracle.com> References: <4ACE7799-52E8-45AF-A249-DBC92FC7997E@oracle.com> <510B4D00.1060209@oracle.com> Message-ID: <8894A362-98B5-4123-9EE9-BA4801C27460@oracle.com> Thanks David! /Staffan On 1 feb 2013, at 06:05, David Holmes wrote: > Hi Staffan, > > First, please refrain from doing code cleanup (long line reformatting) alongside a fairly significant change - it makes the true changes harder to spot. Thanks. > > Based on our discussions this all looks good to me. > > Thanks, > David > > On 18/01/2013 5:48 AM, Staffan Larsen wrote: >> This is a request for review of a fix for SA on OS X. >> >> webrev: http://cr.openjdk.java.net/~sla/8006423/webrev.00/ >> bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8006423 >> >> The bug report contains a detailed description of the problem and the proposed solution. I have copied some of that text below. To verify the fix I have manually run jstack on OS X. >> >> Thanks, >> /Staffan >> >> >> >> In many cases when running the SA version of JStack (or other SA tools) an NPE is thrown in BsdThread.getContext(). The underlaying cause is that SA fails to read the context of the thread in the native method getThreadIntegerRegisterSet0() (thread_get_state returns an error). >> >> The following is my understanding of what the cause is and a suggestion for a fix - my experience with OS X is a bit limited so I may be off on some details. >> >> thread_get_state() takes a thread_t as a parameter. The value of this parameter comes from SA reading the value of the OSThread._thread_id field in the Hotspot process being debugged. This value is set in HotSpot to ::mach_thread_self() which is documented as "The mach_thread_self system call returns the calling thread's thread port." >> >> My theory is that this "thread port" in not valid when a different process calls thread_get_state(). Instead, the other process (SA in this case) needs it's own "thread port" for the thread it wants to access. >> >> There is a way to list all the thread ports in a different process (or "task" as they are called in Mach) via the task_threads() function. >> >> So now we have the thread ports, we just need to correlate them with the C++ Thread objects in the Hotspot process. One way to do this correlation is via the stack pointer. We can get the current value of the stack pointer (rsp) in SA and look through all the Thread objects to see which one the stack pointer belongs to (by looking at Thread._stack_base and Thread._stack_size). >> >> Another way seems to be to use the thread_info() function with the THREAD_IDENTIFIER_INFO parameter. This gives us a struct which has a field called thread_id. The comment for this field in the thread_info.h file says "system-wide unique 64-bit thread id". The value for this thread_id is the same when called from Hotspot and when called from the debugging process (SA), so this looks like a way to do the correlation. >> >> This requires Hotspot to store this value in OSThread and SA to first list all the "thread ports", then find the thread_id for each one and select the right "thread port" for the thread we are looking for. >> >> Using a thread_id provided by the system seems more reliable than using the stack pointer for correlation. >> >> From serguei.spitsyn at oracle.com Fri Feb 1 00:50:51 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Fri, 01 Feb 2013 00:50:51 -0800 Subject: Review Request: 7140852: Add test for 7022100 In-Reply-To: <510B73A8.70401@oracle.com> References: <50FEA4B6.90507@oracle.com> <510AFAFC.2010808@oracle.com> <510B73A8.70401@oracle.com> Message-ID: <510B81EB.4080200@oracle.com> Ship it. Thanks, Serguei On 1/31/13 11:50 PM, Stefan Karlsson wrote: > On 2013-02-01 00:15, Coleen Phillimore wrote: >> >> Stefan, >> >> I just read through this test and it looks like a good test to me >> (but I'm not an expert and it took a while to figure out how it >> worked). I had two questions. Why does the same definition for >> @interface ParameterAnnotation {} appear in both >> RedefineMethodWithAnnotationTarget*.java files? Can't it be in it's >> own file and just once? Or is it different (didn't see any >> differences). > I've moved it to its own file now and added the needed extra > infrastructure to get test to work with that. > >> >> Also is do_redefine supposed to be doRedefine as per Java coding >> convention or is that a known variation? > > Fixed. It was the name used in the test that I copied the code from. > > http://cr.openjdk.java.net/~stefank/7140852/webrev.01/ > > thanks, > StefanK >> >> Thanks, >> Coleen >> >> On 01/22/2013 09:39 AM, Stefan Karlsson wrote: >>> http://cr.openjdk.java.net/~stefank/7140852/webrev.00/ >>> >>> This test provoked the bug in: >>> 7022100: Method annotations are incorrectly set when redefining classes >>> >>> thanks, >>> StefanK >> > From stefan.karlsson at oracle.com Fri Feb 1 00:51:50 2013 From: stefan.karlsson at oracle.com (Stefan Karlsson) Date: Fri, 01 Feb 2013 09:51:50 +0100 Subject: Review Request: 7140852: Add test for 7022100 In-Reply-To: <510B81EB.4080200@oracle.com> References: <50FEA4B6.90507@oracle.com> <510AFAFC.2010808@oracle.com> <510B73A8.70401@oracle.com> <510B81EB.4080200@oracle.com> Message-ID: <510B8226.7080506@oracle.com> On 2013-02-01 09:50, serguei.spitsyn at oracle.com wrote: > Ship it. Thanks! StefanK > > Thanks, > Serguei > > > On 1/31/13 11:50 PM, Stefan Karlsson wrote: >> On 2013-02-01 00:15, Coleen Phillimore wrote: >>> >>> Stefan, >>> >>> I just read through this test and it looks like a good test to me >>> (but I'm not an expert and it took a while to figure out how it >>> worked). I had two questions. Why does the same definition for >>> @interface ParameterAnnotation {} appear in both >>> RedefineMethodWithAnnotationTarget*.java files? Can't it be in >>> it's own file and just once? Or is it different (didn't see any >>> differences). >> I've moved it to its own file now and added the needed extra >> infrastructure to get test to work with that. >> >>> >>> Also is do_redefine supposed to be doRedefine as per Java coding >>> convention or is that a known variation? >> >> Fixed. It was the name used in the test that I copied the code from. >> >> http://cr.openjdk.java.net/~stefank/7140852/webrev.01/ >> >> thanks, >> StefanK >>> >>> Thanks, >>> Coleen >>> >>> On 01/22/2013 09:39 AM, Stefan Karlsson wrote: >>>> http://cr.openjdk.java.net/~stefank/7140852/webrev.00/ >>>> >>>> This test provoked the bug in: >>>> 7022100: Method annotations are incorrectly set when redefining >>>> classes >>>> >>>> thanks, >>>> StefanK >>> >> > From serguei.spitsyn at oracle.com Fri Feb 1 01:22:04 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Fri, 01 Feb 2013 01:22:04 -0800 Subject: Review Request: 8006506: Add test for redefining methods in backtraces to java/lang/instrument tests In-Reply-To: <510B7927.9090008@oracle.com> References: <50FE901F.4050806@oracle.com> <510B7927.9090008@oracle.com> Message-ID: <510B893C.8030407@oracle.com> Nice test! It looks good. As the original bug and the test are non-trivial, it'd make sense to add a comment to the class RedefineMethodInBacktraceApp and explain a little bit what the test is doing, and what behavior is expected. Thanks, Sergueri On 2/1/13 12:13 AM, Stefan Karlsson wrote: > http://cr.openjdk.java.net/~stefank/8006506/webrev.03/ > > 1) Reverted the ProblemList change, since the fix has already > propagaged to jdk8/tl > 2) Renamed do_redefine -> doRedefine > 3) Updated the .sh file with the bug number of the original CR instead > of the test CR. > > thanks, > StefanK > > On 2013-01-22 14:11, Stefan Karlsson wrote: >> http://cr.openjdk.java.net/~stefank/8006506/webrev.00/ >> >> This test provokes the JVM crash described in bug: JDK-7174978. >> >> I intend to push this to: >> http://hg.openjdk.java.net/jdk8/tl/jdk >> >> thanks, >> StefanK >> >> > From stefan.karlsson at oracle.com Fri Feb 1 01:57:13 2013 From: stefan.karlsson at oracle.com (Stefan Karlsson) Date: Fri, 01 Feb 2013 10:57:13 +0100 Subject: Review Request: 8006506: Add test for redefining methods in backtraces to java/lang/instrument tests In-Reply-To: <510B893C.8030407@oracle.com> References: <50FE901F.4050806@oracle.com> <510B7927.9090008@oracle.com> <510B893C.8030407@oracle.com> Message-ID: <510B9179.5080809@oracle.com> On 2013-02-01 10:22, serguei.spitsyn at oracle.com wrote: > Nice test! > It looks good. Thanks for reviewing! > > As the original bug and the test are non-trivial, it'd make sense to > add a comment to > the class RedefineMethodInBacktraceApp and explain a little bit what > the test is doing, > and what behavior is expected. http://cr.openjdk.java.net/~stefank/8006506/webrev.04/ Tell me if you think this is good enough. thanks, StefanK > > > Thanks, > Sergueri > > > On 2/1/13 12:13 AM, Stefan Karlsson wrote: >> http://cr.openjdk.java.net/~stefank/8006506/webrev.03/ >> >> 1) Reverted the ProblemList change, since the fix has already >> propagaged to jdk8/tl >> 2) Renamed do_redefine -> doRedefine >> 3) Updated the .sh file with the bug number of the original CR >> instead of the test CR. >> >> thanks, >> StefanK >> >> On 2013-01-22 14:11, Stefan Karlsson wrote: >>> http://cr.openjdk.java.net/~stefank/8006506/webrev.00/ >>> >>> This test provokes the JVM crash described in bug: JDK-7174978. >>> >>> I intend to push this to: >>> http://hg.openjdk.java.net/jdk8/tl/jdk >>> >>> thanks, >>> StefanK >>> >>> >> > From rickard.backman at oracle.com Fri Feb 1 01:59:30 2013 From: rickard.backman at oracle.com (=?iso-8859-1?Q?Rickard_B=E4ckman?=) Date: Fri, 1 Feb 2013 10:59:30 +0100 Subject: Request for review (XS): 8006563: Remove unused ProfileVM_lock In-Reply-To: <510B67BB.1030208@oracle.com> References: <8255E82F-3D7A-4826-BBA9-CC958F43C942@oracle.com> <50F94A4C.4040907@oracle.com> <55A7022D-F025-4D0A-B80A-B12686C78E7D@oracle.com> <50FCA114.7030908@oracle.com> <50FDC23C.1040204@oracle.com> <0AE6320D-3B03-4F2E-8E81-15B56740A727@oracle.com> <510B67BB.1030208@oracle.com> Message-ID: Thanks for the review, David. /R On Feb 1, 2013, at 7:59 AM, David Holmes wrote: > On 1/02/2013 4:54 PM, Rickard B?ckman wrote: >> That was the idea. >> However, can I have Ok for checking this into hs24 while waiting? > > Sorry - ignore the hs25 comment - been looking at too many JDK review requests. > > Yes this seems fine for hs24. > > David > >> Thanks >> /R >> >> On Jan 21, 2013, at 11:33 PM, David Holmes wrote: >> >>> On 22/01/2013 12:09 AM, Rickard B?ckman wrote: >>>> Yes, that code has changed. Checked in to hs24. >>> >>> Okay but this is a review for hs25 ;-) So I assume that change will be there "real soon now". :) >>> >>> David >>> >>>> /R >>>> >>>> 21 jan 2013 kl. 02:59 skrev David Holmes: >>>> >>>>> On 18/01/2013 11:45 PM, Rickard B?ckman wrote: >>>>>> Aleksey, >>>>>> >>>>>> thanks for your review! >>>>>> >>>>>> a) It was before on of my own changes used in os_solaris.cpp (I think, for synchronization support for Suspend/Resume). >>>>>> I don't think we wanted something external to mess with that lock. >>>>> >>>>> Seems to be used here: >>>>> >>>>> ./os/solaris/vm/os_solaris.cpp: >>>>> >>>>> 4265 GetThreadPC_Callback cb(ProfileVM_lock); >>>>> >>>>> Is this code already undergoing removal as part of the JFR changes? >>>>> >>>>> Thanks, >>>>> David >>>>> ----- >>>>> >>>>> >>>>>> b) I've changed the indentation slightly. >>>>>> Updated webrev at http://cr.openjdk.java.net/~rbackman/8006563.2/ (or at least currently copying?) >>>>>> >>>>>> /R >>>>>> >>>>>> On Jan 18, 2013, at 2:12 PM, Aleksey Shipilev wrote: >>>>>> >>>>>>> On 01/18/2013 04:58 PM, Rickard B?ckman wrote: >>>>>>>> http://cr.openjdk.java.net/~rbackman/8006563/ >>>>>>> >>>>>>> Looks good to me (not a Reviewer), modulo: >>>>>>> a) Are we sure this thing is not acquired in some weird way, i.e. >>>>>>> through JVMTI, SA, or whatnot? >>>>>>> b) The formatting of the predicate does not follow it's structure, I >>>>>>> think it should be: >>>>>>> ... >>>>>>> this != Interrupt_lock&& >>>>>>> !(this == Safepoint_lock&& >>>>>>> contains(locks, Terminator_lock)&& >>>>>>> SafepointSynchronize::is_synchronizing())) { >>>>>>> >>>>>>> This way it is more obvious SafepointSynchronize::is_synchronizing()) is >>>>>>> the !(...) group. >>>>>>> >>>>>>> -Aleksey. >>>>>> >> From serguei.spitsyn at oracle.com Fri Feb 1 03:11:00 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Fri, 01 Feb 2013 03:11:00 -0800 Subject: Review Request: 8006506: Add test for redefining methods in backtraces to java/lang/instrument tests In-Reply-To: <510B9179.5080809@oracle.com> References: <50FE901F.4050806@oracle.com> <510B7927.9090008@oracle.com> <510B893C.8030407@oracle.com> <510B9179.5080809@oracle.com> Message-ID: <510BA2C4.6040802@oracle.com> On 2/1/13 1:57 AM, Stefan Karlsson wrote: > On 2013-02-01 10:22, serguei.spitsyn at oracle.com wrote: >> Nice test! >> It looks good. > Thanks for reviewing! >> >> As the original bug and the test are non-trivial, it'd make sense to >> add a comment to >> the class RedefineMethodInBacktraceApp and explain a little bit what >> the test is doing, >> and what behavior is expected. > http://cr.openjdk.java.net/~stefank/8006506/webrev.04/ > > Tell me if you think this is good enough. It is good. Nit: it'd be enough if it is more specific. :) This method is a key point: 90 private static void touchRedefinedMethodInBacktrace(Throwable throwable) { 91 throwable.getStackTrace(); 92 } Is it true that the test expects the getStackTrace() does not crash nor throw an exception which would happen if the old/obsolete method is gc'ed? Thanks, Serguei > > thanks, > StefanK >> >> >> Thanks, >> Sergueri >> >> >> On 2/1/13 12:13 AM, Stefan Karlsson wrote: >>> http://cr.openjdk.java.net/~stefank/8006506/webrev.03/ >>> >>> 1) Reverted the ProblemList change, since the fix has already >>> propagaged to jdk8/tl >>> 2) Renamed do_redefine -> doRedefine >>> 3) Updated the .sh file with the bug number of the original CR >>> instead of the test CR. >>> >>> thanks, >>> StefanK >>> >>> On 2013-01-22 14:11, Stefan Karlsson wrote: >>>> http://cr.openjdk.java.net/~stefank/8006506/webrev.00/ >>>> >>>> This test provokes the JVM crash described in bug: JDK-7174978. >>>> >>>> I intend to push this to: >>>> http://hg.openjdk.java.net/jdk8/tl/jdk >>>> >>>> thanks, >>>> StefanK >>>> >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130201/50e5b5f9/attachment.html From stefan.karlsson at oracle.com Fri Feb 1 03:17:19 2013 From: stefan.karlsson at oracle.com (Stefan Karlsson) Date: Fri, 01 Feb 2013 12:17:19 +0100 Subject: Review Request: 8006506: Add test for redefining methods in backtraces to java/lang/instrument tests In-Reply-To: <510BA2C4.6040802@oracle.com> References: <50FE901F.4050806@oracle.com> <510B7927.9090008@oracle.com> <510B893C.8030407@oracle.com> <510B9179.5080809@oracle.com> <510BA2C4.6040802@oracle.com> Message-ID: <510BA43F.5070008@oracle.com> On 2013-02-01 12:11, serguei.spitsyn at oracle.com wrote: > On 2/1/13 1:57 AM, Stefan Karlsson wrote: >> On 2013-02-01 10:22, serguei.spitsyn at oracle.com wrote: >>> Nice test! >>> It looks good. >> Thanks for reviewing! >>> >>> As the original bug and the test are non-trivial, it'd make sense to >>> add a comment to >>> the class RedefineMethodInBacktraceApp and explain a little bit what >>> the test is doing, >>> and what behavior is expected. >> http://cr.openjdk.java.net/~stefank/8006506/webrev.04/ >> >> Tell me if you think this is good enough. > > It is good. > > Nit: it'd be enough if it is more specific. :) > This method is a key point: > 90 private static void touchRedefinedMethodInBacktrace(Throwable throwable) { > 91 throwable.getStackTrace(); > 92 } > Is it true that the test expects the getStackTrace() does not crash nor > throw an exception which would happen if the old/obsolete method is gc'ed? I see. I'll add a comment that we shouldn't crash. Thanks, StefanK > > > Thanks, > Serguei > > >> >> thanks, >> StefanK >>> >>> >>> Thanks, >>> Sergueri >>> >>> >>> On 2/1/13 12:13 AM, Stefan Karlsson wrote: >>>> http://cr.openjdk.java.net/~stefank/8006506/webrev.03/ >>>> >>>> 1) Reverted the ProblemList change, since the fix has already >>>> propagaged to jdk8/tl >>>> 2) Renamed do_redefine -> doRedefine >>>> 3) Updated the .sh file with the bug number of the original CR >>>> instead of the test CR. >>>> >>>> thanks, >>>> StefanK >>>> >>>> On 2013-01-22 14:11, Stefan Karlsson wrote: >>>>> http://cr.openjdk.java.net/~stefank/8006506/webrev.00/ >>>>> >>>>> This test provokes the JVM crash described in bug: JDK-7174978. >>>>> >>>>> I intend to push this to: >>>>> http://hg.openjdk.java.net/jdk8/tl/jdk >>>>> >>>>> thanks, >>>>> StefanK >>>>> >>>>> >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130201/edee5cec/attachment.html From stefan.karlsson at oracle.com Fri Feb 1 03:27:16 2013 From: stefan.karlsson at oracle.com (Stefan Karlsson) Date: Fri, 01 Feb 2013 12:27:16 +0100 Subject: Review Request: 8006506: Add test for redefining methods in backtraces to java/lang/instrument tests In-Reply-To: <510BA43F.5070008@oracle.com> References: <50FE901F.4050806@oracle.com> <510B7927.9090008@oracle.com> <510B893C.8030407@oracle.com> <510B9179.5080809@oracle.com> <510BA2C4.6040802@oracle.com> <510BA43F.5070008@oracle.com> Message-ID: <510BA694.4000007@oracle.com> On 2013-02-01 12:17, Stefan Karlsson wrote: > On 2013-02-01 12:11, serguei.spitsyn at oracle.com wrote: >> On 2/1/13 1:57 AM, Stefan Karlsson wrote: >>> On 2013-02-01 10:22, serguei.spitsyn at oracle.com wrote: >>>> Nice test! >>>> It looks good. >>> Thanks for reviewing! >>>> >>>> As the original bug and the test are non-trivial, it'd make sense >>>> to add a comment to >>>> the class RedefineMethodInBacktraceApp and explain a little bit >>>> what the test is doing, >>>> and what behavior is expected. >>> http://cr.openjdk.java.net/~stefank/8006506/webrev.04/ >>> >>> Tell me if you think this is good enough. >> >> It is good. >> >> Nit: it'd be enough if it is more specific. :) >> This method is a key point: >> 90 private static void touchRedefinedMethodInBacktrace(Throwable throwable) { >> 91 throwable.getStackTrace(); >> 92 } >> Is it true that the test expects the getStackTrace() does not crash nor >> throw an exception which would happen if the old/obsolete method is >> gc'ed? > > I see. I'll add a comment that we shouldn't crash. http://cr.openjdk.java.net/~stefank/8006506/webrev.05/ StefanK > > Thanks, > StefanK >> >> >> Thanks, >> Serguei >> >> >>> >>> thanks, >>> StefanK >>>> >>>> >>>> Thanks, >>>> Sergueri >>>> >>>> >>>> On 2/1/13 12:13 AM, Stefan Karlsson wrote: >>>>> http://cr.openjdk.java.net/~stefank/8006506/webrev.03/ >>>>> >>>>> 1) Reverted the ProblemList change, since the fix has already >>>>> propagaged to jdk8/tl >>>>> 2) Renamed do_redefine -> doRedefine >>>>> 3) Updated the .sh file with the bug number of the original CR >>>>> instead of the test CR. >>>>> >>>>> thanks, >>>>> StefanK >>>>> >>>>> On 2013-01-22 14:11, Stefan Karlsson wrote: >>>>>> http://cr.openjdk.java.net/~stefank/8006506/webrev.00/ >>>>>> >>>>>> This test provokes the JVM crash described in bug: JDK-7174978. >>>>>> >>>>>> I intend to push this to: >>>>>> http://hg.openjdk.java.net/jdk8/tl/jdk >>>>>> >>>>>> thanks, >>>>>> StefanK >>>>>> >>>>>> >>>>> >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130201/34cf1ec7/attachment.html From serguei.spitsyn at oracle.com Fri Feb 1 03:39:17 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Fri, 01 Feb 2013 03:39:17 -0800 Subject: Review Request: 8006506: Add test for redefining methods in backtraces to java/lang/instrument tests In-Reply-To: <510BA694.4000007@oracle.com> References: <50FE901F.4050806@oracle.com> <510B7927.9090008@oracle.com> <510B893C.8030407@oracle.com> <510B9179.5080809@oracle.com> <510BA2C4.6040802@oracle.com> <510BA43F.5070008@oracle.com> <510BA694.4000007@oracle.com> Message-ID: <510BA965.9010806@oracle.com> Stefan, Thank you for adding comments! Thanks, Serguei On 2/1/13 3:27 AM, Stefan Karlsson wrote: > On 2013-02-01 12:17, Stefan Karlsson wrote: >> On 2013-02-01 12:11, serguei.spitsyn at oracle.com wrote: >>> On 2/1/13 1:57 AM, Stefan Karlsson wrote: >>>> On 2013-02-01 10:22, serguei.spitsyn at oracle.com wrote: >>>>> Nice test! >>>>> It looks good. >>>> Thanks for reviewing! >>>>> >>>>> As the original bug and the test are non-trivial, it'd make sense >>>>> to add a comment to >>>>> the class RedefineMethodInBacktraceApp and explain a little bit >>>>> what the test is doing, >>>>> and what behavior is expected. >>>> http://cr.openjdk.java.net/~stefank/8006506/webrev.04/ >>>> >>>> Tell me if you think this is good enough. >>> >>> It is good. >>> >>> Nit: it'd be enough if it is more specific. :) >>> This method is a key point: >>> 90 private static void touchRedefinedMethodInBacktrace(Throwable throwable) { >>> 91 throwable.getStackTrace(); >>> 92 } >>> Is it true that the test expects the getStackTrace() does not crash nor >>> throw an exception which would happen if the old/obsolete method is >>> gc'ed? >> >> I see. I'll add a comment that we shouldn't crash. > > http://cr.openjdk.java.net/~stefank/8006506/webrev.05/ > > StefanK > >> >> Thanks, >> StefanK >>> >>> >>> Thanks, >>> Serguei >>> >>> >>>> >>>> thanks, >>>> StefanK >>>>> >>>>> >>>>> Thanks, >>>>> Sergueri >>>>> >>>>> >>>>> On 2/1/13 12:13 AM, Stefan Karlsson wrote: >>>>>> http://cr.openjdk.java.net/~stefank/8006506/webrev.03/ >>>>>> >>>>>> 1) Reverted the ProblemList change, since the fix has already >>>>>> propagaged to jdk8/tl >>>>>> 2) Renamed do_redefine -> doRedefine >>>>>> 3) Updated the .sh file with the bug number of the original CR >>>>>> instead of the test CR. >>>>>> >>>>>> thanks, >>>>>> StefanK >>>>>> >>>>>> On 2013-01-22 14:11, Stefan Karlsson wrote: >>>>>>> http://cr.openjdk.java.net/~stefank/8006506/webrev.00/ >>>>>>> >>>>>>> This test provokes the JVM crash described in bug: JDK-7174978. >>>>>>> >>>>>>> I intend to push this to: >>>>>>> http://hg.openjdk.java.net/jdk8/tl/jdk >>>>>>> >>>>>>> thanks, >>>>>>> StefanK >>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130201/c59396aa/attachment-0001.html From david.holmes at oracle.com Fri Feb 1 03:48:15 2013 From: david.holmes at oracle.com (David Holmes) Date: Fri, 01 Feb 2013 21:48:15 +1000 Subject: Review Request: 8006506: Add test for redefining methods in backtraces to java/lang/instrument tests In-Reply-To: <510BA694.4000007@oracle.com> References: <50FE901F.4050806@oracle.com> <510B7927.9090008@oracle.com> <510B893C.8030407@oracle.com> <510B9179.5080809@oracle.com> <510BA2C4.6040802@oracle.com> <510BA43F.5070008@oracle.com> <510BA694.4000007@oracle.com> Message-ID: <510BAB7F.4010609@oracle.com> Hi Stefan, This part of the test: 86 private static void doClassUnloading() { 87 // This will clean out old, unused redefined methods. 88 System.gc(); 89 } seems to make assumptions about System.gc() and class unloading. Are we relying on knowledge of hotspot internals here? I don't have a good suggestion to avoid this. This topic came up on another thread today regarding weak references. For that case we can typically add a loop and sleep until we see the reference clear, but here ... how can you check that class unloading occurred? Actually is that really what is happening - I don't see how any class unloading will occur here. I can imagine that GC might cleanup unreferenced methods. David On 1/02/2013 9:27 PM, Stefan Karlsson wrote: > On 2013-02-01 12:17, Stefan Karlsson wrote: >> On 2013-02-01 12:11, serguei.spitsyn at oracle.com wrote: >>> On 2/1/13 1:57 AM, Stefan Karlsson wrote: >>>> On 2013-02-01 10:22, serguei.spitsyn at oracle.com wrote: >>>>> Nice test! >>>>> It looks good. >>>> Thanks for reviewing! >>>>> >>>>> As the original bug and the test are non-trivial, it'd make sense >>>>> to add a comment to >>>>> the class RedefineMethodInBacktraceApp and explain a little bit >>>>> what the test is doing, >>>>> and what behavior is expected. >>>> http://cr.openjdk.java.net/~stefank/8006506/webrev.04/ >>>> >>>> Tell me if you think this is good enough. >>> >>> It is good. >>> >>> Nit: it'd be enough if it is more specific. :) >>> This method is a key point: >>> 90 private static void touchRedefinedMethodInBacktrace(Throwable throwable) { >>> 91 throwable.getStackTrace(); >>> 92 } >>> Is it true that the test expects the getStackTrace() does not crash nor >>> throw an exception which would happen if the old/obsolete method is >>> gc'ed? >> >> I see. I'll add a comment that we shouldn't crash. > > http://cr.openjdk.java.net/~stefank/8006506/webrev.05/ > > StefanK > >> >> Thanks, >> StefanK >>> >>> >>> Thanks, >>> Serguei >>> >>> >>>> >>>> thanks, >>>> StefanK >>>>> >>>>> >>>>> Thanks, >>>>> Sergueri >>>>> >>>>> >>>>> On 2/1/13 12:13 AM, Stefan Karlsson wrote: >>>>>> http://cr.openjdk.java.net/~stefank/8006506/webrev.03/ >>>>>> >>>>>> 1) Reverted the ProblemList change, since the fix has already >>>>>> propagaged to jdk8/tl >>>>>> 2) Renamed do_redefine -> doRedefine >>>>>> 3) Updated the .sh file with the bug number of the original CR >>>>>> instead of the test CR. >>>>>> >>>>>> thanks, >>>>>> StefanK >>>>>> >>>>>> On 2013-01-22 14:11, Stefan Karlsson wrote: >>>>>>> http://cr.openjdk.java.net/~stefank/8006506/webrev.00/ >>>>>>> >>>>>>> This test provokes the JVM crash described in bug: JDK-7174978. >>>>>>> >>>>>>> I intend to push this to: >>>>>>> http://hg.openjdk.java.net/jdk8/tl/jdk >>>>>>> >>>>>>> thanks, >>>>>>> StefanK >>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> > From stefan.karlsson at oracle.com Fri Feb 1 04:11:27 2013 From: stefan.karlsson at oracle.com (Stefan Karlsson) Date: Fri, 01 Feb 2013 13:11:27 +0100 Subject: Review Request: 8006506: Add test for redefining methods in backtraces to java/lang/instrument tests In-Reply-To: <510BAB7F.4010609@oracle.com> References: <50FE901F.4050806@oracle.com> <510B7927.9090008@oracle.com> <510B893C.8030407@oracle.com> <510B9179.5080809@oracle.com> <510BA2C4.6040802@oracle.com> <510BA43F.5070008@oracle.com> <510BA694.4000007@oracle.com> <510BAB7F.4010609@oracle.com> Message-ID: <510BB0EF.7090601@oracle.com> On 2013-02-01 12:48, David Holmes wrote: > Hi Stefan, > > This part of the test: > > 86 private static void doClassUnloading() { > 87 // This will clean out old, unused redefined methods. > 88 System.gc(); > 89 } > > seems to make assumptions about System.gc() and class unloading. Are > we relying on knowledge of hotspot internals here? Yes, we do. This is a regression test trying to provoke one very specific bug in HotSpot, so I figured that would be OK. I don't know any JVM agnostic way to do this. > > I don't have a good suggestion to avoid this. This topic came up on > another thread today regarding weak references. For that case we can > typically add a loop and sleep until we see the reference clear, but > here ... how can you check that class unloading occurred? Actually is > that really what is happening - I don't see how any class unloading > will occur here. I can imagine that GC might cleanup unreferenced > methods. I guess the name is not strictly correct, but we do the cleanup from the do_unloading code: ClassLoaderData::free_deallocate_list() ClassLoaderDataGraph::do_unloading SystemDictionary::do_unloading StefanK > > David > > On 1/02/2013 9:27 PM, Stefan Karlsson wrote: >> On 2013-02-01 12:17, Stefan Karlsson wrote: >>> On 2013-02-01 12:11, serguei.spitsyn at oracle.com wrote: >>>> On 2/1/13 1:57 AM, Stefan Karlsson wrote: >>>>> On 2013-02-01 10:22, serguei.spitsyn at oracle.com wrote: >>>>>> Nice test! >>>>>> It looks good. >>>>> Thanks for reviewing! >>>>>> >>>>>> As the original bug and the test are non-trivial, it'd make sense >>>>>> to add a comment to >>>>>> the class RedefineMethodInBacktraceApp and explain a little bit >>>>>> what the test is doing, >>>>>> and what behavior is expected. >>>>> http://cr.openjdk.java.net/~stefank/8006506/webrev.04/ >>>>> >>>>> Tell me if you think this is good enough. >>>> >>>> It is good. >>>> >>>> Nit: it'd be enough if it is more specific. :) >>>> This method is a key point: >>>> 90 private static void >>>> touchRedefinedMethodInBacktrace(Throwable throwable) { >>>> 91 throwable.getStackTrace(); >>>> 92 } >>>> Is it true that the test expects the getStackTrace() does not crash >>>> nor >>>> throw an exception which would happen if the old/obsolete method is >>>> gc'ed? >>> >>> I see. I'll add a comment that we shouldn't crash. >> >> http://cr.openjdk.java.net/~stefank/8006506/webrev.05/ >> >> StefanK >> >>> >>> Thanks, >>> StefanK >>>> >>>> >>>> Thanks, >>>> Serguei >>>> >>>> >>>>> >>>>> thanks, >>>>> StefanK >>>>>> >>>>>> >>>>>> Thanks, >>>>>> Sergueri >>>>>> >>>>>> >>>>>> On 2/1/13 12:13 AM, Stefan Karlsson wrote: >>>>>>> http://cr.openjdk.java.net/~stefank/8006506/webrev.03/ >>>>>>> >>>>>>> 1) Reverted the ProblemList change, since the fix has already >>>>>>> propagaged to jdk8/tl >>>>>>> 2) Renamed do_redefine -> doRedefine >>>>>>> 3) Updated the .sh file with the bug number of the original CR >>>>>>> instead of the test CR. >>>>>>> >>>>>>> thanks, >>>>>>> StefanK >>>>>>> >>>>>>> On 2013-01-22 14:11, Stefan Karlsson wrote: >>>>>>>> http://cr.openjdk.java.net/~stefank/8006506/webrev.00/ >>>>>>>> >>>>>>>> This test provokes the JVM crash described in bug: JDK-7174978. >>>>>>>> >>>>>>>> I intend to push this to: >>>>>>>> http://hg.openjdk.java.net/jdk8/tl/jdk >>>>>>>> >>>>>>>> thanks, >>>>>>>> StefanK >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> From yekaterina.kantserova at oracle.com Fri Feb 1 04:12:28 2013 From: yekaterina.kantserova at oracle.com (Yekaterina Kantserova) Date: Fri, 01 Feb 2013 13:12:28 +0100 Subject: RFR (S) 8007142: Add utility classes for writing better multiprocess tests in jtreg Message-ID: <510BB12C.2030802@oracle.com> Hi everyone, Here comes a http://cr.openjdk.java.net/~ykantser/8007142/webrev.01/ with following fixes compared to .00: * new line is added at the end of** the StreamPumper.java * is changed to {@code in the StreamPumper.java * JDKToolFinder.java will use the system property "java.home" instead of "test.jdk" (thus -compilejdk problem is solved) @Max Yes, the library can launch a Java process, wait for it to finish, and collect all the output (stdout and stderr). There is no client/server solution yet, but as soon as we have testlibrary a lot of good utility classes can be put there. This solution's use case is writing simple tests in jtreg without using shell scripts. JcmdBase.java is an example of how it works. class MyTest extends JcmdBase { ... public void verify() { OutputAnalyzer output = jcmd("VM.version"); output.shouldContain("Java HotSpot"); } ... } As I've mentioned before it's almost a copy of http://cr.openjdk.java.net/~ctornqvi/webrev/8006413/webrev.03/ which has been reviewed and approved and on the way in into hotspot/test. Thanks, Katja -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130201/7b2e0a0b/attachment.html From Alan.Bateman at oracle.com Fri Feb 1 04:32:12 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 01 Feb 2013 12:32:12 +0000 Subject: RFR (S) 8007142: Add utility classes for writing better multiprocess tests in jtreg In-Reply-To: <510BB12C.2030802@oracle.com> References: <510BB12C.2030802@oracle.com> Message-ID: <510BB5CC.6050604@oracle.com> On 01/02/2013 12:12, Yekaterina Kantserova wrote: > Hi everyone, > > Here comes a http://cr.openjdk.java.net/~ykantser/8007142/webrev.01/ > with following fixes compared to .00: > > * new line is added at the end of the StreamPumper.java > * is changed to {@code in the StreamPumper.java > * JDKToolFinder.java will use the system property "java.home" instead > of "test.jdk" (thus -compilejdk problem is solved) I see you've changed the package to jdk.testlibrary - thanks for doing that. On JDKToolFinder and finding the path to jcmd or other tools used by the test then it really depends what you are testing. What you have is fine when testing a JDK but it's not going to work when testing a JRE (runtime only, no tools). When testing a runtime then jtreg needs to invoked the -jdk and -compilejdk options (the latter being the JDK to use to compile the tests). So I think the right answer for JDKToolFinder is to use "compile.jdk". That will work when testing a JDK too as "compile.jdk" and "test.jdk" are set to the same value for that case. -Alan -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130201/f592e194/attachment.html From yekaterina.kantserova at oracle.com Fri Feb 1 05:32:16 2013 From: yekaterina.kantserova at oracle.com (Yekaterina Kantserova) Date: Fri, 01 Feb 2013 14:32:16 +0100 Subject: RFR (S) 8007142: Add utility classes for writing better multiprocess tests in jtreg In-Reply-To: <510BB5CC.6050604@oracle.com> References: <510BB12C.2030802@oracle.com> <510BB5CC.6050604@oracle.com> Message-ID: <510BC3E0.6020107@oracle.com> On 02/01/2013 01:32 PM, Alan Bateman wrote: > On 01/02/2013 12:12, Yekaterina Kantserova wrote: >> Hi everyone, >> >> Here comes a http://cr.openjdk.java.net/~ykantser/8007142/webrev.01/ >> with following fixes compared to .00: >> >> * new line is added at the end of the StreamPumper.java >> * is changed to {@code in the StreamPumper.java >> * JDKToolFinder.java will use the system property "java.home" instead >> of "test.jdk" (thus -compilejdk problem is solved) > I see you've changed the package to jdk.testlibrary - thanks for doing > that. > Ops, I've forgotten to mention it. Thanks for pointing on it. > On JDKToolFinder and finding the path to jcmd or other tools used by > the test then it really depends what you are testing. What you have is > fine when testing a JDK but it's not going to work when testing a JRE > (runtime only, no tools). When testing a runtime then jtreg needs to > invoked the -jdk and -compilejdk options (the latter being the JDK to > use to compile the tests). So I think the right answer for > JDKToolFinder is to use "compile.jdk". That will work when testing a > JDK too as "compile.jdk" and "test.jdk" are set to the same value for > that case. I've done some testing before I've changed JDKToolFinder. Bellow are 2 cases: 1) *compile.jdk != test.jdk* ./build/linux-amd64/j2sdk-image/bin/java -jar jtreg.jar -compilejdk /localhome/java/jdk1.7.0_09 test.java test.jdk=../build/linux-amd64/j2sdk-image/jre compile.jdk=/localhome/java/jdk1.7.0_09 java.home=../build/linux-amd64/j2sdk-image/jre 2) *compile.jdk == test.jdk* ./build/linux-amd64/j2sdk-image/bin/java -jar jtreg.jar -jdk|-testjdk /localhome/java/jdk1.7.0_09 test.java test.jdk /localhome/java/jdk1.7.0_09 compile.jdk /localhome/java/jdk1.7.0_09 java.home /localhome/java/jdk1.7.0_09/jre It seems like test.jdk is always equal to java.home (besides /jre part). Are there some rules how -jdk and -compilejdk should be used? > > -Alan Thanks, Katja -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130201/c4d483e3/attachment-0001.html From Alan.Bateman at oracle.com Fri Feb 1 06:20:11 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 01 Feb 2013 14:20:11 +0000 Subject: RFR (S) 8007142: Add utility classes for writing better multiprocess tests in jtreg In-Reply-To: <510BC3E0.6020107@oracle.com> References: <510BB12C.2030802@oracle.com> <510BB5CC.6050604@oracle.com> <510BC3E0.6020107@oracle.com> Message-ID: <510BCF1B.3010704@oracle.com> On 01/02/2013 13:32, Yekaterina Kantserova wrote: > > I've done some testing before I've changed JDKToolFinder. Bellow are 2 > cases: > > 1) *compile.jdk != test.jdk* > ./build/linux-amd64/j2sdk-image/bin/java -jar jtreg.jar -compilejdk > /localhome/java/jdk1.7.0_09 test.java > > test.jdk=../build/linux-amd64/j2sdk-image/jre > compile.jdk=/localhome/java/jdk1.7.0_09 > java.home=../build/linux-amd64/j2sdk-image/jre > > 2) *compile.jdk == test.jdk* > ./build/linux-amd64/j2sdk-image/bin/java -jar jtreg.jar -jdk|-testjdk > /localhome/java/jdk1.7.0_09 test.java > > test.jdk /localhome/java/jdk1.7.0_09 > compile.jdk /localhome/java/jdk1.7.0_09 > java.home /localhome/java/jdk1.7.0_09/jre > > It seems like test.jdk is always equal to java.home (besides /jre > part). Are there some rules how -jdk and -compilejdk should be used? Normally you specify the JDK/JRE to test via the -jdk option. When you only specify -jdk then you will see that test.jdk and compile.jdk have the same value. When testing a JRE then you need to specify both -jdk and -compilejdk, the latter being the JDK to use to compile the tests. In that scenario you will see that test.jdk and compile.jdk are different (as expected). -Alan. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130201/c410ae63/attachment.html From coleen.phillimore at oracle.com Fri Feb 1 06:33:36 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Fri, 01 Feb 2013 09:33:36 -0500 Subject: Review Request: 7140852: Add test for 7022100 In-Reply-To: <510B73A8.70401@oracle.com> References: <50FEA4B6.90507@oracle.com> <510AFAFC.2010808@oracle.com> <510B73A8.70401@oracle.com> Message-ID: <510BD240.2040909@oracle.com> Thank you for doing this. It looks good! Coleen On 2/1/2013 2:50 AM, Stefan Karlsson wrote: > On 2013-02-01 00:15, Coleen Phillimore wrote: >> >> Stefan, >> >> I just read through this test and it looks like a good test to me >> (but I'm not an expert and it took a while to figure out how it >> worked). I had two questions. Why does the same definition for >> @interface ParameterAnnotation {} appear in both >> RedefineMethodWithAnnotationTarget*.java files? Can't it be in it's >> own file and just once? Or is it different (didn't see any >> differences). > I've moved it to its own file now and added the needed extra > infrastructure to get test to work with that. > >> >> Also is do_redefine supposed to be doRedefine as per Java coding >> convention or is that a known variation? > > Fixed. It was the name used in the test that I copied the code from. > > http://cr.openjdk.java.net/~stefank/7140852/webrev.01/ > > thanks, > StefanK >> >> Thanks, >> Coleen >> >> On 01/22/2013 09:39 AM, Stefan Karlsson wrote: >>> http://cr.openjdk.java.net/~stefank/7140852/webrev.00/ >>> >>> This test provoked the bug in: >>> 7022100: Method annotations are incorrectly set when redefining classes >>> >>> thanks, >>> StefanK >> > From coleen.phillimore at oracle.com Fri Feb 1 06:35:00 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Fri, 01 Feb 2013 09:35:00 -0500 Subject: Review Request: 8006506: Add test for redefining methods in backtraces to java/lang/instrument tests In-Reply-To: <510B7927.9090008@oracle.com> References: <50FE901F.4050806@oracle.com> <510B7927.9090008@oracle.com> Message-ID: <510BD294.6040601@oracle.com> Looks good! Coleen On 2/1/2013 3:13 AM, Stefan Karlsson wrote: > http://cr.openjdk.java.net/~stefank/8006506/webrev.03/ > > 1) Reverted the ProblemList change, since the fix has already > propagaged to jdk8/tl > 2) Renamed do_redefine -> doRedefine > 3) Updated the .sh file with the bug number of the original CR instead > of the test CR. > > thanks, > StefanK > > On 2013-01-22 14:11, Stefan Karlsson wrote: >> http://cr.openjdk.java.net/~stefank/8006506/webrev.00/ >> >> This test provokes the JVM crash described in bug: JDK-7174978. >> >> I intend to push this to: >> http://hg.openjdk.java.net/jdk8/tl/jdk >> >> thanks, >> StefanK >> >> > From yekaterina.kantserova at oracle.com Fri Feb 1 07:06:23 2013 From: yekaterina.kantserova at oracle.com (Yekaterina Kantserova) Date: Fri, 01 Feb 2013 16:06:23 +0100 Subject: RFR (S) 8007142: Add utility classes for writing better multiprocess tests in jtreg In-Reply-To: <510BCF1B.3010704@oracle.com> References: <510BB12C.2030802@oracle.com> <510BB5CC.6050604@oracle.com> <510BC3E0.6020107@oracle.com> <510BCF1B.3010704@oracle.com> Message-ID: <510BD9EF.1050202@oracle.com> On 02/01/2013 03:20 PM, Alan Bateman wrote: > On 01/02/2013 13:32, Yekaterina Kantserova wrote: >> >> I've done some testing before I've changed JDKToolFinder. Bellow are >> 2 cases: >> >> 1) *compile.jdk != test.jdk* >> ./build/linux-amd64/j2sdk-image/bin/java -jar jtreg.jar -compilejdk >> /localhome/java/jdk1.7.0_09 test.java >> >> test.jdk=../build/linux-amd64/j2sdk-image/jre >> compile.jdk=/localhome/java/jdk1.7.0_09 >> java.home=../build/linux-amd64/j2sdk-image/jre >> >> 2) *compile.jdk == test.jdk* >> ./build/linux-amd64/j2sdk-image/bin/java -jar jtreg.jar -jdk|-testjdk >> /localhome/java/jdk1.7.0_09 test.java >> >> test.jdk /localhome/java/jdk1.7.0_09 >> compile.jdk /localhome/java/jdk1.7.0_09 >> java.home /localhome/java/jdk1.7.0_09/jre >> >> It seems like test.jdk is always equal to java.home (besides /jre >> part). Are there some rules how -jdk and -compilejdk should be used? > Normally you specify the JDK/JRE to test via the -jdk option. When you > only specify -jdk then you will see that test.jdk and compile.jdk have > the same value. > > When testing a JRE then you need to specify both -jdk and -compilejdk, > the latter being the JDK to use to compile the tests. In that scenario > you will see that test.jdk and compile.jdk are different (as expected). > Thanks for explanation! But I'm still confused. In my use case I need to test /_the tool_/ I'll find with JDKToolFinder. It will work if just -jdk will be specified. But if -compilejdk happens to be specified the results of my tests will be useless. Furthermore, it would be hard to detect. Do you think there is a solution that covers all use cases? // Katja > -Alan. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130201/902af32b/attachment.html From Alan.Bateman at oracle.com Fri Feb 1 07:18:02 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 01 Feb 2013 15:18:02 +0000 Subject: RFR (S) 8007142: Add utility classes for writing better multiprocess tests in jtreg In-Reply-To: <510BD9EF.1050202@oracle.com> References: <510BB12C.2030802@oracle.com> <510BB5CC.6050604@oracle.com> <510BC3E0.6020107@oracle.com> <510BCF1B.3010704@oracle.com> <510BD9EF.1050202@oracle.com> Message-ID: <510BDCAA.1080909@oracle.com> On 01/02/2013 15:06, Yekaterina Kantserova wrote: > > Thanks for explanation! But I'm still confused. > > In my use case I need to test /_the tool_/ I'll find with > JDKToolFinder. It will work if just -jdk will be specified. But if > -compilejdk happens to be specified the results of my tests will be > useless. Furthermore, it would be hard to detect. Do you think there > is a solution that covers all use cases? I don't think it make sense to specify -compilejdk and not -jdk. Does that help? -Alan -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130201/d798eb4f/attachment.html From kumar.x.srinivasan at oracle.com Fri Feb 1 07:29:14 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Fri, 01 Feb 2013 15:29:14 +0000 Subject: hg: jdk8/tl/jdk: 8006536: [launcher] removes trailing slashes on arguments Message-ID: <20130201152946.9565E47755@hg.openjdk.java.net> Changeset: ea8f3ca83501 Author: ksrini Date: 2013-02-01 07:25 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ea8f3ca83501 8006536: [launcher] removes trailing slashes on arguments Reviewed-by: ksrini, akhil Contributed-by: jviswana at linux.vnet.ibm.com ! src/windows/bin/cmdtoargs.c ! test/tools/launcher/Arrrghs.java From jonathan.gibbons at oracle.com Fri Feb 1 08:34:22 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Fri, 01 Feb 2013 16:34:22 +0000 Subject: hg: jdk8/tl/langtools: 8007306: DPrinter: improve display of impl-class, internal tag/kind, and external tag/kind Message-ID: <20130201163425.41E2E4775A@hg.openjdk.java.net> Changeset: 8590c20af3ce Author: jjg Date: 2013-02-01 08:33 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/8590c20af3ce 8007306: DPrinter: improve display of impl-class, internal tag/kind, and external tag/kind Reviewed-by: mcimadamore ! test/tools/javac/lib/DPrinter.java From jonathan.gibbons at oracle.com Fri Feb 1 08:36:26 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Fri, 01 Feb 2013 16:36:26 +0000 Subject: hg: jdk8/tl/langtools: 8007305: DPrinter: provide better usage message Message-ID: <20130201163629.5A50D4775B@hg.openjdk.java.net> Changeset: 6df931ce1a81 Author: jjg Date: 2013-02-01 08:36 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/6df931ce1a81 8007305: DPrinter: provide better usage message Reviewed-by: mcimadamore ! test/tools/javac/lib/DPrinter.java From yumin.qi at oracle.com Fri Feb 1 09:55:25 2013 From: yumin.qi at oracle.com (Yumin Qi) Date: Fri, 01 Feb 2013 09:55:25 -0800 Subject: RFR: 8006423 SA: NullPointerException in sun.jvm.hotspot.debugger.bsd.BsdThread.getContext(BsdThread.java:67) In-Reply-To: <4ACE7799-52E8-45AF-A249-DBC92FC7997E@oracle.com> References: <4ACE7799-52E8-45AF-A249-DBC92FC7997E@oracle.com> Message-ID: <510C018D.2060104@oracle.com> Staffan, This looks good. One question is why not set it to _thread_id? is it because it is 64bit int and on other platforms 32 bits? os_bsd.cpp: 858 #ifdef __APPLE__ 859 osthread->set_thread_id(::mach_thread_self()); 860 osthread->set_unique_thread_id(locate_unique_thread_id()); 861 #else 862 osthread->set_thread_id(::pthread_self()); 863 #endif 864 osthread->set_pthread_id(::pthread_self()); I would like to remove #else part, my understanding is only SA uses _unique_thread_id. Thanks Yumin On 1/17/2013 11:48 AM, Staffan Larsen wrote: > This is a request for review of a fix for SA on OS X. > > webrev: http://cr.openjdk.java.net/~sla/8006423/webrev.00/ > bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8006423 > > The bug report contains a detailed description of the problem and the proposed solution. I have copied some of that text below. To verify the fix I have manually run jstack on OS X. > > Thanks, > /Staffan > > > > In many cases when running the SA version of JStack (or other SA tools) an NPE is thrown in BsdThread.getContext(). The underlaying cause is that SA fails to read the context of the thread in the native method getThreadIntegerRegisterSet0() (thread_get_state returns an error). > > The following is my understanding of what the cause is and a suggestion for a fix - my experience with OS X is a bit limited so I may be off on some details. > > thread_get_state() takes a thread_t as a parameter. The value of this parameter comes from SA reading the value of the OSThread._thread_id field in the Hotspot process being debugged. This value is set in HotSpot to ::mach_thread_self() which is documented as "The mach_thread_self system call returns the calling thread's thread port." > > My theory is that this "thread port" in not valid when a different process calls thread_get_state(). Instead, the other process (SA in this case) needs it's own "thread port" for the thread it wants to access. > > There is a way to list all the thread ports in a different process (or "task" as they are called in Mach) via the task_threads() function. > > So now we have the thread ports, we just need to correlate them with the C++ Thread objects in the Hotspot process. One way to do this correlation is via the stack pointer. We can get the current value of the stack pointer (rsp) in SA and look through all the Thread objects to see which one the stack pointer belongs to (by looking at Thread._stack_base and Thread._stack_size). > > Another way seems to be to use the thread_info() function with the THREAD_IDENTIFIER_INFO parameter. This gives us a struct which has a field called thread_id. The comment for this field in the thread_info.h file says "system-wide unique 64-bit thread id". The value for this thread_id is the same when called from Hotspot and when called from the debugging process (SA), so this looks like a way to do the correlation. > > This requires Hotspot to store this value in OSThread and SA to first list all the "thread ports", then find the thread_id for each one and select the right "thread port" for the thread we are looking for. > > Using a thread_id provided by the system seems more reliable than using the stack pointer for correlation. > > From christian.tornqvist at oracle.com Fri Feb 1 09:53:58 2013 From: christian.tornqvist at oracle.com (christian.tornqvist at oracle.com) Date: Fri, 01 Feb 2013 17:53:58 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8006413: Add utility classes for writing better multiprocess tests in jtreg Message-ID: <20130201175409.D97F847763@hg.openjdk.java.net> Changeset: 9be6cde7919d Author: ctornqvi Date: 2013-01-25 10:14 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg Summary: Add a few utility classes to test/testlibrary to support multi process testing in jtreg tests. Added a test case for one of the utility classes. Also reviewed by Vitaly Davidovich Reviewed-by: brutisso, dholmes, vlivanov, nloodin, mgerdin + test/testlibrary/OutputAnalyzerTest.java + test/testlibrary/com/oracle/java/testlibrary/JDKToolFinder.java + test/testlibrary/com/oracle/java/testlibrary/OutputAnalyzer.java + test/testlibrary/com/oracle/java/testlibrary/OutputBuffer.java + test/testlibrary/com/oracle/java/testlibrary/ProcessTools.java + test/testlibrary/com/oracle/java/testlibrary/StreamPumper.java From daniel.daugherty at oracle.com Fri Feb 1 11:55:50 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Fri, 01 Feb 2013 12:55:50 -0700 Subject: JVM/TI code review request (XS and M) (7182152) Message-ID: <510C1DC6.2010607@oracle.com> Greetings, I have a fix for the following JVM/TI bug: 7182152 Instrumentation hot swap test incorrect monitor count http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 https://jbs.oracle.com/bugs/browse/JDK-7182152 The fix for the bug in the product code is one line: src/share/vm/oops/klassVtable.cpp: @@ -992,18 +1020,50 @@ // RC_TRACE macro has an embedded ResourceMark RC_TRACE(0x00200000, ("itable method update: %s(%s)", new_method->name()->as_C_string(), new_method->signature()->as_C_string())); } - break; + // cannot 'break' here; see for-loop comment above. } ime++; } } } and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen already fixed the bug as part of the Perm Gen Removal (PGR) project in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR changeset. Many thanks to Coleen for her help in this bug hunt! The rest of the code in the webrevs are: - additional JVM/TI tracing code backported from Coleen's PGR changeset - additional JVM/TI tracing code added by me and forward ported to HSX-25 - a new -XX:TraceRedefineClasses=16384 flag value for finding these elusive old or obsolete methods - exposure of some printing code to the PRODUCT build so that the new tracing is available in a PRODUCT build You might be wondering why the new tracing code is exposed in a PRODUCT build. Well, it appears that more and more PRODUCT bits deployments are using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time to instrument their systems. This bug (7182152) was only intermittently reproducible in the WLS environment in which it occurred so I made the tracing available in a PRODUCT build to assist in the hunt. Raj from the WLS team has also verified that the HSX-23.6 version of fix resolves the issue in his environment. Thanks Raj! Here are the URLs for the three webrevs: http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ I have run the following test suites from the JPDA stack on the JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 specified: sdk-jdi sdk-jdi_closed sdk-jli vm-heapdump vm-hprof vm-jdb vm-jdi vm-jdwp vm-jvmti vm-sajdi The tested configs are: {Solaris-X86, WinXP} X {Client VM, Server VM} X {-Xmixed, -Xcomp} X {product, fastdebug} With the 1-liner fix in place, the new tracing code does not find any instances of this failure mode in any of the above test suites. Without the the 1-liner fix in place, the new tracing code finds one instance of this failure mode in the above test suites: test/java/lang/instrument/IsModifiableClassAgent.java There are two new tests that will be pushed to the JDK repos using a different bug ID (not yet filed): test/com/sun/jdi/RedefineAbstractClass.sh test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh There will be a separate review request for the new tests. I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 and JDK8-B75/HSX-25 versions of the fix. That testing will likely take all weekend to complete. Thanks, in advance, for any comments and/or suggestions. Dan From jonathan.gibbons at oracle.com Fri Feb 1 12:01:28 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Fri, 01 Feb 2013 20:01:28 +0000 Subject: hg: jdk8/tl/langtools: 8007344: javac may not make tree end positions and/or doc comments available to processors and listeners Message-ID: <20130201200134.8D09947773@hg.openjdk.java.net> Changeset: 0b1c88705568 Author: jjg Date: 2013-02-01 12:01 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/0b1c88705568 8007344: javac may not make tree end positions and/or doc comments available to processors and listeners Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java + test/tools/javac/api/8007344/Test.java From joe.darcy at oracle.com Fri Feb 1 13:01:38 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Fri, 01 Feb 2013 21:01:38 +0000 Subject: hg: jdk8/tl/langtools: 8001614: Include annotation type to documented supported-ness Message-ID: <20130201210141.910004777E@hg.openjdk.java.net> Changeset: 55cca2f38ee6 Author: darcy Date: 2013-02-01 13:01 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/55cca2f38ee6 8001614: Include annotation type to documented supported-ness Reviewed-by: alanb, jjg, tbell ! make/Makefile-classic ! make/build.properties + src/share/classes/jdk/Supported.java From alan.bateman at oracle.com Fri Feb 1 13:03:41 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 01 Feb 2013 21:03:41 +0000 Subject: hg: jdk8/tl/jdk: 5035569: Formatter should document that %a conversion unsupported for BigDecimal args Message-ID: <20130201210353.A3A914777F@hg.openjdk.java.net> Changeset: 5e47ee4d7196 Author: alanb Date: 2013-02-01 21:01 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5e47ee4d7196 5035569: Formatter should document that %a conversion unsupported for BigDecimal args Reviewed-by: darcy Contributed-by: brian.burkhalter at oracle.com ! src/share/classes/java/util/Formatter.java From john.coomes at oracle.com Fri Feb 1 14:03:03 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 01 Feb 2013 22:03:03 +0000 Subject: hg: hsx/hotspot-rt: 54 new changesets Message-ID: <20130201220306.4E2FB47789@hg.openjdk.java.net> Changeset: c37401e77c80 Author: mchung Date: 2012-12-28 22:20 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/c37401e77c80 8003562: Provide a CLI tool to analyze class dependencies Reviewed-by: jjg, alanb, ulfzibis, erikj ! common/bin/compare_exceptions.sh.incl Changeset: b845a2494261 Author: lana Date: 2013-01-01 12:47 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/b845a2494261 Merge Changeset: 93b9664f97ee Author: lana Date: 2013-01-10 15:49 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/93b9664f97ee Merge Changeset: 4090847a5444 Author: katleman Date: 2013-01-16 11:59 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/4090847a5444 Added tag jdk8-b73 for changeset 93b9664f97ee ! .hgtags Changeset: 77f062a41850 Author: erikj Date: 2012-12-27 20:15 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/77f062a41850 8001942: build-infra: General permission problems on Windows/cygwin Summary: Added sanity check for file permissions in configure Reviewed-by: tbell, ohair ! common/autoconf/basics.m4 ! common/autoconf/generated-configure.sh Changeset: d2c1f80118de Author: erikj Date: 2012-12-27 20:18 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/d2c1f80118de 8005540: build-infra: Improve incremental build speed on windows by caching find results Reviewed-by: ohair ! common/makefiles/IdlCompilation.gmk ! common/makefiles/JavaCompilation.gmk ! common/makefiles/MakeBase.gmk ! common/makefiles/NativeCompilation.gmk Changeset: d5f3a6f60d51 Author: erikj Date: 2012-12-27 20:55 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/d5f3a6f60d51 8005548: build-infra: Fix docs target on windows Summary: Fix path sep variable Reviewed-by: tbell ! common/makefiles/javadoc/Javadoc.gmk Changeset: ef6adbf511cc Author: erikj Date: 2012-12-28 09:51 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/ef6adbf511cc 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile Reviewed-by: ohair, tbell ! NewMakefile.gmk ! common/autoconf/Makefile.in ! common/autoconf/generated-configure.sh + common/makefiles/Jprt.gmk ! common/makefiles/Main.gmk ! common/makefiles/MakeHelpers.gmk ! common/makefiles/Makefile Changeset: 2d9bb72b4e34 Author: erikj Date: 2012-12-30 12:15 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/2d9bb72b4e34 8004490: build-infra: mac: hotspot is always built in product, regardless of --with-debug-level setting Reviewed-by: tbell ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 Changeset: abc8078e070b Author: erikj Date: 2013-01-01 14:13 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/abc8078e070b 8001895: build-infra: Make JDK_BUILD_NUMBER and MILESTONE customizable Summary: Added configure params Reviewed-by: ohair ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 ! common/autoconf/spec.gmk.in ! common/autoconf/version.numbers Changeset: 14d7ebe42c8d Author: erikj Date: 2013-01-02 11:29 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/14d7ebe42c8d 8005347: build-infra: Verify 'gnumake source' at the top level works ok Reviewed-by: tbell, ohair, dholmes ! common/autoconf/basics.m4 - common/autoconf/closed.version.numbers ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 ! common/autoconf/spec.gmk.in = common/autoconf/version-numbers < common/autoconf/version.numbers Changeset: 348a881c6da0 Author: erikj Date: 2013-01-02 15:36 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/348a881c6da0 8005355: build-infra: Java security signing (need a top-level make target). Reviewed-by: tbell, ohair ! common/autoconf/spec.gmk.in ! common/makefiles/Main.gmk Changeset: befbad2e4d87 Author: erikj Date: 2013-01-03 20:54 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/befbad2e4d87 8005635: build-infra: Support building install in jprt Reviewed-by: ohair Contributed-by: tim.bell at oracle.com, erik.joelsson at oracle.com ! common/autoconf/generated-configure.sh ! common/autoconf/spec.gmk.in ! common/bin/compare.sh ! common/bin/compare_exceptions.sh.incl ! common/makefiles/Jprt.gmk ! common/src/fixpath.c Changeset: 39194e004ade Author: erikj Date: 2013-01-04 11:31 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/39194e004ade 8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build Reviewed-by: ohair ! common/autoconf/compare.sh.in ! common/bin/compare.sh Changeset: 9263657c2756 Author: erikj Date: 2013-01-04 16:56 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/9263657c2756 8005692: build-infra: Target "all" should do the right thing Reviewed-by: tbell ! common/makefiles/Main.gmk Changeset: c874a8a27933 Author: erikj Date: 2013-01-04 17:05 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/c874a8a27933 8005597: build-infra: bridgeBuild broken for pure openjdk build Reviewed-by: tbell ! common/makefiles/Jprt.gmk Changeset: 7b9c42f14281 Author: erikj Date: 2013-01-04 17:08 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/7b9c42f14281 8005654: build-infra: Create sec-bin.zip Reviewed-by: tbell ! common/bin/compare.sh ! common/makefiles/JavaCompilation.gmk Changeset: 2597feac57c0 Author: erikj Date: 2013-01-04 22:43 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/2597feac57c0 8005723: build-infra: in new infra build, sec-windows-bin-zip and jgss-windows-*-bin.zip are missing Reviewed-by: tbell ! common/bin/compare.sh ! common/bin/compare_exceptions.sh.incl Changeset: 5cf7750c8c43 Author: ohair Date: 2013-01-04 21:04 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/5cf7750c8c43 8004229: build-infra: Umbrella for switch of default "make" to new makefiles Reviewed-by: erikj, tbell ! Makefile ! make/jprt.properties Changeset: 7a3c6ffdf1fb Author: tbell Date: 2013-01-07 14:01 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/7a3c6ffdf1fb 8005442: autogen.sh sets DATE_WHEN_GENERATED to empty string on Solaris version 11 or later Reviewed-by: ohair ! common/autoconf/autogen.sh Changeset: 64a9ebad39fe Author: katleman Date: 2013-01-08 13:14 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/64a9ebad39fe Merge - common/autoconf/closed.version.numbers - common/autoconf/version.numbers Changeset: b284980b7d9a Author: tbell Date: 2013-01-08 16:23 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/b284980b7d9a 8005794: in new infra, how do we change java -version? Summary: Added configure parameter --with-user-release-suffix Reviewed-by: ohair, tbell ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 Changeset: db3984e4eb97 Author: erikj Date: 2013-01-10 12:20 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/db3984e4eb97 8005858: build-infra: Add missed comparison of sec-windows-bin.zip and friends to compare.sh Reviewed-by: tbell, ohair ! common/bin/compare.sh Changeset: 6f8f7a5449f6 Author: erikj Date: 2013-01-11 10:46 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/6f8f7a5449f6 8005850: build-infra: Make --enable-openjdk-only really disable custom Reviewed-by: ohair, dholmes ! common/autoconf/configure.ac ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 Changeset: b66c81dfa291 Author: ohair Date: 2013-01-14 16:38 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/b66c81dfa291 8005284: build-infra: nonstandard copyright headers under common/autoconf/build-aux Reviewed-by: katleman ! common/autoconf/build-aux/autoconf-config.guess ! common/autoconf/build-aux/config.sub ! common/autoconf/build-aux/pkg.m4 Changeset: 3540aa40c868 Author: erikj Date: 2013-01-14 13:09 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/3540aa40c868 8006074: build-infra: Configure fails to find SetEnv.Cmd in microsoft sdk Reviewed-by: tbell, ohair ! common/autoconf/basics_windows.m4 ! common/autoconf/generated-configure.sh Changeset: 6e822b534678 Author: erikj Date: 2013-01-14 15:30 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/6e822b534678 8006100: build-infra: Bundle up the correct images in jprt Reviewed-by: tbell ! NewMakefile.gmk ! common/makefiles/Jprt.gmk Changeset: 52cce3326649 Author: erikj Date: 2013-01-15 09:50 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/52cce3326649 Merge Changeset: fe1c94aca5a8 Author: katleman Date: 2013-01-15 10:06 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/fe1c94aca5a8 Merge - common/autoconf/closed.version.numbers - common/autoconf/version.numbers Changeset: dc84b505b408 Author: katleman Date: 2013-01-16 22:16 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/dc84b505b408 Merge - common/autoconf/closed.version.numbers - common/autoconf/version.numbers ! common/bin/compare_exceptions.sh.incl Changeset: 50307da0149e Author: jqzuo Date: 2012-12-31 14:52 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/50307da0149e 8005583: Install build(gnumake all) failed preventing RE from doing JDK8 combo builds Reviewed-by: paulk, billyh ! make/install-rules.gmk Changeset: e5664599a127 Author: cgruszka Date: 2013-01-02 14:54 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/e5664599a127 Merge Changeset: 75634cbeab47 Author: cgruszka Date: 2013-01-04 13:11 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/75634cbeab47 Merge Changeset: 61d7e2971723 Author: cgruszka Date: 2013-01-14 14:40 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/61d7e2971723 Merge Changeset: f9163f9cb1da Author: cgruszka Date: 2013-01-23 08:50 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/f9163f9cb1da Merge Changeset: 5a5e97f9ac0a Author: erikj Date: 2013-01-18 09:58 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/5a5e97f9ac0a 8006520: build-infra: Fix sparkle-framework configure parameter Reviewed-by: tbell, ohair ! common/autoconf/generated-configure.sh ! common/makefiles/Jprt.gmk Changeset: edad83acbd46 Author: erikj Date: 2013-01-18 16:48 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/edad83acbd46 8003693: build-infra: bridgeBuild should allow for partial build (no hotspot) Reviewed-by: tbell ! common/makefiles/Jprt.gmk Changeset: c3bf62746a80 Author: tbell Date: 2013-01-23 13:30 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/c3bf62746a80 8006797: build-infra JPRT builds need JPRT_ARCHIVE_INSTALL_BUNDLE in common/makefiles/Jprt.gmk Reviewed-by: ohair ! common/makefiles/Jprt.gmk Changeset: b43aa5bd8ca5 Author: katleman Date: 2013-01-23 15:40 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/b43aa5bd8ca5 Merge Changeset: cd2fa0d0ed3d Author: katleman Date: 2013-01-24 16:48 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/cd2fa0d0ed3d Added tag jdk8-b74 for changeset b43aa5bd8ca5 ! .hgtags Changeset: 1129fb75f611 Author: jjg Date: 2013-01-10 19:36 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/1129fb75f611 8004834: Add doclint support into javadoc Reviewed-by: erikj, tbell ! common/makefiles/javadoc/Javadoc.gmk Changeset: cecfba251e4a Author: lana Date: 2013-01-16 11:58 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/cecfba251e4a Merge Changeset: 2e12a508d7ae Author: lana Date: 2013-01-20 23:35 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/2e12a508d7ae Merge - common/autoconf/closed.version.numbers - common/autoconf/version.numbers ! common/makefiles/javadoc/Javadoc.gmk Changeset: 8209c91b751d Author: sherman Date: 2013-01-22 21:02 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/8209c91b751d 8003680: JSR 310 Date/Time API Summary: Integration of JSR310 Date/Time API for M6 Reviewed-by: alanb, naoto, dholmes Contributed-by: scolebourne at joda.org, roger.riggs at oracle.com, richard.warburton at gmail.com, misterm at gmail.com ! common/makefiles/javadoc/CORE_PKGS.gmk ! make/jprt.properties ! test/Makefile Changeset: 039783b67959 Author: lana Date: 2013-01-26 18:24 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/039783b67959 Merge Changeset: e28985c549aa Author: raginip Date: 2013-01-18 11:31 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/e28985c549aa 8000839: Integrate the Java Access Bridge with Java Runtime Reviewed-by: ptbrunet, erikj ! common/bin/compare_exceptions.sh.incl Changeset: db46b1c27a93 Author: erikj Date: 2013-01-28 14:23 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/db46b1c27a93 Merge - common/autoconf/closed.version.numbers ! common/autoconf/generated-configure.sh - common/autoconf/version.numbers ! common/bin/compare_exceptions.sh.incl Changeset: 8baaaba2ee6b Author: lana Date: 2013-01-29 20:16 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/8baaaba2ee6b Merge Changeset: 0d4b0a13adb2 Author: erikj Date: 2013-01-23 11:37 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/0d4b0a13adb2 8005855: build-infra: Remove -R flag when cross compiling Reviewed-by: dholmes, tbell ! common/autoconf/generated-configure.sh ! common/autoconf/libraries.m4 Changeset: ea6379d4624f Author: erikj Date: 2013-01-23 11:41 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/ea6379d4624f 8006663: build-infra: Compare two arbitrary zip/jar files with compare.sh Reviewed-by: tbell ! common/bin/compare.sh Changeset: 0d46733cfffb Author: erikj Date: 2013-01-23 11:42 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/0d46733cfffb 8006658: build-infra: Make MILESTONE behave the same as JDK_BUILD_NUMBER Reviewed-by: ohrstrom, dholmes, tbell ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 Changeset: 9e5847257731 Author: erikj Date: 2013-01-24 09:17 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/9e5847257731 Merge Changeset: 2a713921952c Author: katleman Date: 2013-01-30 13:39 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/2a713921952c Merge ! common/autoconf/generated-configure.sh Changeset: 5b19cef637a6 Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/5b19cef637a6 Added tag jdk8-b75 for changeset 2a713921952c ! .hgtags From john.coomes at oracle.com Fri Feb 1 14:03:09 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 01 Feb 2013 22:03:09 +0000 Subject: hg: hsx/hotspot-rt/corba: 3 new changesets Message-ID: <20130201220312.BFC034778A@hg.openjdk.java.net> Changeset: 2132845cf5f7 Author: katleman Date: 2013-01-16 11:59 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/corba/rev/2132845cf5f7 Added tag jdk8-b73 for changeset 191afde59e7b ! .hgtags Changeset: d4e68ce17795 Author: katleman Date: 2013-01-24 16:48 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/corba/rev/d4e68ce17795 Added tag jdk8-b74 for changeset 2132845cf5f7 ! .hgtags Changeset: 4a6be02e66a3 Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/corba/rev/4a6be02e66a3 Added tag jdk8-b75 for changeset d4e68ce17795 ! .hgtags From john.coomes at oracle.com Fri Feb 1 14:03:18 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 01 Feb 2013 22:03:18 +0000 Subject: hg: hsx/hotspot-rt/jaxp: 11 new changesets Message-ID: <20130201220350.8F4E84778B@hg.openjdk.java.net> Changeset: cf0917c0d771 Author: katleman Date: 2013-01-16 11:59 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/cf0917c0d771 Added tag jdk8-b73 for changeset 84946404d1e1 ! .hgtags Changeset: 278a2f60c55b Author: erikj Date: 2013-01-04 11:31 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/278a2f60c55b 8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build Reviewed-by: ohair ! makefiles/BuildJaxp.gmk Changeset: 2e4d87e6662e Author: katleman Date: 2013-01-08 13:14 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/2e4d87e6662e Merge Changeset: a317d3e1bbac Author: katleman Date: 2013-01-15 10:07 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/a317d3e1bbac Merge Changeset: 2087e24a4357 Author: katleman Date: 2013-01-16 22:17 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/2087e24a4357 Merge Changeset: 69bc57b1ebdd Author: katleman Date: 2013-01-24 16:48 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/69bc57b1ebdd Added tag jdk8-b74 for changeset 2087e24a4357 ! .hgtags Changeset: 47738fa4d411 Author: dbuck Date: 2013-01-10 20:26 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/47738fa4d411 8003147: port fix for BCEL bug 39695 Summary: Added support for Local Variable Type Table so that BCEL library can be used to modify methods with generics-related debug data without violating class file format Reviewed-by: lancea ! src/com/sun/org/apache/bcel/internal/Constants.java ! src/com/sun/org/apache/bcel/internal/classfile/Attribute.java ! src/com/sun/org/apache/bcel/internal/classfile/DescendingVisitor.java ! src/com/sun/org/apache/bcel/internal/classfile/EmptyVisitor.java + src/com/sun/org/apache/bcel/internal/classfile/LocalVariableTypeTable.java ! src/com/sun/org/apache/bcel/internal/classfile/Visitor.java ! src/com/sun/org/apache/bcel/internal/generic/MethodGen.java Changeset: 06827097cdd3 Author: lana Date: 2013-01-16 12:06 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/06827097cdd3 Merge Changeset: 4e049aa2495f Author: lana Date: 2013-01-20 23:37 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/4e049aa2495f Merge Changeset: ff0b73a6b3f6 Author: lana Date: 2013-01-26 18:25 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/ff0b73a6b3f6 Merge Changeset: 8d65b381880b Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/8d65b381880b Added tag jdk8-b75 for changeset ff0b73a6b3f6 ! .hgtags From john.coomes at oracle.com Fri Feb 1 14:03:54 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 01 Feb 2013 22:03:54 +0000 Subject: hg: hsx/hotspot-rt/jaxws: 7 new changesets Message-ID: <20130201220411.3E1484778C@hg.openjdk.java.net> Changeset: 68f508979ffe Author: katleman Date: 2013-01-16 11:59 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxws/rev/68f508979ffe Added tag jdk8-b73 for changeset c606f644a5d9 ! .hgtags Changeset: 51f3117e2b75 Author: erikj Date: 2013-01-04 11:31 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxws/rev/51f3117e2b75 8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build Reviewed-by: ohair ! makefiles/BuildJaxws.gmk Changeset: dd7473082690 Author: katleman Date: 2013-01-08 13:14 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxws/rev/dd7473082690 Merge Changeset: b8fd32e44c26 Author: katleman Date: 2013-01-15 10:07 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxws/rev/b8fd32e44c26 Merge Changeset: 12db3c5a3393 Author: katleman Date: 2013-01-16 22:17 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxws/rev/12db3c5a3393 Merge Changeset: 966bf9f3c41a Author: katleman Date: 2013-01-24 16:49 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxws/rev/966bf9f3c41a Added tag jdk8-b74 for changeset 12db3c5a3393 ! .hgtags Changeset: a63ef2391c20 Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxws/rev/a63ef2391c20 Added tag jdk8-b75 for changeset 966bf9f3c41a ! .hgtags From john.coomes at oracle.com Fri Feb 1 14:07:35 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 01 Feb 2013 22:07:35 +0000 Subject: hg: hsx/hotspot-rt/jdk: 149 new changesets Message-ID: <20130201223629.ADDAB4778F@hg.openjdk.java.net> Changeset: d54922883f4c Author: alexsch Date: 2013-01-09 16:52 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/d54922883f4c 8005019: JTable passes row index instead of length when inserts selection interval Reviewed-by: serb, denis ! src/share/classes/javax/swing/JTable.java + test/javax/swing/JTable/8005019/bug8005019.java Changeset: b2c425d7e5be Author: lana Date: 2013-01-10 15:49 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/b2c425d7e5be Merge Changeset: 28b47ed08c63 Author: mchung Date: 2012-12-28 22:21 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/28b47ed08c63 8003562: Provide a CLI tool to analyze class dependencies Reviewed-by: jjg, alanb, ulfzibis, erikj ! make/common/Release.gmk ! make/docs/NON_CORE_PKGS.gmk ! make/launchers/Makefile ! make/launchers/Makefile.launcher ! makefiles/CompileLaunchers.gmk ! makefiles/CreateJars.gmk ! makefiles/Images.gmk Changeset: 3cc25d0e3bb0 Author: chegar Date: 2012-12-29 11:00 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/3cc25d0e3bb0 8005556: java/net/Socks/SocksV4Test.java is missing @run tag Reviewed-by: alanb ! test/java/net/Socks/SocksV4Test.java Changeset: 38b9a7646093 Author: lana Date: 2013-01-01 17:49 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/38b9a7646093 Merge ! makefiles/CreateJars.gmk Changeset: cc78ceb99284 Author: jgish Date: 2012-12-28 16:56 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/cc78ceb99284 8005118: Javadoc styles are inconsistent Summary: use a common javadoc style in the String classes Reviewed-by: darcy ! src/share/classes/java/lang/AbstractStringBuilder.java ! src/share/classes/java/lang/String.java ! src/share/classes/java/lang/StringBuffer.java ! src/share/classes/java/lang/StringBuilder.java ! src/share/classes/java/lang/StringIndexOutOfBoundsException.java Changeset: 21708d15553b Author: chegar Date: 2013-01-03 10:00 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/21708d15553b 8005634: tools/launcher/VersionCheck.java fails version check on jdeps Summary: add jdeps to the list of tools that do not support '-version' Reviewed-by: mchung ! test/tools/launcher/VersionCheck.java Changeset: 438d37d16417 Author: chegar Date: 2013-01-04 11:18 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/438d37d16417 8005659: Add tools/pack200/AttributeTests.java to exclude list (ProblemList.txt) until pack200 updated to support method parameters Reviewed-by: mchung, ksrini ! test/ProblemList.txt Changeset: 6d814b2f9112 Author: chegar Date: 2013-01-04 11:34 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/6d814b2f9112 8005638: Less secure Authentication schemes should work when more secure schemes are not available Reviewed-by: alanb ! src/share/classes/sun/net/www/protocol/http/AuthenticationHeader.java Changeset: 92c3b24a8e9a Author: smarks Date: 2013-01-04 16:10 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/92c3b24a8e9a 8005683: ProblemList.txt updates (01/2013) Reviewed-by: mchung, alanb Contributed-by: amy.lu at oracle.com ! test/ProblemList.txt Changeset: 0c89465b656a Author: chegar Date: 2013-01-05 17:06 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/0c89465b656a 8005709: Add at since tags to new FJP getCommonPoolParallelism and commonPool Reviewed-by: dl ! src/share/classes/java/util/concurrent/ForkJoinPool.java Changeset: 1d9638ba5202 Author: ksrini Date: 2013-01-07 09:58 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/1d9638ba5202 8004547: Extend JavaFX launcher support to allow full JavaFX launch feature set Reviewed-by: mchung, kcr, ksrini Contributed-by: david.dehaven at oracle.com ! src/share/classes/sun/launcher/LauncherHelper.java ! src/share/classes/sun/launcher/resources/launcher.properties ! test/tools/launcher/FXLauncherTest.java Changeset: dbc692ea3f0a Author: bchristi Date: 2013-01-07 13:19 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/dbc692ea3f0a 8003228: (props) sun.jnu.encoding should be set to UTF-8 [macosx] Summary: Hard-code sun.jnu.encoding to UTF-8 on Mac Reviewed-by: naoto ! src/share/native/java/lang/System.c ! src/solaris/native/java/lang/java_props_md.c + test/java/util/Properties/MacJNUEncoding/ExpectedEncoding.java + test/java/util/Properties/MacJNUEncoding/MacJNUEncoding.sh Changeset: 797e8a3dcd51 Author: smarks Date: 2013-01-07 18:09 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/797e8a3dcd51 7187882: TEST_BUG: java/rmi/activation/checkusage/CheckUsage.java fails intermittently Summary: Tighten up JavaVM test library API, and adjust tests to match. Reviewed-by: mchung, dmocek ! test/ProblemList.txt ! test/java/rmi/activation/Activatable/shutdownGracefully/ShutdownGracefully.java ! test/java/rmi/activation/checkusage/CheckUsage.java ! test/java/rmi/registry/altSecurityManager/AltSecurityManager.java ! test/java/rmi/registry/checkusage/CheckUsage.java ! test/java/rmi/registry/reexport/Reexport.java ! test/java/rmi/testlibrary/JavaVM.java ! test/java/rmi/testlibrary/RMID.java ! test/java/rmi/transport/checkFQDN/CheckFQDN.java ! test/java/rmi/transport/checkLeaseInfoLeak/CheckLeaseLeak.java ! test/sun/rmi/runtime/Log/4504153/Test4504153.java ! test/sun/rmi/runtime/Log/6409194/NoConsoleOutput.java ! test/sun/rmi/transport/tcp/DeadCachedConnection.java Changeset: 98935c514de4 Author: weijun Date: 2013-01-08 14:54 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/98935c514de4 8005447: default principal should act as anyone Reviewed-by: valeriep ! src/share/classes/sun/security/jgss/krb5/InitSecContextToken.java ! src/share/classes/sun/security/jgss/krb5/Krb5AcceptCredential.java ! src/share/classes/sun/security/jgss/krb5/Krb5Context.java ! src/share/classes/sun/security/jgss/krb5/Krb5MechFactory.java ! src/share/classes/sun/security/jgss/krb5/Krb5Util.java + src/share/classes/sun/security/jgss/krb5/ServiceCreds.java ! src/share/classes/sun/security/jgss/krb5/SubjectComber.java ! src/share/classes/sun/security/krb5/KrbApReq.java ! src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java ! src/share/classes/sun/security/ssl/krb5/Krb5ProxyImpl.java + test/sun/security/krb5/ServiceCredsCombination.java + test/sun/security/krb5/auto/AcceptPermissions.java ! test/sun/security/krb5/auto/CleanState.java ! test/sun/security/krb5/auto/Context.java + test/sun/security/krb5/auto/DiffNameSameKey.java ! test/sun/security/krb5/auto/DynamicKeytab.java ! test/sun/security/krb5/auto/KDC.java ! test/sun/security/krb5/auto/KeyTabCompat.java + test/sun/security/krb5/auto/TwoOrThree.java Changeset: d29a7ce28189 Author: dxu Date: 2013-01-08 20:37 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/d29a7ce28189 8002306: (se) Selector.open fails if invoked with thread interrupt status set [win] Reviewed-by: alanb ! src/windows/classes/sun/nio/ch/PipeImpl.java + test/java/nio/channels/Pipe/PipeInterrupt.java Changeset: 46e6a4b7ca26 Author: valeriep Date: 2013-01-07 11:11 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/46e6a4b7ca26 6996769: support AEAD cipher Summary: Added implementation for GCM mode under AES cipher Reviewed-by: weijun ! src/share/classes/com/sun/crypto/provider/AESCipher.java ! src/share/classes/com/sun/crypto/provider/CipherCore.java ! src/share/classes/com/sun/crypto/provider/CipherTextStealing.java ! src/share/classes/com/sun/crypto/provider/FeedbackCipher.java + src/share/classes/com/sun/crypto/provider/GCMParameters.java + src/share/classes/com/sun/crypto/provider/GCTR.java + src/share/classes/com/sun/crypto/provider/GHASH.java + src/share/classes/com/sun/crypto/provider/GaloisCounterMode.java ! src/share/classes/com/sun/crypto/provider/SunJCE.java ! src/share/classes/javax/crypto/Cipher.java ! src/share/classes/javax/crypto/spec/GCMParameterSpec.java ! test/com/sun/crypto/provider/Cipher/AES/Test4512524.java ! test/com/sun/crypto/provider/Cipher/AES/Test4512704.java ! test/com/sun/crypto/provider/Cipher/AES/Test4517355.java ! test/com/sun/crypto/provider/Cipher/AES/Test4626070.java + test/com/sun/crypto/provider/Cipher/AES/TestGCMKeyAndIvCheck.java + test/com/sun/crypto/provider/Cipher/AES/TestKATForGCM.java ! test/javax/crypto/Cipher/GCMAPI.java Changeset: 5333a4c8cade Author: valeriep Date: 2013-01-07 14:40 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/5333a4c8cade Merge Changeset: 3c5a62290939 Author: valeriep Date: 2013-01-08 11:55 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/3c5a62290939 8004044: Lazily instantiate SunJCE.RANDOM Summary: Replace the static initialization of SunJCE.RANDOM object w/ lazy initialization Reviewed-by: mchung ! src/share/classes/com/sun/crypto/provider/AESKeyGenerator.java ! src/share/classes/com/sun/crypto/provider/BlowfishKeyGenerator.java ! src/share/classes/com/sun/crypto/provider/CipherCore.java ! src/share/classes/com/sun/crypto/provider/DESKeyGenerator.java ! src/share/classes/com/sun/crypto/provider/DESedeKeyGenerator.java ! src/share/classes/com/sun/crypto/provider/DESedeWrapCipher.java ! src/share/classes/com/sun/crypto/provider/DHKeyPairGenerator.java ! src/share/classes/com/sun/crypto/provider/DHParameterGenerator.java ! src/share/classes/com/sun/crypto/provider/HmacMD5KeyGenerator.java ! src/share/classes/com/sun/crypto/provider/HmacPKCS12PBESHA1.java ! src/share/classes/com/sun/crypto/provider/HmacSHA1KeyGenerator.java ! src/share/classes/com/sun/crypto/provider/ISO10126Padding.java ! src/share/classes/com/sun/crypto/provider/KeyGeneratorCore.java ! src/share/classes/com/sun/crypto/provider/KeyProtector.java ! src/share/classes/com/sun/crypto/provider/PBECipherCore.java ! src/share/classes/com/sun/crypto/provider/PBES1Core.java ! src/share/classes/com/sun/crypto/provider/PBES2Core.java ! src/share/classes/com/sun/crypto/provider/PBMAC1Core.java ! src/share/classes/com/sun/crypto/provider/PKCS12PBECipherCore.java ! src/share/classes/com/sun/crypto/provider/SunJCE.java Changeset: 9b6a29cb04ac Author: valeriep Date: 2013-01-08 13:06 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/9b6a29cb04ac Merge Changeset: ac5fd681a7a2 Author: darcy Date: 2013-01-08 16:08 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/ac5fd681a7a2 8005298: Add FunctionalInterface type to the core libraries Reviewed-by: mduigou + src/share/classes/java/lang/FunctionalInterface.java Changeset: 86828e84654f Author: mullan Date: 2013-01-08 19:00 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/86828e84654f 7019834: Eliminate dependency from PolicyFile to com.sun.security.auth.PrincipalComparator Summary: Add new java.security.Principal.implies method Reviewed-by: alanb ! src/share/classes/java/security/Principal.java ! src/share/classes/sun/security/provider/PolicyFile.java ! src/share/classes/sun/security/provider/PolicyParser.java ! src/share/classes/sun/security/tools/policytool/PolicyTool.java + test/java/security/Principal/Implies.java ! test/sun/security/provider/PolicyFile/Comparator.java Changeset: bf6d0bca5ea7 Author: mullan Date: 2013-01-08 19:02 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/bf6d0bca5ea7 Merge - make/jdk/asm/Makefile - src/share/classes/sun/awt/TextureSizeConstraining.java - src/share/lib/security/java.security - test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshall.java Changeset: f0ed9ef84637 Author: mullan Date: 2013-01-09 08:59 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/f0ed9ef84637 Merge Changeset: 4c8b37f159f9 Author: mchung Date: 2013-01-09 16:58 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/4c8b37f159f9 7103957: NegativeArraySizeException while initializing class IntegerCache Reviewed-by: darcy, mchung Contributed-by: brian.burkhalter at oracle.com ! src/share/classes/java/lang/Integer.java Changeset: 4176e6cc499e Author: darcy Date: 2013-01-09 20:20 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/4176e6cc499e 8005713: Simplify library support for repeating annotations in java.lang.annotation Reviewed-by: abuckley + src/share/classes/java/lang/annotation/Repeatable.java Changeset: c622df692bfb Author: bchristi Date: 2013-01-10 10:21 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c622df692bfb 8005962: TEST_BUG: java/util/Properties/MacJNUEncoding can fail in certain environments Summary: Test script now sets LC_ALL, other small changes, relocate test Reviewed-by: naoto, alanb + test/java/lang/System/MacJNUEncoding/ExpectedEncoding.java + test/java/lang/System/MacJNUEncoding/MacJNUEncoding.sh - test/java/util/Properties/MacJNUEncoding/ExpectedEncoding.java - test/java/util/Properties/MacJNUEncoding/MacJNUEncoding.sh Changeset: 13ff1089e625 Author: jgish Date: 2013-01-10 15:09 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/13ff1089e625 8005582: java/lang/Runtime/exec/WinCommand.java intermittent test failures Summary: Remove file-deletion code at cleanup which conflicts with jtreg cleanup Reviewed-by: chegar ! test/java/lang/Runtime/exec/WinCommand.java Changeset: 3e906ccad412 Author: chegar Date: 2013-01-10 21:52 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/3e906ccad412 8006007: j.u.c.atomic classes should use intrinsic getAndXXX provided by 7023898 Reviewed-by: dl, shade ! src/share/classes/java/util/concurrent/atomic/AtomicBoolean.java ! src/share/classes/java/util/concurrent/atomic/AtomicInteger.java ! src/share/classes/java/util/concurrent/atomic/AtomicIntegerArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicLong.java ! src/share/classes/java/util/concurrent/atomic/AtomicLongArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicLongFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicReference.java ! src/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java Changeset: 733885f57e14 Author: lana Date: 2013-01-10 15:52 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/733885f57e14 Merge Changeset: 965e89e2abd3 Author: katleman Date: 2013-01-16 12:00 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/965e89e2abd3 Added tag jdk8-b73 for changeset 733885f57e14 ! .hgtags Changeset: e91caf05f441 Author: erikj Date: 2012-12-27 20:18 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e91caf05f441 8005540: build-infra: Improve incremental build speed on windows by caching find results Reviewed-by: ohair ! makefiles/BuildJdk.gmk ! makefiles/CompileDemos.gmk ! makefiles/CompileLaunchers.gmk ! makefiles/CompileNativeLibraries.gmk ! makefiles/CopyIntoClasses.gmk ! makefiles/CreateJars.gmk ! makefiles/GensrcProperties.gmk ! makefiles/GensrcX11Wrappers.gmk ! makefiles/Images.gmk ! makefiles/Tools.gmk Changeset: 368fa50469da Author: erikj Date: 2012-12-28 09:51 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/368fa50469da 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile Reviewed-by: ohair, tbell ! makefiles/BuildJdk.gmk Changeset: 461b069100fa Author: erikj Date: 2013-01-02 15:35 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/461b069100fa 8005355: build-infra: Java security signing (need a top-level make target). Reviewed-by: tbell, ohair ! makefiles/BuildJdk.gmk ! makefiles/CompileJavaClasses.gmk ! makefiles/CreateJars.gmk + makefiles/SignJars.gmk Changeset: 3841da683703 Author: erikj Date: 2013-01-03 20:55 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/3841da683703 8005635: build-infra: Support building install in jprt Reviewed-by: ohair Contributed-by: tim.bell at oracle.com, erik.joelsson at oracle.com ! make/common/shared/Defs-windows.gmk ! makefiles/BuildJdk.gmk ! makefiles/Bundles.gmk ! makefiles/Images.gmk ! makefiles/Tools.gmk Changeset: a8d25b689563 Author: erikj Date: 2013-01-04 16:54 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/a8d25b689563 8005694: build-infra: Cleanup of misc changes in build-infra Reviewed-by: tbell ! makefiles/CompileJavaClasses.gmk ! makefiles/CompileNativeLibraries.gmk ! makefiles/CreateJars.gmk Changeset: 3824d8469dcf Author: erikj Date: 2013-01-04 17:09 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/3824d8469dcf 8005654: build-infra: Create sec-bin.zip Reviewed-by: tbell ! makefiles/CreateJars.gmk Changeset: d98e73b7bc78 Author: erikj Date: 2013-01-04 22:43 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/d98e73b7bc78 8005723: build-infra: in new infra build, sec-windows-bin-zip and jgss-windows-*-bin.zip are missing Reviewed-by: tbell ! makefiles/CreateJars.gmk Changeset: 244e481f538b Author: katleman Date: 2013-01-08 13:15 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/244e481f538b Merge ! makefiles/CreateJars.gmk Changeset: 1868bde529b8 Author: ohrstrom Date: 2013-01-09 13:33 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/1868bde529b8 8005096: Move a few source files in swing/beaninfo and in a demo. Reviewed-by: ohair, erikj, malenkov ! make/javax/swing/beaninfo/SwingBeans.gmk - make/tools/swing-beans/beaninfo/BeanInfoUtils.java - make/tools/swing-beans/beaninfo/SwingBeanInfoBase.java + make/tools/swing-beans/javax/swing/SwingBeanInfoBase.java + make/tools/swing-beans/sun/swing/BeanInfoUtils.java ! makefiles/CompileJavaClasses.gmk ! makefiles/GensrcSwing.gmk - src/share/demo/jfc/CodePointIM/CodePointInputMethod.java - src/share/demo/jfc/CodePointIM/CodePointInputMethodDescriptor.java + src/share/demo/jfc/CodePointIM/com/sun/inputmethods/internal/codepointim/CodePointInputMethod.java + src/share/demo/jfc/CodePointIM/com/sun/inputmethods/internal/codepointim/CodePointInputMethodDescriptor.java Changeset: 2cc29d0b9eaf Author: erikj Date: 2013-01-09 16:13 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/2cc29d0b9eaf 8005903: build-infra: bad symlink: j2sdk-bundle/jdk1.8.0.jdk/Contents/MacOS/libjli.dylib Reviewed-by: tbell ! makefiles/Bundles.gmk Changeset: f92ab6dbbff8 Author: erikj Date: 2013-01-10 12:23 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/f92ab6dbbff8 8005856: build-infra: Remove special handling of base module classes header generation Reviewed-by: alanb, tbell, ohair Contributed-by: fredrik.ohrstrom at oracle.com ! makefiles/CompileJavaClasses.gmk ! src/share/classes/java/io/FileSystem.java ! src/share/classes/java/lang/Integer.java ! src/share/classes/java/lang/Long.java ! src/share/classes/java/net/SocketOptions.java ! src/share/classes/sun/nio/ch/IOStatus.java ! src/windows/classes/sun/nio/ch/PollArrayWrapper.java Changeset: 4d80ab394efa Author: erikj Date: 2013-01-15 16:50 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/4d80ab394efa 8006296: build-infra: Unsigned sunmscapi.jar is missing manifest. Reviewed-by: alanb, tbell ! makefiles/CreateJars.gmk Changeset: 6d1a3d43851d Author: katleman Date: 2013-01-15 10:08 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/6d1a3d43851d Merge - make/tools/swing-beans/beaninfo/BeanInfoUtils.java - make/tools/swing-beans/beaninfo/SwingBeanInfoBase.java - src/share/demo/jfc/CodePointIM/CodePointInputMethod.java - src/share/demo/jfc/CodePointIM/CodePointInputMethodDescriptor.java Changeset: 3eef1e0540c4 Author: erikj Date: 2013-01-16 16:40 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/3eef1e0540c4 8006385: build-infra: linux and solaris *-debuginfo-*.zip file created from the new makefile has extra HUDSON direcotry in jre/lib/i386/server Reviewed-by: tbell ! makefiles/Import.gmk Changeset: 54bbeb149525 Author: katleman Date: 2013-01-16 22:21 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/54bbeb149525 Merge - make/tools/swing-beans/beaninfo/BeanInfoUtils.java - make/tools/swing-beans/beaninfo/SwingBeanInfoBase.java ! makefiles/CompileLaunchers.gmk ! makefiles/CreateJars.gmk ! makefiles/Images.gmk ! src/share/classes/java/lang/Integer.java - src/share/demo/jfc/CodePointIM/CodePointInputMethod.java - src/share/demo/jfc/CodePointIM/CodePointInputMethodDescriptor.java Changeset: 6d849e883c40 Author: yhuang Date: 2013-01-13 18:45 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/6d849e883c40 7114053: [sq] Inproper tanslation for iso lanugage of Albanian Reviewed-by: naoto ! src/share/classes/sun/util/resources/sq/LocaleNames_sq.properties ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: 2de23975ee10 Author: yhuang Date: 2013-01-15 19:08 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/2de23975ee10 Merge Changeset: 68fc838d5e89 Author: yhuang Date: 2013-01-16 19:05 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/68fc838d5e89 Merge Changeset: 595baf3cc781 Author: yhuang Date: 2013-01-16 23:08 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/595baf3cc781 Merge Changeset: 478d8354285a Author: erikj Date: 2013-01-18 16:44 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/478d8354285a 8006567: jre/lib/applet missing from Mac JDK installation Reviewed-by: tbell ! makefiles/Bundles.gmk Changeset: 92d8880d5406 Author: erikj Date: 2013-01-21 11:42 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/92d8880d5406 8006583: build-infra: Remove /javax/swing/SwingBeanInfoBase.java from src.zip Reviewed-by: tbell ! makefiles/GensrcSwing.gmk Changeset: a9839ed93340 Author: erikj Date: 2013-01-21 11:42 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/a9839ed93340 Merge Changeset: 506bf3d23f06 Author: erikj Date: 2013-01-21 14:58 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/506bf3d23f06 8006579: build-infra: In jvm.cfg, alias -server to -client when no server jvm is built. Reviewed-by: tbell ! makefiles/CopyFiles.gmk Changeset: 57d5d9544628 Author: erikj Date: 2013-01-22 09:01 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/57d5d9544628 8004151: build-infra: Generating X11 wrapper offset file is not cross compilable Reviewed-by: dholmes, ohrstrom ! makefiles/GensrcX11Wrappers.gmk + src/solaris/classes/sun/awt/X11/generator/sizes.32 + src/solaris/classes/sun/awt/X11/generator/sizes.64 Changeset: ef592aceb40e Author: katleman Date: 2013-01-24 16:49 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/ef592aceb40e Added tag jdk8-b74 for changeset 57d5d9544628 ! .hgtags Changeset: c6e8a518c3cd Author: jjg Date: 2013-01-10 19:36 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c6e8a518c3cd 8004834: Add doclint support into javadoc Reviewed-by: erikj, tbell ! make/docs/Makefile Changeset: c9308137ad9e Author: jjg Date: 2013-01-10 19:37 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c9308137ad9e Merge - test/java/util/Properties/MacJNUEncoding/ExpectedEncoding.java - test/java/util/Properties/MacJNUEncoding/MacJNUEncoding.sh Changeset: 86c563dc70ca Author: darcy Date: 2013-01-10 21:12 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/86c563dc70ca 8006062: Add @Repeatable to repeating annotations regression tests in JDK repo Reviewed-by: jjg ! test/java/lang/annotation/repeatingAnnotations/subpackage/Containee.java ! test/java/lang/annotation/repeatingAnnotations/subpackage/InheritedContainee.java Changeset: 0ca2e39a110d Author: alanb Date: 2013-01-11 12:27 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/0ca2e39a110d 8005566: (fs) test/java/nio/file/Files/Misc.java failing (sol) Reviewed-by: chegar ! src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java ! test/java/nio/file/Files/Misc.java Changeset: 7da291690aa0 Author: alanb Date: 2013-01-11 20:19 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/7da291690aa0 8005978: shell tests need to use the $COMPILEJDK for javac, jar and other tools Reviewed-by: chegar ! test/ProblemList.txt ! test/com/sun/management/HotSpotDiagnosticMXBean/DumpHeap.sh ! test/com/sun/management/UnixOperatingSystemMXBean/GetMaxFileDescriptorCount.sh ! test/com/sun/management/UnixOperatingSystemMXBean/GetOpenFileDescriptorCount.sh ! test/java/io/FileOutputStream/FileOpen.sh ! test/java/io/Serializable/class/run.sh ! test/java/io/Serializable/evolution/RenamePackage/run.sh ! test/java/io/Serializable/maskSyntheticModifier/run.sh ! test/java/io/Serializable/packageAccess/run.sh ! test/java/io/Serializable/resolveClass/consTest/run.sh ! test/java/io/Serializable/resolveClass/deserializeButton/run.sh ! test/java/io/Serializable/superclassDataLoss/run.sh ! test/java/io/Serializable/unnamedPackageSwitch/run.sh ! test/java/lang/Class/getEnclosingClass/build.sh ! test/java/lang/ClassLoader/Assert.sh ! test/java/lang/ClassLoader/deadlock/TestCrossDelegate.sh ! test/java/lang/ClassLoader/deadlock/TestOneWayDelegate.sh ! test/java/lang/System/MacJNUEncoding/MacJNUEncoding.sh ! test/java/lang/Thread/UncaughtExceptions.sh ! test/java/lang/annotation/loaderLeak/LoaderLeak.sh ! test/java/lang/instrument/AppendToBootstrapClassPathSetUp.sh ! test/java/lang/instrument/AppendToClassPathSetUp.sh ! test/java/lang/instrument/BootClassPath/BootClassPathTest.sh ! test/java/lang/instrument/MakeJAR.sh ! test/java/lang/instrument/MakeJAR2.sh ! test/java/lang/instrument/MakeJAR3.sh ! test/java/lang/instrument/MakeJAR4.sh ! test/java/lang/instrument/ManifestTest.sh ! test/java/lang/instrument/ParallelTransformerLoader.sh ! test/java/lang/instrument/PremainClass/NoPremainAgent.sh ! test/java/lang/instrument/PremainClass/PremainClassTest.sh ! test/java/lang/instrument/PremainClass/ZeroArgPremainAgent.sh ! test/java/lang/instrument/RedefineBigClass.sh ! test/java/lang/instrument/RedefineClassWithNativeMethod.sh ! test/java/lang/instrument/RedefineMethodAddInvoke.sh ! test/java/lang/instrument/RedefineSetUp.sh ! test/java/lang/instrument/RetransformBigClass.sh ! test/java/lang/instrument/appendToClassLoaderSearch/CircularityErrorTest.sh ! test/java/lang/instrument/appendToClassLoaderSearch/ClassUnloadTest.sh ! test/java/lang/instrument/appendToClassLoaderSearch/CommonSetup.sh ! test/java/lang/instrument/appendToClassLoaderSearch/run_tests.sh ! test/java/net/Authenticator/B4933582.sh ! test/java/net/URL/B5086147.sh ! test/java/net/URL/runconstructor.sh ! test/java/net/URLClassLoader/B5077773.sh ! test/java/net/URLClassLoader/closetest/build.sh ! test/java/net/URLClassLoader/getresourceasstream/test.sh ! test/java/net/URLClassLoader/sealing/checksealed.sh ! test/java/net/URLConnection/6212146/test.sh ! test/java/net/URLConnection/UNCTest.sh ! test/java/nio/charset/spi/basic.sh ! test/java/rmi/activation/Activatable/extLoadedImpl/ext.sh ! test/java/rmi/registry/readTest/readTest.sh ! test/java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh ! test/java/security/Security/ClassLoaderDeadlock/Deadlock2.sh ! test/java/security/Security/signedfirst/Dyn.sh ! test/java/security/Security/signedfirst/Static.sh ! test/java/security/cert/CertificateFactory/slowstream.sh ! test/java/util/Formatter/Basic.sh ! test/java/util/Locale/LocaleProviders.sh ! test/java/util/PluggableLocale/ExecTest.sh ! test/java/util/ServiceLoader/basic.sh ! test/java/util/TimeZone/TimeZoneDatePermissionCheck.sh ! test/java/util/prefs/PrefsSpi.sh ! test/javax/crypto/SecretKeyFactory/FailOverTest.sh ! test/javax/script/CommonSetup.sh ! test/javax/script/ProviderTest.sh ! test/javax/security/auth/Subject/doAs/Test.sh ! test/lib/security/java.policy/Ext_AllPolicy.sh ! test/sun/management/jmxremote/bootstrap/PasswordFilePermissionTest.sh ! test/sun/management/jmxremote/bootstrap/SSLConfigFilePermissionTest.sh ! test/sun/management/jmxremote/startstop/JMXStartStopTest.sh ! test/sun/net/www/MarkResetTest.sh ! test/sun/net/www/http/HttpClient/RetryPost.sh ! test/sun/net/www/protocol/jar/B5105410.sh ! test/sun/net/www/protocol/jar/jarbug/run.sh ! test/sun/security/krb5/config/dns.sh ! test/sun/security/krb5/runNameEquals.sh ! test/sun/security/mscapi/IsSunMSCAPIAvailable.sh ! test/sun/security/pkcs11/KeyStore/Basic.sh ! test/sun/security/pkcs11/KeyStore/ClientAuth.sh ! test/sun/security/pkcs11/KeyStore/Solaris.sh ! test/sun/security/pkcs11/Provider/ConfigQuotedString.sh ! test/sun/security/pkcs11/Provider/Login.sh ! test/sun/security/provider/PolicyFile/GrantAllPermToExtWhenNoPolicy.sh ! test/sun/security/provider/PolicyFile/getinstance/getinstance.sh ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/EngineArgs/DebugReportsOneExtraByte.sh ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.sh ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.sh ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.sh ! test/sun/security/tools/keytool/autotest.sh ! test/sun/security/tools/keytool/printssl.sh ! test/sun/security/tools/keytool/readjar.sh ! test/sun/security/tools/keytool/standard.sh ! test/sun/security/util/Oid/S11N.sh ! test/sun/security/validator/certreplace.sh ! test/sun/security/validator/samedn.sh ! test/tools/launcher/ClassPathWildCard.sh ! test/tools/launcher/MultipleJRE.sh Changeset: bc1f16f5566f Author: darcy Date: 2013-01-11 15:39 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/bc1f16f5566f 7131459: [Fmt-De] DecimalFormat produces wrong format() results when close to a tie Reviewed-by: darcy Contributed-by: olivier.lagneau at oracle.com ! src/share/classes/java/text/DigitList.java ! src/share/classes/sun/misc/FloatingDecimal.java + test/java/text/Format/DecimalFormat/TieRoundingTest.java Changeset: 6f6246aced89 Author: sherman Date: 2013-01-11 22:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/6f6246aced89 8005466: JAR file entry hash table uses too much memory (zlib_util.c) Summary: realign the fields of jzcell struct Reviewed-by: sherman Contributed-by: ioi.lam at oracle.com ! src/share/native/java/util/zip/zip_util.h Changeset: 8009c7e3899e Author: sherman Date: 2013-01-11 22:45 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/8009c7e3899e Merge Changeset: 7db04ae3378f Author: chegar Date: 2013-01-13 22:09 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/7db04ae3378f 8006153: HTTP protocol handler authenication should use Base64 API Reviewed-by: chegar, alanb Contributed-by: Mark Sheppard ! src/share/classes/sun/net/www/protocol/http/BasicAuthentication.java ! src/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java Changeset: 1109bfff4e92 Author: dholmes Date: 2013-01-13 19:57 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/1109bfff4e92 8005232: (JEP-149) Class Instance size reduction Summary: Moved the fields for cached reflection objects into a seperate ReflectionData object to reduce dynamic footprint. Reviewed-by: dholmes, mchung, shade Contributed-by: Peter Levart ! src/share/classes/java/lang/Class.java Changeset: 1d7a6adf499f Author: naoto Date: 2013-01-14 11:09 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/1d7a6adf499f 7162007: Clean up i18n related caches Reviewed-by: okutsu, ohair ! make/java/java/FILES_java.gmk ! src/share/classes/java/text/DateFormatSymbols.java ! src/share/classes/java/text/DecimalFormat.java ! src/share/classes/java/text/DecimalFormatSymbols.java ! src/share/classes/java/text/NumberFormat.java ! src/share/classes/java/util/Locale.java ! src/share/classes/java/util/TimeZone.java ! src/share/classes/sun/text/resources/zh/CollationData_zh_HK.java ! src/share/classes/sun/text/resources/zh/FormatData_zh_HK.java ! src/share/classes/sun/util/locale/provider/AuxLocaleProviderAdapter.java ! src/share/classes/sun/util/locale/provider/BreakIteratorProviderImpl.java ! src/share/classes/sun/util/locale/provider/CalendarDataProviderImpl.java ! src/share/classes/sun/util/locale/provider/CalendarNameProviderImpl.java ! src/share/classes/sun/util/locale/provider/CollatorProviderImpl.java ! src/share/classes/sun/util/locale/provider/CurrencyNameProviderImpl.java ! src/share/classes/sun/util/locale/provider/JRELocaleProviderAdapter.java ! src/share/classes/sun/util/locale/provider/LocaleNameProviderImpl.java ! src/share/classes/sun/util/locale/provider/LocaleProviderAdapter.java ! src/share/classes/sun/util/locale/provider/LocaleResources.java + src/share/classes/sun/util/locale/provider/ResourceBundleBasedAdapter.java ! src/share/classes/sun/util/locale/provider/TimeZoneNameProviderImpl.java ! src/share/classes/sun/util/locale/provider/TimeZoneNameUtility.java ! src/share/classes/sun/util/resources/LocaleData.java ! src/share/classes/sun/util/resources/zh/CurrencyNames_zh_HK.java ! src/share/classes/sun/util/resources/zh/CurrencyNames_zh_SG.java ! src/share/classes/sun/util/resources/zh/LocaleNames_zh_HK.java ! src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_HK.java ! test/java/util/PluggableLocale/BreakIteratorProviderTest.java ! test/java/util/PluggableLocale/CollatorProviderTest.java ! test/java/util/PluggableLocale/CurrencyNameProviderTest.java ! test/java/util/PluggableLocale/DateFormatProviderTest.java ! test/java/util/PluggableLocale/DateFormatSymbolsProviderTest.java ! test/java/util/PluggableLocale/DecimalFormatSymbolsProviderTest.java ! test/java/util/PluggableLocale/LocaleNameProviderTest.java ! test/java/util/PluggableLocale/NumberFormatProviderTest.java ! test/java/util/PluggableLocale/TimeZoneNameProviderTest.java Changeset: dcb64d498d5b Author: ksrini Date: 2013-01-14 15:46 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/dcb64d498d5b 8005252: pack200 should support MethodParameters Reviewed-by: jrose ! 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/Constants.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/native/com/sun/java/util/jar/pack/bands.cpp ! src/share/native/com/sun/java/util/jar/pack/bands.h ! src/share/native/com/sun/java/util/jar/pack/constants.h ! src/share/native/com/sun/java/util/jar/pack/main.cpp ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp ! test/ProblemList.txt ! test/tools/pack200/AttributeTests.java ! test/tools/pack200/pack200-verifier/src/xmlkit/ClassReader.java Changeset: edb7e34a0531 Author: xuelei Date: 2013-01-14 18:31 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/edb7e34a0531 8006265: Add test SSLEngineDeadlock.java to ProblemList Reviewed-by: weijun ! test/ProblemList.txt Changeset: a40052a54801 Author: uta Date: 2013-01-15 14:26 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/a40052a54801 8005250: Downgrade normative references to ${java.home}/lib folder from Java client code. Summary: Javadoc was changed in accordance with CCC-8005250 request. Reviewed-by: alanb, amenkov ! src/share/classes/java/awt/datatransfer/SystemFlavorMap.java ! src/share/classes/javax/imageio/spi/IIORegistry.java ! src/share/classes/javax/sound/midi/MidiSystem.java ! src/share/classes/javax/sound/sampled/AudioSystem.java ! src/share/classes/javax/swing/UIManager.java Changeset: 4b012af44f24 Author: chegar Date: 2013-01-15 11:44 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/4b012af44f24 8005406: HTTP server implementation should use Base64 API Reviewed-by: khazra, alanb, chegar Contributed-by: Mark Sheppard ! src/share/classes/com/sun/net/httpserver/BasicAuthenticator.java ! src/share/classes/sun/net/www/protocol/http/BasicAuthentication.java Changeset: 44d6cabc9a3f Author: robm Date: 2013-01-15 19:58 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/44d6cabc9a3f 8005618: TEST_BUG: java/lang/ProcessBuilder/Basic.java failing intermittently Reviewed-by: alanb, martin, dholmes ! test/java/lang/ProcessBuilder/Basic.java Changeset: 9d8ef6174cfd Author: dl Date: 2013-01-16 10:14 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/9d8ef6174cfd 8005926: Merge ThreadLocalRandom state into java.lang.Thread Reviewed-by: shade, chegar ! src/share/classes/java/lang/Thread.java ! src/share/classes/java/util/concurrent/ThreadLocalRandom.java Changeset: a546d8897e0d Author: dl Date: 2013-01-16 12:09 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/a546d8897e0d 8001666: Add lambda-compatible atomics and accumulators to the ActomicXXX classes Reviewed-by: dl, chegar, darcy, goetz Contributed-by: dl at cs.oswego.edu, chris.hegarty at oracle.com ! src/share/classes/java/util/concurrent/atomic/AtomicInteger.java ! src/share/classes/java/util/concurrent/atomic/AtomicIntegerArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicLong.java ! src/share/classes/java/util/concurrent/atomic/AtomicLongArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicLongFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicReference.java ! src/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java Changeset: c7d54f93d3e5 Author: juh Date: 2013-01-16 09:51 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c7d54f93d3e5 8005389: Backout fix for JDK-6500133 Reviewed-by: mullan ! src/share/classes/sun/security/x509/URIName.java ! test/sun/security/x509/URIName/Parse.java Changeset: f7f77bdf248b Author: juh Date: 2013-01-16 13:35 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/f7f77bdf248b 8005939: sun/security/x509/{X509CRLImplX509CertImpl}/Verify.java fail in confusing way when some providers not present Reviewed-by: mullan, weijun ! test/sun/security/x509/X509CRLImpl/Verify.java ! test/sun/security/x509/X509CertImpl/Verify.java Changeset: 9fed48caac80 Author: lana Date: 2013-01-16 12:07 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/9fed48caac80 Merge Changeset: 787c7c1c210f Author: sherman Date: 2013-01-17 12:49 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/787c7c1c210f 8006090: Formatter asserts with -esa Summary: removed the offending assert Reviewed-by: alanb, darcy Contributed-by: brian.burkhalter at oracle.com ! src/share/classes/java/util/Formatter.java ! test/ProblemList.txt Changeset: e8414d69692c Author: khazra Date: 2013-01-17 14:50 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e8414d69692c 7171415: java.net.URI.equals/hashCode not consistent for some URIs Summary: Rewrite URI.hashCode() to consider encoded characters, also reviewed by vitalyd at gmail.com, schlosna at gmail.com Reviewed-by: chegar ! src/share/classes/java/net/URI.java ! test/java/net/URI/Test.java Changeset: 79fed1733d4a Author: jgish Date: 2013-01-17 15:09 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/79fed1733d4a 8006534: CLONE - TestLibrary.getUnusedRandomPort() fails intermittently-doesn't retry enough times Summary: Increase number of retries to twice the number of ports in the reserved range Reviewed-by: mduigou ! test/java/rmi/testlibrary/TestLibrary.java Changeset: f88e963960ae Author: jzavgren Date: 2013-01-18 17:34 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/f88e963960ae 8005120: Compiler warnings in socket transport native code Reviewed-by: chegar, dsamersoff ! src/share/transport/socket/socketTransport.c ! src/share/transport/socket/sysSocket.h ! src/solaris/transport/socket/socket_md.c ! src/windows/transport/socket/socket_md.c Changeset: 06da87777d0e Author: alanb Date: 2013-01-18 18:48 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/06da87777d0e 6939260: (fs) BasicFileAttributes.lastModifiedTime() should return last modified time with higher precision Reviewed-by: chegar ! src/solaris/classes/sun/nio/fs/UnixFileAttributes.java ! src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c ! test/java/nio/file/attribute/BasicFileAttributeView/Basic.java Changeset: 33d0175ea8d9 Author: msheppar Date: 2013-01-19 08:39 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/33d0175ea8d9 8006568: HTTP protocol handler NLTM Authentication should use Base64 API Reviewed-by: chegar, alanb ! src/solaris/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java ! src/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthSequence.java ! test/sun/net/www/protocol/http/ProxyTunnelServer.java Changeset: 78514544980d Author: lancea Date: 2013-01-19 10:11 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/78514544980d 8006139: add missing methods to javax.sql.rowset.serial.SQLInputImpl, SQLOutputImpl Reviewed-by: naoto, ulfzibis, alanb ! src/share/classes/javax/sql/rowset/serial/SQLInputImpl.java ! src/share/classes/javax/sql/rowset/serial/SQLOutputImpl.java Changeset: d3da0d29d7cd Author: lancea Date: 2013-01-19 10:53 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/d3da0d29d7cd 8005080: JDBC 4.2 Core changes Reviewed-by: naoto ! src/share/classes/java/sql/BatchUpdateException.java ! src/share/classes/java/sql/CallableStatement.java ! src/share/classes/java/sql/DatabaseMetaData.java ! src/share/classes/java/sql/Driver.java ! src/share/classes/java/sql/DriverManager.java + src/share/classes/java/sql/JDBCType.java ! src/share/classes/java/sql/PreparedStatement.java ! src/share/classes/java/sql/ResultSet.java ! src/share/classes/java/sql/SQLTimeoutException.java + src/share/classes/java/sql/SQLType.java ! src/share/classes/java/sql/Statement.java ! src/share/classes/java/sql/Types.java ! src/share/classes/java/sql/package.html ! src/share/classes/javax/sql/DataSource.java ! src/share/classes/javax/sql/XADataSource.java ! src/share/classes/javax/sql/rowset/BaseRowSet.java Changeset: bb2ed83676d2 Author: chegar Date: 2013-01-20 09:37 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/bb2ed83676d2 8006560: java/net/ipv6tests/B6521014.java fails intermittently Reviewed-by: khazra, wetmore ! test/java/net/ipv6tests/B6521014.java Changeset: 6ca6b6f07653 Author: okutsu Date: 2013-01-21 12:04 +0900 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/6ca6b6f07653 4745761: (cal) RFE: Support builder for constructing Calendar Reviewed-by: peytoia ! src/share/classes/java/util/Calendar.java ! src/share/classes/java/util/GregorianCalendar.java ! src/share/classes/java/util/JapaneseImperialCalendar.java + test/java/util/Calendar/Builder/BuilderTest.java ! test/java/util/Calendar/CalendarTypeTest.java Changeset: 3c1a440a1e12 Author: okutsu Date: 2013-01-21 15:41 +0900 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/3c1a440a1e12 8004489: Add support for Minguo and Hijrah calendars to CalendarNameProvider SPI 8006509: Add more calendar symbol names from CLDR Reviewed-by: peytoia ! make/tools/src/build/tools/cldrconverter/Bundle.java ! make/tools/src/build/tools/cldrconverter/CLDRConverter.java ! make/tools/src/build/tools/cldrconverter/CalendarType.java ! make/tools/src/build/tools/cldrconverter/LDMLParseHandler.java ! src/share/classes/java/util/spi/CalendarNameProvider.java ! src/share/classes/sun/text/resources/FormatData.java ! src/share/classes/sun/text/resources/ar/FormatData_ar.java ! src/share/classes/sun/text/resources/be/FormatData_be.java ! src/share/classes/sun/text/resources/bg/FormatData_bg.java ! src/share/classes/sun/text/resources/ca/FormatData_ca.java ! src/share/classes/sun/text/resources/cs/FormatData_cs.java ! src/share/classes/sun/text/resources/da/FormatData_da.java ! src/share/classes/sun/text/resources/de/FormatData_de.java ! src/share/classes/sun/text/resources/el/FormatData_el.java ! src/share/classes/sun/text/resources/es/FormatData_es.java ! src/share/classes/sun/text/resources/et/FormatData_et.java ! src/share/classes/sun/text/resources/fi/FormatData_fi.java ! src/share/classes/sun/text/resources/fr/FormatData_fr.java ! src/share/classes/sun/text/resources/hi/FormatData_hi_IN.java ! src/share/classes/sun/text/resources/hr/FormatData_hr.java ! src/share/classes/sun/text/resources/hu/FormatData_hu.java ! src/share/classes/sun/text/resources/is/FormatData_is.java ! src/share/classes/sun/text/resources/it/FormatData_it.java ! src/share/classes/sun/text/resources/iw/FormatData_iw.java ! src/share/classes/sun/text/resources/ja/FormatData_ja.java ! src/share/classes/sun/text/resources/ko/FormatData_ko.java ! src/share/classes/sun/text/resources/lt/FormatData_lt.java ! src/share/classes/sun/text/resources/lv/FormatData_lv.java ! src/share/classes/sun/text/resources/mk/FormatData_mk.java ! src/share/classes/sun/text/resources/ms/FormatData_ms.java ! src/share/classes/sun/text/resources/mt/FormatData_mt.java ! src/share/classes/sun/text/resources/nl/FormatData_nl.java ! src/share/classes/sun/text/resources/pl/FormatData_pl.java ! src/share/classes/sun/text/resources/pt/FormatData_pt.java ! src/share/classes/sun/text/resources/ro/FormatData_ro.java ! src/share/classes/sun/text/resources/ru/FormatData_ru.java ! src/share/classes/sun/text/resources/sk/FormatData_sk.java ! src/share/classes/sun/text/resources/sl/FormatData_sl.java ! src/share/classes/sun/text/resources/sr/FormatData_sr.java ! src/share/classes/sun/text/resources/sv/FormatData_sv.java ! src/share/classes/sun/text/resources/th/FormatData_th.java ! src/share/classes/sun/text/resources/tr/FormatData_tr.java ! src/share/classes/sun/text/resources/uk/FormatData_uk.java ! src/share/classes/sun/text/resources/vi/FormatData_vi.java ! src/share/classes/sun/text/resources/zh/FormatData_zh.java ! src/share/classes/sun/text/resources/zh/FormatData_zh_TW.java ! src/share/classes/sun/util/locale/provider/CalendarDataUtility.java ! src/share/classes/sun/util/locale/provider/CalendarNameProviderImpl.java ! src/share/classes/sun/util/locale/provider/LocaleResources.java + test/java/util/Calendar/CldrFormatNamesTest.java ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: bb940b2107bd Author: juh Date: 2013-01-21 15:05 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/bb940b2107bd 8006092: SecurityPermission: printIdentity doesn't exist Reviewed-by: weijun ! test/sun/security/tools/policytool/UpdatePermissions.html Changeset: f21a3c273fb2 Author: dl Date: 2013-01-21 13:50 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/f21a3c273fb2 8005311: Add Scalable Updatable Variables, DoubleAccumulator, DoubleAdder, LongAccumulator, LongAdder Reviewed-by: chegar, darcy, goetz ! make/java/java/FILES_java.gmk + src/share/classes/java/util/concurrent/atomic/DoubleAccumulator.java + src/share/classes/java/util/concurrent/atomic/DoubleAdder.java + src/share/classes/java/util/concurrent/atomic/LongAccumulator.java + src/share/classes/java/util/concurrent/atomic/LongAdder.java + src/share/classes/java/util/concurrent/atomic/Striped64.java + test/java/util/concurrent/atomic/DoubleAdderDemo.java + test/java/util/concurrent/atomic/LongAdderDemo.java Changeset: de30e46250c5 Author: lancea Date: 2013-01-21 14:08 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/de30e46250c5 8006642: Fix javadoc warnings due to Integer.MAX_VALUE Reviewed-by: alanb ! src/share/classes/java/sql/BatchUpdateException.java ! src/share/classes/java/sql/PreparedStatement.java ! src/share/classes/java/sql/Statement.java Changeset: 8b1857409159 Author: lana Date: 2013-01-20 23:38 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/8b1857409159 Merge - make/tools/swing-beans/beaninfo/BeanInfoUtils.java - make/tools/swing-beans/beaninfo/SwingBeanInfoBase.java - src/share/demo/jfc/CodePointIM/CodePointInputMethod.java - src/share/demo/jfc/CodePointIM/CodePointInputMethodDescriptor.java Changeset: 7f4e3da76ec1 Author: lana Date: 2013-01-21 11:16 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/7f4e3da76ec1 Merge Changeset: 8ee6d45348ba Author: vinnie Date: 2013-01-22 23:32 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/8ee6d45348ba 6263419: No way to clean the memory for a java.security.Key Reviewed-by: mullan ! src/share/classes/java/security/PrivateKey.java ! src/share/classes/javax/crypto/SecretKey.java ! src/share/classes/javax/security/auth/Destroyable.java + test/javax/security/auth/Destroyable/KeyDestructionTest.java Changeset: c18f28312c49 Author: smarks Date: 2013-01-22 18:30 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c18f28312c49 8005646: TEST_BUG: java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup leaves process running Reviewed-by: mchung ! test/java/rmi/activation/ActivationSystem/unregisterGroup/ActivateMe.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/CallbackInterface.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/Callback_Stub.java ! test/java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup_Stub.java ! test/java/rmi/activation/ActivationSystem/unregisterGroup/rmid.security.policy Changeset: 919afffa70b0 Author: sherman Date: 2013-01-22 20:59 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/919afffa70b0 8003680: JSR 310 Date/Time API Summary: Integration of JSR310 Date/Time API for M6 Reviewed-by: alanb, naoto, dholmes Contributed-by: scolebourne at joda.org, roger.riggs at oracle.com, richard.warburton at gmail.com, misterm at gmail.com ! make/docs/CORE_PKGS.gmk ! make/java/Makefile + make/java/time/Makefile ! make/jprt.properties ! make/sun/Makefile + make/sun/tzdb/Makefile ! make/tools/Makefile + make/tools/src/build/tools/tzdb/ChronoField.java + make/tools/src/build/tools/tzdb/DateTimeException.java + make/tools/src/build/tools/tzdb/LocalDate.java + make/tools/src/build/tools/tzdb/LocalDateTime.java + make/tools/src/build/tools/tzdb/LocalTime.java + make/tools/src/build/tools/tzdb/TimeDefinition.java + make/tools/src/build/tools/tzdb/TzdbZoneRulesCompiler.java + make/tools/src/build/tools/tzdb/Utils.java + make/tools/src/build/tools/tzdb/ZoneOffset.java + make/tools/src/build/tools/tzdb/ZoneOffsetTransition.java + make/tools/src/build/tools/tzdb/ZoneOffsetTransitionRule.java + make/tools/src/build/tools/tzdb/ZoneRules.java + make/tools/src/build/tools/tzdb/ZoneRulesBuilder.java + make/tools/tzdb/Makefile ! makefiles/CreateJars.gmk + makefiles/GendataTZDB.gmk ! makefiles/GenerateData.gmk ! makefiles/Tools.gmk + src/share/classes/java/time/Clock.java + src/share/classes/java/time/DateTimeException.java + src/share/classes/java/time/DayOfWeek.java + src/share/classes/java/time/Duration.java + src/share/classes/java/time/Instant.java + src/share/classes/java/time/LocalDate.java + src/share/classes/java/time/LocalDateTime.java + src/share/classes/java/time/LocalTime.java + src/share/classes/java/time/Month.java + src/share/classes/java/time/Period.java + src/share/classes/java/time/PeriodParser.java + src/share/classes/java/time/Ser.java + src/share/classes/java/time/ZoneId.java + src/share/classes/java/time/ZoneOffset.java + src/share/classes/java/time/ZoneRegion.java + src/share/classes/java/time/ZonedDateTime.java + src/share/classes/java/time/calendar/ChronoDateImpl.java + src/share/classes/java/time/calendar/HijrahChrono.java + src/share/classes/java/time/calendar/HijrahDate.java + src/share/classes/java/time/calendar/HijrahDeviationReader.java + src/share/classes/java/time/calendar/HijrahEra.java + src/share/classes/java/time/calendar/JapaneseChrono.java + src/share/classes/java/time/calendar/JapaneseDate.java + src/share/classes/java/time/calendar/JapaneseEra.java + src/share/classes/java/time/calendar/MinguoChrono.java + src/share/classes/java/time/calendar/MinguoDate.java + src/share/classes/java/time/calendar/MinguoEra.java + src/share/classes/java/time/calendar/Ser.java + src/share/classes/java/time/calendar/ThaiBuddhistChrono.java + src/share/classes/java/time/calendar/ThaiBuddhistDate.java + src/share/classes/java/time/calendar/ThaiBuddhistEra.java + src/share/classes/java/time/calendar/package-info.java + src/share/classes/java/time/format/DateTimeBuilder.java + src/share/classes/java/time/format/DateTimeFormatStyleProvider.java + src/share/classes/java/time/format/DateTimeFormatSymbols.java + src/share/classes/java/time/format/DateTimeFormatter.java + src/share/classes/java/time/format/DateTimeFormatterBuilder.java + src/share/classes/java/time/format/DateTimeFormatters.java + src/share/classes/java/time/format/DateTimeParseContext.java + src/share/classes/java/time/format/DateTimeParseException.java + src/share/classes/java/time/format/DateTimePrintContext.java + src/share/classes/java/time/format/DateTimePrintException.java + src/share/classes/java/time/format/DateTimeTextProvider.java + src/share/classes/java/time/format/FormatStyle.java + src/share/classes/java/time/format/SignStyle.java + src/share/classes/java/time/format/TextStyle.java + src/share/classes/java/time/format/package-info.java + src/share/classes/java/time/overview.html + src/share/classes/java/time/package-info.java + src/share/classes/java/time/temporal/Adjusters.java + src/share/classes/java/time/temporal/Chrono.java + src/share/classes/java/time/temporal/ChronoField.java + src/share/classes/java/time/temporal/ChronoLocalDate.java + src/share/classes/java/time/temporal/ChronoLocalDateTime.java + src/share/classes/java/time/temporal/ChronoLocalDateTimeImpl.java + src/share/classes/java/time/temporal/ChronoUnit.java + src/share/classes/java/time/temporal/ChronoZonedDateTime.java + src/share/classes/java/time/temporal/ChronoZonedDateTimeImpl.java + src/share/classes/java/time/temporal/Era.java + src/share/classes/java/time/temporal/ISOChrono.java + src/share/classes/java/time/temporal/ISOEra.java + src/share/classes/java/time/temporal/ISOFields.java + src/share/classes/java/time/temporal/JulianFields.java + src/share/classes/java/time/temporal/MonthDay.java + src/share/classes/java/time/temporal/OffsetDate.java + src/share/classes/java/time/temporal/OffsetDateTime.java + src/share/classes/java/time/temporal/OffsetTime.java + src/share/classes/java/time/temporal/Queries.java + src/share/classes/java/time/temporal/Ser.java + src/share/classes/java/time/temporal/SimplePeriod.java + src/share/classes/java/time/temporal/Temporal.java + src/share/classes/java/time/temporal/TemporalAccessor.java + src/share/classes/java/time/temporal/TemporalAdder.java + src/share/classes/java/time/temporal/TemporalAdjuster.java + src/share/classes/java/time/temporal/TemporalField.java + src/share/classes/java/time/temporal/TemporalQuery.java + src/share/classes/java/time/temporal/TemporalSubtractor.java + src/share/classes/java/time/temporal/TemporalUnit.java + src/share/classes/java/time/temporal/ValueRange.java + src/share/classes/java/time/temporal/WeekFields.java + src/share/classes/java/time/temporal/Year.java + src/share/classes/java/time/temporal/YearMonth.java + src/share/classes/java/time/temporal/package-info.java + src/share/classes/java/time/zone/Ser.java + src/share/classes/java/time/zone/TzdbZoneRulesProvider.java + src/share/classes/java/time/zone/ZoneOffsetTransition.java + src/share/classes/java/time/zone/ZoneOffsetTransitionRule.java + src/share/classes/java/time/zone/ZoneRules.java + src/share/classes/java/time/zone/ZoneRulesException.java + src/share/classes/java/time/zone/ZoneRulesProvider.java + src/share/classes/java/time/zone/package-info.java ! src/share/classes/java/util/Formatter.java ! test/Makefile + test/java/time/META-INF/services/java.time.temporal.Chrono + test/java/time/TEST.properties + test/java/time/tck/java/time/AbstractDateTimeTest.java + test/java/time/tck/java/time/AbstractTCKTest.java + test/java/time/tck/java/time/TCKClock.java + test/java/time/tck/java/time/TCKClock_Fixed.java + test/java/time/tck/java/time/TCKClock_Offset.java + test/java/time/tck/java/time/TCKClock_System.java + test/java/time/tck/java/time/TCKClock_Tick.java + test/java/time/tck/java/time/TCKDayOfWeek.java + test/java/time/tck/java/time/TCKDuration.java + test/java/time/tck/java/time/TCKInstant.java + test/java/time/tck/java/time/TCKLocalDate.java + test/java/time/tck/java/time/TCKLocalDateTime.java + test/java/time/tck/java/time/TCKLocalTime.java + test/java/time/tck/java/time/TCKMonth.java + test/java/time/tck/java/time/TCKZoneId.java + test/java/time/tck/java/time/TCKZoneOffset.java + test/java/time/tck/java/time/TCKZonedDateTime.java + test/java/time/tck/java/time/calendar/CopticChrono.java + test/java/time/tck/java/time/calendar/CopticDate.java + test/java/time/tck/java/time/calendar/CopticEra.java + test/java/time/tck/java/time/calendar/TestChronoLocalDate.java + test/java/time/tck/java/time/calendar/TestChronoLocalDateTime.java + test/java/time/tck/java/time/calendar/TestHijrahChrono.java + test/java/time/tck/java/time/calendar/TestJapaneseChrono.java + test/java/time/tck/java/time/calendar/TestMinguoChrono.java + test/java/time/tck/java/time/calendar/TestServiceLoader.java + test/java/time/tck/java/time/calendar/TestThaiBuddhistChrono.java + test/java/time/tck/java/time/format/TCKDateTimeFormatSymbols.java + test/java/time/tck/java/time/format/TCKDateTimeFormatter.java + test/java/time/tck/java/time/format/TCKDateTimeFormatterBuilder.java + test/java/time/tck/java/time/format/TCKDateTimeFormatters.java + test/java/time/tck/java/time/format/TCKDateTimePrintException.java + test/java/time/tck/java/time/format/TCKDateTimeTextPrinting.java + test/java/time/tck/java/time/format/TCKLocalizedFieldParser.java + test/java/time/tck/java/time/format/TCKLocalizedFieldPrinter.java + test/java/time/tck/java/time/temporal/TCKDateTimeAdjusters.java + test/java/time/tck/java/time/temporal/TCKISOFields.java + test/java/time/tck/java/time/temporal/TCKJulianFields.java + test/java/time/tck/java/time/temporal/TCKMonthDay.java + test/java/time/tck/java/time/temporal/TCKOffsetDate.java + test/java/time/tck/java/time/temporal/TCKOffsetDateTime.java + test/java/time/tck/java/time/temporal/TCKOffsetTime.java + test/java/time/tck/java/time/temporal/TCKSimplePeriod.java + test/java/time/tck/java/time/temporal/TCKWeekFields.java + test/java/time/tck/java/time/temporal/TCKYear.java + test/java/time/tck/java/time/temporal/TCKYearMonth.java + test/java/time/tck/java/time/temporal/TestChrono.java + test/java/time/tck/java/time/temporal/TestChronoLocalDate.java + test/java/time/tck/java/time/temporal/TestChronoLocalDateTime.java + test/java/time/tck/java/time/temporal/TestChronoZonedDateTime.java + test/java/time/tck/java/time/temporal/TestISOChrono.java + test/java/time/tck/java/time/zone/TCKFixedZoneRules.java + test/java/time/tck/java/time/zone/TCKZoneOffsetTransition.java + test/java/time/tck/java/time/zone/TCKZoneOffsetTransitionRule.java + test/java/time/tck/java/time/zone/TCKZoneRules.java + test/java/time/tck/java/time/zone/TCKZoneRulesProvider.java + test/java/time/test/java/time/AbstractTest.java + test/java/time/test/java/time/MockSimplePeriod.java + test/java/time/test/java/time/TestClock_Fixed.java + test/java/time/test/java/time/TestClock_Offset.java + test/java/time/test/java/time/TestClock_System.java + test/java/time/test/java/time/TestClock_Tick.java + test/java/time/test/java/time/TestDuration.java + test/java/time/test/java/time/TestInstant.java + test/java/time/test/java/time/TestLocalDate.java + test/java/time/test/java/time/TestLocalDateTime.java + test/java/time/test/java/time/TestLocalTime.java + test/java/time/test/java/time/TestPeriod.java + test/java/time/test/java/time/TestPeriodParser.java + test/java/time/test/java/time/TestZoneId.java + test/java/time/test/java/time/TestZoneOffset.java + test/java/time/test/java/time/TestZonedDateTime.java + test/java/time/test/java/time/format/AbstractTestPrinterParser.java + test/java/time/test/java/time/format/MockIOExceptionAppendable.java + test/java/time/test/java/time/format/TestCharLiteralParser.java + test/java/time/test/java/time/format/TestCharLiteralPrinter.java + test/java/time/test/java/time/format/TestDateTimeFormatSymbols.java + test/java/time/test/java/time/format/TestDateTimeFormatter.java + test/java/time/test/java/time/format/TestDateTimeFormatters.java + test/java/time/test/java/time/format/TestDateTimePrintException.java + test/java/time/test/java/time/format/TestDateTimeTextProvider.java + test/java/time/test/java/time/format/TestFractionPrinterParser.java + test/java/time/test/java/time/format/TestNumberParser.java + test/java/time/test/java/time/format/TestNumberPrinter.java + test/java/time/test/java/time/format/TestPadParserDecorator.java + test/java/time/test/java/time/format/TestPadPrinterDecorator.java + test/java/time/test/java/time/format/TestReducedParser.java + test/java/time/test/java/time/format/TestReducedPrinter.java + test/java/time/test/java/time/format/TestSettingsParser.java + test/java/time/test/java/time/format/TestStringLiteralParser.java + test/java/time/test/java/time/format/TestStringLiteralPrinter.java + test/java/time/test/java/time/format/TestTextParser.java + test/java/time/test/java/time/format/TestTextPrinter.java + test/java/time/test/java/time/format/TestZoneIdParser.java + test/java/time/test/java/time/format/TestZoneOffsetParser.java + test/java/time/test/java/time/format/TestZoneOffsetPrinter.java + test/java/time/test/java/time/format/TestZoneTextPrinterParser.java + test/java/time/test/java/time/temporal/MockFieldNoValue.java + test/java/time/test/java/time/temporal/MockFieldValue.java + test/java/time/test/java/time/temporal/TestChronoUnit.java + test/java/time/test/java/time/temporal/TestDateTimeAdjusters.java + test/java/time/test/java/time/temporal/TestDateTimeBuilderCombinations.java + test/java/time/test/java/time/temporal/TestDateTimeValueRange.java + test/java/time/test/java/time/temporal/TestISOChronoImpl.java + test/java/time/test/java/time/temporal/TestJapaneseChronoImpl.java + test/java/time/test/java/time/temporal/TestMonthDay.java + test/java/time/test/java/time/temporal/TestOffsetDate.java + test/java/time/test/java/time/temporal/TestOffsetDateTime.java + test/java/time/test/java/time/temporal/TestOffsetDateTime_instants.java + test/java/time/test/java/time/temporal/TestOffsetTime.java + test/java/time/test/java/time/temporal/TestThaiBuddhistChronoImpl.java + test/java/time/test/java/time/temporal/TestYear.java + test/java/time/test/java/time/temporal/TestYearMonth.java + test/java/time/test/java/time/zone/TestFixedZoneRules.java + test/java/time/test/java/util/TestFormatter.java Changeset: 71691b9d45ab Author: vinnie Date: 2013-01-23 09:49 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/71691b9d45ab 8006741: javadoc cleanup for 6263419 Reviewed-by: alanb ! src/share/classes/java/security/PrivateKey.java ! src/share/classes/javax/crypto/SecretKey.java Changeset: 01b36b400145 Author: uta Date: 2013-01-23 15:06 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/01b36b400145 6519127: user.home property not set correctly Summary: Registry-based approach was changed to SHGetKnownFolderPath/SHGetFolderPathW Reviewed-by: alanb, anthony ! src/windows/native/java/lang/java_props_md.c Changeset: bf2a14ebb6e9 Author: chegar Date: 2013-01-23 14:45 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/bf2a14ebb6e9 8006669: sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.sh fails on mac Reviewed-by: alanb ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.java ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.java Changeset: 53064bbaeec5 Author: alanb Date: 2013-01-23 15:12 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/53064bbaeec5 8006764: FunctionalInterface missing from rt.jar (old build) Reviewed-by: lancea, forax ! make/java/java/FILES_java.gmk Changeset: c9eb1d3ef37f Author: robm Date: 2013-01-23 17:54 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c9eb1d3ef37f 8004729: Add java.lang.reflect.Parameter and related changes for parameter reflection Reviewed-by: darcy, forax, psandoz, dholmes, tbell ! make/java/java/Exportedfiles.gmk ! make/java/java/FILES_c.gmk ! make/java/java/mapfile-vers ! makefiles/mapfiles/libjava/mapfile-vers ! src/share/classes/java/lang/reflect/Constructor.java ! src/share/classes/java/lang/reflect/Executable.java ! src/share/classes/java/lang/reflect/Method.java ! src/share/classes/java/lang/reflect/Modifier.java + src/share/classes/java/lang/reflect/Parameter.java ! src/share/javavm/export/jvm.h + src/share/native/java/lang/reflect/Executable.c + test/java/lang/reflect/Parameter/WithParameters.java + test/java/lang/reflect/Parameter/WithoutParameters.java Changeset: e0552f13f4a2 Author: sherman Date: 2013-01-23 10:29 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e0552f13f4a2 8006773: test/java/util/zip/ZipFile/FinalizeZipFile.java failing intermittently Summary: fixed the test case Reviewed-by: alanb ! test/java/util/zip/ZipFile/FinalizeZipFile.java Changeset: 87f5569effdd Author: sherman Date: 2013-01-23 10:31 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/87f5569effdd Merge Changeset: 0c86df653029 Author: vinnie Date: 2013-01-23 21:25 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/0c86df653029 8006591: Protect keystore entries using stronger PBE algorithms Reviewed-by: mullan ! src/share/classes/java/security/KeyStore.java ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java + test/java/security/KeyStore/PBETest.java Changeset: 1da93663f8f3 Author: vinnie Date: 2013-01-23 23:13 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/1da93663f8f3 8005408: KeyStore API enhancements Reviewed-by: mullan ! src/share/classes/java/security/KeyStore.java + src/share/classes/java/security/PKCS12Attribute.java ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java ! src/share/classes/sun/security/x509/AlgorithmId.java + test/sun/security/pkcs12/StorePasswordTest.java + test/sun/security/pkcs12/StoreSecretKeyTest.java + test/sun/security/pkcs12/StoreTrustedCertTest.java + test/sun/security/pkcs12/trusted.pem Changeset: 89f37f7188df Author: mullan Date: 2013-01-23 20:46 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/89f37f7188df 8006813: Compilation error in PKCS12KeyStore.java Reviewed-by: valeriep ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java Changeset: b68ac92d0b2a Author: alanb Date: 2013-01-24 09:47 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/b68ac92d0b2a 8006524: JSR-3: Allows java.beans to be optional Reviewed-by: dfuchs, mchung ! src/share/classes/javax/management/MXBean.java ! src/share/classes/javax/management/monitor/package.html Changeset: 943af87e0269 Author: vinnie Date: 2013-01-24 16:44 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/943af87e0269 8006855: PKCS12 test failures due to unsupported algorithm Reviewed-by: mullan ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java ! test/java/security/KeyStore/PBETest.java ! test/sun/security/pkcs12/StoreSecretKeyTest.java Changeset: 1fd613016ad9 Author: ksrini Date: 2013-01-24 09:34 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/1fd613016ad9 8006850: [pack200] disable pack200 tests until JSR-308 is implemented Reviewed-by: alanb ! test/ProblemList.txt Changeset: b3f0e0c79bcc Author: vinnie Date: 2013-01-24 18:21 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/b3f0e0c79bcc 8006863: javadoc cleanup for 8005408 Reviewed-by: alanb ! src/share/classes/java/security/PKCS12Attribute.java Changeset: 4d3c05cc21d5 Author: darcy Date: 2013-01-24 16:54 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/4d3c05cc21d5 8006895: Clarify that FunctionalInferface is only informative Reviewed-by: briangoetz ! src/share/classes/java/lang/FunctionalInterface.java Changeset: 4c9fcb5cbc07 Author: dingxmin Date: 2013-01-25 17:00 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/4c9fcb5cbc07 7183373: URLClassloader.close() does not close JAR files whose resources have been loaded via getResource() Reviewed-by: chegar ! src/share/classes/sun/misc/URLClassPath.java + test/sun/misc/URLClassPath/JarLoaderTest.java Changeset: 4a4b97f7f83b Author: alanb Date: 2013-01-25 13:09 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/4a4b97f7f83b 8006565: java.lang.instrument specification should make it clear that -javaagent is optional Reviewed-by: sla, dcubed, mchung ! src/share/classes/java/lang/instrument/package.html Changeset: c6ea84a629db Author: vinnie Date: 2013-01-25 16:19 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c6ea84a629db 8006946: PKCS12 test failure due to incorrect alias name Reviewed-by: mullan ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java Changeset: 117491dd58c2 Author: vinnie Date: 2013-01-25 17:47 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/117491dd58c2 8006951: Avoid storing duplicate PKCS12 attributes Reviewed-by: mullan ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java Changeset: 77bde15bc6a9 Author: khazra Date: 2013-01-25 11:52 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/77bde15bc6a9 7017962: Obsolete link is used in URL class level spec Summary: Change the link to an archived document Reviewed-by: chegar, mduigou ! src/share/classes/java/net/URL.java Changeset: 4209b3936a7f Author: mduigou Date: 2013-01-25 16:13 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/4209b3936a7f 8005632: Extend java.util.Logger to use Supplier for messages Reviewed-by: briangoetz, mduigou Contributed-by: henry.jen at oracle.com ! src/share/classes/java/util/logging/Logger.java + test/java/util/logging/LoggerSupplierAPIsTest.java Changeset: 1d918647332e Author: mduigou Date: 2013-01-25 16:13 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/1d918647332e 8004201: Add static utility methods to primitives to be used for redution operations. Reviewed-by: darcy, mduigou, briangoetz, dholmes Contributed-by: akhil.arora at oracle.com ! src/share/classes/java/lang/Boolean.java ! src/share/classes/java/lang/Double.java ! src/share/classes/java/lang/Float.java ! src/share/classes/java/lang/Integer.java ! src/share/classes/java/lang/Long.java + test/java/lang/PrimitiveSumMinMaxTest.java Changeset: 86a5b435c928 Author: jgish Date: 2013-01-22 11:14 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/86a5b435c928 4247235: (spec str) StringBuffer.insert(int, char[]) specification is inconsistent Summary: Add blanket null-handling statement to StringBuilder and StringBuffer Reviewed-by: mduigou ! src/share/classes/java/lang/AbstractStringBuilder.java ! src/share/classes/java/lang/String.java ! src/share/classes/java/lang/StringBuffer.java ! src/share/classes/java/lang/StringBuilder.java Changeset: e96577d82cbb Author: alanb Date: 2013-01-26 16:57 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e96577d82cbb 8006503: JVM_PrintStackTrace is not used in JDK Reviewed-by: alanb, darcy Contributed-by: eric.mccorkle at oracle.com ! src/share/javavm/export/jvm.h Changeset: 57561ea851d2 Author: lana Date: 2013-01-26 19:22 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/57561ea851d2 Merge - test/java/rmi/activation/ActivationSystem/unregisterGroup/CallbackInterface.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/Callback_Stub.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup_Stub.java ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: 4faaaf5027a5 Author: alexsch Date: 2013-01-14 08:32 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/4faaaf5027a5 7166409: bug4331515.java fail with NullPointerException on ubuntu10.04-x86 for JDK8 Reviewed-by: serb ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java Changeset: 9c6ca265b4a1 Author: alexsch Date: 2013-01-15 12:49 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/9c6ca265b4a1 8003978: closed/javax/swing/JRootPane/bug4670486.java fails since jdk7u12b01 on macosx Reviewed-by: serb, leonidr ! src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java ! src/share/classes/com/sun/java/swing/plaf/motif/MotifLookAndFeel.java ! src/share/classes/javax/swing/plaf/basic/BasicLookAndFeel.java ! src/share/classes/sun/swing/SwingUtilities2.java ! test/java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.java Changeset: 1b886bd5e5bf Author: serb Date: 2013-01-15 21:57 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/1b886bd5e5bf 7124525: [macosx] No animation on certain Swing components in Aqua LaF Reviewed-by: alexsch, swingler ! src/macosx/classes/com/apple/laf/AquaPainter.java ! src/macosx/classes/com/apple/laf/ImageCache.java Changeset: 7ea1372be2fe Author: mcherkas Date: 2013-01-16 17:26 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/7ea1372be2fe 8005492: Reduce number of warnings in sun/awt/* classes Reviewed-by: art, anthony ! src/share/classes/java/awt/Button.java ! src/share/classes/java/awt/Checkbox.java ! src/share/classes/java/awt/Choice.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/Frame.java ! src/share/classes/java/awt/KeyboardFocusManager.java ! src/share/classes/java/awt/Scrollbar.java ! src/share/classes/java/awt/TextArea.java ! src/share/classes/java/awt/TextComponent.java ! src/share/classes/java/awt/TextField.java ! src/share/classes/java/awt/Toolkit.java ! src/share/classes/java/awt/Window.java ! src/share/classes/sun/awt/image/SurfaceManager.java Changeset: 23f9955ae34a Author: lana Date: 2013-01-16 15:57 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/23f9955ae34a Merge Changeset: 47243a4efb8b Author: kshefov Date: 2013-01-17 15:08 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/47243a4efb8b 7124209: [macosx] SpringLayout issue. BASELINE is not in the range: [NORTH, SOUTH] Reviewed-by: serb, alexsch + test/javax/swing/SpringLayout/4726194/bug4726194.java Changeset: 035f87fc9f74 Author: anthony Date: 2013-01-18 14:17 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/035f87fc9f74 8005465: [macosx] Evaluate if checking for the -XstartOnFirstThread is still needed in awt.m Summary: Allow one to start AWT on the main thread w/o exceptions Reviewed-by: art, serb ! src/macosx/native/sun/awt/awt.m Changeset: 5309fed435b5 Author: serb Date: 2013-01-18 18:17 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/5309fed435b5 7179050: [macosx] Make LWAWT be able to run on AppKit thread Summary: Removed irrelevant assertions from the LWAWT native methods Reviewed-by: serb, anthony Contributed-by: petr.pchelko at oracle.com ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/native/sun/awt/AWTSurfaceLayers.m ! src/macosx/native/sun/awt/AWTView.m ! src/macosx/native/sun/awt/AWTWindow.m ! src/macosx/native/sun/awt/ApplicationDelegate.m ! src/macosx/native/sun/awt/CClipboard.m ! src/macosx/native/sun/awt/CCursorManager.m ! src/macosx/native/sun/awt/CDesktopPeer.m ! src/macosx/native/sun/awt/CDragSourceContextPeer.m ! src/macosx/native/sun/awt/CImage.m ! src/macosx/native/sun/awt/CInputMethod.m ! src/macosx/native/sun/awt/CMenu.m ! src/macosx/native/sun/awt/CMenuComponent.m ! src/macosx/native/sun/awt/CMenuItem.m ! src/macosx/native/sun/awt/CPopupMenu.m ! src/macosx/native/sun/awt/CTrayIcon.m ! src/macosx/native/sun/awt/CWrapper.m ! src/macosx/native/sun/awt/JavaComponentAccessibility.m ! src/macosx/native/sun/awt/LWCToolkit.m ! src/macosx/native/sun/awt/awt.m ! src/macosx/native/sun/osxapp/ThreadUtilities.h ! src/macosx/native/sun/osxapp/ThreadUtilities.m Changeset: 112c08b41ca2 Author: alitvinov Date: 2013-01-18 18:34 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/112c08b41ca2 8006417: JComboBox.showPopup(), hidePopup() fails in JRE 1.7 on OS X Reviewed-by: art, serb ! src/macosx/classes/sun/lwawt/LWToolkit.java ! src/macosx/classes/sun/lwawt/LWWindowPeer.java + test/javax/swing/JComboBox/ShowPopupAfterHidePopupTest/ShowPopupAfterHidePopupTest.java Changeset: b4131358120a Author: raginip Date: 2013-01-18 11:33 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/b4131358120a 8000839: Integrate the Java Access Bridge with Java Runtime Reviewed-by: ptbrunet, erikj ! make/Makefile + make/bridge/AccessBridgeJava/Makefile + make/bridge/JAWTAccessBridge/Files_cpp.gmk + make/bridge/JAWTAccessBridge/Makefile + make/bridge/Jabswitch/Makefile + make/bridge/Jaccess/Makefile + make/bridge/JavaAccessBridge/Files_cpp.gmk + make/bridge/JavaAccessBridge/Makefile + make/bridge/Makefile + make/bridge/WindowsAccessBridge/Files_cpp.gmk + make/bridge/WindowsAccessBridge/Makefile ! makefiles/CompileJavaClasses.gmk ! makefiles/CompileLaunchers.gmk ! makefiles/CompileNativeLibraries.gmk ! makefiles/CopyFiles.gmk ! makefiles/CreateJars.gmk ! makefiles/GensrcMisc.gmk Changeset: f55d869052dd Author: alexsch Date: 2013-01-21 17:55 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/f55d869052dd 8004298: NPE in WindowsTreeUI.ensureRowsAreVisible Reviewed-by: serb ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsTreeUI.java + test/javax/swing/JTree/8004298/bug8004298.java Changeset: dd7e1cc4253c Author: alexp Date: 2013-01-24 15:26 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/dd7e1cc4253c 7147078: [macosx] Echo char set in TextField doesn't prevent word jumping Reviewed-by: art ! src/macosx/classes/com/apple/laf/AquaKeyBindings.java ! src/macosx/classes/com/apple/laf/AquaLookAndFeel.java ! src/macosx/classes/sun/lwawt/LWTextFieldPeer.java Changeset: 04d2005fa178 Author: alexp Date: 2013-01-24 15:52 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/04d2005fa178 7132793: [macosx] setWheelScrollEnabled action reversed Reviewed-by: serb, art ! src/macosx/classes/sun/lwawt/LWComponentPeer.java ! src/macosx/classes/sun/lwawt/LWScrollPanePeer.java Changeset: 40a45a72a120 Author: serb Date: 2013-01-24 15:55 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/40a45a72a120 8005997: [macosx] Printer Dialog opens an additional title bar Reviewed-by: anthony, art Contributed-by: petr.pchelko at oracle.com ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java Changeset: fab11b21ee6e Author: kizune Date: 2013-01-24 16:09 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/fab11b21ee6e 7143768: [macosx] Unexpected NullPointerException and java.io.IOException during DnD Reviewed-by: alexp ! src/macosx/classes/sun/lwawt/macosx/CDataTransferer.java Changeset: 7dd1896b37c8 Author: malenkov Date: 2013-01-24 17:26 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/7dd1896b37c8 6817933: Setting the background of an HTML Widget changes the native Windows JFileChooser Reviewed-by: alexsch ! src/share/classes/sun/swing/WindowsPlacesBar.java + test/javax/swing/JFileChooser/6817933/Test6817933.java Changeset: f8526b99b825 Author: serb Date: 2013-01-24 17:50 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/f8526b99b825 8003173: [macosx] Fullscreen on Mac leaves an empty rectangle Reviewed-by: anthony, alexsch ! src/macosx/classes/sun/awt/CGraphicsDevice.java ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformView.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java + test/java/awt/FullScreen/FullScreenInsets/FullScreenInsets.java Changeset: 32721a1a8da8 Author: malenkov Date: 2013-01-24 17:57 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/32721a1a8da8 8005138: test/java/beans/Introspector/TestTypeResolver.java fails Reviewed-by: alexsch ! test/java/beans/Introspector/TestTypeResolver.java Changeset: 7cda96a78260 Author: malenkov Date: 2013-01-24 18:06 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/7cda96a78260 8003400: JTree scrolling problem when using large model in WindowsLookAndFeel Reviewed-by: alexsch ! src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java + test/javax/swing/JTree/8003400/Test8003400.java Changeset: e616c28c5120 Author: erikj Date: 2013-01-28 14:23 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e616c28c5120 Merge - make/tools/swing-beans/beaninfo/BeanInfoUtils.java - make/tools/swing-beans/beaninfo/SwingBeanInfoBase.java ! makefiles/CompileJavaClasses.gmk ! makefiles/CompileLaunchers.gmk ! makefiles/CompileNativeLibraries.gmk ! makefiles/CopyFiles.gmk ! makefiles/CreateJars.gmk - src/share/demo/jfc/CodePointIM/CodePointInputMethod.java - src/share/demo/jfc/CodePointIM/CodePointInputMethodDescriptor.java Changeset: a1a55db02f34 Author: lana Date: 2013-01-29 20:19 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/a1a55db02f34 Merge ! makefiles/CreateJars.gmk Changeset: 9d5c43050210 Author: dl Date: 2013-01-11 16:50 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/9d5c43050210 8006123: Support @Contended Annotation - JEP 142 (jdk part) Summary: jdk changes for 8003895. Reviewed-by: darcy, jrose, coleenp, dholmes, kvn Contributed-by: Aleksey Shipilev + src/share/classes/sun/misc/Contended.java Changeset: 739351a0a7a1 Author: kvn Date: 2013-01-23 11:47 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/739351a0a7a1 8006799: Optimize sun.nio.cs.ISO_8859_1$Encode.encodeArrayLoop() (jdk part of 6896617) Summary: Move hot loop in ISO_8859_1$Encode.encodeArrayLoop() into separate method encodeISOArray() to be replaced by JVM JIT compiler with optimized intrinsic code. Reviewed-by: alanb, sherman ! src/share/classes/sun/nio/cs/ISO_8859_1.java Changeset: e9d00d30fcca Author: amurillo Date: 2013-01-25 03:02 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e9d00d30fcca Merge Changeset: ac286bf65242 Author: amurillo Date: 2013-01-30 10:18 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/ac286bf65242 Merge - test/java/rmi/activation/ActivationSystem/unregisterGroup/CallbackInterface.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/Callback_Stub.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup_Stub.java Changeset: 3c499051a5df Author: erikj Date: 2013-01-29 16:35 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/3c499051a5df 8006873: SWAT-b74 msvcr100.dll does not have the permission for all Reviewed-by: alanb, tbell ! makefiles/CopyFiles.gmk Changeset: 4a67fdb752b7 Author: katleman Date: 2013-01-30 13:04 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/4a67fdb752b7 Merge ! makefiles/CopyFiles.gmk Changeset: 6ba6353ab42c Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/6ba6353ab42c Added tag jdk8-b75 for changeset 4a67fdb752b7 ! .hgtags From john.cuthbertson at oracle.com Fri Feb 1 14:17:50 2013 From: john.cuthbertson at oracle.com (John Cuthbertson) Date: Fri, 01 Feb 2013 14:17:50 -0800 Subject: java 1.7.0u4 GarbageCollectionNotificationInfo API In-Reply-To: References: Message-ID: <510C3F0E.9030400@oracle.com> Hi Taras, I'm going to cc the serviceability alias. I think they might be best suited to answer some of your questions. I believe they own the API and the GC provides the data. Answer 1: It should be milliseconds, but there was a bug (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7087969) that is now fixed in hs24 and you could be running into that. Answer 2: This sounds like a bug. Do you have a test case you can share? Answer 3: I'll leave that to the serviceability guys. Regards, JohnC On 1/28/2013 1:11 PM, Taras Tielkes wrote: > > Hi, > > I'm playing around with the new(ish) GarbageCollectionNotificationInfo > API. We're using ParNew+CMS in all our systems, and my first goal is a > comparison between -XX:+PrintGCDetails -verbose:gc output and the > actual data coming through the notification API. I'm using Java > 1.7.0u6 for the experiments. > > So far, I have a number of questions: > 1) duration times > > The javadoc for gcInfo.getDuration() describes the returned value as > expressed in milliseconds. However, the values differ to the gc logs > by several orders of magnitude. How are they calculated? > > On a 1-core Linux x64 VM, the values actually look like microseconds, > but on a Win32 machines I still can't figure out any resemblance to gc > log timings. > > Apart from the unit, what should the value represent? Real time or > user time? > > 2) CMS events with cause "No GC" > > How exactly do the phases of CMS map to the notifications emitted for > the CMS collector? > > I sometimes get events with cause "No GC". Does this indicate a > background CMS cycle being initiated by hitting the occupancy fraction > threshold? > > 3) Eden/Survivor > > It seems that the MemoryUsage API treats Eden and Survivor separately, > i.e. survivor is not a subset of eden. This is different from the gc > log presentation. Is my understanding correct? > > In general, I think it would be useful to have a code sample for the > GC notification API that generates output as close as possible to > -XX:+PrintGCDetails -verbose:gc, as far as the data required to do so > is available. > > The API looks quite promising, it seems it could really benefit from a > bit of documentation love :) > > Thanks, > -tt > > > > _______________________________________________ > hotspot-gc-use mailing list > hotspot-gc-use at openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130201/37dca1ab/attachment.html From harold.seigel at oracle.com Fri Feb 1 14:39:35 2013 From: harold.seigel at oracle.com (harold.seigel at oracle.com) Date: Fri, 01 Feb 2013 22:39:35 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 2 new changesets Message-ID: <20130201223941.C399C47790@hg.openjdk.java.net> Changeset: baf7fac3167e Author: hseigel Date: 2013-02-01 14:14 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/baf7fac3167e 8006298: Specifying malformed JFR options (-XX:+FlightRecorderOptions) outputs non-sensical error Summary: Change error messages for malformed options so the messages are more useful. Reviewed-by: mikael, kvn, nloodin ! src/share/vm/runtime/arguments.cpp Changeset: 4c75576d18d0 Author: hseigel Date: 2013-02-01 13:30 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/4c75576d18d0 Merge From john.coomes at oracle.com Fri Feb 1 14:40:57 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 01 Feb 2013 22:40:57 +0000 Subject: hg: hsx/hotspot-rt/langtools: 53 new changesets Message-ID: <20130201224309.16CBA47791@hg.openjdk.java.net> Changeset: 0c244701188e Author: mchung Date: 2012-12-28 22:25 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/0c244701188e 8003562: Provide a CLI tool to analyze class dependencies Reviewed-by: jjg, alanb, ulfzibis, erikj ! make/build.properties ! makefiles/BuildLangtools.gmk ! src/share/classes/com/sun/tools/classfile/Dependencies.java ! src/share/classes/com/sun/tools/classfile/Dependency.java + src/share/classes/com/sun/tools/jdeps/Archive.java + src/share/classes/com/sun/tools/jdeps/ClassFileReader.java + src/share/classes/com/sun/tools/jdeps/JdepsTask.java + src/share/classes/com/sun/tools/jdeps/Main.java + src/share/classes/com/sun/tools/jdeps/PlatformClassPath.java + src/share/classes/com/sun/tools/jdeps/resources/jdeps.properties + src/share/classes/com/sun/tools/jdeps/resources/jdk.properties + src/share/classes/com/sun/tools/jdeps/resources/version.properties-template ! test/Makefile + test/tools/jdeps/Basic.java + test/tools/jdeps/Test.java + test/tools/jdeps/p/Foo.java Changeset: 31780dd06ec7 Author: jjg Date: 2012-12-29 17:33 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/31780dd06ec7 8004727: Add compiler support for parameter reflection Reviewed-by: jjg Contributed-by: eric.mccorkle at oracle.com ! src/share/classes/com/sun/tools/classfile/Attribute.java ! src/share/classes/com/sun/tools/classfile/ClassWriter.java + src/share/classes/com/sun/tools/classfile/MethodParameters_attribute.java ! src/share/classes/com/sun/tools/javac/code/Symbol.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/main/Option.java ! src/share/classes/com/sun/tools/javac/resources/javac.properties ! src/share/classes/com/sun/tools/javac/util/Names.java ! src/share/classes/com/sun/tools/javap/AttributeWriter.java + test/tools/javac/MethodParameters.java + test/tools/javap/MethodParameters.java Changeset: 383bc0fbd759 Author: jjg Date: 2012-12-30 06:17 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/383bc0fbd759 8005195: Doclint regression tests fail on windows Reviewed-by: mcimadamore ! test/tools/doclint/DocLintTester.java Changeset: 1d8438db45f2 Author: lana Date: 2013-01-01 17:50 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/1d8438db45f2 Merge Changeset: 0e17c3c23e3b Author: bpatel Date: 2013-01-04 23:06 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/0e17c3c23e3b 8004891: Check for abstract method in javadoc does not conform to the language model Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java ! src/share/classes/com/sun/tools/javadoc/MethodDocImpl.java + test/com/sun/javadoc/testAbstractMethod/TestAbstractMethod.java + test/com/sun/javadoc/testAbstractMethod/pkg/A.java + test/com/sun/javadoc/testAbstractMethod/pkg/B.java + test/com/sun/javadoc/testAbstractMethod/pkg/C.java Changeset: 8c0c63a6e3b7 Author: bpatel Date: 2013-01-05 00:55 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/8c0c63a6e3b7 8005092: javadoc should check for synthesized bit on an annotation Reviewed-by: jjg ! src/share/classes/com/sun/javadoc/AnnotationDesc.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/javadoc/AnnotationDescImpl.java + test/com/sun/javadoc/testRepeatedAnnotations/TestRepeatedAnnotations.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/C.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContaineeRegDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContaineeSynthDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContainerRegDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContainerRegNotDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContainerSynthDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/D.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/NonSynthDocContainer.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegArryDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContaineeDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContaineeNotDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContainerDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContainerNotDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/C.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContaineeNotDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContaineeSynthDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContainerSynthNotDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContainerValDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContainerValNotDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContaineeDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContaineeNotDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContainerValDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContainerValNotDoc.java Changeset: a9cb93cca229 Author: jjh Date: 2013-01-07 17:51 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/a9cb93cca229 8005647: langtools/test/tools/javap/MethodParameters.java fails on windows Summary: Fix javap to not output \r\r\n Reviewed-by: jjg ! src/share/classes/com/sun/tools/javap/ClassWriter.java ! test/tools/javac/MethodParameters.java ! test/tools/javap/MethodParameters.java Changeset: 38d3d1027f5a Author: mcimadamore Date: 2013-01-08 10:15 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/38d3d1027f5a 8005243: Restructure method check code to allow pluggable checkers Summary: Add interface to perform a method check - to be implemented by helper classes Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Infer.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java Changeset: db91d860156a Author: mcimadamore Date: 2013-01-08 10:16 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/db91d860156a 8005179: Cleanup Resolve.AmbiguityError Summary: Linearize nested ambiguity errors Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! test/tools/javac/lambda/TargetType21.java ! test/tools/javac/lambda/TargetType21.out Changeset: d07340b61e6a Author: mcimadamore Date: 2013-01-08 10:17 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/d07340b61e6a 8005184: Restructure DeferredAttr to allow pluggable deferred type completers Summary: Add hooks to generalize deferred type completion via custom helper objects Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java Changeset: 954541f13717 Author: vromero Date: 2013-01-08 13:47 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/954541f13717 8005167: execution time of combo tests in javac should be improved Reviewed-by: jjg, jjh ! test/tools/javac/Diagnostics/6769027/T6769027.java ! test/tools/javac/T7093325.java ! test/tools/javac/cast/intersection/IntersectionTypeCastTest.java ! test/tools/javac/defaultMethods/super/TestDefaultSuperCall.java ! test/tools/javac/failover/CheckAttributedTree.java ! test/tools/javac/generics/diamond/7046778/DiamondAndInnerClassTest.java ! test/tools/javac/generics/rawOverride/7062745/GenericOverrideTest.java ! test/tools/javac/lambda/FunctionalInterfaceConversionTest.java ! test/tools/javac/lambda/LambdaParserTest.java ! test/tools/javac/lambda/MethodReferenceParserTest.java ! test/tools/javac/lambda/TestInvokeDynamic.java ! test/tools/javac/lambda/mostSpecific/StructuralMostSpecificTest.java ! test/tools/javac/lambda/typeInference/combo/TypeInferenceComboTest.java + test/tools/javac/lib/JavacTestingAbstractThreadedTest.java ! test/tools/javac/multicatch/7030606/DisjunctiveTypeWellFormednessTest.java ! test/tools/javac/varargs/7042566/T7042566.java ! test/tools/javac/varargs/warning/Warn4.java ! test/tools/javac/varargs/warning/Warn5.java Changeset: d2eb08b3f64f Author: jjg Date: 2013-01-09 10:26 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/d2eb08b3f64f 8005644: set default max errs and max warns Reviewed-by: darcy ! src/share/classes/com/sun/tools/javadoc/Messager.java + test/tools/javadoc/MaxWarns.java Changeset: 7612fe48be90 Author: darcy Date: 2013-01-09 20:02 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/7612fe48be90 8004730: Add language model support for parameter reflection Reviewed-by: abuckley ! src/share/classes/javax/lang/model/element/Element.java ! src/share/classes/javax/lang/model/element/VariableElement.java ! src/share/classes/javax/lang/model/element/package-info.java Changeset: d462da465da6 Author: jjg Date: 2013-01-10 14:09 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/d462da465da6 8006037: extra space in javac -help for -J and @ options Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/main/Option.java + test/tools/javac/main/Option_J_At_Test.java Changeset: 7d2f628f04f1 Author: jjg Date: 2013-01-10 15:48 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/7d2f628f04f1 8006033: bug in Pretty.toSimpleString Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/tree/Pretty.java + test/tools/javac/tree/PrettySimpleStringTest.java Changeset: 8d0baee36c71 Author: lana Date: 2013-01-10 15:53 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/8d0baee36c71 Merge Changeset: 56c97aff46bb Author: katleman Date: 2013-01-16 12:00 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/56c97aff46bb Added tag jdk8-b73 for changeset 8d0baee36c71 ! .hgtags Changeset: 54e4ba223319 Author: katleman Date: 2013-01-24 16:49 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/54e4ba223319 Added tag jdk8-b74 for changeset 56c97aff46bb ! .hgtags Changeset: fc4cb1577ad6 Author: jjg Date: 2013-01-10 19:38 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/fc4cb1577ad6 8004834: Add doclint support into javadoc Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets.properties ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MessageRetriever.java ! src/share/classes/com/sun/tools/javac/comp/Enter.java ! src/share/classes/com/sun/tools/javadoc/DocEnv.java ! src/share/classes/com/sun/tools/javadoc/DocImpl.java ! src/share/classes/com/sun/tools/javadoc/JavadocMemberEnter.java ! src/share/classes/com/sun/tools/javadoc/RootDocImpl.java ! test/com/sun/javadoc/5093723/T5093723.java ! test/com/sun/javadoc/testBadSourceFile/TestBadSourceFile.java ! test/com/sun/javadoc/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/com/sun/javadoc/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/com/sun/javadoc/testReturnTag/TestReturnTag.java ! test/com/sun/javadoc/testTagInheritence/TestTagInheritence.java ! test/com/sun/javadoc/testTagMisuse/TestTagMisuse.java ! test/com/sun/javadoc/testValueTag/TestValueTag.java ! test/com/sun/javadoc/testWarnBadParamNames/TestWarnBadParamNames.java ! test/com/sun/javadoc/testWarnings/TestWarnings.java ! test/tools/javadoc/6958836/Test.java ! test/tools/javadoc/6964914/Test.java ! test/tools/javadoc/6964914/TestStdDoclet.java ! test/tools/javadoc/MaxWarns.java ! test/tools/javadoc/T6551367.java + test/tools/javadoc/doclint/DocLintTest.java Changeset: 9f42a06a49c0 Author: jfranck Date: 2013-01-14 19:52 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/9f42a06a49c0 7193719: Support repeating annotations in javax.lang.model Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/model/JavacElements.java ! src/share/classes/javax/lang/model/element/Element.java Changeset: df694c775e8a Author: jjg Date: 2013-01-14 13:50 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/df694c775e8a 8006119: update javac to follow latest spec for repeatable annotations Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/code/Annotations.java ! src/share/classes/com/sun/tools/javac/code/Symtab.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/model/JavacElements.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContaineeSynthDoc.java ! test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContainerSynthDoc.java ! test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContaineeSynthDoc.java ! test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContainerSynthNotDoc.java ! test/tools/javac/annotations/repeatingAnnotations/BaseAnnoAsContainerAnno.java ! test/tools/javac/annotations/repeatingAnnotations/BaseAnnoAsContainerAnno.out ! test/tools/javac/annotations/repeatingAnnotations/BasicRepeatingAnnotations.java ! test/tools/javac/annotations/repeatingAnnotations/CheckTargets.java ! test/tools/javac/annotations/repeatingAnnotations/ClassReaderDefault.java ! test/tools/javac/annotations/repeatingAnnotations/ContainerHasRepeatedContained.java ! test/tools/javac/annotations/repeatingAnnotations/CyclicAnnotation.java ! test/tools/javac/annotations/repeatingAnnotations/CyclicAnnotation.out ! test/tools/javac/annotations/repeatingAnnotations/DefaultCasePresent.java ! test/tools/javac/annotations/repeatingAnnotations/DelayRepeatedContainer.java ! test/tools/javac/annotations/repeatingAnnotations/DocumentedContainerAnno.java ! test/tools/javac/annotations/repeatingAnnotations/DocumentedContainerAnno.out ! test/tools/javac/annotations/repeatingAnnotations/InheritedContainerAnno.java ! test/tools/javac/annotations/repeatingAnnotations/InheritedContainerAnno.out ! test/tools/javac/annotations/repeatingAnnotations/InvalidTarget.java - test/tools/javac/annotations/repeatingAnnotations/MissingContainedBy.java ! test/tools/javac/annotations/repeatingAnnotations/MissingContainer.java ! test/tools/javac/annotations/repeatingAnnotations/MissingContainer.out - test/tools/javac/annotations/repeatingAnnotations/MissingContainerFor.java ! test/tools/javac/annotations/repeatingAnnotations/MissingDefaultCase1.java ! test/tools/javac/annotations/repeatingAnnotations/MissingDefaultCase1.out ! test/tools/javac/annotations/repeatingAnnotations/MissingDefaultCase2.java ! test/tools/javac/annotations/repeatingAnnotations/MissingDefaultCase2.out ! test/tools/javac/annotations/repeatingAnnotations/MissingValueMethod.java ! test/tools/javac/annotations/repeatingAnnotations/MissingValueMethod.out ! test/tools/javac/annotations/repeatingAnnotations/MultiLevelRepeatableAnno.java ! test/tools/javac/annotations/repeatingAnnotations/MultipleAnnoMixedOrder.java ! test/tools/javac/annotations/repeatingAnnotations/NestedContainers.java ! test/tools/javac/annotations/repeatingAnnotations/NoRepeatableAnno.out ! test/tools/javac/annotations/repeatingAnnotations/RepMemberAnno.java ! test/tools/javac/annotations/repeatingAnnotations/RepSelfMemberAnno.java ! test/tools/javac/annotations/repeatingAnnotations/RepeatingAndContainerPresent.java ! test/tools/javac/annotations/repeatingAnnotations/RepeatingTargetNotAllowed.java ! test/tools/javac/annotations/repeatingAnnotations/RepeatingTargetNotAllowed.out ! test/tools/javac/annotations/repeatingAnnotations/SelfRepeatingAnnotations.java ! test/tools/javac/annotations/repeatingAnnotations/SingleRepeatingAndContainer.java - test/tools/javac/annotations/repeatingAnnotations/UseWrongContainedBy.java - test/tools/javac/annotations/repeatingAnnotations/UseWrongContainerFor.java + test/tools/javac/annotations/repeatingAnnotations/UseWrongRepeatable.java - test/tools/javac/annotations/repeatingAnnotations/WrongContainedBy.java - test/tools/javac/annotations/repeatingAnnotations/WrongContainerFor.java ! test/tools/javac/annotations/repeatingAnnotations/WrongReturnTypeForValue.java ! test/tools/javac/annotations/repeatingAnnotations/WrongReturnTypeForValue.out ! test/tools/javac/annotations/repeatingAnnotations/combo/BasicSyntaxCombo.java ! test/tools/javac/annotations/repeatingAnnotations/combo/DeprecatedAnnoCombo.java ! test/tools/javac/annotations/repeatingAnnotations/combo/DocumentedAnnoCombo.java ! test/tools/javac/annotations/repeatingAnnotations/combo/Helper.java ! test/tools/javac/annotations/repeatingAnnotations/combo/InheritedAnnoCombo.java ! test/tools/javac/annotations/repeatingAnnotations/combo/RetentionAnnoCombo.java ! test/tools/javac/diags/examples.not-yet.txt - test/tools/javac/diags/examples/ContainedByDocumentedMismatch.java - test/tools/javac/diags/examples/ContainedByInheritedMismatch.java - test/tools/javac/diags/examples/ContainedByNoValue.java - test/tools/javac/diags/examples/ContainedByNonDefault.java - test/tools/javac/diags/examples/ContainedByRetentionMismatch.java - test/tools/javac/diags/examples/ContainedByTargetMismatch.java - test/tools/javac/diags/examples/ContainedByWrongValueType.java ! test/tools/javac/diags/examples/InvalidDuplicateAnnotation.java + test/tools/javac/diags/examples/RepeatableDocumentedMismatch.java + test/tools/javac/diags/examples/RepeatableInheritedMismatch.java + test/tools/javac/diags/examples/RepeatableNoValue.java + test/tools/javac/diags/examples/RepeatableNonDefault.java + test/tools/javac/diags/examples/RepeatableRetentionMismatch.java + test/tools/javac/diags/examples/RepeatableTargetMismatch.java + test/tools/javac/diags/examples/RepeatableWrongValueType.java ! test/tools/javac/diags/examples/RepeatingAnnotationAndContainer.java - test/tools/javac/diags/examples/WrongContainedBy.java - test/tools/javac/diags/examples/WrongContainerFor.java Changeset: d54b4a091450 Author: jjg Date: 2013-01-14 14:17 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/d54b4a091450 8006241: Test DocRootSlash.java fails Reviewed-by: darcy ! test/com/sun/javadoc/DocRootSlash/DocRootSlash.java Changeset: f805b5e3c9d1 Author: chegar Date: 2013-01-15 20:38 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/f805b5e3c9d1 8006344: Broken javadoc link in javax.lang.model.element.Element Reviewed-by: lancea, alanb, jfranck ! src/share/classes/javax/lang/model/element/Element.java Changeset: bc1023e0e533 Author: jjg Date: 2013-01-15 13:03 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/bc1023e0e533 8006224: Doclint NPE for attribute with no value Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclint/Checker.java ! src/share/classes/com/sun/tools/doclint/resources/doclint.properties + test/tools/doclint/AnchorTest.java + test/tools/doclint/AnchorTest.out Changeset: f785dcac17b7 Author: mcimadamore Date: 2013-01-16 16:27 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/f785dcac17b7 8005854: Add support for array constructor references Summary: Support constructor references of the kind int[]::new Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/tree/JCTree.java + test/tools/javac/lambda/MethodReference59.java + test/tools/javac/lambda/MethodReference60.java + test/tools/javac/lambda/MethodReference60.out Changeset: 7aa2025bbb7b Author: mcimadamore Date: 2013-01-16 16:30 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/7aa2025bbb7b 8005299: Add FunctionalInterface checking to javac Summary: Javac should check that types annotated with @FunctionalInterface are indeed functional interfaces Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Symtab.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java ! test/tools/javac/diags/examples.not-yet.txt + test/tools/javac/diags/examples/BadFunctionalIntfAnno.java ! test/tools/javac/lambda/BadConv03.out ! test/tools/javac/lambda/BadLambdaPos.out ! test/tools/javac/lambda/BadTargetType.out + test/tools/javac/lambda/FunctionalInterfaceAnno.java + test/tools/javac/lambda/FunctionalInterfaceAnno.out ! test/tools/javac/lambda/Intersection01.out ! test/tools/javac/lambda/LambdaConv09.out ! test/tools/javac/lambda/LambdaExpr10.out ! test/tools/javac/lambda/MethodReference04.out ! test/tools/javac/lambda/TargetType17.out ! test/tools/javac/lambda/TargetType43.out ! test/tools/javac/lambda/funcInterfaces/LambdaTest2_neg1.out ! test/tools/javac/lambda/funcInterfaces/NonSAM1.out ! test/tools/javac/lambda/funcInterfaces/NonSAM3.out ! test/tools/javac/lambda/lambdaExpression/AbstractClass_neg.out ! test/tools/javac/lambda/lambdaExpression/InvalidExpression5.out Changeset: 1afdf1f1472b Author: mcimadamore Date: 2013-01-16 17:40 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/1afdf1f1472b 8005964: Regression: difference in error recovery after ambiguity causes JCK test failure Summary: Wrong implementation of ResolveError.access in AmbiguityError Reviewed-by: jjh ! src/share/classes/com/sun/tools/javac/comp/Resolve.java Changeset: 6b6311a8c9cc Author: jjg Date: 2013-01-16 10:29 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/6b6311a8c9cc 8006236: doclint: structural issue hidden Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclint/Checker.java + test/tools/doclint/EndTagsTest.java + test/tools/doclint/EndTagsTest.out Changeset: 63b20bde7cd6 Author: lana Date: 2013-01-16 12:14 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/63b20bde7cd6 Merge Changeset: 8b749558767b Author: darcy Date: 2013-01-16 13:22 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/8b749558767b 8006283: Change to Class.cast() in javax.lang.model implementation for repeating annotations Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/model/JavacElements.java Changeset: 916143318f10 Author: jjg Date: 2013-01-16 20:41 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/916143318f10 8006228: Doclint doesn't detect {@code nested inline} Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclint/Checker.java ! src/share/classes/com/sun/tools/doclint/resources/doclint.properties + test/tools/doclint/LiteralTest.java + test/tools/doclint/LiteralTest.out Changeset: 2d2b2be57c78 Author: mcimadamore Date: 2013-01-17 18:15 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/2d2b2be57c78 8005852: Treatment of '_' as identifier Summary: warn when '_' is found in an identifier position Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/parser/Tokens.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/tools/javac/lambda/LambdaParserTest.java Changeset: 22e417cdddee Author: ohrstrom Date: 2013-01-18 00:16 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/22e417cdddee 8004658: Add internal smart javac wrapper to solve JEP 139 Reviewed-by: jjg ! make/build.properties ! make/build.xml + src/share/classes/com/sun/tools/sjavac/BuildState.java + src/share/classes/com/sun/tools/sjavac/CleanProperties.java + src/share/classes/com/sun/tools/sjavac/CompileChunk.java + src/share/classes/com/sun/tools/sjavac/CompileJavaPackages.java + src/share/classes/com/sun/tools/sjavac/CompileProperties.java + src/share/classes/com/sun/tools/sjavac/CopyFile.java + src/share/classes/com/sun/tools/sjavac/JavacState.java + src/share/classes/com/sun/tools/sjavac/Log.java + src/share/classes/com/sun/tools/sjavac/Main.java + src/share/classes/com/sun/tools/sjavac/Module.java + src/share/classes/com/sun/tools/sjavac/Package.java + src/share/classes/com/sun/tools/sjavac/ProblemException.java + src/share/classes/com/sun/tools/sjavac/Source.java + src/share/classes/com/sun/tools/sjavac/Transformer.java + src/share/classes/com/sun/tools/sjavac/Util.java + src/share/classes/com/sun/tools/sjavac/comp/Dependencies.java + src/share/classes/com/sun/tools/sjavac/comp/JavaCompilerWithDeps.java + src/share/classes/com/sun/tools/sjavac/comp/PubapiVisitor.java + src/share/classes/com/sun/tools/sjavac/comp/ResolveWithDeps.java + src/share/classes/com/sun/tools/sjavac/comp/SmartFileManager.java + src/share/classes/com/sun/tools/sjavac/comp/SmartFileObject.java + src/share/classes/com/sun/tools/sjavac/comp/SmartWriter.java + src/share/classes/com/sun/tools/sjavac/server/CompilerPool.java + src/share/classes/com/sun/tools/sjavac/server/CompilerThread.java + src/share/classes/com/sun/tools/sjavac/server/JavacServer.java + src/share/classes/com/sun/tools/sjavac/server/PortFile.java + src/share/classes/com/sun/tools/sjavac/server/SysInfo.java + test/tools/sjavac/SJavac.java Changeset: 3d84ae209919 Author: mcimadamore Date: 2013-01-18 15:38 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/3d84ae209919 8006561: Langtools test failure: missing diags/examples Summary: forgot to hg add tests Reviewed-by: jjg + test/tools/javac/diags/examples/UnderscoreAsIdentifier.java + test/tools/javac/lambda/WarnUnderscoreAsIdent.java + test/tools/javac/lambda/WarnUnderscoreAsIdent.out Changeset: 4a3cfc970c6f Author: jjg Date: 2013-01-21 10:00 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/4a3cfc970c6f 8006263: Supplementary test cases needed for doclint Reviewed-by: mcimadamore Contributed-by: peter.jensen at oracle.com ! src/share/classes/com/sun/tools/doclint/Checker.java ! src/share/classes/com/sun/tools/doclint/DocLint.java ! src/share/classes/com/sun/tools/doclint/Entity.java ! src/share/classes/com/sun/tools/doclint/HtmlTag.java + test/tools/doclint/CoverageExtras.java ! test/tools/doclint/DocLintTester.java + test/tools/doclint/html/EntitiesTest.java + test/tools/doclint/html/EntitiesTest.out + test/tools/doclint/tool/HelpTest.java + test/tools/doclint/tool/HelpTest.out + test/tools/doclint/tool/MaxDiagsTest.java + test/tools/doclint/tool/MaxDiagsTest.out + test/tools/doclint/tool/PathsTest.java + test/tools/doclint/tool/RunTest.java + test/tools/doclint/tool/StatsTest.java + test/tools/doclint/tool/StatsTest.out Changeset: 967052c425a1 Author: jjg Date: 2013-01-21 10:07 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/967052c425a1 8006251: doclint: incorrect position for diagnostic for illegal text in tags Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/doclint/Checker.java ! src/share/classes/com/sun/tools/doclint/HtmlTag.java ! src/share/classes/com/sun/tools/doclint/resources/doclint.properties ! test/tools/doclint/HtmlTagsTest.java ! test/tools/doclint/HtmlTagsTest.out + test/tools/doclint/html/BlockTagsTest.java + test/tools/doclint/html/InlineTagsTest.java + test/tools/doclint/html/ListTagsTest.java + test/tools/doclint/html/OtherTagsTest.java + test/tools/doclint/html/OtherTagsTest.out + test/tools/doclint/html/TableTagsTest.java + test/tools/doclint/html/TagNotAllowed.java + test/tools/doclint/html/TagNotAllowed.out + test/tools/doclint/html/TextNotAllowed.java + test/tools/doclint/html/TextNotAllowed.out ! test/tools/doclint/tidy/ParaInPre.out ! test/tools/doclint/tidy/TextNotAllowed.out Changeset: b450959b42ff Author: lana Date: 2013-01-20 23:39 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/b450959b42ff Merge Changeset: 1985e35e97b2 Author: lana Date: 2013-01-21 11:16 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/1985e35e97b2 Merge Changeset: 7873d37f5b37 Author: mcimadamore Date: 2013-01-21 20:13 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/7873d37f5b37 8005244: Implement overload resolution as per latest spec EDR Summary: Add support for stuck expressions and provisional applicability Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Source.java ! src/share/classes/com/sun/tools/javac/code/Types.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/DeferredAttr.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.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/tree/JCTree.java ! src/share/classes/com/sun/tools/javac/tree/Pretty.java ! src/share/classes/com/sun/tools/javac/tree/TreeInfo.java ! test/tools/javac/Diagnostics/6722234/T6722234d_1.out ! test/tools/javac/Diagnostics/6722234/T6722234d_2.out ! test/tools/javac/diags/examples.not-yet.txt ! test/tools/javac/diags/examples/CyclicInference.java - test/tools/javac/diags/examples/InferredDoNotConformToLower.java - test/tools/javac/diags/examples/NoUniqueMaximalInstance.java ! test/tools/javac/diags/examples/WhereIntersection.java ! test/tools/javac/generics/diamond/T6939780.out ! test/tools/javac/generics/diamond/neg/Neg05.out ! test/tools/javac/generics/diamond/neg/Neg10.java ! test/tools/javac/generics/diamond/neg/Neg10.out ! test/tools/javac/generics/inference/6315770/T6315770.out ! test/tools/javac/generics/inference/6638712/T6638712b.out ! test/tools/javac/generics/inference/6650759/T6650759m.out ! test/tools/javac/lambda/MethodReference25.java + test/tools/javac/lambda/MethodReference25.out ! test/tools/javac/lambda/MethodReference26.java - test/tools/javac/lambda/MethodReference26.out ! test/tools/javac/lambda/MethodReference43.java ! test/tools/javac/lambda/TargetType01.java + test/tools/javac/lambda/TargetType01.out ! test/tools/javac/lambda/TargetType06.java - test/tools/javac/lambda/TargetType06.out ! test/tools/javac/lambda/TargetType10.out ! test/tools/javac/lambda/TargetType11.java - test/tools/javac/lambda/TargetType11.out ! test/tools/javac/lambda/TargetType14.out ! test/tools/javac/lambda/TargetType21.java ! test/tools/javac/lambda/TargetType21.out ! test/tools/javac/lambda/TargetType26.out ! test/tools/javac/lambda/TargetType27.out ! test/tools/javac/lambda/TargetType28.out ! test/tools/javac/lambda/TargetType39.out ! test/tools/javac/lambda/TargetType45.java - test/tools/javac/lambda/TargetType45.out ! test/tools/javac/lambda/TargetType50.out + test/tools/javac/lambda/TargetType51.java + test/tools/javac/lambda/TargetType52.java + test/tools/javac/lambda/TargetType52.out ! test/tools/javac/lambda/VoidCompatibility.java - test/tools/javac/lambda/VoidCompatibility.out ! test/tools/javac/lambda/lambdaExpression/SamConversionComboTest.java ! test/tools/javac/lambda/methodReference/SamConversion.java ! test/tools/javac/lambda/methodReference/SamConversionComboTest.java ! test/tools/javac/lambda/typeInference/InferenceTest_neg5.out ! test/tools/javac/resolve/tests/PrimitiveOverReferenceVarargsAmbiguous.java Changeset: c7c41a044e7c Author: mcimadamore Date: 2013-01-21 20:14 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/c7c41a044e7c 8006566: Remove transient lambda-related guards from JavacParser Summary: Remove transitional internal flag for allowing intersection types in cast Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/tools/javac/cast/intersection/IntersectionTypeCastTest.java ! test/tools/javac/cast/intersection/IntersectionTypeParserTest.java ! test/tools/javac/cast/intersection/model/Model01.java ! test/tools/javac/diags/examples/SecondaryBoundMustBeMarkerIntf.java ! test/tools/javac/lambda/Intersection01.java ! test/tools/javac/lambda/intersection/IntersectionTargetTypeTest.java Changeset: b12ffdfa1341 Author: mcimadamore Date: 2013-01-21 20:15 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/b12ffdfa1341 8005851: Remove support for synchronized interface methods Summary: Synchronized default methods are no longer supported Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Flags.java ! test/tools/javac/defaultMethods/syntax/TestDefaultMethodsSyntax.java ! test/tools/javac/lambdaShapes/org/openjdk/tests/vm/DefaultMethodsTest.java Changeset: cf84b07a82db Author: mcimadamore Date: 2013-01-21 20:19 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/cf84b07a82db 8005166: Add support for static interface methods Summary: Support public static interface methods Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Source.java ! src/share/classes/com/sun/tools/javac/code/Symbol.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/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/defaultMethods/static/Static01.java + test/tools/javac/defaultMethods/static/Static02.java + test/tools/javac/defaultMethods/static/Static02.out + test/tools/javac/defaultMethods/static/hiding/InterfaceMethodHidingTest.java + test/tools/javac/defaultMethods/static/import/StaticImport1.java + test/tools/javac/defaultMethods/static/import/StaticImport2.java + test/tools/javac/defaultMethods/static/import/StaticImport2.out + test/tools/javac/defaultMethods/static/import/StaticImport3.java + test/tools/javac/defaultMethods/static/import/StaticImport3.out + test/tools/javac/defaultMethods/static/import/pkg/A.java + test/tools/javac/defaultMethods/static/import/pkg/B.java + test/tools/javac/defaultMethods/static/import/pkg/C.java ! test/tools/javac/defaultMethods/syntax/TestDefaultMethodsSyntax.java + test/tools/javac/diags/examples/IllegalStaticIntfMethCall.java + test/tools/javac/diags/examples/StaticIntfMethodNotSupported.java Changeset: be443002e970 Author: mcimadamore Date: 2013-01-22 16:23 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/be443002e970 8006673: TargetType52 fails because of bad golden file Summary: Fix golden file in negative test Reviewed-by: jjg ! test/tools/javac/lambda/TargetType52.out Changeset: b61e5f801f7c Author: mcimadamore Date: 2013-01-22 16:39 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/b61e5f801f7c 8006684: Compiler produces java.lang.VerifyError: Bad type on operand stack Summary: Lambda desugaring generates spurious references to 'this' in static contexts Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java + test/tools/javac/lambda/LambdaExpr21.java Changeset: 8943b4213f59 Author: jjg Date: 2013-01-22 18:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/8943b4213f59 8006723: sjavac test fails to compile on clean build Reviewed-by: ksrini ! test/tools/sjavac/SJavac.java + test/tools/sjavac/SJavacWrapper.java Changeset: f5b70712e0d5 Author: jjg Date: 2013-01-22 19:06 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/f5b70712e0d5 8006728: temporarily workaround jtreg problems for doclint tests in othervm Reviewed-by: jjh + test/tools/doclint/html/AAA.java + test/tools/doclint/tidy/AAA.java + test/tools/doclint/tool/AAA.java Changeset: 385828dd5604 Author: jjg Date: 2013-01-22 19:07 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/385828dd5604 Merge Changeset: 97bd5e7151bc Author: mcimadamore Date: 2013-01-23 15:08 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/97bd5e7151bc 8006692: jdk/test/java/util/Collections/BigBinarySearch.java fails to compile Summary: Missing boxing cause spurious inference failure Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Infer.java + test/tools/javac/generics/inference/8006692/T8006692.java Changeset: 5c956be64b9e Author: vromero Date: 2013-01-23 20:57 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/5c956be64b9e 8006694: temporarily workaround combo tests are causing time out in several platforms Reviewed-by: jjg Contributed-by: maurizio.cimadamore at oracle.com ! test/Makefile ! test/tools/javac/Diagnostics/6769027/T6769027.java ! test/tools/javac/T7093325.java ! test/tools/javac/cast/intersection/IntersectionTypeCastTest.java ! test/tools/javac/defaultMethods/super/TestDefaultSuperCall.java ! test/tools/javac/failover/CheckAttributedTree.java ! test/tools/javac/generics/diamond/7046778/DiamondAndInnerClassTest.java ! test/tools/javac/generics/rawOverride/7062745/GenericOverrideTest.java ! test/tools/javac/lambda/FunctionalInterfaceConversionTest.java ! test/tools/javac/lambda/LambdaParserTest.java ! test/tools/javac/lambda/MethodReferenceParserTest.java ! test/tools/javac/lambda/TestInvokeDynamic.java ! test/tools/javac/lambda/mostSpecific/StructuralMostSpecificTest.java ! test/tools/javac/lambda/typeInference/combo/TypeInferenceComboTest.java ! test/tools/javac/lambdaShapes/org/openjdk/tests/vm/FDSeparateCompilationTest.java ! test/tools/javac/lib/JavacTestingAbstractThreadedTest.java ! test/tools/javac/multicatch/7030606/DisjunctiveTypeWellFormednessTest.java ! test/tools/javac/varargs/7042566/T7042566.java ! test/tools/javac/varargs/warning/Warn4.java ! test/tools/javac/varargs/warning/Warn5.java Changeset: 71f35e4b93a5 Author: jjg Date: 2013-01-23 13:27 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/71f35e4b93a5 8006775: JSR 308: Compiler changes in JDK8 Reviewed-by: jjg Contributed-by: mernst at cs.washington.edu, wmdietl at cs.washington.edu, mpapi at csail.mit.edu, mahmood at notnoop.com + src/share/classes/com/sun/javadoc/AnnotatedType.java ! src/share/classes/com/sun/javadoc/ExecutableMemberDoc.java ! src/share/classes/com/sun/javadoc/Type.java ! src/share/classes/com/sun/javadoc/TypeVariable.java + src/share/classes/com/sun/source/tree/AnnotatedTypeTree.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/TypeParameterTree.java ! src/share/classes/com/sun/source/util/SimpleTreeVisitor.java ! src/share/classes/com/sun/source/util/TaskEvent.java ! src/share/classes/com/sun/source/util/TreeScanner.java ! src/share/classes/com/sun/tools/classfile/Attribute.java ! src/share/classes/com/sun/tools/classfile/ClassWriter.java + src/share/classes/com/sun/tools/classfile/RuntimeInvisibleTypeAnnotations_attribute.java + src/share/classes/com/sun/tools/classfile/RuntimeTypeAnnotations_attribute.java + src/share/classes/com/sun/tools/classfile/RuntimeVisibleTypeAnnotations_attribute.java + src/share/classes/com/sun/tools/classfile/TypeAnnotation.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractExecutableMemberWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkFactoryImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkInfoImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkFactory.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkInfo.java ! src/share/classes/com/sun/tools/javac/code/Annotations.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/Lint.java ! src/share/classes/com/sun/tools/javac/code/Printer.java ! src/share/classes/com/sun/tools/javac/code/Source.java ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/code/TargetType.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/ConstFold.java ! src/share/classes/com/sun/tools/javac/comp/Flow.java ! src/share/classes/com/sun/tools/javac/comp/Lower.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/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/JNIWriter.java ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/model/JavacTypes.java ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/parser/Scanner.java ! src/share/classes/com/sun/tools/javac/parser/UnicodeReader.java ! src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.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/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/JCDiagnostic.java ! src/share/classes/com/sun/tools/javac/util/Log.java ! src/share/classes/com/sun/tools/javadoc/AbstractTypeImpl.java + src/share/classes/com/sun/tools/javadoc/AnnotatedTypeImpl.java ! src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java ! src/share/classes/com/sun/tools/javadoc/ExecutableMemberDocImpl.java ! src/share/classes/com/sun/tools/javadoc/PrimitiveType.java ! src/share/classes/com/sun/tools/javadoc/TypeMaker.java ! src/share/classes/com/sun/tools/javadoc/TypeVariableImpl.java ! 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/CodeWriter.java ! src/share/classes/com/sun/tools/javap/InstructionDetailWriter.java + src/share/classes/com/sun/tools/javap/TypeAnnotationWriter.java ! src/share/classes/javax/lang/model/SourceVersion.java + src/share/classes/javax/lang/model/type/AnnotatedType.java ! src/share/classes/javax/lang/model/type/ExecutableType.java ! src/share/classes/javax/lang/model/type/TypeKind.java ! src/share/classes/javax/lang/model/type/TypeVisitor.java ! src/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java ! src/share/classes/javax/lang/model/util/Types.java + test/com/sun/javadoc/testAnnotationOptional/TestAnnotationOptional.java + test/com/sun/javadoc/testAnnotationOptional/pkg/AnnotationOptional.java + test/com/sun/javadoc/typeAnnotations/smoke/TestSmoke.java + test/com/sun/javadoc/typeAnnotations/smoke/pkg/TargetTypes.java ! test/tools/javac/7129225/TestImportStar.java ! test/tools/javac/7129225/TestImportStar.ref ! test/tools/javac/T6873845.java + test/tools/javac/T6985181.java ! test/tools/javac/annotations/6881115/T6881115.java ! test/tools/javac/annotations/6881115/T6881115.out + test/tools/javac/annotations/typeAnnotations/6967002/T6967002.java + test/tools/javac/annotations/typeAnnotations/6967002/T6967002.out + test/tools/javac/annotations/typeAnnotations/InnerClass.java + test/tools/javac/annotations/typeAnnotations/MultipleTargets.java + test/tools/javac/annotations/typeAnnotations/TargetTypes.java + test/tools/javac/annotations/typeAnnotations/TypeParameterTarget.java + test/tools/javac/annotations/typeAnnotations/TypeProcOnly.java + test/tools/javac/annotations/typeAnnotations/TypeUseTarget.java + test/tools/javac/annotations/typeAnnotations/api/AnnotatedArrayOrder.java + test/tools/javac/annotations/typeAnnotations/api/ArrayCreationTree.java + test/tools/javac/annotations/typeAnnotations/api/ArrayPositionConsistency.java + test/tools/javac/annotations/typeAnnotations/attribution/Scopes.java + test/tools/javac/annotations/typeAnnotations/classfile/ClassfileTestHelper.java + test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest1.java + test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest2.java + test/tools/javac/annotations/typeAnnotations/classfile/DeadCode.java + test/tools/javac/annotations/typeAnnotations/classfile/NewTypeArguments.java + test/tools/javac/annotations/typeAnnotations/classfile/NoTargetAnnotations.java + test/tools/javac/annotations/typeAnnotations/classfile/TypeCasts.java + test/tools/javac/annotations/typeAnnotations/classfile/Wildcards.java + test/tools/javac/annotations/typeAnnotations/failures/AnnotatedImport.java + test/tools/javac/annotations/typeAnnotations/failures/AnnotatedImport.out + test/tools/javac/annotations/typeAnnotations/failures/AnnotatedPackage1.java + test/tools/javac/annotations/typeAnnotations/failures/AnnotatedPackage1.out + test/tools/javac/annotations/typeAnnotations/failures/AnnotatedPackage2.java + test/tools/javac/annotations/typeAnnotations/failures/AnnotatedPackage2.out + test/tools/javac/annotations/typeAnnotations/failures/AnnotationVersion.java + test/tools/javac/annotations/typeAnnotations/failures/AnnotationVersion.out + test/tools/javac/annotations/typeAnnotations/failures/AnnotationVersion7.out + test/tools/javac/annotations/typeAnnotations/failures/BadCast.java + test/tools/javac/annotations/typeAnnotations/failures/BadCast.out + test/tools/javac/annotations/typeAnnotations/failures/CantAnnotateStaticClass.java + test/tools/javac/annotations/typeAnnotations/failures/CantAnnotateStaticClass.out + test/tools/javac/annotations/typeAnnotations/failures/IncompleteArray.java + test/tools/javac/annotations/typeAnnotations/failures/IncompleteArray.out + test/tools/javac/annotations/typeAnnotations/failures/IncompleteVararg.java + test/tools/javac/annotations/typeAnnotations/failures/IncompleteVararg.out + test/tools/javac/annotations/typeAnnotations/failures/IndexArray.java + test/tools/javac/annotations/typeAnnotations/failures/IndexArray.out + test/tools/javac/annotations/typeAnnotations/failures/LintCast.java + test/tools/javac/annotations/typeAnnotations/failures/LintCast.out + test/tools/javac/annotations/typeAnnotations/failures/OldArray.java + test/tools/javac/annotations/typeAnnotations/failures/Scopes.java + test/tools/javac/annotations/typeAnnotations/failures/Scopes.out + test/tools/javac/annotations/typeAnnotations/failures/StaticFields.java + test/tools/javac/annotations/typeAnnotations/failures/StaticFields.out + test/tools/javac/annotations/typeAnnotations/failures/StaticMethods.java + test/tools/javac/annotations/typeAnnotations/failures/StaticMethods.out + test/tools/javac/annotations/typeAnnotations/failures/TypeAndField.java + test/tools/javac/annotations/typeAnnotations/failures/VoidGenericMethod.java + test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DuplicateAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DuplicateAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DuplicateTypeAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DuplicateTypeAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/arrays/InvalidLocation.java + test/tools/javac/annotations/typeAnnotations/failures/common/arrays/InvalidLocation.out + test/tools/javac/annotations/typeAnnotations/failures/common/arrays/MissingAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/arrays/MissingAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/DuplicateAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/DuplicateAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/DuplicateTypeAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/DuplicateTypeAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/InvalidLocation.java + test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/InvalidLocation.out + test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/MissingAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/MissingAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/newarray/DuplicateAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/newarray/DuplicateAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/newarray/DuplicateTypeAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/newarray/DuplicateTypeAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/newarray/InvalidLocation.java + test/tools/javac/annotations/typeAnnotations/failures/common/newarray/InvalidLocation.out + test/tools/javac/annotations/typeAnnotations/failures/common/newarray/MissingAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/newarray/MissingAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/BrokenAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/BrokenAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/DuplicateAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/DuplicateAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/DuplicateTypeAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/DuplicateTypeAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/InvalidLocation.java + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/InvalidLocation.out + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/MissingAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/MissingAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/DuplicateAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/DuplicateAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/DuplicateTypeAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/DuplicateTypeAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/InvalidLocation.java + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/InvalidLocation.out + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/MissingAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/MissingAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/Nesting.java + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/StaticThings.java + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/StaticThings.out + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/WrongType.java + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/WrongType.out + test/tools/javac/annotations/typeAnnotations/failures/common/rest/DuplicateAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/rest/DuplicateAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/rest/DuplicateTypeAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/rest/DuplicateTypeAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/rest/InvalidLocation.java + test/tools/javac/annotations/typeAnnotations/failures/common/rest/InvalidLocation.out + test/tools/javac/annotations/typeAnnotations/failures/common/rest/MissingAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/rest/MissingAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/DuplicateAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/DuplicateAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/DuplicateTypeAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/DuplicateTypeAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/InvalidLocation.java + test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/InvalidLocation.out + test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/MissingAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/MissingAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/DuplicateAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/DuplicateAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/DuplicateTypeAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/DuplicateTypeAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/InvalidLocation.java + test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/InvalidLocation.out + test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/MissingAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/MissingAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/DuplicateAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/DuplicateAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/DuplicateTypeAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/DuplicateTypeAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/InvalidLocation.java + test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/InvalidLocation.out + test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/MissingAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/MissingAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/target/Constructor.java + test/tools/javac/annotations/typeAnnotations/failures/target/Constructor.out + test/tools/javac/annotations/typeAnnotations/failures/target/DotClass.java + test/tools/javac/annotations/typeAnnotations/failures/target/DotClass.out + test/tools/javac/annotations/typeAnnotations/failures/target/IncompleteArray.java + test/tools/javac/annotations/typeAnnotations/failures/target/IncompleteArray.out + test/tools/javac/annotations/typeAnnotations/failures/target/NotTypeParameter.java + test/tools/javac/annotations/typeAnnotations/failures/target/NotTypeParameter.out + test/tools/javac/annotations/typeAnnotations/failures/target/NotTypeUse.java + test/tools/javac/annotations/typeAnnotations/failures/target/NotTypeUse.out + test/tools/javac/annotations/typeAnnotations/failures/target/VoidMethod.java + test/tools/javac/annotations/typeAnnotations/failures/target/VoidMethod.out + test/tools/javac/annotations/typeAnnotations/newlocations/BasicTest.java + test/tools/javac/annotations/typeAnnotations/newlocations/ClassExtends.java + test/tools/javac/annotations/typeAnnotations/newlocations/ClassParameters.java + test/tools/javac/annotations/typeAnnotations/newlocations/ConstructorTypeArgs.java + test/tools/javac/annotations/typeAnnotations/newlocations/ExceptionParameters.java + test/tools/javac/annotations/typeAnnotations/newlocations/Expressions.java + test/tools/javac/annotations/typeAnnotations/newlocations/Fields.java + test/tools/javac/annotations/typeAnnotations/newlocations/LocalVariables.java + test/tools/javac/annotations/typeAnnotations/newlocations/MethodReturnType.java + test/tools/javac/annotations/typeAnnotations/newlocations/MethodTypeArgs.java + test/tools/javac/annotations/typeAnnotations/newlocations/MethodTypeParameters.java + test/tools/javac/annotations/typeAnnotations/newlocations/MultiCatch.java + test/tools/javac/annotations/typeAnnotations/newlocations/NestedTypes.java + test/tools/javac/annotations/typeAnnotations/newlocations/Parameters.java + test/tools/javac/annotations/typeAnnotations/newlocations/Receivers.java + test/tools/javac/annotations/typeAnnotations/newlocations/RepeatingTypeAnnotations.java + test/tools/javac/annotations/typeAnnotations/newlocations/RepeatingTypeAnnotations.out + test/tools/javac/annotations/typeAnnotations/newlocations/ResourceVariables.java + test/tools/javac/annotations/typeAnnotations/newlocations/Throws.java + test/tools/javac/annotations/typeAnnotations/newlocations/TopLevelBlocks.java + test/tools/javac/annotations/typeAnnotations/newlocations/TypeCasts.java + test/tools/javac/annotations/typeAnnotations/newlocations/TypeParameters.java + test/tools/javac/annotations/typeAnnotations/newlocations/Varargs.java + test/tools/javac/annotations/typeAnnotations/newlocations/Wildcards.java + test/tools/javac/annotations/typeAnnotations/packageanno/PackageProcessor.java + test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/Anno.java + test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/MyClass.java + test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/package-info.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/ClassExtends.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/ClassTypeParam.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/Constructors.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/Driver.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/ExceptionParameters.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/Fields.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/FromSpecification.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodParameters.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodReceivers.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodReturns.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodThrows.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodTypeParam.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/MultiCatch.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/NestedTypes.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/NewObjects.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/ReferenceInfoUtil.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/RepeatingTypeAnnotations.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/TypeCasts.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/TypeTests.java ! test/tools/javac/api/EndPositions.java ! test/tools/javac/diags/CheckResourceKeys.java ! test/tools/javac/diags/examples.not-yet.txt + test/tools/javac/diags/examples/CantAnnotateNestedType.java + test/tools/javac/diags/examples/CantAnnotateStaticClass.java + test/tools/javac/diags/examples/IncorrectReceiverType.java + test/tools/javac/diags/examples/NoAnnotationsOnDotClass.java + test/tools/javac/diags/examples/ThisAsIdentifier.java + test/tools/javac/diags/examples/TypeAnnotationsNotSupported.java ! test/tools/javac/failover/CheckAttributedTree.java ! test/tools/javac/processing/6994946/SemanticErrorTest.2.out ! test/tools/javac/processing/model/element/TestAnonClassNames.java ! test/tools/javac/processing/model/element/TestMissingElement/TestMissingElement.java + test/tools/javac/processing/model/element/TestMissingElement/TestMissingElement.ref ! test/tools/javac/processing/model/util/directSupersOfErr/DirectSupersOfErr.java + test/tools/javac/processing/model/util/directSupersOfErr/DirectSupersOfErr.ref ! test/tools/javac/tree/TreeKindTest.java ! test/tools/javac/tree/TreePosTest.java + test/tools/javac/treeannotests/AnnoTreeTests.java ! test/tools/javac/treeannotests/TestProcessor.java - test/tools/javac/typeAnnotations/newlocations/BasicTest.java - test/tools/javac/typeAnnotations/newlocations/BasicTest.out + test/tools/javap/typeAnnotations/JSR175Annotations.java + test/tools/javap/typeAnnotations/NewArray.java + test/tools/javap/typeAnnotations/Presence.java + test/tools/javap/typeAnnotations/PresenceInner.java + test/tools/javap/typeAnnotations/T6855990.java + test/tools/javap/typeAnnotations/TypeCasts.java + test/tools/javap/typeAnnotations/Visibility.java + test/tools/javap/typeAnnotations/Wildcards.java Changeset: 09f65aad4759 Author: darcy Date: 2013-01-23 20:11 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/09f65aad4759 8006264: Add explanation of why default methods cannot be used in JDK 8 javax.lang.model Reviewed-by: jjg ! src/share/classes/javax/lang/model/element/AnnotationValueVisitor.java ! src/share/classes/javax/lang/model/element/ElementVisitor.java ! src/share/classes/javax/lang/model/type/TypeVisitor.java ! src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor6.java ! src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor7.java ! src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor8.java ! src/share/classes/javax/lang/model/util/AbstractElementVisitor6.java ! src/share/classes/javax/lang/model/util/AbstractElementVisitor7.java ! src/share/classes/javax/lang/model/util/AbstractElementVisitor8.java ! src/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java ! src/share/classes/javax/lang/model/util/AbstractTypeVisitor7.java ! src/share/classes/javax/lang/model/util/AbstractTypeVisitor8.java ! src/share/classes/javax/lang/model/util/ElementKindVisitor6.java ! src/share/classes/javax/lang/model/util/ElementKindVisitor7.java ! src/share/classes/javax/lang/model/util/ElementKindVisitor8.java ! src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor6.java ! src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor7.java ! src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor8.java ! src/share/classes/javax/lang/model/util/SimpleElementVisitor6.java ! src/share/classes/javax/lang/model/util/SimpleElementVisitor7.java ! src/share/classes/javax/lang/model/util/SimpleElementVisitor8.java ! src/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java ! src/share/classes/javax/lang/model/util/SimpleTypeVisitor7.java ! src/share/classes/javax/lang/model/util/SimpleTypeVisitor8.java ! src/share/classes/javax/lang/model/util/TypeKindVisitor6.java ! src/share/classes/javax/lang/model/util/TypeKindVisitor7.java ! src/share/classes/javax/lang/model/util/TypeKindVisitor8.java Changeset: c2e11e2ec4a3 Author: lana Date: 2013-01-26 19:24 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/c2e11e2ec4a3 Merge - test/tools/javac/annotations/repeatingAnnotations/MissingContainedBy.java - test/tools/javac/annotations/repeatingAnnotations/MissingContainerFor.java - test/tools/javac/annotations/repeatingAnnotations/UseWrongContainedBy.java - test/tools/javac/annotations/repeatingAnnotations/UseWrongContainerFor.java - test/tools/javac/annotations/repeatingAnnotations/WrongContainedBy.java - test/tools/javac/annotations/repeatingAnnotations/WrongContainerFor.java - test/tools/javac/diags/examples/ContainedByDocumentedMismatch.java - test/tools/javac/diags/examples/ContainedByInheritedMismatch.java - test/tools/javac/diags/examples/ContainedByNoValue.java - test/tools/javac/diags/examples/ContainedByNonDefault.java - test/tools/javac/diags/examples/ContainedByRetentionMismatch.java - test/tools/javac/diags/examples/ContainedByTargetMismatch.java - test/tools/javac/diags/examples/ContainedByWrongValueType.java - test/tools/javac/diags/examples/InferredDoNotConformToLower.java - test/tools/javac/diags/examples/NoUniqueMaximalInstance.java - test/tools/javac/diags/examples/WrongContainedBy.java - test/tools/javac/diags/examples/WrongContainerFor.java - test/tools/javac/lambda/MethodReference26.out - test/tools/javac/lambda/TargetType06.out - test/tools/javac/lambda/TargetType11.out - test/tools/javac/lambda/TargetType45.out - test/tools/javac/lambda/VoidCompatibility.out - test/tools/javac/typeAnnotations/newlocations/BasicTest.java - test/tools/javac/typeAnnotations/newlocations/BasicTest.out Changeset: 716935fec613 Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/716935fec613 Added tag jdk8-b75 for changeset c2e11e2ec4a3 ! .hgtags From daniel.daugherty at oracle.com Fri Feb 1 15:39:57 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Fri, 01 Feb 2013 16:39:57 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510C1DC6.2010607@oracle.com> References: <510C1DC6.2010607@oracle.com> Message-ID: <510C524D.8080908@oracle.com> > There are two new tests that will be pushed to the JDK repos using > a different bug ID (not yet filed): New bug is now filed: 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 to java/lang/instrument http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 https://jbs.oracle.com/bugs/browse/JDK-8007420 Of course, the tests cannot be pushed until the HSX changes have made it into a promoted build and thus available to JDK8-T&L. Dan On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: > Greetings, > > I have a fix for the following JVM/TI bug: > > 7182152 Instrumentation hot swap test incorrect monitor count > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 > https://jbs.oracle.com/bugs/browse/JDK-7182152 > > The fix for the bug in the product code is one line: > > src/share/vm/oops/klassVtable.cpp: > > @@ -992,18 +1020,50 @@ > // RC_TRACE macro has an embedded ResourceMark > RC_TRACE(0x00200000, ("itable method update: %s(%s)", > new_method->name()->as_C_string(), > new_method->signature()->as_C_string())); > } > - break; > + // cannot 'break' here; see for-loop comment above. > } > ime++; > } > } > } > > and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen > already fixed the bug as part of the Perm Gen Removal (PGR) project > in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR > changeset. Many thanks to Coleen for her help in this bug hunt! > > The rest of the code in the webrevs are: > > - additional JVM/TI tracing code backported from Coleen's PGR changeset > - additional JVM/TI tracing code added by me and forward ported to HSX-25 > - a new -XX:TraceRedefineClasses=16384 flag value for finding these > elusive old or obsolete methods > - exposure of some printing code to the PRODUCT build so that the new > tracing is available in a PRODUCT build > > You might be wondering why the new tracing code is exposed in a PRODUCT > build. Well, it appears that more and more PRODUCT bits deployments are > using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time > to instrument their systems. This bug (7182152) was only intermittently > reproducible in the WLS environment in which it occurred so I made the > tracing available in a PRODUCT build to assist in the hunt. > > Raj from the WLS team has also verified that the HSX-23.6 version of > fix resolves the issue in his environment. Thanks Raj! > > Here are the URLs for the three webrevs: > > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ > > I have run the following test suites from the JPDA stack on the > JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 > specified: > > sdk-jdi > sdk-jdi_closed > sdk-jli > vm-heapdump > vm-hprof > vm-jdb > vm-jdi > vm-jdwp > vm-jvmti > vm-sajdi > > The tested configs are: > > {Solaris-X86, WinXP} > X {Client VM, Server VM} > X {-Xmixed, -Xcomp} > X {product, fastdebug} > > With the 1-liner fix in place, the new tracing code does not find any > instances of this failure mode in any of the above test suites. Without > the the 1-liner fix in place, the new tracing code finds one instance > of this failure mode in the above test suites: > > test/java/lang/instrument/IsModifiableClassAgent.java > > There are two new tests that will be pushed to the JDK repos using > a different bug ID (not yet filed): > > test/com/sun/jdi/RedefineAbstractClass.sh > test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh > > There will be a separate review request for the new tests. > > I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 > and JDK8-B75/HSX-25 versions of the fix. That testing will likely > take all weekend to complete. > > Thanks, in advance, for any comments and/or suggestions. > > Dan > > > From daniel.daugherty at oracle.com Fri Feb 1 15:55:11 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Fri, 01 Feb 2013 16:55:11 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510C524D.8080908@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> Message-ID: <510C55DF.3000002@oracle.com> And here is the webrev for the new tests (relative to JDK8-T&L): http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ As always, comments and suggestions are welcome. Dan On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: > > There are two new tests that will be pushed to the JDK repos using > > a different bug ID (not yet filed): > > New bug is now filed: > > 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 > to java/lang/instrument > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 > https://jbs.oracle.com/bugs/browse/JDK-8007420 > > Of course, the tests cannot be pushed until the HSX changes have made > it into a promoted build and thus available to JDK8-T&L. > > Dan > > > On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >> Greetings, >> >> I have a fix for the following JVM/TI bug: >> >> 7182152 Instrumentation hot swap test incorrect monitor count >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >> https://jbs.oracle.com/bugs/browse/JDK-7182152 >> >> The fix for the bug in the product code is one line: >> >> src/share/vm/oops/klassVtable.cpp: >> >> @@ -992,18 +1020,50 @@ >> // RC_TRACE macro has an embedded ResourceMark >> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >> new_method->name()->as_C_string(), >> new_method->signature()->as_C_string())); >> } >> - break; >> + // cannot 'break' here; see for-loop comment above. >> } >> ime++; >> } >> } >> } >> >> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >> already fixed the bug as part of the Perm Gen Removal (PGR) project >> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >> changeset. Many thanks to Coleen for her help in this bug hunt! >> >> The rest of the code in the webrevs are: >> >> - additional JVM/TI tracing code backported from Coleen's PGR changeset >> - additional JVM/TI tracing code added by me and forward ported to >> HSX-25 >> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >> elusive old or obsolete methods >> - exposure of some printing code to the PRODUCT build so that the new >> tracing is available in a PRODUCT build >> >> You might be wondering why the new tracing code is exposed in a PRODUCT >> build. Well, it appears that more and more PRODUCT bits deployments are >> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >> to instrument their systems. This bug (7182152) was only intermittently >> reproducible in the WLS environment in which it occurred so I made the >> tracing available in a PRODUCT build to assist in the hunt. >> >> Raj from the WLS team has also verified that the HSX-23.6 version of >> fix resolves the issue in his environment. Thanks Raj! >> >> Here are the URLs for the three webrevs: >> >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >> >> I have run the following test suites from the JPDA stack on the >> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >> specified: >> >> sdk-jdi >> sdk-jdi_closed >> sdk-jli >> vm-heapdump >> vm-hprof >> vm-jdb >> vm-jdi >> vm-jdwp >> vm-jvmti >> vm-sajdi >> >> The tested configs are: >> >> {Solaris-X86, WinXP} >> X {Client VM, Server VM} >> X {-Xmixed, -Xcomp} >> X {product, fastdebug} >> >> With the 1-liner fix in place, the new tracing code does not find any >> instances of this failure mode in any of the above test suites. Without >> the the 1-liner fix in place, the new tracing code finds one instance >> of this failure mode in the above test suites: >> >> test/java/lang/instrument/IsModifiableClassAgent.java >> >> There are two new tests that will be pushed to the JDK repos using >> a different bug ID (not yet filed): >> >> test/com/sun/jdi/RedefineAbstractClass.sh >> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >> >> There will be a separate review request for the new tests. >> >> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >> take all weekend to complete. >> >> Thanks, in advance, for any comments and/or suggestions. >> >> Dan >> >> >> > > > From bernard.traversat at oracle.com Fri Feb 1 18:57:50 2013 From: bernard.traversat at oracle.com (Bernard Traversat) Date: Fri, 1 Feb 2013 18:57:50 -0800 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510C1DC6.2010607@oracle.com> References: <510C1DC6.2010607@oracle.com> Message-ID: <1F7FB056-C02E-4F96-A36C-A7B4FA0FAB51@oracle.com> Excellent! Cheers, B. On Feb 1, 2013, at 11:55 AM, Daniel D. Daugherty wrote: > Greetings, > > I have a fix for the following JVM/TI bug: > > 7182152 Instrumentation hot swap test incorrect monitor count > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 > https://jbs.oracle.com/bugs/browse/JDK-7182152 > > The fix for the bug in the product code is one line: > > src/share/vm/oops/klassVtable.cpp: > > @@ -992,18 +1020,50 @@ > // RC_TRACE macro has an embedded ResourceMark > RC_TRACE(0x00200000, ("itable method update: %s(%s)", > new_method->name()->as_C_string(), > new_method->signature()->as_C_string())); > } > - break; > + // cannot 'break' here; see for-loop comment above. > } > ime++; > } > } > } > > and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen > already fixed the bug as part of the Perm Gen Removal (PGR) project > in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR > changeset. Many thanks to Coleen for her help in this bug hunt! > > The rest of the code in the webrevs are: > > - additional JVM/TI tracing code backported from Coleen's PGR changeset > - additional JVM/TI tracing code added by me and forward ported to HSX-25 > - a new -XX:TraceRedefineClasses=16384 flag value for finding these > elusive old or obsolete methods > - exposure of some printing code to the PRODUCT build so that the new > tracing is available in a PRODUCT build > > You might be wondering why the new tracing code is exposed in a PRODUCT > build. Well, it appears that more and more PRODUCT bits deployments are > using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time > to instrument their systems. This bug (7182152) was only intermittently > reproducible in the WLS environment in which it occurred so I made the > tracing available in a PRODUCT build to assist in the hunt. > > Raj from the WLS team has also verified that the HSX-23.6 version of > fix resolves the issue in his environment. Thanks Raj! > > Here are the URLs for the three webrevs: > > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ > > I have run the following test suites from the JPDA stack on the > JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 > specified: > > sdk-jdi > sdk-jdi_closed > sdk-jli > vm-heapdump > vm-hprof > vm-jdb > vm-jdi > vm-jdwp > vm-jvmti > vm-sajdi > > The tested configs are: > > {Solaris-X86, WinXP} > X {Client VM, Server VM} > X {-Xmixed, -Xcomp} > X {product, fastdebug} > > With the 1-liner fix in place, the new tracing code does not find any > instances of this failure mode in any of the above test suites. Without > the the 1-liner fix in place, the new tracing code finds one instance > of this failure mode in the above test suites: > > test/java/lang/instrument/IsModifiableClassAgent.java > > There are two new tests that will be pushed to the JDK repos using > a different bug ID (not yet filed): > > test/com/sun/jdi/RedefineAbstractClass.sh > test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh > > There will be a separate review request for the new tests. > > I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 > and JDK8-B75/HSX-25 versions of the fix. That testing will likely > take all weekend to complete. > > Thanks, in advance, for any comments and/or suggestions. > > Dan > From joe.darcy at oracle.com Fri Feb 1 19:30:18 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Sat, 02 Feb 2013 03:30:18 +0000 Subject: hg: jdk8/tl/jdk: 6964528: Double.toHexString(double d) String manipulation with + in an append of StringBuilder Message-ID: <20130202033040.8FE714779B@hg.openjdk.java.net> Changeset: cba578db5f39 Author: darcy Date: 2013-02-01 19:30 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/cba578db5f39 6964528: Double.toHexString(double d) String manipulation with + in an append of StringBuilder Reviewed-by: shade ! src/share/classes/java/lang/Double.java From yumin.qi at oracle.com Fri Feb 1 19:32:23 2013 From: yumin.qi at oracle.com (yumin.qi at oracle.com) Date: Sat, 02 Feb 2013 03:32:23 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 5 new changesets Message-ID: <20130202033234.A2ED84779C@hg.openjdk.java.net> Changeset: 9bf5f643d1cf Author: sspitsyn Date: 2013-01-31 20:07 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/9bf5f643d1cf 8006542: JSR 292: the VM_RedefineClasses::append_entry() must support invokedynamic entry kinds Summary: Need a support for invokedynamic entry kinds when new and old constant pools are merged. Reviewed-by: coleenp, twisti Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/jvmtiRedefineClasses.hpp Changeset: dc31f560d6e7 Author: sspitsyn Date: 2013-01-31 20:09 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/dc31f560d6e7 8006546: JSR 292: typos in the ConstantPool::copy_cp_impl() Summary: Simple typos that need to be fixed Reviewed-by: coleenp, twisti Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/oops/constantPool.cpp Changeset: 79c1bb8fce5d Author: sspitsyn Date: 2013-01-31 20:11 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/79c1bb8fce5d 8006731: JSR 292: the VM_RedefineClasses::rewrite_cp_refs_in_method() must support invokedynamic Summary: The invokedynamic bytecode ref to a CP entry needs to be checked and fixed as well. Reviewed-by: coleenp, twisti Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/prims/jvmtiRedefineClasses.cpp Changeset: 9a9f870325cf Author: minqi Date: 2013-02-01 10:57 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/9a9f870325cf Merge Changeset: b935589d2807 Author: minqi Date: 2013-02-01 14:42 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/b935589d2807 Merge From kumar.x.srinivasan at oracle.com Fri Feb 1 22:14:53 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Sat, 02 Feb 2013 06:14:53 +0000 Subject: hg: jdk8/tl/jdk: 8003549: (pack200) assertion errors when processing lambda class files with IMethods Message-ID: <20130202061505.74629477A0@hg.openjdk.java.net> Changeset: c1aaa8451547 Author: ksrini Date: 2013-02-01 22:12 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c1aaa8451547 8003549: (pack200) assertion errors when processing lambda class files with IMethods Summary: add more check for opcode, sketch provided by jrose Reviewed-by: jrose ! src/share/classes/com/sun/java/util/jar/pack/Attribute.java ! src/share/classes/com/sun/java/util/jar/pack/ClassReader.java ! src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java ! src/share/classes/com/sun/java/util/jar/pack/Instruction.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/PropMap.java ! src/share/classes/com/sun/java/util/jar/pack/Utils.java ! test/ProblemList.txt + test/tools/pack200/InstructionTests.java ! test/tools/pack200/pack200-verifier/src/xmlkit/ClassReader.java From kumar.x.srinivasan at oracle.com Fri Feb 1 22:19:32 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Sat, 02 Feb 2013 06:19:32 +0000 Subject: hg: jdk8/tl/jdk: 8007428: [launcher] add tools/launcher/FXLauncherTest.java to ProblemList.txt Message-ID: <20130202061944.78EC3477A1@hg.openjdk.java.net> Changeset: 6c88a12ea834 Author: ksrini Date: 2013-02-01 22:18 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/6c88a12ea834 8007428: [launcher] add tools/launcher/FXLauncherTest.java to ProblemList.txt Reviewed-by: mchung ! test/ProblemList.txt From jiangli.zhou at oracle.com Fri Feb 1 23:44:12 2013 From: jiangli.zhou at oracle.com (jiangli.zhou at oracle.com) Date: Sat, 02 Feb 2013 07:44:12 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 3 new changesets Message-ID: <20130202074417.DC20D477A2@hg.openjdk.java.net> Changeset: 44c5fcd9cb25 Author: iklam Date: 2013-01-24 10:57 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/44c5fcd9cb25 8006280: Need to reorder metadata structures to reduce size (64-bit) Summary: Reordered Klass, InstanceKlass and Method to save 8 bytes each Reviewed-by: coleenp, jiangli Contributed-by: ioi.lam at oracle.com ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/method.hpp Changeset: 1eae78177059 Author: jiangli Date: 2013-02-01 15:25 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/1eae78177059 Merge - make/solaris/makefiles/kernel.make ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/method.hpp Changeset: dc8ad3fd7050 Author: jiangli Date: 2013-02-01 19:36 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/dc8ad3fd7050 Merge From christian.tornqvist at oracle.com Sat Feb 2 03:48:07 2013 From: christian.tornqvist at oracle.com (christian.tornqvist at oracle.com) Date: Sat, 02 Feb 2013 11:48:07 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 3 new changesets Message-ID: <20130202114816.6EFD1477A7@hg.openjdk.java.net> Changeset: 4102b59539ce Author: ctornqvi Date: 2013-02-01 23:48 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/4102b59539ce 8005012: Add WB APIs to better support NMT testing Summary: Add WB API functions to enable better NMT testing Reviewed-by: dholmes, zgu ! src/share/tools/whitebox/sun/hotspot/WhiteBox.java ! src/share/vm/memory/allocation.hpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/services/memBaseline.cpp ! src/share/vm/services/memPtr.cpp ! src/share/vm/services/memPtr.hpp ! src/share/vm/services/memRecorder.cpp ! src/share/vm/services/memRecorder.hpp ! src/share/vm/services/memTrackWorker.cpp ! src/share/vm/services/memTrackWorker.hpp ! src/share/vm/services/memTracker.cpp ! src/share/vm/services/memTracker.hpp Changeset: 4460acf8687b Author: ctornqvi Date: 2013-02-02 07:24 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/4460acf8687b Merge Changeset: 9fe95b01ad32 Author: ctornqvi Date: 2013-02-02 08:46 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/9fe95b01ad32 Merge From yumin.qi at oracle.com Sat Feb 2 05:51:06 2013 From: yumin.qi at oracle.com (yumin.qi at oracle.com) Date: Sat, 02 Feb 2013 13:51:06 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 3 new changesets Message-ID: <20130202135114.702C9477A9@hg.openjdk.java.net> Changeset: 43badbe2717a Author: minqi Date: 2013-01-31 17:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/43badbe2717a 8000973: SA on windows thread inspection is broken Summary: After bug 7161732, On Windows SA could not find correct address of thread_id of OSThread since _thread_id moved to end of the class . The presupposition of the address is following thread handle no longer stands. Fix by adding thread_id field to OSThread and getting the address directly from OSThread. Reviewed-by: nloodin, sspitsyn Contributed-by: yumin.qi at oracle.com ! agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/amd64/WindbgAMD64Thread.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/x86/WindbgX86Thread.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/OSThread.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/win32_amd64/Win32AMD64JavaThreadPDAccess.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/win32_x86/Win32X86JavaThreadPDAccess.java Changeset: 65b632b77a97 Author: minqi Date: 2013-02-01 22:41 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/65b632b77a97 Merge Changeset: ff5401ad5635 Author: minqi Date: 2013-02-02 03:51 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/ff5401ad5635 Merge From chris.hegarty at oracle.com Sat Feb 2 09:17:54 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Sat, 02 Feb 2013 17:17:54 +0000 Subject: hg: jdk8/tl/jdk: 8007322: untangle ftp protocol from general networking URL tests Message-ID: <20130202171835.0C9F0477AA@hg.openjdk.java.net> Changeset: ee83319029a5 Author: chegar Date: 2013-02-02 17:15 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ee83319029a5 8007322: untangle ftp protocol from general networking URL tests Reviewed-by: alanb ! test/java/net/URL/Constructor.java ! test/java/net/URL/HandlerLoop.java ! test/java/net/URL/Test.java ! test/java/net/URL/URIToURLTest.java - test/java/net/URL/abnormal_http_urls - test/java/net/URL/ftp_urls - test/java/net/URL/jar_urls - test/java/net/URL/normal_http_urls - test/java/net/URL/runconstructor.sh - test/java/net/URL/share_file_urls - test/java/net/URL/win32_file_urls ! test/java/net/URLConnection/RequestProperties.java ! test/java/net/URLConnection/RequestPropertyValues.java + test/sun/net/ftp/EncDec.doc + test/sun/net/ftp/MarkResetTest.java + test/sun/net/ftp/MarkResetTest.sh - test/sun/net/www/EncDec.doc - test/sun/net/www/MarkResetTest.java - test/sun/net/www/MarkResetTest.sh ! test/sun/net/www/http/HttpClient/ProxyTest.java From christian.tornqvist at oracle.com Sat Feb 2 11:07:30 2013 From: christian.tornqvist at oracle.com (christian.tornqvist at oracle.com) Date: Sat, 02 Feb 2013 19:07:30 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8005013: Add NMT tests Message-ID: <20130202190735.17B0A477AF@hg.openjdk.java.net> Changeset: 879c6de913d6 Author: ctornqvi Date: 2013-02-02 16:34 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/879c6de913d6 8005013: Add NMT tests Summary: Add tests for the Native Memory Tracking feature, includes regression tests for 8005936 and 8004802 Reviewed-by: zgu, coleenp ! test/TEST.ROOT + test/runtime/NMT/AllocTestType.java + test/runtime/NMT/BaselineWithParameter.java + test/runtime/NMT/CommandLineDetail.java + test/runtime/NMT/CommandLineEmptyArgument.java + test/runtime/NMT/CommandLineInvalidArgument.java + test/runtime/NMT/CommandLineSummary.java + test/runtime/NMT/CommandLineTurnOffNMT.java + test/runtime/NMT/JcmdScale.java + test/runtime/NMT/JcmdWithNMTDisabled.java + test/runtime/NMT/PrintNMTStatistics.java + test/runtime/NMT/PrintNMTStatisticsWithNMTDisabled.java + test/runtime/NMT/ShutdownTwice.java + test/runtime/NMT/SummaryAfterShutdown.java + test/runtime/NMT/SummarySanityCheck.java From kumar.x.srinivasan at oracle.com Sat Feb 2 12:09:37 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Sat, 02 Feb 2013 20:09:37 +0000 Subject: hg: jdk8/tl/jdk: 8007135: tools/launcher/VersionCheck.java failing with new tool jabswitch Message-ID: <20130202201002.9FBF7477B0@hg.openjdk.java.net> Changeset: 25831e7009c4 Author: ksrini Date: 2013-02-02 12:08 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/25831e7009c4 8007135: tools/launcher/VersionCheck.java failing with new tool jabswitch Reviewed-by: ksrini, mduigou Contributed-by: ragini.prasad at oracle.com ! test/tools/launcher/VersionCheck.java From vicente.romero at oracle.com Sat Feb 2 13:50:03 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Sat, 02 Feb 2013 21:50:03 +0000 Subject: hg: jdk8/tl/langtools: 8005075: Pool.Method, and Pool.Variable redundant Symbol field should be removed Message-ID: <20130202215006.3A5B9477B4@hg.openjdk.java.net> Changeset: 4cc73ec94686 Author: vromero Date: 2013-02-02 21:04 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/4cc73ec94686 8005075: Pool.Method, and Pool.Variable redundant Symbol field should be removed Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javac/jvm/Pool.java From christian.tornqvist at oracle.com Sat Feb 2 17:25:05 2013 From: christian.tornqvist at oracle.com (christian.tornqvist at oracle.com) Date: Sun, 03 Feb 2013 01:25:05 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8000363: runtime/7158988/FieldMonitor.java fails with exception Message-ID: <20130203012510.A2F4C477B5@hg.openjdk.java.net> Changeset: a7f9a1195d86 Author: ctornqvi Date: 2013-02-02 20:13 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/a7f9a1195d86 8000363: runtime/7158988/FieldMonitor.java fails with exception Summary: Removed unnecessary shell script in the test. Reviewed-by: coleenp, sla ! test/runtime/7158988/FieldMonitor.java - test/runtime/7158988/TestFieldMonitor.sh From vicente.romero at oracle.com Sat Feb 2 18:33:08 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Sun, 03 Feb 2013 02:33:08 +0000 Subject: hg: jdk8/tl/langtools: 7199823: javac generates inner class that can't be verified Message-ID: <20130203023317.D15C2477B9@hg.openjdk.java.net> Changeset: a51a8dac0a2f Author: vromero Date: 2013-02-03 02:31 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/a51a8dac0a2f 7199823: javac generates inner class that can't be verified Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Lower.java + test/tools/javac/7199823/InnerClassCannotBeVerified.java From dmitry.degrave at oracle.com Sun Feb 3 06:21:53 2013 From: dmitry.degrave at oracle.com (dmitry.degrave at oracle.com) Date: Sun, 03 Feb 2013 14:21:53 +0000 Subject: hg: jdk8/tl/jdk: 6471906: java.lang.NegativeArraySizeException in tenToThe Message-ID: <20130203142216.7F1E2477BE@hg.openjdk.java.net> Changeset: 308d1362b60a Author: dmeetry Date: 2013-02-03 18:20 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/308d1362b60a 6471906: java.lang.NegativeArraySizeException in tenToThe Reviewed-by: darcy Contributed-by: brian.burkhalter at oracle.com ! src/share/classes/java/math/BigDecimal.java From dmitry.samersoff at oracle.com Sun Feb 3 09:40:26 2013 From: dmitry.samersoff at oracle.com (dmitry.samersoff at oracle.com) Date: Sun, 03 Feb 2013 17:40:26 +0000 Subject: hg: jdk8/tl/jdk: 8002048: Protocol to discovery of manageable Java processes on a network Message-ID: <20130203174102.567C3477C3@hg.openjdk.java.net> Changeset: 962d6612cace Author: dsamersoff Date: 2013-02-03 21:39 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/962d6612cace 8002048: Protocol to discovery of manageable Java processes on a network Summary: Introduce a protocol to discover manageble Java instances across a network subnet, JDP Reviewed-by: sla, dfuchs ! src/share/classes/sun/management/Agent.java + src/share/classes/sun/management/jdp/JdpBroadcaster.java + src/share/classes/sun/management/jdp/JdpController.java + src/share/classes/sun/management/jdp/JdpException.java + src/share/classes/sun/management/jdp/JdpGenericPacket.java + src/share/classes/sun/management/jdp/JdpJmxPacket.java + src/share/classes/sun/management/jdp/JdpPacket.java + src/share/classes/sun/management/jdp/JdpPacketReader.java + src/share/classes/sun/management/jdp/JdpPacketWriter.java + src/share/classes/sun/management/jdp/package-info.java + test/sun/management/jdp/JdpClient.java + test/sun/management/jdp/JdpDoSomething.java + test/sun/management/jdp/JdpTest.sh + test/sun/management/jdp/JdpUnitTest.java From staffan.larsen at oracle.com Sun Feb 3 12:18:24 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Sun, 3 Feb 2013 21:18:24 +0100 Subject: RFR: 8006423 SA: NullPointerException in sun.jvm.hotspot.debugger.bsd.BsdThread.getContext(BsdThread.java:67) In-Reply-To: <510C018D.2060104@oracle.com> References: <4ACE7799-52E8-45AF-A249-DBC92FC7997E@oracle.com> <510C018D.2060104@oracle.com> Message-ID: <5EFDCAFD-53B0-48BD-8AC4-D5C6425842A0@oracle.com> On 1 feb 2013, at 18:55, Yumin Qi wrote: > Staffan, > > This looks good. One question is why not set it to _thread_id? is it because it is 64bit int and on other platforms 32 bits? Do you mean reusing the _thread_id field instead of adding a new field? I think we need the current value of the _thread_id field (the mach thread port) for other purposes in Hotspot where the unique thread id does not work out. > os_bsd.cpp: > > 858 #ifdef __APPLE__ > 859 osthread->set_thread_id(::mach_thread_self()); > 860 osthread->set_unique_thread_id(locate_unique_thread_id()); > 861 #else > 862 osthread->set_thread_id(::pthread_self()); > 863 #endif > 864 osthread->set_pthread_id(::pthread_self()); > > I would like to remove #else part, my understanding is only SA uses _unique_thread_id. The #else part is for non-apple bsd ports (FreeBSD for example). Only the apple port of the bsd code can use the unique thread id. I'm not sure how this works on other bsds, so I don't want to change that code. While I'm reviewing you Mach-o core file reader, I realize that you use the stack pointer for identifying threads. This was one of the options in my implementation. Given that you are using it for core files, then it makes sense to use the same solution for attached processes. I'm thinking that maybe I should revisit my solution and remove the _unique_thread_id. /Staffan > > Thanks > Yumin > > > On 1/17/2013 11:48 AM, Staffan Larsen wrote: >> This is a request for review of a fix for SA on OS X. >> >> webrev: http://cr.openjdk.java.net/~sla/8006423/webrev.00/ >> bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8006423 >> >> The bug report contains a detailed description of the problem and the proposed solution. I have copied some of that text below. To verify the fix I have manually run jstack on OS X. >> >> Thanks, >> /Staffan >> >> >> >> In many cases when running the SA version of JStack (or other SA tools) an NPE is thrown in BsdThread.getContext(). The underlaying cause is that SA fails to read the context of the thread in the native method getThreadIntegerRegisterSet0() (thread_get_state returns an error). >> >> The following is my understanding of what the cause is and a suggestion for a fix - my experience with OS X is a bit limited so I may be off on some details. >> >> thread_get_state() takes a thread_t as a parameter. The value of this parameter comes from SA reading the value of the OSThread._thread_id field in the Hotspot process being debugged. This value is set in HotSpot to ::mach_thread_self() which is documented as "The mach_thread_self system call returns the calling thread's thread port." >> >> My theory is that this "thread port" in not valid when a different process calls thread_get_state(). Instead, the other process (SA in this case) needs it's own "thread port" for the thread it wants to access. >> >> There is a way to list all the thread ports in a different process (or "task" as they are called in Mach) via the task_threads() function. >> >> So now we have the thread ports, we just need to correlate them with the C++ Thread objects in the Hotspot process. One way to do this correlation is via the stack pointer. We can get the current value of the stack pointer (rsp) in SA and look through all the Thread objects to see which one the stack pointer belongs to (by looking at Thread._stack_base and Thread._stack_size). >> >> Another way seems to be to use the thread_info() function with the THREAD_IDENTIFIER_INFO parameter. This gives us a struct which has a field called thread_id. The comment for this field in the thread_info.h file says "system-wide unique 64-bit thread id". The value for this thread_id is the same when called from Hotspot and when called from the debugging process (SA), so this looks like a way to do the correlation. >> >> This requires Hotspot to store this value in OSThread and SA to first list all the "thread ports", then find the thread_id for each one and select the right "thread port" for the thread we are looking for. >> >> Using a thread_id provided by the system seems more reliable than using the stack pointer for correlation. >> >> From dmitry.samersoff at oracle.com Sun Feb 3 14:06:20 2013 From: dmitry.samersoff at oracle.com (dmitry.samersoff at oracle.com) Date: Sun, 03 Feb 2013 22:06:20 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8002048: Protocol to discovery of manageable Java processes on a network Message-ID: <20130203220624.53212477CA@hg.openjdk.java.net> Changeset: 8f696cf1a0fb Author: dsamersoff Date: 2013-02-03 22:28 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/8f696cf1a0fb 8002048: Protocol to discovery of manageable Java processes on a network Summary: Introduce a protocol to discover manageble Java instances across a network subnet, JDP Reviewed-by: sla, dfuchs ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/diagnosticCommand.hpp From harold.seigel at oracle.com Sun Feb 3 17:44:58 2013 From: harold.seigel at oracle.com (harold.seigel at oracle.com) Date: Mon, 04 Feb 2013 01:44:58 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 2 new changesets Message-ID: <20130204014505.37179477CC@hg.openjdk.java.net> Changeset: c4ef3380a70b Author: hseigel Date: 2013-02-03 16:49 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/c4ef3380a70b 7197672: There are issues with shared data on windows Summary: On Windows, set rw protection on the CDS file just before removing it. Reviewed-by: dcubed, iklam ! src/share/vm/memory/filemap.cpp Changeset: ce5467120c84 Author: hseigel Date: 2013-02-03 17:12 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/ce5467120c84 Merge From Alan.Bateman at oracle.com Mon Feb 4 01:42:11 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 04 Feb 2013 09:42:11 +0000 Subject: hg: jdk8/tl/jdk: 8002048: Protocol to discovery of manageable Java processes on a network In-Reply-To: <20130203174102.567C3477C3@hg.openjdk.java.net> References: <20130203174102.567C3477C3@hg.openjdk.java.net> Message-ID: <510F8273.4020504@oracle.com> Dmitry - the test doesn't compile/run with jtreg, was it tested before you pushed this? -Alan On 03/02/2013 17:40, dmitry.samersoff at oracle.com wrote: > Changeset: 962d6612cace > Author: dsamersoff > Date: 2013-02-03 21:39 +0400 > URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/962d6612cace > > 8002048: Protocol to discovery of manageable Java processes on a network > Summary: Introduce a protocol to discover manageble Java instances across a network subnet, JDP > Reviewed-by: sla, dfuchs > > ! src/share/classes/sun/management/Agent.java > + src/share/classes/sun/management/jdp/JdpBroadcaster.java > + src/share/classes/sun/management/jdp/JdpController.java > + src/share/classes/sun/management/jdp/JdpException.java > + src/share/classes/sun/management/jdp/JdpGenericPacket.java > + src/share/classes/sun/management/jdp/JdpJmxPacket.java > + src/share/classes/sun/management/jdp/JdpPacket.java > + src/share/classes/sun/management/jdp/JdpPacketReader.java > + src/share/classes/sun/management/jdp/JdpPacketWriter.java > + src/share/classes/sun/management/jdp/package-info.java > + test/sun/management/jdp/JdpClient.java > + test/sun/management/jdp/JdpDoSomething.java > + test/sun/management/jdp/JdpTest.sh > + test/sun/management/jdp/JdpUnitTest.java > From yekaterina.kantserova at oracle.com Mon Feb 4 02:33:16 2013 From: yekaterina.kantserova at oracle.com (Yekaterina Kantserova) Date: Mon, 04 Feb 2013 11:33:16 +0100 Subject: RFR (S) 8007142: Add utility classes for writing better multiprocess tests in jtreg In-Reply-To: <510BDCAA.1080909@oracle.com> References: <510BB12C.2030802@oracle.com> <510BB5CC.6050604@oracle.com> <510BC3E0.6020107@oracle.com> <510BCF1B.3010704@oracle.com> <510BD9EF.1050202@oracle.com> <510BDCAA.1080909@oracle.com> Message-ID: <510F8E6C.2090301@oracle.com> On 02/01/2013 04:18 PM, Alan Bateman wrote: > On 01/02/2013 15:06, Yekaterina Kantserova wrote: >> >> Thanks for explanation! But I'm still confused. >> >> In my use case I need to test /_the tool_/ I'll find with >> JDKToolFinder. It will work if just -jdk will be specified. But if >> -compilejdk happens to be specified the results of my tests will be >> useless. Furthermore, it would be hard to detect. Do you think there >> is a solution that covers all use cases? > I don't think it make sense to specify -compilejdk and not -jdk. Does > that help? > > -Alan No, it was a bad example. Let's take another one: /java -jar jtreg.jar -jdk MONKEY -compilejdk LION test.java/ In this case JDKToolFinder.getJDKTool("jcmd") will return LION/bin/jcmd, but I need to test MONKEY/bin/jcmd. There is an example in ProcessTools.java: ... /** * Create ProcessBuilder using *the java launcher from the jdk to be tested* * and with any platform specific arguments prepended */ public static ProcessBuilder createJavaProcessBuilder(String... command) throws Exception { String javapath = JDKToolFinder.getJDKTool("java"); ArrayList args = new ArrayList<>(); args.add(javapath); Collections.addAll(args, getPlatformSpecificVMArgs()); Collections.addAll(args, command); return new ProcessBuilder(args.toArray(new String[args.size()])); } ... May be we need another solution for testing a JRE? JREToolFinder for example, which can be implemented later? Thanks, Katja -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130204/80da4696/attachment.html From Alan.Bateman at oracle.com Mon Feb 4 02:55:15 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 04 Feb 2013 10:55:15 +0000 Subject: RFR (S) 8007142: Add utility classes for writing better multiprocess tests in jtreg In-Reply-To: <510F8E6C.2090301@oracle.com> References: <510BB12C.2030802@oracle.com> <510BB5CC.6050604@oracle.com> <510BC3E0.6020107@oracle.com> <510BCF1B.3010704@oracle.com> <510BD9EF.1050202@oracle.com> <510BDCAA.1080909@oracle.com> <510F8E6C.2090301@oracle.com> Message-ID: <510F9393.8080509@oracle.com> On 04/02/2013 10:33, Yekaterina Kantserova wrote: > > No, it was a bad example. Let's take another one: > > /java -jar jtreg.jar -jdk MONKEY -compilejdk LION test.java/ > > In this case JDKToolFinder.getJDKTool("jcmd") will return > LION/bin/jcmd, but I need to test MONKEY/bin/jcmd. The -compilejdk option should only be used when testing a JRE -- ie: no tools in the runtime under test. So this your example shouldn't include the -compilejdk option as it is testing a JDK. -Alan. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130204/d42bb5d7/attachment.html From yekaterina.kantserova at oracle.com Mon Feb 4 03:03:50 2013 From: yekaterina.kantserova at oracle.com (Yekaterina Kantserova) Date: Mon, 04 Feb 2013 12:03:50 +0100 Subject: RFR (S) 8007142: Add utility classes for writing better multiprocess tests in jtreg In-Reply-To: <510F9393.8080509@oracle.com> References: <510BB12C.2030802@oracle.com> <510BB5CC.6050604@oracle.com> <510BC3E0.6020107@oracle.com> <510BCF1B.3010704@oracle.com> <510BD9EF.1050202@oracle.com> <510BDCAA.1080909@oracle.com> <510F8E6C.2090301@oracle.com> <510F9393.8080509@oracle.com> Message-ID: <510F9596.8060503@oracle.com> On 02/04/2013 11:55 AM, Alan Bateman wrote: > On 04/02/2013 10:33, Yekaterina Kantserova wrote: >> >> No, it was a bad example. Let's take another one: >> >> /java -jar jtreg.jar -jdk MONKEY -compilejdk LION test.java/ >> >> In this case JDKToolFinder.getJDKTool("jcmd") will return >> LION/bin/jcmd, but I need to test MONKEY/bin/jcmd. > The -compilejdk option should only be used when testing a JRE -- ie: > no tools in the runtime under test. > > So this your example shouldn't include the -compilejdk option as it is > testing a JDK. > > -Alan. But JDKToolFinder.getJDKTool is used even for finding java, e.g. I need to fork a java process - JDKToolFinder.getJDKTool("java") for some JRE tests? // Katja -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130204/4edf238c/attachment-0001.html From Alan.Bateman at oracle.com Mon Feb 4 05:18:41 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 04 Feb 2013 13:18:41 +0000 Subject: RFR (S) 8007142: Add utility classes for writing better multiprocess tests in jtreg In-Reply-To: <510F9596.8060503@oracle.com> References: <510BB12C.2030802@oracle.com> <510BB5CC.6050604@oracle.com> <510BC3E0.6020107@oracle.com> <510BCF1B.3010704@oracle.com> <510BD9EF.1050202@oracle.com> <510BDCAA.1080909@oracle.com> <510F8E6C.2090301@oracle.com> <510F9393.8080509@oracle.com> <510F9596.8060503@oracle.com> Message-ID: <510FB531.8040407@oracle.com> On 04/02/2013 11:03, Yekaterina Kantserova wrote: > > But JDKToolFinder.getJDKTool is used even for finding java, e.g. I > need to fork a java process - JDKToolFinder.getJDKTool("java") for > some JRE tests? It might be better to rename JDKToolFinder to something like JdkFinder and have it define getJavaLauncher() and getTool(String tool) methods. If you don't agree then you could at least change ProcessTools.createJavaProcessBuilder so that it looks like "java" in the JDK/JRE under test. -Alan. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130204/7489d262/attachment.html From daniel.daugherty at oracle.com Mon Feb 4 07:15:26 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 04 Feb 2013 08:15:26 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510FC519.1090808@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <510FC519.1090808@oracle.com> Message-ID: <510FD08E.2050403@oracle.com> Adding back the missing aliases and people... Coleen, Thanks for the review. Replies embedded below. On 2/4/13 7:26 AM, Coleen Phillimore wrote: > On 2/1/2013 6:55 PM, Daniel D. Daugherty wrote: >> And here is the webrev for the new tests (relative to JDK8-T&L): >> >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >> >> As always, comments and suggestions are welcome. >> >> Dan >> >> >> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>> > There are two new tests that will be pushed to the JDK repos using >>> > a different bug ID (not yet filed): >>> >>> New bug is now filed: >>> >>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>> to java/lang/instrument >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>> >>> Of course, the tests cannot be pushed until the HSX changes have made >>> it into a promoted build and thus available to JDK8-T&L. >>> >>> Dan >>> >>> >>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>> Greetings, >>>> >>>> I have a fix for the following JVM/TI bug: >>>> >>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>> >>>> The fix for the bug in the product code is one line: >>>> >>>> src/share/vm/oops/klassVtable.cpp: >>>> >>>> @@ -992,18 +1020,50 @@ >>>> // RC_TRACE macro has an embedded ResourceMark >>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>> new_method->name()->as_C_string(), >>>> new_method->signature()->as_C_string())); >>>> } >>>> - break; >>>> + // cannot 'break' here; see for-loop comment above. >>>> } >>>> ime++; >>>> } >>>> } >>>> } >>>> >>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>> >>>> The rest of the code in the webrevs are: >>>> >>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>> changeset >>>> - additional JVM/TI tracing code added by me and forward ported to >>>> HSX-25 >>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>> elusive old or obsolete methods >>>> - exposure of some printing code to the PRODUCT build so that the new >>>> tracing is available in a PRODUCT build >>>> >>>> You might be wondering why the new tracing code is exposed in a >>>> PRODUCT >>>> build. Well, it appears that more and more PRODUCT bits deployments >>>> are >>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >>>> to instrument their systems. This bug (7182152) was only >>>> intermittently >>>> reproducible in the WLS environment in which it occurred so I made the >>>> tracing available in a PRODUCT build to assist in the hunt. >>>> >>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>> fix resolves the issue in his environment. Thanks Raj! >>>> >>>> Here are the URLs for the three webrevs: >>>> >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ > > In cpCache.cpp: > RC_TRACE_NO_CR(0x00004000, ("")); > > > Can this "searchable prefix" be defined in jvmtiTracing with the rest > of the RC_TRACE macros as some descriptive RC_TRACE name? Doesn't have > to be long but this is distracting stuff. Also, if you change this > searchable prefix, you'd only have to change it once. In the cpCache.cpp case, the RC_TRACE_NO_CR(0x00004000, ("")) macro calls adds a searchable prefix for each dump line when the dump code is called from JVM/TI RedefineClasses tracing. Other code that calls the cpCache dump code won't get the JVM/TI RedefineClasses tracing prefix. The purpose for the prefix is so that all tracing output for a particular tracing level, e.g., 0x00004000, is grep'able together. It wouldn't be appropriate to add the "searchable prefix" to the jvmtiTraceRedefineClasses.hpp file. The HEX values in JVM/TI RedefineClasses tracing are associated with the code being traced. > In jvmtiRedefineClasses.cpp why can't dump_methods just print the > methods without these RC_TRACE macros? Debug output style for JVM/TI RedefineClasses()is supposed to be done using the jvmtiTraceRedefineClasses mechanism. It was inconsistent for dump_methods() to do its output the way it was so I fixed it. > And some is printed and some is not? No, in this case, every line will have a jvmtiTraceRedefineClasses prefix on it when that tracing level is turned on. Example: RedefineClasses-0x4000: _old_methods -- RedefineClasses-0x4000: 0 ( -2) public {old} -- virtual void RedefineSubclassWithTwoInterfacesTarget.() RedefineClasses-0x4000: 1 ( 5) public {old} {obsolete} -- virtual jobject RedefineSubclassWithTwoInterfacesTarget.echo(jobject) Again, the prefix, "RedefineClasses-0x4000:", exists so that everything at that tracing level is grep'able together. > This is really hard to read. The indentation came out strange in the > webrev too. Yes, the original dump_methods() code didn't follow hotspot style and I reformatted it since I was changing much of the code in the function. I tend to use "frames" view in webrevs and I don't see any issues with indentation. > It looks like the call to dump_methods() is covered by one of these > RC_TRACE macros. Yes, I did that intentionally. If I didn't then I would have to have redone all the print code to match jvmtiTraceRedefineClasses style. It was easier to add RC_TRACE_NO_CR() calls where needed and protect the initial call with an RC_TRACE_ENABLED check. > Why isn't that enough? Because all RedefineClasses debug output is supposed to have a prefix like this one: RedefineClasses-0x4000: _old_methods -- > This is really distracting because I keep wondering why it's > RC_TRACE_NO_CR (don't file a CR??) rather than reading the code. Oh, > it's no carriage return. Ugh. You mean like print_cr()? :-) > I still would like dump_methods to always dump all the methods so if > you're debugging this you can temporarily paste this call various > places without trying to figure out which RC_TRACE number to give it. Sorry, that's not how debugging in RedefineClasses is supposed to work. dump_methods() was an outlier that needed to be fixed so that it matched the rest of the jvmtiTraceRedefineClasses infrastructure. Of course, the Serviceability team is welcome to change this debugging code to suite their own style and tastes. I think that would be an easier task if it was all "the same". Dan > > Coleen > >>>> I have run the following test suites from the JPDA stack on the >>>> JDK7u10/HSX-23.6 version of the fix with >>>> -XX:TraceRedefineClasses=16384 >>>> specified: >>>> >>>> sdk-jdi >>>> sdk-jdi_closed >>>> sdk-jli >>>> vm-heapdump >>>> vm-hprof >>>> vm-jdb >>>> vm-jdi >>>> vm-jdwp >>>> vm-jvmti >>>> vm-sajdi >>>> >>>> The tested configs are: >>>> >>>> {Solaris-X86, WinXP} >>>> X {Client VM, Server VM} >>>> X {-Xmixed, -Xcomp} >>>> X {product, fastdebug} >>>> >>>> With the 1-liner fix in place, the new tracing code does not find any >>>> instances of this failure mode in any of the above test suites. >>>> Without >>>> the the 1-liner fix in place, the new tracing code finds one instance >>>> of this failure mode in the above test suites: >>>> >>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>> >>>> There are two new tests that will be pushed to the JDK repos using >>>> a different bug ID (not yet filed): >>>> >>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>> >>>> There will be a separate review request for the new tests. >>>> >>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>> take all weekend to complete. >>>> >>>> Thanks, in advance, for any comments and/or suggestions. >>>> >>>> Dan >>>> >>>> >>>> >>> >>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130204/3331856b/attachment-0001.html From karen.kinnear at oracle.com Mon Feb 4 07:19:53 2013 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Mon, 4 Feb 2013 10:19:53 -0500 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510C1DC6.2010607@oracle.com> References: <510C1DC6.2010607@oracle.com> Message-ID: Dan, All 3 versions of the code looks good. Thank you for enabling the printing for product since this type of problem is so hard to duplicate. A small note, I think it would have been easier for the internal code logic for the CPCE::check_no_old_or_obsolete_entries to reverse the true/false, but no need to change. I would appreciate the comment from is_interesting_method_entry copied to check_no_old_or_obsolete_entries about virtual and final that f2 contains a method ptr instead of a vtable index. In the jdk8 version in cpCache.cpp you've added the is_valid checks for metadata. For a future cleanup, do we need f2_as_vfinal_method and is_interesting_method_entry to do that as well? Is redefineclasses supported in the MinimalVM? thanks, Karen On Feb 1, 2013, at 2:55 PM, Daniel D. Daugherty wrote: > Greetings, > > I have a fix for the following JVM/TI bug: > > 7182152 Instrumentation hot swap test incorrect monitor count > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 > https://jbs.oracle.com/bugs/browse/JDK-7182152 > > The fix for the bug in the product code is one line: > > src/share/vm/oops/klassVtable.cpp: > > @@ -992,18 +1020,50 @@ > // RC_TRACE macro has an embedded ResourceMark > RC_TRACE(0x00200000, ("itable method update: %s(%s)", > new_method->name()->as_C_string(), > new_method->signature()->as_C_string())); > } > - break; > + // cannot 'break' here; see for-loop comment above. > } > ime++; > } > } > } > > and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen > already fixed the bug as part of the Perm Gen Removal (PGR) project > in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR > changeset. Many thanks to Coleen for her help in this bug hunt! > > The rest of the code in the webrevs are: > > - additional JVM/TI tracing code backported from Coleen's PGR changeset > - additional JVM/TI tracing code added by me and forward ported to HSX-25 > - a new -XX:TraceRedefineClasses=16384 flag value for finding these > elusive old or obsolete methods > - exposure of some printing code to the PRODUCT build so that the new > tracing is available in a PRODUCT build > > You might be wondering why the new tracing code is exposed in a PRODUCT > build. Well, it appears that more and more PRODUCT bits deployments are > using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time > to instrument their systems. This bug (7182152) was only intermittently > reproducible in the WLS environment in which it occurred so I made the > tracing available in a PRODUCT build to assist in the hunt. > > Raj from the WLS team has also verified that the HSX-23.6 version of > fix resolves the issue in his environment. Thanks Raj! > > Here are the URLs for the three webrevs: > > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ > > I have run the following test suites from the JPDA stack on the > JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 > specified: > > sdk-jdi > sdk-jdi_closed > sdk-jli > vm-heapdump > vm-hprof > vm-jdb > vm-jdi > vm-jdwp > vm-jvmti > vm-sajdi > > The tested configs are: > > {Solaris-X86, WinXP} > X {Client VM, Server VM} > X {-Xmixed, -Xcomp} > X {product, fastdebug} > > With the 1-liner fix in place, the new tracing code does not find any > instances of this failure mode in any of the above test suites. Without > the the 1-liner fix in place, the new tracing code finds one instance > of this failure mode in the above test suites: > > test/java/lang/instrument/IsModifiableClassAgent.java > > There are two new tests that will be pushed to the JDK repos using > a different bug ID (not yet filed): > > test/com/sun/jdi/RedefineAbstractClass.sh > test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh > > There will be a separate review request for the new tests. > > I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 > and JDK8-B75/HSX-25 versions of the fix. That testing will likely > take all weekend to complete. > > Thanks, in advance, for any comments and/or suggestions. > > Dan > From coleen.phillimore at oracle.com Mon Feb 4 07:34:54 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Mon, 04 Feb 2013 10:34:54 -0500 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510FD08E.2050403@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <510FC519.1090808@oracle.com> <510FD08E.2050403@oracle.com> Message-ID: <510FD51E.2040100@oracle.com> On 2/4/2013 10:15 AM, Daniel D. Daugherty wrote: > Adding back the missing aliases and people... Sorry, I meant to send this re-all. I missed something major in my earlier review. The metadata->is_valid() flag should only be enabled in debug mode. It adds a word to all metadata. > > > Coleen, > > Thanks for the review. Replies embedded below. > > > On 2/4/13 7:26 AM, Coleen Phillimore wrote: >> On 2/1/2013 6:55 PM, Daniel D. Daugherty wrote: >>> And here is the webrev for the new tests (relative to JDK8-T&L): >>> >>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >>> >>> As always, comments and suggestions are welcome. >>> >>> Dan >>> >>> >>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>> > There are two new tests that will be pushed to the JDK repos using >>>> > a different bug ID (not yet filed): >>>> >>>> New bug is now filed: >>>> >>>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>>> to java/lang/instrument >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>> >>>> Of course, the tests cannot be pushed until the HSX changes have made >>>> it into a promoted build and thus available to JDK8-T&L. >>>> >>>> Dan >>>> >>>> >>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>> Greetings, >>>>> >>>>> I have a fix for the following JVM/TI bug: >>>>> >>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>> >>>>> The fix for the bug in the product code is one line: >>>>> >>>>> src/share/vm/oops/klassVtable.cpp: >>>>> >>>>> @@ -992,18 +1020,50 @@ >>>>> // RC_TRACE macro has an embedded ResourceMark >>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>> new_method->name()->as_C_string(), >>>>> new_method->signature()->as_C_string())); >>>>> } >>>>> - break; >>>>> + // cannot 'break' here; see for-loop comment above. >>>>> } >>>>> ime++; >>>>> } >>>>> } >>>>> } >>>>> >>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>> >>>>> The rest of the code in the webrevs are: >>>>> >>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>> changeset >>>>> - additional JVM/TI tracing code added by me and forward ported to >>>>> HSX-25 >>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>> elusive old or obsolete methods >>>>> - exposure of some printing code to the PRODUCT build so that the new >>>>> tracing is available in a PRODUCT build >>>>> >>>>> You might be wondering why the new tracing code is exposed in a >>>>> PRODUCT >>>>> build. Well, it appears that more and more PRODUCT bits >>>>> deployments are >>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>> run-time >>>>> to instrument their systems. This bug (7182152) was only >>>>> intermittently >>>>> reproducible in the WLS environment in which it occurred so I made >>>>> the >>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>> >>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>> fix resolves the issue in his environment. Thanks Raj! >>>>> >>>>> Here are the URLs for the three webrevs: >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >> >> In cpCache.cpp: >> RC_TRACE_NO_CR(0x00004000, ("")); >> >> >> Can this "searchable prefix" be defined in jvmtiTracing with the rest >> of the RC_TRACE macros as some descriptive RC_TRACE name? Doesn't >> have to be long but this is distracting stuff. Also, if you change >> this searchable prefix, you'd only have to change it once. > > In the cpCache.cpp case, the RC_TRACE_NO_CR(0x00004000, ("")) macro > calls adds a searchable prefix for each dump line when the dump code > is called from JVM/TI RedefineClasses tracing. Other code that calls > the cpCache dump code won't get the JVM/TI RedefineClasses tracing > prefix. The purpose for the prefix is so that all tracing output for > a particular tracing level, e.g., 0x00004000, is grep'able together. This function void ConstantPoolCacheEntry::print(outputStream* st, int index) const { } Is general purpose code. It shouldn't have all these lines specific to redefine classes. If it needs to, the noise should be minimized. You can add a define in that trace macros.hpp file: #define RC_PREFIX This code shouldn't be present in the general purpose metadata printing. The dump_vtable and dump_itable functions are arguable since they seem to only be used by redefine classes now, but I can see a general purpose use for these too that shouldn't include this noise. > > It wouldn't be appropriate to add the "searchable prefix" to the > jvmtiTraceRedefineClasses.hpp file. The HEX values in JVM/TI > RedefineClasses tracing are associated with the code being traced. > > >> In jvmtiRedefineClasses.cpp why can't dump_methods just print the >> methods without these RC_TRACE macros? > > Debug output style for JVM/TI RedefineClasses()is supposed to be done > using the jvmtiTraceRedefineClasses mechanism. It was inconsistent for > dump_methods() to do its output the way it was so I fixed it. > >> And some is printed and some is not? > > No, in this case, every line will have a jvmtiTraceRedefineClasses > prefix on it when that tracing level is turned on. Example: > > RedefineClasses-0x4000: _old_methods -- > RedefineClasses-0x4000: 0 ( -2) public {old} -- virtual void > RedefineSubclassWithTwoInterfacesTarget.() > RedefineClasses-0x4000: 1 ( 5) public {old} {obsolete} -- virtual > jobject RedefineSubclassWithTwoInterfacesTarget.echo(jobject) > > Again, the prefix, "RedefineClasses-0x4000:", exists so that everything > at that tracing level is grep'able together. > > >> This is really hard to read. The indentation came out strange in >> the webrev too. > > Yes, the original dump_methods() code didn't follow hotspot > style and I reformatted it since I was changing much of the > code in the function. > > I tend to use "frames" view in webrevs and I don't see any > issues with indentation. > > I see what happened with dump_methods. I think it was refactored (to cut/paste places) and the indentation wasn't fixed. You can leave the noise in there since it's in redefine/classes, but I really object to it in the general purpose code. Coleen > >> It looks like the call to dump_methods() is covered by one of these >> RC_TRACE macros. > > Yes, I did that intentionally. If I didn't then I would have to have > redone all the print code to match jvmtiTraceRedefineClasses style. > It was easier to add RC_TRACE_NO_CR() calls where needed and protect > the initial call with an RC_TRACE_ENABLED check. > > >> Why isn't that enough? > > Because all RedefineClasses debug output is supposed to have a > prefix like this one: > > RedefineClasses-0x4000: _old_methods -- > > >> This is really distracting because I keep wondering why it's >> RC_TRACE_NO_CR (don't file a CR??) rather than reading the code. >> Oh, it's no carriage return. Ugh. > > You mean like print_cr()? :-) > > >> I still would like dump_methods to always dump all the methods so if >> you're debugging this you can temporarily paste this call various >> places without trying to figure out which RC_TRACE number to give it. > > Sorry, that's not how debugging in RedefineClasses is supposed to work. > dump_methods() was an outlier that needed to be fixed so that it matched > the rest of the jvmtiTraceRedefineClasses infrastructure. > > Of course, the Serviceability team is welcome to change this debugging > code to suite their own style and tastes. I think that would be an easier > task if it was all "the same". > > Dan > > >> >> Coleen >> >>>>> I have run the following test suites from the JPDA stack on the >>>>> JDK7u10/HSX-23.6 version of the fix with >>>>> -XX:TraceRedefineClasses=16384 >>>>> specified: >>>>> >>>>> sdk-jdi >>>>> sdk-jdi_closed >>>>> sdk-jli >>>>> vm-heapdump >>>>> vm-hprof >>>>> vm-jdb >>>>> vm-jdi >>>>> vm-jdwp >>>>> vm-jvmti >>>>> vm-sajdi >>>>> >>>>> The tested configs are: >>>>> >>>>> {Solaris-X86, WinXP} >>>>> X {Client VM, Server VM} >>>>> X {-Xmixed, -Xcomp} >>>>> X {product, fastdebug} >>>>> >>>>> With the 1-liner fix in place, the new tracing code does not find any >>>>> instances of this failure mode in any of the above test suites. >>>>> Without >>>>> the the 1-liner fix in place, the new tracing code finds one instance >>>>> of this failure mode in the above test suites: >>>>> >>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>> >>>>> There are two new tests that will be pushed to the JDK repos using >>>>> a different bug ID (not yet filed): >>>>> >>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>> >>>>> There will be a separate review request for the new tests. >>>>> >>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>> take all weekend to complete. >>>>> >>>>> Thanks, in advance, for any comments and/or suggestions. >>>>> >>>>> Dan >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130204/c5f275aa/attachment-0001.html From erik.helin at oracle.com Mon Feb 4 08:01:22 2013 From: erik.helin at oracle.com (Erik Helin) Date: Mon, 04 Feb 2013 17:01:22 +0100 Subject: RFR (S): 8004172: Update jstat counter names to reflect metaspace changes In-Reply-To: <510697F1.8040808@oracle.com> References: <51011226.9050509@oracle.com> <51017131.7040603@oracle.com> <25C8A64B-FEDF-4736-8CF1-02F1DE7E4FDC@oracle.com> <510697F1.8040808@oracle.com> Message-ID: <510FDB52.5070000@oracle.com> There have been some updates to the hotspot code based on feedback from the hotspot-gc-dev mailing list. The only change to the JDK code is that the namespace is back to "sun.gc" :) New webrevs: - jdk: http://cr.openjdk.java.net/~ehelin/8004172/jdk/webrev.03/ - hotspot: http://cr.openjdk.java.net/~ehelin/8004172/hotspot/webrev.03/ Thanks, Erik On 01/28/2013 04:23 PM, Erik Helin wrote: > Jon Masamitsu suggested that the "sun.rt" namespace should be used > instead of the "sun.gc" namespace. I've updated both the jdk and the > hotspot code based on this suggestion. > > New webrevs: > - hotspot: http://cr.openjdk.java.net/~ehelin/8004172/hotspot/webrev.01/ > - jdk: http://cr.openjdk.java.net/~ehelin/8004172/jdk/webrev.02/ > > Thanks, > Erik > > On 01/25/2013 09:01 AM, Staffan Larsen wrote: >> Looks good! >> >> /Staffan >> >> On 24 jan 2013, at 18:36, Erik Helin wrote: >> >>> Hi Staffan, >>> >>> thanks for reviewing this! >>> >>> On 01/24/2013 01:27 PM, Staffan Larsen wrote: >>>> The JDK changes look good, but I think there is change needed in >>>> test/sun/tools/jstatd/jstatGcutilOutput1.awk as well. >>> >>> Yes, you are right. Please see an updated webrev at: >>> http://cr.openjdk.java.net/~ehelin/8004172/jdk/webrev.01/ >>> >>> Thanks, >>> Erik >>> >>>> Thanks, >>>> /Staffan >>>> >>>> On 24 jan 2013, at 11:51, Erik Helin wrote: >>>> >>>>> Hi all, >>>>> >>>>> here are the JDK changes for fixing JDK-8004172. This change >>>>> updates the jstat resource file to use the new metaspace >>>>> performance counters and also updates the tests. >>>>> >>>>> Note that the fixed tests will continue to fail until the HotSpot >>>>> part of the change finds it way into the tl forest. >>>>> >>>>> The HotSpot part of the change is also out for review on >>>>> hotspot-gc-dev at openjdk.java.net. >>>>> >>>>> Webrev: >>>>> JDK: http://cr.openjdk.java.net/~ehelin/8004172/jdk/webrev.00/ >>>>> HotSpot: http://cr.openjdk.java.net/~ehelin/8004172/hotspot/webrev.00/ >>>>> >>>>> Bug: >>>>> http://bugs.sun.com/view_bug.do?bug_id=8004172 >>>>> >>>>> Testing: >>>>> Run the jstat jtreg tests locally on my machine on a repository >>>>> where I've applied both the JDK changes and the HotSpot changes. >>>>> >>>>> Thanks, >>>>> Erik >>>> >>> >> > From daniel.daugherty at oracle.com Mon Feb 4 08:40:16 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 04 Feb 2013 09:40:16 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: References: <510C1DC6.2010607@oracle.com> Message-ID: <510FE470.1020405@oracle.com> Karen, Thanks for the reviews! Replies embedded below. On 2/4/13 8:19 AM, Karen Kinnear wrote: > Dan, > > All 3 versions of the code looks good. Thank you for enabling the printing for product since > this type of problem is so hard to duplicate. You're welcome. > A small note, I think it would have been easier for the internal code logic > for the CPCE::check_no_old_or_obsolete_entries to reverse the true/false, > but no need to change. The original code added by Robert on 2006.04.21 used "check_no_old_entries" so I followed his lead in my rename. > I would appreciate the comment from > is_interesting_method_entry copied to check_no_old_or_obsolete_entries > about virtual and final that f2 contains a method ptr instead of a vtable index. So this comment here on line 498: 497 if (is_vfinal()) { 498 // virtual and final so _f2 contains method ptr instead of vtable index 499 m = (methodOop)_f2; Copied to this new block here: 475 if (is_vfinal()) { 476 methodOop m = (methodOop)_f2; between line 475 and 476 (for the HSX23.6 version). Between line 580 and 581 in the HSX-24 version and between line 465 and 466 in the HSX-25 version. I'll make that change. > In the jdk8 version in cpCache.cpp you've added the is_valid checks for metadata. The is_valid() check may go away since the field it is using adds to memory footprint. Stay tuned. > For a future cleanup, do we need f2_as_vfinal_method and is_interesting_method_entry > to do that as well? This line in the HSX-25 version: 466 Metadata* f2 = (Metadata*)_f2; should probably have used f2_as_vfinal_method(). I'll have to check with Coleen to find out if there is a reason why it doesn't; there may be a good reason. I noticed that there is quite a bit of "type cleanup" in the HSX-24 version of is_interesting_method_entry(), e.g.: In HSX23.6: 497 if (is_vfinal()) { 498 // virtual and final so _f2 contains method ptr instead of vtable index 499 m = (methodOop)_f2; 500 } else if ((oop)_f1 == NULL) { 501 // NULL _f1 means this is a virtual entry so also not interesting 502 return false; In HSX24: 602 if (is_vfinal()) { 603 // virtual and final so _f2 contains method ptr instead of vtable index 604 m = f2_as_vfinal_method(); 605 } else if (is_f1_null()) { 606 // NULL _f1 means this is a virtual entry so also not interesting 607 return false; check_no_old_or_obsolete_entries() could definitely benefit from the better code in is_interesting_method_entry(). In particular, this block in is_interesting_method_entry(): 491 if (!is_method_entry()) { 492 // not a method entry so not interesting by default 493 return false; 494 } is present in the HSX-23.6, HSX-24, and HSX-25 versions of is_interesting_method_entry(), but is not used by the original check_no_old_entries() or any of the new check_no_old_or_obsolete_entries(). I'll put that info in the new bug to track the future work. > Is redefineclasses supported in the MinimalVM? I don't know the answer to that. I have not been tracking the MinimalVM work. I'll investigate and get back to you. Again, thanks for the reviews. Dan > > thanks, > Karen > > On Feb 1, 2013, at 2:55 PM, Daniel D. Daugherty wrote: > >> Greetings, >> >> I have a fix for the following JVM/TI bug: >> >> 7182152 Instrumentation hot swap test incorrect monitor count >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >> https://jbs.oracle.com/bugs/browse/JDK-7182152 >> >> The fix for the bug in the product code is one line: >> >> src/share/vm/oops/klassVtable.cpp: >> >> @@ -992,18 +1020,50 @@ >> // RC_TRACE macro has an embedded ResourceMark >> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >> new_method->name()->as_C_string(), >> new_method->signature()->as_C_string())); >> } >> - break; >> + // cannot 'break' here; see for-loop comment above. >> } >> ime++; >> } >> } >> } >> >> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >> already fixed the bug as part of the Perm Gen Removal (PGR) project >> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >> changeset. Many thanks to Coleen for her help in this bug hunt! >> >> The rest of the code in the webrevs are: >> >> - additional JVM/TI tracing code backported from Coleen's PGR changeset >> - additional JVM/TI tracing code added by me and forward ported to HSX-25 >> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >> elusive old or obsolete methods >> - exposure of some printing code to the PRODUCT build so that the new >> tracing is available in a PRODUCT build >> >> You might be wondering why the new tracing code is exposed in a PRODUCT >> build. Well, it appears that more and more PRODUCT bits deployments are >> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >> to instrument their systems. This bug (7182152) was only intermittently >> reproducible in the WLS environment in which it occurred so I made the >> tracing available in a PRODUCT build to assist in the hunt. >> >> Raj from the WLS team has also verified that the HSX-23.6 version of >> fix resolves the issue in his environment. Thanks Raj! >> >> Here are the URLs for the three webrevs: >> >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >> >> I have run the following test suites from the JPDA stack on the >> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >> specified: >> >> sdk-jdi >> sdk-jdi_closed >> sdk-jli >> vm-heapdump >> vm-hprof >> vm-jdb >> vm-jdi >> vm-jdwp >> vm-jvmti >> vm-sajdi >> >> The tested configs are: >> >> {Solaris-X86, WinXP} >> X {Client VM, Server VM} >> X {-Xmixed, -Xcomp} >> X {product, fastdebug} >> >> With the 1-liner fix in place, the new tracing code does not find any >> instances of this failure mode in any of the above test suites. Without >> the the 1-liner fix in place, the new tracing code finds one instance >> of this failure mode in the above test suites: >> >> test/java/lang/instrument/IsModifiableClassAgent.java >> >> There are two new tests that will be pushed to the JDK repos using >> a different bug ID (not yet filed): >> >> test/com/sun/jdi/RedefineAbstractClass.sh >> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >> >> There will be a separate review request for the new tests. >> >> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >> take all weekend to complete. >> >> Thanks, in advance, for any comments and/or suggestions. >> >> Dan >> From daniel.daugherty at oracle.com Mon Feb 4 08:50:37 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 04 Feb 2013 09:50:37 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510FD51E.2040100@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <510FC519.1090808@oracle.com> <510FD08E.2050403@oracle.com> <510FD51E.2040100@oracle.com> Message-ID: <510FE6DD.1010704@oracle.com> Thanks for the additional comment. Reply below. On 2/4/13 8:34 AM, Coleen Phillimore wrote: > On 2/4/2013 10:15 AM, Daniel D. Daugherty wrote: >> Adding back the missing aliases and people... > > Sorry, I meant to send this re-all. > > I missed something major in my earlier review. > > The metadata->is_valid() flag should only be enabled in debug mode. > It adds a word to all metadata. Yes, I'm aware that it adds a word to all meta data. My change to src/share/vm/oops/metadata.hpp was intentional. Personally, I would prefer that is_valid() remain in the product bits for at least one release cycle (JDK8). I'm a fan of sanity checks in product bits so I actually wouldn't mind if it stay there permanently. However, if you insist, I'll backout the change to src/share/vm/oops/metadata.hpp and redo the RedefineClasses() sanity check code to be appropriately #ifdef'ed. Dan >> >> >> Coleen, >> >> Thanks for the review. Replies embedded below. >> >> >> On 2/4/13 7:26 AM, Coleen Phillimore wrote: >>> On 2/1/2013 6:55 PM, Daniel D. Daugherty wrote: >>>> And here is the webrev for the new tests (relative to JDK8-T&L): >>>> >>>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >>>> >>>> As always, comments and suggestions are welcome. >>>> >>>> Dan >>>> >>>> >>>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>>> > There are two new tests that will be pushed to the JDK repos using >>>>> > a different bug ID (not yet filed): >>>>> >>>>> New bug is now filed: >>>>> >>>>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>>>> to java/lang/instrument >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>>> >>>>> Of course, the tests cannot be pushed until the HSX changes have made >>>>> it into a promoted build and thus available to JDK8-T&L. >>>>> >>>>> Dan >>>>> >>>>> >>>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>>> Greetings, >>>>>> >>>>>> I have a fix for the following JVM/TI bug: >>>>>> >>>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>>> >>>>>> The fix for the bug in the product code is one line: >>>>>> >>>>>> src/share/vm/oops/klassVtable.cpp: >>>>>> >>>>>> @@ -992,18 +1020,50 @@ >>>>>> // RC_TRACE macro has an embedded ResourceMark >>>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>>> new_method->name()->as_C_string(), >>>>>> new_method->signature()->as_C_string())); >>>>>> } >>>>>> - break; >>>>>> + // cannot 'break' here; see for-loop comment above. >>>>>> } >>>>>> ime++; >>>>>> } >>>>>> } >>>>>> } >>>>>> >>>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>>> >>>>>> The rest of the code in the webrevs are: >>>>>> >>>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>>> changeset >>>>>> - additional JVM/TI tracing code added by me and forward ported >>>>>> to HSX-25 >>>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>>> elusive old or obsolete methods >>>>>> - exposure of some printing code to the PRODUCT build so that the >>>>>> new >>>>>> tracing is available in a PRODUCT build >>>>>> >>>>>> You might be wondering why the new tracing code is exposed in a >>>>>> PRODUCT >>>>>> build. Well, it appears that more and more PRODUCT bits >>>>>> deployments are >>>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>>> run-time >>>>>> to instrument their systems. This bug (7182152) was only >>>>>> intermittently >>>>>> reproducible in the WLS environment in which it occurred so I >>>>>> made the >>>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>>> >>>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>>> fix resolves the issue in his environment. Thanks Raj! >>>>>> >>>>>> Here are the URLs for the three webrevs: >>>>>> >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>> >>> In cpCache.cpp: >>> RC_TRACE_NO_CR(0x00004000, ("")); >>> >>> >>> Can this "searchable prefix" be defined in jvmtiTracing with the >>> rest of the RC_TRACE macros as some descriptive RC_TRACE name? >>> Doesn't have to be long but this is distracting stuff. Also, if >>> you change this searchable prefix, you'd only have to change it once. >> >> In the cpCache.cpp case, the RC_TRACE_NO_CR(0x00004000, ("")) macro >> calls adds a searchable prefix for each dump line when the dump code >> is called from JVM/TI RedefineClasses tracing. Other code that calls >> the cpCache dump code won't get the JVM/TI RedefineClasses tracing >> prefix. The purpose for the prefix is so that all tracing output for >> a particular tracing level, e.g., 0x00004000, is grep'able together. > This function > void ConstantPoolCacheEntry::print(outputStream* st, int index) const { > } > > Is general purpose code. It shouldn't have all these lines specific to > redefine classes. If it needs to, the noise should be minimized. You > can add a define in that trace macros.hpp file: > > #define RC_PREFIX > > This code shouldn't be present in the general purpose metadata > printing. The dump_vtable and dump_itable functions are arguable > since they seem to only be used by redefine classes now, but I can see > a general purpose use for these too that shouldn't include this noise. > > >> >> It wouldn't be appropriate to add the "searchable prefix" to the >> jvmtiTraceRedefineClasses.hpp file. The HEX values in JVM/TI >> RedefineClasses tracing are associated with the code being traced. >> >> >>> In jvmtiRedefineClasses.cpp why can't dump_methods just print the >>> methods without these RC_TRACE macros? >> >> Debug output style for JVM/TI RedefineClasses()is supposed to be done >> using the jvmtiTraceRedefineClasses mechanism. It was inconsistent for >> dump_methods() to do its output the way it was so I fixed it. >> >>> And some is printed and some is not? >> >> No, in this case, every line will have a jvmtiTraceRedefineClasses >> prefix on it when that tracing level is turned on. Example: >> >> RedefineClasses-0x4000: _old_methods -- >> RedefineClasses-0x4000: 0 ( -2) public {old} -- virtual void >> RedefineSubclassWithTwoInterfacesTarget.() >> RedefineClasses-0x4000: 1 ( 5) public {old} {obsolete} -- virtual >> jobject RedefineSubclassWithTwoInterfacesTarget.echo(jobject) >> >> Again, the prefix, "RedefineClasses-0x4000:", exists so that everything >> at that tracing level is grep'able together. >> >> >>> This is really hard to read. The indentation came out strange in >>> the webrev too. >> >> Yes, the original dump_methods() code didn't follow hotspot >> style and I reformatted it since I was changing much of the >> code in the function. >> >> I tend to use "frames" view in webrevs and I don't see any >> issues with indentation. >> >> > > I see what happened with dump_methods. I think it was refactored (to > cut/paste places) and the indentation wasn't fixed. You can leave the > noise in there since it's in redefine/classes, but I really object to > it in the general purpose code. > > Coleen > >> >>> It looks like the call to dump_methods() is covered by one of these >>> RC_TRACE macros. >> >> Yes, I did that intentionally. If I didn't then I would have to have >> redone all the print code to match jvmtiTraceRedefineClasses style. >> It was easier to add RC_TRACE_NO_CR() calls where needed and protect >> the initial call with an RC_TRACE_ENABLED check. >> >> >>> Why isn't that enough? >> >> Because all RedefineClasses debug output is supposed to have a >> prefix like this one: >> >> RedefineClasses-0x4000: _old_methods -- >> >> >>> This is really distracting because I keep wondering why it's >>> RC_TRACE_NO_CR (don't file a CR??) rather than reading the code. >>> Oh, it's no carriage return. Ugh. >> >> You mean like print_cr()? :-) >> >> >>> I still would like dump_methods to always dump all the methods so if >>> you're debugging this you can temporarily paste this call various >>> places without trying to figure out which RC_TRACE number to give it. >> >> Sorry, that's not how debugging in RedefineClasses is supposed to work. >> dump_methods() was an outlier that needed to be fixed so that it matched >> the rest of the jvmtiTraceRedefineClasses infrastructure. >> >> Of course, the Serviceability team is welcome to change this debugging >> code to suite their own style and tastes. I think that would be an easier >> task if it was all "the same". >> >> Dan >> >> >>> >>> Coleen >>> >>>>>> I have run the following test suites from the JPDA stack on the >>>>>> JDK7u10/HSX-23.6 version of the fix with >>>>>> -XX:TraceRedefineClasses=16384 >>>>>> specified: >>>>>> >>>>>> sdk-jdi >>>>>> sdk-jdi_closed >>>>>> sdk-jli >>>>>> vm-heapdump >>>>>> vm-hprof >>>>>> vm-jdb >>>>>> vm-jdi >>>>>> vm-jdwp >>>>>> vm-jvmti >>>>>> vm-sajdi >>>>>> >>>>>> The tested configs are: >>>>>> >>>>>> {Solaris-X86, WinXP} >>>>>> X {Client VM, Server VM} >>>>>> X {-Xmixed, -Xcomp} >>>>>> X {product, fastdebug} >>>>>> >>>>>> With the 1-liner fix in place, the new tracing code does not find >>>>>> any >>>>>> instances of this failure mode in any of the above test suites. >>>>>> Without >>>>>> the the 1-liner fix in place, the new tracing code finds one >>>>>> instance >>>>>> of this failure mode in the above test suites: >>>>>> >>>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>>> >>>>>> There are two new tests that will be pushed to the JDK repos using >>>>>> a different bug ID (not yet filed): >>>>>> >>>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>>> >>>>>> There will be a separate review request for the new tests. >>>>>> >>>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>>> take all weekend to complete. >>>>>> >>>>>> Thanks, in advance, for any comments and/or suggestions. >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130204/77db5f12/attachment-0001.html From coleen.phillimore at oracle.com Mon Feb 4 09:16:21 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Mon, 04 Feb 2013 12:16:21 -0500 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510FE6DD.1010704@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <510FC519.1090808@oracle.com> <510FD08E.2050403@oracle.com> <510FD51E.2040100@oracle.com> <510FE6DD.1010704@oracle.com> Message-ID: <510FECE5.8040300@oracle.com> On 2/4/2013 11:50 AM, Daniel D. Daugherty wrote: > Thanks for the additional comment. Reply below. > > > On 2/4/13 8:34 AM, Coleen Phillimore wrote: >> On 2/4/2013 10:15 AM, Daniel D. Daugherty wrote: >>> Adding back the missing aliases and people... >> >> Sorry, I meant to send this re-all. >> >> I missed something major in my earlier review. >> >> The metadata->is_valid() flag should only be enabled in debug mode. >> It adds a word to all metadata. > > Yes, I'm aware that it adds a word to all meta data. My change to > src/share/vm/oops/metadata.hpp was intentional. Personally, I would > prefer that is_valid() remain in the product bits for at least one > release cycle (JDK8). I'm a fan of sanity checks in product bits so > I actually wouldn't mind if it stay there permanently. > > However, if you insist, I'll backout the change to > src/share/vm/oops/metadata.hpp and redo the RedefineClasses() > sanity check code to be appropriately #ifdef'ed. Thanks, Dan. I do. People are actively trying to reduce metadata right now, so having this additional word will cause a regression that will be noticed for a special case. is_valid() is a bit of a hack too. It relies on metadata being returned and given a non-zero bit pattern which is only enabled in debug (iirc). There's also a f1_as_method and f2_as_vfinal_method calls that return Method* which might make the logic of your if statements simpler in check_no_old_or_obsolete_entries(). Thanks, Coleen > > Dan > > > > >>> >>> >>> Coleen, >>> >>> Thanks for the review. Replies embedded below. >>> >>> >>> On 2/4/13 7:26 AM, Coleen Phillimore wrote: >>>> On 2/1/2013 6:55 PM, Daniel D. Daugherty wrote: >>>>> And here is the webrev for the new tests (relative to JDK8-T&L): >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >>>>> >>>>> As always, comments and suggestions are welcome. >>>>> >>>>> Dan >>>>> >>>>> >>>>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>>>> > There are two new tests that will be pushed to the JDK repos using >>>>>> > a different bug ID (not yet filed): >>>>>> >>>>>> New bug is now filed: >>>>>> >>>>>> 8007420 add test for 6805864 to com/sun/jdi, add test for >>>>>> 7182152 >>>>>> to java/lang/instrument >>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>>>> >>>>>> Of course, the tests cannot be pushed until the HSX changes have >>>>>> made >>>>>> it into a promoted build and thus available to JDK8-T&L. >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>>>> Greetings, >>>>>>> >>>>>>> I have a fix for the following JVM/TI bug: >>>>>>> >>>>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>>>> >>>>>>> The fix for the bug in the product code is one line: >>>>>>> >>>>>>> src/share/vm/oops/klassVtable.cpp: >>>>>>> >>>>>>> @@ -992,18 +1020,50 @@ >>>>>>> // RC_TRACE macro has an embedded ResourceMark >>>>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>>>> new_method->name()->as_C_string(), >>>>>>> new_method->signature()->as_C_string())); >>>>>>> } >>>>>>> - break; >>>>>>> + // cannot 'break' here; see for-loop comment above. >>>>>>> } >>>>>>> ime++; >>>>>>> } >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>>>> >>>>>>> The rest of the code in the webrevs are: >>>>>>> >>>>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>>>> changeset >>>>>>> - additional JVM/TI tracing code added by me and forward ported >>>>>>> to HSX-25 >>>>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>>>> elusive old or obsolete methods >>>>>>> - exposure of some printing code to the PRODUCT build so that >>>>>>> the new >>>>>>> tracing is available in a PRODUCT build >>>>>>> >>>>>>> You might be wondering why the new tracing code is exposed in a >>>>>>> PRODUCT >>>>>>> build. Well, it appears that more and more PRODUCT bits >>>>>>> deployments are >>>>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>>>> run-time >>>>>>> to instrument their systems. This bug (7182152) was only >>>>>>> intermittently >>>>>>> reproducible in the WLS environment in which it occurred so I >>>>>>> made the >>>>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>>>> >>>>>>> Raj from the WLS team has also verified that the HSX-23.6 >>>>>>> version of >>>>>>> fix resolves the issue in his environment. Thanks Raj! >>>>>>> >>>>>>> Here are the URLs for the three webrevs: >>>>>>> >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>> >>>> In cpCache.cpp: >>>> RC_TRACE_NO_CR(0x00004000, ("")); >>>> >>>> >>>> Can this "searchable prefix" be defined in jvmtiTracing with the >>>> rest of the RC_TRACE macros as some descriptive RC_TRACE name? >>>> Doesn't have to be long but this is distracting stuff. Also, if >>>> you change this searchable prefix, you'd only have to change it once. >>> >>> In the cpCache.cpp case, the RC_TRACE_NO_CR(0x00004000, ("")) macro >>> calls adds a searchable prefix for each dump line when the dump code >>> is called from JVM/TI RedefineClasses tracing. Other code that calls >>> the cpCache dump code won't get the JVM/TI RedefineClasses tracing >>> prefix. The purpose for the prefix is so that all tracing output for >>> a particular tracing level, e.g., 0x00004000, is grep'able together. >> This function >> void ConstantPoolCacheEntry::print(outputStream* st, int index) const { >> } >> >> Is general purpose code. It shouldn't have all these lines specific >> to redefine classes. If it needs to, the noise should be minimized. >> You can add a define in that trace macros.hpp file: >> >> #define RC_PREFIX >> >> This code shouldn't be present in the general purpose metadata >> printing. The dump_vtable and dump_itable functions are arguable >> since they seem to only be used by redefine classes now, but I can >> see a general purpose use for these too that shouldn't include this >> noise. >> >> >>> >>> It wouldn't be appropriate to add the "searchable prefix" to the >>> jvmtiTraceRedefineClasses.hpp file. The HEX values in JVM/TI >>> RedefineClasses tracing are associated with the code being traced. >>> >>> >>>> In jvmtiRedefineClasses.cpp why can't dump_methods just print the >>>> methods without these RC_TRACE macros? >>> >>> Debug output style for JVM/TI RedefineClasses()is supposed to be done >>> using the jvmtiTraceRedefineClasses mechanism. It was inconsistent for >>> dump_methods() to do its output the way it was so I fixed it. >>> >>>> And some is printed and some is not? >>> >>> No, in this case, every line will have a jvmtiTraceRedefineClasses >>> prefix on it when that tracing level is turned on. Example: >>> >>> RedefineClasses-0x4000: _old_methods -- >>> RedefineClasses-0x4000: 0 ( -2) public {old} -- virtual void >>> RedefineSubclassWithTwoInterfacesTarget.() >>> RedefineClasses-0x4000: 1 ( 5) public {old} {obsolete} -- virtual >>> jobject RedefineSubclassWithTwoInterfacesTarget.echo(jobject) >>> >>> Again, the prefix, "RedefineClasses-0x4000:", exists so that everything >>> at that tracing level is grep'able together. >>> >>> >>>> This is really hard to read. The indentation came out strange in >>>> the webrev too. >>> >>> Yes, the original dump_methods() code didn't follow hotspot >>> style and I reformatted it since I was changing much of the >>> code in the function. >>> >>> I tend to use "frames" view in webrevs and I don't see any >>> issues with indentation. >>> >>> >> >> I see what happened with dump_methods. I think it was refactored (to >> cut/paste places) and the indentation wasn't fixed. You can leave >> the noise in there since it's in redefine/classes, but I really >> object to it in the general purpose code. >> >> Coleen >> >>> >>>> It looks like the call to dump_methods() is covered by one of these >>>> RC_TRACE macros. >>> >>> Yes, I did that intentionally. If I didn't then I would have to have >>> redone all the print code to match jvmtiTraceRedefineClasses style. >>> It was easier to add RC_TRACE_NO_CR() calls where needed and protect >>> the initial call with an RC_TRACE_ENABLED check. >>> >>> >>>> Why isn't that enough? >>> >>> Because all RedefineClasses debug output is supposed to have a >>> prefix like this one: >>> >>> RedefineClasses-0x4000: _old_methods -- >>> >>> >>>> This is really distracting because I keep wondering why it's >>>> RC_TRACE_NO_CR (don't file a CR??) rather than reading the code. >>>> Oh, it's no carriage return. Ugh. >>> >>> You mean like print_cr()? :-) >>> >>> >>>> I still would like dump_methods to always dump all the methods so >>>> if you're debugging this you can temporarily paste this call >>>> various places without trying to figure out which RC_TRACE number >>>> to give it. >>> >>> Sorry, that's not how debugging in RedefineClasses is supposed to work. >>> dump_methods() was an outlier that needed to be fixed so that it matched >>> the rest of the jvmtiTraceRedefineClasses infrastructure. >>> >>> Of course, the Serviceability team is welcome to change this debugging >>> code to suite their own style and tastes. I think that would be an >>> easier >>> task if it was all "the same". >>> >>> Dan >>> >>> >>>> >>>> Coleen >>>> >>>>>>> I have run the following test suites from the JPDA stack on the >>>>>>> JDK7u10/HSX-23.6 version of the fix with >>>>>>> -XX:TraceRedefineClasses=16384 >>>>>>> specified: >>>>>>> >>>>>>> sdk-jdi >>>>>>> sdk-jdi_closed >>>>>>> sdk-jli >>>>>>> vm-heapdump >>>>>>> vm-hprof >>>>>>> vm-jdb >>>>>>> vm-jdi >>>>>>> vm-jdwp >>>>>>> vm-jvmti >>>>>>> vm-sajdi >>>>>>> >>>>>>> The tested configs are: >>>>>>> >>>>>>> {Solaris-X86, WinXP} >>>>>>> X {Client VM, Server VM} >>>>>>> X {-Xmixed, -Xcomp} >>>>>>> X {product, fastdebug} >>>>>>> >>>>>>> With the 1-liner fix in place, the new tracing code does not >>>>>>> find any >>>>>>> instances of this failure mode in any of the above test suites. >>>>>>> Without >>>>>>> the the 1-liner fix in place, the new tracing code finds one >>>>>>> instance >>>>>>> of this failure mode in the above test suites: >>>>>>> >>>>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>>>> >>>>>>> There are two new tests that will be pushed to the JDK repos using >>>>>>> a different bug ID (not yet filed): >>>>>>> >>>>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>>>> >>>>>>> There will be a separate review request for the new tests. >>>>>>> >>>>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>>>> take all weekend to complete. >>>>>>> >>>>>>> Thanks, in advance, for any comments and/or suggestions. >>>>>>> >>>>>>> Dan >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130204/3fd962c5/attachment-0001.html From daniel.daugherty at oracle.com Mon Feb 4 09:19:55 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 04 Feb 2013 10:19:55 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510FCF32.5050006@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <510FCF32.5050006@oracle.com> Message-ID: <510FEDBB.8060008@oracle.com> Adding back dropped aliases and people... Thanks for reviewing the first test! Replies embedded below. On 2/4/13 8:09 AM, Coleen Phillimore wrote: > On 2/1/2013 6:55 PM, Daniel D. Daugherty wrote: >> And here is the webrev for the new tests (relative to JDK8-T&L): >> >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ > > I am so impressed that you were able to write a test for this. Thanks. The shame of it is that I wrote this test back when I fixed the 1-liner bug back in 2009. The test never got pushed to the JDK repo so the regression was able to sneak in later. Sigh. > I can't follow this shell script at all. Who calls createJavaFile? This test is written using the JDI ShellScaffold.sh infrastructure in test/com/sun/jdi/ShellScaffold.sh (1106 lines of pure joy!). createJavaFile() is a hook called by ShellScaffold.sh to create the .java file that will be exercised by the test. > http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/test/com/sun/jdi/RedefineAbstractClass.sh.html > > > I think a limited amount of duplication of Java code in the test > directory is worth having these scripts be more simple. It looks > like the only thing that substituted in the java test is the main > class, but lines 66 to 104 can be a stand-alone java source file. No, the main class just has the breakpoints. This is the line for the redefinition: 76 // @1 uncomment System.out.println("This is call " + counter + " to checkFunc"); so the original version doesn't have this line and new version has this line. The glue that makes all that work is in TestScaffold.sh. I don't remember for sure, but I think JDI ShellScaffold.sh does not work well with multiple .java files. It has been a long time since I've written a test in this format. These JDI .sh tests are meant to be standalone if need be. That's why this comment is always here: 143 # You could replace this next line with the contents 144 # of ShellScaffold.sh and this script will run just the same. 145 mysetup > Again, I can't really follow the logic here and I dread ever having to > debug this. Can you simplify this? Which part? By definition, RedefineClasses tests are complicated because you have to have at least two versions of .class files, sometimes more. This test is reproducing a bug using "jdb" so there is all the infra that supports controlling "jdb". I think this test is as simple as it can be given the context, but I'm open to specific simplification suggestions. Did you plan to review the java.lang.instrument (JLI) test? It's a bit more convoluted because it is trying to mimic the WLS test case. Dan > > Thanks, > Coleen > >> >> As always, comments and suggestions are welcome. >> >> Dan >> >> >> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>> > There are two new tests that will be pushed to the JDK repos using >>> > a different bug ID (not yet filed): >>> >>> New bug is now filed: >>> >>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>> to java/lang/instrument >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>> >>> Of course, the tests cannot be pushed until the HSX changes have made >>> it into a promoted build and thus available to JDK8-T&L. >>> >>> Dan >>> >>> >>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>> Greetings, >>>> >>>> I have a fix for the following JVM/TI bug: >>>> >>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>> >>>> The fix for the bug in the product code is one line: >>>> >>>> src/share/vm/oops/klassVtable.cpp: >>>> >>>> @@ -992,18 +1020,50 @@ >>>> // RC_TRACE macro has an embedded ResourceMark >>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>> new_method->name()->as_C_string(), >>>> new_method->signature()->as_C_string())); >>>> } >>>> - break; >>>> + // cannot 'break' here; see for-loop comment above. >>>> } >>>> ime++; >>>> } >>>> } >>>> } >>>> >>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>> >>>> The rest of the code in the webrevs are: >>>> >>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>> changeset >>>> - additional JVM/TI tracing code added by me and forward ported to >>>> HSX-25 >>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>> elusive old or obsolete methods >>>> - exposure of some printing code to the PRODUCT build so that the new >>>> tracing is available in a PRODUCT build >>>> >>>> You might be wondering why the new tracing code is exposed in a >>>> PRODUCT >>>> build. Well, it appears that more and more PRODUCT bits deployments >>>> are >>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >>>> to instrument their systems. This bug (7182152) was only >>>> intermittently >>>> reproducible in the WLS environment in which it occurred so I made the >>>> tracing available in a PRODUCT build to assist in the hunt. >>>> >>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>> fix resolves the issue in his environment. Thanks Raj! >>>> >>>> Here are the URLs for the three webrevs: >>>> >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>> >>>> I have run the following test suites from the JPDA stack on the >>>> JDK7u10/HSX-23.6 version of the fix with >>>> -XX:TraceRedefineClasses=16384 >>>> specified: >>>> >>>> sdk-jdi >>>> sdk-jdi_closed >>>> sdk-jli >>>> vm-heapdump >>>> vm-hprof >>>> vm-jdb >>>> vm-jdi >>>> vm-jdwp >>>> vm-jvmti >>>> vm-sajdi >>>> >>>> The tested configs are: >>>> >>>> {Solaris-X86, WinXP} >>>> X {Client VM, Server VM} >>>> X {-Xmixed, -Xcomp} >>>> X {product, fastdebug} >>>> >>>> With the 1-liner fix in place, the new tracing code does not find any >>>> instances of this failure mode in any of the above test suites. >>>> Without >>>> the the 1-liner fix in place, the new tracing code finds one instance >>>> of this failure mode in the above test suites: >>>> >>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>> >>>> There are two new tests that will be pushed to the JDK repos using >>>> a different bug ID (not yet filed): >>>> >>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>> >>>> There will be a separate review request for the new tests. >>>> >>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>> take all weekend to complete. >>>> >>>> Thanks, in advance, for any comments and/or suggestions. >>>> >>>> Dan >>>> >>>> >>>> >>> >>> >>> >> > From vincent.x.ryan at oracle.com Mon Feb 4 09:21:27 2013 From: vincent.x.ryan at oracle.com (vincent.x.ryan at oracle.com) Date: Mon, 04 Feb 2013 17:21:27 +0000 Subject: hg: jdk8/tl/jdk: 8006994: Cleanup PKCS12 tests to ensure streams get closed Message-ID: <20130204172205.4E993477EF@hg.openjdk.java.net> Changeset: 5bf1c9e6be60 Author: vinnie Date: 2013-02-04 17:20 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5bf1c9e6be60 8006994: Cleanup PKCS12 tests to ensure streams get closed Reviewed-by: mullan ! test/java/security/KeyStore/PBETest.java ! test/sun/security/pkcs12/StorePasswordTest.java ! test/sun/security/pkcs12/StoreSecretKeyTest.java ! test/sun/security/pkcs12/StoreTrustedCertTest.java From daniel.daugherty at oracle.com Mon Feb 4 09:26:44 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 04 Feb 2013 10:26:44 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510FECE5.8040300@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <510FC519.1090808@oracle.com> <510FD08E.2050403@oracle.com> <510FD51E.2040100@oracle.com> <510FE6DD.1010704@oracle.com> <510FECE5.8040300@oracle.com> Message-ID: <510FEF54.3030307@oracle.com> On 2/4/13 10:16 AM, Coleen Phillimore wrote: > On 2/4/2013 11:50 AM, Daniel D. Daugherty wrote: >> Thanks for the additional comment. Reply below. >> >> >> On 2/4/13 8:34 AM, Coleen Phillimore wrote: >>> On 2/4/2013 10:15 AM, Daniel D. Daugherty wrote: >>>> Adding back the missing aliases and people... >>> >>> Sorry, I meant to send this re-all. >>> >>> I missed something major in my earlier review. >>> >>> The metadata->is_valid() flag should only be enabled in debug mode. >>> It adds a word to all metadata. >> >> Yes, I'm aware that it adds a word to all meta data. My change to >> src/share/vm/oops/metadata.hpp was intentional. Personally, I would >> prefer that is_valid() remain in the product bits for at least one >> release cycle (JDK8). I'm a fan of sanity checks in product bits so >> I actually wouldn't mind if it stay there permanently. >> >> However, if you insist, I'll backout the change to >> src/share/vm/oops/metadata.hpp and redo the RedefineClasses() >> sanity check code to be appropriately #ifdef'ed. > > Thanks, Dan. I do. People are actively trying to reduce metadata > right now, so having this additional word will cause a regression that > will be noticed for a special case. is_valid() is a bit of a hack > too. It relies on metadata being returned and given a non-zero bit > pattern which is only enabled in debug (iirc). I enabled the setting of the non-zero bit pattern also (iirc). However, I will back out those changes. I don't want to cause grief for the metadata reduction effort. > There's also a f1_as_method and f2_as_vfinal_method calls that return > Method* which might make the logic of your if statements simpler in > check_no_old_or_obsolete_entries(). Yes, Karen mentioned one of those in her review and asked for that cleanup to be tracked in a followup bug. I noticed quite a few "type cleanups" in that area in HSX-24 and I love them. I'm presuming that you did that work, but I haven't chased the history to ground. Dan > > Thanks, > Coleen -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130204/07b8ec6d/attachment.html From coleen.phillimore at oracle.com Mon Feb 4 09:28:21 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Mon, 04 Feb 2013 12:28:21 -0500 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510FEF54.3030307@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <510FC519.1090808@oracle.com> <510FD08E.2050403@oracle.com> <510FD51E.2040100@oracle.com> <510FE6DD.1010704@oracle.com> <510FECE5.8040300@oracle.com> <510FEF54.3030307@oracle.com> Message-ID: <510FEFB5.5050209@oracle.com> On 2/4/2013 12:26 PM, Daniel D. Daugherty wrote: > On 2/4/13 10:16 AM, Coleen Phillimore wrote: >> On 2/4/2013 11:50 AM, Daniel D. Daugherty wrote: >>> Thanks for the additional comment. Reply below. >>> >>> >>> On 2/4/13 8:34 AM, Coleen Phillimore wrote: >>>> On 2/4/2013 10:15 AM, Daniel D. Daugherty wrote: >>>>> Adding back the missing aliases and people... >>>> >>>> Sorry, I meant to send this re-all. >>>> >>>> I missed something major in my earlier review. >>>> >>>> The metadata->is_valid() flag should only be enabled in debug >>>> mode. It adds a word to all metadata. >>> >>> Yes, I'm aware that it adds a word to all meta data. My change to >>> src/share/vm/oops/metadata.hpp was intentional. Personally, I would >>> prefer that is_valid() remain in the product bits for at least one >>> release cycle (JDK8). I'm a fan of sanity checks in product bits so >>> I actually wouldn't mind if it stay there permanently. >>> >>> However, if you insist, I'll backout the change to >>> src/share/vm/oops/metadata.hpp and redo the RedefineClasses() >>> sanity check code to be appropriately #ifdef'ed. >> >> Thanks, Dan. I do. People are actively trying to reduce metadata >> right now, so having this additional word will cause a regression >> that will be noticed for a special case. is_valid() is a bit of a >> hack too. It relies on metadata being returned and given a non-zero >> bit pattern which is only enabled in debug (iirc). > > I enabled the setting of the non-zero bit pattern also (iirc). > However, I will back out those changes. I don't want to cause > grief for the metadata reduction effort. > > >> There's also a f1_as_method and f2_as_vfinal_method calls that return >> Method* which might make the logic of your if statements simpler in >> check_no_old_or_obsolete_entries(). > > Yes, Karen mentioned one of those in her review and asked for > that cleanup to be tracked in a followup bug. I noticed quite > a few "type cleanups" in that area in HSX-24 and I love them. > I'm presuming that you did that work, but I haven't chased the > history to ground. It was John Rose and Christian for the JSR 292 work. I can't claim credit. Thanks! Coleen > > Dan > > >> >> Thanks, >> Coleen -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130204/dffd92fc/attachment-0001.html From serguei.spitsyn at oracle.com Mon Feb 4 11:21:16 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Mon, 04 Feb 2013 11:21:16 -0800 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510C1DC6.2010607@oracle.com> References: <510C1DC6.2010607@oracle.com> Message-ID: <51100A2C.8000406@oracle.com> Dan, The fixes look good for all 3 HS versions (modulo discussions with Coleen and Karen). Great discovery, thank you for doing this! Thanks, Serguei On 2/1/13 11:55 AM, Daniel D. Daugherty wrote: > Greetings, > > I have a fix for the following JVM/TI bug: > > 7182152 Instrumentation hot swap test incorrect monitor count > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 > https://jbs.oracle.com/bugs/browse/JDK-7182152 > > The fix for the bug in the product code is one line: > > src/share/vm/oops/klassVtable.cpp: > > @@ -992,18 +1020,50 @@ > // RC_TRACE macro has an embedded ResourceMark > RC_TRACE(0x00200000, ("itable method update: %s(%s)", > new_method->name()->as_C_string(), > new_method->signature()->as_C_string())); > } > - break; > + // cannot 'break' here; see for-loop comment above. > } > ime++; > } > } > } > > and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen > already fixed the bug as part of the Perm Gen Removal (PGR) project > in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR > changeset. Many thanks to Coleen for her help in this bug hunt! > > The rest of the code in the webrevs are: > > - additional JVM/TI tracing code backported from Coleen's PGR changeset > - additional JVM/TI tracing code added by me and forward ported to HSX-25 > - a new -XX:TraceRedefineClasses=16384 flag value for finding these > elusive old or obsolete methods > - exposure of some printing code to the PRODUCT build so that the new > tracing is available in a PRODUCT build > > You might be wondering why the new tracing code is exposed in a PRODUCT > build. Well, it appears that more and more PRODUCT bits deployments are > using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time > to instrument their systems. This bug (7182152) was only intermittently > reproducible in the WLS environment in which it occurred so I made the > tracing available in a PRODUCT build to assist in the hunt. > > Raj from the WLS team has also verified that the HSX-23.6 version of > fix resolves the issue in his environment. Thanks Raj! > > Here are the URLs for the three webrevs: > > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ > > I have run the following test suites from the JPDA stack on the > JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 > specified: > > sdk-jdi > sdk-jdi_closed > sdk-jli > vm-heapdump > vm-hprof > vm-jdb > vm-jdi > vm-jdwp > vm-jvmti > vm-sajdi > > The tested configs are: > > {Solaris-X86, WinXP} > X {Client VM, Server VM} > X {-Xmixed, -Xcomp} > X {product, fastdebug} > > With the 1-liner fix in place, the new tracing code does not find any > instances of this failure mode in any of the above test suites. Without > the the 1-liner fix in place, the new tracing code finds one instance > of this failure mode in the above test suites: > > test/java/lang/instrument/IsModifiableClassAgent.java > > There are two new tests that will be pushed to the JDK repos using > a different bug ID (not yet filed): > > test/com/sun/jdi/RedefineAbstractClass.sh > test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh > > There will be a separate review request for the new tests. > > I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 > and JDK8-B75/HSX-25 versions of the fix. That testing will likely > take all weekend to complete. > > Thanks, in advance, for any comments and/or suggestions. > > Dan > From daniel.daugherty at oracle.com Mon Feb 4 11:54:59 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 04 Feb 2013 12:54:59 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51100A2C.8000406@oracle.com> References: <510C1DC6.2010607@oracle.com> <51100A2C.8000406@oracle.com> Message-ID: <51101213.3070607@oracle.com> On 2/4/13 12:21 PM, serguei.spitsyn at oracle.com wrote: > Dan, > > > The fixes look good for all 3 HS versions (modulo discussions with > Coleen and Karen). > Great discovery, thank you for doing this! Thanks Serguei! I'm working on addressing Coleen's and Karen's comments and will be rolling out three new webrevs... Dan > > Thanks, > Serguei > > > > On 2/1/13 11:55 AM, Daniel D. Daugherty wrote: >> Greetings, >> >> I have a fix for the following JVM/TI bug: >> >> 7182152 Instrumentation hot swap test incorrect monitor count >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >> https://jbs.oracle.com/bugs/browse/JDK-7182152 >> >> The fix for the bug in the product code is one line: >> >> src/share/vm/oops/klassVtable.cpp: >> >> @@ -992,18 +1020,50 @@ >> // RC_TRACE macro has an embedded ResourceMark >> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >> new_method->name()->as_C_string(), >> new_method->signature()->as_C_string())); >> } >> - break; >> + // cannot 'break' here; see for-loop comment above. >> } >> ime++; >> } >> } >> } >> >> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >> already fixed the bug as part of the Perm Gen Removal (PGR) project >> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >> changeset. Many thanks to Coleen for her help in this bug hunt! >> >> The rest of the code in the webrevs are: >> >> - additional JVM/TI tracing code backported from Coleen's PGR changeset >> - additional JVM/TI tracing code added by me and forward ported to >> HSX-25 >> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >> elusive old or obsolete methods >> - exposure of some printing code to the PRODUCT build so that the new >> tracing is available in a PRODUCT build >> >> You might be wondering why the new tracing code is exposed in a PRODUCT >> build. Well, it appears that more and more PRODUCT bits deployments are >> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >> to instrument their systems. This bug (7182152) was only intermittently >> reproducible in the WLS environment in which it occurred so I made the >> tracing available in a PRODUCT build to assist in the hunt. >> >> Raj from the WLS team has also verified that the HSX-23.6 version of >> fix resolves the issue in his environment. Thanks Raj! >> >> Here are the URLs for the three webrevs: >> >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >> >> I have run the following test suites from the JPDA stack on the >> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >> specified: >> >> sdk-jdi >> sdk-jdi_closed >> sdk-jli >> vm-heapdump >> vm-hprof >> vm-jdb >> vm-jdi >> vm-jdwp >> vm-jvmti >> vm-sajdi >> >> The tested configs are: >> >> {Solaris-X86, WinXP} >> X {Client VM, Server VM} >> X {-Xmixed, -Xcomp} >> X {product, fastdebug} >> >> With the 1-liner fix in place, the new tracing code does not find any >> instances of this failure mode in any of the above test suites. Without >> the the 1-liner fix in place, the new tracing code finds one instance >> of this failure mode in the above test suites: >> >> test/java/lang/instrument/IsModifiableClassAgent.java >> >> There are two new tests that will be pushed to the JDK repos using >> a different bug ID (not yet filed): >> >> test/com/sun/jdi/RedefineAbstractClass.sh >> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >> >> There will be a separate review request for the new tests. >> >> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >> take all weekend to complete. >> >> Thanks, in advance, for any comments and/or suggestions. >> >> Dan >> > From xueming.shen at oracle.com Mon Feb 4 12:00:02 2013 From: xueming.shen at oracle.com (xueming.shen at oracle.com) Date: Mon, 04 Feb 2013 20:00:02 +0000 Subject: hg: jdk8/tl/jdk: 8006295: Base64.Decoder.wrap(java.io.InputStream) returns InputStream which throws unspecified IOException on attempt to decode invalid Base64 byte stream; ... Message-ID: <20130204200026.8C3DD477F8@hg.openjdk.java.net> Changeset: e202f43a8b8a Author: sherman Date: 2013-02-04 11:58 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e202f43a8b8a 8006295: Base64.Decoder.wrap(java.io.InputStream) returns InputStream which throws unspecified IOException on attempt to decode invalid Base64 byte stream 8006315: Base64.Decoder decoding methods are not consistent in treating non-padded data 8006530: Base64.getMimeDecoder().decode() throws exception for non-base64 character after adding = Summary: updated the spec to describe the expected behave explicitly and the implementation to follow Reviewed-by: alanb, chegar, lancea ! src/share/classes/java/util/Base64.java ! test/java/util/Base64/TestBase64.java From coleen.phillimore at oracle.com Mon Feb 4 12:06:02 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Mon, 04 Feb 2013 15:06:02 -0500 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510FEDBB.8060008@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <510FCF32.5050006@oracle.com> <510FEDBB.8060008@oracle.com> Message-ID: <511014AA.8090007@oracle.com> On 2/4/2013 12:19 PM, Daniel D. Daugherty wrote: > Adding back dropped aliases and people... I think I have all the aliases on this, this time. > > Thanks for reviewing the first test! Replies embedded below. > Ok, now I see about the scaffolding framework for the first test. I can say it looks consistent with the other tests in that directory. I reviewed the second test too. I have some questions. in http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh.html In lines 70-77 you move the same two files twice. Also the file, http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java.html Is exactly the same as the file RedefineSubclassWithTwoInterfacesImpl.java Isn't one supposed to be derived from Target_1 rather than Target or different in some way? This second test makes more sense to me than the first anyway. Are you going to wait for the fix to get propagated before checking it in? Thanks, Coleen > > On 2/4/13 8:09 AM, Coleen Phillimore wrote: >> On 2/1/2013 6:55 PM, Daniel D. Daugherty wrote: >>> And here is the webrev for the new tests (relative to JDK8-T&L): >>> >>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >> >> I am so impressed that you were able to write a test for this. > > Thanks. The shame of it is that I wrote this test back when I fixed > the 1-liner bug back in 2009. The test never got pushed to the JDK > repo so the regression was able to sneak in later. Sigh. > > >> I can't follow this shell script at all. Who calls createJavaFile? > > This test is written using the JDI ShellScaffold.sh infrastructure > in test/com/sun/jdi/ShellScaffold.sh (1106 lines of pure joy!). > createJavaFile() is a hook called by ShellScaffold.sh to create > the .java file that will be exercised by the test. > > >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/test/com/sun/jdi/RedefineAbstractClass.sh.html >> >> >> I think a limited amount of duplication of Java code in the test >> directory is worth having these scripts be more simple. It looks >> like the only thing that substituted in the java test is the main >> class, but lines 66 to 104 can be a stand-alone java source file. > > No, the main class just has the breakpoints. > > This is the line for the redefinition: > > 76 // @1 uncomment System.out.println("This is call " + counter > + " to checkFunc"); > > so the original version doesn't have this line and new version > has this line. The glue that makes all that work is in TestScaffold.sh. > > I don't remember for sure, but I think JDI ShellScaffold.sh does not > work well with multiple .java files. It has been a long time since > I've written a test in this format. These JDI .sh tests are meant to > be standalone if need be. That's why this comment is always here: > > 143 # You could replace this next line with the contents > 144 # of ShellScaffold.sh and this script will run just the same. > 145 mysetup > > >> Again, I can't really follow the logic here and I dread ever having >> to debug this. Can you simplify this? > > Which part? By definition, RedefineClasses tests are complicated because > you have to have at least two versions of .class files, sometimes more. > This test is reproducing a bug using "jdb" so there is all the infra > that supports controlling "jdb". > > I think this test is as simple as it can be given the context, but I'm > open to specific simplification suggestions. > > Did you plan to review the java.lang.instrument (JLI) test? It's a bit > more convoluted because it is trying to mimic the WLS test case. > > Dan > > >> >> Thanks, >> Coleen >> >>> >>> As always, comments and suggestions are welcome. >>> >>> Dan >>> >>> >>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>> > There are two new tests that will be pushed to the JDK repos using >>>> > a different bug ID (not yet filed): >>>> >>>> New bug is now filed: >>>> >>>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>>> to java/lang/instrument >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>> >>>> Of course, the tests cannot be pushed until the HSX changes have made >>>> it into a promoted build and thus available to JDK8-T&L. >>>> >>>> Dan >>>> >>>> >>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>> Greetings, >>>>> >>>>> I have a fix for the following JVM/TI bug: >>>>> >>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>> >>>>> The fix for the bug in the product code is one line: >>>>> >>>>> src/share/vm/oops/klassVtable.cpp: >>>>> >>>>> @@ -992,18 +1020,50 @@ >>>>> // RC_TRACE macro has an embedded ResourceMark >>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>> new_method->name()->as_C_string(), >>>>> new_method->signature()->as_C_string())); >>>>> } >>>>> - break; >>>>> + // cannot 'break' here; see for-loop comment above. >>>>> } >>>>> ime++; >>>>> } >>>>> } >>>>> } >>>>> >>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>> >>>>> The rest of the code in the webrevs are: >>>>> >>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>> changeset >>>>> - additional JVM/TI tracing code added by me and forward ported to >>>>> HSX-25 >>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>> elusive old or obsolete methods >>>>> - exposure of some printing code to the PRODUCT build so that the new >>>>> tracing is available in a PRODUCT build >>>>> >>>>> You might be wondering why the new tracing code is exposed in a >>>>> PRODUCT >>>>> build. Well, it appears that more and more PRODUCT bits >>>>> deployments are >>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>> run-time >>>>> to instrument their systems. This bug (7182152) was only >>>>> intermittently >>>>> reproducible in the WLS environment in which it occurred so I made >>>>> the >>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>> >>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>> fix resolves the issue in his environment. Thanks Raj! >>>>> >>>>> Here are the URLs for the three webrevs: >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>> >>>>> I have run the following test suites from the JPDA stack on the >>>>> JDK7u10/HSX-23.6 version of the fix with >>>>> -XX:TraceRedefineClasses=16384 >>>>> specified: >>>>> >>>>> sdk-jdi >>>>> sdk-jdi_closed >>>>> sdk-jli >>>>> vm-heapdump >>>>> vm-hprof >>>>> vm-jdb >>>>> vm-jdi >>>>> vm-jdwp >>>>> vm-jvmti >>>>> vm-sajdi >>>>> >>>>> The tested configs are: >>>>> >>>>> {Solaris-X86, WinXP} >>>>> X {Client VM, Server VM} >>>>> X {-Xmixed, -Xcomp} >>>>> X {product, fastdebug} >>>>> >>>>> With the 1-liner fix in place, the new tracing code does not find any >>>>> instances of this failure mode in any of the above test suites. >>>>> Without >>>>> the the 1-liner fix in place, the new tracing code finds one instance >>>>> of this failure mode in the above test suites: >>>>> >>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>> >>>>> There are two new tests that will be pushed to the JDK repos using >>>>> a different bug ID (not yet filed): >>>>> >>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>> >>>>> There will be a separate review request for the new tests. >>>>> >>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>> take all weekend to complete. >>>>> >>>>> Thanks, in advance, for any comments and/or suggestions. >>>>> >>>>> Dan >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >> > From daniel.daugherty at oracle.com Mon Feb 4 13:08:06 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 04 Feb 2013 14:08:06 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510C1DC6.2010607@oracle.com> References: <510C1DC6.2010607@oracle.com> Message-ID: <51102336.9000808@oracle.com> Greetings, I've updated the fix due to comments in Code Review Round 0. Here is a summary of changes made to the various files: src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) src/share/vm/oops/cpCache.cpp (HSX-25) src/share/vm/oops/klassVtable.cpp - removed the new RC_TRACE_NO_CR() macro calls at Coleen's request; these files are outside of JVM/TI RedefineClasses proper so the tracing/debug style should not be dictated by JVM/TI RedefineClasses style that is currently in use - did not touch the existing RC_TRACE... macros in the file; removing the existing macro calls would be outside the scope of this bug src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) src/share/vm/oops/cpCache.cpp (HSX-25) - copy a comment from ConstantPoolCacheEntry::is_interesting_method_entry() to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries() src/share/vm/oops/klassVtable.cpp - Copied the new comment intended to prevent the "break" from re-materializing again from klassItable::adjust_method_entries() to klassVtable::adjust_method_entries(); yes, I'm paranoid. In the HSX-25 version only: src/share/vm/oops/metadata.hpp - revert changes src/share/vm/oops/cpCacheOop.cpp src/share/vm/oops/klassVtable.cpp - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate Here are the URLs for the updated webrevs: http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/ http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/ http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/ The JPDA stack testing that I started on Friday is still running on WinXP so I'm blocked for checking the recompile due to these changes. I'll start a recompile on Solaris X86, but that will take some time. Thanks, in advance, for more comments, suggestions or questions. Dan On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: > Greetings, > > I have a fix for the following JVM/TI bug: > > 7182152 Instrumentation hot swap test incorrect monitor count > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 > https://jbs.oracle.com/bugs/browse/JDK-7182152 > > The fix for the bug in the product code is one line: > > src/share/vm/oops/klassVtable.cpp: > > @@ -992,18 +1020,50 @@ > // RC_TRACE macro has an embedded ResourceMark > RC_TRACE(0x00200000, ("itable method update: %s(%s)", > new_method->name()->as_C_string(), > new_method->signature()->as_C_string())); > } > - break; > + // cannot 'break' here; see for-loop comment above. > } > ime++; > } > } > } > > and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen > already fixed the bug as part of the Perm Gen Removal (PGR) project > in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR > changeset. Many thanks to Coleen for her help in this bug hunt! > > The rest of the code in the webrevs are: > > - additional JVM/TI tracing code backported from Coleen's PGR changeset > - additional JVM/TI tracing code added by me and forward ported to HSX-25 > - a new -XX:TraceRedefineClasses=16384 flag value for finding these > elusive old or obsolete methods > - exposure of some printing code to the PRODUCT build so that the new > tracing is available in a PRODUCT build > > You might be wondering why the new tracing code is exposed in a PRODUCT > build. Well, it appears that more and more PRODUCT bits deployments are > using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time > to instrument their systems. This bug (7182152) was only intermittently > reproducible in the WLS environment in which it occurred so I made the > tracing available in a PRODUCT build to assist in the hunt. > > Raj from the WLS team has also verified that the HSX-23.6 version of > fix resolves the issue in his environment. Thanks Raj! > > Here are the URLs for the three webrevs: > > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ > > I have run the following test suites from the JPDA stack on the > JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 > specified: > > sdk-jdi > sdk-jdi_closed > sdk-jli > vm-heapdump > vm-hprof > vm-jdb > vm-jdi > vm-jdwp > vm-jvmti > vm-sajdi > > The tested configs are: > > {Solaris-X86, WinXP} > X {Client VM, Server VM} > X {-Xmixed, -Xcomp} > X {product, fastdebug} > > With the 1-liner fix in place, the new tracing code does not find any > instances of this failure mode in any of the above test suites. Without > the the 1-liner fix in place, the new tracing code finds one instance > of this failure mode in the above test suites: > > test/java/lang/instrument/IsModifiableClassAgent.java > > There are two new tests that will be pushed to the JDK repos using > a different bug ID (not yet filed): > > test/com/sun/jdi/RedefineAbstractClass.sh > test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh > > There will be a separate review request for the new tests. > > I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 > and JDK8-B75/HSX-25 versions of the fix. That testing will likely > take all weekend to complete. > > Thanks, in advance, for any comments and/or suggestions. > > Dan > > > From daniel.daugherty at oracle.com Mon Feb 4 13:22:44 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 04 Feb 2013 14:22:44 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <511014AA.8090007@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <510FCF32.5050006@oracle.com> <510FEDBB.8060008@oracle.com> <511014AA.8090007@oracle.com> Message-ID: <511026A4.9030909@oracle.com> Thanks for the additional test comments. Replies embedded below. On 2/4/13 1:06 PM, Coleen Phillimore wrote: > On 2/4/2013 12:19 PM, Daniel D. Daugherty wrote: >> Adding back dropped aliases and people... > > I think I have all the aliases on this, this time. And the individual people also. Thanks! >> >> Thanks for reviewing the first test! Replies embedded below. >> > > Ok, now I see about the scaffolding framework for the first test. I > can say it looks consistent with the other tests in that directory. > > I reviewed the second test too. I have some questions. > > in > http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh.html > > In lines 70-77 you move the same two files twice. I don't think so. Getting rid of the "RedefineSubclassWithTwoInterfaces" prefix will make the real script code more apparent: 70 mv X_Target.java \ 71 X_Target_1.java 72 mv X_Target.class \ 73 X_Target_1.class 74 mv X_Impl.java \ 75 X_Impl_1.java 76 mv X_Impl.class \ 77 X_Impl_1.class > Also the file, > > http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java.html > > > Is exactly the same as the file > RedefineSubclassWithTwoInterfacesImpl.java > > Isn't one supposed to be derived from Target_1 rather than Target or > different in some way? The "_1" stuffis just for version naming purposes. The actual class name has to be the same between Foo.java and Foo_1.java. In this particular bug's case, we only needed to redefine RedefineSubclassWithTwoInterfacesImpl with an EMCP version to tickle the bug. That's why there are no differences between RedefineSubclassWithTwoInterfacesImpl.java and RedefineSubclassWithTwoInterfacesImpl_1.java. Good eyes though. > This second test makes more sense to me than the first anyway. Are you > going to wait for the fix to get propagated before checking it in? Yes, I have to wait until the HSX fix has made it to the T&L repo before I can push the tests. Integrating failing tests intentionally is not permitted in T&L. Of course, you can integrate them disabled, but then you have to go back and enable the test sometime. Dan > Thanks, > Coleen > > >> >> On 2/4/13 8:09 AM, Coleen Phillimore wrote: >>> On 2/1/2013 6:55 PM, Daniel D. Daugherty wrote: >>>> And here is the webrev for the new tests (relative to JDK8-T&L): >>>> >>>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >>> >>> I am so impressed that you were able to write a test for this. >> >> Thanks. The shame of it is that I wrote this test back when I fixed >> the 1-liner bug back in 2009. The test never got pushed to the JDK >> repo so the regression was able to sneak in later. Sigh. >> >> >>> I can't follow this shell script at all. Who calls createJavaFile? >> >> This test is written using the JDI ShellScaffold.sh infrastructure >> in test/com/sun/jdi/ShellScaffold.sh (1106 lines of pure joy!). >> createJavaFile() is a hook called by ShellScaffold.sh to create >> the .java file that will be exercised by the test. >> >> >>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/test/com/sun/jdi/RedefineAbstractClass.sh.html >>> >>> >>> I think a limited amount of duplication of Java code in the test >>> directory is worth having these scripts be more simple. It looks >>> like the only thing that substituted in the java test is the main >>> class, but lines 66 to 104 can be a stand-alone java source file. >> >> No, the main class just has the breakpoints. >> >> This is the line for the redefinition: >> >> 76 // @1 uncomment System.out.println("This is call " + counter >> + " to checkFunc"); >> >> so the original version doesn't have this line and new version >> has this line. The glue that makes all that work is in TestScaffold.sh. >> >> I don't remember for sure, but I think JDI ShellScaffold.sh does not >> work well with multiple .java files. It has been a long time since >> I've written a test in this format. These JDI .sh tests are meant to >> be standalone if need be. That's why this comment is always here: >> >> 143 # You could replace this next line with the contents >> 144 # of ShellScaffold.sh and this script will run just the same. >> 145 mysetup >> >> >>> Again, I can't really follow the logic here and I dread ever having >>> to debug this. Can you simplify this? >> >> Which part? By definition, RedefineClasses tests are complicated because >> you have to have at least two versions of .class files, sometimes more. >> This test is reproducing a bug using "jdb" so there is all the infra >> that supports controlling "jdb". >> >> I think this test is as simple as it can be given the context, but I'm >> open to specific simplification suggestions. >> >> Did you plan to review the java.lang.instrument (JLI) test? It's a bit >> more convoluted because it is trying to mimic the WLS test case. >> >> Dan >> >> >>> >>> Thanks, >>> Coleen >>> >>>> >>>> As always, comments and suggestions are welcome. >>>> >>>> Dan >>>> >>>> >>>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>>> > There are two new tests that will be pushed to the JDK repos using >>>>> > a different bug ID (not yet filed): >>>>> >>>>> New bug is now filed: >>>>> >>>>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>>>> to java/lang/instrument >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>>> >>>>> Of course, the tests cannot be pushed until the HSX changes have made >>>>> it into a promoted build and thus available to JDK8-T&L. >>>>> >>>>> Dan >>>>> >>>>> >>>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>>> Greetings, >>>>>> >>>>>> I have a fix for the following JVM/TI bug: >>>>>> >>>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>>> >>>>>> The fix for the bug in the product code is one line: >>>>>> >>>>>> src/share/vm/oops/klassVtable.cpp: >>>>>> >>>>>> @@ -992,18 +1020,50 @@ >>>>>> // RC_TRACE macro has an embedded ResourceMark >>>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>>> new_method->name()->as_C_string(), >>>>>> new_method->signature()->as_C_string())); >>>>>> } >>>>>> - break; >>>>>> + // cannot 'break' here; see for-loop comment above. >>>>>> } >>>>>> ime++; >>>>>> } >>>>>> } >>>>>> } >>>>>> >>>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>>> >>>>>> The rest of the code in the webrevs are: >>>>>> >>>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>>> changeset >>>>>> - additional JVM/TI tracing code added by me and forward ported >>>>>> to HSX-25 >>>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>>> elusive old or obsolete methods >>>>>> - exposure of some printing code to the PRODUCT build so that the >>>>>> new >>>>>> tracing is available in a PRODUCT build >>>>>> >>>>>> You might be wondering why the new tracing code is exposed in a >>>>>> PRODUCT >>>>>> build. Well, it appears that more and more PRODUCT bits >>>>>> deployments are >>>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>>> run-time >>>>>> to instrument their systems. This bug (7182152) was only >>>>>> intermittently >>>>>> reproducible in the WLS environment in which it occurred so I >>>>>> made the >>>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>>> >>>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>>> fix resolves the issue in his environment. Thanks Raj! >>>>>> >>>>>> Here are the URLs for the three webrevs: >>>>>> >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>>> >>>>>> I have run the following test suites from the JPDA stack on the >>>>>> JDK7u10/HSX-23.6 version of the fix with >>>>>> -XX:TraceRedefineClasses=16384 >>>>>> specified: >>>>>> >>>>>> sdk-jdi >>>>>> sdk-jdi_closed >>>>>> sdk-jli >>>>>> vm-heapdump >>>>>> vm-hprof >>>>>> vm-jdb >>>>>> vm-jdi >>>>>> vm-jdwp >>>>>> vm-jvmti >>>>>> vm-sajdi >>>>>> >>>>>> The tested configs are: >>>>>> >>>>>> {Solaris-X86, WinXP} >>>>>> X {Client VM, Server VM} >>>>>> X {-Xmixed, -Xcomp} >>>>>> X {product, fastdebug} >>>>>> >>>>>> With the 1-liner fix in place, the new tracing code does not find >>>>>> any >>>>>> instances of this failure mode in any of the above test suites. >>>>>> Without >>>>>> the the 1-liner fix in place, the new tracing code finds one >>>>>> instance >>>>>> of this failure mode in the above test suites: >>>>>> >>>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>>> >>>>>> There are two new tests that will be pushed to the JDK repos using >>>>>> a different bug ID (not yet filed): >>>>>> >>>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>>> >>>>>> There will be a separate review request for the new tests. >>>>>> >>>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>>> take all weekend to complete. >>>>>> >>>>>> Thanks, in advance, for any comments and/or suggestions. >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>> >>> >> > From coleen.phillimore at oracle.com Mon Feb 4 13:48:20 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Mon, 04 Feb 2013 16:48:20 -0500 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <511026A4.9030909@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <510FCF32.5050006@oracle.com> <510FEDBB.8060008@oracle.com> <511014AA.8090007@oracle.com> <511026A4.9030909@oracle.com> Message-ID: <51102CA4.2000603@oracle.com> Ok, my poor eyes. One short comment below. On 2/4/2013 4:22 PM, Daniel D. Daugherty wrote: > Thanks for the additional test comments. Replies embedded below. > > > On 2/4/13 1:06 PM, Coleen Phillimore wrote: >> On 2/4/2013 12:19 PM, Daniel D. Daugherty wrote: >>> Adding back dropped aliases and people... >> >> I think I have all the aliases on this, this time. > > And the individual people also. Thanks! > > >>> >>> Thanks for reviewing the first test! Replies embedded below. >>> >> >> Ok, now I see about the scaffolding framework for the first test. I >> can say it looks consistent with the other tests in that directory. >> >> I reviewed the second test too. I have some questions. >> >> in >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh.html >> >> In lines 70-77 you move the same two files twice. > > I don't think so. Getting rid of the > "RedefineSubclassWithTwoInterfaces" prefix will make the > real script code more apparent: > > 70 mv X_Target.java \ > 71 X_Target_1.java > 72 mv X_Target.class \ > 73 X_Target_1.class > 74 mv X_Impl.java \ > 75 X_Impl_1.java > 76 mv X_Impl.class \ > 77 X_Impl_1.class > >> Also the file, >> >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java.html >> >> >> Is exactly the same as the file >> RedefineSubclassWithTwoInterfacesImpl.java >> >> Isn't one supposed to be derived from Target_1 rather than Target or >> different in some way? > > The "_1" stuffis just for version naming purposes. The actual > class name has to be the same between Foo.java and Foo_1.java. > > In this particular bug's case, we only needed to redefine > RedefineSubclassWithTwoInterfacesImpl with an EMCP version > to tickle the bug. That's why there are no differences > between RedefineSubclassWithTwoInterfacesImpl.java and > RedefineSubclassWithTwoInterfacesImpl_1.java. > > Good eyes though. Can you put a comment about why there are no differences but it's a different file? > > >> This second test makes more sense to me than the first anyway. Are >> you going to wait for the fix to get propagated before checking it in? > > Yes, I have to wait until the HSX fix has made it to the T&L repo > before I can push the tests. Integrating failing tests intentionally > is not permitted in T&L. Of course, you can integrate them disabled, > but then you have to go back and enable the test sometime. Yes, this is somewhat of a drag. Everything else looks fine. Thanks! Coleen > > Dan > > >> Thanks, >> Coleen >> >> >>> >>> On 2/4/13 8:09 AM, Coleen Phillimore wrote: >>>> On 2/1/2013 6:55 PM, Daniel D. Daugherty wrote: >>>>> And here is the webrev for the new tests (relative to JDK8-T&L): >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >>>> >>>> I am so impressed that you were able to write a test for this. >>> >>> Thanks. The shame of it is that I wrote this test back when I fixed >>> the 1-liner bug back in 2009. The test never got pushed to the JDK >>> repo so the regression was able to sneak in later. Sigh. >>> >>> >>>> I can't follow this shell script at all. Who calls createJavaFile? >>> >>> This test is written using the JDI ShellScaffold.sh infrastructure >>> in test/com/sun/jdi/ShellScaffold.sh (1106 lines of pure joy!). >>> createJavaFile() is a hook called by ShellScaffold.sh to create >>> the .java file that will be exercised by the test. >>> >>> >>>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/test/com/sun/jdi/RedefineAbstractClass.sh.html >>>> >>>> >>>> I think a limited amount of duplication of Java code in the test >>>> directory is worth having these scripts be more simple. It looks >>>> like the only thing that substituted in the java test is the main >>>> class, but lines 66 to 104 can be a stand-alone java source file. >>> >>> No, the main class just has the breakpoints. >>> >>> This is the line for the redefinition: >>> >>> 76 // @1 uncomment System.out.println("This is call " + >>> counter + " to checkFunc"); >>> >>> so the original version doesn't have this line and new version >>> has this line. The glue that makes all that work is in TestScaffold.sh. >>> >>> I don't remember for sure, but I think JDI ShellScaffold.sh does not >>> work well with multiple .java files. It has been a long time since >>> I've written a test in this format. These JDI .sh tests are meant to >>> be standalone if need be. That's why this comment is always here: >>> >>> 143 # You could replace this next line with the contents >>> 144 # of ShellScaffold.sh and this script will run just the same. >>> 145 mysetup >>> >>> >>>> Again, I can't really follow the logic here and I dread ever having >>>> to debug this. Can you simplify this? >>> >>> Which part? By definition, RedefineClasses tests are complicated >>> because >>> you have to have at least two versions of .class files, sometimes more. >>> This test is reproducing a bug using "jdb" so there is all the infra >>> that supports controlling "jdb". >>> >>> I think this test is as simple as it can be given the context, but I'm >>> open to specific simplification suggestions. >>> >>> Did you plan to review the java.lang.instrument (JLI) test? It's a bit >>> more convoluted because it is trying to mimic the WLS test case. >>> >>> Dan >>> >>> >>>> >>>> Thanks, >>>> Coleen >>>> >>>>> >>>>> As always, comments and suggestions are welcome. >>>>> >>>>> Dan >>>>> >>>>> >>>>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>>>> > There are two new tests that will be pushed to the JDK repos using >>>>>> > a different bug ID (not yet filed): >>>>>> >>>>>> New bug is now filed: >>>>>> >>>>>> 8007420 add test for 6805864 to com/sun/jdi, add test for >>>>>> 7182152 >>>>>> to java/lang/instrument >>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>>>> >>>>>> Of course, the tests cannot be pushed until the HSX changes have >>>>>> made >>>>>> it into a promoted build and thus available to JDK8-T&L. >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>>>> Greetings, >>>>>>> >>>>>>> I have a fix for the following JVM/TI bug: >>>>>>> >>>>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>>>> >>>>>>> The fix for the bug in the product code is one line: >>>>>>> >>>>>>> src/share/vm/oops/klassVtable.cpp: >>>>>>> >>>>>>> @@ -992,18 +1020,50 @@ >>>>>>> // RC_TRACE macro has an embedded ResourceMark >>>>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>>>> new_method->name()->as_C_string(), >>>>>>> new_method->signature()->as_C_string())); >>>>>>> } >>>>>>> - break; >>>>>>> + // cannot 'break' here; see for-loop comment above. >>>>>>> } >>>>>>> ime++; >>>>>>> } >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>>>> >>>>>>> The rest of the code in the webrevs are: >>>>>>> >>>>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>>>> changeset >>>>>>> - additional JVM/TI tracing code added by me and forward ported >>>>>>> to HSX-25 >>>>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>>>> elusive old or obsolete methods >>>>>>> - exposure of some printing code to the PRODUCT build so that >>>>>>> the new >>>>>>> tracing is available in a PRODUCT build >>>>>>> >>>>>>> You might be wondering why the new tracing code is exposed in a >>>>>>> PRODUCT >>>>>>> build. Well, it appears that more and more PRODUCT bits >>>>>>> deployments are >>>>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>>>> run-time >>>>>>> to instrument their systems. This bug (7182152) was only >>>>>>> intermittently >>>>>>> reproducible in the WLS environment in which it occurred so I >>>>>>> made the >>>>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>>>> >>>>>>> Raj from the WLS team has also verified that the HSX-23.6 >>>>>>> version of >>>>>>> fix resolves the issue in his environment. Thanks Raj! >>>>>>> >>>>>>> Here are the URLs for the three webrevs: >>>>>>> >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>>>> >>>>>>> I have run the following test suites from the JPDA stack on the >>>>>>> JDK7u10/HSX-23.6 version of the fix with >>>>>>> -XX:TraceRedefineClasses=16384 >>>>>>> specified: >>>>>>> >>>>>>> sdk-jdi >>>>>>> sdk-jdi_closed >>>>>>> sdk-jli >>>>>>> vm-heapdump >>>>>>> vm-hprof >>>>>>> vm-jdb >>>>>>> vm-jdi >>>>>>> vm-jdwp >>>>>>> vm-jvmti >>>>>>> vm-sajdi >>>>>>> >>>>>>> The tested configs are: >>>>>>> >>>>>>> {Solaris-X86, WinXP} >>>>>>> X {Client VM, Server VM} >>>>>>> X {-Xmixed, -Xcomp} >>>>>>> X {product, fastdebug} >>>>>>> >>>>>>> With the 1-liner fix in place, the new tracing code does not >>>>>>> find any >>>>>>> instances of this failure mode in any of the above test suites. >>>>>>> Without >>>>>>> the the 1-liner fix in place, the new tracing code finds one >>>>>>> instance >>>>>>> of this failure mode in the above test suites: >>>>>>> >>>>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>>>> >>>>>>> There are two new tests that will be pushed to the JDK repos using >>>>>>> a different bug ID (not yet filed): >>>>>>> >>>>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>>>> >>>>>>> There will be a separate review request for the new tests. >>>>>>> >>>>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>>>> take all weekend to complete. >>>>>>> >>>>>>> Thanks, in advance, for any comments and/or suggestions. >>>>>>> >>>>>>> Dan >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>> >>> >> > From harold.seigel at oracle.com Mon Feb 4 13:48:29 2013 From: harold.seigel at oracle.com (harold.seigel at oracle.com) Date: Mon, 04 Feb 2013 21:48:29 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8000968: NPG: UseCompressedKlassPointers asserts with ObjectAlignmentInBytes for > 32G CompressedOops Message-ID: <20130204214831.EF3CD47805@hg.openjdk.java.net> Changeset: 10d5f25a7c67 Author: hseigel Date: 2013-02-04 08:26 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/10d5f25a7c67 8000968: NPG: UseCompressedKlassPointers asserts with ObjectAlignmentInBytes for > 32G CompressedOops Summary: Pick a base that works for both CompressedOpps alignment and CompressedKlassPtrs alignment. Reviewed-by: kvn, roland ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/runtime/arguments.cpp + test/runtime/8000968/Test8000968.sh From daniel.daugherty at oracle.com Mon Feb 4 14:09:04 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 04 Feb 2013 15:09:04 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51102CA4.2000603@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <510FCF32.5050006@oracle.com> <510FEDBB.8060008@oracle.com> <511014AA.8090007@oracle.com> <511026A4.9030909@oracle.com> <51102CA4.2000603@oracle.com> Message-ID: <51103180.1070403@oracle.com> On 2/4/13 2:48 PM, Coleen Phillimore wrote: >> >>> Also the file, >>> >>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java.html >>> >>> >>> Is exactly the same as the file >>> RedefineSubclassWithTwoInterfacesImpl.java >>> >>> Isn't one supposed to be derived from Target_1 rather than Target or >>> different in some way? >> >> The "_1" stuffis just for version naming purposes. The actual >> class name has to be the same between Foo.java and Foo_1.java. >> >> In this particular bug's case, we only needed to redefine >> RedefineSubclassWithTwoInterfacesImpl with an EMCP version >> to tickle the bug. That's why there are no differences >> between RedefineSubclassWithTwoInterfacesImpl.java and >> RedefineSubclassWithTwoInterfacesImpl_1.java. >> >> Good eyes though. > > > Can you put a comment about why there are no differences but it's a > different file? Yes. How about the following? $ diff test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java{.cr0,} 23a24,27 > // Reproducing this bug only requires an EMCP version of the > // RedefineSubclassWithTwoInterfacesImpl class so > // RedefineSubclassWithTwoInterfacesImpl.java and > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. $ diff test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java{.cr0,} 23a24,27 > // Reproducing this bug only requires an EMCP version of the > // RedefineSubclassWithTwoInterfacesImpl class so > // RedefineSubclassWithTwoInterfacesImpl.java and > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. so both files are still identical, but now there is an explanation. Dan From serguei.spitsyn at oracle.com Mon Feb 4 14:25:06 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Mon, 04 Feb 2013 14:25:06 -0800 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51102336.9000808@oracle.com> References: <510C1DC6.2010607@oracle.com> <51102336.9000808@oracle.com> Message-ID: <51103542.60607@oracle.com> It looks good to me. I remember the test fix needs a review as well. Thanks, Serguei On 2/4/13 1:08 PM, Daniel D. Daugherty wrote: > Greetings, > > I've updated the fix due to comments in Code Review Round 0. > > Here is a summary of changes made to the various files: > > src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) > src/share/vm/oops/cpCache.cpp (HSX-25) > src/share/vm/oops/klassVtable.cpp > - removed the new RC_TRACE_NO_CR() macro calls at Coleen's request; > these files are outside of JVM/TI RedefineClasses proper so the > tracing/debug style should not be dictated by JVM/TI RedefineClasses > style that is currently in use > - did not touch the existing RC_TRACE... macros in the file; removing > the existing macro calls would be outside the scope of this bug > > src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) > src/share/vm/oops/cpCache.cpp (HSX-25) > - copy a comment from > ConstantPoolCacheEntry::is_interesting_method_entry() > to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries() > > src/share/vm/oops/klassVtable.cpp > - Copied the new comment intended to prevent the "break" from > re-materializing again from klassItable::adjust_method_entries() > to klassVtable::adjust_method_entries(); yes, I'm paranoid. > > In the HSX-25 version only: > src/share/vm/oops/metadata.hpp > - revert changes > > src/share/vm/oops/cpCacheOop.cpp > src/share/vm/oops/klassVtable.cpp > - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate > > Here are the URLs for the updated webrevs: > > http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/ > > The JPDA stack testing that I started on Friday is still running on > WinXP so I'm blocked for checking the recompile due to these changes. > I'll start a recompile on Solaris X86, but that will take some time. > > Thanks, in advance, for more comments, suggestions or questions. > > Dan > > > > On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >> Greetings, >> >> I have a fix for the following JVM/TI bug: >> >> 7182152 Instrumentation hot swap test incorrect monitor count >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >> https://jbs.oracle.com/bugs/browse/JDK-7182152 >> >> The fix for the bug in the product code is one line: >> >> src/share/vm/oops/klassVtable.cpp: >> >> @@ -992,18 +1020,50 @@ >> // RC_TRACE macro has an embedded ResourceMark >> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >> new_method->name()->as_C_string(), >> new_method->signature()->as_C_string())); >> } >> - break; >> + // cannot 'break' here; see for-loop comment above. >> } >> ime++; >> } >> } >> } >> >> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >> already fixed the bug as part of the Perm Gen Removal (PGR) project >> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >> changeset. Many thanks to Coleen for her help in this bug hunt! >> >> The rest of the code in the webrevs are: >> >> - additional JVM/TI tracing code backported from Coleen's PGR changeset >> - additional JVM/TI tracing code added by me and forward ported to >> HSX-25 >> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >> elusive old or obsolete methods >> - exposure of some printing code to the PRODUCT build so that the new >> tracing is available in a PRODUCT build >> >> You might be wondering why the new tracing code is exposed in a PRODUCT >> build. Well, it appears that more and more PRODUCT bits deployments are >> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >> to instrument their systems. This bug (7182152) was only intermittently >> reproducible in the WLS environment in which it occurred so I made the >> tracing available in a PRODUCT build to assist in the hunt. >> >> Raj from the WLS team has also verified that the HSX-23.6 version of >> fix resolves the issue in his environment. Thanks Raj! >> >> Here are the URLs for the three webrevs: >> >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >> >> I have run the following test suites from the JPDA stack on the >> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >> specified: >> >> sdk-jdi >> sdk-jdi_closed >> sdk-jli >> vm-heapdump >> vm-hprof >> vm-jdb >> vm-jdi >> vm-jdwp >> vm-jvmti >> vm-sajdi >> >> The tested configs are: >> >> {Solaris-X86, WinXP} >> X {Client VM, Server VM} >> X {-Xmixed, -Xcomp} >> X {product, fastdebug} >> >> With the 1-liner fix in place, the new tracing code does not find any >> instances of this failure mode in any of the above test suites. Without >> the the 1-liner fix in place, the new tracing code finds one instance >> of this failure mode in the above test suites: >> >> test/java/lang/instrument/IsModifiableClassAgent.java >> >> There are two new tests that will be pushed to the JDK repos using >> a different bug ID (not yet filed): >> >> test/com/sun/jdi/RedefineAbstractClass.sh >> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >> >> There will be a separate review request for the new tests. >> >> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >> take all weekend to complete. >> >> Thanks, in advance, for any comments and/or suggestions. >> >> Dan >> >> >> > From daniel.daugherty at oracle.com Mon Feb 4 14:30:43 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 04 Feb 2013 15:30:43 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51103542.60607@oracle.com> References: <510C1DC6.2010607@oracle.com> <51102336.9000808@oracle.com> <51103542.60607@oracle.com> Message-ID: <51103693.2040705@oracle.com> Thanks for the second review! Dan On 2/4/13 3:25 PM, serguei.spitsyn at oracle.com wrote: > It looks good to me. > I remember the test fix needs a review as well. > > Thanks, > Serguei > > > > On 2/4/13 1:08 PM, Daniel D. Daugherty wrote: >> Greetings, >> >> I've updated the fix due to comments in Code Review Round 0. >> >> Here is a summary of changes made to the various files: >> >> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >> src/share/vm/oops/cpCache.cpp (HSX-25) >> src/share/vm/oops/klassVtable.cpp >> - removed the new RC_TRACE_NO_CR() macro calls at Coleen's request; >> these files are outside of JVM/TI RedefineClasses proper so the >> tracing/debug style should not be dictated by JVM/TI RedefineClasses >> style that is currently in use >> - did not touch the existing RC_TRACE... macros in the file; removing >> the existing macro calls would be outside the scope of this bug >> >> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >> src/share/vm/oops/cpCache.cpp (HSX-25) >> - copy a comment from >> ConstantPoolCacheEntry::is_interesting_method_entry() >> to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries() >> >> src/share/vm/oops/klassVtable.cpp >> - Copied the new comment intended to prevent the "break" from >> re-materializing again from klassItable::adjust_method_entries() >> to klassVtable::adjust_method_entries(); yes, I'm paranoid. >> >> In the HSX-25 version only: >> src/share/vm/oops/metadata.hpp >> - revert changes >> >> src/share/vm/oops/cpCacheOop.cpp >> src/share/vm/oops/klassVtable.cpp >> - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate >> >> Here are the URLs for the updated webrevs: >> >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/ >> >> The JPDA stack testing that I started on Friday is still running on >> WinXP so I'm blocked for checking the recompile due to these changes. >> I'll start a recompile on Solaris X86, but that will take some time. >> >> Thanks, in advance, for more comments, suggestions or questions. >> >> Dan >> >> >> >> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>> Greetings, >>> >>> I have a fix for the following JVM/TI bug: >>> >>> 7182152 Instrumentation hot swap test incorrect monitor count >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>> >>> The fix for the bug in the product code is one line: >>> >>> src/share/vm/oops/klassVtable.cpp: >>> >>> @@ -992,18 +1020,50 @@ >>> // RC_TRACE macro has an embedded ResourceMark >>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>> new_method->name()->as_C_string(), >>> new_method->signature()->as_C_string())); >>> } >>> - break; >>> + // cannot 'break' here; see for-loop comment above. >>> } >>> ime++; >>> } >>> } >>> } >>> >>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>> changeset. Many thanks to Coleen for her help in this bug hunt! >>> >>> The rest of the code in the webrevs are: >>> >>> - additional JVM/TI tracing code backported from Coleen's PGR changeset >>> - additional JVM/TI tracing code added by me and forward ported to >>> HSX-25 >>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>> elusive old or obsolete methods >>> - exposure of some printing code to the PRODUCT build so that the new >>> tracing is available in a PRODUCT build >>> >>> You might be wondering why the new tracing code is exposed in a PRODUCT >>> build. Well, it appears that more and more PRODUCT bits deployments are >>> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >>> to instrument their systems. This bug (7182152) was only intermittently >>> reproducible in the WLS environment in which it occurred so I made the >>> tracing available in a PRODUCT build to assist in the hunt. >>> >>> Raj from the WLS team has also verified that the HSX-23.6 version of >>> fix resolves the issue in his environment. Thanks Raj! >>> >>> Here are the URLs for the three webrevs: >>> >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>> >>> I have run the following test suites from the JPDA stack on the >>> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >>> specified: >>> >>> sdk-jdi >>> sdk-jdi_closed >>> sdk-jli >>> vm-heapdump >>> vm-hprof >>> vm-jdb >>> vm-jdi >>> vm-jdwp >>> vm-jvmti >>> vm-sajdi >>> >>> The tested configs are: >>> >>> {Solaris-X86, WinXP} >>> X {Client VM, Server VM} >>> X {-Xmixed, -Xcomp} >>> X {product, fastdebug} >>> >>> With the 1-liner fix in place, the new tracing code does not find any >>> instances of this failure mode in any of the above test suites. Without >>> the the 1-liner fix in place, the new tracing code finds one instance >>> of this failure mode in the above test suites: >>> >>> test/java/lang/instrument/IsModifiableClassAgent.java >>> >>> There are two new tests that will be pushed to the JDK repos using >>> a different bug ID (not yet filed): >>> >>> test/com/sun/jdi/RedefineAbstractClass.sh >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>> >>> There will be a separate review request for the new tests. >>> >>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>> take all weekend to complete. >>> >>> Thanks, in advance, for any comments and/or suggestions. >>> >>> Dan >>> >>> >>> >> > From daniel.daugherty at oracle.com Mon Feb 4 14:49:52 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 04 Feb 2013 15:49:52 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510FE470.1020405@oracle.com> References: <510C1DC6.2010607@oracle.com> <510FE470.1020405@oracle.com> Message-ID: <51103B10.1060805@oracle.com> On 2/4/13 9:40 AM, Daniel D. Daugherty wrote: > On 2/4/13 8:19 AM, Karen Kinnear wrote: > >> Is redefineclasses supported in the MinimalVM? > > I don't know the answer to that. I have not been tracking the > MinimalVM work. I'll investigate and get back to you. Karen, These two Makefiles: make/bsd/makefiles/minimal1.make make/linux/makefiles/minimal1.make Have these default make variable settings: INCLUDE_JVMTI ?= false INCLUDE_FPROF ?= false INCLUDE_VM_STRUCTS ?= false INCLUDE_JNI_CHECK ?= false INCLUDE_SERVICES ?= false INCLUDE_MANAGEMENT ?= false INCLUDE_ALTERNATE_GCS ?= false INCLUDE_NMT ?= false INCLUDE_CDS ?= false so it stands to reason that the minimal1 build config does not worry about RedefineClasses since that's part of JVM/TI which isn't included by default. Dan From david.holmes at oracle.com Mon Feb 4 15:15:30 2013 From: david.holmes at oracle.com (David Holmes) Date: Tue, 05 Feb 2013 09:15:30 +1000 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51103B10.1060805@oracle.com> References: <510C1DC6.2010607@oracle.com> <510FE470.1020405@oracle.com> <51103B10.1060805@oracle.com> Message-ID: <51104112.1020804@oracle.com> Correct - no JVM/TI and so no redefineClasses in the minimal VM. David On 5/02/2013 8:49 AM, Daniel D. Daugherty wrote: > On 2/4/13 9:40 AM, Daniel D. Daugherty wrote: >> On 2/4/13 8:19 AM, Karen Kinnear wrote: >> >>> Is redefineclasses supported in the MinimalVM? >> >> I don't know the answer to that. I have not been tracking the >> MinimalVM work. I'll investigate and get back to you. > > Karen, > > These two Makefiles: > > make/bsd/makefiles/minimal1.make > make/linux/makefiles/minimal1.make > > Have these default make variable settings: > > INCLUDE_JVMTI ?= false > INCLUDE_FPROF ?= false > INCLUDE_VM_STRUCTS ?= false > INCLUDE_JNI_CHECK ?= false > INCLUDE_SERVICES ?= false > INCLUDE_MANAGEMENT ?= false > INCLUDE_ALTERNATE_GCS ?= false > INCLUDE_NMT ?= false > INCLUDE_CDS ?= false > > so it stands to reason that the minimal1 build config > does not worry about RedefineClasses since that's part > of JVM/TI which isn't included by default. > > Dan > From coleen.phillimore at oracle.com Mon Feb 4 15:17:02 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Mon, 04 Feb 2013 18:17:02 -0500 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51102336.9000808@oracle.com> References: <510C1DC6.2010607@oracle.com> <51102336.9000808@oracle.com> Message-ID: <5110416E.8070709@oracle.com> Hi Dan, I think this version looks good. From your other reply: On 2/4/2013 11:40 AM, Daniel D. Daugherty wrote: > is present in the HSX-23.6, HSX-24, and HSX-25 versions of > is_interesting_method_entry(), but is not used by the original > check_no_old_entries() or any of the new > check_no_old_or_obsolete_entries(). > I'll put that info in the new bug to track the future work. what is this new bug? It would be nice if the guts of is_interesting_method_entry() that extracted the Method* from the appropriate field was isolated into it's own function ConstantPoolCacheEntry::get_method() and used by both. That would save the complicated logic of the if statements in check_no_old_or_obsolete entries. The other thing that might make it simpler is if is_valid() is defined with PRODUCT_RETURN_(true); so you don't have to wrap PRODUCT around it. Anyway, I reviewed all three versions of the webrev and they look correct. Thanks, Coleen On 2/4/2013 4:08 PM, Daniel D. Daugherty wrote: > Greetings, > > I've updated the fix due to comments in Code Review Round 0. > > Here is a summary of changes made to the various files: > > src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) > src/share/vm/oops/cpCache.cpp (HSX-25) > src/share/vm/oops/klassVtable.cpp > - removed the new RC_TRACE_NO_CR() macro calls at Coleen's request; > these files are outside of JVM/TI RedefineClasses proper so the > tracing/debug style should not be dictated by JVM/TI RedefineClasses > style that is currently in use > - did not touch the existing RC_TRACE... macros in the file; removing > the existing macro calls would be outside the scope of this bug > > src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) > src/share/vm/oops/cpCache.cpp (HSX-25) > - copy a comment from > ConstantPoolCacheEntry::is_interesting_method_entry() > to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries() > > src/share/vm/oops/klassVtable.cpp > - Copied the new comment intended to prevent the "break" from > re-materializing again from klassItable::adjust_method_entries() > to klassVtable::adjust_method_entries(); yes, I'm paranoid. > > In the HSX-25 version only: > src/share/vm/oops/metadata.hpp > - revert changes > > src/share/vm/oops/cpCacheOop.cpp > src/share/vm/oops/klassVtable.cpp > - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate > > Here are the URLs for the updated webrevs: > > http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/ > > The JPDA stack testing that I started on Friday is still running on > WinXP so I'm blocked for checking the recompile due to these changes. > I'll start a recompile on Solaris X86, but that will take some time. > > Thanks, in advance, for more comments, suggestions or questions. > > Dan > > > > On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >> Greetings, >> >> I have a fix for the following JVM/TI bug: >> >> 7182152 Instrumentation hot swap test incorrect monitor count >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >> https://jbs.oracle.com/bugs/browse/JDK-7182152 >> >> The fix for the bug in the product code is one line: >> >> src/share/vm/oops/klassVtable.cpp: >> >> @@ -992,18 +1020,50 @@ >> // RC_TRACE macro has an embedded ResourceMark >> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >> new_method->name()->as_C_string(), >> new_method->signature()->as_C_string())); >> } >> - break; >> + // cannot 'break' here; see for-loop comment above. >> } >> ime++; >> } >> } >> } >> >> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >> already fixed the bug as part of the Perm Gen Removal (PGR) project >> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >> changeset. Many thanks to Coleen for her help in this bug hunt! >> >> The rest of the code in the webrevs are: >> >> - additional JVM/TI tracing code backported from Coleen's PGR changeset >> - additional JVM/TI tracing code added by me and forward ported to >> HSX-25 >> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >> elusive old or obsolete methods >> - exposure of some printing code to the PRODUCT build so that the new >> tracing is available in a PRODUCT build >> >> You might be wondering why the new tracing code is exposed in a PRODUCT >> build. Well, it appears that more and more PRODUCT bits deployments are >> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >> to instrument their systems. This bug (7182152) was only intermittently >> reproducible in the WLS environment in which it occurred so I made the >> tracing available in a PRODUCT build to assist in the hunt. >> >> Raj from the WLS team has also verified that the HSX-23.6 version of >> fix resolves the issue in his environment. Thanks Raj! >> >> Here are the URLs for the three webrevs: >> >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >> >> I have run the following test suites from the JPDA stack on the >> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >> specified: >> >> sdk-jdi >> sdk-jdi_closed >> sdk-jli >> vm-heapdump >> vm-hprof >> vm-jdb >> vm-jdi >> vm-jdwp >> vm-jvmti >> vm-sajdi >> >> The tested configs are: >> >> {Solaris-X86, WinXP} >> X {Client VM, Server VM} >> X {-Xmixed, -Xcomp} >> X {product, fastdebug} >> >> With the 1-liner fix in place, the new tracing code does not find any >> instances of this failure mode in any of the above test suites. Without >> the the 1-liner fix in place, the new tracing code finds one instance >> of this failure mode in the above test suites: >> >> test/java/lang/instrument/IsModifiableClassAgent.java >> >> There are two new tests that will be pushed to the JDK repos using >> a different bug ID (not yet filed): >> >> test/com/sun/jdi/RedefineAbstractClass.sh >> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >> >> There will be a separate review request for the new tests. >> >> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >> take all weekend to complete. >> >> Thanks, in advance, for any comments and/or suggestions. >> >> Dan >> >> >> > From coleen.phillimore at oracle.com Mon Feb 4 15:17:59 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Mon, 04 Feb 2013 18:17:59 -0500 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51103180.1070403@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <510FCF32.5050006@oracle.com> <510FEDBB.8060008@oracle.com> <511014AA.8090007@oracle.com> <511026A4.9030909@oracle.com> <51102CA4.2000603@oracle.com> <51103180.1070403@oracle.com> Message-ID: <511041A7.4020605@oracle.com> Comment looks good! Thanks! Coleen On 2/4/2013 5:09 PM, Daniel D. Daugherty wrote: > On 2/4/13 2:48 PM, Coleen Phillimore wrote: >>> >>>> Also the file, >>>> >>>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java.html >>>> >>>> >>>> Is exactly the same as the file >>>> RedefineSubclassWithTwoInterfacesImpl.java >>>> >>>> Isn't one supposed to be derived from Target_1 rather than Target >>>> or different in some way? >>> >>> The "_1" stuffis just for version naming purposes. The actual >>> class name has to be the same between Foo.java and Foo_1.java. >>> >>> In this particular bug's case, we only needed to redefine >>> RedefineSubclassWithTwoInterfacesImpl with an EMCP version >>> to tickle the bug. That's why there are no differences >>> between RedefineSubclassWithTwoInterfacesImpl.java and >>> RedefineSubclassWithTwoInterfacesImpl_1.java. >>> >>> Good eyes though. >> >> >> Can you put a comment about why there are no differences but it's a >> different file? > > Yes. How about the following? > > $ diff > test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java{.cr0,} > 23a24,27 > > // Reproducing this bug only requires an EMCP version of the > > // RedefineSubclassWithTwoInterfacesImpl class so > > // RedefineSubclassWithTwoInterfacesImpl.java and > > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. > > $ diff > test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java{.cr0,} > 23a24,27 > > // Reproducing this bug only requires an EMCP version of the > > // RedefineSubclassWithTwoInterfacesImpl class so > > // RedefineSubclassWithTwoInterfacesImpl.java and > > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. > > so both files are still identical, but now there is an explanation. > > Dan > From jonathan.gibbons at oracle.com Mon Feb 4 15:32:12 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Mon, 04 Feb 2013 23:32:12 +0000 Subject: hg: jdk8/tl/langtools: 8007490: NPE from DocumentationTool.run Message-ID: <20130204233217.0C59F47808@hg.openjdk.java.net> Changeset: 1690928dc560 Author: jjg Date: 2013-02-04 15:30 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/1690928dc560 8007490: NPE from DocumentationTool.run Reviewed-by: darcy ! src/share/classes/com/sun/tools/javadoc/api/JavadocTool.java ! test/tools/javadoc/api/basic/RunTest.java From daniel.daugherty at oracle.com Mon Feb 4 16:14:04 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 04 Feb 2013 17:14:04 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <511041A7.4020605@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <510FCF32.5050006@oracle.com> <510FEDBB.8060008@oracle.com> <511014AA.8090007@oracle.com> <511026A4.9030909@oracle.com> <51102CA4.2000603@oracle.com> <51103180.1070403@oracle.com> <511041A7.4020605@oracle.com> Message-ID: <51104ECC.2060302@oracle.com> Thanks! Dan On 2/4/13 4:17 PM, Coleen Phillimore wrote: > > Comment looks good! Thanks! > Coleen > > On 2/4/2013 5:09 PM, Daniel D. Daugherty wrote: >> On 2/4/13 2:48 PM, Coleen Phillimore wrote: >>>> >>>>> Also the file, >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java.html >>>>> >>>>> >>>>> Is exactly the same as the file >>>>> RedefineSubclassWithTwoInterfacesImpl.java >>>>> >>>>> Isn't one supposed to be derived from Target_1 rather than Target >>>>> or different in some way? >>>> >>>> The "_1" stuffis just for version naming purposes. The actual >>>> class name has to be the same between Foo.java and Foo_1.java. >>>> >>>> In this particular bug's case, we only needed to redefine >>>> RedefineSubclassWithTwoInterfacesImpl with an EMCP version >>>> to tickle the bug. That's why there are no differences >>>> between RedefineSubclassWithTwoInterfacesImpl.java and >>>> RedefineSubclassWithTwoInterfacesImpl_1.java. >>>> >>>> Good eyes though. >>> >>> >>> Can you put a comment about why there are no differences but it's a >>> different file? >> >> Yes. How about the following? >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java{.cr0,} >> 23a24,27 >> > // Reproducing this bug only requires an EMCP version of the >> > // RedefineSubclassWithTwoInterfacesImpl class so >> > // RedefineSubclassWithTwoInterfacesImpl.java and >> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java{.cr0,} >> 23a24,27 >> > // Reproducing this bug only requires an EMCP version of the >> > // RedefineSubclassWithTwoInterfacesImpl class so >> > // RedefineSubclassWithTwoInterfacesImpl.java and >> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >> >> so both files are still identical, but now there is an explanation. >> >> Dan >> From daniel.daugherty at oracle.com Mon Feb 4 16:19:54 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 04 Feb 2013 17:19:54 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <5110416E.8070709@oracle.com> References: <510C1DC6.2010607@oracle.com> <51102336.9000808@oracle.com> <5110416E.8070709@oracle.com> Message-ID: <5110502A.7000709@oracle.com> On 2/4/13 4:17 PM, Coleen Phillimore wrote: > Hi Dan, > > I think this version looks good. Thanks! > From your other reply: > > On 2/4/2013 11:40 AM, Daniel D. Daugherty wrote: >> is present in the HSX-23.6, HSX-24, and HSX-25 versions of >> is_interesting_method_entry(), but is not used by the original >> check_no_old_entries() or any of the new >> check_no_old_or_obsolete_entries(). >> I'll put that info in the new bug to track the future work. > > what is this new bug? It would be nice if the guts of > is_interesting_method_entry() that extracted the Method* from the > appropriate field was isolated into it's own function > ConstantPoolCacheEntry::get_method() and used by both. That would > save the complicated logic of the if statements in > check_no_old_or_obsolete entries. Karen made the following comment in her review: > For a future cleanup, do we need f2_as_vfinal_method and > is_interesting_method_entry to do that as well? And I made a somewhat lengthy reply of other stuff that I noticed, but I said I would put all that in another bug (to be fixed by someone else... Serguei? :-)). > > The other thing that might make it simpler is if is_valid() is defined > with PRODUCT_RETURN_(true); so you don't have to wrap PRODUCT around it. Thought about that, but I went with restore metadata.h back to an untouched form. I know when to stay away from live wires... :-) > > Anyway, I reviewed all three versions of the webrev and they look > correct. Thanks! Dan > Thanks, > Coleen > > > On 2/4/2013 4:08 PM, Daniel D. Daugherty wrote: >> Greetings, >> >> I've updated the fix due to comments in Code Review Round 0. >> >> Here is a summary of changes made to the various files: >> >> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >> src/share/vm/oops/cpCache.cpp (HSX-25) >> src/share/vm/oops/klassVtable.cpp >> - removed the new RC_TRACE_NO_CR() macro calls at Coleen's request; >> these files are outside of JVM/TI RedefineClasses proper so the >> tracing/debug style should not be dictated by JVM/TI RedefineClasses >> style that is currently in use >> - did not touch the existing RC_TRACE... macros in the file; removing >> the existing macro calls would be outside the scope of this bug >> >> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >> src/share/vm/oops/cpCache.cpp (HSX-25) >> - copy a comment from >> ConstantPoolCacheEntry::is_interesting_method_entry() >> to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries() >> >> src/share/vm/oops/klassVtable.cpp >> - Copied the new comment intended to prevent the "break" from >> re-materializing again from klassItable::adjust_method_entries() >> to klassVtable::adjust_method_entries(); yes, I'm paranoid. >> >> In the HSX-25 version only: >> src/share/vm/oops/metadata.hpp >> - revert changes >> >> src/share/vm/oops/cpCacheOop.cpp >> src/share/vm/oops/klassVtable.cpp >> - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate >> >> Here are the URLs for the updated webrevs: >> >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/ >> >> The JPDA stack testing that I started on Friday is still running on >> WinXP so I'm blocked for checking the recompile due to these changes. >> I'll start a recompile on Solaris X86, but that will take some time. >> >> Thanks, in advance, for more comments, suggestions or questions. >> >> Dan >> >> >> >> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>> Greetings, >>> >>> I have a fix for the following JVM/TI bug: >>> >>> 7182152 Instrumentation hot swap test incorrect monitor count >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>> >>> The fix for the bug in the product code is one line: >>> >>> src/share/vm/oops/klassVtable.cpp: >>> >>> @@ -992,18 +1020,50 @@ >>> // RC_TRACE macro has an embedded ResourceMark >>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>> new_method->name()->as_C_string(), >>> new_method->signature()->as_C_string())); >>> } >>> - break; >>> + // cannot 'break' here; see for-loop comment above. >>> } >>> ime++; >>> } >>> } >>> } >>> >>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>> changeset. Many thanks to Coleen for her help in this bug hunt! >>> >>> The rest of the code in the webrevs are: >>> >>> - additional JVM/TI tracing code backported from Coleen's PGR changeset >>> - additional JVM/TI tracing code added by me and forward ported to >>> HSX-25 >>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>> elusive old or obsolete methods >>> - exposure of some printing code to the PRODUCT build so that the new >>> tracing is available in a PRODUCT build >>> >>> You might be wondering why the new tracing code is exposed in a PRODUCT >>> build. Well, it appears that more and more PRODUCT bits deployments are >>> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >>> to instrument their systems. This bug (7182152) was only intermittently >>> reproducible in the WLS environment in which it occurred so I made the >>> tracing available in a PRODUCT build to assist in the hunt. >>> >>> Raj from the WLS team has also verified that the HSX-23.6 version of >>> fix resolves the issue in his environment. Thanks Raj! >>> >>> Here are the URLs for the three webrevs: >>> >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>> >>> I have run the following test suites from the JPDA stack on the >>> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >>> specified: >>> >>> sdk-jdi >>> sdk-jdi_closed >>> sdk-jli >>> vm-heapdump >>> vm-hprof >>> vm-jdb >>> vm-jdi >>> vm-jdwp >>> vm-jvmti >>> vm-sajdi >>> >>> The tested configs are: >>> >>> {Solaris-X86, WinXP} >>> X {Client VM, Server VM} >>> X {-Xmixed, -Xcomp} >>> X {product, fastdebug} >>> >>> With the 1-liner fix in place, the new tracing code does not find any >>> instances of this failure mode in any of the above test suites. Without >>> the the 1-liner fix in place, the new tracing code finds one instance >>> of this failure mode in the above test suites: >>> >>> test/java/lang/instrument/IsModifiableClassAgent.java >>> >>> There are two new tests that will be pushed to the JDK repos using >>> a different bug ID (not yet filed): >>> >>> test/com/sun/jdi/RedefineAbstractClass.sh >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>> >>> There will be a separate review request for the new tests. >>> >>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>> take all weekend to complete. >>> >>> Thanks, in advance, for any comments and/or suggestions. >>> >>> Dan >>> >>> >>> >> From joe.darcy at oracle.com Mon Feb 4 17:56:46 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Tue, 05 Feb 2013 01:56:46 +0000 Subject: hg: jdk8/tl/jdk: 8007113: Upgrade AnnotatedElement.isAnnotionPresent to be a default method Message-ID: <20130205015708.AEDEE4780B@hg.openjdk.java.net> Changeset: e04467fa13af Author: darcy Date: 2013-02-04 17:56 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e04467fa13af 8007113: Upgrade AnnotatedElement.isAnnotionPresent to be a default method Reviewed-by: chegar, jfranck ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/Package.java ! src/share/classes/java/lang/reflect/AccessibleObject.java ! src/share/classes/java/lang/reflect/AnnotatedElement.java ! src/share/classes/java/lang/reflect/Parameter.java ! src/share/classes/sun/reflect/annotation/AnnotatedTypeFactory.java ! src/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java From jonathan.gibbons at oracle.com Mon Feb 4 18:14:29 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Tue, 05 Feb 2013 02:14:29 +0000 Subject: hg: jdk8/tl/langtools: 8007492: DocumentationTool cannot locate standard doclet when invoked from JRE Message-ID: <20130205021433.E758A4780E@hg.openjdk.java.net> Changeset: 62d91c13dce2 Author: jjg Date: 2013-02-04 18:14 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/62d91c13dce2 8007492: DocumentationTool cannot locate standard doclet when invoked from JRE Reviewed-by: darcy ! src/share/classes/com/sun/tools/javadoc/api/JavadocTool.java From coleen.phillimore at oracle.com Mon Feb 4 22:55:54 2013 From: coleen.phillimore at oracle.com (coleen.phillimore at oracle.com) Date: Tue, 05 Feb 2013 06:55:54 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 2 new changesets Message-ID: <20130205065600.EF3DA4781B@hg.openjdk.java.net> Changeset: 24a91505f9d5 Author: emc Date: 2013-02-04 13:05 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/24a91505f9d5 8006949: Update hotspot for MethodParameters format change 8006907: Hotspot should reject classfiles with multiple MethodParameters attributes Summary: Update to Hotspot's processing of MethodParameters attributes in classfiles Reviewed-by: coleenp, jrose ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/oops/constMethod.hpp ! src/share/vm/prims/jvm.cpp Changeset: 42ea5e1fad75 Author: coleenp Date: 2013-02-04 13:51 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/42ea5e1fad75 Merge From lana.steuck at oracle.com Mon Feb 4 23:24:41 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Tue, 05 Feb 2013 07:24:41 +0000 Subject: hg: jdk8/tl: Added tag jdk8-b75 for changeset 2a713921952c Message-ID: <20130205072441.3DB904781C@hg.openjdk.java.net> Changeset: 5b19cef637a6 Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/5b19cef637a6 Added tag jdk8-b75 for changeset 2a713921952c ! .hgtags From lana.steuck at oracle.com Mon Feb 4 23:24:41 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Tue, 05 Feb 2013 07:24:41 +0000 Subject: hg: jdk8/tl/corba: Added tag jdk8-b75 for changeset d4e68ce17795 Message-ID: <20130205072443.5E08B4781D@hg.openjdk.java.net> Changeset: 4a6be02e66a3 Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/4a6be02e66a3 Added tag jdk8-b75 for changeset d4e68ce17795 ! .hgtags From lana.steuck at oracle.com Mon Feb 4 23:24:45 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Tue, 05 Feb 2013 07:24:45 +0000 Subject: hg: jdk8/tl/hotspot: Added tag jdk8-b75 for changeset 6778d0b16593 Message-ID: <20130205072456.148B94781E@hg.openjdk.java.net> Changeset: 20b605466ccb Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/20b605466ccb Added tag jdk8-b75 for changeset 6778d0b16593 ! .hgtags From lana.steuck at oracle.com Mon Feb 4 23:24:44 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Tue, 05 Feb 2013 07:24:44 +0000 Subject: hg: jdk8/tl/jaxp: Added tag jdk8-b75 for changeset ff0b73a6b3f6 Message-ID: <20130205072456.2A5914781F@hg.openjdk.java.net> Changeset: 8d65b381880b Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/8d65b381880b Added tag jdk8-b75 for changeset ff0b73a6b3f6 ! .hgtags From lana.steuck at oracle.com Mon Feb 4 23:24:46 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Tue, 05 Feb 2013 07:24:46 +0000 Subject: hg: jdk8/tl/jaxws: Added tag jdk8-b75 for changeset 966bf9f3c41a Message-ID: <20130205072456.5C8D447820@hg.openjdk.java.net> Changeset: a63ef2391c20 Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jaxws/rev/a63ef2391c20 Added tag jdk8-b75 for changeset 966bf9f3c41a ! .hgtags From lana.steuck at oracle.com Mon Feb 4 23:24:51 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Tue, 05 Feb 2013 07:24:51 +0000 Subject: hg: jdk8/tl/langtools: 2 new changesets Message-ID: <20130205072503.59ED147821@hg.openjdk.java.net> Changeset: 716935fec613 Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/716935fec613 Added tag jdk8-b75 for changeset c2e11e2ec4a3 ! .hgtags Changeset: 10619513f51a Author: lana Date: 2013-02-04 22:38 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/10619513f51a Merge From lana.steuck at oracle.com Mon Feb 4 23:24:58 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Tue, 05 Feb 2013 07:24:58 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20130205072534.CB9A147822@hg.openjdk.java.net> Changeset: 6ba6353ab42c Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/6ba6353ab42c Added tag jdk8-b75 for changeset 4a67fdb752b7 ! .hgtags Changeset: fd37f0846653 Author: lana Date: 2013-02-04 22:37 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/fd37f0846653 Merge From coleen.phillimore at oracle.com Tue Feb 5 00:55:59 2013 From: coleen.phillimore at oracle.com (coleen.phillimore at oracle.com) Date: Tue, 05 Feb 2013 08:55:59 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 2 new changesets Message-ID: <20130205085605.D698647826@hg.openjdk.java.net> Changeset: ab826603e572 Author: simonis Date: 2013-02-04 13:14 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/ab826603e572 8007475: Memory stomp with UseMallocOnly Summary: Fix off-by-one error Reviewed-by: coleenp, hseigel ! src/share/vm/classfile/stackMapFrame.hpp + test/runtime/8007475/StackMapFrameTest.java Changeset: a401757763f9 Author: coleenp Date: 2013-02-04 22:59 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/a401757763f9 Merge From yekaterina.kantserova at oracle.com Tue Feb 5 02:51:32 2013 From: yekaterina.kantserova at oracle.com (Yekaterina Kantserova) Date: Tue, 05 Feb 2013 11:51:32 +0100 Subject: RFR (S) 8007142: Add utility classes for writing better multiprocess tests in jtreg In-Reply-To: <510FB531.8040407@oracle.com> References: <510BB12C.2030802@oracle.com> <510BB5CC.6050604@oracle.com> <510BC3E0.6020107@oracle.com> <510BCF1B.3010704@oracle.com> <510BD9EF.1050202@oracle.com> <510BDCAA.1080909@oracle.com> <510F8E6C.2090301@oracle.com> <510F9393.8080509@oracle.com> <510F9596.8060503@oracle.com> <510FB531.8040407@oracle.com> Message-ID: <5110E434.40600@oracle.com> On 02/04/2013 02:18 PM, Alan Bateman wrote: > On 04/02/2013 11:03, Yekaterina Kantserova wrote: >> >> But JDKToolFinder.getJDKTool is used even for finding java, e.g. I >> need to fork a java process - JDKToolFinder.getJDKTool("java") for >> some JRE tests? > It might be better to rename JDKToolFinder to something like JdkFinder > and have it define getJavaLauncher() and getTool(String tool) methods. I think it's good idea to separate java launcher and tools. Here is the new JdkFinder: http://cr.openjdk.java.net/~ykantser/8007142/webrev.02/test/lib/testlibrary/jdk/testlibrary/JdkFinder.java.html. It now possible to retrieve java/tools both from the test.jdk and compile.jdk. > If you don't agree then you could at least change > ProcessTools.createJavaProcessBuilder so that it looks like "java" in > the JDK/JRE under test. > JDKToolFinder.getJDKTool("java") became JdkFinder.getJavaLauncher in the createJavaProcessBuilder (http://cr.openjdk.java.net/~ykantser/8007142/webrev.02/test/lib/testlibrary/jdk/testlibrary/ProcessTools.java.html). > -Alan. Thanks, Katja -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130205/42334f0b/attachment-0001.html From david.holmes at oracle.com Tue Feb 5 03:26:42 2013 From: david.holmes at oracle.com (david.holmes at oracle.com) Date: Tue, 05 Feb 2013 11:26:42 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 2 new changesets Message-ID: <20130205112649.B0F3D4782F@hg.openjdk.java.net> Changeset: 12285410684f Author: dholmes Date: 2013-02-04 23:53 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/12285410684f 8006508: Wrong frame constructor is called in os_linux_x86.cpp Reviewed-by: dholmes, coleenp Contributed-by: Jeremy Manson ! src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/os_cpu/windows_x86/vm/os_windows_x86.cpp Changeset: f3ea1af9207a Author: dholmes Date: 2013-02-05 00:59 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/f3ea1af9207a Merge From jaroslav.bachorik at oracle.com Tue Feb 5 03:29:19 2013 From: jaroslav.bachorik at oracle.com (jaroslav.bachorik at oracle.com) Date: Tue, 05 Feb 2013 11:29:19 +0000 Subject: hg: jdk8/tl/jdk: 7170447: Intermittent DeadListenerTest.java failure Message-ID: <20130205112943.1E78647830@hg.openjdk.java.net> Changeset: 9ffcd758e2be Author: jbachorik Date: 2013-02-05 12:28 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/9ffcd758e2be 7170447: Intermittent DeadListenerTest.java failure Summary: Due to asynchronous nature of processing server notifications it may happen that an "unregister" notification ha$ Reviewed-by: sjiang ! test/javax/management/remote/mandatory/notif/DeadListenerTest.java From jaroslav.bachorik at oracle.com Tue Feb 5 03:38:04 2013 From: jaroslav.bachorik at oracle.com (jaroslav.bachorik at oracle.com) Date: Tue, 05 Feb 2013 11:38:04 +0000 Subject: hg: jdk8/tl/jdk: 8005791: Remove java.beans.* imports from com.sun.jmx.mbeanserver.Introspector Message-ID: <20130205113826.4CEED47831@hg.openjdk.java.net> Changeset: 3119f0ebb58d Author: jbachorik Date: 2013-02-05 12:36 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/3119f0ebb58d 8005791: Remove java.beans.* imports from com.sun.jmx.mbeanserver.Introspector Reviewed-by: rbackman ! src/share/classes/com/sun/jmx/mbeanserver/Introspector.java From Alan.Bateman at oracle.com Tue Feb 5 03:54:44 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Tue, 05 Feb 2013 11:54:44 +0000 Subject: RFR (S) 8007142: Add utility classes for writing better multiprocess tests in jtreg In-Reply-To: <5110E434.40600@oracle.com> References: <510BB12C.2030802@oracle.com> <510BB5CC.6050604@oracle.com> <510BC3E0.6020107@oracle.com> <510BCF1B.3010704@oracle.com> <510BD9EF.1050202@oracle.com> <510BDCAA.1080909@oracle.com> <510F8E6C.2090301@oracle.com> <510F9393.8080509@oracle.com> <510F9596.8060503@oracle.com> <510FB531.8040407@oracle.com> <5110E434.40600@oracle.com> Message-ID: <5110F304.4080602@oracle.com> On 05/02/2013 10:51, Yekaterina Kantserova wrote: > On 02/04/2013 02:18 PM, Alan Bateman wrote: >> On 04/02/2013 11:03, Yekaterina Kantserova wrote: >>> >>> But JDKToolFinder.getJDKTool is used even for finding java, e.g. I >>> need to fork a java process - JDKToolFinder.getJDKTool("java") for >>> some JRE tests? >> It might be better to rename JDKToolFinder to something like >> JdkFinder and have it define getJavaLauncher() and getTool(String >> tool) methods. > I think it's good idea to separate java launcher and tools. Here is > the new JdkFinder: > http://cr.openjdk.java.net/~ykantser/8007142/webrev.02/test/lib/testlibrary/jdk/testlibrary/JdkFinder.java.html. > It now possible to retrieve java/tools both from the test.jdk and > compile.jdk. > >> If you don't agree then you could at least change >> ProcessTools.createJavaProcessBuilder so that it looks like "java" in >> the JDK/JRE under test. >> > JDKToolFinder.getJDKTool("java") became JdkFinder.getJavaLauncher in > the createJavaProcessBuilder > (http://cr.openjdk.java.net/~ykantser/8007142/webrev.02/test/lib/testlibrary/jdk/testlibrary/ProcessTools.java.html). >> -Alan. > It looks right to me now. -Alan -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130205/0f83bcb6/attachment.html From vincent.x.ryan at oracle.com Tue Feb 5 06:27:47 2013 From: vincent.x.ryan at oracle.com (vincent.x.ryan at oracle.com) Date: Tue, 05 Feb 2013 14:27:47 +0000 Subject: hg: jdk8/tl/jdk: 8007483: attributes are ignored when loading keys from a PKCS12 keystore Message-ID: <20130205142810.420EC47838@hg.openjdk.java.net> Changeset: e526277b51be Author: vinnie Date: 2013-02-05 14:25 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e526277b51be 8007483: attributes are ignored when loading keys from a PKCS12 keystore Reviewed-by: mullan ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java ! test/sun/security/pkcs12/StorePasswordTest.java From jaroslav.bachorik at oracle.com Tue Feb 5 06:40:26 2013 From: jaroslav.bachorik at oracle.com (Jaroslav Bachorik) Date: Tue, 05 Feb 2013 15:40:26 +0100 Subject: jmx-dev [PATCH] JDK-8005472: com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.sh failed on windows In-Reply-To: <50EF3622.9050500@oracle.com> References: <50E16BA8.40203@oracle.com> <682D734D-2021-48DE-844D-C55A52D27EBD@oracle.com> <50EAB014.30805@oracle.com> <50EE813A.1020501@oracle.com> <50EEDC23.5080005@oracle.com> <50EF3622.9050500@oracle.com> Message-ID: <511119DA.5060806@oracle.com> Updates in http://cr.openjdk.java.net/~jbachorik/8005472/webrev.05 Comments inline On 01/10/2013 10:44 PM, Stuart Marks wrote: > On 1/10/13 7:20 AM, Jaroslav Bachorik wrote: >> Update: http://cr.openjdk.java.net/~jbachorik/8005472/webrev.04 > > Thanks for the update. > > Note, argv[0] is used before argv.length is checked, so if no args are > passed this gives index out of bounds instead of the usage message. It's gone. Shouldn't have been left there anyway. > > I see you take pains to write and flush the URL to stdout before writing > the signaling file. Good. The obvious alternative (which I started > writing but then erased) is just to put the URL into the signaling file. > But this has a race between creation of the file and the writing of its > contents. So, what you have works. (This kind of rendezvous problem > occurs a lot; it seems like there ought to be a simpler way.) > > I suspect the -e option caused hangs because if something failed, it > would leave the server running, spoiling the next test run. The usual > way to deal with this is to use the shell 'trap' statement, to kill > subprocesses and remove temp files before exiting the shell. Probably a > good practice in general, but perhaps too much shell hackery for this > change. (Up to you if you want to tackle it.) I would rather not ... > > Regarding how the test is detecting success/failure, the concern is that > if the client fails for some reason other than the failure being checked > for, the test will still report passing. Since the error message is > coming out of the client JVM, in principle it ought to be possible to > redirect it somehow in order to do the assertion checking in Java. With > the current shell scheme, not only are other failures reported as the > test passing, these other failures are erased in the grep pipeline, so > they're not even visible in the test log. I've changed the logic slightly to check for the java process exit status as well as for the presence of the trigger text in the process output. This should catch all the regular failures. Unfortunately, the way the notification handling is implemented now it is not really possible to check for the error from within the application - the error state is captured by the *NotificationForwarder class and only reported to the logger. -JB- > > This last issue is rather far afield from this webrev, and fixing it > will probably require some rearchitecting of the test. So maybe it > should be considered independently. I just happened to notice this going > on, and I noticed the similarity to what's going on in the RMI tests. > > s'marks > > > >> On 01/10/2013 09:52 AM, Stuart Marks wrote: >>> On 1/7/13 3:23 AM, Jaroslav Bachorik wrote: >>>> On 01/04/2013 11:37 PM, Kelly O'Hair wrote: >>>>> I suspect it is not hanging because it does not exist, but that some >>>>> other windows process has it's hands on it. >>>>> This is the stdout file from the server being started up right? >>>>> Could the server from a previous test run be still running? >>>> >>>> Exactly. Amy confirmed this and provided a patch which resolves the >>>> hanging problem. >>>> >>>> The update patch is at >>>> http://cr.openjdk.java.net/~jbachorik/8005472/webrev.01 >>> >>> Hi Jaroslav, >>> >>> The change to remove the parentheses from around the server program >>> looks right. It avoids forking an extra process (at least in some >>> shells) and lets $! refer to the actual JVM, not an intermediate shell >>> process. The rm -f from Kelly's suggestion is good too. >>> >>> But there are other things wrong with the script. I don't think they >>> could cause hanging, but they could cause the script to fail in >>> unforeseen ways, or even to report success incorrectly. >>> >>> One problem is introduced by the change, where the Server's stderr is >>> also redirected into $URL_PATH along with stdout. This means that if the >>> Server program reports any errors, they'll get mixed into the URL_PATH >>> file instead of appearing in the test log. The URL_PATH file's contents >>> is never reported, so these error messages will be invisible. >> >> Fixed, only the stdout is redirected to $URL_PATH. >> >>> >>> The exit status of some of the critical commands (such as the >>> compilations) isn't checked, so if javac fails for some reason, the test >>> might not report failure. Instead, some weird error might or might not >>> be reported later (though one will still see the javac errors in the >>> log). >> >> Fixed, introduced the check. The "set -e" was hanging the script so I >> have to check for the exit status manually. >> >>> >>> I don't think the sleep at line 80 is necessary, since the client runs >>> synchronously and should have exited by this point. >> >> And it's gone. >> >>> >>> The wait loop checking for the existence of the URL_PATH file doesn't >>> actually guarantee that the server is running or has initialized yet. >>> The file is actually created by the shell before the Server JVM starts >>> up. Thus, runClient might try to read from it before the server has >>> written anything to it. Or, as mentioned above, the server might have >>> written some error messages into the URL_PATH file instead of the >>> expected contents. Thus, the contents of the JMXURL variable can quite >>> possibly be incorrect. >> >> The err is not redirected to the file. A separate file is used to signal >> the availability of the server and that file is created from the java >> code after the server has been started. Also, the err and out streams >> are flushed to make sure the JMX URL makes it into the file. >> >>> >>> If this occurs, what will happen when the client runs? It may emit some >>> error message, and this will be filtered out by the grep pipeline. Thus, >>> HAS_ERRORS might end up empty, and the test will report passing, even >>> though everything has failed! >> >> Shouldn't happen with only the controlled stdout redirected to the file. >> >>> >>> For this changeset I'd recommend at a minimum removing the redirection >>> of stderr to URL_PATH. If the server fails we'll at least see errors in >>> the test log. >>> >>> For checking the notification message, is there a way to modify the >>> client to report an exit status or throw an exception? Throwing an >>> exception from main() will exit the JVM with a nonzero status, so this >>> can be checked more easily from the script. I think this is less >>> error-prone than grepping the output for a specific error message. The >>> test should fail if there is *any* error; it should not succeed if an >>> expected error is absent. >> >> This is unfortunately not possible. The notification processing needs to >> be robust enough to prevent exiting JVM in cases like this. Therefore it >> only reports the problem, dumps the notification and carries on. The >> only place one can find something went wrong is the err stream. >> >>> >>> You might consider having jtreg build the client and server classes. >>> This might simplify some of the setup. Also, jtreg is meticulous about >>> aborting the test if any compilations fail, so it takes care of that for >>> you. >> >> I need same name classes with incompatible code compiled to two >> different locations - client and server. I was not able to figure out >> how to use jtreg to accomplish that. >> >> -JB- >> >>> >>> It would be nice if there were a better way to have the client >>> rendezvous with the server. I hate to suggest it, but sleeping >>> unconditionally after starting the server is probably necessary. >>> Anything more robust probably requires rearchitecting the test, though. >>> >>> Sorry to dump all this on you. But one of the shell-based RMI tests >>> suffers from *exactly* the same pathologies. (I have yet to fix it.) >>> Unfortunately, I believe that there are a lot of other shell-based tests >>> in the test suite that have similar problems. The lesson here is that >>> writing reliable shell tests is a lot harder than it seems. >>> >>> Thanks, >>> >>> s'marks >> From alan.bateman at oracle.com Tue Feb 5 06:59:29 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Tue, 05 Feb 2013 14:59:29 +0000 Subject: hg: jdk8/tl/jaxp: 8007389: Remove uses of _ as identifier in jaxp Message-ID: <20130205145933.C9A134783A@hg.openjdk.java.net> Changeset: f0ad3747b40e Author: emc Date: 2013-02-05 14:56 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/f0ad3747b40e 8007389: Remove uses of _ as identifier in jaxp Reviewed-by: lancea, joehw ! src/javax/xml/validation/SchemaFactoryFinder.java ! src/javax/xml/xpath/XPathFactoryFinder.java From serguei.spitsyn at oracle.com Tue Feb 5 09:50:11 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Tue, 05 Feb 2013 09:50:11 -0800 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510C55DF.3000002@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> Message-ID: <51114653.1030209@oracle.com> Both tests look good, I do not see any issues yet. What is missed is a comment explaining what happened when the bug is not fixed and what correct behavior is expected. Maybe it'd make sense to put bad and good output into the comment, not everything, but the most important fragments. It would help a lot to understand what test is doing. Thanks, Serguei On 2/1/13 3:55 PM, Daniel D. Daugherty wrote: > And here is the webrev for the new tests (relative to JDK8-T&L): > > http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ > > As always, comments and suggestions are welcome. > > Dan > > > On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >> > There are two new tests that will be pushed to the JDK repos using >> > a different bug ID (not yet filed): >> >> New bug is now filed: >> >> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >> to java/lang/instrument >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >> https://jbs.oracle.com/bugs/browse/JDK-8007420 >> >> Of course, the tests cannot be pushed until the HSX changes have made >> it into a promoted build and thus available to JDK8-T&L. >> >> Dan >> >> >> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>> Greetings, >>> >>> I have a fix for the following JVM/TI bug: >>> >>> 7182152 Instrumentation hot swap test incorrect monitor count >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>> >>> The fix for the bug in the product code is one line: >>> >>> src/share/vm/oops/klassVtable.cpp: >>> >>> @@ -992,18 +1020,50 @@ >>> // RC_TRACE macro has an embedded ResourceMark >>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>> new_method->name()->as_C_string(), >>> new_method->signature()->as_C_string())); >>> } >>> - break; >>> + // cannot 'break' here; see for-loop comment above. >>> } >>> ime++; >>> } >>> } >>> } >>> >>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>> changeset. Many thanks to Coleen for her help in this bug hunt! >>> >>> The rest of the code in the webrevs are: >>> >>> - additional JVM/TI tracing code backported from Coleen's PGR changeset >>> - additional JVM/TI tracing code added by me and forward ported to >>> HSX-25 >>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>> elusive old or obsolete methods >>> - exposure of some printing code to the PRODUCT build so that the new >>> tracing is available in a PRODUCT build >>> >>> You might be wondering why the new tracing code is exposed in a PRODUCT >>> build. Well, it appears that more and more PRODUCT bits deployments are >>> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >>> to instrument their systems. This bug (7182152) was only intermittently >>> reproducible in the WLS environment in which it occurred so I made the >>> tracing available in a PRODUCT build to assist in the hunt. >>> >>> Raj from the WLS team has also verified that the HSX-23.6 version of >>> fix resolves the issue in his environment. Thanks Raj! >>> >>> Here are the URLs for the three webrevs: >>> >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>> >>> I have run the following test suites from the JPDA stack on the >>> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >>> specified: >>> >>> sdk-jdi >>> sdk-jdi_closed >>> sdk-jli >>> vm-heapdump >>> vm-hprof >>> vm-jdb >>> vm-jdi >>> vm-jdwp >>> vm-jvmti >>> vm-sajdi >>> >>> The tested configs are: >>> >>> {Solaris-X86, WinXP} >>> X {Client VM, Server VM} >>> X {-Xmixed, -Xcomp} >>> X {product, fastdebug} >>> >>> With the 1-liner fix in place, the new tracing code does not find any >>> instances of this failure mode in any of the above test suites. Without >>> the the 1-liner fix in place, the new tracing code finds one instance >>> of this failure mode in the above test suites: >>> >>> test/java/lang/instrument/IsModifiableClassAgent.java >>> >>> There are two new tests that will be pushed to the JDK repos using >>> a different bug ID (not yet filed): >>> >>> test/com/sun/jdi/RedefineAbstractClass.sh >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>> >>> There will be a separate review request for the new tests. >>> >>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>> take all weekend to complete. >>> >>> Thanks, in advance, for any comments and/or suggestions. >>> >>> Dan >>> >>> >>> >> >> >> > From daniel.daugherty at oracle.com Tue Feb 5 10:03:51 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Tue, 05 Feb 2013 11:03:51 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51114653.1030209@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <51114653.1030209@oracle.com> Message-ID: <51114987.5010309@oracle.com> On 2/5/13 10:50 AM, serguei.spitsyn at oracle.com wrote: > Both tests look good, I do not see any issues yet. > What is missed is a comment explaining what happened > when the bug is not fixed and what correct behavior is expected. > Maybe it'd make sense to put bad and good output into the comment, > not everything, but the most important fragments. > It would help a lot to understand what test is doing. Serguei, Thanks for the review! I put sample failures for both tests into the bug (8007420) a couple of days ago. I'd prefer not to clutter up the test with sample outputs if that's OK with you. Dan > > > Thanks, > Serguei > > > On 2/1/13 3:55 PM, Daniel D. Daugherty wrote: >> And here is the webrev for the new tests (relative to JDK8-T&L): >> >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >> >> As always, comments and suggestions are welcome. >> >> Dan >> >> >> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>> > There are two new tests that will be pushed to the JDK repos using >>> > a different bug ID (not yet filed): >>> >>> New bug is now filed: >>> >>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>> to java/lang/instrument >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>> >>> Of course, the tests cannot be pushed until the HSX changes have made >>> it into a promoted build and thus available to JDK8-T&L. >>> >>> Dan >>> >>> >>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>> Greetings, >>>> >>>> I have a fix for the following JVM/TI bug: >>>> >>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>> >>>> The fix for the bug in the product code is one line: >>>> >>>> src/share/vm/oops/klassVtable.cpp: >>>> >>>> @@ -992,18 +1020,50 @@ >>>> // RC_TRACE macro has an embedded ResourceMark >>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>> new_method->name()->as_C_string(), >>>> new_method->signature()->as_C_string())); >>>> } >>>> - break; >>>> + // cannot 'break' here; see for-loop comment above. >>>> } >>>> ime++; >>>> } >>>> } >>>> } >>>> >>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>> >>>> The rest of the code in the webrevs are: >>>> >>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>> changeset >>>> - additional JVM/TI tracing code added by me and forward ported to >>>> HSX-25 >>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>> elusive old or obsolete methods >>>> - exposure of some printing code to the PRODUCT build so that the new >>>> tracing is available in a PRODUCT build >>>> >>>> You might be wondering why the new tracing code is exposed in a >>>> PRODUCT >>>> build. Well, it appears that more and more PRODUCT bits deployments >>>> are >>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >>>> to instrument their systems. This bug (7182152) was only >>>> intermittently >>>> reproducible in the WLS environment in which it occurred so I made the >>>> tracing available in a PRODUCT build to assist in the hunt. >>>> >>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>> fix resolves the issue in his environment. Thanks Raj! >>>> >>>> Here are the URLs for the three webrevs: >>>> >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>> >>>> I have run the following test suites from the JPDA stack on the >>>> JDK7u10/HSX-23.6 version of the fix with >>>> -XX:TraceRedefineClasses=16384 >>>> specified: >>>> >>>> sdk-jdi >>>> sdk-jdi_closed >>>> sdk-jli >>>> vm-heapdump >>>> vm-hprof >>>> vm-jdb >>>> vm-jdi >>>> vm-jdwp >>>> vm-jvmti >>>> vm-sajdi >>>> >>>> The tested configs are: >>>> >>>> {Solaris-X86, WinXP} >>>> X {Client VM, Server VM} >>>> X {-Xmixed, -Xcomp} >>>> X {product, fastdebug} >>>> >>>> With the 1-liner fix in place, the new tracing code does not find any >>>> instances of this failure mode in any of the above test suites. >>>> Without >>>> the the 1-liner fix in place, the new tracing code finds one instance >>>> of this failure mode in the above test suites: >>>> >>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>> >>>> There are two new tests that will be pushed to the JDK repos using >>>> a different bug ID (not yet filed): >>>> >>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>> >>>> There will be a separate review request for the new tests. >>>> >>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>> take all weekend to complete. >>>> >>>> Thanks, in advance, for any comments and/or suggestions. >>>> >>>> Dan >>>> >>>> >>>> >>> >>> >>> >> > From serguei.spitsyn at oracle.com Tue Feb 5 10:53:29 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Tue, 05 Feb 2013 10:53:29 -0800 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51114987.5010309@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <51114653.1030209@oracle.com> <51114987.5010309@oracle.com> Message-ID: <51115529.6000008@oracle.com> On 2/5/13 10:03 AM, Daniel D. Daugherty wrote: > On 2/5/13 10:50 AM, serguei.spitsyn at oracle.com wrote: >> Both tests look good, I do not see any issues yet. >> What is missed is a comment explaining what happened >> when the bug is not fixed and what correct behavior is expected. >> Maybe it'd make sense to put bad and good output into the comment, >> not everything, but the most important fragments. >> It would help a lot to understand what test is doing. > Serguei, > > Thanks for the review! > > I put sample failures for both tests into the bug (8007420) a couple > of days ago. I'd prefer not to clutter up the test with sample outputs > if that's OK with you. Thanks! I'm still suggesting to put a comment explaining what happens in the buggy case. Something like: "All multiple itable elements of the method *echo(String s)* must be adjusted at a redefinition. Otherwise, in incorrect implementation case (bug #) some of them may become old and obsolete. It should cause the test to fail: crashed, caught by a guaranty, incorrect results, etc." I'm sure you can find much better wording for the above. BTW, I noticed that the test does not check a correctness of the output so that if it does not assert or crash then it will probably pass. Would it make sense to check if the output does not have the sub-string "version-0" after the redefinition of the class *RedefineSubclassWithTwoInterfacesTarget*? Thanks, Serguei > > Dan > > >> >> >> Thanks, >> Serguei >> >> >> On 2/1/13 3:55 PM, Daniel D. Daugherty wrote: >>> And here is the webrev for the new tests (relative to JDK8-T&L): >>> >>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >>> >>> As always, comments and suggestions are welcome. >>> >>> Dan >>> >>> >>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>> > There are two new tests that will be pushed to the JDK repos using >>>> > a different bug ID (not yet filed): >>>> >>>> New bug is now filed: >>>> >>>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>>> to java/lang/instrument >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>> >>>> Of course, the tests cannot be pushed until the HSX changes have made >>>> it into a promoted build and thus available to JDK8-T&L. >>>> >>>> Dan >>>> >>>> >>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>> Greetings, >>>>> >>>>> I have a fix for the following JVM/TI bug: >>>>> >>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>> >>>>> The fix for the bug in the product code is one line: >>>>> >>>>> src/share/vm/oops/klassVtable.cpp: >>>>> >>>>> @@ -992,18 +1020,50 @@ >>>>> // RC_TRACE macro has an embedded ResourceMark >>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>> new_method->name()->as_C_string(), >>>>> new_method->signature()->as_C_string())); >>>>> } >>>>> - break; >>>>> + // cannot 'break' here; see for-loop comment above. >>>>> } >>>>> ime++; >>>>> } >>>>> } >>>>> } >>>>> >>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>> >>>>> The rest of the code in the webrevs are: >>>>> >>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>> changeset >>>>> - additional JVM/TI tracing code added by me and forward ported to >>>>> HSX-25 >>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>> elusive old or obsolete methods >>>>> - exposure of some printing code to the PRODUCT build so that the new >>>>> tracing is available in a PRODUCT build >>>>> >>>>> You might be wondering why the new tracing code is exposed in a >>>>> PRODUCT >>>>> build. Well, it appears that more and more PRODUCT bits >>>>> deployments are >>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>> run-time >>>>> to instrument their systems. This bug (7182152) was only >>>>> intermittently >>>>> reproducible in the WLS environment in which it occurred so I made >>>>> the >>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>> >>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>> fix resolves the issue in his environment. Thanks Raj! >>>>> >>>>> Here are the URLs for the three webrevs: >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>> >>>>> I have run the following test suites from the JPDA stack on the >>>>> JDK7u10/HSX-23.6 version of the fix with >>>>> -XX:TraceRedefineClasses=16384 >>>>> specified: >>>>> >>>>> sdk-jdi >>>>> sdk-jdi_closed >>>>> sdk-jli >>>>> vm-heapdump >>>>> vm-hprof >>>>> vm-jdb >>>>> vm-jdi >>>>> vm-jdwp >>>>> vm-jvmti >>>>> vm-sajdi >>>>> >>>>> The tested configs are: >>>>> >>>>> {Solaris-X86, WinXP} >>>>> X {Client VM, Server VM} >>>>> X {-Xmixed, -Xcomp} >>>>> X {product, fastdebug} >>>>> >>>>> With the 1-liner fix in place, the new tracing code does not find any >>>>> instances of this failure mode in any of the above test suites. >>>>> Without >>>>> the the 1-liner fix in place, the new tracing code finds one instance >>>>> of this failure mode in the above test suites: >>>>> >>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>> >>>>> There are two new tests that will be pushed to the JDK repos using >>>>> a different bug ID (not yet filed): >>>>> >>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>> >>>>> There will be a separate review request for the new tests. >>>>> >>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>> take all weekend to complete. >>>>> >>>>> Thanks, in advance, for any comments and/or suggestions. >>>>> >>>>> Dan >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130205/4a192c83/attachment-0001.html From james.holmlund at oracle.com Tue Feb 5 10:56:11 2013 From: james.holmlund at oracle.com (james.holmlund at oracle.com) Date: Tue, 05 Feb 2013 18:56:11 +0000 Subject: hg: jdk8/tl/langtools: 8007504: Remove @ignore from tests that no longer need it Message-ID: <20130205185616.C6A2647848@hg.openjdk.java.net> Changeset: 2480aec9a3f1 Author: jjh Date: 2013-02-05 18:55 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/2480aec9a3f1 8007504: Remove @ignore from tests that no longer need it Reviewed-by: mcimadamore ! test/tools/javac/api/T6306137.java ! test/tools/javac/defaultMethods/TestNoBridgeOnDefaults.java ! test/tools/javac/lambda/LambdaCapture06.java ! test/tools/javac/lambda/LambdaExpr15.java From karen.kinnear at oracle.com Tue Feb 5 11:56:59 2013 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Tue, 5 Feb 2013 14:56:59 -0500 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51102336.9000808@oracle.com> References: <510C1DC6.2010607@oracle.com> <51102336.9000808@oracle.com> Message-ID: <324DEB1F-DBD1-4020-89D8-2BCD7121A191@oracle.com> New versions look great. Thank you. For jdk8 only - is redefineclasses in the MINIMALVM? I missed your reply. If so, I was assuming that the additional tracing would also be conditional in the builds. I believe in addition to ifdef's there is a list of files not included in MINIMALVM, but I didn't take the time to look this all up. thanks, Karen On Feb 4, 2013, at 4:08 PM, Daniel D. Daugherty wrote: > Greetings, > > I've updated the fix due to comments in Code Review Round 0. > > Here is a summary of changes made to the various files: > > src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) > src/share/vm/oops/cpCache.cpp (HSX-25) > src/share/vm/oops/klassVtable.cpp > - removed the new RC_TRACE_NO_CR() macro calls at Coleen's request; > these files are outside of JVM/TI RedefineClasses proper so the > tracing/debug style should not be dictated by JVM/TI RedefineClasses > style that is currently in use > - did not touch the existing RC_TRACE... macros in the file; removing > the existing macro calls would be outside the scope of this bug > > src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) > src/share/vm/oops/cpCache.cpp (HSX-25) > - copy a comment from ConstantPoolCacheEntry::is_interesting_method_entry() > to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries() > > src/share/vm/oops/klassVtable.cpp > - Copied the new comment intended to prevent the "break" from > re-materializing again from klassItable::adjust_method_entries() > to klassVtable::adjust_method_entries(); yes, I'm paranoid. > > In the HSX-25 version only: > src/share/vm/oops/metadata.hpp > - revert changes > > src/share/vm/oops/cpCacheOop.cpp > src/share/vm/oops/klassVtable.cpp > - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate > > Here are the URLs for the updated webrevs: > > http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/ > > The JPDA stack testing that I started on Friday is still running on > WinXP so I'm blocked for checking the recompile due to these changes. > I'll start a recompile on Solaris X86, but that will take some time. > > Thanks, in advance, for more comments, suggestions or questions. > > Dan > > > > On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >> Greetings, >> >> I have a fix for the following JVM/TI bug: >> >> 7182152 Instrumentation hot swap test incorrect monitor count >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >> https://jbs.oracle.com/bugs/browse/JDK-7182152 >> >> The fix for the bug in the product code is one line: >> >> src/share/vm/oops/klassVtable.cpp: >> >> @@ -992,18 +1020,50 @@ >> // RC_TRACE macro has an embedded ResourceMark >> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >> new_method->name()->as_C_string(), >> new_method->signature()->as_C_string())); >> } >> - break; >> + // cannot 'break' here; see for-loop comment above. >> } >> ime++; >> } >> } >> } >> >> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >> already fixed the bug as part of the Perm Gen Removal (PGR) project >> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >> changeset. Many thanks to Coleen for her help in this bug hunt! >> >> The rest of the code in the webrevs are: >> >> - additional JVM/TI tracing code backported from Coleen's PGR changeset >> - additional JVM/TI tracing code added by me and forward ported to HSX-25 >> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >> elusive old or obsolete methods >> - exposure of some printing code to the PRODUCT build so that the new >> tracing is available in a PRODUCT build >> >> You might be wondering why the new tracing code is exposed in a PRODUCT >> build. Well, it appears that more and more PRODUCT bits deployments are >> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >> to instrument their systems. This bug (7182152) was only intermittently >> reproducible in the WLS environment in which it occurred so I made the >> tracing available in a PRODUCT build to assist in the hunt. >> >> Raj from the WLS team has also verified that the HSX-23.6 version of >> fix resolves the issue in his environment. Thanks Raj! >> >> Here are the URLs for the three webrevs: >> >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >> >> I have run the following test suites from the JPDA stack on the >> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >> specified: >> >> sdk-jdi >> sdk-jdi_closed >> sdk-jli >> vm-heapdump >> vm-hprof >> vm-jdb >> vm-jdi >> vm-jdwp >> vm-jvmti >> vm-sajdi >> >> The tested configs are: >> >> {Solaris-X86, WinXP} >> X {Client VM, Server VM} >> X {-Xmixed, -Xcomp} >> X {product, fastdebug} >> >> With the 1-liner fix in place, the new tracing code does not find any >> instances of this failure mode in any of the above test suites. Without >> the the 1-liner fix in place, the new tracing code finds one instance >> of this failure mode in the above test suites: >> >> test/java/lang/instrument/IsModifiableClassAgent.java >> >> There are two new tests that will be pushed to the JDK repos using >> a different bug ID (not yet filed): >> >> test/com/sun/jdi/RedefineAbstractClass.sh >> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >> >> There will be a separate review request for the new tests. >> >> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >> take all weekend to complete. >> >> Thanks, in advance, for any comments and/or suggestions. >> >> Dan >> >> >> > From mandy.chung at oracle.com Tue Feb 5 12:14:31 2013 From: mandy.chung at oracle.com (Mandy Chung) Date: Tue, 05 Feb 2013 12:14:31 -0800 Subject: RFR (S): 8004172: Update jstat counter names to reflect metaspace changes In-Reply-To: <51069864.30007@oracle.com> References: <51011221.8050102@oracle.com> <51018414.1000103@oracle.com> <510695D9.5030603@oracle.com> <51069864.30007@oracle.com> Message-ID: <51116827.80100@oracle.com> Hi Erik, On 2/4/13 8:01 AM, Erik Helin wrote: > There have been some updates to the hotspot code based on feedback from > the hotspot-gc-dev mailing list. The only change to the JDK code is that > the namespace is back to "sun.gc" :) > > New webrevs: > - jdk:http://cr.openjdk.java.net/~ehelin/8004172/jdk/webrev.03/ > - hotspot:http://cr.openjdk.java.net/~ehelin/8004172/hotspot/webrev.03/ > Looks good. Minor nits: gcCapacityOutput1.awk - should the last column in L7 be removed? jstatGcMetaCapacityOutput1.sh - it's a new test and the copyright year should be 2013. > Note that the fixed tests will continue to fail until the HotSpot > part of the change finds it way into the tl forest. How are you going to integrate the hotspot and jdk fixes in a synchronized fashion? We shall make sure the TL sun/tools/jstat tests pass at all times. Mandy -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130205/102c3158/attachment.html From mandy.chung at oracle.com Tue Feb 5 12:30:58 2013 From: mandy.chung at oracle.com (Mandy Chung) Date: Tue, 05 Feb 2013 12:30:58 -0800 Subject: RFR (S): 8004172: Update jstat counter names to reflect metaspace changes In-Reply-To: <51116827.80100@oracle.com> References: <51011221.8050102@oracle.com> <51018414.1000103@oracle.com> <510695D9.5030603@oracle.com> <51069864.30007@oracle.com> <51116827.80100@oracle.com> Message-ID: <51116C02.7080607@oracle.com> Also, the jstat man page needs to be updated per this change (I mentioned this in the previous review [1]) http://download.java.net/jdk8/docs/technotes/tools/share/jstat.html You can contact the docs team for this. Mandy [1] http://mail.openjdk.java.net/pipermail/serviceability-dev/2013-January/007957.html On 2/5/13 12:14 PM, Mandy Chung wrote: > Hi Erik, > > On 2/4/13 8:01 AM, Erik Helin wrote: >> There have been some updates to the hotspot code based on feedback from >> the hotspot-gc-dev mailing list. The only change to the JDK code is that >> the namespace is back to "sun.gc" :) >> >> New webrevs: >> - jdk:http://cr.openjdk.java.net/~ehelin/8004172/jdk/webrev.03/ >> - hotspot:http://cr.openjdk.java.net/~ehelin/8004172/hotspot/webrev.03/ >> > Looks good. Minor nits: > > gcCapacityOutput1.awk - should the last column in L7 be removed? > jstatGcMetaCapacityOutput1.sh - it's a new test and the copyright year should be 2013. > > >> Note that the fixed tests will continue to fail until the HotSpot >> part of the change finds it way into the tl forest. > > How are you going to integrate the hotspot and jdk fixes in a > synchronized fashion? We shall make sure the TL sun/tools/jstat > tests pass at all times. > > Mandy -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130205/80ffa082/attachment.html From daniel.daugherty at oracle.com Tue Feb 5 13:17:58 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Tue, 05 Feb 2013 14:17:58 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <324DEB1F-DBD1-4020-89D8-2BCD7121A191@oracle.com> References: <510C1DC6.2010607@oracle.com> <51102336.9000808@oracle.com> <324DEB1F-DBD1-4020-89D8-2BCD7121A191@oracle.com> Message-ID: <51117706.8020500@oracle.com> On 2/5/13 12:56 PM, Karen Kinnear wrote: > New versions look great. Thank you. Thanks! > For jdk8 only - is redefineclasses in the MINIMALVM? I missed your reply. > If so, I was assuming that the additional tracing would also be conditional > in the builds. I believe in addition to ifdef's there is a list of files not included > in MINIMALVM, but I didn't take the time to look this all up. To quote David H: > Correct - no JVM/TI and so no redefineClasses in the minimal VM. Dan > > thanks, > Karen > > > On Feb 4, 2013, at 4:08 PM, Daniel D. Daugherty wrote: > >> Greetings, >> >> I've updated the fix due to comments in Code Review Round 0. >> >> Here is a summary of changes made to the various files: >> >> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >> src/share/vm/oops/cpCache.cpp (HSX-25) >> src/share/vm/oops/klassVtable.cpp >> - removed the new RC_TRACE_NO_CR() macro calls at Coleen's request; >> these files are outside of JVM/TI RedefineClasses proper so the >> tracing/debug style should not be dictated by JVM/TI RedefineClasses >> style that is currently in use >> - did not touch the existing RC_TRACE... macros in the file; removing >> the existing macro calls would be outside the scope of this bug >> >> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >> src/share/vm/oops/cpCache.cpp (HSX-25) >> - copy a comment from ConstantPoolCacheEntry::is_interesting_method_entry() >> to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries() >> >> src/share/vm/oops/klassVtable.cpp >> - Copied the new comment intended to prevent the "break" from >> re-materializing again from klassItable::adjust_method_entries() >> to klassVtable::adjust_method_entries(); yes, I'm paranoid. >> >> In the HSX-25 version only: >> src/share/vm/oops/metadata.hpp >> - revert changes >> >> src/share/vm/oops/cpCacheOop.cpp >> src/share/vm/oops/klassVtable.cpp >> - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate >> >> Here are the URLs for the updated webrevs: >> >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/ >> >> The JPDA stack testing that I started on Friday is still running on >> WinXP so I'm blocked for checking the recompile due to these changes. >> I'll start a recompile on Solaris X86, but that will take some time. >> >> Thanks, in advance, for more comments, suggestions or questions. >> >> Dan >> >> >> >> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>> Greetings, >>> >>> I have a fix for the following JVM/TI bug: >>> >>> 7182152 Instrumentation hot swap test incorrect monitor count >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>> >>> The fix for the bug in the product code is one line: >>> >>> src/share/vm/oops/klassVtable.cpp: >>> >>> @@ -992,18 +1020,50 @@ >>> // RC_TRACE macro has an embedded ResourceMark >>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>> new_method->name()->as_C_string(), >>> new_method->signature()->as_C_string())); >>> } >>> - break; >>> + // cannot 'break' here; see for-loop comment above. >>> } >>> ime++; >>> } >>> } >>> } >>> >>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>> changeset. Many thanks to Coleen for her help in this bug hunt! >>> >>> The rest of the code in the webrevs are: >>> >>> - additional JVM/TI tracing code backported from Coleen's PGR changeset >>> - additional JVM/TI tracing code added by me and forward ported to HSX-25 >>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>> elusive old or obsolete methods >>> - exposure of some printing code to the PRODUCT build so that the new >>> tracing is available in a PRODUCT build >>> >>> You might be wondering why the new tracing code is exposed in a PRODUCT >>> build. Well, it appears that more and more PRODUCT bits deployments are >>> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >>> to instrument their systems. This bug (7182152) was only intermittently >>> reproducible in the WLS environment in which it occurred so I made the >>> tracing available in a PRODUCT build to assist in the hunt. >>> >>> Raj from the WLS team has also verified that the HSX-23.6 version of >>> fix resolves the issue in his environment. Thanks Raj! >>> >>> Here are the URLs for the three webrevs: >>> >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>> >>> I have run the following test suites from the JPDA stack on the >>> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >>> specified: >>> >>> sdk-jdi >>> sdk-jdi_closed >>> sdk-jli >>> vm-heapdump >>> vm-hprof >>> vm-jdb >>> vm-jdi >>> vm-jdwp >>> vm-jvmti >>> vm-sajdi >>> >>> The tested configs are: >>> >>> {Solaris-X86, WinXP} >>> X {Client VM, Server VM} >>> X {-Xmixed, -Xcomp} >>> X {product, fastdebug} >>> >>> With the 1-liner fix in place, the new tracing code does not find any >>> instances of this failure mode in any of the above test suites. Without >>> the the 1-liner fix in place, the new tracing code finds one instance >>> of this failure mode in the above test suites: >>> >>> test/java/lang/instrument/IsModifiableClassAgent.java >>> >>> There are two new tests that will be pushed to the JDK repos using >>> a different bug ID (not yet filed): >>> >>> test/com/sun/jdi/RedefineAbstractClass.sh >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>> >>> There will be a separate review request for the new tests. >>> >>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>> take all weekend to complete. >>> >>> Thanks, in advance, for any comments and/or suggestions. >>> >>> Dan >>> >>> >>> From stuart.marks at oracle.com Tue Feb 5 14:47:08 2013 From: stuart.marks at oracle.com (Stuart Marks) Date: Tue, 05 Feb 2013 14:47:08 -0800 Subject: jmx-dev [PATCH] JDK-8005472: com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.sh failed on windows In-Reply-To: <511119DA.5060806@oracle.com> References: <50E16BA8.40203@oracle.com> <682D734D-2021-48DE-844D-C55A52D27EBD@oracle.com> <50EAB014.30805@oracle.com> <50EE813A.1020501@oracle.com> <50EEDC23.5080005@oracle.com> <50EF3622.9050500@oracle.com> <511119DA.5060806@oracle.com> Message-ID: <51118BEC.7000204@oracle.com> Hi, thanks for the updates. Capturing the Client output in a file seems preferable to putting a shell pipeline in backquotes. But, the old code piped both stdout and stderr into grep using 2>&1, whereas the new code redirects only stdout, which is then searched by grep. Was that intentional? I'm not sure whether the error message in question occurs in stdout or stderr. Otherwise, it looks like you've taken care of the common failure modes. It just goes to show how deceptively simple shell programming can be, when in fact catching all the potential errors can be quite tedious. The following discussion is mainly for your information, to consider the next time you decide to write a shell test. :-) I'm not suggesting any action for this changeset. You had mentioned earlier (see thread below) that you needed to compile incompatible versions of the same class. It's indeed difficult to coerce jtreg to do that, so this is the rationale for writing a shell test. It's possible and somewhat hacky to use jtreg for this, though; see http://hg.openjdk.java.net/lambda/lambda/jdk/file/tip/test/java/io/Serializable/defaultSVID/ Basically it uses the @compile tag to compile the first version of the file, then @run with an arg that tells the test to move the generated classfile somewhere, another @compile tag to compile the second version of the file, and finally an @run tag to run the test for real. I don't suggest that you copy this technique. :-) Jon Gibbons suggested invoking the compiler API directly from java instead of writing a shell script. Doing this seems fairly simple, and I think it would be advantageous to keep things entirely in Java. I may attempt to rewrite the defaultSVID test using the compiler API. s'marks On 2/5/13 6:40 AM, Jaroslav Bachorik wrote: > Updates in http://cr.openjdk.java.net/~jbachorik/8005472/webrev.05 > > Comments inline > > On 01/10/2013 10:44 PM, Stuart Marks wrote: >> On 1/10/13 7:20 AM, Jaroslav Bachorik wrote: >>> Update: http://cr.openjdk.java.net/~jbachorik/8005472/webrev.04 >> >> Thanks for the update. >> >> Note, argv[0] is used before argv.length is checked, so if no args are >> passed this gives index out of bounds instead of the usage message. > > It's gone. Shouldn't have been left there anyway. > >> >> I see you take pains to write and flush the URL to stdout before writing >> the signaling file. Good. The obvious alternative (which I started >> writing but then erased) is just to put the URL into the signaling file. >> But this has a race between creation of the file and the writing of its >> contents. So, what you have works. (This kind of rendezvous problem >> occurs a lot; it seems like there ought to be a simpler way.) >> >> I suspect the -e option caused hangs because if something failed, it >> would leave the server running, spoiling the next test run. The usual >> way to deal with this is to use the shell 'trap' statement, to kill >> subprocesses and remove temp files before exiting the shell. Probably a >> good practice in general, but perhaps too much shell hackery for this >> change. (Up to you if you want to tackle it.) > > I would rather not ... > >> >> Regarding how the test is detecting success/failure, the concern is that >> if the client fails for some reason other than the failure being checked >> for, the test will still report passing. Since the error message is >> coming out of the client JVM, in principle it ought to be possible to >> redirect it somehow in order to do the assertion checking in Java. With >> the current shell scheme, not only are other failures reported as the >> test passing, these other failures are erased in the grep pipeline, so >> they're not even visible in the test log. > > I've changed the logic slightly to check for the java process exit > status as well as for the presence of the trigger text in the process > output. This should catch all the regular failures. > > Unfortunately, the way the notification handling is implemented now it > is not really possible to check for the error from within the > application - the error state is captured by the *NotificationForwarder > class and only reported to the logger. > > -JB- > >> >> This last issue is rather far afield from this webrev, and fixing it >> will probably require some rearchitecting of the test. So maybe it >> should be considered independently. I just happened to notice this going >> on, and I noticed the similarity to what's going on in the RMI tests. >> >> s'marks >> >> >> >>> On 01/10/2013 09:52 AM, Stuart Marks wrote: >>>> On 1/7/13 3:23 AM, Jaroslav Bachorik wrote: >>>>> On 01/04/2013 11:37 PM, Kelly O'Hair wrote: >>>>>> I suspect it is not hanging because it does not exist, but that some >>>>>> other windows process has it's hands on it. >>>>>> This is the stdout file from the server being started up right? >>>>>> Could the server from a previous test run be still running? >>>>> >>>>> Exactly. Amy confirmed this and provided a patch which resolves the >>>>> hanging problem. >>>>> >>>>> The update patch is at >>>>> http://cr.openjdk.java.net/~jbachorik/8005472/webrev.01 >>>> >>>> Hi Jaroslav, >>>> >>>> The change to remove the parentheses from around the server program >>>> looks right. It avoids forking an extra process (at least in some >>>> shells) and lets $! refer to the actual JVM, not an intermediate shell >>>> process. The rm -f from Kelly's suggestion is good too. >>>> >>>> But there are other things wrong with the script. I don't think they >>>> could cause hanging, but they could cause the script to fail in >>>> unforeseen ways, or even to report success incorrectly. >>>> >>>> One problem is introduced by the change, where the Server's stderr is >>>> also redirected into $URL_PATH along with stdout. This means that if the >>>> Server program reports any errors, they'll get mixed into the URL_PATH >>>> file instead of appearing in the test log. The URL_PATH file's contents >>>> is never reported, so these error messages will be invisible. >>> >>> Fixed, only the stdout is redirected to $URL_PATH. >>> >>>> >>>> The exit status of some of the critical commands (such as the >>>> compilations) isn't checked, so if javac fails for some reason, the test >>>> might not report failure. Instead, some weird error might or might not >>>> be reported later (though one will still see the javac errors in the >>>> log). >>> >>> Fixed, introduced the check. The "set -e" was hanging the script so I >>> have to check for the exit status manually. >>> >>>> >>>> I don't think the sleep at line 80 is necessary, since the client runs >>>> synchronously and should have exited by this point. >>> >>> And it's gone. >>> >>>> >>>> The wait loop checking for the existence of the URL_PATH file doesn't >>>> actually guarantee that the server is running or has initialized yet. >>>> The file is actually created by the shell before the Server JVM starts >>>> up. Thus, runClient might try to read from it before the server has >>>> written anything to it. Or, as mentioned above, the server might have >>>> written some error messages into the URL_PATH file instead of the >>>> expected contents. Thus, the contents of the JMXURL variable can quite >>>> possibly be incorrect. >>> >>> The err is not redirected to the file. A separate file is used to signal >>> the availability of the server and that file is created from the java >>> code after the server has been started. Also, the err and out streams >>> are flushed to make sure the JMX URL makes it into the file. >>> >>>> >>>> If this occurs, what will happen when the client runs? It may emit some >>>> error message, and this will be filtered out by the grep pipeline. Thus, >>>> HAS_ERRORS might end up empty, and the test will report passing, even >>>> though everything has failed! >>> >>> Shouldn't happen with only the controlled stdout redirected to the file. >>> >>>> >>>> For this changeset I'd recommend at a minimum removing the redirection >>>> of stderr to URL_PATH. If the server fails we'll at least see errors in >>>> the test log. >>>> >>>> For checking the notification message, is there a way to modify the >>>> client to report an exit status or throw an exception? Throwing an >>>> exception from main() will exit the JVM with a nonzero status, so this >>>> can be checked more easily from the script. I think this is less >>>> error-prone than grepping the output for a specific error message. The >>>> test should fail if there is *any* error; it should not succeed if an >>>> expected error is absent. >>> >>> This is unfortunately not possible. The notification processing needs to >>> be robust enough to prevent exiting JVM in cases like this. Therefore it >>> only reports the problem, dumps the notification and carries on. The >>> only place one can find something went wrong is the err stream. >>> >>>> >>>> You might consider having jtreg build the client and server classes. >>>> This might simplify some of the setup. Also, jtreg is meticulous about >>>> aborting the test if any compilations fail, so it takes care of that for >>>> you. >>> >>> I need same name classes with incompatible code compiled to two >>> different locations - client and server. I was not able to figure out >>> how to use jtreg to accomplish that. >>> >>> -JB- >>> >>>> >>>> It would be nice if there were a better way to have the client >>>> rendezvous with the server. I hate to suggest it, but sleeping >>>> unconditionally after starting the server is probably necessary. >>>> Anything more robust probably requires rearchitecting the test, though. >>>> >>>> Sorry to dump all this on you. But one of the shell-based RMI tests >>>> suffers from *exactly* the same pathologies. (I have yet to fix it.) >>>> Unfortunately, I believe that there are a lot of other shell-based tests >>>> in the test suite that have similar problems. The lesson here is that >>>> writing reliable shell tests is a lot harder than it seems. >>>> >>>> Thanks, >>>> >>>> s'marks >>> > From jonathan.gibbons at oracle.com Tue Feb 5 21:56:24 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Wed, 06 Feb 2013 05:56:24 +0000 Subject: hg: jdk8/tl/langtools: 8007485: test creates .class files in the test/ directory Message-ID: <20130206055629.E9CCE47879@hg.openjdk.java.net> Changeset: de932285124c Author: jjg Date: 2013-02-05 21:55 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/de932285124c 8007485: test creates .class files in the test/ directory Reviewed-by: mcimadamore ! test/tools/javac/api/8007344/Test.java From daniel.daugherty at oracle.com Tue Feb 5 21:59:17 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Tue, 05 Feb 2013 22:59:17 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51102336.9000808@oracle.com> References: <510C1DC6.2010607@oracle.com> <51102336.9000808@oracle.com> Message-ID: <5111F135.4070401@oracle.com> Greetings, The JPDA stack testing finished with no new regressions on HSX-23.6, HSX-24 or HSX-25. The HSX-24 version of the fix has been pushed. I've updated the HSX-25 version of the fix due to Karen's comments about the MinimalVM configuration in Code Review Round 1. In this latest round for HSX-25, I've made use of the INCLUDE_JVMTI define to limit the exposure of new tracing code to configurations that include JVM/TI support. The MinimalVM does not support JVM/TI so none of the new code needs to be included there. While I was at it, I also excluded some other JVM/TI RedefineClasses() support code from the MinimalVM config that I hadn't previously touched. In short, none of the functionality has been changed in this round. Just the way it is built or not built has been changed. Here is the URL for the latest HSX-25 webrev: http://cr.openjdk.java.net/~dcubed/7182152-webrev/2-hsx25/ Thanks, in advance, for more comments, suggestions or questions. Dan On 2/4/13 2:08 PM, Daniel D. Daugherty wrote: > Greetings, > > I've updated the fix due to comments in Code Review Round 0. > > Here is a summary of changes made to the various files: > > src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) > src/share/vm/oops/cpCache.cpp (HSX-25) > src/share/vm/oops/klassVtable.cpp > - removed the new RC_TRACE_NO_CR() macro calls at Coleen's request; > these files are outside of JVM/TI RedefineClasses proper so the > tracing/debug style should not be dictated by JVM/TI RedefineClasses > style that is currently in use > - did not touch the existing RC_TRACE... macros in the file; removing > the existing macro calls would be outside the scope of this bug > > src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) > src/share/vm/oops/cpCache.cpp (HSX-25) > - copy a comment from > ConstantPoolCacheEntry::is_interesting_method_entry() > to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries() > > src/share/vm/oops/klassVtable.cpp > - Copied the new comment intended to prevent the "break" from > re-materializing again from klassItable::adjust_method_entries() > to klassVtable::adjust_method_entries(); yes, I'm paranoid. > > In the HSX-25 version only: > src/share/vm/oops/metadata.hpp > - revert changes > > src/share/vm/oops/cpCacheOop.cpp > src/share/vm/oops/klassVtable.cpp > - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate > > Here are the URLs for the updated webrevs: > > http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/ > > The JPDA stack testing that I started on Friday is still running on > WinXP so I'm blocked for checking the recompile due to these changes. > I'll start a recompile on Solaris X86, but that will take some time. > > Thanks, in advance, for more comments, suggestions or questions. > > Dan > > > > On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >> Greetings, >> >> I have a fix for the following JVM/TI bug: >> >> 7182152 Instrumentation hot swap test incorrect monitor count >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >> https://jbs.oracle.com/bugs/browse/JDK-7182152 >> >> The fix for the bug in the product code is one line: >> >> src/share/vm/oops/klassVtable.cpp: >> >> @@ -992,18 +1020,50 @@ >> // RC_TRACE macro has an embedded ResourceMark >> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >> new_method->name()->as_C_string(), >> new_method->signature()->as_C_string())); >> } >> - break; >> + // cannot 'break' here; see for-loop comment above. >> } >> ime++; >> } >> } >> } >> >> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >> already fixed the bug as part of the Perm Gen Removal (PGR) project >> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >> changeset. Many thanks to Coleen for her help in this bug hunt! >> >> The rest of the code in the webrevs are: >> >> - additional JVM/TI tracing code backported from Coleen's PGR changeset >> - additional JVM/TI tracing code added by me and forward ported to >> HSX-25 >> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >> elusive old or obsolete methods >> - exposure of some printing code to the PRODUCT build so that the new >> tracing is available in a PRODUCT build >> >> You might be wondering why the new tracing code is exposed in a PRODUCT >> build. Well, it appears that more and more PRODUCT bits deployments are >> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >> to instrument their systems. This bug (7182152) was only intermittently >> reproducible in the WLS environment in which it occurred so I made the >> tracing available in a PRODUCT build to assist in the hunt. >> >> Raj from the WLS team has also verified that the HSX-23.6 version of >> fix resolves the issue in his environment. Thanks Raj! >> >> Here are the URLs for the three webrevs: >> >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >> >> I have run the following test suites from the JPDA stack on the >> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >> specified: >> >> sdk-jdi >> sdk-jdi_closed >> sdk-jli >> vm-heapdump >> vm-hprof >> vm-jdb >> vm-jdi >> vm-jdwp >> vm-jvmti >> vm-sajdi >> >> The tested configs are: >> >> {Solaris-X86, WinXP} >> X {Client VM, Server VM} >> X {-Xmixed, -Xcomp} >> X {product, fastdebug} >> >> With the 1-liner fix in place, the new tracing code does not find any >> instances of this failure mode in any of the above test suites. Without >> the the 1-liner fix in place, the new tracing code finds one instance >> of this failure mode in the above test suites: >> >> test/java/lang/instrument/IsModifiableClassAgent.java >> >> There are two new tests that will be pushed to the JDK repos using >> a different bug ID (not yet filed): >> >> test/com/sun/jdi/RedefineAbstractClass.sh >> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >> >> There will be a separate review request for the new tests. >> >> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >> take all weekend to complete. >> >> Thanks, in advance, for any comments and/or suggestions. >> >> Dan >> >> >> > > > From jaroslav.bachorik at oracle.com Wed Feb 6 00:01:40 2013 From: jaroslav.bachorik at oracle.com (Jaroslav Bachorik) Date: Wed, 06 Feb 2013 09:01:40 +0100 Subject: jmx-dev [PATCH] JDK-8005472: com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.sh failed on windows In-Reply-To: <51118BEC.7000204@oracle.com> References: <50E16BA8.40203@oracle.com> <682D734D-2021-48DE-844D-C55A52D27EBD@oracle.com> <50EAB014.30805@oracle.com> <50EE813A.1020501@oracle.com> <50EEDC23.5080005@oracle.com> <50EF3622.9050500@oracle.com> <511119DA.5060806@oracle.com> <51118BEC.7000204@oracle.com> Message-ID: <51120DE4.7010300@oracle.com> On 02/05/2013 11:47 PM, Stuart Marks wrote: > Hi, thanks for the updates. > > Capturing the Client output in a file seems preferable to putting a > shell pipeline in backquotes. But, the old code piped both stdout and > stderr into grep using 2>&1, whereas the new code redirects only stdout, > which is then searched by grep. Was that intentional? I'm not sure > whether the error message in question occurs in stdout or stderr. Argh. I missed the redirect :/ Thanks! I will update the webrev shortly. > > Otherwise, it looks like you've taken care of the common failure modes. > It just goes to show how deceptively simple shell programming can be, > when in fact catching all the potential errors can be quite tedious. > > The following discussion is mainly for your information, to consider the > next time you decide to write a shell test. :-) I'm not suggesting any > action for this changeset. > > You had mentioned earlier (see thread below) that you needed to compile > incompatible versions of the same class. It's indeed difficult to coerce > jtreg to do that, so this is the rationale for writing a shell test. > > It's possible and somewhat hacky to use jtreg for this, though; see > > http://hg.openjdk.java.net/lambda/lambda/jdk/file/tip/test/java/io/Serializable/defaultSVID/ > > > Basically it uses the @compile tag to compile the first version of the > file, then @run with an arg that tells the test to move the generated > classfile somewhere, another @compile tag to compile the second version > of the file, and finally an @run tag to run the test for real. > > I don't suggest that you copy this technique. :-) > > Jon Gibbons suggested invoking the compiler API directly from java > instead of writing a shell script. Doing this seems fairly simple, and I > think it would be advantageous to keep things entirely in Java. I may > attempt to rewrite the defaultSVID test using the compiler API. This seems rather feasible. I had just assumed that writing the shell script would have been easier. But apparently wasn't ... Anyway, thanks for going through this extensive review. -JB- > > s'marks > > > On 2/5/13 6:40 AM, Jaroslav Bachorik wrote: >> Updates in http://cr.openjdk.java.net/~jbachorik/8005472/webrev.05 >> >> Comments inline >> >> On 01/10/2013 10:44 PM, Stuart Marks wrote: >>> On 1/10/13 7:20 AM, Jaroslav Bachorik wrote: >>>> Update: http://cr.openjdk.java.net/~jbachorik/8005472/webrev.04 >>> >>> Thanks for the update. >>> >>> Note, argv[0] is used before argv.length is checked, so if no args are >>> passed this gives index out of bounds instead of the usage message. >> >> It's gone. Shouldn't have been left there anyway. >> >>> >>> I see you take pains to write and flush the URL to stdout before writing >>> the signaling file. Good. The obvious alternative (which I started >>> writing but then erased) is just to put the URL into the signaling file. >>> But this has a race between creation of the file and the writing of its >>> contents. So, what you have works. (This kind of rendezvous problem >>> occurs a lot; it seems like there ought to be a simpler way.) >>> >>> I suspect the -e option caused hangs because if something failed, it >>> would leave the server running, spoiling the next test run. The usual >>> way to deal with this is to use the shell 'trap' statement, to kill >>> subprocesses and remove temp files before exiting the shell. Probably a >>> good practice in general, but perhaps too much shell hackery for this >>> change. (Up to you if you want to tackle it.) >> >> I would rather not ... >> >>> >>> Regarding how the test is detecting success/failure, the concern is that >>> if the client fails for some reason other than the failure being checked >>> for, the test will still report passing. Since the error message is >>> coming out of the client JVM, in principle it ought to be possible to >>> redirect it somehow in order to do the assertion checking in Java. With >>> the current shell scheme, not only are other failures reported as the >>> test passing, these other failures are erased in the grep pipeline, so >>> they're not even visible in the test log. >> >> I've changed the logic slightly to check for the java process exit >> status as well as for the presence of the trigger text in the process >> output. This should catch all the regular failures. >> >> Unfortunately, the way the notification handling is implemented now it >> is not really possible to check for the error from within the >> application - the error state is captured by the *NotificationForwarder >> class and only reported to the logger. >> >> -JB- >> >>> >>> This last issue is rather far afield from this webrev, and fixing it >>> will probably require some rearchitecting of the test. So maybe it >>> should be considered independently. I just happened to notice this going >>> on, and I noticed the similarity to what's going on in the RMI tests. >>> >>> s'marks >>> >>> >>> >>>> On 01/10/2013 09:52 AM, Stuart Marks wrote: >>>>> On 1/7/13 3:23 AM, Jaroslav Bachorik wrote: >>>>>> On 01/04/2013 11:37 PM, Kelly O'Hair wrote: >>>>>>> I suspect it is not hanging because it does not exist, but that some >>>>>>> other windows process has it's hands on it. >>>>>>> This is the stdout file from the server being started up right? >>>>>>> Could the server from a previous test run be still running? >>>>>> >>>>>> Exactly. Amy confirmed this and provided a patch which resolves the >>>>>> hanging problem. >>>>>> >>>>>> The update patch is at >>>>>> http://cr.openjdk.java.net/~jbachorik/8005472/webrev.01 >>>>> >>>>> Hi Jaroslav, >>>>> >>>>> The change to remove the parentheses from around the server program >>>>> looks right. It avoids forking an extra process (at least in some >>>>> shells) and lets $! refer to the actual JVM, not an intermediate shell >>>>> process. The rm -f from Kelly's suggestion is good too. >>>>> >>>>> But there are other things wrong with the script. I don't think they >>>>> could cause hanging, but they could cause the script to fail in >>>>> unforeseen ways, or even to report success incorrectly. >>>>> >>>>> One problem is introduced by the change, where the Server's stderr is >>>>> also redirected into $URL_PATH along with stdout. This means that >>>>> if the >>>>> Server program reports any errors, they'll get mixed into the URL_PATH >>>>> file instead of appearing in the test log. The URL_PATH file's >>>>> contents >>>>> is never reported, so these error messages will be invisible. >>>> >>>> Fixed, only the stdout is redirected to $URL_PATH. >>>> >>>>> >>>>> The exit status of some of the critical commands (such as the >>>>> compilations) isn't checked, so if javac fails for some reason, the >>>>> test >>>>> might not report failure. Instead, some weird error might or might not >>>>> be reported later (though one will still see the javac errors in the >>>>> log). >>>> >>>> Fixed, introduced the check. The "set -e" was hanging the script so I >>>> have to check for the exit status manually. >>>> >>>>> >>>>> I don't think the sleep at line 80 is necessary, since the client runs >>>>> synchronously and should have exited by this point. >>>> >>>> And it's gone. >>>> >>>>> >>>>> The wait loop checking for the existence of the URL_PATH file doesn't >>>>> actually guarantee that the server is running or has initialized yet. >>>>> The file is actually created by the shell before the Server JVM starts >>>>> up. Thus, runClient might try to read from it before the server has >>>>> written anything to it. Or, as mentioned above, the server might have >>>>> written some error messages into the URL_PATH file instead of the >>>>> expected contents. Thus, the contents of the JMXURL variable can quite >>>>> possibly be incorrect. >>>> >>>> The err is not redirected to the file. A separate file is used to >>>> signal >>>> the availability of the server and that file is created from the java >>>> code after the server has been started. Also, the err and out streams >>>> are flushed to make sure the JMX URL makes it into the file. >>>> >>>>> >>>>> If this occurs, what will happen when the client runs? It may emit >>>>> some >>>>> error message, and this will be filtered out by the grep pipeline. >>>>> Thus, >>>>> HAS_ERRORS might end up empty, and the test will report passing, even >>>>> though everything has failed! >>>> >>>> Shouldn't happen with only the controlled stdout redirected to the >>>> file. >>>> >>>>> >>>>> For this changeset I'd recommend at a minimum removing the redirection >>>>> of stderr to URL_PATH. If the server fails we'll at least see >>>>> errors in >>>>> the test log. >>>>> >>>>> For checking the notification message, is there a way to modify the >>>>> client to report an exit status or throw an exception? Throwing an >>>>> exception from main() will exit the JVM with a nonzero status, so this >>>>> can be checked more easily from the script. I think this is less >>>>> error-prone than grepping the output for a specific error message. The >>>>> test should fail if there is *any* error; it should not succeed if an >>>>> expected error is absent. >>>> >>>> This is unfortunately not possible. The notification processing >>>> needs to >>>> be robust enough to prevent exiting JVM in cases like this. >>>> Therefore it >>>> only reports the problem, dumps the notification and carries on. The >>>> only place one can find something went wrong is the err stream. >>>> >>>>> >>>>> You might consider having jtreg build the client and server classes. >>>>> This might simplify some of the setup. Also, jtreg is meticulous about >>>>> aborting the test if any compilations fail, so it takes care of >>>>> that for >>>>> you. >>>> >>>> I need same name classes with incompatible code compiled to two >>>> different locations - client and server. I was not able to figure out >>>> how to use jtreg to accomplish that. >>>> >>>> -JB- >>>> >>>>> >>>>> It would be nice if there were a better way to have the client >>>>> rendezvous with the server. I hate to suggest it, but sleeping >>>>> unconditionally after starting the server is probably necessary. >>>>> Anything more robust probably requires rearchitecting the test, >>>>> though. >>>>> >>>>> Sorry to dump all this on you. But one of the shell-based RMI tests >>>>> suffers from *exactly* the same pathologies. (I have yet to fix it.) >>>>> Unfortunately, I believe that there are a lot of other shell-based >>>>> tests >>>>> in the test suite that have similar problems. The lesson here is that >>>>> writing reliable shell tests is a lot harder than it seems. >>>>> >>>>> Thanks, >>>>> >>>>> s'marks >>>> >> From Alan.Bateman at oracle.com Wed Feb 6 02:47:37 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 06 Feb 2013 10:47:37 +0000 Subject: 8007277: JDK-8002048 testcase fails to compile Message-ID: <511234C9.2080108@oracle.com> Dmitry - I realize you might be looking at this already but test/sun/management/jdp/JdpTest.sh is failing on all platforms since it was pushed. We can either put it on the exclude list (ProblemList.txt) or fix it. Since it is trivial to fix then I'd like to do that - attached is the proposed patch. -Alan. diff --git a/test/sun/management/jdp/JdpTest.sh b/test/sun/management/jdp/JdpTest.sh --- a/test/sun/management/jdp/JdpTest.sh +++ b/test/sun/management/jdp/JdpTest.sh @@ -23,7 +23,7 @@ # @test # @bug 7169888 -# @build JdpUnitTest JdpClient JdpDoSomething +# @compile -XDignore.symbol.file JdpUnitTest.java JdpClient.java JdpDoSomething.java # @run shell JdpTest.sh --jtreg --no-compile # @summary No word Failed expected in the test output @@ -55,7 +55,7 @@ rm -f ${_testclasses}/*.class # Compile testcase - ${TESTJAVA}/bin/javac -d ${_testclasses} JdpUnitTest.java \ + ${COMPILEJAVA}/bin/javac -XDignore.symbol.file -d ${_testclasses} JdpUnitTest.java \ JdpDoSomething.java \ JdpClient.java From chris.hegarty at oracle.com Wed Feb 6 03:37:15 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Wed, 06 Feb 2013 11:37:15 +0000 Subject: hg: jdk8/tl: 8007625: race with nested repos in /common/bin/hgforest.sh Message-ID: <20130206113715.E536A47880@hg.openjdk.java.net> Changeset: 8dd61906da5f Author: chegar Date: 2013-02-06 11:36 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/rev/8dd61906da5f 8007625: race with nested repos in /common/bin/hgforest.sh Reviewed-by: dholmes, ohair, ohrstrom ! common/bin/hgforest.sh ! get_source.sh From dmitry.samersoff at oracle.com Wed Feb 6 04:02:52 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Wed, 06 Feb 2013 16:02:52 +0400 Subject: 8007277: JDK-8002048 testcase fails to compile In-Reply-To: <511234C9.2080108@oracle.com> References: <511234C9.2080108@oracle.com> Message-ID: <5112466C.2080304@oracle.com> Alan, Thank you! I plan to fix it shortly. -Dmitry On 2013-02-06 14:47, Alan Bateman wrote: > > Dmitry - I realize you might be looking at this already but > test/sun/management/jdp/JdpTest.sh is failing on all platforms since it > was pushed. We can either put it on the exclude list (ProblemList.txt) > or fix it. Since it is trivial to fix then I'd like to do that - > attached is the proposed patch. > > -Alan. > > diff --git a/test/sun/management/jdp/JdpTest.sh > b/test/sun/management/jdp/JdpTest.sh > --- a/test/sun/management/jdp/JdpTest.sh > +++ b/test/sun/management/jdp/JdpTest.sh > @@ -23,7 +23,7 @@ > > # @test > # @bug 7169888 > -# @build JdpUnitTest JdpClient JdpDoSomething > +# @compile -XDignore.symbol.file JdpUnitTest.java JdpClient.java > JdpDoSomething.java > # @run shell JdpTest.sh --jtreg --no-compile > # @summary No word Failed expected in the test output > > @@ -55,7 +55,7 @@ > rm -f ${_testclasses}/*.class > > # Compile testcase > - ${TESTJAVA}/bin/javac -d ${_testclasses} JdpUnitTest.java \ > + ${COMPILEJAVA}/bin/javac -XDignore.symbol.file -d ${_testclasses} > JdpUnitTest.java \ > JdpDoSomething.java \ > JdpClient.java -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From dmitry.samersoff at oracle.com Wed Feb 6 04:28:54 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Wed, 06 Feb 2013 16:28:54 +0400 Subject: RR(S) Re: 8007277: JDK-8002048 testcase fails to compile In-Reply-To: <511234C9.2080108@oracle.com> References: <511234C9.2080108@oracle.com> Message-ID: <51124C86.6060600@oracle.com> Hi Everyone, Please review the fix: http://cr.openjdk.java.net/~dsamersoff/8007277.JDP-TEST/webrev.01/jdk/ -Dmitry On 2013-02-06 14:47, Alan Bateman wrote: > > Dmitry - I realize you might be looking at this already but > test/sun/management/jdp/JdpTest.sh is failing on all platforms since it > was pushed. We can either put it on the exclude list (ProblemList.txt) > or fix it. Since it is trivial to fix then I'd like to do that - > attached is the proposed patch. > > -Alan. > > diff --git a/test/sun/management/jdp/JdpTest.sh > b/test/sun/management/jdp/JdpTest.sh > --- a/test/sun/management/jdp/JdpTest.sh > +++ b/test/sun/management/jdp/JdpTest.sh > @@ -23,7 +23,7 @@ > > # @test > # @bug 7169888 > -# @build JdpUnitTest JdpClient JdpDoSomething > +# @compile -XDignore.symbol.file JdpUnitTest.java JdpClient.java > JdpDoSomething.java > # @run shell JdpTest.sh --jtreg --no-compile > # @summary No word Failed expected in the test output > > @@ -55,7 +55,7 @@ > rm -f ${_testclasses}/*.class > > # Compile testcase > - ${TESTJAVA}/bin/javac -d ${_testclasses} JdpUnitTest.java \ > + ${COMPILEJAVA}/bin/javac -XDignore.symbol.file -d ${_testclasses} > JdpUnitTest.java \ > JdpDoSomething.java \ > JdpClient.java -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From Alan.Bateman at oracle.com Wed Feb 6 04:35:34 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 06 Feb 2013 12:35:34 +0000 Subject: RR(S) Re: 8007277: JDK-8002048 testcase fails to compile In-Reply-To: <51124C86.6060600@oracle.com> References: <511234C9.2080108@oracle.com> <51124C86.6060600@oracle.com> Message-ID: <51124E16.4060200@oracle.com> On 06/02/2013 12:28, Dmitry Samersoff wrote: > Hi Everyone, > > Please review the fix: > > http://cr.openjdk.java.net/~dsamersoff/8007277.JDP-TEST/webrev.01/jdk/ > > -Dmitry > > This looks fine to me (and good to get this one fixed as it is failing everywhere since the original changes were pushed). -Alan From dmitry.samersoff at oracle.com Wed Feb 6 04:55:07 2013 From: dmitry.samersoff at oracle.com (dmitry.samersoff at oracle.com) Date: Wed, 06 Feb 2013 12:55:07 +0000 Subject: hg: jdk8/tl/jdk: 8007277: JDK-8002048 testcase fails to compile Message-ID: <20130206125528.1ADF547884@hg.openjdk.java.net> Changeset: 0e7d5dd84fdf Author: dsamersoff Date: 2013-02-06 16:53 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0e7d5dd84fdf 8007277: JDK-8002048 testcase fails to compile Summary: sun.* classes is not included to ct.sym file and symbol file have to be ignored Reviewed-by: alanb ! test/sun/management/jdp/JdpTest.sh From daniel.daugherty at oracle.com Wed Feb 6 06:05:43 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 06 Feb 2013 07:05:43 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51125DA6.4040302@oracle.com> References: <510C1DC6.2010607@oracle.com> <51102336.9000808@oracle.com> <5111F135.4070401@oracle.com> <51125DA6.4040302@oracle.com> Message-ID: <51126337.60600@oracle.com> Adding other alias and people back onto the thread... Thanks for the re-review! On 2/6/13 6:41 AM, Coleen Phillimore wrote: > > This is good that you added the INCLUDE_JVMTI. I didn't think it'd > add that much space, but it a good change. I didn't think it would add much space either, but... It gave me a chance to check out the MinimalVM stuff a bit and it serves to identify those pieces of code as being associated with JVM/TI. Karen and Serguei, when you get the chance, please re-review. Again, thanks for the re-review! Dan > Thumbs up! > Coleen > > On 2/6/2013 12:59 AM, Daniel D. Daugherty wrote: >> Greetings, >> >> The JPDA stack testing finished with no new regressions on HSX-23.6, >> HSX-24 or HSX-25. The HSX-24 version of the fix has been pushed. >> >> I've updated the HSX-25 version of the fix due to Karen's comments >> about the MinimalVM configuration in Code Review Round 1. In this >> latest round for HSX-25, I've made use of the INCLUDE_JVMTI define >> to limit the exposure of new tracing code to configurations that >> include JVM/TI support. The MinimalVM does not support JVM/TI so >> none of the new code needs to be included there. While I was at it, >> I also excluded some other JVM/TI RedefineClasses() support code >> from the MinimalVM config that I hadn't previously touched. >> >> In short, none of the functionality has been changed in this round. >> Just the way it is built or not built has been changed. >> >> Here is the URL for the latest HSX-25 webrev: >> >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/2-hsx25/ >> >> Thanks, in advance, for more comments, suggestions or questions. >> >> Dan >> >> >> On 2/4/13 2:08 PM, Daniel D. Daugherty wrote: >>> Greetings, >>> >>> I've updated the fix due to comments in Code Review Round 0. >>> >>> Here is a summary of changes made to the various files: >>> >>> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >>> src/share/vm/oops/cpCache.cpp (HSX-25) >>> src/share/vm/oops/klassVtable.cpp >>> - removed the new RC_TRACE_NO_CR() macro calls at Coleen's request; >>> these files are outside of JVM/TI RedefineClasses proper so the >>> tracing/debug style should not be dictated by JVM/TI >>> RedefineClasses >>> style that is currently in use >>> - did not touch the existing RC_TRACE... macros in the file; removing >>> the existing macro calls would be outside the scope of this bug >>> >>> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >>> src/share/vm/oops/cpCache.cpp (HSX-25) >>> - copy a comment from >>> ConstantPoolCacheEntry::is_interesting_method_entry() >>> to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries() >>> >>> src/share/vm/oops/klassVtable.cpp >>> - Copied the new comment intended to prevent the "break" from >>> re-materializing again from klassItable::adjust_method_entries() >>> to klassVtable::adjust_method_entries(); yes, I'm paranoid. >>> >>> In the HSX-25 version only: >>> src/share/vm/oops/metadata.hpp >>> - revert changes >>> >>> src/share/vm/oops/cpCacheOop.cpp >>> src/share/vm/oops/klassVtable.cpp >>> - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate >>> >>> Here are the URLs for the updated webrevs: >>> >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/ >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/ >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/ >>> >>> The JPDA stack testing that I started on Friday is still running on >>> WinXP so I'm blocked for checking the recompile due to these changes. >>> I'll start a recompile on Solaris X86, but that will take some time. >>> >>> Thanks, in advance, for more comments, suggestions or questions. >>> >>> Dan >>> >>> >>> >>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>> Greetings, >>>> >>>> I have a fix for the following JVM/TI bug: >>>> >>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>> >>>> The fix for the bug in the product code is one line: >>>> >>>> src/share/vm/oops/klassVtable.cpp: >>>> >>>> @@ -992,18 +1020,50 @@ >>>> // RC_TRACE macro has an embedded ResourceMark >>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>> new_method->name()->as_C_string(), >>>> new_method->signature()->as_C_string())); >>>> } >>>> - break; >>>> + // cannot 'break' here; see for-loop comment above. >>>> } >>>> ime++; >>>> } >>>> } >>>> } >>>> >>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>> >>>> The rest of the code in the webrevs are: >>>> >>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>> changeset >>>> - additional JVM/TI tracing code added by me and forward ported to >>>> HSX-25 >>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>> elusive old or obsolete methods >>>> - exposure of some printing code to the PRODUCT build so that the new >>>> tracing is available in a PRODUCT build >>>> >>>> You might be wondering why the new tracing code is exposed in a >>>> PRODUCT >>>> build. Well, it appears that more and more PRODUCT bits deployments >>>> are >>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >>>> to instrument their systems. This bug (7182152) was only >>>> intermittently >>>> reproducible in the WLS environment in which it occurred so I made the >>>> tracing available in a PRODUCT build to assist in the hunt. >>>> >>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>> fix resolves the issue in his environment. Thanks Raj! >>>> >>>> Here are the URLs for the three webrevs: >>>> >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>> >>>> I have run the following test suites from the JPDA stack on the >>>> JDK7u10/HSX-23.6 version of the fix with >>>> -XX:TraceRedefineClasses=16384 >>>> specified: >>>> >>>> sdk-jdi >>>> sdk-jdi_closed >>>> sdk-jli >>>> vm-heapdump >>>> vm-hprof >>>> vm-jdb >>>> vm-jdi >>>> vm-jdwp >>>> vm-jvmti >>>> vm-sajdi >>>> >>>> The tested configs are: >>>> >>>> {Solaris-X86, WinXP} >>>> X {Client VM, Server VM} >>>> X {-Xmixed, -Xcomp} >>>> X {product, fastdebug} >>>> >>>> With the 1-liner fix in place, the new tracing code does not find any >>>> instances of this failure mode in any of the above test suites. >>>> Without >>>> the the 1-liner fix in place, the new tracing code finds one instance >>>> of this failure mode in the above test suites: >>>> >>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>> >>>> There are two new tests that will be pushed to the JDK repos using >>>> a different bug ID (not yet filed): >>>> >>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>> >>>> There will be a separate review request for the new tests. >>>> >>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>> take all weekend to complete. >>>> >>>> Thanks, in advance, for any comments and/or suggestions. >>>> >>>> Dan >>>> >>>> >>>> >>> >>> >>> >> > From dmitry.samersoff at oracle.com Wed Feb 6 06:05:38 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Wed, 06 Feb 2013 18:05:38 +0400 Subject: RR(S): 8007536 Incorrect copyright header in JDP files Message-ID: <51126332.3060405@oracle.com> Hi Everyone, Please, review this, copyright-only fix http://cr.openjdk.java.net/~dsamersoff/8007536.JDP-COPYRIGHT/webrev.01/jdk/ -Dmitry -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From maurizio.cimadamore at oracle.com Wed Feb 6 06:05:34 2013 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 06 Feb 2013 14:05:34 +0000 Subject: hg: jdk8/tl/langtools: 2 new changesets Message-ID: <20130206140542.3C41747886@hg.openjdk.java.net> Changeset: 1df20330f6bd Author: mcimadamore Date: 2013-02-06 14:03 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/1df20330f6bd 8007463: Cleanup inference related classes Summary: Make Infer.InferenceContext an inner class; adjust bound replacement logic in Type.UndetVar Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/code/Types.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/DeferredAttr.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/util/List.java ! test/tools/javac/generics/inference/7154127/T7154127.out ! test/tools/javac/lib/DPrinter.java Changeset: 8cdd96f2fdb9 Author: mcimadamore Date: 2013-02-06 14:04 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/8cdd96f2fdb9 8007479: Refactor DeferredAttrContext so that it points to parent context Summary: Move DeferredAttrNode out of DeferredAttrContext; add support for nested deferred contexts Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java From yekaterina.kantserova at oracle.com Wed Feb 6 07:40:23 2013 From: yekaterina.kantserova at oracle.com (Yekaterina Kantserova) Date: Wed, 06 Feb 2013 16:40:23 +0100 Subject: RFR (S) 8007142: Add utility classes for writing better multiprocess tests in jtreg In-Reply-To: <5110F304.4080602@oracle.com> References: <510BB12C.2030802@oracle.com> <510BB5CC.6050604@oracle.com> <510BC3E0.6020107@oracle.com> <510BCF1B.3010704@oracle.com> <510BD9EF.1050202@oracle.com> <510BDCAA.1080909@oracle.com> <510F8E6C.2090301@oracle.com> <510F9393.8080509@oracle.com> <510F9596.8060503@oracle.com> <510FB531.8040407@oracle.com> <5110E434.40600@oracle.com> <5110F304.4080602@oracle.com> Message-ID: <51127967.6040908@oracle.com> Alan, thanks for the review! // Katja On 02/05/2013 12:54 PM, Alan Bateman wrote: > On 05/02/2013 10:51, Yekaterina Kantserova wrote: >> On 02/04/2013 02:18 PM, Alan Bateman wrote: >>> On 04/02/2013 11:03, Yekaterina Kantserova wrote: >>>> >>>> But JDKToolFinder.getJDKTool is used even for finding java, e.g. I >>>> need to fork a java process - JDKToolFinder.getJDKTool("java") for >>>> some JRE tests? >>> It might be better to rename JDKToolFinder to something like >>> JdkFinder and have it define getJavaLauncher() and getTool(String >>> tool) methods. >> I think it's good idea to separate java launcher and tools. Here is >> the new JdkFinder: >> http://cr.openjdk.java.net/~ykantser/8007142/webrev.02/test/lib/testlibrary/jdk/testlibrary/JdkFinder.java.html. >> It now possible to retrieve java/tools both from the test.jdk and >> compile.jdk. >> >>> If you don't agree then you could at least change >>> ProcessTools.createJavaProcessBuilder so that it looks like "java" >>> in the JDK/JRE under test. >>> >> JDKToolFinder.getJDKTool("java") became JdkFinder.getJavaLauncher in >> the createJavaProcessBuilder >> (http://cr.openjdk.java.net/~ykantser/8007142/webrev.02/test/lib/testlibrary/jdk/testlibrary/ProcessTools.java.html). >>> -Alan. >> > It looks right to me now. > > -Alan -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130206/416a56c8/attachment.html From mandy.chung at oracle.com Wed Feb 6 07:50:59 2013 From: mandy.chung at oracle.com (Mandy Chung) Date: Wed, 06 Feb 2013 07:50:59 -0800 Subject: 8007277: JDK-8002048 testcase fails to compile In-Reply-To: <511234C9.2080108@oracle.com> References: <511234C9.2080108@oracle.com> Message-ID: <51127BE3.1080605@oracle.com> On 2/6/2013 2:47 AM, Alan Bateman wrote: > > diff --git a/test/sun/management/jdp/JdpTest.sh > b/test/sun/management/jdp/JdpTest.sh > --- a/test/sun/management/jdp/JdpTest.sh > +++ b/test/sun/management/jdp/JdpTest.sh > @@ -23,7 +23,7 @@ > > # @test > # @bug 7169888 > -# @build JdpUnitTest JdpClient JdpDoSomething > +# @compile -XDignore.symbol.file JdpUnitTest.java JdpClient.java > JdpDoSomething.java > # @run shell JdpTest.sh --jtreg --no-compile > # @summary No word Failed expected in the test output > > @@ -55,7 +55,7 @@ > rm -f ${_testclasses}/*.class > > # Compile testcase > - ${TESTJAVA}/bin/javac -d ${_testclasses} JdpUnitTest.java \ > + ${COMPILEJAVA}/bin/javac -XDignore.symbol.file -d ${_testclasses} > JdpUnitTest.java \ > JdpDoSomething.java \ > JdpClient.java The fix itself looks good. This question is more for the original test: Is @compile line needed? Is $_testclasses same as $TESTCLASSES? Mandy From jonathan.gibbons at oracle.com Wed Feb 6 07:49:53 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Wed, 06 Feb 2013 15:49:53 +0000 Subject: hg: jdk8/tl/langtools: 8007566: DocLint too aggressive with not allowed here:

Message-ID: <20130206154958.3AFE04788A@hg.openjdk.java.net> Changeset: 153d20d0cac5 Author: jjg Date: 2013-02-06 07:49 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/153d20d0cac5 8007566: DocLint too aggressive with not allowed here:

Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/doclint/Checker.java + test/tools/doclint/ParaTagTest.java From dmitry.samersoff at oracle.com Wed Feb 6 07:58:43 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Wed, 06 Feb 2013 19:58:43 +0400 Subject: 8007277: JDK-8002048 testcase fails to compile In-Reply-To: <51127BE3.1080605@oracle.com> References: <511234C9.2080108@oracle.com> <51127BE3.1080605@oracle.com> Message-ID: <51127DB3.10502@oracle.com> Mandy, The test designed to leave as much as possible to JTReg but work without JTRreg as well. so if test run under JTReg, --no-compile option used and test is compiled by JTReg it requires both @compile header tag and explicit compilation code. Actual changes contains a comment explaining it. _testclasses variable points to ${TESTCLASSES} under JTreg or to `pwd`/.classes directory common for all my tests, if run standalone. -Dmitry On 2013-02-06 19:50, Mandy Chung wrote: > > On 2/6/2013 2:47 AM, Alan Bateman wrote: >> >> diff --git a/test/sun/management/jdp/JdpTest.sh >> b/test/sun/management/jdp/JdpTest.sh >> --- a/test/sun/management/jdp/JdpTest.sh >> +++ b/test/sun/management/jdp/JdpTest.sh >> @@ -23,7 +23,7 @@ >> >> # @test >> # @bug 7169888 >> -# @build JdpUnitTest JdpClient JdpDoSomething >> +# @compile -XDignore.symbol.file JdpUnitTest.java JdpClient.java >> JdpDoSomething.java >> # @run shell JdpTest.sh --jtreg --no-compile >> # @summary No word Failed expected in the test output >> >> @@ -55,7 +55,7 @@ >> rm -f ${_testclasses}/*.class >> >> # Compile testcase >> - ${TESTJAVA}/bin/javac -d ${_testclasses} JdpUnitTest.java \ >> + ${COMPILEJAVA}/bin/javac -XDignore.symbol.file -d ${_testclasses} >> JdpUnitTest.java \ >> JdpDoSomething.java \ >> JdpClient.java > > The fix itself looks good. This question is more for the original test: > Is @compile line needed? Is $_testclasses same as $TESTCLASSES? > > Mandy -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From mike.duigou at oracle.com Wed Feb 6 11:10:06 2013 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Wed, 06 Feb 2013 19:10:06 +0000 Subject: hg: jdk8/tl: 8004726: Link bug ids to jbs rather than monaco. Message-ID: <20130206191006.2B1DB47894@hg.openjdk.java.net> Changeset: 168dd033604a Author: mduigou Date: 2013-02-06 11:09 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/168dd033604a 8004726: Link bug ids to jbs rather than monaco. Reviewed-by: ohair, chegar, katleman ! make/scripts/webrev.ksh From lance.andersen at oracle.com Wed Feb 6 11:15:39 2013 From: lance.andersen at oracle.com (lance.andersen at oracle.com) Date: Wed, 06 Feb 2013 19:15:39 +0000 Subject: hg: jdk8/tl/jdk: 8006505: additional changes for JSR 310 support Message-ID: <20130206191600.8C06347896@hg.openjdk.java.net> Changeset: 1574fa3df1c0 Author: lancea Date: 2013-02-06 14:15 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1574fa3df1c0 8006505: additional changes for JSR 310 support Reviewed-by: naoto, ulfzibis ! src/share/classes/java/sql/JDBCType.java ! src/share/classes/java/sql/SQLInput.java ! src/share/classes/java/sql/SQLOutput.java ! src/share/classes/java/sql/Types.java From karen.kinnear at oracle.com Wed Feb 6 11:54:51 2013 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Wed, 6 Feb 2013 14:54:51 -0500 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51126337.60600@oracle.com> References: <510C1DC6.2010607@oracle.com> <51102336.9000808@oracle.com> <5111F135.4070401@oracle.com> <51125DA6.4040302@oracle.com> <51126337.60600@oracle.com> Message-ID: <43393816-C454-4502-A229-0D6E117083F6@oracle.com> Thank you Dan - this is much better and sets a good model for the rest of us. thanks, Karen On Feb 6, 2013, at 9:05 AM, Daniel D. Daugherty wrote: > Adding other alias and people back onto the thread... > > Thanks for the re-review! > > > On 2/6/13 6:41 AM, Coleen Phillimore wrote: >> >> This is good that you added the INCLUDE_JVMTI. I didn't think it'd add that much space, but it a good change. > > I didn't think it would add much space either, but... > > It gave me a chance to check out the MinimalVM stuff a bit and > it serves to identify those pieces of code as being associated > with JVM/TI. > > Karen and Serguei, when you get the chance, please re-review. > > Again, thanks for the re-review! > > Dan > > >> Thumbs up! >> Coleen >> >> On 2/6/2013 12:59 AM, Daniel D. Daugherty wrote: >>> Greetings, >>> >>> The JPDA stack testing finished with no new regressions on HSX-23.6, >>> HSX-24 or HSX-25. The HSX-24 version of the fix has been pushed. >>> >>> I've updated the HSX-25 version of the fix due to Karen's comments >>> about the MinimalVM configuration in Code Review Round 1. In this >>> latest round for HSX-25, I've made use of the INCLUDE_JVMTI define >>> to limit the exposure of new tracing code to configurations that >>> include JVM/TI support. The MinimalVM does not support JVM/TI so >>> none of the new code needs to be included there. While I was at it, >>> I also excluded some other JVM/TI RedefineClasses() support code >>> from the MinimalVM config that I hadn't previously touched. >>> >>> In short, none of the functionality has been changed in this round. >>> Just the way it is built or not built has been changed. >>> >>> Here is the URL for the latest HSX-25 webrev: >>> >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/2-hsx25/ >>> >>> Thanks, in advance, for more comments, suggestions or questions. >>> >>> Dan >>> >>> >>> On 2/4/13 2:08 PM, Daniel D. Daugherty wrote: >>>> Greetings, >>>> >>>> I've updated the fix due to comments in Code Review Round 0. >>>> >>>> Here is a summary of changes made to the various files: >>>> >>>> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >>>> src/share/vm/oops/cpCache.cpp (HSX-25) >>>> src/share/vm/oops/klassVtable.cpp >>>> - removed the new RC_TRACE_NO_CR() macro calls at Coleen's request; >>>> these files are outside of JVM/TI RedefineClasses proper so the >>>> tracing/debug style should not be dictated by JVM/TI RedefineClasses >>>> style that is currently in use >>>> - did not touch the existing RC_TRACE... macros in the file; removing >>>> the existing macro calls would be outside the scope of this bug >>>> >>>> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >>>> src/share/vm/oops/cpCache.cpp (HSX-25) >>>> - copy a comment from ConstantPoolCacheEntry::is_interesting_method_entry() >>>> to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries() >>>> >>>> src/share/vm/oops/klassVtable.cpp >>>> - Copied the new comment intended to prevent the "break" from >>>> re-materializing again from klassItable::adjust_method_entries() >>>> to klassVtable::adjust_method_entries(); yes, I'm paranoid. >>>> >>>> In the HSX-25 version only: >>>> src/share/vm/oops/metadata.hpp >>>> - revert changes >>>> >>>> src/share/vm/oops/cpCacheOop.cpp >>>> src/share/vm/oops/klassVtable.cpp >>>> - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate >>>> >>>> Here are the URLs for the updated webrevs: >>>> >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/ >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/ >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/ >>>> >>>> The JPDA stack testing that I started on Friday is still running on >>>> WinXP so I'm blocked for checking the recompile due to these changes. >>>> I'll start a recompile on Solaris X86, but that will take some time. >>>> >>>> Thanks, in advance, for more comments, suggestions or questions. >>>> >>>> Dan >>>> >>>> >>>> >>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>> Greetings, >>>>> >>>>> I have a fix for the following JVM/TI bug: >>>>> >>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>> >>>>> The fix for the bug in the product code is one line: >>>>> >>>>> src/share/vm/oops/klassVtable.cpp: >>>>> >>>>> @@ -992,18 +1020,50 @@ >>>>> // RC_TRACE macro has an embedded ResourceMark >>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>> new_method->name()->as_C_string(), >>>>> new_method->signature()->as_C_string())); >>>>> } >>>>> - break; >>>>> + // cannot 'break' here; see for-loop comment above. >>>>> } >>>>> ime++; >>>>> } >>>>> } >>>>> } >>>>> >>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>> >>>>> The rest of the code in the webrevs are: >>>>> >>>>> - additional JVM/TI tracing code backported from Coleen's PGR changeset >>>>> - additional JVM/TI tracing code added by me and forward ported to HSX-25 >>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>> elusive old or obsolete methods >>>>> - exposure of some printing code to the PRODUCT build so that the new >>>>> tracing is available in a PRODUCT build >>>>> >>>>> You might be wondering why the new tracing code is exposed in a PRODUCT >>>>> build. Well, it appears that more and more PRODUCT bits deployments are >>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >>>>> to instrument their systems. This bug (7182152) was only intermittently >>>>> reproducible in the WLS environment in which it occurred so I made the >>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>> >>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>> fix resolves the issue in his environment. Thanks Raj! >>>>> >>>>> Here are the URLs for the three webrevs: >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>> >>>>> I have run the following test suites from the JPDA stack on the >>>>> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >>>>> specified: >>>>> >>>>> sdk-jdi >>>>> sdk-jdi_closed >>>>> sdk-jli >>>>> vm-heapdump >>>>> vm-hprof >>>>> vm-jdb >>>>> vm-jdi >>>>> vm-jdwp >>>>> vm-jvmti >>>>> vm-sajdi >>>>> >>>>> The tested configs are: >>>>> >>>>> {Solaris-X86, WinXP} >>>>> X {Client VM, Server VM} >>>>> X {-Xmixed, -Xcomp} >>>>> X {product, fastdebug} >>>>> >>>>> With the 1-liner fix in place, the new tracing code does not find any >>>>> instances of this failure mode in any of the above test suites. Without >>>>> the the 1-liner fix in place, the new tracing code finds one instance >>>>> of this failure mode in the above test suites: >>>>> >>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>> >>>>> There are two new tests that will be pushed to the JDK repos using >>>>> a different bug ID (not yet filed): >>>>> >>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>> >>>>> There will be a separate review request for the new tests. >>>>> >>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>> take all weekend to complete. >>>>> >>>>> Thanks, in advance, for any comments and/or suggestions. >>>>> >>>>> Dan >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >> > From daniel.daugherty at oracle.com Wed Feb 6 12:08:03 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 06 Feb 2013 13:08:03 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510C55DF.3000002@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> Message-ID: <5112B823.4040502@oracle.com> Greetings, I've revised the tests based on Coleen's and Serguei's feedback in Code Review Round 0. Here is the URL for the webrev for Code Review Round 1: http://cr.openjdk.java.net/~dcubed/8007420-webrev/1-jdk8-tl/ Summary of the changes: - RedefineAbstractClass.sh - cleaned up the header comment - RedefineAbstractClass.sh - more clear description of what's being tested - add comments describing what the guarantee failure looks like - add checks for proper pre-RedefineClasses output - add checks for proper post-RedefineClasses output - RedefineSubclassWithTwoInterfacesApp.java - RedefineSubclassWithTwoInterfacesRemote.java - refactor the test app's echo() method call into echo1() and echo2() so it is easier to check for the failure mode - RedefineSubclassWithTwoInterfacesImpl.java - RedefineSubclassWithTwoInterfacesImpl_1.java - add comment to explain why these sources are identical Diffs are below since the webrev above is relative to JDK8-T&L and everything is "new". Dan Here are diffs (ignoring whitespace) to make it clear what has changed between Code Review Round 0 and Code Review Round 1: $ diff -w test/com/sun/jdi/RedefineAbstractClass.sh{.cr0,} 31a32 > # @author Daniel D. Daugherty $ diff -w test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr0,} 26c26,27 < # @summary Redefining a subclass that implements two interfaces is broken. --- > # @summary Redefine a subclass that implements two interfaces and > # verify that the right methods are called. 101a103,104 > > echo "INFO: " 102a106,107 > echo "INFO: " > 108,112c113,127 < MESG="guarantee" < grep "$MESG" output.log < result=$? < if [ "$result" = 0 ]; then < echo "FAIL: found '$MESG' in the test output" --- > # When this bug manifests, RedefineClasses() will fail to update > # one of the itable entries to refer to the new method. The log > # will include the following line when the bug occurs: > # > # guarantee(false) failed: OLD and/or OBSOLETE method(s) found > # > # If this guarantee happens, the test should fail in the status > # check above, but just in case it doesn't, we check for "guarantee". > # > > FAIL_MESG="guarantee" > grep "$FAIL_MESG" output.log > status=$? > if [ "$status" = 0 ]; then > echo "FAIL: found '$FAIL_MESG' in the test output." 115c130,131 < echo "PASS: did NOT find '$MESG' in the test output" --- > echo "INFO: did NOT find '$FAIL_MESG' in the test output." > # be optimistic here 118a135,164 > PASS1_MESG="before any redefines" > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` > case "$cnt" in > 2) > echo "INFO: found 2 version-0 '$PASS1_MESG' mesgs." > ;; > *) > echo "FAIL: did NOT find 2 version-0 '$PASS1_MESG' mesgs." > echo "INFO: grep '$PASS1_MESG' output:" > grep "$PASS1_MESG" output.log > result=1 > esac > > PASS2_MESG="after redefine" > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` > case "$cnt" in > 2) > echo "INFO: found 2 version-1 '$PASS2_MESG' mesgs." > ;; > *) > echo "FAIL: did NOT find 2 version-1 '$PASS2_MESG' mesgs." > echo "INFO: grep '$PASS2_MESG' output:" > grep "$PASS2_MESG" output.log > result=1 > esac > > if [ "$result" = 0 ]; then > echo "PASS: test passed both positive and negative output checks." > fi > $ diff test/java/lang/instrument/RedefineSubclassWithTwoInterfacesApp.java{.cr0,} 43,45c43,45 < // make an echo() call before any redefinitions: < mesg = remote.echo("test message #0"); < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" --- > // make echo() calls before any redefinitions: > mesg = remote.echo1("test message #1.1"); > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 mesg='" 46a47,49 > mesg = remote.echo2("test message #2.1"); > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 mesg='" > + mesg + "' before any redefines"); 54,56c57,62 < mesg = remote.echo("test message #1"); < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" < + mesg + "' after redefine #1"); --- > mesg = remote.echo1("test message #1.2"); > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 mesg='" > + mesg + "' after redefine"); > mesg = remote.echo2("test message #2.2"); > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 mesg='" > + mesg + "' after redefine"); $ diff test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java{.cr0,} 23a24,27 > // Reproducing this bug only requires an EMCP version of the > // RedefineSubclassWithTwoInterfacesImpl class so > // RedefineSubclassWithTwoInterfacesImpl.java and > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. $ diff test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java{.cr0,} 23a24,27 > // Reproducing this bug only requires an EMCP version of the > // RedefineSubclassWithTwoInterfacesImpl class so > // RedefineSubclassWithTwoInterfacesImpl.java and > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. $ diff test/java/lang/instrument/RedefineSubclassWithTwoInterfacesRemote.java{.cr0,} 40,41c40,41 < public String echo(String s) { < return "intf1<" + intf1.echo(s) + "> intf2< " + intf2.echo(s) + ">"; --- > public String echo1(String s) { > return "intf1<" + intf1.echo(s) + ">"; 42a43,46 > > public String echo2(String s) { > return "intf2<" + intf2.echo(s) + ">"; > } On 2/1/13 4:55 PM, Daniel D. Daugherty wrote: > And here is the webrev for the new tests (relative to JDK8-T&L): > > http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ > > As always, comments and suggestions are welcome. > > Dan > > > On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >> > There are two new tests that will be pushed to the JDK repos using >> > a different bug ID (not yet filed): >> >> New bug is now filed: >> >> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >> to java/lang/instrument >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >> https://jbs.oracle.com/bugs/browse/JDK-8007420 >> >> Of course, the tests cannot be pushed until the HSX changes have made >> it into a promoted build and thus available to JDK8-T&L. >> >> Dan >> >> >> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>> Greetings, >>> >>> I have a fix for the following JVM/TI bug: >>> >>> 7182152 Instrumentation hot swap test incorrect monitor count >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>> >>> The fix for the bug in the product code is one line: >>> >>> src/share/vm/oops/klassVtable.cpp: >>> >>> @@ -992,18 +1020,50 @@ >>> // RC_TRACE macro has an embedded ResourceMark >>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>> new_method->name()->as_C_string(), >>> new_method->signature()->as_C_string())); >>> } >>> - break; >>> + // cannot 'break' here; see for-loop comment above. >>> } >>> ime++; >>> } >>> } >>> } >>> >>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>> changeset. Many thanks to Coleen for her help in this bug hunt! >>> >>> The rest of the code in the webrevs are: >>> >>> - additional JVM/TI tracing code backported from Coleen's PGR changeset >>> - additional JVM/TI tracing code added by me and forward ported to >>> HSX-25 >>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>> elusive old or obsolete methods >>> - exposure of some printing code to the PRODUCT build so that the new >>> tracing is available in a PRODUCT build >>> >>> You might be wondering why the new tracing code is exposed in a PRODUCT >>> build. Well, it appears that more and more PRODUCT bits deployments are >>> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >>> to instrument their systems. This bug (7182152) was only intermittently >>> reproducible in the WLS environment in which it occurred so I made the >>> tracing available in a PRODUCT build to assist in the hunt. >>> >>> Raj from the WLS team has also verified that the HSX-23.6 version of >>> fix resolves the issue in his environment. Thanks Raj! >>> >>> Here are the URLs for the three webrevs: >>> >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>> >>> I have run the following test suites from the JPDA stack on the >>> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >>> specified: >>> >>> sdk-jdi >>> sdk-jdi_closed >>> sdk-jli >>> vm-heapdump >>> vm-hprof >>> vm-jdb >>> vm-jdi >>> vm-jdwp >>> vm-jvmti >>> vm-sajdi >>> >>> The tested configs are: >>> >>> {Solaris-X86, WinXP} >>> X {Client VM, Server VM} >>> X {-Xmixed, -Xcomp} >>> X {product, fastdebug} >>> >>> With the 1-liner fix in place, the new tracing code does not find any >>> instances of this failure mode in any of the above test suites. Without >>> the the 1-liner fix in place, the new tracing code finds one instance >>> of this failure mode in the above test suites: >>> >>> test/java/lang/instrument/IsModifiableClassAgent.java >>> >>> There are two new tests that will be pushed to the JDK repos using >>> a different bug ID (not yet filed): >>> >>> test/com/sun/jdi/RedefineAbstractClass.sh >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>> >>> There will be a separate review request for the new tests. >>> >>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>> take all weekend to complete. >>> >>> Thanks, in advance, for any comments and/or suggestions. >>> >>> Dan >>> >>> >>> >> >> >> > > > From daniel.daugherty at oracle.com Wed Feb 6 12:09:00 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 06 Feb 2013 13:09:00 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <43393816-C454-4502-A229-0D6E117083F6@oracle.com> References: <510C1DC6.2010607@oracle.com> <51102336.9000808@oracle.com> <5111F135.4070401@oracle.com> <51125DA6.4040302@oracle.com> <51126337.60600@oracle.com> <43393816-C454-4502-A229-0D6E117083F6@oracle.com> Message-ID: <5112B85C.2000306@oracle.com> Karen, Thanks for the re-review! Serguei, just waiting for you to chime in!! Dan On 2/6/13 12:54 PM, Karen Kinnear wrote: > Thank you Dan - this is much better and sets a good model for the rest of us. > > thanks, > Karen > > On Feb 6, 2013, at 9:05 AM, Daniel D. Daugherty wrote: > >> Adding other alias and people back onto the thread... >> >> Thanks for the re-review! >> >> >> On 2/6/13 6:41 AM, Coleen Phillimore wrote: >>> This is good that you added the INCLUDE_JVMTI. I didn't think it'd add that much space, but it a good change. >> I didn't think it would add much space either, but... >> >> It gave me a chance to check out the MinimalVM stuff a bit and >> it serves to identify those pieces of code as being associated >> with JVM/TI. >> >> Karen and Serguei, when you get the chance, please re-review. >> >> Again, thanks for the re-review! >> >> Dan >> >> >>> Thumbs up! >>> Coleen >>> >>> On 2/6/2013 12:59 AM, Daniel D. Daugherty wrote: >>>> Greetings, >>>> >>>> The JPDA stack testing finished with no new regressions on HSX-23.6, >>>> HSX-24 or HSX-25. The HSX-24 version of the fix has been pushed. >>>> >>>> I've updated the HSX-25 version of the fix due to Karen's comments >>>> about the MinimalVM configuration in Code Review Round 1. In this >>>> latest round for HSX-25, I've made use of the INCLUDE_JVMTI define >>>> to limit the exposure of new tracing code to configurations that >>>> include JVM/TI support. The MinimalVM does not support JVM/TI so >>>> none of the new code needs to be included there. While I was at it, >>>> I also excluded some other JVM/TI RedefineClasses() support code >>>> from the MinimalVM config that I hadn't previously touched. >>>> >>>> In short, none of the functionality has been changed in this round. >>>> Just the way it is built or not built has been changed. >>>> >>>> Here is the URL for the latest HSX-25 webrev: >>>> >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/2-hsx25/ >>>> >>>> Thanks, in advance, for more comments, suggestions or questions. >>>> >>>> Dan >>>> >>>> >>>> On 2/4/13 2:08 PM, Daniel D. Daugherty wrote: >>>>> Greetings, >>>>> >>>>> I've updated the fix due to comments in Code Review Round 0. >>>>> >>>>> Here is a summary of changes made to the various files: >>>>> >>>>> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >>>>> src/share/vm/oops/cpCache.cpp (HSX-25) >>>>> src/share/vm/oops/klassVtable.cpp >>>>> - removed the new RC_TRACE_NO_CR() macro calls at Coleen's request; >>>>> these files are outside of JVM/TI RedefineClasses proper so the >>>>> tracing/debug style should not be dictated by JVM/TI RedefineClasses >>>>> style that is currently in use >>>>> - did not touch the existing RC_TRACE... macros in the file; removing >>>>> the existing macro calls would be outside the scope of this bug >>>>> >>>>> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >>>>> src/share/vm/oops/cpCache.cpp (HSX-25) >>>>> - copy a comment from ConstantPoolCacheEntry::is_interesting_method_entry() >>>>> to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries() >>>>> >>>>> src/share/vm/oops/klassVtable.cpp >>>>> - Copied the new comment intended to prevent the "break" from >>>>> re-materializing again from klassItable::adjust_method_entries() >>>>> to klassVtable::adjust_method_entries(); yes, I'm paranoid. >>>>> >>>>> In the HSX-25 version only: >>>>> src/share/vm/oops/metadata.hpp >>>>> - revert changes >>>>> >>>>> src/share/vm/oops/cpCacheOop.cpp >>>>> src/share/vm/oops/klassVtable.cpp >>>>> - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate >>>>> >>>>> Here are the URLs for the updated webrevs: >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/ >>>>> >>>>> The JPDA stack testing that I started on Friday is still running on >>>>> WinXP so I'm blocked for checking the recompile due to these changes. >>>>> I'll start a recompile on Solaris X86, but that will take some time. >>>>> >>>>> Thanks, in advance, for more comments, suggestions or questions. >>>>> >>>>> Dan >>>>> >>>>> >>>>> >>>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>>> Greetings, >>>>>> >>>>>> I have a fix for the following JVM/TI bug: >>>>>> >>>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>>> >>>>>> The fix for the bug in the product code is one line: >>>>>> >>>>>> src/share/vm/oops/klassVtable.cpp: >>>>>> >>>>>> @@ -992,18 +1020,50 @@ >>>>>> // RC_TRACE macro has an embedded ResourceMark >>>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>>> new_method->name()->as_C_string(), >>>>>> new_method->signature()->as_C_string())); >>>>>> } >>>>>> - break; >>>>>> + // cannot 'break' here; see for-loop comment above. >>>>>> } >>>>>> ime++; >>>>>> } >>>>>> } >>>>>> } >>>>>> >>>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>>> >>>>>> The rest of the code in the webrevs are: >>>>>> >>>>>> - additional JVM/TI tracing code backported from Coleen's PGR changeset >>>>>> - additional JVM/TI tracing code added by me and forward ported to HSX-25 >>>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>>> elusive old or obsolete methods >>>>>> - exposure of some printing code to the PRODUCT build so that the new >>>>>> tracing is available in a PRODUCT build >>>>>> >>>>>> You might be wondering why the new tracing code is exposed in a PRODUCT >>>>>> build. Well, it appears that more and more PRODUCT bits deployments are >>>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >>>>>> to instrument their systems. This bug (7182152) was only intermittently >>>>>> reproducible in the WLS environment in which it occurred so I made the >>>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>>> >>>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>>> fix resolves the issue in his environment. Thanks Raj! >>>>>> >>>>>> Here are the URLs for the three webrevs: >>>>>> >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>>> >>>>>> I have run the following test suites from the JPDA stack on the >>>>>> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >>>>>> specified: >>>>>> >>>>>> sdk-jdi >>>>>> sdk-jdi_closed >>>>>> sdk-jli >>>>>> vm-heapdump >>>>>> vm-hprof >>>>>> vm-jdb >>>>>> vm-jdi >>>>>> vm-jdwp >>>>>> vm-jvmti >>>>>> vm-sajdi >>>>>> >>>>>> The tested configs are: >>>>>> >>>>>> {Solaris-X86, WinXP} >>>>>> X {Client VM, Server VM} >>>>>> X {-Xmixed, -Xcomp} >>>>>> X {product, fastdebug} >>>>>> >>>>>> With the 1-liner fix in place, the new tracing code does not find any >>>>>> instances of this failure mode in any of the above test suites. Without >>>>>> the the 1-liner fix in place, the new tracing code finds one instance >>>>>> of this failure mode in the above test suites: >>>>>> >>>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>>> >>>>>> There are two new tests that will be pushed to the JDK repos using >>>>>> a different bug ID (not yet filed): >>>>>> >>>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>>> >>>>>> There will be a separate review request for the new tests. >>>>>> >>>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>>> take all weekend to complete. >>>>>> >>>>>> Thanks, in advance, for any comments and/or suggestions. >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>> >>>>> >>>>> From serguei.spitsyn at oracle.com Wed Feb 6 12:22:59 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Wed, 06 Feb 2013 12:22:59 -0800 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <43393816-C454-4502-A229-0D6E117083F6@oracle.com> References: <510C1DC6.2010607@oracle.com> <51102336.9000808@oracle.com> <5111F135.4070401@oracle.com> <51125DA6.4040302@oracle.com> <51126337.60600@oracle.com> <43393816-C454-4502-A229-0D6E117083F6@oracle.com> Message-ID: <5112BBA3.1030002@oracle.com> Looks good. Thanks, Serguei On 2/6/13 11:54 AM, Karen Kinnear wrote: > Thank you Dan - this is much better and sets a good model for the rest of us. > > thanks, > Karen > > On Feb 6, 2013, at 9:05 AM, Daniel D. Daugherty wrote: > >> Adding other alias and people back onto the thread... >> >> Thanks for the re-review! >> >> >> On 2/6/13 6:41 AM, Coleen Phillimore wrote: >>> This is good that you added the INCLUDE_JVMTI. I didn't think it'd add that much space, but it a good change. >> I didn't think it would add much space either, but... >> >> It gave me a chance to check out the MinimalVM stuff a bit and >> it serves to identify those pieces of code as being associated >> with JVM/TI. >> >> Karen and Serguei, when you get the chance, please re-review. >> >> Again, thanks for the re-review! >> >> Dan >> >> >>> Thumbs up! >>> Coleen >>> >>> On 2/6/2013 12:59 AM, Daniel D. Daugherty wrote: >>>> Greetings, >>>> >>>> The JPDA stack testing finished with no new regressions on HSX-23.6, >>>> HSX-24 or HSX-25. The HSX-24 version of the fix has been pushed. >>>> >>>> I've updated the HSX-25 version of the fix due to Karen's comments >>>> about the MinimalVM configuration in Code Review Round 1. In this >>>> latest round for HSX-25, I've made use of the INCLUDE_JVMTI define >>>> to limit the exposure of new tracing code to configurations that >>>> include JVM/TI support. The MinimalVM does not support JVM/TI so >>>> none of the new code needs to be included there. While I was at it, >>>> I also excluded some other JVM/TI RedefineClasses() support code >>>> from the MinimalVM config that I hadn't previously touched. >>>> >>>> In short, none of the functionality has been changed in this round. >>>> Just the way it is built or not built has been changed. >>>> >>>> Here is the URL for the latest HSX-25 webrev: >>>> >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/2-hsx25/ >>>> >>>> Thanks, in advance, for more comments, suggestions or questions. >>>> >>>> Dan >>>> >>>> >>>> On 2/4/13 2:08 PM, Daniel D. Daugherty wrote: >>>>> Greetings, >>>>> >>>>> I've updated the fix due to comments in Code Review Round 0. >>>>> >>>>> Here is a summary of changes made to the various files: >>>>> >>>>> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >>>>> src/share/vm/oops/cpCache.cpp (HSX-25) >>>>> src/share/vm/oops/klassVtable.cpp >>>>> - removed the new RC_TRACE_NO_CR() macro calls at Coleen's request; >>>>> these files are outside of JVM/TI RedefineClasses proper so the >>>>> tracing/debug style should not be dictated by JVM/TI RedefineClasses >>>>> style that is currently in use >>>>> - did not touch the existing RC_TRACE... macros in the file; removing >>>>> the existing macro calls would be outside the scope of this bug >>>>> >>>>> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >>>>> src/share/vm/oops/cpCache.cpp (HSX-25) >>>>> - copy a comment from ConstantPoolCacheEntry::is_interesting_method_entry() >>>>> to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries() >>>>> >>>>> src/share/vm/oops/klassVtable.cpp >>>>> - Copied the new comment intended to prevent the "break" from >>>>> re-materializing again from klassItable::adjust_method_entries() >>>>> to klassVtable::adjust_method_entries(); yes, I'm paranoid. >>>>> >>>>> In the HSX-25 version only: >>>>> src/share/vm/oops/metadata.hpp >>>>> - revert changes >>>>> >>>>> src/share/vm/oops/cpCacheOop.cpp >>>>> src/share/vm/oops/klassVtable.cpp >>>>> - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate >>>>> >>>>> Here are the URLs for the updated webrevs: >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/ >>>>> >>>>> The JPDA stack testing that I started on Friday is still running on >>>>> WinXP so I'm blocked for checking the recompile due to these changes. >>>>> I'll start a recompile on Solaris X86, but that will take some time. >>>>> >>>>> Thanks, in advance, for more comments, suggestions or questions. >>>>> >>>>> Dan >>>>> >>>>> >>>>> >>>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>>> Greetings, >>>>>> >>>>>> I have a fix for the following JVM/TI bug: >>>>>> >>>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>>> >>>>>> The fix for the bug in the product code is one line: >>>>>> >>>>>> src/share/vm/oops/klassVtable.cpp: >>>>>> >>>>>> @@ -992,18 +1020,50 @@ >>>>>> // RC_TRACE macro has an embedded ResourceMark >>>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>>> new_method->name()->as_C_string(), >>>>>> new_method->signature()->as_C_string())); >>>>>> } >>>>>> - break; >>>>>> + // cannot 'break' here; see for-loop comment above. >>>>>> } >>>>>> ime++; >>>>>> } >>>>>> } >>>>>> } >>>>>> >>>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>>> >>>>>> The rest of the code in the webrevs are: >>>>>> >>>>>> - additional JVM/TI tracing code backported from Coleen's PGR changeset >>>>>> - additional JVM/TI tracing code added by me and forward ported to HSX-25 >>>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>>> elusive old or obsolete methods >>>>>> - exposure of some printing code to the PRODUCT build so that the new >>>>>> tracing is available in a PRODUCT build >>>>>> >>>>>> You might be wondering why the new tracing code is exposed in a PRODUCT >>>>>> build. Well, it appears that more and more PRODUCT bits deployments are >>>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >>>>>> to instrument their systems. This bug (7182152) was only intermittently >>>>>> reproducible in the WLS environment in which it occurred so I made the >>>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>>> >>>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>>> fix resolves the issue in his environment. Thanks Raj! >>>>>> >>>>>> Here are the URLs for the three webrevs: >>>>>> >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>>> >>>>>> I have run the following test suites from the JPDA stack on the >>>>>> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >>>>>> specified: >>>>>> >>>>>> sdk-jdi >>>>>> sdk-jdi_closed >>>>>> sdk-jli >>>>>> vm-heapdump >>>>>> vm-hprof >>>>>> vm-jdb >>>>>> vm-jdi >>>>>> vm-jdwp >>>>>> vm-jvmti >>>>>> vm-sajdi >>>>>> >>>>>> The tested configs are: >>>>>> >>>>>> {Solaris-X86, WinXP} >>>>>> X {Client VM, Server VM} >>>>>> X {-Xmixed, -Xcomp} >>>>>> X {product, fastdebug} >>>>>> >>>>>> With the 1-liner fix in place, the new tracing code does not find any >>>>>> instances of this failure mode in any of the above test suites. Without >>>>>> the the 1-liner fix in place, the new tracing code finds one instance >>>>>> of this failure mode in the above test suites: >>>>>> >>>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>>> >>>>>> There are two new tests that will be pushed to the JDK repos using >>>>>> a different bug ID (not yet filed): >>>>>> >>>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>>> >>>>>> There will be a separate review request for the new tests. >>>>>> >>>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>>> take all weekend to complete. >>>>>> >>>>>> Thanks, in advance, for any comments and/or suggestions. >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>> >>>>> >>>>> From serguei.spitsyn at oracle.com Wed Feb 6 12:24:20 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Wed, 06 Feb 2013 12:24:20 -0800 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <5112B85C.2000306@oracle.com> References: <510C1DC6.2010607@oracle.com> <51102336.9000808@oracle.com> <5111F135.4070401@oracle.com> <51125DA6.4040302@oracle.com> <51126337.60600@oracle.com> <43393816-C454-4502-A229-0D6E117083F6@oracle.com> <5112B85C.2000306@oracle.com> Message-ID: <5112BBF4.6060400@oracle.com> Already reviewed. :) It is good. Thanks, Serguei On 2/6/13 12:09 PM, Daniel D. Daugherty wrote: > Karen, > > Thanks for the re-review! > > Serguei, just waiting for you to chime in!! > > Dan > > > On 2/6/13 12:54 PM, Karen Kinnear wrote: >> Thank you Dan - this is much better and sets a good model for the >> rest of us. >> >> thanks, >> Karen >> >> On Feb 6, 2013, at 9:05 AM, Daniel D. Daugherty wrote: >> >>> Adding other alias and people back onto the thread... >>> >>> Thanks for the re-review! >>> >>> >>> On 2/6/13 6:41 AM, Coleen Phillimore wrote: >>>> This is good that you added the INCLUDE_JVMTI. I didn't think it'd >>>> add that much space, but it a good change. >>> I didn't think it would add much space either, but... >>> >>> It gave me a chance to check out the MinimalVM stuff a bit and >>> it serves to identify those pieces of code as being associated >>> with JVM/TI. >>> >>> Karen and Serguei, when you get the chance, please re-review. >>> >>> Again, thanks for the re-review! >>> >>> Dan >>> >>> >>>> Thumbs up! >>>> Coleen >>>> >>>> On 2/6/2013 12:59 AM, Daniel D. Daugherty wrote: >>>>> Greetings, >>>>> >>>>> The JPDA stack testing finished with no new regressions on HSX-23.6, >>>>> HSX-24 or HSX-25. The HSX-24 version of the fix has been pushed. >>>>> >>>>> I've updated the HSX-25 version of the fix due to Karen's comments >>>>> about the MinimalVM configuration in Code Review Round 1. In this >>>>> latest round for HSX-25, I've made use of the INCLUDE_JVMTI define >>>>> to limit the exposure of new tracing code to configurations that >>>>> include JVM/TI support. The MinimalVM does not support JVM/TI so >>>>> none of the new code needs to be included there. While I was at it, >>>>> I also excluded some other JVM/TI RedefineClasses() support code >>>>> from the MinimalVM config that I hadn't previously touched. >>>>> >>>>> In short, none of the functionality has been changed in this round. >>>>> Just the way it is built or not built has been changed. >>>>> >>>>> Here is the URL for the latest HSX-25 webrev: >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/2-hsx25/ >>>>> >>>>> Thanks, in advance, for more comments, suggestions or questions. >>>>> >>>>> Dan >>>>> >>>>> >>>>> On 2/4/13 2:08 PM, Daniel D. Daugherty wrote: >>>>>> Greetings, >>>>>> >>>>>> I've updated the fix due to comments in Code Review Round 0. >>>>>> >>>>>> Here is a summary of changes made to the various files: >>>>>> >>>>>> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >>>>>> src/share/vm/oops/cpCache.cpp (HSX-25) >>>>>> src/share/vm/oops/klassVtable.cpp >>>>>> - removed the new RC_TRACE_NO_CR() macro calls at Coleen's >>>>>> request; >>>>>> these files are outside of JVM/TI RedefineClasses proper so the >>>>>> tracing/debug style should not be dictated by JVM/TI >>>>>> RedefineClasses >>>>>> style that is currently in use >>>>>> - did not touch the existing RC_TRACE... macros in the file; >>>>>> removing >>>>>> the existing macro calls would be outside the scope of this bug >>>>>> >>>>>> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >>>>>> src/share/vm/oops/cpCache.cpp (HSX-25) >>>>>> - copy a comment from >>>>>> ConstantPoolCacheEntry::is_interesting_method_entry() >>>>>> to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries() >>>>>> >>>>>> src/share/vm/oops/klassVtable.cpp >>>>>> - Copied the new comment intended to prevent the "break" from >>>>>> re-materializing again from klassItable::adjust_method_entries() >>>>>> to klassVtable::adjust_method_entries(); yes, I'm paranoid. >>>>>> >>>>>> In the HSX-25 version only: >>>>>> src/share/vm/oops/metadata.hpp >>>>>> - revert changes >>>>>> >>>>>> src/share/vm/oops/cpCacheOop.cpp >>>>>> src/share/vm/oops/klassVtable.cpp >>>>>> - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate >>>>>> >>>>>> Here are the URLs for the updated webrevs: >>>>>> >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/ >>>>>> >>>>>> The JPDA stack testing that I started on Friday is still running on >>>>>> WinXP so I'm blocked for checking the recompile due to these >>>>>> changes. >>>>>> I'll start a recompile on Solaris X86, but that will take some time. >>>>>> >>>>>> Thanks, in advance, for more comments, suggestions or questions. >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>> >>>>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>>>> Greetings, >>>>>>> >>>>>>> I have a fix for the following JVM/TI bug: >>>>>>> >>>>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>>>> >>>>>>> The fix for the bug in the product code is one line: >>>>>>> >>>>>>> src/share/vm/oops/klassVtable.cpp: >>>>>>> >>>>>>> @@ -992,18 +1020,50 @@ >>>>>>> // RC_TRACE macro has an embedded ResourceMark >>>>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>>>> new_method->name()->as_C_string(), >>>>>>> new_method->signature()->as_C_string())); >>>>>>> } >>>>>>> - break; >>>>>>> + // cannot 'break' here; see for-loop comment above. >>>>>>> } >>>>>>> ime++; >>>>>>> } >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>>>> >>>>>>> The rest of the code in the webrevs are: >>>>>>> >>>>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>>>> changeset >>>>>>> - additional JVM/TI tracing code added by me and forward ported >>>>>>> to HSX-25 >>>>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>>>> elusive old or obsolete methods >>>>>>> - exposure of some printing code to the PRODUCT build so that >>>>>>> the new >>>>>>> tracing is available in a PRODUCT build >>>>>>> >>>>>>> You might be wondering why the new tracing code is exposed in a >>>>>>> PRODUCT >>>>>>> build. Well, it appears that more and more PRODUCT bits >>>>>>> deployments are >>>>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>>>> run-time >>>>>>> to instrument their systems. This bug (7182152) was only >>>>>>> intermittently >>>>>>> reproducible in the WLS environment in which it occurred so I >>>>>>> made the >>>>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>>>> >>>>>>> Raj from the WLS team has also verified that the HSX-23.6 >>>>>>> version of >>>>>>> fix resolves the issue in his environment. Thanks Raj! >>>>>>> >>>>>>> Here are the URLs for the three webrevs: >>>>>>> >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>>>> >>>>>>> I have run the following test suites from the JPDA stack on the >>>>>>> JDK7u10/HSX-23.6 version of the fix with >>>>>>> -XX:TraceRedefineClasses=16384 >>>>>>> specified: >>>>>>> >>>>>>> sdk-jdi >>>>>>> sdk-jdi_closed >>>>>>> sdk-jli >>>>>>> vm-heapdump >>>>>>> vm-hprof >>>>>>> vm-jdb >>>>>>> vm-jdi >>>>>>> vm-jdwp >>>>>>> vm-jvmti >>>>>>> vm-sajdi >>>>>>> >>>>>>> The tested configs are: >>>>>>> >>>>>>> {Solaris-X86, WinXP} >>>>>>> X {Client VM, Server VM} >>>>>>> X {-Xmixed, -Xcomp} >>>>>>> X {product, fastdebug} >>>>>>> >>>>>>> With the 1-liner fix in place, the new tracing code does not >>>>>>> find any >>>>>>> instances of this failure mode in any of the above test suites. >>>>>>> Without >>>>>>> the the 1-liner fix in place, the new tracing code finds one >>>>>>> instance >>>>>>> of this failure mode in the above test suites: >>>>>>> >>>>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>>>> >>>>>>> There are two new tests that will be pushed to the JDK repos using >>>>>>> a different bug ID (not yet filed): >>>>>>> >>>>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>>>> >>>>>>> There will be a separate review request for the new tests. >>>>>>> >>>>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>>>> take all weekend to complete. >>>>>>> >>>>>>> Thanks, in advance, for any comments and/or suggestions. >>>>>>> >>>>>>> Dan >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> > From daniel.daugherty at oracle.com Wed Feb 6 12:25:27 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 06 Feb 2013 13:25:27 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <5112BBA3.1030002@oracle.com> References: <510C1DC6.2010607@oracle.com> <51102336.9000808@oracle.com> <5111F135.4070401@oracle.com> <51125DA6.4040302@oracle.com> <51126337.60600@oracle.com> <43393816-C454-4502-A229-0D6E117083F6@oracle.com> <5112BBA3.1030002@oracle.com> Message-ID: <5112BC37.6010303@oracle.com> Thanks Serguei! Dan On 2/6/13 1:22 PM, serguei.spitsyn at oracle.com wrote: > Looks good. > > Thanks, > Serguei > > On 2/6/13 11:54 AM, Karen Kinnear wrote: >> Thank you Dan - this is much better and sets a good model for the >> rest of us. >> >> thanks, >> Karen >> >> On Feb 6, 2013, at 9:05 AM, Daniel D. Daugherty wrote: >> >>> Adding other alias and people back onto the thread... >>> >>> Thanks for the re-review! >>> >>> >>> On 2/6/13 6:41 AM, Coleen Phillimore wrote: >>>> This is good that you added the INCLUDE_JVMTI. I didn't think it'd >>>> add that much space, but it a good change. >>> I didn't think it would add much space either, but... >>> >>> It gave me a chance to check out the MinimalVM stuff a bit and >>> it serves to identify those pieces of code as being associated >>> with JVM/TI. >>> >>> Karen and Serguei, when you get the chance, please re-review. >>> >>> Again, thanks for the re-review! >>> >>> Dan >>> >>> >>>> Thumbs up! >>>> Coleen >>>> >>>> On 2/6/2013 12:59 AM, Daniel D. Daugherty wrote: >>>>> Greetings, >>>>> >>>>> The JPDA stack testing finished with no new regressions on HSX-23.6, >>>>> HSX-24 or HSX-25. The HSX-24 version of the fix has been pushed. >>>>> >>>>> I've updated the HSX-25 version of the fix due to Karen's comments >>>>> about the MinimalVM configuration in Code Review Round 1. In this >>>>> latest round for HSX-25, I've made use of the INCLUDE_JVMTI define >>>>> to limit the exposure of new tracing code to configurations that >>>>> include JVM/TI support. The MinimalVM does not support JVM/TI so >>>>> none of the new code needs to be included there. While I was at it, >>>>> I also excluded some other JVM/TI RedefineClasses() support code >>>>> from the MinimalVM config that I hadn't previously touched. >>>>> >>>>> In short, none of the functionality has been changed in this round. >>>>> Just the way it is built or not built has been changed. >>>>> >>>>> Here is the URL for the latest HSX-25 webrev: >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/2-hsx25/ >>>>> >>>>> Thanks, in advance, for more comments, suggestions or questions. >>>>> >>>>> Dan >>>>> >>>>> >>>>> On 2/4/13 2:08 PM, Daniel D. Daugherty wrote: >>>>>> Greetings, >>>>>> >>>>>> I've updated the fix due to comments in Code Review Round 0. >>>>>> >>>>>> Here is a summary of changes made to the various files: >>>>>> >>>>>> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >>>>>> src/share/vm/oops/cpCache.cpp (HSX-25) >>>>>> src/share/vm/oops/klassVtable.cpp >>>>>> - removed the new RC_TRACE_NO_CR() macro calls at Coleen's >>>>>> request; >>>>>> these files are outside of JVM/TI RedefineClasses proper so the >>>>>> tracing/debug style should not be dictated by JVM/TI >>>>>> RedefineClasses >>>>>> style that is currently in use >>>>>> - did not touch the existing RC_TRACE... macros in the file; >>>>>> removing >>>>>> the existing macro calls would be outside the scope of this bug >>>>>> >>>>>> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >>>>>> src/share/vm/oops/cpCache.cpp (HSX-25) >>>>>> - copy a comment from >>>>>> ConstantPoolCacheEntry::is_interesting_method_entry() >>>>>> to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries() >>>>>> >>>>>> src/share/vm/oops/klassVtable.cpp >>>>>> - Copied the new comment intended to prevent the "break" from >>>>>> re-materializing again from klassItable::adjust_method_entries() >>>>>> to klassVtable::adjust_method_entries(); yes, I'm paranoid. >>>>>> >>>>>> In the HSX-25 version only: >>>>>> src/share/vm/oops/metadata.hpp >>>>>> - revert changes >>>>>> >>>>>> src/share/vm/oops/cpCacheOop.cpp >>>>>> src/share/vm/oops/klassVtable.cpp >>>>>> - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate >>>>>> >>>>>> Here are the URLs for the updated webrevs: >>>>>> >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/ >>>>>> >>>>>> The JPDA stack testing that I started on Friday is still running on >>>>>> WinXP so I'm blocked for checking the recompile due to these >>>>>> changes. >>>>>> I'll start a recompile on Solaris X86, but that will take some time. >>>>>> >>>>>> Thanks, in advance, for more comments, suggestions or questions. >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>> >>>>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>>>> Greetings, >>>>>>> >>>>>>> I have a fix for the following JVM/TI bug: >>>>>>> >>>>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>>>> >>>>>>> The fix for the bug in the product code is one line: >>>>>>> >>>>>>> src/share/vm/oops/klassVtable.cpp: >>>>>>> >>>>>>> @@ -992,18 +1020,50 @@ >>>>>>> // RC_TRACE macro has an embedded ResourceMark >>>>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>>>> new_method->name()->as_C_string(), >>>>>>> new_method->signature()->as_C_string())); >>>>>>> } >>>>>>> - break; >>>>>>> + // cannot 'break' here; see for-loop comment above. >>>>>>> } >>>>>>> ime++; >>>>>>> } >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>>>> >>>>>>> The rest of the code in the webrevs are: >>>>>>> >>>>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>>>> changeset >>>>>>> - additional JVM/TI tracing code added by me and forward ported >>>>>>> to HSX-25 >>>>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>>>> elusive old or obsolete methods >>>>>>> - exposure of some printing code to the PRODUCT build so that >>>>>>> the new >>>>>>> tracing is available in a PRODUCT build >>>>>>> >>>>>>> You might be wondering why the new tracing code is exposed in a >>>>>>> PRODUCT >>>>>>> build. Well, it appears that more and more PRODUCT bits >>>>>>> deployments are >>>>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>>>> run-time >>>>>>> to instrument their systems. This bug (7182152) was only >>>>>>> intermittently >>>>>>> reproducible in the WLS environment in which it occurred so I >>>>>>> made the >>>>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>>>> >>>>>>> Raj from the WLS team has also verified that the HSX-23.6 >>>>>>> version of >>>>>>> fix resolves the issue in his environment. Thanks Raj! >>>>>>> >>>>>>> Here are the URLs for the three webrevs: >>>>>>> >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>>>> >>>>>>> I have run the following test suites from the JPDA stack on the >>>>>>> JDK7u10/HSX-23.6 version of the fix with >>>>>>> -XX:TraceRedefineClasses=16384 >>>>>>> specified: >>>>>>> >>>>>>> sdk-jdi >>>>>>> sdk-jdi_closed >>>>>>> sdk-jli >>>>>>> vm-heapdump >>>>>>> vm-hprof >>>>>>> vm-jdb >>>>>>> vm-jdi >>>>>>> vm-jdwp >>>>>>> vm-jvmti >>>>>>> vm-sajdi >>>>>>> >>>>>>> The tested configs are: >>>>>>> >>>>>>> {Solaris-X86, WinXP} >>>>>>> X {Client VM, Server VM} >>>>>>> X {-Xmixed, -Xcomp} >>>>>>> X {product, fastdebug} >>>>>>> >>>>>>> With the 1-liner fix in place, the new tracing code does not >>>>>>> find any >>>>>>> instances of this failure mode in any of the above test suites. >>>>>>> Without >>>>>>> the the 1-liner fix in place, the new tracing code finds one >>>>>>> instance >>>>>>> of this failure mode in the above test suites: >>>>>>> >>>>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>>>> >>>>>>> There are two new tests that will be pushed to the JDK repos using >>>>>>> a different bug ID (not yet filed): >>>>>>> >>>>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>>>> >>>>>>> There will be a separate review request for the new tests. >>>>>>> >>>>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>>>> take all weekend to complete. >>>>>>> >>>>>>> Thanks, in advance, for any comments and/or suggestions. >>>>>>> >>>>>>> Dan >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> > From james.holmlund at oracle.com Wed Feb 6 15:11:09 2013 From: james.holmlund at oracle.com (james.holmlund at oracle.com) Date: Wed, 06 Feb 2013 23:11:09 +0000 Subject: hg: jdk8/tl/langtools: 8007698: jtreg test T6306137.java won't compile with ASCII encoding Message-ID: <20130206231115.68C24478A3@hg.openjdk.java.net> Changeset: b386b8c45387 Author: jjh Date: 2013-02-06 23:10 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/b386b8c45387 8007698: jtreg test T6306137.java won't compile with ASCII encoding Reviewed-by: ksrini ! test/tools/javac/api/T6306137.java From mikael.vidstedt at oracle.com Wed Feb 6 15:50:41 2013 From: mikael.vidstedt at oracle.com (Mikael Vidstedt) Date: Wed, 06 Feb 2013 15:50:41 -0800 Subject: RR(S): 8007536 Incorrect copyright header in JDP files In-Reply-To: <51126332.3060405@oracle.com> References: <51126332.3060405@oracle.com> Message-ID: <5112EC51.2060409@oracle.com> Looks good. Cheers, Mikael On 2013-02-06 06:05, Dmitry Samersoff wrote: > Hi Everyone, > > Please, review this, copyright-only fix > > http://cr.openjdk.java.net/~dsamersoff/8007536.JDP-COPYRIGHT/webrev.01/jdk/ > > -Dmitry > From martinrb at google.com Wed Feb 6 18:02:32 2013 From: martinrb at google.com (martinrb at google.com) Date: Thu, 07 Feb 2013 02:02:32 +0000 Subject: hg: jdk8/tl/jdk: 8006995: java launcher fails to open executable JAR > 2GB Message-ID: <20130207020243.8E8CA478AF@hg.openjdk.java.net> Changeset: 2f1505c49e79 Author: martin Date: 2013-02-06 17:59 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/2f1505c49e79 8006995: java launcher fails to open executable JAR > 2GB Summary: Use O_LARGEFILE consistently when opening jar files Reviewed-by: alanb, sherman ! src/share/bin/parse_manifest.c From daniel.daugherty at oracle.com Wed Feb 6 19:46:50 2013 From: daniel.daugherty at oracle.com (daniel.daugherty at oracle.com) Date: Thu, 07 Feb 2013 03:46:50 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 7182152: Instrumentation hot swap test incorrect monitor count Message-ID: <20130207034655.3BABB478B4@hg.openjdk.java.net> Changeset: 8d9fc28831cc Author: dcubed Date: 2013-02-06 14:31 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/8d9fc28831cc 7182152: Instrumentation hot swap test incorrect monitor count Summary: Add/refine new tracing support using -XX:TraceRedefineClasses=16384. Reviewed-by: coleenp, acorn, sspitsyn ! src/share/vm/oops/cpCache.cpp ! src/share/vm/oops/cpCache.hpp ! src/share/vm/oops/klassVtable.cpp ! src/share/vm/oops/klassVtable.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/jvmtiRedefineClasses.hpp ! src/share/vm/prims/jvmtiRedefineClassesTrace.hpp ! src/share/vm/utilities/accessFlags.cpp ! src/share/vm/utilities/accessFlags.hpp From serguei.spitsyn at oracle.com Thu Feb 7 00:30:06 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Thu, 07 Feb 2013 00:30:06 -0800 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <5112B823.4040502@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <5112B823.4040502@oracle.com> Message-ID: <5113660E.9070605@oracle.com> I agree, the test is a piece of art - nice example to start from for future test development. Ship it! Thanks, Serguei On 2/6/13 12:08 PM, Daniel D. Daugherty wrote: > Greetings, > > I've revised the tests based on Coleen's and Serguei's feedback > in Code Review Round 0. > > Here is the URL for the webrev for Code Review Round 1: > > http://cr.openjdk.java.net/~dcubed/8007420-webrev/1-jdk8-tl/ > > Summary of the changes: > > - RedefineAbstractClass.sh - cleaned up the header comment > - RedefineAbstractClass.sh > - more clear description of what's being tested > - add comments describing what the guarantee failure looks like > - add checks for proper pre-RedefineClasses output > - add checks for proper post-RedefineClasses output > - RedefineSubclassWithTwoInterfacesApp.java > - RedefineSubclassWithTwoInterfacesRemote.java > - refactor the test app's echo() method call into echo1() and > echo2() so it is easier to check for the failure mode > - RedefineSubclassWithTwoInterfacesImpl.java > - RedefineSubclassWithTwoInterfacesImpl_1.java > - add comment to explain why these sources are identical > > > Diffs are below since the webrev above is relative to JDK8-T&L > and everything is "new". > > Dan > > Here are diffs (ignoring whitespace) to make it clear what has > changed between Code Review Round 0 and Code Review Round 1: > > > $ diff -w test/com/sun/jdi/RedefineAbstractClass.sh{.cr0,} > 31a32 > > # @author Daniel D. Daugherty > > > $ diff -w > test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr0,} > 26c26,27 > < # @summary Redefining a subclass that implements two interfaces is > broken. > --- > > # @summary Redefine a subclass that implements two interfaces and > > # verify that the right methods are called. > 101a103,104 > > > > echo "INFO: " > 102a106,107 > > echo "INFO: " > > > 108,112c113,127 > < MESG="guarantee" > < grep "$MESG" output.log > < result=$? > < if [ "$result" = 0 ]; then > < echo "FAIL: found '$MESG' in the test output" > --- > > # When this bug manifests, RedefineClasses() will fail to update > > # one of the itable entries to refer to the new method. The log > > # will include the following line when the bug occurs: > > # > > # guarantee(false) failed: OLD and/or OBSOLETE method(s) found > > # > > # If this guarantee happens, the test should fail in the status > > # check above, but just in case it doesn't, we check for "guarantee". > > # > > > > FAIL_MESG="guarantee" > > grep "$FAIL_MESG" output.log > > status=$? > > if [ "$status" = 0 ]; then > > echo "FAIL: found '$FAIL_MESG' in the test output." > 115c130,131 > < echo "PASS: did NOT find '$MESG' in the test output" > --- > > echo "INFO: did NOT find '$FAIL_MESG' in the test output." > > # be optimistic here > 118a135,164 > > PASS1_MESG="before any redefines" > > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` > > case "$cnt" in > > 2) > > echo "INFO: found 2 version-0 '$PASS1_MESG' mesgs." > > ;; > > *) > > echo "FAIL: did NOT find 2 version-0 '$PASS1_MESG' mesgs." > > echo "INFO: grep '$PASS1_MESG' output:" > > grep "$PASS1_MESG" output.log > > result=1 > > esac > > > > PASS2_MESG="after redefine" > > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` > > case "$cnt" in > > 2) > > echo "INFO: found 2 version-1 '$PASS2_MESG' mesgs." > > ;; > > *) > > echo "FAIL: did NOT find 2 version-1 '$PASS2_MESG' mesgs." > > echo "INFO: grep '$PASS2_MESG' output:" > > grep "$PASS2_MESG" output.log > > result=1 > > esac > > > > if [ "$result" = 0 ]; then > > echo "PASS: test passed both positive and negative output checks." > > fi > > > > > $ diff > test/java/lang/instrument/RedefineSubclassWithTwoInterfacesApp.java{.cr0,} > 43,45c43,45 > < // make an echo() call before any redefinitions: > < mesg = remote.echo("test message #0"); > < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" > --- > > // make echo() calls before any redefinitions: > > mesg = remote.echo1("test message #1.1"); > > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 mesg='" > 46a47,49 > > mesg = remote.echo2("test message #2.1"); > > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 mesg='" > > + mesg + "' before any redefines"); > 54,56c57,62 > < mesg = remote.echo("test message #1"); > < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" > < + mesg + "' after redefine #1"); > --- > > mesg = remote.echo1("test message #1.2"); > > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 mesg='" > > + mesg + "' after redefine"); > > mesg = remote.echo2("test message #2.2"); > > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 mesg='" > > + mesg + "' after redefine"); > > > $ diff > test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java{.cr0,} > 23a24,27 > > // Reproducing this bug only requires an EMCP version of the > > // RedefineSubclassWithTwoInterfacesImpl class so > > // RedefineSubclassWithTwoInterfacesImpl.java and > > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. > > > $ diff > test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java{.cr0,} > 23a24,27 > > // Reproducing this bug only requires an EMCP version of the > > // RedefineSubclassWithTwoInterfacesImpl class so > > // RedefineSubclassWithTwoInterfacesImpl.java and > > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. > > > $ diff > test/java/lang/instrument/RedefineSubclassWithTwoInterfacesRemote.java{.cr0,} > 40,41c40,41 > < public String echo(String s) { > < return "intf1<" + intf1.echo(s) + "> intf2< " + > intf2.echo(s) + ">"; > --- > > public String echo1(String s) { > > return "intf1<" + intf1.echo(s) + ">"; > 42a43,46 > > > > public String echo2(String s) { > > return "intf2<" + intf2.echo(s) + ">"; > > } > > > On 2/1/13 4:55 PM, Daniel D. Daugherty wrote: >> And here is the webrev for the new tests (relative to JDK8-T&L): >> >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >> >> As always, comments and suggestions are welcome. >> >> Dan >> >> >> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>> > There are two new tests that will be pushed to the JDK repos using >>> > a different bug ID (not yet filed): >>> >>> New bug is now filed: >>> >>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>> to java/lang/instrument >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>> >>> Of course, the tests cannot be pushed until the HSX changes have made >>> it into a promoted build and thus available to JDK8-T&L. >>> >>> Dan >>> >>> >>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>> Greetings, >>>> >>>> I have a fix for the following JVM/TI bug: >>>> >>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>> >>>> The fix for the bug in the product code is one line: >>>> >>>> src/share/vm/oops/klassVtable.cpp: >>>> >>>> @@ -992,18 +1020,50 @@ >>>> // RC_TRACE macro has an embedded ResourceMark >>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>> new_method->name()->as_C_string(), >>>> new_method->signature()->as_C_string())); >>>> } >>>> - break; >>>> + // cannot 'break' here; see for-loop comment above. >>>> } >>>> ime++; >>>> } >>>> } >>>> } >>>> >>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>> >>>> The rest of the code in the webrevs are: >>>> >>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>> changeset >>>> - additional JVM/TI tracing code added by me and forward ported to >>>> HSX-25 >>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>> elusive old or obsolete methods >>>> - exposure of some printing code to the PRODUCT build so that the new >>>> tracing is available in a PRODUCT build >>>> >>>> You might be wondering why the new tracing code is exposed in a >>>> PRODUCT >>>> build. Well, it appears that more and more PRODUCT bits deployments >>>> are >>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >>>> to instrument their systems. This bug (7182152) was only >>>> intermittently >>>> reproducible in the WLS environment in which it occurred so I made the >>>> tracing available in a PRODUCT build to assist in the hunt. >>>> >>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>> fix resolves the issue in his environment. Thanks Raj! >>>> >>>> Here are the URLs for the three webrevs: >>>> >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>> >>>> I have run the following test suites from the JPDA stack on the >>>> JDK7u10/HSX-23.6 version of the fix with >>>> -XX:TraceRedefineClasses=16384 >>>> specified: >>>> >>>> sdk-jdi >>>> sdk-jdi_closed >>>> sdk-jli >>>> vm-heapdump >>>> vm-hprof >>>> vm-jdb >>>> vm-jdi >>>> vm-jdwp >>>> vm-jvmti >>>> vm-sajdi >>>> >>>> The tested configs are: >>>> >>>> {Solaris-X86, WinXP} >>>> X {Client VM, Server VM} >>>> X {-Xmixed, -Xcomp} >>>> X {product, fastdebug} >>>> >>>> With the 1-liner fix in place, the new tracing code does not find any >>>> instances of this failure mode in any of the above test suites. >>>> Without >>>> the the 1-liner fix in place, the new tracing code finds one instance >>>> of this failure mode in the above test suites: >>>> >>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>> >>>> There are two new tests that will be pushed to the JDK repos using >>>> a different bug ID (not yet filed): >>>> >>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>> >>>> There will be a separate review request for the new tests. >>>> >>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>> take all weekend to complete. >>>> >>>> Thanks, in advance, for any comments and/or suggestions. >>>> >>>> Dan >>>> >>>> >>>> >>> >>> >>> >> >> >> > From erik.helin at oracle.com Thu Feb 7 04:36:06 2013 From: erik.helin at oracle.com (Erik Helin) Date: Thu, 07 Feb 2013 13:36:06 +0100 Subject: RFR (S): 8004172: Update jstat counter names to reflect metaspace changes In-Reply-To: <51116827.80100@oracle.com> References: <51011221.8050102@oracle.com> <51018414.1000103@oracle.com> <510695D9.5030603@oracle.com> <51069864.30007@oracle.com> <51116827.80100@oracle.com> Message-ID: <51139FB6.4080300@oracle.com> Hi Mandy, thanks for the review! See comments inline. On 02/05/2013 09:14 PM, Mandy Chung wrote: > Hi Erik, > > On 2/4/13 8:01 AM, Erik Helin wrote: >> There have been some updates to the hotspot code based on feedback from >> the hotspot-gc-dev mailing list. The only change to the JDK code is that >> the namespace is back to "sun.gc" :) >> >> New webrevs: >> - jdk: http://cr.openjdk.java.net/~ehelin/8004172/jdk/webrev.03/ >> - hotspot: http://cr.openjdk.java.net/~ehelin/8004172/hotspot/webrev.03/ > > Looks good. Minor nits: > > gcCapacityOutput1.awk - should the last column in L7 be removed? I don't think so, jmap -gccause outputs the GC cause in the last column, which sometimes can be "No GC". Why do you think it should be removed? On 02/05/2013 09:14 PM, Mandy Chung wrote: > jstatGcMetaCapacityOutput1.sh - it's a new test and the copyright year > should be 2013. Updated. See new webrev for jdk at: http://cr.openjdk.java.net/~ehelin/8004172/jdk/webrev.04/ >> Note that the fixed tests will continue to fail until the HotSpot >> part of the change finds it way into the tl forest. On 02/05/2013 09:14 PM, Mandy Chung wrote: > How are you going to integrate the hotspot and jdk fixes in a > synchronized fashion? We shall make sure the TL sun/tools/jstat > tests pass at all times. Thanks for catching this. the tests in tl do passes (I was wrong about this). The change will have to be pushed in several steps: 1. Add new metaspace counters (and keep the old ones). This will be pushed to hotspot-gc. 2. Wait for the change to trickle down to tl. 3. Update the tests and jstat to use the new metaspace counters. 4. Wait for this change to trickle down to hotspot-gc. 5. Remove the old metaspace counters and push this to hotspot-gc. Do you want me to send out an additional webrev for what the hotspot code will look like with both the old and new counters? Thanks, Erik > Mandy > > From staffan.larsen at oracle.com Thu Feb 7 04:35:33 2013 From: staffan.larsen at oracle.com (staffan.larsen at oracle.com) Date: Thu, 07 Feb 2013 12:35:33 +0000 Subject: hg: jdk8/tl/jdk: 8007142: Add utility classes for writing better multiprocess tests in jtreg Message-ID: <20130207123555.40E7A478D5@hg.openjdk.java.net> Changeset: 2de8c6c2d652 Author: ykantser Date: 2013-02-07 11:22 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/2de8c6c2d652 8007142: Add utility classes for writing better multiprocess tests in jtreg Reviewed-by: alanb, rbackman + test/lib/testlibrary/OutputAnalyzerTest.java + test/lib/testlibrary/jdk/testlibrary/JcmdBase.java + test/lib/testlibrary/jdk/testlibrary/JdkFinder.java + test/lib/testlibrary/jdk/testlibrary/OutputAnalyzer.java + test/lib/testlibrary/jdk/testlibrary/OutputBuffer.java + test/lib/testlibrary/jdk/testlibrary/ProcessTools.java + test/lib/testlibrary/jdk/testlibrary/StreamPumper.java From daniel.daugherty at oracle.com Thu Feb 7 06:49:29 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Thu, 07 Feb 2013 07:49:29 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <5113660E.9070605@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <5112B823.4040502@oracle.com> <5113660E.9070605@oracle.com> Message-ID: <5113BEF9.6090803@oracle.com> Thanks for the re-review! Dan On 2/7/13 1:30 AM, serguei.spitsyn at oracle.com wrote: > I agree, the test is a piece of art - nice example to start from for > future test development. > Ship it! > > Thanks, > Serguei > > > On 2/6/13 12:08 PM, Daniel D. Daugherty wrote: >> Greetings, >> >> I've revised the tests based on Coleen's and Serguei's feedback >> in Code Review Round 0. >> >> Here is the URL for the webrev for Code Review Round 1: >> >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/1-jdk8-tl/ >> >> Summary of the changes: >> >> - RedefineAbstractClass.sh - cleaned up the header comment >> - RedefineAbstractClass.sh >> - more clear description of what's being tested >> - add comments describing what the guarantee failure looks like >> - add checks for proper pre-RedefineClasses output >> - add checks for proper post-RedefineClasses output >> - RedefineSubclassWithTwoInterfacesApp.java >> - RedefineSubclassWithTwoInterfacesRemote.java >> - refactor the test app's echo() method call into echo1() and >> echo2() so it is easier to check for the failure mode >> - RedefineSubclassWithTwoInterfacesImpl.java >> - RedefineSubclassWithTwoInterfacesImpl_1.java >> - add comment to explain why these sources are identical >> >> >> Diffs are below since the webrev above is relative to JDK8-T&L >> and everything is "new". >> >> Dan >> >> Here are diffs (ignoring whitespace) to make it clear what has >> changed between Code Review Round 0 and Code Review Round 1: >> >> >> $ diff -w test/com/sun/jdi/RedefineAbstractClass.sh{.cr0,} >> 31a32 >> > # @author Daniel D. Daugherty >> >> >> $ diff -w >> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr0,} >> 26c26,27 >> < # @summary Redefining a subclass that implements two interfaces is >> broken. >> --- >> > # @summary Redefine a subclass that implements two interfaces and >> > # verify that the right methods are called. >> 101a103,104 >> > >> > echo "INFO: " >> 102a106,107 >> > echo "INFO: " >> > >> 108,112c113,127 >> < MESG="guarantee" >> < grep "$MESG" output.log >> < result=$? >> < if [ "$result" = 0 ]; then >> < echo "FAIL: found '$MESG' in the test output" >> --- >> > # When this bug manifests, RedefineClasses() will fail to update >> > # one of the itable entries to refer to the new method. The log >> > # will include the following line when the bug occurs: >> > # >> > # guarantee(false) failed: OLD and/or OBSOLETE method(s) found >> > # >> > # If this guarantee happens, the test should fail in the status >> > # check above, but just in case it doesn't, we check for "guarantee". >> > # >> > >> > FAIL_MESG="guarantee" >> > grep "$FAIL_MESG" output.log >> > status=$? >> > if [ "$status" = 0 ]; then >> > echo "FAIL: found '$FAIL_MESG' in the test output." >> 115c130,131 >> < echo "PASS: did NOT find '$MESG' in the test output" >> --- >> > echo "INFO: did NOT find '$FAIL_MESG' in the test output." >> > # be optimistic here >> 118a135,164 >> > PASS1_MESG="before any redefines" >> > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` >> > case "$cnt" in >> > 2) >> > echo "INFO: found 2 version-0 '$PASS1_MESG' mesgs." >> > ;; >> > *) >> > echo "FAIL: did NOT find 2 version-0 '$PASS1_MESG' mesgs." >> > echo "INFO: grep '$PASS1_MESG' output:" >> > grep "$PASS1_MESG" output.log >> > result=1 >> > esac >> > >> > PASS2_MESG="after redefine" >> > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` >> > case "$cnt" in >> > 2) >> > echo "INFO: found 2 version-1 '$PASS2_MESG' mesgs." >> > ;; >> > *) >> > echo "FAIL: did NOT find 2 version-1 '$PASS2_MESG' mesgs." >> > echo "INFO: grep '$PASS2_MESG' output:" >> > grep "$PASS2_MESG" output.log >> > result=1 >> > esac >> > >> > if [ "$result" = 0 ]; then >> > echo "PASS: test passed both positive and negative output checks." >> > fi >> > >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesApp.java{.cr0,} >> 43,45c43,45 >> < // make an echo() call before any redefinitions: >> < mesg = remote.echo("test message #0"); >> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >> --- >> > // make echo() calls before any redefinitions: >> > mesg = remote.echo1("test message #1.1"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >> mesg='" >> 46a47,49 >> > mesg = remote.echo2("test message #2.1"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >> mesg='" >> > + mesg + "' before any redefines"); >> 54,56c57,62 >> < mesg = remote.echo("test message #1"); >> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >> < + mesg + "' after redefine #1"); >> --- >> > mesg = remote.echo1("test message #1.2"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >> mesg='" >> > + mesg + "' after redefine"); >> > mesg = remote.echo2("test message #2.2"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >> mesg='" >> > + mesg + "' after redefine"); >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java{.cr0,} >> 23a24,27 >> > // Reproducing this bug only requires an EMCP version of the >> > // RedefineSubclassWithTwoInterfacesImpl class so >> > // RedefineSubclassWithTwoInterfacesImpl.java and >> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java{.cr0,} >> 23a24,27 >> > // Reproducing this bug only requires an EMCP version of the >> > // RedefineSubclassWithTwoInterfacesImpl class so >> > // RedefineSubclassWithTwoInterfacesImpl.java and >> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesRemote.java{.cr0,} >> 40,41c40,41 >> < public String echo(String s) { >> < return "intf1<" + intf1.echo(s) + "> intf2< " + >> intf2.echo(s) + ">"; >> --- >> > public String echo1(String s) { >> > return "intf1<" + intf1.echo(s) + ">"; >> 42a43,46 >> > >> > public String echo2(String s) { >> > return "intf2<" + intf2.echo(s) + ">"; >> > } >> >> >> On 2/1/13 4:55 PM, Daniel D. Daugherty wrote: >>> And here is the webrev for the new tests (relative to JDK8-T&L): >>> >>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >>> >>> As always, comments and suggestions are welcome. >>> >>> Dan >>> >>> >>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>> > There are two new tests that will be pushed to the JDK repos using >>>> > a different bug ID (not yet filed): >>>> >>>> New bug is now filed: >>>> >>>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>>> to java/lang/instrument >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>> >>>> Of course, the tests cannot be pushed until the HSX changes have made >>>> it into a promoted build and thus available to JDK8-T&L. >>>> >>>> Dan >>>> >>>> >>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>> Greetings, >>>>> >>>>> I have a fix for the following JVM/TI bug: >>>>> >>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>> >>>>> The fix for the bug in the product code is one line: >>>>> >>>>> src/share/vm/oops/klassVtable.cpp: >>>>> >>>>> @@ -992,18 +1020,50 @@ >>>>> // RC_TRACE macro has an embedded ResourceMark >>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>> new_method->name()->as_C_string(), >>>>> new_method->signature()->as_C_string())); >>>>> } >>>>> - break; >>>>> + // cannot 'break' here; see for-loop comment above. >>>>> } >>>>> ime++; >>>>> } >>>>> } >>>>> } >>>>> >>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>> >>>>> The rest of the code in the webrevs are: >>>>> >>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>> changeset >>>>> - additional JVM/TI tracing code added by me and forward ported to >>>>> HSX-25 >>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>> elusive old or obsolete methods >>>>> - exposure of some printing code to the PRODUCT build so that the new >>>>> tracing is available in a PRODUCT build >>>>> >>>>> You might be wondering why the new tracing code is exposed in a >>>>> PRODUCT >>>>> build. Well, it appears that more and more PRODUCT bits >>>>> deployments are >>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>> run-time >>>>> to instrument their systems. This bug (7182152) was only >>>>> intermittently >>>>> reproducible in the WLS environment in which it occurred so I made >>>>> the >>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>> >>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>> fix resolves the issue in his environment. Thanks Raj! >>>>> >>>>> Here are the URLs for the three webrevs: >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>> >>>>> I have run the following test suites from the JPDA stack on the >>>>> JDK7u10/HSX-23.6 version of the fix with >>>>> -XX:TraceRedefineClasses=16384 >>>>> specified: >>>>> >>>>> sdk-jdi >>>>> sdk-jdi_closed >>>>> sdk-jli >>>>> vm-heapdump >>>>> vm-hprof >>>>> vm-jdb >>>>> vm-jdi >>>>> vm-jdwp >>>>> vm-jvmti >>>>> vm-sajdi >>>>> >>>>> The tested configs are: >>>>> >>>>> {Solaris-X86, WinXP} >>>>> X {Client VM, Server VM} >>>>> X {-Xmixed, -Xcomp} >>>>> X {product, fastdebug} >>>>> >>>>> With the 1-liner fix in place, the new tracing code does not find any >>>>> instances of this failure mode in any of the above test suites. >>>>> Without >>>>> the the 1-liner fix in place, the new tracing code finds one instance >>>>> of this failure mode in the above test suites: >>>>> >>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>> >>>>> There are two new tests that will be pushed to the JDK repos using >>>>> a different bug ID (not yet filed): >>>>> >>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>> >>>>> There will be a separate review request for the new tests. >>>>> >>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>> take all weekend to complete. >>>>> >>>>> Thanks, in advance, for any comments and/or suggestions. >>>>> >>>>> Dan >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >>> >>> >> > From mandy.chung at oracle.com Thu Feb 7 10:49:18 2013 From: mandy.chung at oracle.com (Mandy Chung) Date: Thu, 07 Feb 2013 10:49:18 -0800 Subject: RFR (S): 8004172: Update jstat counter names to reflect metaspace changes In-Reply-To: <51139FB6.4080300@oracle.com> References: <51011221.8050102@oracle.com> <51018414.1000103@oracle.com> <510695D9.5030603@oracle.com> <51069864.30007@oracle.com> <51116827.80100@oracle.com> <51139FB6.4080300@oracle.com> Message-ID: <5113F72E.40602@oracle.com> On 2/7/2013 4:36 AM, Erik Helin wrote: > Hi Mandy, > > thanks for the review! See comments inline. > > On 02/05/2013 09:14 PM, Mandy Chung wrote: > >> Looks good. Minor nits: >> >> gcCapacityOutput1.awk - should the last column in L7 be removed? > > I don't think so, jmap -gccause outputs the GC cause in the last > column, which sometimes can be "No GC". > > Why do you think it should be removed? > This fix changes from 4 columns "PGCMN PGCMX PGC PC" to 3 columns "MCMN MCMX MC". Line 7 is an example output that I would think the number of columns is expected to match with line 6. Is that right? > > On 02/05/2013 09:14 PM, Mandy Chung wrote: >> How are you going to integrate the hotspot and jdk fixes in a >> synchronized fashion? We shall make sure the TL sun/tools/jstat >> tests pass at all times. > > Thanks for catching this. the tests in tl do passes (I was wrong about > this). The change will have to be pushed in several steps: > 1. Add new metaspace counters (and keep the old ones). This will be > pushed to hotspot-gc. > 2. Wait for the change to trickle down to tl. > 3. Update the tests and jstat to use the new metaspace counters. > 4. Wait for this change to trickle down to hotspot-gc. > 5. Remove the old metaspace counters and push this to hotspot-gc. > > Do you want me to send out an additional webrev for what the hotspot > code will look like with both the old and new counters? Jon may want to review the hotspot code if revised. I only review the jdk change. Thanks for considering doing a 2-phase hotspot change. This kind of synchronized change is painful. For this specific change, I'm open to temporarily disable these jstat tests for one integration cycle since the impact is only in jstat counters and well isolated and that'll ease the pain. i.e. (1) your hotspot change + add jstat tests in jdk/test/ProblemList.txt to hotspot-gc and when it's pulled down to TL (2) your jdk jstats change + remove jstat tests in jdk/test/ProblemList.txt in TL. Just another option for you to consider. No issue from me in either option. Mandy From joe.darcy at oracle.com Thu Feb 7 20:47:42 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Fri, 08 Feb 2013 04:47:42 +0000 Subject: hg: jdk8/tl/langtools: 7195131: Update 2 compiler combo tests for repeating annotations to include package and default use cases Message-ID: <20130208044749.690294791E@hg.openjdk.java.net> Changeset: 5125b9854d07 Author: darcy Date: 2013-02-07 20:47 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/5125b9854d07 7195131: Update 2 compiler combo tests for repeating annotations to include package and default use cases Reviewed-by: darcy Contributed-by: sonali.goel at oracle.com ! test/tools/javac/annotations/repeatingAnnotations/combo/Helper.java + test/tools/javac/annotations/repeatingAnnotations/combo/TargetAnnoCombo.java + test/tools/javac/annotations/repeatingAnnotations/combo/TestCaseGenerator.java From john.coomes at oracle.com Thu Feb 7 20:57:23 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 08 Feb 2013 04:57:23 +0000 Subject: hg: hsx/hotspot-rt: 8 new changesets Message-ID: <20130208045723.C054347926@hg.openjdk.java.net> Changeset: 6e296219633d Author: tbell Date: 2013-01-31 13:31 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/6e296219633d 8006933: Need to use nawk on Solaris to avoid awk limitations Reviewed-by: erikj, dholmes, dsamersoff ! common/makefiles/IdlCompilation.gmk Changeset: 12782ec1da5f Author: ohrstrom Date: 2013-01-31 14:00 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/12782ec1da5f 8006872: Stop creating four jars with identical content in the new build system. Reviewed-by: erikj ! common/autoconf/spec.gmk.in ! common/makefiles/JavaCompilation.gmk ! common/makefiles/javadoc/Javadoc.gmk Changeset: 7e584be2ee58 Author: ohrstrom Date: 2013-02-01 11:22 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/7e584be2ee58 Merge Changeset: 339e4df096a2 Author: erikj Date: 2013-02-04 10:53 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/339e4df096a2 8007093: build-infra: Make should fail if spec is older than configure files Reviewed-by: tbell ! common/makefiles/Main.gmk Changeset: dea045cc48ca Author: erikj Date: 2013-02-04 11:02 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/dea045cc48ca 8007275: build-infra: Create final-images target Reviewed-by: tbell ! common/autoconf/generated-configure.sh ! common/makefiles/Jprt.gmk Changeset: d3d9ab8ee7b0 Author: erikj Date: 2013-02-05 16:50 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/d3d9ab8ee7b0 8007524: build-infra: Incremental build of tools.jar broken Reviewed-by: tbell ! common/makefiles/JavaCompilation.gmk Changeset: 278af9fc67e7 Author: katleman Date: 2013-02-05 18:54 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/278af9fc67e7 Merge Changeset: 3933eebc659d Author: katleman Date: 2013-02-07 12:32 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/3933eebc659d Added tag jdk8-b76 for changeset 278af9fc67e7 ! .hgtags From john.coomes at oracle.com Thu Feb 7 20:57:27 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 08 Feb 2013 04:57:27 +0000 Subject: hg: hsx/hotspot-rt/corba: 3 new changesets Message-ID: <20130208045732.508A747927@hg.openjdk.java.net> Changeset: ce106b6b7394 Author: ohrstrom Date: 2013-01-31 14:02 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/corba/rev/ce106b6b7394 8006872: Stop creating four jars with identical content in the new build system. Reviewed-by: erikj ! makefiles/BuildCorba.gmk Changeset: 58be6ca3c060 Author: katleman Date: 2013-02-05 18:54 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/corba/rev/58be6ca3c060 Merge Changeset: 35684a40c584 Author: katleman Date: 2013-02-07 12:32 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/corba/rev/35684a40c584 Added tag jdk8-b76 for changeset 58be6ca3c060 ! .hgtags From john.coomes at oracle.com Thu Feb 7 20:57:59 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 08 Feb 2013 04:57:59 +0000 Subject: hg: hsx/hotspot-rt/jaxws: 3 new changesets Message-ID: <20130208045808.6D2BE47929@hg.openjdk.java.net> Changeset: 54beebb17494 Author: ohrstrom Date: 2013-01-31 14:02 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxws/rev/54beebb17494 8006872: Stop creating four jars with identical content in the new build system. Reviewed-by: erikj ! makefiles/BuildJaxws.gmk Changeset: c4853f3f0e89 Author: katleman Date: 2013-02-05 18:54 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxws/rev/c4853f3f0e89 Merge Changeset: 64dfba1bad16 Author: katleman Date: 2013-02-07 12:33 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxws/rev/64dfba1bad16 Added tag jdk8-b76 for changeset c4853f3f0e89 ! .hgtags From john.coomes at oracle.com Thu Feb 7 20:57:36 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 08 Feb 2013 04:57:36 +0000 Subject: hg: hsx/hotspot-rt/jaxp: 3 new changesets Message-ID: <20130208045754.7615D47928@hg.openjdk.java.net> Changeset: 8f6ca8755f46 Author: ohrstrom Date: 2013-01-31 14:02 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/8f6ca8755f46 8006872: Stop creating four jars with identical content in the new build system. Reviewed-by: erikj ! makefiles/BuildJaxp.gmk Changeset: 0c08593944d0 Author: katleman Date: 2013-02-05 18:54 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/0c08593944d0 Merge Changeset: 02195d0e96b9 Author: katleman Date: 2013-02-07 12:32 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/02195d0e96b9 Added tag jdk8-b76 for changeset 0c08593944d0 ! .hgtags From john.coomes at oracle.com Thu Feb 7 20:58:17 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 08 Feb 2013 04:58:17 +0000 Subject: hg: hsx/hotspot-rt/jdk: 5 new changesets Message-ID: <20130208050006.CF1E24792A@hg.openjdk.java.net> Changeset: c5a7ac2a721f Author: ohrstrom Date: 2013-01-31 14:03 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c5a7ac2a721f 8006872: Stop creating four jars with identical content in the new build system. Reviewed-by: erikj ! makefiles/CreateJars.gmk ! makefiles/GensrcSwing.gmk ! makefiles/Setup.gmk Changeset: 35cf77f633c9 Author: tbell Date: 2013-02-01 09:16 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/35cf77f633c9 8006808: mapfile use check in jdk/make/common/shared/Defs-solaris.gmk is throwing 'egrep: syntax error' Summary: Use a valid egrep expression in the non-SPARC case Reviewed-by: dholmes ! make/common/shared/Defs-solaris.gmk Changeset: 5692ebe15321 Author: erikj Date: 2013-02-04 10:58 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/5692ebe15321 8007268: build-infra: configure reports Solaris needs gcc for deploy, but logs don't indicate it's used. Reviewed-by: tbell, katleman ! make/common/shared/Sanity.gmk Changeset: 3a2630528661 Author: katleman Date: 2013-02-05 18:54 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/3a2630528661 Merge Changeset: 933742f4bb4c Author: katleman Date: 2013-02-07 12:33 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/933742f4bb4c Added tag jdk8-b76 for changeset 3a2630528661 ! .hgtags From john.coomes at oracle.com Thu Feb 7 21:01:16 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 08 Feb 2013 05:01:16 +0000 Subject: hg: hsx/hotspot-rt/langtools: 3 new changesets Message-ID: <20130208050133.0CAB54792B@hg.openjdk.java.net> Changeset: 2d6789a725a4 Author: ohrstrom Date: 2013-01-31 14:01 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/2d6789a725a4 8006872: Stop creating four jars with identical content in the new build system. Reviewed-by: erikj ! makefiles/BuildLangtools.gmk Changeset: e81839b32337 Author: katleman Date: 2013-02-05 18:55 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/e81839b32337 Merge Changeset: 6fde20398015 Author: katleman Date: 2013-02-07 12:33 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/6fde20398015 Added tag jdk8-b76 for changeset e81839b32337 ! .hgtags From erik.helin at oracle.com Fri Feb 8 00:08:19 2013 From: erik.helin at oracle.com (Erik Helin) Date: Fri, 08 Feb 2013 09:08:19 +0100 Subject: RFR (S): 8004172: Update jstat counter names to reflect metaspace changes In-Reply-To: <5113F72E.40602@oracle.com> References: <51011221.8050102@oracle.com> <51018414.1000103@oracle.com> <510695D9.5030603@oracle.com> <51069864.30007@oracle.com> <51116827.80100@oracle.com> <51139FB6.4080300@oracle.com> <5113F72E.40602@oracle.com> Message-ID: <5114B273.9060504@oracle.com> On 02/07/2013 07:49 PM, Mandy Chung wrote: > > > On 2/7/2013 4:36 AM, Erik Helin wrote: >> Hi Mandy, >> >> thanks for the review! See comments inline. >> >> On 02/05/2013 09:14 PM, Mandy Chung wrote: >> >>> Looks good. Minor nits: >>> >>> gcCapacityOutput1.awk - should the last column in L7 be removed? >> >> I don't think so, jmap -gccause outputs the GC cause in the last >> column, which sometimes can be "No GC". >> >> Why do you think it should be removed? >> > > This fix changes from 4 columns "PGCMN PGCMX PGC PC" to 3 > columns "MCMN MCMX MC". Line 7 is an example output that I > would think the number of columns is expected to match with line 6. Is > that right? I'm sorry, I misread gcCapacityOutput1.awk as gcCauseOutput1.awk (that is why my answer makes no sense at all). You are completely right, the last column on line 7 should be removed! New webrev located at: http://cr.openjdk.java.net/~ehelin/8004172/jdk/webrev.05/ On 02/07/2013 07:49 PM, Mandy Chung wrote: >> On 02/05/2013 09:14 PM, Mandy Chung wrote: >>> How are you going to integrate the hotspot and jdk fixes in a >>> synchronized fashion? We shall make sure the TL sun/tools/jstat >>> tests pass at all times. >> >> Thanks for catching this. the tests in tl do passes (I was wrong about >> this). The change will have to be pushed in several steps: >> 1. Add new metaspace counters (and keep the old ones). This will be >> pushed to hotspot-gc. >> 2. Wait for the change to trickle down to tl. >> 3. Update the tests and jstat to use the new metaspace counters. >> 4. Wait for this change to trickle down to hotspot-gc. >> 5. Remove the old metaspace counters and push this to hotspot-gc. >> >> Do you want me to send out an additional webrev for what the hotspot >> code will look like with both the old and new counters? > > Jon may want to review the hotspot code if revised. I only review the > jdk change. > > Thanks for considering doing a 2-phase hotspot change. This kind of > synchronized change is painful. For this specific change, I'm open to > temporarily disable these jstat tests for one integration cycle since > the impact is only in jstat counters and well isolated and that'll ease > the pain. i.e. (1) your hotspot change + add jstat tests in > jdk/test/ProblemList.txt to hotspot-gc and when it's pulled down to TL > (2) your jdk jstats change + remove jstat tests in > jdk/test/ProblemList.txt in TL. > > Just another option for you to consider. No issue from me in either > option. Thanks, this is will at least make the push a little bit easier! I will talk to Alejandro to make sure that jdk/test/ProblemList.txt gets pushed all the way to the tl repository. Thanks, Erik > > Mandy From vicente.romero at oracle.com Fri Feb 8 01:14:07 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Fri, 08 Feb 2013 09:14:07 +0000 Subject: hg: jdk8/tl/langtools: 7166455: javac doesn't set ACC_STRICT bit on for strictfp class Message-ID: <20130208091412.4506D47935@hg.openjdk.java.net> Changeset: 762d0af062f5 Author: vromero Date: 2013-02-08 09:12 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/762d0af062f5 7166455: javac doesn't set ACC_STRICT bit on for strictfp class Reviewed-by: mcimadamore ! 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/jvm/Gen.java + test/tools/javac/7166455/CheckACC_STRICTFlagOnclinitTest.java From vicente.romero at oracle.com Fri Feb 8 01:16:56 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Fri, 08 Feb 2013 09:16:56 +0000 Subject: hg: jdk8/tl/langtools: 8005931: javac doesn't set ACC_STRICT for classes with package access Message-ID: <20130208091658.A12BE47936@hg.openjdk.java.net> Changeset: b1deb90d2e37 Author: vromero Date: 2013-02-08 09:15 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/b1deb90d2e37 8005931: javac doesn't set ACC_STRICT for classes with package access Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java + test/tools/javac/8005931/CheckACC_STRICTFlagOnPkgAccessClassTest.java From vicente.romero at oracle.com Fri Feb 8 01:22:22 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Fri, 08 Feb 2013 09:22:22 +0000 Subject: hg: jdk8/tl/langtools: 7167125: Two variables after the same operation in a inner class return different results Message-ID: <20130208092224.F166D47937@hg.openjdk.java.net> Changeset: 017e8bdd440f Author: vromero Date: 2013-02-08 09:21 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/017e8bdd440f 7167125: Two variables after the same operation in a inner class return different results Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Lower.java + test/tools/javac/7167125/DiffResultAfterSameOperationInnerClasses.java From rickard.backman at oracle.com Fri Feb 8 03:41:28 2013 From: rickard.backman at oracle.com (=?iso-8859-1?Q?Rickard_B=E4ckman?=) Date: Fri, 8 Feb 2013 12:41:28 +0100 Subject: RFR: 8006423 SA: NullPointerException in sun.jvm.hotspot.debugger.bsd.BsdThread.getContext(BsdThread.java:67) In-Reply-To: <4ACE7799-52E8-45AF-A249-DBC92FC7997E@oracle.com> References: <4ACE7799-52E8-45AF-A249-DBC92FC7997E@oracle.com> Message-ID: <390F0A8D-D191-4B8E-B0E7-9E633E00E419@oracle.com> Staffan, the change looks good to me! Thanks for fixing this problem. /R On Jan 17, 2013, at 8:48 PM, Staffan Larsen wrote: > This is a request for review of a fix for SA on OS X. > > webrev: http://cr.openjdk.java.net/~sla/8006423/webrev.00/ > bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8006423 > > The bug report contains a detailed description of the problem and the proposed solution. I have copied some of that text below. To verify the fix I have manually run jstack on OS X. > > Thanks, > /Staffan > > > > In many cases when running the SA version of JStack (or other SA tools) an NPE is thrown in BsdThread.getContext(). The underlaying cause is that SA fails to read the context of the thread in the native method getThreadIntegerRegisterSet0() (thread_get_state returns an error). > > The following is my understanding of what the cause is and a suggestion for a fix - my experience with OS X is a bit limited so I may be off on some details. > > thread_get_state() takes a thread_t as a parameter. The value of this parameter comes from SA reading the value of the OSThread._thread_id field in the Hotspot process being debugged. This value is set in HotSpot to ::mach_thread_self() which is documented as "The mach_thread_self system call returns the calling thread's thread port." > > My theory is that this "thread port" in not valid when a different process calls thread_get_state(). Instead, the other process (SA in this case) needs it's own "thread port" for the thread it wants to access. > > There is a way to list all the thread ports in a different process (or "task" as they are called in Mach) via the task_threads() function. > > So now we have the thread ports, we just need to correlate them with the C++ Thread objects in the Hotspot process. One way to do this correlation is via the stack pointer. We can get the current value of the stack pointer (rsp) in SA and look through all the Thread objects to see which one the stack pointer belongs to (by looking at Thread._stack_base and Thread._stack_size). > > Another way seems to be to use the thread_info() function with the THREAD_IDENTIFIER_INFO parameter. This gives us a struct which has a field called thread_id. The comment for this field in the thread_info.h file says "system-wide unique 64-bit thread id". The value for this thread_id is the same when called from Hotspot and when called from the debugging process (SA), so this looks like a way to do the correlation. > > This requires Hotspot to store this value in OSThread and SA to first list all the "thread ports", then find the thread_id for each one and select the right "thread port" for the thread we are looking for. > > Using a thread_id provided by the system seems more reliable than using the stack pointer for correlation. > > From markus.gronlund at oracle.com Fri Feb 8 04:39:48 2013 From: markus.gronlund at oracle.com (=?iso-8859-1?B?TWFya3VzIEdy9m5sdW5k?=) Date: Fri, 8 Feb 2013 04:39:48 -0800 (PST) Subject: RFR(XXS): 8007085: EnableTracing prints garbage for Compilation: [Java Method Message-ID: <015eed2d-5d5f-46d7-99d9-16e167499095@default> Greetings, ? Kindly asking for reviews and a putback sponsorship for the following change: ? Bugid: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007085 Webrev: http://cr.openjdk.java.net/~mgronlun/8007085/webrev01/ ? Thank you Markus -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130208/97e44b75/attachment.html From staffan.larsen at oracle.com Fri Feb 8 05:13:59 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Fri, 8 Feb 2013 14:13:59 +0100 Subject: RFR(XXS): 8007085: EnableTracing prints garbage for Compilation: [Java Method In-Reply-To: <015eed2d-5d5f-46d7-99d9-16e167499095@default> References: <015eed2d-5d5f-46d7-99d9-16e167499095@default> Message-ID: Looks good! /Staffan On 8 feb 2013, at 13:39, Markus Gr?nlund wrote: > Greetings, > > Kindly asking for reviews and a putback sponsorship for the following change: > > Bugid: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007085 > Webrev: http://cr.openjdk.java.net/~mgronlun/8007085/webrev01/ > > Thank you > Markus -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130208/00cd7fb6/attachment.html From christian.tornqvist at oracle.com Fri Feb 8 05:03:18 2013 From: christian.tornqvist at oracle.com (christian.tornqvist at oracle.com) Date: Fri, 08 Feb 2013 13:03:18 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8007434: Write tests for 8006298 Message-ID: <20130208130321.0E7374793A@hg.openjdk.java.net> Changeset: 3a88007634b0 Author: ctornqvi Date: 2013-02-08 10:42 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/3a88007634b0 8007434: Write tests for 8006298 Summary: Four tests written for 8006298 Reviewed-by: mgerdin, coleenp + test/runtime/CommandLine/BooleanFlagWithInvalidValue.java + test/runtime/CommandLine/FlagWithInvalidValue.java + test/runtime/CommandLine/NonBooleanFlagWithInvalidBooleanPrefix.java + test/runtime/CommandLine/UnrecognizedVMOption.java From mandy.chung at oracle.com Fri Feb 8 08:17:39 2013 From: mandy.chung at oracle.com (Mandy Chung) Date: Fri, 08 Feb 2013 08:17:39 -0800 Subject: RFR (S): 8004172: Update jstat counter names to reflect metaspace changes In-Reply-To: <5114B273.9060504@oracle.com> References: <51011221.8050102@oracle.com> <51018414.1000103@oracle.com> <510695D9.5030603@oracle.com> <51069864.30007@oracle.com> <51116827.80100@oracle.com> <51139FB6.4080300@oracle.com> <5113F72E.40602@oracle.com> <5114B273.9060504@oracle.com> Message-ID: <51152523.2030707@oracle.com> On 2/8/2013 12:08 AM, Erik Helin wrote: > > New webrev located at: > http://cr.openjdk.java.net/~ehelin/8004172/jdk/webrev.05/ Thumbs up. Mandy From chris.hegarty at oracle.com Fri Feb 8 08:37:46 2013 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Fri, 08 Feb 2013 16:37:46 +0000 Subject: jmx-dev [PATCH] JDK-8005472: com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.sh failed on windows In-Reply-To: <51118BEC.7000204@oracle.com> References: <50E16BA8.40203@oracle.com> <682D734D-2021-48DE-844D-C55A52D27EBD@oracle.com> <50EAB014.30805@oracle.com> <50EE813A.1020501@oracle.com> <50EEDC23.5080005@oracle.com> <50EF3622.9050500@oracle.com> <511119DA.5060806@oracle.com> <51118BEC.7000204@oracle.com> Message-ID: <511529DA.3050901@oracle.com> > Jon Gibbons suggested invoking the compiler API directly from java > instead of writing a shell script. Doing this seems fairly simple, and I > think it would be advantageous to keep things entirely in Java. I may > attempt to rewrite the defaultSVID test using the compiler API. Here's a test that does just that. http://hg.openjdk.java.net/jdk8/tl/jdk/file/2de8c6c2d652/test/sun/misc/JarIndex/metaInfFilenames/Basic.java -Chris. From staffan.larsen at oracle.com Fri Feb 8 08:34:39 2013 From: staffan.larsen at oracle.com (staffan.larsen at oracle.com) Date: Fri, 08 Feb 2013 16:34:39 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 2 new changesets Message-ID: <20130208163445.7AFD047943@hg.openjdk.java.net> Changeset: 758935f7c23f Author: sla Date: 2013-02-08 12:48 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/758935f7c23f 8006423: SA: NullPointerException in sun.jvm.hotspot.debugger.bsd.BsdThread.getContext(BsdThread.java:67) Summary: Do not rely on mach thread port names to identify threads from SA Reviewed-by: dholmes, minqi, rbackman ! agent/src/os/bsd/MacosxDebuggerLocal.m ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdThread.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/bsd_amd64/BsdAMD64JavaThreadPDAccess.java ! src/os/bsd/vm/osThread_bsd.hpp ! src/os/bsd/vm/os_bsd.cpp ! src/os_cpu/bsd_x86/vm/vmStructs_bsd_x86.hpp Changeset: 7194f764221c Author: sla Date: 2013-02-08 14:05 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/7194f764221c Merge From nils.loodin at oracle.com Fri Feb 8 08:40:00 2013 From: nils.loodin at oracle.com (Nils Loodin) Date: Fri, 08 Feb 2013 17:40:00 +0100 Subject: RFR: JDK-8007804: Need to be able to access Performance counter by name from JVM Message-ID: <51152A60.8000004@oracle.com> Please review the following very small and insignificant change: Basically, I need to access a performance-counter by name from within the JVM. http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007804 http://cr.openjdk.java.net/~nloodin/8007804/webrev.00/ Regards, Nils Loodin From naoto.sato at oracle.com Fri Feb 8 09:36:43 2013 From: naoto.sato at oracle.com (naoto.sato at oracle.com) Date: Fri, 08 Feb 2013 17:36:43 +0000 Subject: hg: jdk8/tl/jdk: 8007038: ArrayIndexOutOfBoundsException on calling localizedDateTime().print() with JapaneseChrono Message-ID: <20130208173718.23C2E4794A@hg.openjdk.java.net> Changeset: 79d7595abe95 Author: naoto Date: 2013-02-08 09:35 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/79d7595abe95 8007038: ArrayIndexOutOfBoundsException on calling localizedDateTime().print() with JapaneseChrono Reviewed-by: okutsu ! src/share/classes/sun/util/locale/provider/CalendarNameProviderImpl.java + test/java/util/Calendar/Bug8007038.java From stuart.marks at oracle.com Fri Feb 8 11:50:34 2013 From: stuart.marks at oracle.com (Stuart Marks) Date: Fri, 08 Feb 2013 11:50:34 -0800 Subject: jmx-dev [PATCH] JDK-8005472: com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.sh failed on windows In-Reply-To: <511529DA.3050901@oracle.com> References: <50E16BA8.40203@oracle.com> <682D734D-2021-48DE-844D-C55A52D27EBD@oracle.com> <50EAB014.30805@oracle.com> <50EE813A.1020501@oracle.com> <50EEDC23.5080005@oracle.com> <50EF3622.9050500@oracle.com> <511119DA.5060806@oracle.com> <51118BEC.7000204@oracle.com> <511529DA.3050901@oracle.com> Message-ID: <5115570A.3010303@oracle.com> On 2/8/13 8:37 AM, Chris Hegarty wrote: >> Jon Gibbons suggested invoking the compiler API directly from java >> instead of writing a shell script. Doing this seems fairly simple, and I >> think it would be advantageous to keep things entirely in Java. I may >> attempt to rewrite the defaultSVID test using the compiler API. > > Here's a test that does just that. > > http://hg.openjdk.java.net/jdk8/tl/jdk/file/2de8c6c2d652/test/sun/misc/JarIndex/metaInfFilenames/Basic.java Oh cool, interesting. This test invokes com.sun.tools.javac.Main.compile() and passes an array of String arguments, just like a command line. It seems pretty effective, at least for this case. But that's not what Jon was talking about. :-) I believe Jon was referring to the offical Java Compiler API (JSR 199) which lives in javax.tools. This API is more fiddly than just passing an array of strings to javac's main, but it's also considerably more flexible. For example, it's possible to use it to call the compiler directly on a String! (I haven't coerced it to compile a String directly to class bytes, but it should be possible to do so in principle.) Anyway, this is good, we should investigate these approaches for a variety of use cases and develop a repertoire of techniques. Eventually we may be able to avoid writing shell script tests entirely. s'marks From daniel.daugherty at oracle.com Fri Feb 8 14:26:49 2013 From: daniel.daugherty at oracle.com (daniel.daugherty at oracle.com) Date: Fri, 08 Feb 2013 22:26:49 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 31 new changesets Message-ID: <20130208222748.95AE14795E@hg.openjdk.java.net> Changeset: 3c327c2b6782 Author: jmasa Date: 2013-01-03 15:03 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/3c327c2b6782 8004895: NPG: JMapPermCore test failure caused by warnings about missing field Reviewed-by: johnc ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp ! src/share/vm/memory/binaryTreeDictionary.cpp ! src/share/vm/memory/binaryTreeDictionary.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: ef1e11845e18 Author: jmasa Date: 2013-02-04 12:01 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/ef1e11845e18 Merge ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 454d7cc622ab Author: dcubed Date: 2013-02-06 15:22 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/454d7cc622ab Merge - agent/src/share/classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java - make/solaris/makefiles/kernel.make ! src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp - test/runtime/7158988/TestFieldMonitor.sh Changeset: fcc9e7681d63 Author: vlivanov Date: 2013-02-01 02:50 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/fcc9e7681d63 8006410: allocating without ResourceMark when CompileCommand was specified Reviewed-by: kvn, vlivanov Contributed-by: Igor Ignatyev ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciInstanceKlass.cpp ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethodData.cpp ! src/share/vm/oops/symbol.cpp Changeset: 60bba1398c51 Author: vlivanov Date: 2013-02-01 03:02 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/60bba1398c51 8005439: no message about inline method if it specifed by CompileCommand Reviewed-by: kvn, vlivanov Contributed-by: Igor Ignatyev ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/parse.hpp Changeset: e4bb0bda20a4 Author: morris Date: 2013-01-25 16:31 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/e4bb0bda20a4 8005811: Turn off TierdCompilation in JDK8 trunk for all platforms Summary: Disable tiered compilation in jdk8 because of CodeCache and performance anomalies Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/c2_globals_sparc.hpp ! src/cpu/x86/vm/c2_globals_x86.hpp Changeset: 76341426b645 Author: drchase Date: 2013-01-25 16:09 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/76341426b645 8006500: compiler/8004741/Test8004741.java fails intermediately Summary: rewrote the test to be more reliable, add test for invalid size exception Reviewed-by: kvn ! test/compiler/8004741/Test8004741.java Changeset: 9fae07c31641 Author: morris Date: 2013-01-25 16:50 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/9fae07c31641 6518907: cleanup IA64 specific code in Hotspot Summary: removed unused IA64 specific code Reviewed-by: twisti, kvn, dholmes ! agent/src/os/linux/LinuxDebuggerLocal.c ! agent/src/os/linux/libproc.h ! agent/src/os/win32/windbg/sawindbg.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/opto/generateOptoStub.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/vframeArray.cpp Changeset: 37c18711a0df Author: roland Date: 2013-02-04 09:11 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/37c18711a0df 8005114: VM is crashing in ciKlass*ciObjArrayKlass::element_klass() if metaspaces are full Summary: missing test for loaded klass in c1 Reviewed-by: kvn ! src/share/vm/c1/c1_Instruction.cpp Changeset: 39901f2f1abe Author: mikael Date: 2013-02-04 10:28 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/39901f2f1abe 8007403: Incorrect format arguments in adlparse.cpp Reviewed-by: kvn, twisti ! src/share/vm/adlc/adlparse.cpp Changeset: 8bd61471a109 Author: roland Date: 2013-02-04 11:30 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/8bd61471a109 8007144: Incremental inlining mistakes some call sites for dead ones and doesn't inline them Summary: wrong detection for dead call sites. Reviewed-by: kvn ! src/share/vm/opto/callGenerator.cpp Changeset: 6a51fc70a15e Author: vlivanov Date: 2013-02-05 08:25 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/6a51fc70a15e 8006613: adding reason to made_not_compilable Reviewed-by: kvn, vlivanov Contributed-by: Igor Ignatyev ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/oops/methodData.hpp ! src/share/vm/runtime/deoptimization.cpp Changeset: 4fcf990aa34a Author: drchase Date: 2013-02-06 11:33 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/4fcf990aa34a 8006807: C2 crash due to out of bounds array access in Parse::do_multianewarray Summary: check ndimensions before accessing length[i] element Reviewed-by: kvn Contributed-by: volker.simonis at gmail.com ! src/share/vm/opto/parse3.cpp Changeset: d05ff4bf41b3 Author: vlivanov Date: 2013-02-07 12:23 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/d05ff4bf41b3 Merge ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/oops/methodData.hpp Changeset: db9981fd3124 Author: jprovino Date: 2013-01-23 13:02 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/db9981fd3124 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS Summary: Rename INCLUDE_ALTERNATE_GCS to INCLUDE_ALL_GCS and replace SERIALGC with INCLUDE_ALL_GCS. Reviewed-by: coleenp, stefank ! make/bsd/makefiles/minimal1.make ! make/excludeSrc.make ! make/linux/makefiles/minimal1.make ! src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp ! src/cpu/sparc/vm/cppInterpreter_sparc.cpp ! src/cpu/sparc/vm/macroAssembler_sparc.cpp ! src/cpu/sparc/vm/macroAssembler_sparc.hpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/c1_CodeStubs_x86.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.hpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/cpu/zero/vm/assembler_zero.cpp ! src/cpu/zero/vm/cppInterpreter_zero.cpp ! src/share/vm/c1/c1_CodeStubs.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciReplay.cpp ! src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.hpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/shared/allocationStats.cpp ! src/share/vm/gc_implementation/shared/allocationStats.hpp ! src/share/vm/gc_implementation/shared/concurrentGCThread.hpp ! src/share/vm/gc_implementation/shared/gSpaceCounters.cpp ! src/share/vm/gc_implementation/shared/gSpaceCounters.hpp ! src/share/vm/gc_implementation/shared/gcAdaptivePolicyCounters.hpp ! src/share/vm/gc_implementation/shared/hSpaceCounters.hpp ! src/share/vm/gc_implementation/shared/immutableSpace.cpp ! src/share/vm/gc_implementation/shared/isGCActiveMark.hpp ! src/share/vm/gc_implementation/shared/markSweep.inline.hpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.hpp ! src/share/vm/gc_implementation/shared/mutableSpace.cpp ! src/share/vm/gc_implementation/shared/spaceCounters.cpp ! src/share/vm/gc_implementation/shared/spaceCounters.hpp ! src/share/vm/gc_implementation/shared/vmGCOperations.cpp ! src/share/vm/memory/binaryTreeDictionary.cpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableRS.cpp ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/memory/collectorPolicy.hpp ! src/share/vm/memory/freeBlockDictionary.cpp ! src/share/vm/memory/freeList.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/generationSpec.cpp ! src/share/vm/memory/heapInspection.cpp ! src/share/vm/memory/heapInspection.hpp ! src/share/vm/memory/space.cpp ! src/share/vm/memory/space.hpp ! src/share/vm/memory/specialized_oop_closures.hpp ! src/share/vm/memory/tenuredGeneration.cpp ! src/share/vm/memory/tenuredGeneration.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/cpCache.cpp ! src/share/vm/oops/instanceClassLoaderKlass.cpp ! src/share/vm/oops/instanceClassLoaderKlass.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceMirrorKlass.cpp ! src/share/vm/oops/instanceMirrorKlass.hpp ! src/share/vm/oops/instanceRefKlass.cpp ! src/share/vm/oops/instanceRefKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/klassPS.hpp ! src/share/vm/oops/objArrayKlass.cpp ! src/share/vm/oops/objArrayKlass.hpp ! src/share/vm/oops/objArrayKlass.inline.hpp ! src/share/vm/oops/oop.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/oops/oop.pcgc.inline.hpp ! src/share/vm/oops/oop.psgc.inline.hpp ! src/share/vm/oops/typeArrayKlass.cpp ! src/share/vm/precompiled/precompiled.hpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jvmtiEnvBase.hpp ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/jvmtiExport.hpp ! src/share/vm/prims/jvmtiTagMap.cpp ! src/share/vm/prims/nativeLookup.cpp ! src/share/vm/prims/unsafe.cpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/fprofiler.hpp ! src/share/vm/runtime/globals.cpp ! src/share/vm/runtime/globals_extension.hpp ! src/share/vm/runtime/init.cpp ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/services/attachListener.hpp ! src/share/vm/services/classLoadingService.cpp ! src/share/vm/services/classLoadingService.hpp ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/diagnosticCommand.hpp ! src/share/vm/services/g1MemoryPool.hpp ! src/share/vm/services/heapDumper.cpp ! src/share/vm/services/management.cpp ! src/share/vm/services/memReporter.hpp ! src/share/vm/services/memoryPool.cpp ! src/share/vm/services/memoryPool.hpp ! src/share/vm/services/memoryService.cpp ! src/share/vm/services/psMemoryPool.hpp ! src/share/vm/services/runtimeService.cpp ! src/share/vm/utilities/macros.hpp ! src/share/vm/utilities/top.hpp ! src/share/vm/utilities/yieldingWorkgroup.cpp ! src/share/vm/utilities/yieldingWorkgroup.hpp Changeset: 8391fdd36e1f Author: dlong Date: 2013-01-27 01:07 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/8391fdd36e1f Merge ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.hpp ! src/share/vm/ci/ciReplay.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/services/heapDumper.cpp Changeset: 3c9bc17b9403 Author: bpittore Date: 2013-02-07 16:05 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/3c9bc17b9403 Merge ! src/share/vm/gc_implementation/shared/vmGCOperations.cpp ! src/share/vm/memory/binaryTreeDictionary.cpp ! src/share/vm/memory/heapInspection.cpp ! src/share/vm/memory/heapInspection.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/services/attachListener.hpp ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/diagnosticCommand.hpp Changeset: df8462fbe585 Author: vladidan Date: 2013-02-07 20:40 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/df8462fbe585 Merge ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/runtime/sharedRuntime.cpp Changeset: ec0c4951286c Author: stefank Date: 2013-01-29 10:51 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/ec0c4951286c 8004710: NPG: jmap could throw sun.jvm.hotspot.types.WrongTypeException after PermGen removal Summary: When calculating live object regions, make sure that the alignment reserve, at the end of a TLAB, is excluded. Reviewed-by: jmasa, brutisso ! agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/ThreadLocalAllocBuffer.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java ! src/share/vm/runtime/vmStructs.cpp Changeset: 4700e77d44c1 Author: johnc Date: 2013-02-01 13:17 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/4700e77d44c1 8006894: G1: Number of marking threads missing from PrintFlagsFinal output Summary: Set ConcGCThreads to the calculated number of marking threads. Reviewed-by: jmasa, ysr ! src/share/vm/gc_implementation/g1/concurrentMark.cpp Changeset: d9058e388631 Author: mikael Date: 2013-02-01 17:21 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/d9058e388631 8007257: NPG: metaspace.cpp: Incorrect arguments in calls to err_msg Summary: Fix size checks in assert and corrected some print formats. Also reviewed by vitalyd at gmail.com. Reviewed-by: coleenp, sspitsyn ! src/share/vm/memory/metaspace.cpp Changeset: 256d3f43c177 Author: johnc Date: 2013-01-31 10:45 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/256d3f43c177 8005875: G1: Kitchensink fails with ParallelGCThreads=0 Summary: Check that the concurrent marking worker gang exists in ConcurrentMark::print_worker_threads_on(). Changes were also reviewed by Vitaly Davidovich . Reviewed-by: brutisso ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp Changeset: 80518f4ecf32 Author: jmasa Date: 2013-02-04 12:51 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/80518f4ecf32 Merge ! src/share/vm/runtime/vmStructs.cpp Changeset: f2f0cf0f5444 Author: jmasa Date: 2013-02-04 13:26 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/f2f0cf0f5444 Merge Changeset: 06fd03af6ce4 Author: johnc Date: 2013-02-04 13:24 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/06fd03af6ce4 8001384: G1: assert(!is_null(v)) failed: narrow oop value can never be zero Summary: Flush any deferred card mark before a Java thread exits. Reviewed-by: brutisso, jmasa ! src/share/vm/runtime/thread.cpp Changeset: 84304a77c4e3 Author: johnc Date: 2013-02-04 19:40 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/84304a77c4e3 Merge Changeset: 95ccff9eee8e Author: jwilhelm Date: 2013-01-28 15:41 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/95ccff9eee8e 6348447: Specifying -XX:OldSize crashes 64-bit VMs Summary: Heap size will be set to allow for OldSize to fit. Also reviewed by vitalyd at gmail.com Reviewed-by: ehelin, jmasa ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/memory/collectorPolicy.hpp Changeset: f90b9bceb8e5 Author: johnc Date: 2013-02-05 09:13 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/f90b9bceb8e5 8005032: G1: Cleanup serial reference processing closures in concurrent marking Summary: Reuse the parallel reference processing oop closures during serial reference processing. Reviewed-by: brutisso ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp Changeset: 50d3b37d5bcd Author: johnc Date: 2013-02-05 22:24 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/50d3b37d5bcd Merge Changeset: 1135141fb97e Author: brutisso Date: 2013-02-08 10:08 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/1135141fb97e Merge ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/memory/collectorPolicy.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 461a3adac4d1 Author: sspitsyn Date: 2013-02-08 09:14 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/461a3adac4d1 Merge ! src/share/vm/oops/cpCache.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp From joe.darcy at oracle.com Fri Feb 8 16:00:41 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Sat, 09 Feb 2013 00:00:41 +0000 Subject: hg: jdk8/tl/jdk: 8005623: Retrofit FunctionalInterface annotations to core platform interfaces Message-ID: <20130209000112.8DE1047963@hg.openjdk.java.net> Changeset: 522fb3867a3a Author: darcy Date: 2013-02-08 16:00 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/522fb3867a3a 8005623: Retrofit FunctionalInterface annotations to core platform interfaces Reviewed-by: mduigou, chegar, alanb ! src/share/classes/java/io/Closeable.java ! src/share/classes/java/io/FileFilter.java ! src/share/classes/java/io/FilenameFilter.java ! src/share/classes/java/io/Flushable.java ! src/share/classes/java/lang/AutoCloseable.java ! src/share/classes/java/lang/Comparable.java ! src/share/classes/java/lang/Iterable.java ! src/share/classes/java/lang/Readable.java ! src/share/classes/java/lang/Runnable.java ! src/share/classes/java/lang/Thread.java ! src/share/classes/java/nio/file/DirectoryStream.java ! src/share/classes/java/nio/file/PathMatcher.java ! src/share/classes/java/util/Comparator.java ! src/share/classes/java/util/function/BinaryOperator.java ! src/share/classes/java/util/function/Block.java ! src/share/classes/java/util/function/DoubleBinaryOperator.java ! src/share/classes/java/util/function/DoubleBlock.java ! src/share/classes/java/util/function/DoubleFunction.java ! src/share/classes/java/util/function/DoubleSupplier.java ! src/share/classes/java/util/function/DoubleUnaryOperator.java ! src/share/classes/java/util/function/Function.java ! src/share/classes/java/util/function/IntBinaryOperator.java ! src/share/classes/java/util/function/IntBlock.java ! src/share/classes/java/util/function/IntFunction.java ! src/share/classes/java/util/function/IntSupplier.java ! src/share/classes/java/util/function/IntUnaryOperator.java ! src/share/classes/java/util/function/LongBinaryOperator.java ! src/share/classes/java/util/function/LongBlock.java ! src/share/classes/java/util/function/LongFunction.java ! src/share/classes/java/util/function/LongSupplier.java ! src/share/classes/java/util/function/LongUnaryOperator.java ! src/share/classes/java/util/function/Predicate.java ! src/share/classes/java/util/function/Supplier.java ! src/share/classes/java/util/function/UnaryOperator.java ! src/share/classes/java/util/logging/Filter.java ! src/share/classes/java/util/prefs/PreferenceChangeListener.java From zhengyu.gu at oracle.com Fri Feb 8 16:49:49 2013 From: zhengyu.gu at oracle.com (zhengyu.gu at oracle.com) Date: Sat, 09 Feb 2013 00:49:49 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 2 new changesets Message-ID: <20130209004954.C77E947967@hg.openjdk.java.net> Changeset: 8bf62bd86a4e Author: zgu Date: 2013-02-08 14:49 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/8bf62bd86a4e 8007791: More Restricted hs_err file permission Summary: Enforce more restricted hs_file permission Reviewed-by: acorn, dcubed, dsamersoff ! src/share/vm/utilities/vmError.cpp Changeset: 1ba5b18088a8 Author: zgu Date: 2013-02-08 14:32 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/1ba5b18088a8 Merge From jonathan.gibbons at oracle.com Fri Feb 8 17:35:27 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Sat, 09 Feb 2013 01:35:27 +0000 Subject: hg: jdk8/tl/langtools: 8007610: javadoc doclint does not work with -private Message-ID: <20130209013533.BE20047968@hg.openjdk.java.net> Changeset: 60caf53b98e2 Author: jjg Date: 2013-02-08 17:35 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/60caf53b98e2 8007610: javadoc doclint does not work with -private Reviewed-by: darcy ! src/share/classes/com/sun/tools/javadoc/DocEnv.java ! test/com/sun/javadoc/T6735320/T6735320.java ! test/tools/javadoc/doclint/DocLintTest.java From david.holmes at oracle.com Fri Feb 8 18:13:09 2013 From: david.holmes at oracle.com (David Holmes) Date: Sat, 09 Feb 2013 12:13:09 +1000 Subject: RFR: JDK-8007804: Need to be able to access Performance counter by name from JVM In-Reply-To: <51152A60.8000004@oracle.com> References: <51152A60.8000004@oracle.com> Message-ID: <5115B0B5.9030004@oracle.com> On 9/02/2013 2:40 AM, Nils Loodin wrote: > Please review the following very small and insignificant change: > Basically, I need to access a performance-counter by name from within > the JVM. The method name by_name seems a little odd to me. find_by_name would seem more consistent (particularly if you consider the strange PerfDataList::by_name method - which compares names) David > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007804 > http://cr.openjdk.java.net/~nloodin/8007804/webrev.00/ > > Regards, > Nils Loodin > > From zhengyu.gu at oracle.com Fri Feb 8 19:19:01 2013 From: zhengyu.gu at oracle.com (zhengyu.gu at oracle.com) Date: Sat, 09 Feb 2013 03:19:01 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 3 new changesets Message-ID: <20130209031910.38D7E4796D@hg.openjdk.java.net> Changeset: 41d73c9b30a8 Author: zgu Date: 2013-02-08 16:31 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/41d73c9b30a8 8006691: Remove jvm_version_info.is_kernel_jvm field Summary: Removed is_kernel_jvm from jvm_version_info as Kernel VM has been deprecated Reviewed-by: mchung, coleenp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h Changeset: 3f11b37f047c Author: zgu Date: 2013-02-08 13:55 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/3f11b37f047c Merge Changeset: f989aff6946f Author: zgu Date: 2013-02-08 16:56 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/f989aff6946f Merge From chris.hegarty at oracle.com Sat Feb 9 00:37:27 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Sat, 09 Feb 2013 08:37:27 +0000 Subject: hg: jdk8/tl/jdk: 8005697: Add StampedLock Message-ID: <20130209083747.A8AA847974@hg.openjdk.java.net> Changeset: 36d25dc2b8f0 Author: dl Date: 2013-02-09 08:35 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/36d25dc2b8f0 8005697: Add StampedLock Reviewed-by: chegar, alanb, dice, martin ! make/java/java/FILES_java.gmk ! src/share/classes/java/util/concurrent/locks/LockSupport.java + src/share/classes/java/util/concurrent/locks/StampedLock.java + test/java/util/concurrent/locks/StampedLock/Basic.java From chris.hegarty at oracle.com Sat Feb 9 00:43:05 2013 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Sat, 09 Feb 2013 08:43:05 +0000 Subject: jmx-dev [PATCH] JDK-8005472: com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.sh failed on windows In-Reply-To: <5115570A.3010303@oracle.com> References: <50E16BA8.40203@oracle.com> <682D734D-2021-48DE-844D-C55A52D27EBD@oracle.com> <50EAB014.30805@oracle.com> <50EE813A.1020501@oracle.com> <50EEDC23.5080005@oracle.com> <50EF3622.9050500@oracle.com> <511119DA.5060806@oracle.com> <51118BEC.7000204@oracle.com> <511529DA.3050901@oracle.com> <5115570A.3010303@oracle.com> Message-ID: <51160C19.6050208@oracle.com> On 02/08/2013 07:50 PM, Stuart Marks wrote: > On 2/8/13 8:37 AM, Chris Hegarty wrote: >>> Jon Gibbons suggested invoking the compiler API directly from java >>> instead of writing a shell script. Doing this seems fairly simple, and I >>> think it would be advantageous to keep things entirely in Java. I may >>> attempt to rewrite the defaultSVID test using the compiler API. >> >> Here's a test that does just that. >> >> http://hg.openjdk.java.net/jdk8/tl/jdk/file/2de8c6c2d652/test/sun/misc/JarIndex/metaInfFilenames/Basic.java >> > > Oh cool, interesting. > > This test invokes com.sun.tools.javac.Main.compile() and passes an array > of String arguments, just like a command line. It seems pretty > effective, at least for this case. This com.sun API is a supported interface into the compiler. I find it works really well when writing tests, mainly because of it simplicity. I have avoided a number of shell scripts by using it. It should be a reasonable candidate if considering removing a number of shell scripts, that do something trivial, then compile and run. -Chris. > > But that's not what Jon was talking about. :-) > > I believe Jon was referring to the offical Java Compiler API (JSR 199) > which lives in javax.tools. This API is more fiddly than just passing an > array of strings to javac's main, but it's also considerably more > flexible. For example, it's possible to use it to call the compiler > directly on a String! (I haven't coerced it to compile a String directly > to class bytes, but it should be possible to do so in principle.) > > Anyway, this is good, we should investigate these approaches for a > variety of use cases and develop a repertoire of techniques. Eventually > we may be able to avoid writing shell script tests entirely. > > s'marks > > From weijun.wang at oracle.com Sat Feb 9 00:46:40 2013 From: weijun.wang at oracle.com (weijun.wang at oracle.com) Date: Sat, 09 Feb 2013 08:46:40 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20130209084703.D7F1447975@hg.openjdk.java.net> Changeset: d14cd2272b2d Author: weijun Date: 2013-02-09 16:43 +0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/d14cd2272b2d 8001104: Unbound SASL service: the GSSAPI/krb5 mech Reviewed-by: valeriep ! src/share/classes/com/sun/security/auth/module/Krb5LoginModule.java ! src/share/classes/javax/security/auth/kerberos/JavaxSecurityAuthKerberosAccessImpl.java ! src/share/classes/javax/security/auth/kerberos/KeyTab.java ! src/share/classes/sun/security/jgss/LoginConfigImpl.java ! src/share/classes/sun/security/jgss/krb5/Krb5Util.java ! src/share/classes/sun/security/jgss/krb5/ServiceCreds.java ! src/share/classes/sun/security/jgss/krb5/SubjectComber.java ! src/share/classes/sun/security/krb5/JavaxSecurityAuthKerberosAccess.java ! src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java ! src/share/classes/sun/security/provider/ConfigSpiFile.java ! test/sun/security/krb5/ServiceCredsCombination.java ! test/sun/security/krb5/auto/AcceptPermissions.java + test/sun/security/krb5/auto/GSSUnbound.java ! test/sun/security/krb5/auto/OneKDC.java + test/sun/security/krb5/auto/SaslUnbound.java + test/sun/security/krb5/auto/UnboundService.java Changeset: 57cb988c811e Author: weijun Date: 2013-02-09 16:43 +0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/57cb988c811e 8007761: NTLM coding errors Reviewed-by: chegar ! src/share/classes/com/sun/security/ntlm/Client.java ! src/share/classes/com/sun/security/ntlm/NTLM.java From staffan.larsen at oracle.com Sat Feb 9 11:06:26 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Sat, 9 Feb 2013 20:06:26 +0100 Subject: RFR (XS): 8007901 SA: Don't read flag values as constants Message-ID: Please review this small patch to avoid reading flag values in SA as constants. Reading them as constants means SA will only see the default value for these flags. Instead the infrastructure in SA to read command line flags should be used. In addition the value if EnableInvokeDynamic is never used, so I removed that from SA. webrev: http://cr.openjdk.java.net/~sla/8007901/webrev.00/ bug: http://bugs.sun.com/view_bug.do?bug_id=8007901 (not yet visible) Thanks, /Staffan From kumar.x.srinivasan at oracle.com Sun Feb 10 08:12:34 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Sun, 10 Feb 2013 16:12:34 +0000 Subject: hg: jdk8/tl/jdk: 8007519: [unpack200] produces bad class files when producing BootstrapMethods attribute Message-ID: <20130210161315.5094947989@hg.openjdk.java.net> Changeset: 58c95d0b6b1a Author: ksrini Date: 2013-02-10 08:07 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/58c95d0b6b1a 8007519: [unpack200] produces bad class files when producing BootstrapMethods attribute Reviewed-by: alanb ! test/ProblemList.txt From kumar.x.srinivasan at oracle.com Sun Feb 10 09:02:01 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Sun, 10 Feb 2013 17:02:01 +0000 Subject: hg: jdk8/tl/jdk: 8007902: [unpack200] incorrect BootstrapMethods attribute Message-ID: <20130210170212.F0A6B4798A@hg.openjdk.java.net> Changeset: 520a3433883d Author: ksrini Date: 2013-02-10 08:49 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/520a3433883d 8007902: [unpack200] incorrect BootstrapMethods attribute Reviewed-by: jjh ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp ! test/tools/pack200/Pack200Test.java ! test/tools/pack200/pack200-verifier/data/golden.jar From fweimer at redhat.com Mon Feb 11 02:28:35 2013 From: fweimer at redhat.com (Florian Weimer) Date: Mon, 11 Feb 2013 11:28:35 +0100 Subject: Official number assignments for JDP (was: Re: [7u] Request for approval for 8002048 - Protocol for discovery of manageable Java processes on a network) In-Reply-To: <511389CE.1080703@oracle.com> References: <5111208D.1000809@oracle.com> <5112779A.8060500@redhat.com> <511389CE.1080703@oracle.com> Message-ID: <5118C7D3.2090903@redhat.com> On 02/07/2013 12:02 PM, Dmitry Samersoff wrote: > Florian, > >> I can submit a request to IANA if you prefer, but I don't know what >> the turn-around time will be. > > Official IANA assignment would benefit everybody and your help is much > appreciated. > > So please submit IANA request. I filled out the port number and multicast forms last week. I've already received a Multicast address, ticket [IANA #656814]: 224.0.23.178 JDP Java Discovery Protocol Also listed under . (The way things work, it's listed under the requestor. But the address is yours.) I was asked to pass on the following comment: "Approved. But please tell them to consider cases where different networks (like many universities around the world) have multicast connectivity, and applications in one network discovering applications in totally unrelated networks." The port number application, ticket [IANA #656816], hasn't been processed yet. I requested registration of port 7095, but I don't know if we'll receive a different number in the end. How should we proceed? Should we wait a bit and change default address and port in one patch? Or do you want to change the default address now and the port number later? -- Florian Weimer / Red Hat Product Security Team From dmitry.samersoff at oracle.com Mon Feb 11 04:04:00 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Mon, 11 Feb 2013 16:04:00 +0400 Subject: Official number assignments for JDP In-Reply-To: <5118C7D3.2090903@redhat.com> References: <5111208D.1000809@oracle.com> <5112779A.8060500@redhat.com> <511389CE.1080703@oracle.com> <5118C7D3.2090903@redhat.com> Message-ID: <5118DE30.4080109@oracle.com> Florian, Thank you for doing it. I'll check with client team what is better for them. -Dmitry On 2013-02-11 14:28, Florian Weimer wrote: > On 02/07/2013 12:02 PM, Dmitry Samersoff wrote: >> Florian, >> >>> I can submit a request to IANA if you prefer, but I don't know what >>> the turn-around time will be. >> >> Official IANA assignment would benefit everybody and your help is much >> appreciated. >> >> So please submit IANA request. > > I filled out the port number and multicast forms last week. > > I've already received a Multicast address, ticket [IANA #656814]: > > 224.0.23.178 JDP Java Discovery Protocol > > Also listed under . > (The way things work, it's listed under the requestor. But the address > is yours.) > > I was asked to pass on the following comment: > > "Approved. But please tell them to consider cases where different > networks (like many universities around the world) have multicast > connectivity, and applications in one network discovering > applications in totally unrelated networks." > > The port number application, ticket [IANA #656816], hasn't been > processed yet. I requested registration of port 7095, but I don't know > if we'll receive a different number in the end. > > How should we proceed? Should we wait a bit and change default address > and port in one patch? Or do you want to change the default address now > and the port number later? > -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From dmitry.samersoff at oracle.com Mon Feb 11 04:45:09 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Mon, 11 Feb 2013 16:45:09 +0400 Subject: RR (S): 8007786 JDK-8002048 testcase doesn't work on Solaris Message-ID: <5118E7D5.9020309@oracle.com> Hi Everybody, Please review a test bug: Summary: Built in test function of Solaris /bin/sh doesn't have -e operator and doesn't allow a variable and a function with the same name. Webrev: http://cr.openjdk.java.net/~dsamersoff/8007786.JDP-TEST2/webrev.01/jdk/ -Dmitry -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From dmitry.samersoff at oracle.com Mon Feb 11 06:49:43 2013 From: dmitry.samersoff at oracle.com (dmitry.samersoff at oracle.com) Date: Mon, 11 Feb 2013 14:49:43 +0000 Subject: hg: jdk8/tl/jdk: 8007536: Incorrect copyright header in JDP files Message-ID: <20130211145005.0B2B4479A4@hg.openjdk.java.net> Changeset: 1df991184045 Author: dsamersoff Date: 2013-02-11 18:44 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1df991184045 8007536: Incorrect copyright header in JDP files Summary: Copyright header in JDP files missed the "classpath exception" rule. Reviewed-by: mikael ! src/share/classes/sun/management/jdp/JdpBroadcaster.java ! src/share/classes/sun/management/jdp/JdpController.java ! src/share/classes/sun/management/jdp/JdpException.java ! src/share/classes/sun/management/jdp/JdpGenericPacket.java ! src/share/classes/sun/management/jdp/JdpJmxPacket.java ! src/share/classes/sun/management/jdp/JdpPacket.java ! src/share/classes/sun/management/jdp/JdpPacketReader.java ! src/share/classes/sun/management/jdp/JdpPacketWriter.java ! src/share/classes/sun/management/jdp/package-info.java From daniel.daugherty at oracle.com Mon Feb 11 07:05:50 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 11 Feb 2013 08:05:50 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <5112B823.4040502@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <5112B823.4040502@oracle.com> Message-ID: <511908CE.7040706@oracle.com> Greetings, I've revised one of the tests to make it more portable based on JPRT test results for the Code Review Round 1 version. Here is the URL for the webrev for Code Review Round 2: http://cr.openjdk.java.net/~dcubed/8007420-webrev/2-jdk8-tl/ Summary of the changes: - RedefineSubclassWithTwoInterfaces.sh - strip leading white space from 'wc -l' output for portable case statement check of "$cnt". - add missing ';;' for default cases (style only) Diffs are below since the webrev above is relative to JDK8-T&L and everything is "new". Dan $ diff test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr1,} 136c136 < cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` --- > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l | sed 's/^ *//'` 145a146 > ;; 149c150 < cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` --- > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l | sed 's/^ *//'` 158a160 > ;; On 2/6/13 1:08 PM, Daniel D. Daugherty wrote: > Greetings, > > I've revised the tests based on Coleen's and Serguei's feedback > in Code Review Round 0. > > Here is the URL for the webrev for Code Review Round 1: > > http://cr.openjdk.java.net/~dcubed/8007420-webrev/1-jdk8-tl/ > > Summary of the changes: > > - RedefineAbstractClass.sh - cleaned up the header comment > - RedefineAbstractClass.sh > - more clear description of what's being tested > - add comments describing what the guarantee failure looks like > - add checks for proper pre-RedefineClasses output > - add checks for proper post-RedefineClasses output > - RedefineSubclassWithTwoInterfacesApp.java > - RedefineSubclassWithTwoInterfacesRemote.java > - refactor the test app's echo() method call into echo1() and > echo2() so it is easier to check for the failure mode > - RedefineSubclassWithTwoInterfacesImpl.java > - RedefineSubclassWithTwoInterfacesImpl_1.java > - add comment to explain why these sources are identical > > > Diffs are below since the webrev above is relative to JDK8-T&L > and everything is "new". > > Dan > > Here are diffs (ignoring whitespace) to make it clear what has > changed between Code Review Round 0 and Code Review Round 1: > > > $ diff -w test/com/sun/jdi/RedefineAbstractClass.sh{.cr0,} > 31a32 > > # @author Daniel D. Daugherty > > > $ diff -w > test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr0,} > 26c26,27 > < # @summary Redefining a subclass that implements two interfaces is > broken. > --- > > # @summary Redefine a subclass that implements two interfaces and > > # verify that the right methods are called. > 101a103,104 > > > > echo "INFO: " > 102a106,107 > > echo "INFO: " > > > 108,112c113,127 > < MESG="guarantee" > < grep "$MESG" output.log > < result=$? > < if [ "$result" = 0 ]; then > < echo "FAIL: found '$MESG' in the test output" > --- > > # When this bug manifests, RedefineClasses() will fail to update > > # one of the itable entries to refer to the new method. The log > > # will include the following line when the bug occurs: > > # > > # guarantee(false) failed: OLD and/or OBSOLETE method(s) found > > # > > # If this guarantee happens, the test should fail in the status > > # check above, but just in case it doesn't, we check for "guarantee". > > # > > > > FAIL_MESG="guarantee" > > grep "$FAIL_MESG" output.log > > status=$? > > if [ "$status" = 0 ]; then > > echo "FAIL: found '$FAIL_MESG' in the test output." > 115c130,131 > < echo "PASS: did NOT find '$MESG' in the test output" > --- > > echo "INFO: did NOT find '$FAIL_MESG' in the test output." > > # be optimistic here > 118a135,164 > > PASS1_MESG="before any redefines" > > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` > > case "$cnt" in > > 2) > > echo "INFO: found 2 version-0 '$PASS1_MESG' mesgs." > > ;; > > *) > > echo "FAIL: did NOT find 2 version-0 '$PASS1_MESG' mesgs." > > echo "INFO: grep '$PASS1_MESG' output:" > > grep "$PASS1_MESG" output.log > > result=1 > > esac > > > > PASS2_MESG="after redefine" > > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` > > case "$cnt" in > > 2) > > echo "INFO: found 2 version-1 '$PASS2_MESG' mesgs." > > ;; > > *) > > echo "FAIL: did NOT find 2 version-1 '$PASS2_MESG' mesgs." > > echo "INFO: grep '$PASS2_MESG' output:" > > grep "$PASS2_MESG" output.log > > result=1 > > esac > > > > if [ "$result" = 0 ]; then > > echo "PASS: test passed both positive and negative output checks." > > fi > > > > > $ diff > test/java/lang/instrument/RedefineSubclassWithTwoInterfacesApp.java{.cr0,} > 43,45c43,45 > < // make an echo() call before any redefinitions: > < mesg = remote.echo("test message #0"); > < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" > --- > > // make echo() calls before any redefinitions: > > mesg = remote.echo1("test message #1.1"); > > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 mesg='" > 46a47,49 > > mesg = remote.echo2("test message #2.1"); > > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 mesg='" > > + mesg + "' before any redefines"); > 54,56c57,62 > < mesg = remote.echo("test message #1"); > < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" > < + mesg + "' after redefine #1"); > --- > > mesg = remote.echo1("test message #1.2"); > > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 mesg='" > > + mesg + "' after redefine"); > > mesg = remote.echo2("test message #2.2"); > > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 mesg='" > > + mesg + "' after redefine"); > > > $ diff > test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java{.cr0,} > 23a24,27 > > // Reproducing this bug only requires an EMCP version of the > > // RedefineSubclassWithTwoInterfacesImpl class so > > // RedefineSubclassWithTwoInterfacesImpl.java and > > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. > > > $ diff > test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java{.cr0,} > 23a24,27 > > // Reproducing this bug only requires an EMCP version of the > > // RedefineSubclassWithTwoInterfacesImpl class so > > // RedefineSubclassWithTwoInterfacesImpl.java and > > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. > > > $ diff > test/java/lang/instrument/RedefineSubclassWithTwoInterfacesRemote.java{.cr0,} > 40,41c40,41 > < public String echo(String s) { > < return "intf1<" + intf1.echo(s) + "> intf2< " + > intf2.echo(s) + ">"; > --- > > public String echo1(String s) { > > return "intf1<" + intf1.echo(s) + ">"; > 42a43,46 > > > > public String echo2(String s) { > > return "intf2<" + intf2.echo(s) + ">"; > > } > > > On 2/1/13 4:55 PM, Daniel D. Daugherty wrote: >> And here is the webrev for the new tests (relative to JDK8-T&L): >> >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >> >> As always, comments and suggestions are welcome. >> >> Dan >> >> >> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>> > There are two new tests that will be pushed to the JDK repos using >>> > a different bug ID (not yet filed): >>> >>> New bug is now filed: >>> >>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>> to java/lang/instrument >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>> >>> Of course, the tests cannot be pushed until the HSX changes have made >>> it into a promoted build and thus available to JDK8-T&L. >>> >>> Dan >>> >>> >>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>> Greetings, >>>> >>>> I have a fix for the following JVM/TI bug: >>>> >>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>> >>>> The fix for the bug in the product code is one line: >>>> >>>> src/share/vm/oops/klassVtable.cpp: >>>> >>>> @@ -992,18 +1020,50 @@ >>>> // RC_TRACE macro has an embedded ResourceMark >>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>> new_method->name()->as_C_string(), >>>> new_method->signature()->as_C_string())); >>>> } >>>> - break; >>>> + // cannot 'break' here; see for-loop comment above. >>>> } >>>> ime++; >>>> } >>>> } >>>> } >>>> >>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>> >>>> The rest of the code in the webrevs are: >>>> >>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>> changeset >>>> - additional JVM/TI tracing code added by me and forward ported to >>>> HSX-25 >>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>> elusive old or obsolete methods >>>> - exposure of some printing code to the PRODUCT build so that the new >>>> tracing is available in a PRODUCT build >>>> >>>> You might be wondering why the new tracing code is exposed in a >>>> PRODUCT >>>> build. Well, it appears that more and more PRODUCT bits deployments >>>> are >>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >>>> to instrument their systems. This bug (7182152) was only >>>> intermittently >>>> reproducible in the WLS environment in which it occurred so I made the >>>> tracing available in a PRODUCT build to assist in the hunt. >>>> >>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>> fix resolves the issue in his environment. Thanks Raj! >>>> >>>> Here are the URLs for the three webrevs: >>>> >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>> >>>> I have run the following test suites from the JPDA stack on the >>>> JDK7u10/HSX-23.6 version of the fix with >>>> -XX:TraceRedefineClasses=16384 >>>> specified: >>>> >>>> sdk-jdi >>>> sdk-jdi_closed >>>> sdk-jli >>>> vm-heapdump >>>> vm-hprof >>>> vm-jdb >>>> vm-jdi >>>> vm-jdwp >>>> vm-jvmti >>>> vm-sajdi >>>> >>>> The tested configs are: >>>> >>>> {Solaris-X86, WinXP} >>>> X {Client VM, Server VM} >>>> X {-Xmixed, -Xcomp} >>>> X {product, fastdebug} >>>> >>>> With the 1-liner fix in place, the new tracing code does not find any >>>> instances of this failure mode in any of the above test suites. >>>> Without >>>> the the 1-liner fix in place, the new tracing code finds one instance >>>> of this failure mode in the above test suites: >>>> >>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>> >>>> There are two new tests that will be pushed to the JDK repos using >>>> a different bug ID (not yet filed): >>>> >>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>> >>>> There will be a separate review request for the new tests. >>>> >>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>> take all weekend to complete. >>>> >>>> Thanks, in advance, for any comments and/or suggestions. >>>> >>>> Dan >>>> >>>> >>>> >>> >>> >>> >> >> >> > > > From coleen.phillimore at oracle.com Mon Feb 11 07:34:55 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Mon, 11 Feb 2013 10:34:55 -0500 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <511908CE.7040706@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <5112B823.4040502@oracle.com> <511908CE.7040706@oracle.com> Message-ID: <51190F9F.2060700@oracle.com> Looks good, although I was surprised you don't need -e. Coleen On 02/11/2013 10:05 AM, Daniel D. Daugherty wrote: > Greetings, > > I've revised one of the tests to make it more portable based > on JPRT test results for the Code Review Round 1 version. > > Here is the URL for the webrev for Code Review Round 2: > > http://cr.openjdk.java.net/~dcubed/8007420-webrev/2-jdk8-tl/ > > Summary of the changes: > > - RedefineSubclassWithTwoInterfaces.sh > - strip leading white space from 'wc -l' output for portable > case statement check of "$cnt". > - add missing ';;' for default cases (style only) > > Diffs are below since the webrev above is relative to JDK8-T&L > and everything is "new". > > Dan > > $ diff > test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr1,} > 136c136 > < cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` > --- > > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l | sed > 's/^ *//'` > 145a146 > > ;; > 149c150 > < cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` > --- > > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l | sed > 's/^ *//'` > 158a160 > > ;; > > > > On 2/6/13 1:08 PM, Daniel D. Daugherty wrote: >> Greetings, >> >> I've revised the tests based on Coleen's and Serguei's feedback >> in Code Review Round 0. >> >> Here is the URL for the webrev for Code Review Round 1: >> >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/1-jdk8-tl/ >> >> Summary of the changes: >> >> - RedefineAbstractClass.sh - cleaned up the header comment >> - RedefineAbstractClass.sh >> - more clear description of what's being tested >> - add comments describing what the guarantee failure looks like >> - add checks for proper pre-RedefineClasses output >> - add checks for proper post-RedefineClasses output >> - RedefineSubclassWithTwoInterfacesApp.java >> - RedefineSubclassWithTwoInterfacesRemote.java >> - refactor the test app's echo() method call into echo1() and >> echo2() so it is easier to check for the failure mode >> - RedefineSubclassWithTwoInterfacesImpl.java >> - RedefineSubclassWithTwoInterfacesImpl_1.java >> - add comment to explain why these sources are identical >> >> >> Diffs are below since the webrev above is relative to JDK8-T&L >> and everything is "new". >> >> Dan >> >> Here are diffs (ignoring whitespace) to make it clear what has >> changed between Code Review Round 0 and Code Review Round 1: >> >> >> $ diff -w test/com/sun/jdi/RedefineAbstractClass.sh{.cr0,} >> 31a32 >> > # @author Daniel D. Daugherty >> >> >> $ diff -w >> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr0,} >> 26c26,27 >> < # @summary Redefining a subclass that implements two interfaces is >> broken. >> --- >> > # @summary Redefine a subclass that implements two interfaces and >> > # verify that the right methods are called. >> 101a103,104 >> > >> > echo "INFO: " >> 102a106,107 >> > echo "INFO: " >> > >> 108,112c113,127 >> < MESG="guarantee" >> < grep "$MESG" output.log >> < result=$? >> < if [ "$result" = 0 ]; then >> < echo "FAIL: found '$MESG' in the test output" >> --- >> > # When this bug manifests, RedefineClasses() will fail to update >> > # one of the itable entries to refer to the new method. The log >> > # will include the following line when the bug occurs: >> > # >> > # guarantee(false) failed: OLD and/or OBSOLETE method(s) found >> > # >> > # If this guarantee happens, the test should fail in the status >> > # check above, but just in case it doesn't, we check for "guarantee". >> > # >> > >> > FAIL_MESG="guarantee" >> > grep "$FAIL_MESG" output.log >> > status=$? >> > if [ "$status" = 0 ]; then >> > echo "FAIL: found '$FAIL_MESG' in the test output." >> 115c130,131 >> < echo "PASS: did NOT find '$MESG' in the test output" >> --- >> > echo "INFO: did NOT find '$FAIL_MESG' in the test output." >> > # be optimistic here >> 118a135,164 >> > PASS1_MESG="before any redefines" >> > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` >> > case "$cnt" in >> > 2) >> > echo "INFO: found 2 version-0 '$PASS1_MESG' mesgs." >> > ;; >> > *) >> > echo "FAIL: did NOT find 2 version-0 '$PASS1_MESG' mesgs." >> > echo "INFO: grep '$PASS1_MESG' output:" >> > grep "$PASS1_MESG" output.log >> > result=1 >> > esac >> > >> > PASS2_MESG="after redefine" >> > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` >> > case "$cnt" in >> > 2) >> > echo "INFO: found 2 version-1 '$PASS2_MESG' mesgs." >> > ;; >> > *) >> > echo "FAIL: did NOT find 2 version-1 '$PASS2_MESG' mesgs." >> > echo "INFO: grep '$PASS2_MESG' output:" >> > grep "$PASS2_MESG" output.log >> > result=1 >> > esac >> > >> > if [ "$result" = 0 ]; then >> > echo "PASS: test passed both positive and negative output checks." >> > fi >> > >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesApp.java{.cr0,} >> 43,45c43,45 >> < // make an echo() call before any redefinitions: >> < mesg = remote.echo("test message #0"); >> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >> --- >> > // make echo() calls before any redefinitions: >> > mesg = remote.echo1("test message #1.1"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >> mesg='" >> 46a47,49 >> > mesg = remote.echo2("test message #2.1"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >> mesg='" >> > + mesg + "' before any redefines"); >> 54,56c57,62 >> < mesg = remote.echo("test message #1"); >> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >> < + mesg + "' after redefine #1"); >> --- >> > mesg = remote.echo1("test message #1.2"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >> mesg='" >> > + mesg + "' after redefine"); >> > mesg = remote.echo2("test message #2.2"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >> mesg='" >> > + mesg + "' after redefine"); >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java{.cr0,} >> 23a24,27 >> > // Reproducing this bug only requires an EMCP version of the >> > // RedefineSubclassWithTwoInterfacesImpl class so >> > // RedefineSubclassWithTwoInterfacesImpl.java and >> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java{.cr0,} >> 23a24,27 >> > // Reproducing this bug only requires an EMCP version of the >> > // RedefineSubclassWithTwoInterfacesImpl class so >> > // RedefineSubclassWithTwoInterfacesImpl.java and >> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesRemote.java{.cr0,} >> 40,41c40,41 >> < public String echo(String s) { >> < return "intf1<" + intf1.echo(s) + "> intf2< " + >> intf2.echo(s) + ">"; >> --- >> > public String echo1(String s) { >> > return "intf1<" + intf1.echo(s) + ">"; >> 42a43,46 >> > >> > public String echo2(String s) { >> > return "intf2<" + intf2.echo(s) + ">"; >> > } >> >> >> On 2/1/13 4:55 PM, Daniel D. Daugherty wrote: >>> And here is the webrev for the new tests (relative to JDK8-T&L): >>> >>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >>> >>> As always, comments and suggestions are welcome. >>> >>> Dan >>> >>> >>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>> > There are two new tests that will be pushed to the JDK repos using >>>> > a different bug ID (not yet filed): >>>> >>>> New bug is now filed: >>>> >>>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>>> to java/lang/instrument >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>> >>>> Of course, the tests cannot be pushed until the HSX changes have made >>>> it into a promoted build and thus available to JDK8-T&L. >>>> >>>> Dan >>>> >>>> >>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>> Greetings, >>>>> >>>>> I have a fix for the following JVM/TI bug: >>>>> >>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>> >>>>> The fix for the bug in the product code is one line: >>>>> >>>>> src/share/vm/oops/klassVtable.cpp: >>>>> >>>>> @@ -992,18 +1020,50 @@ >>>>> // RC_TRACE macro has an embedded ResourceMark >>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>> new_method->name()->as_C_string(), >>>>> new_method->signature()->as_C_string())); >>>>> } >>>>> - break; >>>>> + // cannot 'break' here; see for-loop comment above. >>>>> } >>>>> ime++; >>>>> } >>>>> } >>>>> } >>>>> >>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>> >>>>> The rest of the code in the webrevs are: >>>>> >>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>> changeset >>>>> - additional JVM/TI tracing code added by me and forward ported to >>>>> HSX-25 >>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>> elusive old or obsolete methods >>>>> - exposure of some printing code to the PRODUCT build so that the new >>>>> tracing is available in a PRODUCT build >>>>> >>>>> You might be wondering why the new tracing code is exposed in a >>>>> PRODUCT >>>>> build. Well, it appears that more and more PRODUCT bits >>>>> deployments are >>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>> run-time >>>>> to instrument their systems. This bug (7182152) was only >>>>> intermittently >>>>> reproducible in the WLS environment in which it occurred so I made >>>>> the >>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>> >>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>> fix resolves the issue in his environment. Thanks Raj! >>>>> >>>>> Here are the URLs for the three webrevs: >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>> >>>>> I have run the following test suites from the JPDA stack on the >>>>> JDK7u10/HSX-23.6 version of the fix with >>>>> -XX:TraceRedefineClasses=16384 >>>>> specified: >>>>> >>>>> sdk-jdi >>>>> sdk-jdi_closed >>>>> sdk-jli >>>>> vm-heapdump >>>>> vm-hprof >>>>> vm-jdb >>>>> vm-jdi >>>>> vm-jdwp >>>>> vm-jvmti >>>>> vm-sajdi >>>>> >>>>> The tested configs are: >>>>> >>>>> {Solaris-X86, WinXP} >>>>> X {Client VM, Server VM} >>>>> X {-Xmixed, -Xcomp} >>>>> X {product, fastdebug} >>>>> >>>>> With the 1-liner fix in place, the new tracing code does not find any >>>>> instances of this failure mode in any of the above test suites. >>>>> Without >>>>> the the 1-liner fix in place, the new tracing code finds one instance >>>>> of this failure mode in the above test suites: >>>>> >>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>> >>>>> There are two new tests that will be pushed to the JDK repos using >>>>> a different bug ID (not yet filed): >>>>> >>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>> >>>>> There will be a separate review request for the new tests. >>>>> >>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>> take all weekend to complete. >>>>> >>>>> Thanks, in advance, for any comments and/or suggestions. >>>>> >>>>> Dan >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >>> >>> >> >> >> > From daniel.daugherty at oracle.com Mon Feb 11 07:41:32 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 11 Feb 2013 08:41:32 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51190F9F.2060700@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <5112B823.4040502@oracle.com> <511908CE.7040706@oracle.com> <51190F9F.2060700@oracle.com> Message-ID: <5119112C.7000507@oracle.com> On 2/11/13 8:34 AM, Coleen Phillimore wrote: > > Looks good, although I was surprised you don't need -e. Thanks for the review! If you only have a single edit cmd, then '-e' is not needed. Dan > > Coleen > > On 02/11/2013 10:05 AM, Daniel D. Daugherty wrote: >> Greetings, >> >> I've revised one of the tests to make it more portable based >> on JPRT test results for the Code Review Round 1 version. >> >> Here is the URL for the webrev for Code Review Round 2: >> >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/2-jdk8-tl/ >> >> Summary of the changes: >> >> - RedefineSubclassWithTwoInterfaces.sh >> - strip leading white space from 'wc -l' output for portable >> case statement check of "$cnt". >> - add missing ';;' for default cases (style only) >> >> Diffs are below since the webrev above is relative to JDK8-T&L >> and everything is "new". >> >> Dan >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr1,} >> 136c136 >> < cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` >> --- >> > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l | sed >> 's/^ *//'` >> 145a146 >> > ;; >> 149c150 >> < cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` >> --- >> > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l | sed >> 's/^ *//'` >> 158a160 >> > ;; >> >> >> >> On 2/6/13 1:08 PM, Daniel D. Daugherty wrote: >>> Greetings, >>> >>> I've revised the tests based on Coleen's and Serguei's feedback >>> in Code Review Round 0. >>> >>> Here is the URL for the webrev for Code Review Round 1: >>> >>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/1-jdk8-tl/ >>> >>> Summary of the changes: >>> >>> - RedefineAbstractClass.sh - cleaned up the header comment >>> - RedefineAbstractClass.sh >>> - more clear description of what's being tested >>> - add comments describing what the guarantee failure looks like >>> - add checks for proper pre-RedefineClasses output >>> - add checks for proper post-RedefineClasses output >>> - RedefineSubclassWithTwoInterfacesApp.java >>> - RedefineSubclassWithTwoInterfacesRemote.java >>> - refactor the test app's echo() method call into echo1() and >>> echo2() so it is easier to check for the failure mode >>> - RedefineSubclassWithTwoInterfacesImpl.java >>> - RedefineSubclassWithTwoInterfacesImpl_1.java >>> - add comment to explain why these sources are identical >>> >>> >>> Diffs are below since the webrev above is relative to JDK8-T&L >>> and everything is "new". >>> >>> Dan >>> >>> Here are diffs (ignoring whitespace) to make it clear what has >>> changed between Code Review Round 0 and Code Review Round 1: >>> >>> >>> $ diff -w test/com/sun/jdi/RedefineAbstractClass.sh{.cr0,} >>> 31a32 >>> > # @author Daniel D. Daugherty >>> >>> >>> $ diff -w >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr0,} >>> 26c26,27 >>> < # @summary Redefining a subclass that implements two interfaces is >>> broken. >>> --- >>> > # @summary Redefine a subclass that implements two interfaces and >>> > # verify that the right methods are called. >>> 101a103,104 >>> > >>> > echo "INFO: " >>> 102a106,107 >>> > echo "INFO: " >>> > >>> 108,112c113,127 >>> < MESG="guarantee" >>> < grep "$MESG" output.log >>> < result=$? >>> < if [ "$result" = 0 ]; then >>> < echo "FAIL: found '$MESG' in the test output" >>> --- >>> > # When this bug manifests, RedefineClasses() will fail to update >>> > # one of the itable entries to refer to the new method. The log >>> > # will include the following line when the bug occurs: >>> > # >>> > # guarantee(false) failed: OLD and/or OBSOLETE method(s) found >>> > # >>> > # If this guarantee happens, the test should fail in the status >>> > # check above, but just in case it doesn't, we check for "guarantee". >>> > # >>> > >>> > FAIL_MESG="guarantee" >>> > grep "$FAIL_MESG" output.log >>> > status=$? >>> > if [ "$status" = 0 ]; then >>> > echo "FAIL: found '$FAIL_MESG' in the test output." >>> 115c130,131 >>> < echo "PASS: did NOT find '$MESG' in the test output" >>> --- >>> > echo "INFO: did NOT find '$FAIL_MESG' in the test output." >>> > # be optimistic here >>> 118a135,164 >>> > PASS1_MESG="before any redefines" >>> > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` >>> > case "$cnt" in >>> > 2) >>> > echo "INFO: found 2 version-0 '$PASS1_MESG' mesgs." >>> > ;; >>> > *) >>> > echo "FAIL: did NOT find 2 version-0 '$PASS1_MESG' mesgs." >>> > echo "INFO: grep '$PASS1_MESG' output:" >>> > grep "$PASS1_MESG" output.log >>> > result=1 >>> > esac >>> > >>> > PASS2_MESG="after redefine" >>> > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` >>> > case "$cnt" in >>> > 2) >>> > echo "INFO: found 2 version-1 '$PASS2_MESG' mesgs." >>> > ;; >>> > *) >>> > echo "FAIL: did NOT find 2 version-1 '$PASS2_MESG' mesgs." >>> > echo "INFO: grep '$PASS2_MESG' output:" >>> > grep "$PASS2_MESG" output.log >>> > result=1 >>> > esac >>> > >>> > if [ "$result" = 0 ]; then >>> > echo "PASS: test passed both positive and negative output >>> checks." >>> > fi >>> > >>> >>> >>> $ diff >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesApp.java{.cr0,} >>> 43,45c43,45 >>> < // make an echo() call before any redefinitions: >>> < mesg = remote.echo("test message #0"); >>> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >>> --- >>> > // make echo() calls before any redefinitions: >>> > mesg = remote.echo1("test message #1.1"); >>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >>> mesg='" >>> 46a47,49 >>> > mesg = remote.echo2("test message #2.1"); >>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >>> mesg='" >>> > + mesg + "' before any redefines"); >>> 54,56c57,62 >>> < mesg = remote.echo("test message #1"); >>> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >>> < + mesg + "' after redefine #1"); >>> --- >>> > mesg = remote.echo1("test message #1.2"); >>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >>> mesg='" >>> > + mesg + "' after redefine"); >>> > mesg = remote.echo2("test message #2.2"); >>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >>> mesg='" >>> > + mesg + "' after redefine"); >>> >>> >>> $ diff >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java{.cr0,} >>> 23a24,27 >>> > // Reproducing this bug only requires an EMCP version of the >>> > // RedefineSubclassWithTwoInterfacesImpl class so >>> > // RedefineSubclassWithTwoInterfacesImpl.java and >>> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >>> >>> >>> $ diff >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java{.cr0,} >>> 23a24,27 >>> > // Reproducing this bug only requires an EMCP version of the >>> > // RedefineSubclassWithTwoInterfacesImpl class so >>> > // RedefineSubclassWithTwoInterfacesImpl.java and >>> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >>> >>> >>> $ diff >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesRemote.java{.cr0,} >>> 40,41c40,41 >>> < public String echo(String s) { >>> < return "intf1<" + intf1.echo(s) + "> intf2< " + >>> intf2.echo(s) + ">"; >>> --- >>> > public String echo1(String s) { >>> > return "intf1<" + intf1.echo(s) + ">"; >>> 42a43,46 >>> > >>> > public String echo2(String s) { >>> > return "intf2<" + intf2.echo(s) + ">"; >>> > } >>> >>> >>> On 2/1/13 4:55 PM, Daniel D. Daugherty wrote: >>>> And here is the webrev for the new tests (relative to JDK8-T&L): >>>> >>>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >>>> >>>> As always, comments and suggestions are welcome. >>>> >>>> Dan >>>> >>>> >>>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>>> > There are two new tests that will be pushed to the JDK repos using >>>>> > a different bug ID (not yet filed): >>>>> >>>>> New bug is now filed: >>>>> >>>>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>>>> to java/lang/instrument >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>>> >>>>> Of course, the tests cannot be pushed until the HSX changes have made >>>>> it into a promoted build and thus available to JDK8-T&L. >>>>> >>>>> Dan >>>>> >>>>> >>>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>>> Greetings, >>>>>> >>>>>> I have a fix for the following JVM/TI bug: >>>>>> >>>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>>> >>>>>> The fix for the bug in the product code is one line: >>>>>> >>>>>> src/share/vm/oops/klassVtable.cpp: >>>>>> >>>>>> @@ -992,18 +1020,50 @@ >>>>>> // RC_TRACE macro has an embedded ResourceMark >>>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>>> new_method->name()->as_C_string(), >>>>>> new_method->signature()->as_C_string())); >>>>>> } >>>>>> - break; >>>>>> + // cannot 'break' here; see for-loop comment above. >>>>>> } >>>>>> ime++; >>>>>> } >>>>>> } >>>>>> } >>>>>> >>>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>>> >>>>>> The rest of the code in the webrevs are: >>>>>> >>>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>>> changeset >>>>>> - additional JVM/TI tracing code added by me and forward ported >>>>>> to HSX-25 >>>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>>> elusive old or obsolete methods >>>>>> - exposure of some printing code to the PRODUCT build so that the >>>>>> new >>>>>> tracing is available in a PRODUCT build >>>>>> >>>>>> You might be wondering why the new tracing code is exposed in a >>>>>> PRODUCT >>>>>> build. Well, it appears that more and more PRODUCT bits >>>>>> deployments are >>>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>>> run-time >>>>>> to instrument their systems. This bug (7182152) was only >>>>>> intermittently >>>>>> reproducible in the WLS environment in which it occurred so I >>>>>> made the >>>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>>> >>>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>>> fix resolves the issue in his environment. Thanks Raj! >>>>>> >>>>>> Here are the URLs for the three webrevs: >>>>>> >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>>> >>>>>> I have run the following test suites from the JPDA stack on the >>>>>> JDK7u10/HSX-23.6 version of the fix with >>>>>> -XX:TraceRedefineClasses=16384 >>>>>> specified: >>>>>> >>>>>> sdk-jdi >>>>>> sdk-jdi_closed >>>>>> sdk-jli >>>>>> vm-heapdump >>>>>> vm-hprof >>>>>> vm-jdb >>>>>> vm-jdi >>>>>> vm-jdwp >>>>>> vm-jvmti >>>>>> vm-sajdi >>>>>> >>>>>> The tested configs are: >>>>>> >>>>>> {Solaris-X86, WinXP} >>>>>> X {Client VM, Server VM} >>>>>> X {-Xmixed, -Xcomp} >>>>>> X {product, fastdebug} >>>>>> >>>>>> With the 1-liner fix in place, the new tracing code does not find >>>>>> any >>>>>> instances of this failure mode in any of the above test suites. >>>>>> Without >>>>>> the the 1-liner fix in place, the new tracing code finds one >>>>>> instance >>>>>> of this failure mode in the above test suites: >>>>>> >>>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>>> >>>>>> There are two new tests that will be pushed to the JDK repos using >>>>>> a different bug ID (not yet filed): >>>>>> >>>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>>> >>>>>> There will be a separate review request for the new tests. >>>>>> >>>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>>> take all weekend to complete. >>>>>> >>>>>> Thanks, in advance, for any comments and/or suggestions. >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >>> >>> >> > From serguei.spitsyn at oracle.com Mon Feb 11 09:28:46 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Mon, 11 Feb 2013 09:28:46 -0800 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <511908CE.7040706@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <5112B823.4040502@oracle.com> <511908CE.7040706@oracle.com> Message-ID: <51192A4E.6040903@oracle.com> Looks good. Thanks, Serguei On 2/11/13 7:05 AM, Daniel D. Daugherty wrote: > Greetings, > > I've revised one of the tests to make it more portable based > on JPRT test results for the Code Review Round 1 version. > > Here is the URL for the webrev for Code Review Round 2: > > http://cr.openjdk.java.net/~dcubed/8007420-webrev/2-jdk8-tl/ > > Summary of the changes: > > - RedefineSubclassWithTwoInterfaces.sh > - strip leading white space from 'wc -l' output for portable > case statement check of "$cnt". > - add missing ';;' for default cases (style only) > > Diffs are below since the webrev above is relative to JDK8-T&L > and everything is "new". > > Dan > > $ diff > test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr1,} > 136c136 > < cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` > --- > > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l | sed > 's/^ *//'` > 145a146 > > ;; > 149c150 > < cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` > --- > > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l | sed > 's/^ *//'` > 158a160 > > ;; > > > > On 2/6/13 1:08 PM, Daniel D. Daugherty wrote: >> Greetings, >> >> I've revised the tests based on Coleen's and Serguei's feedback >> in Code Review Round 0. >> >> Here is the URL for the webrev for Code Review Round 1: >> >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/1-jdk8-tl/ >> >> Summary of the changes: >> >> - RedefineAbstractClass.sh - cleaned up the header comment >> - RedefineAbstractClass.sh >> - more clear description of what's being tested >> - add comments describing what the guarantee failure looks like >> - add checks for proper pre-RedefineClasses output >> - add checks for proper post-RedefineClasses output >> - RedefineSubclassWithTwoInterfacesApp.java >> - RedefineSubclassWithTwoInterfacesRemote.java >> - refactor the test app's echo() method call into echo1() and >> echo2() so it is easier to check for the failure mode >> - RedefineSubclassWithTwoInterfacesImpl.java >> - RedefineSubclassWithTwoInterfacesImpl_1.java >> - add comment to explain why these sources are identical >> >> >> Diffs are below since the webrev above is relative to JDK8-T&L >> and everything is "new". >> >> Dan >> >> Here are diffs (ignoring whitespace) to make it clear what has >> changed between Code Review Round 0 and Code Review Round 1: >> >> >> $ diff -w test/com/sun/jdi/RedefineAbstractClass.sh{.cr0,} >> 31a32 >> > # @author Daniel D. Daugherty >> >> >> $ diff -w >> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr0,} >> 26c26,27 >> < # @summary Redefining a subclass that implements two interfaces is >> broken. >> --- >> > # @summary Redefine a subclass that implements two interfaces and >> > # verify that the right methods are called. >> 101a103,104 >> > >> > echo "INFO: " >> 102a106,107 >> > echo "INFO: " >> > >> 108,112c113,127 >> < MESG="guarantee" >> < grep "$MESG" output.log >> < result=$? >> < if [ "$result" = 0 ]; then >> < echo "FAIL: found '$MESG' in the test output" >> --- >> > # When this bug manifests, RedefineClasses() will fail to update >> > # one of the itable entries to refer to the new method. The log >> > # will include the following line when the bug occurs: >> > # >> > # guarantee(false) failed: OLD and/or OBSOLETE method(s) found >> > # >> > # If this guarantee happens, the test should fail in the status >> > # check above, but just in case it doesn't, we check for "guarantee". >> > # >> > >> > FAIL_MESG="guarantee" >> > grep "$FAIL_MESG" output.log >> > status=$? >> > if [ "$status" = 0 ]; then >> > echo "FAIL: found '$FAIL_MESG' in the test output." >> 115c130,131 >> < echo "PASS: did NOT find '$MESG' in the test output" >> --- >> > echo "INFO: did NOT find '$FAIL_MESG' in the test output." >> > # be optimistic here >> 118a135,164 >> > PASS1_MESG="before any redefines" >> > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` >> > case "$cnt" in >> > 2) >> > echo "INFO: found 2 version-0 '$PASS1_MESG' mesgs." >> > ;; >> > *) >> > echo "FAIL: did NOT find 2 version-0 '$PASS1_MESG' mesgs." >> > echo "INFO: grep '$PASS1_MESG' output:" >> > grep "$PASS1_MESG" output.log >> > result=1 >> > esac >> > >> > PASS2_MESG="after redefine" >> > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` >> > case "$cnt" in >> > 2) >> > echo "INFO: found 2 version-1 '$PASS2_MESG' mesgs." >> > ;; >> > *) >> > echo "FAIL: did NOT find 2 version-1 '$PASS2_MESG' mesgs." >> > echo "INFO: grep '$PASS2_MESG' output:" >> > grep "$PASS2_MESG" output.log >> > result=1 >> > esac >> > >> > if [ "$result" = 0 ]; then >> > echo "PASS: test passed both positive and negative output checks." >> > fi >> > >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesApp.java{.cr0,} >> 43,45c43,45 >> < // make an echo() call before any redefinitions: >> < mesg = remote.echo("test message #0"); >> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >> --- >> > // make echo() calls before any redefinitions: >> > mesg = remote.echo1("test message #1.1"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >> mesg='" >> 46a47,49 >> > mesg = remote.echo2("test message #2.1"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >> mesg='" >> > + mesg + "' before any redefines"); >> 54,56c57,62 >> < mesg = remote.echo("test message #1"); >> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >> < + mesg + "' after redefine #1"); >> --- >> > mesg = remote.echo1("test message #1.2"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >> mesg='" >> > + mesg + "' after redefine"); >> > mesg = remote.echo2("test message #2.2"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >> mesg='" >> > + mesg + "' after redefine"); >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java{.cr0,} >> 23a24,27 >> > // Reproducing this bug only requires an EMCP version of the >> > // RedefineSubclassWithTwoInterfacesImpl class so >> > // RedefineSubclassWithTwoInterfacesImpl.java and >> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java{.cr0,} >> 23a24,27 >> > // Reproducing this bug only requires an EMCP version of the >> > // RedefineSubclassWithTwoInterfacesImpl class so >> > // RedefineSubclassWithTwoInterfacesImpl.java and >> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesRemote.java{.cr0,} >> 40,41c40,41 >> < public String echo(String s) { >> < return "intf1<" + intf1.echo(s) + "> intf2< " + >> intf2.echo(s) + ">"; >> --- >> > public String echo1(String s) { >> > return "intf1<" + intf1.echo(s) + ">"; >> 42a43,46 >> > >> > public String echo2(String s) { >> > return "intf2<" + intf2.echo(s) + ">"; >> > } >> >> >> On 2/1/13 4:55 PM, Daniel D. Daugherty wrote: >>> And here is the webrev for the new tests (relative to JDK8-T&L): >>> >>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >>> >>> As always, comments and suggestions are welcome. >>> >>> Dan >>> >>> >>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>> > There are two new tests that will be pushed to the JDK repos using >>>> > a different bug ID (not yet filed): >>>> >>>> New bug is now filed: >>>> >>>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>>> to java/lang/instrument >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>> >>>> Of course, the tests cannot be pushed until the HSX changes have made >>>> it into a promoted build and thus available to JDK8-T&L. >>>> >>>> Dan >>>> >>>> >>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>> Greetings, >>>>> >>>>> I have a fix for the following JVM/TI bug: >>>>> >>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>> >>>>> The fix for the bug in the product code is one line: >>>>> >>>>> src/share/vm/oops/klassVtable.cpp: >>>>> >>>>> @@ -992,18 +1020,50 @@ >>>>> // RC_TRACE macro has an embedded ResourceMark >>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>> new_method->name()->as_C_string(), >>>>> new_method->signature()->as_C_string())); >>>>> } >>>>> - break; >>>>> + // cannot 'break' here; see for-loop comment above. >>>>> } >>>>> ime++; >>>>> } >>>>> } >>>>> } >>>>> >>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>> >>>>> The rest of the code in the webrevs are: >>>>> >>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>> changeset >>>>> - additional JVM/TI tracing code added by me and forward ported to >>>>> HSX-25 >>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>> elusive old or obsolete methods >>>>> - exposure of some printing code to the PRODUCT build so that the new >>>>> tracing is available in a PRODUCT build >>>>> >>>>> You might be wondering why the new tracing code is exposed in a >>>>> PRODUCT >>>>> build. Well, it appears that more and more PRODUCT bits >>>>> deployments are >>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>> run-time >>>>> to instrument their systems. This bug (7182152) was only >>>>> intermittently >>>>> reproducible in the WLS environment in which it occurred so I made >>>>> the >>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>> >>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>> fix resolves the issue in his environment. Thanks Raj! >>>>> >>>>> Here are the URLs for the three webrevs: >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>> >>>>> I have run the following test suites from the JPDA stack on the >>>>> JDK7u10/HSX-23.6 version of the fix with >>>>> -XX:TraceRedefineClasses=16384 >>>>> specified: >>>>> >>>>> sdk-jdi >>>>> sdk-jdi_closed >>>>> sdk-jli >>>>> vm-heapdump >>>>> vm-hprof >>>>> vm-jdb >>>>> vm-jdi >>>>> vm-jdwp >>>>> vm-jvmti >>>>> vm-sajdi >>>>> >>>>> The tested configs are: >>>>> >>>>> {Solaris-X86, WinXP} >>>>> X {Client VM, Server VM} >>>>> X {-Xmixed, -Xcomp} >>>>> X {product, fastdebug} >>>>> >>>>> With the 1-liner fix in place, the new tracing code does not find any >>>>> instances of this failure mode in any of the above test suites. >>>>> Without >>>>> the the 1-liner fix in place, the new tracing code finds one instance >>>>> of this failure mode in the above test suites: >>>>> >>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>> >>>>> There are two new tests that will be pushed to the JDK repos using >>>>> a different bug ID (not yet filed): >>>>> >>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>> >>>>> There will be a separate review request for the new tests. >>>>> >>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>> take all weekend to complete. >>>>> >>>>> Thanks, in advance, for any comments and/or suggestions. >>>>> >>>>> Dan >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >>> >>> >> >> >> > From daniel.daugherty at oracle.com Mon Feb 11 09:30:28 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 11 Feb 2013 10:30:28 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51192A4E.6040903@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <5112B823.4040502@oracle.com> <511908CE.7040706@oracle.com> <51192A4E.6040903@oracle.com> Message-ID: <51192AB4.4040301@oracle.com> Thanks for another re-review! Dan On 2/11/13 10:28 AM, serguei.spitsyn at oracle.com wrote: > Looks good. > > Thanks, > Serguei > > On 2/11/13 7:05 AM, Daniel D. Daugherty wrote: >> Greetings, >> >> I've revised one of the tests to make it more portable based >> on JPRT test results for the Code Review Round 1 version. >> >> Here is the URL for the webrev for Code Review Round 2: >> >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/2-jdk8-tl/ >> >> Summary of the changes: >> >> - RedefineSubclassWithTwoInterfaces.sh >> - strip leading white space from 'wc -l' output for portable >> case statement check of "$cnt". >> - add missing ';;' for default cases (style only) >> >> Diffs are below since the webrev above is relative to JDK8-T&L >> and everything is "new". >> >> Dan >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr1,} >> 136c136 >> < cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` >> --- >> > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l | sed >> 's/^ *//'` >> 145a146 >> > ;; >> 149c150 >> < cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` >> --- >> > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l | sed >> 's/^ *//'` >> 158a160 >> > ;; >> >> >> >> On 2/6/13 1:08 PM, Daniel D. Daugherty wrote: >>> Greetings, >>> >>> I've revised the tests based on Coleen's and Serguei's feedback >>> in Code Review Round 0. >>> >>> Here is the URL for the webrev for Code Review Round 1: >>> >>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/1-jdk8-tl/ >>> >>> Summary of the changes: >>> >>> - RedefineAbstractClass.sh - cleaned up the header comment >>> - RedefineAbstractClass.sh >>> - more clear description of what's being tested >>> - add comments describing what the guarantee failure looks like >>> - add checks for proper pre-RedefineClasses output >>> - add checks for proper post-RedefineClasses output >>> - RedefineSubclassWithTwoInterfacesApp.java >>> - RedefineSubclassWithTwoInterfacesRemote.java >>> - refactor the test app's echo() method call into echo1() and >>> echo2() so it is easier to check for the failure mode >>> - RedefineSubclassWithTwoInterfacesImpl.java >>> - RedefineSubclassWithTwoInterfacesImpl_1.java >>> - add comment to explain why these sources are identical >>> >>> >>> Diffs are below since the webrev above is relative to JDK8-T&L >>> and everything is "new". >>> >>> Dan >>> >>> Here are diffs (ignoring whitespace) to make it clear what has >>> changed between Code Review Round 0 and Code Review Round 1: >>> >>> >>> $ diff -w test/com/sun/jdi/RedefineAbstractClass.sh{.cr0,} >>> 31a32 >>> > # @author Daniel D. Daugherty >>> >>> >>> $ diff -w >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr0,} >>> 26c26,27 >>> < # @summary Redefining a subclass that implements two interfaces is >>> broken. >>> --- >>> > # @summary Redefine a subclass that implements two interfaces and >>> > # verify that the right methods are called. >>> 101a103,104 >>> > >>> > echo "INFO: " >>> 102a106,107 >>> > echo "INFO: " >>> > >>> 108,112c113,127 >>> < MESG="guarantee" >>> < grep "$MESG" output.log >>> < result=$? >>> < if [ "$result" = 0 ]; then >>> < echo "FAIL: found '$MESG' in the test output" >>> --- >>> > # When this bug manifests, RedefineClasses() will fail to update >>> > # one of the itable entries to refer to the new method. The log >>> > # will include the following line when the bug occurs: >>> > # >>> > # guarantee(false) failed: OLD and/or OBSOLETE method(s) found >>> > # >>> > # If this guarantee happens, the test should fail in the status >>> > # check above, but just in case it doesn't, we check for "guarantee". >>> > # >>> > >>> > FAIL_MESG="guarantee" >>> > grep "$FAIL_MESG" output.log >>> > status=$? >>> > if [ "$status" = 0 ]; then >>> > echo "FAIL: found '$FAIL_MESG' in the test output." >>> 115c130,131 >>> < echo "PASS: did NOT find '$MESG' in the test output" >>> --- >>> > echo "INFO: did NOT find '$FAIL_MESG' in the test output." >>> > # be optimistic here >>> 118a135,164 >>> > PASS1_MESG="before any redefines" >>> > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` >>> > case "$cnt" in >>> > 2) >>> > echo "INFO: found 2 version-0 '$PASS1_MESG' mesgs." >>> > ;; >>> > *) >>> > echo "FAIL: did NOT find 2 version-0 '$PASS1_MESG' mesgs." >>> > echo "INFO: grep '$PASS1_MESG' output:" >>> > grep "$PASS1_MESG" output.log >>> > result=1 >>> > esac >>> > >>> > PASS2_MESG="after redefine" >>> > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` >>> > case "$cnt" in >>> > 2) >>> > echo "INFO: found 2 version-1 '$PASS2_MESG' mesgs." >>> > ;; >>> > *) >>> > echo "FAIL: did NOT find 2 version-1 '$PASS2_MESG' mesgs." >>> > echo "INFO: grep '$PASS2_MESG' output:" >>> > grep "$PASS2_MESG" output.log >>> > result=1 >>> > esac >>> > >>> > if [ "$result" = 0 ]; then >>> > echo "PASS: test passed both positive and negative output >>> checks." >>> > fi >>> > >>> >>> >>> $ diff >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesApp.java{.cr0,} >>> 43,45c43,45 >>> < // make an echo() call before any redefinitions: >>> < mesg = remote.echo("test message #0"); >>> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >>> --- >>> > // make echo() calls before any redefinitions: >>> > mesg = remote.echo1("test message #1.1"); >>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >>> mesg='" >>> 46a47,49 >>> > mesg = remote.echo2("test message #2.1"); >>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >>> mesg='" >>> > + mesg + "' before any redefines"); >>> 54,56c57,62 >>> < mesg = remote.echo("test message #1"); >>> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >>> < + mesg + "' after redefine #1"); >>> --- >>> > mesg = remote.echo1("test message #1.2"); >>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >>> mesg='" >>> > + mesg + "' after redefine"); >>> > mesg = remote.echo2("test message #2.2"); >>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >>> mesg='" >>> > + mesg + "' after redefine"); >>> >>> >>> $ diff >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java{.cr0,} >>> 23a24,27 >>> > // Reproducing this bug only requires an EMCP version of the >>> > // RedefineSubclassWithTwoInterfacesImpl class so >>> > // RedefineSubclassWithTwoInterfacesImpl.java and >>> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >>> >>> >>> $ diff >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java{.cr0,} >>> 23a24,27 >>> > // Reproducing this bug only requires an EMCP version of the >>> > // RedefineSubclassWithTwoInterfacesImpl class so >>> > // RedefineSubclassWithTwoInterfacesImpl.java and >>> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >>> >>> >>> $ diff >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesRemote.java{.cr0,} >>> 40,41c40,41 >>> < public String echo(String s) { >>> < return "intf1<" + intf1.echo(s) + "> intf2< " + >>> intf2.echo(s) + ">"; >>> --- >>> > public String echo1(String s) { >>> > return "intf1<" + intf1.echo(s) + ">"; >>> 42a43,46 >>> > >>> > public String echo2(String s) { >>> > return "intf2<" + intf2.echo(s) + ">"; >>> > } >>> >>> >>> On 2/1/13 4:55 PM, Daniel D. Daugherty wrote: >>>> And here is the webrev for the new tests (relative to JDK8-T&L): >>>> >>>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >>>> >>>> As always, comments and suggestions are welcome. >>>> >>>> Dan >>>> >>>> >>>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>>> > There are two new tests that will be pushed to the JDK repos using >>>>> > a different bug ID (not yet filed): >>>>> >>>>> New bug is now filed: >>>>> >>>>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>>>> to java/lang/instrument >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>>> >>>>> Of course, the tests cannot be pushed until the HSX changes have made >>>>> it into a promoted build and thus available to JDK8-T&L. >>>>> >>>>> Dan >>>>> >>>>> >>>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>>> Greetings, >>>>>> >>>>>> I have a fix for the following JVM/TI bug: >>>>>> >>>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>>> >>>>>> The fix for the bug in the product code is one line: >>>>>> >>>>>> src/share/vm/oops/klassVtable.cpp: >>>>>> >>>>>> @@ -992,18 +1020,50 @@ >>>>>> // RC_TRACE macro has an embedded ResourceMark >>>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>>> new_method->name()->as_C_string(), >>>>>> new_method->signature()->as_C_string())); >>>>>> } >>>>>> - break; >>>>>> + // cannot 'break' here; see for-loop comment above. >>>>>> } >>>>>> ime++; >>>>>> } >>>>>> } >>>>>> } >>>>>> >>>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>>> >>>>>> The rest of the code in the webrevs are: >>>>>> >>>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>>> changeset >>>>>> - additional JVM/TI tracing code added by me and forward ported >>>>>> to HSX-25 >>>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>>> elusive old or obsolete methods >>>>>> - exposure of some printing code to the PRODUCT build so that the >>>>>> new >>>>>> tracing is available in a PRODUCT build >>>>>> >>>>>> You might be wondering why the new tracing code is exposed in a >>>>>> PRODUCT >>>>>> build. Well, it appears that more and more PRODUCT bits >>>>>> deployments are >>>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>>> run-time >>>>>> to instrument their systems. This bug (7182152) was only >>>>>> intermittently >>>>>> reproducible in the WLS environment in which it occurred so I >>>>>> made the >>>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>>> >>>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>>> fix resolves the issue in his environment. Thanks Raj! >>>>>> >>>>>> Here are the URLs for the three webrevs: >>>>>> >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>>> >>>>>> I have run the following test suites from the JPDA stack on the >>>>>> JDK7u10/HSX-23.6 version of the fix with >>>>>> -XX:TraceRedefineClasses=16384 >>>>>> specified: >>>>>> >>>>>> sdk-jdi >>>>>> sdk-jdi_closed >>>>>> sdk-jli >>>>>> vm-heapdump >>>>>> vm-hprof >>>>>> vm-jdb >>>>>> vm-jdi >>>>>> vm-jdwp >>>>>> vm-jvmti >>>>>> vm-sajdi >>>>>> >>>>>> The tested configs are: >>>>>> >>>>>> {Solaris-X86, WinXP} >>>>>> X {Client VM, Server VM} >>>>>> X {-Xmixed, -Xcomp} >>>>>> X {product, fastdebug} >>>>>> >>>>>> With the 1-liner fix in place, the new tracing code does not find >>>>>> any >>>>>> instances of this failure mode in any of the above test suites. >>>>>> Without >>>>>> the the 1-liner fix in place, the new tracing code finds one >>>>>> instance >>>>>> of this failure mode in the above test suites: >>>>>> >>>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>>> >>>>>> There are two new tests that will be pushed to the JDK repos using >>>>>> a different bug ID (not yet filed): >>>>>> >>>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>>> >>>>>> There will be a separate review request for the new tests. >>>>>> >>>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>>> take all weekend to complete. >>>>>> >>>>>> Thanks, in advance, for any comments and/or suggestions. >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >>> >>> >> > From daniel.daugherty at oracle.com Mon Feb 11 10:09:01 2013 From: daniel.daugherty at oracle.com (daniel.daugherty at oracle.com) Date: Mon, 11 Feb 2013 18:09:01 +0000 Subject: hg: jdk8/tl/jdk: 8007420: add test for 6805864 to com/sun/jdi, add test for 7182152 to java/lang/instrument Message-ID: <20130211180922.66431479AA@hg.openjdk.java.net> Changeset: abd530253f01 Author: dcubed Date: 2013-02-11 10:07 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/abd530253f01 8007420: add test for 6805864 to com/sun/jdi, add test for 7182152 to java/lang/instrument Reviewed-by: coleenp, sspitsyn + test/com/sun/jdi/RedefineAbstractClass.sh + test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesAgent.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesApp.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesIntf1.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesIntf2.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesRemote.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesTarget.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesTarget_1.java From mikael.vidstedt at oracle.com Mon Feb 11 10:45:33 2013 From: mikael.vidstedt at oracle.com (Mikael Vidstedt) Date: Mon, 11 Feb 2013 10:45:33 -0800 Subject: RFR (XS): 8007901 SA: Don't read flag values as constants In-Reply-To: References: Message-ID: <51193C4D.5090809@oracle.com> Nasty, so normally the code picks up the value from the VMIntConstant vmstructs array which is the hardcoded default value, but with this fix it's picked up from the command line options database which reflects the actual current value. That makes sense and looks good. Cheers, Mikael On 2013-02-09 11:06, Staffan Larsen wrote: > Please review this small patch to avoid reading flag values in SA as constants. Reading them as constants means SA will only see the default value for these flags. Instead the infrastructure in SA to read command line flags should be used. In addition the value if EnableInvokeDynamic is never used, so I removed that from SA. > > webrev: http://cr.openjdk.java.net/~sla/8007901/webrev.00/ > bug: http://bugs.sun.com/view_bug.do?bug_id=8007901 (not yet visible) > > Thanks, > /Staffan From staffan.larsen at oracle.com Mon Feb 11 10:53:19 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Mon, 11 Feb 2013 19:53:19 +0100 Subject: RFR (XS): 8007901 SA: Don't read flag values as constants In-Reply-To: <51193C4D.5090809@oracle.com> References: <51193C4D.5090809@oracle.com> Message-ID: Yes, you got it right. Thanks, /Staffan On 11 feb 2013, at 19:45, Mikael Vidstedt wrote: > > Nasty, so normally the code picks up the value from the VMIntConstant vmstructs array which is the hardcoded default value, but with this fix it's picked up from the command line options database which reflects the actual current value. That makes sense and looks good. > > Cheers, > Mikael > > On 2013-02-09 11:06, Staffan Larsen wrote: >> Please review this small patch to avoid reading flag values in SA as constants. Reading them as constants means SA will only see the default value for these flags. Instead the infrastructure in SA to read command line flags should be used. In addition the value if EnableInvokeDynamic is never used, so I removed that from SA. >> >> webrev: http://cr.openjdk.java.net/~sla/8007901/webrev.00/ >> bug: http://bugs.sun.com/view_bug.do?bug_id=8007901 (not yet visible) >> >> Thanks, >> /Staffan > From alan.bateman at oracle.com Mon Feb 11 12:20:15 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Mon, 11 Feb 2013 20:20:15 +0000 Subject: hg: jdk8/tl/jdk: 8007405: Update java.lang.reflect API to replace SYNTHESIZED with MANDATED Message-ID: <20130211202037.63AC7479B1@hg.openjdk.java.net> Changeset: f21a4b761424 Author: alanb Date: 2013-02-11 20:16 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f21a4b761424 8007405: Update java.lang.reflect API to replace SYNTHESIZED with MANDATED Reviewed-by: darcy ! src/share/classes/java/lang/reflect/Executable.java ! src/share/classes/java/lang/reflect/Modifier.java ! src/share/classes/java/lang/reflect/Parameter.java From coleen.phillimore at oracle.com Mon Feb 11 13:30:23 2013 From: coleen.phillimore at oracle.com (coleen.phillimore at oracle.com) Date: Mon, 11 Feb 2013 21:30:23 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8007320: NPG: move method annotations Message-ID: <20130211213029.AB49B479B5@hg.openjdk.java.net> Changeset: 927a311d00f9 Author: coleenp Date: 2013-02-11 14:06 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/927a311d00f9 8007320: NPG: move method annotations Summary: allocate method annotations and attach to ConstMethod if present Reviewed-by: dcubed, jiangli, sspitsyn, iklam ! agent/src/share/classes/sun/jvm/hotspot/oops/ConstMethod.java ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp ! src/share/vm/classfile/defaultMethods.cpp ! src/share/vm/memory/heapInspection.hpp ! src/share/vm/oops/annotations.cpp ! src/share/vm/oops/annotations.hpp ! src/share/vm/oops/constMethod.cpp ! src/share/vm/oops/constMethod.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/jvmtiRedefineClasses.hpp ! src/share/vm/runtime/fieldDescriptor.cpp ! src/share/vm/runtime/vmStructs.cpp + test/runtime/8007320/ConstMethodTest.java From joe.darcy at oracle.com Mon Feb 11 13:37:55 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Mon, 11 Feb 2013 21:37:55 +0000 Subject: hg: jdk8/tl/langtools: 8007574: Provide isFunctionalInterface in javax.lang.model Message-ID: <20130211213800.20C09479B7@hg.openjdk.java.net> Changeset: 01af1b5c631d Author: darcy Date: 2013-02-11 13:37 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/01af1b5c631d 8007574: Provide isFunctionalInterface in javax.lang.model Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/model/JavacElements.java ! src/share/classes/javax/lang/model/element/TypeElement.java ! src/share/classes/javax/lang/model/util/Elements.java + test/tools/javac/processing/model/util/elements/TestIsFunctionalInterface.java From david.holmes at oracle.com Mon Feb 11 16:20:51 2013 From: david.holmes at oracle.com (David Holmes) Date: Tue, 12 Feb 2013 10:20:51 +1000 Subject: RFR (XS): 8007901 SA: Don't read flag values as constants In-Reply-To: References: Message-ID: <51198AE3.5040706@oracle.com> On 10/02/2013 5:06 AM, Staffan Larsen wrote: > Please review this small patch to avoid reading flag values in SA as constants. Reading them as constants means SA will only see the default value for these flags. Instead the infrastructure in SA to read command line flags should be used. In addition the value if EnableInvokeDynamic is never used, so I removed that from SA. Isn't the real problem in the way db is initialized with the values for these flags? ie shouldn't db.lookupIntConstant("UseTLAB").intValue() be returning the actual value of UseTLAB as it occurs in the VM ? Also we need a regression test for this as obviously it ain't being tested! :( Thanks, David > webrev: http://cr.openjdk.java.net/~sla/8007901/webrev.00/ > bug: http://bugs.sun.com/view_bug.do?bug_id=8007901 (not yet visible) > > Thanks, > /Staffan > From daniel.daugherty at oracle.com Mon Feb 11 16:41:30 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 11 Feb 2013 17:41:30 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <511908CE.7040706@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <5112B823.4040502@oracle.com> <511908CE.7040706@oracle.com> Message-ID: <51198FBA.5090409@oracle.com> Greetings, Right after I pushed the changeset for 8007420, Alan B let me know that he had updated the JLI/JPLIS test infrastructure to support running the tests with a JRE instead of a JDK. Alan made his changes in early January, but I had developed this test back in December. I never checked to see if the test on which I based my new test had changed. Sigh... I filed a new bug to update the new test. Here is the webrev URL: http://cr.openjdk.java.net/~dcubed/8007935-webrev/0-jdk8-tl/ As always, comments and suggestions are welcome. Dan On 2/11/13 8:05 AM, Daniel D. Daugherty wrote: > Greetings, > > I've revised one of the tests to make it more portable based > on JPRT test results for the Code Review Round 1 version. > > Here is the URL for the webrev for Code Review Round 2: > > http://cr.openjdk.java.net/~dcubed/8007420-webrev/2-jdk8-tl/ > > Summary of the changes: > > - RedefineSubclassWithTwoInterfaces.sh > - strip leading white space from 'wc -l' output for portable > case statement check of "$cnt". > - add missing ';;' for default cases (style only) > > Diffs are below since the webrev above is relative to JDK8-T&L > and everything is "new". > > Dan > > $ diff > test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr1,} > 136c136 > < cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` > --- > > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l | sed > 's/^ *//'` > 145a146 > > ;; > 149c150 > < cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` > --- > > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l | sed > 's/^ *//'` > 158a160 > > ;; > > > > On 2/6/13 1:08 PM, Daniel D. Daugherty wrote: >> Greetings, >> >> I've revised the tests based on Coleen's and Serguei's feedback >> in Code Review Round 0. >> >> Here is the URL for the webrev for Code Review Round 1: >> >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/1-jdk8-tl/ >> >> Summary of the changes: >> >> - RedefineAbstractClass.sh - cleaned up the header comment >> - RedefineAbstractClass.sh >> - more clear description of what's being tested >> - add comments describing what the guarantee failure looks like >> - add checks for proper pre-RedefineClasses output >> - add checks for proper post-RedefineClasses output >> - RedefineSubclassWithTwoInterfacesApp.java >> - RedefineSubclassWithTwoInterfacesRemote.java >> - refactor the test app's echo() method call into echo1() and >> echo2() so it is easier to check for the failure mode >> - RedefineSubclassWithTwoInterfacesImpl.java >> - RedefineSubclassWithTwoInterfacesImpl_1.java >> - add comment to explain why these sources are identical >> >> >> Diffs are below since the webrev above is relative to JDK8-T&L >> and everything is "new". >> >> Dan >> >> Here are diffs (ignoring whitespace) to make it clear what has >> changed between Code Review Round 0 and Code Review Round 1: >> >> >> $ diff -w test/com/sun/jdi/RedefineAbstractClass.sh{.cr0,} >> 31a32 >> > # @author Daniel D. Daugherty >> >> >> $ diff -w >> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr0,} >> 26c26,27 >> < # @summary Redefining a subclass that implements two interfaces is >> broken. >> --- >> > # @summary Redefine a subclass that implements two interfaces and >> > # verify that the right methods are called. >> 101a103,104 >> > >> > echo "INFO: " >> 102a106,107 >> > echo "INFO: " >> > >> 108,112c113,127 >> < MESG="guarantee" >> < grep "$MESG" output.log >> < result=$? >> < if [ "$result" = 0 ]; then >> < echo "FAIL: found '$MESG' in the test output" >> --- >> > # When this bug manifests, RedefineClasses() will fail to update >> > # one of the itable entries to refer to the new method. The log >> > # will include the following line when the bug occurs: >> > # >> > # guarantee(false) failed: OLD and/or OBSOLETE method(s) found >> > # >> > # If this guarantee happens, the test should fail in the status >> > # check above, but just in case it doesn't, we check for "guarantee". >> > # >> > >> > FAIL_MESG="guarantee" >> > grep "$FAIL_MESG" output.log >> > status=$? >> > if [ "$status" = 0 ]; then >> > echo "FAIL: found '$FAIL_MESG' in the test output." >> 115c130,131 >> < echo "PASS: did NOT find '$MESG' in the test output" >> --- >> > echo "INFO: did NOT find '$FAIL_MESG' in the test output." >> > # be optimistic here >> 118a135,164 >> > PASS1_MESG="before any redefines" >> > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` >> > case "$cnt" in >> > 2) >> > echo "INFO: found 2 version-0 '$PASS1_MESG' mesgs." >> > ;; >> > *) >> > echo "FAIL: did NOT find 2 version-0 '$PASS1_MESG' mesgs." >> > echo "INFO: grep '$PASS1_MESG' output:" >> > grep "$PASS1_MESG" output.log >> > result=1 >> > esac >> > >> > PASS2_MESG="after redefine" >> > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` >> > case "$cnt" in >> > 2) >> > echo "INFO: found 2 version-1 '$PASS2_MESG' mesgs." >> > ;; >> > *) >> > echo "FAIL: did NOT find 2 version-1 '$PASS2_MESG' mesgs." >> > echo "INFO: grep '$PASS2_MESG' output:" >> > grep "$PASS2_MESG" output.log >> > result=1 >> > esac >> > >> > if [ "$result" = 0 ]; then >> > echo "PASS: test passed both positive and negative output checks." >> > fi >> > >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesApp.java{.cr0,} >> 43,45c43,45 >> < // make an echo() call before any redefinitions: >> < mesg = remote.echo("test message #0"); >> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >> --- >> > // make echo() calls before any redefinitions: >> > mesg = remote.echo1("test message #1.1"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >> mesg='" >> 46a47,49 >> > mesg = remote.echo2("test message #2.1"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >> mesg='" >> > + mesg + "' before any redefines"); >> 54,56c57,62 >> < mesg = remote.echo("test message #1"); >> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >> < + mesg + "' after redefine #1"); >> --- >> > mesg = remote.echo1("test message #1.2"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >> mesg='" >> > + mesg + "' after redefine"); >> > mesg = remote.echo2("test message #2.2"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >> mesg='" >> > + mesg + "' after redefine"); >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java{.cr0,} >> 23a24,27 >> > // Reproducing this bug only requires an EMCP version of the >> > // RedefineSubclassWithTwoInterfacesImpl class so >> > // RedefineSubclassWithTwoInterfacesImpl.java and >> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java{.cr0,} >> 23a24,27 >> > // Reproducing this bug only requires an EMCP version of the >> > // RedefineSubclassWithTwoInterfacesImpl class so >> > // RedefineSubclassWithTwoInterfacesImpl.java and >> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesRemote.java{.cr0,} >> 40,41c40,41 >> < public String echo(String s) { >> < return "intf1<" + intf1.echo(s) + "> intf2< " + >> intf2.echo(s) + ">"; >> --- >> > public String echo1(String s) { >> > return "intf1<" + intf1.echo(s) + ">"; >> 42a43,46 >> > >> > public String echo2(String s) { >> > return "intf2<" + intf2.echo(s) + ">"; >> > } >> >> >> On 2/1/13 4:55 PM, Daniel D. Daugherty wrote: >>> And here is the webrev for the new tests (relative to JDK8-T&L): >>> >>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >>> >>> As always, comments and suggestions are welcome. >>> >>> Dan >>> >>> >>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>> > There are two new tests that will be pushed to the JDK repos using >>>> > a different bug ID (not yet filed): >>>> >>>> New bug is now filed: >>>> >>>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>>> to java/lang/instrument >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>> >>>> Of course, the tests cannot be pushed until the HSX changes have made >>>> it into a promoted build and thus available to JDK8-T&L. >>>> >>>> Dan >>>> >>>> >>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>> Greetings, >>>>> >>>>> I have a fix for the following JVM/TI bug: >>>>> >>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>> >>>>> The fix for the bug in the product code is one line: >>>>> >>>>> src/share/vm/oops/klassVtable.cpp: >>>>> >>>>> @@ -992,18 +1020,50 @@ >>>>> // RC_TRACE macro has an embedded ResourceMark >>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>> new_method->name()->as_C_string(), >>>>> new_method->signature()->as_C_string())); >>>>> } >>>>> - break; >>>>> + // cannot 'break' here; see for-loop comment above. >>>>> } >>>>> ime++; >>>>> } >>>>> } >>>>> } >>>>> >>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>> >>>>> The rest of the code in the webrevs are: >>>>> >>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>> changeset >>>>> - additional JVM/TI tracing code added by me and forward ported to >>>>> HSX-25 >>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>> elusive old or obsolete methods >>>>> - exposure of some printing code to the PRODUCT build so that the new >>>>> tracing is available in a PRODUCT build >>>>> >>>>> You might be wondering why the new tracing code is exposed in a >>>>> PRODUCT >>>>> build. Well, it appears that more and more PRODUCT bits >>>>> deployments are >>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>> run-time >>>>> to instrument their systems. This bug (7182152) was only >>>>> intermittently >>>>> reproducible in the WLS environment in which it occurred so I made >>>>> the >>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>> >>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>> fix resolves the issue in his environment. Thanks Raj! >>>>> >>>>> Here are the URLs for the three webrevs: >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>> >>>>> I have run the following test suites from the JPDA stack on the >>>>> JDK7u10/HSX-23.6 version of the fix with >>>>> -XX:TraceRedefineClasses=16384 >>>>> specified: >>>>> >>>>> sdk-jdi >>>>> sdk-jdi_closed >>>>> sdk-jli >>>>> vm-heapdump >>>>> vm-hprof >>>>> vm-jdb >>>>> vm-jdi >>>>> vm-jdwp >>>>> vm-jvmti >>>>> vm-sajdi >>>>> >>>>> The tested configs are: >>>>> >>>>> {Solaris-X86, WinXP} >>>>> X {Client VM, Server VM} >>>>> X {-Xmixed, -Xcomp} >>>>> X {product, fastdebug} >>>>> >>>>> With the 1-liner fix in place, the new tracing code does not find any >>>>> instances of this failure mode in any of the above test suites. >>>>> Without >>>>> the the 1-liner fix in place, the new tracing code finds one instance >>>>> of this failure mode in the above test suites: >>>>> >>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>> >>>>> There are two new tests that will be pushed to the JDK repos using >>>>> a different bug ID (not yet filed): >>>>> >>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>> >>>>> There will be a separate review request for the new tests. >>>>> >>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>> take all weekend to complete. >>>>> >>>>> Thanks, in advance, for any comments and/or suggestions. >>>>> >>>>> Dan >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >>> >>> >> >> >> > > > From serguei.spitsyn at oracle.com Mon Feb 11 17:14:40 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Mon, 11 Feb 2013 17:14:40 -0800 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51198FBA.5090409@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <5112B823.4040502@oracle.com> <511908CE.7040706@oracle.com> <51198FBA.5090409@oracle.com> Message-ID: <51199780.3050804@oracle.com> This looks good. BTW, the bug report links in the webrev are not resolved. It was not a big problem for me, just wanted to let you know. Thanks, Serguei On 2/11/13 4:41 PM, Daniel D. Daugherty wrote: > Greetings, > > Right after I pushed the changeset for 8007420, Alan B let me know that > he had updated the JLI/JPLIS test infrastructure to support running the > tests with a JRE instead of a JDK. Alan made his changes in early > January, > but I had developed this test back in December. I never checked to see > if the test on which I based my new test had changed. Sigh... > > I filed a new bug to update the new test. Here is the webrev URL: > > http://cr.openjdk.java.net/~dcubed/8007935-webrev/0-jdk8-tl/ > > As always, comments and suggestions are welcome. > > Dan > > > > On 2/11/13 8:05 AM, Daniel D. Daugherty wrote: >> Greetings, >> >> I've revised one of the tests to make it more portable based >> on JPRT test results for the Code Review Round 1 version. >> >> Here is the URL for the webrev for Code Review Round 2: >> >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/2-jdk8-tl/ >> >> Summary of the changes: >> >> - RedefineSubclassWithTwoInterfaces.sh >> - strip leading white space from 'wc -l' output for portable >> case statement check of "$cnt". >> - add missing ';;' for default cases (style only) >> >> Diffs are below since the webrev above is relative to JDK8-T&L >> and everything is "new". >> >> Dan >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr1,} >> 136c136 >> < cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` >> --- >> > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l | sed >> 's/^ *//'` >> 145a146 >> > ;; >> 149c150 >> < cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` >> --- >> > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l | sed >> 's/^ *//'` >> 158a160 >> > ;; >> >> >> >> On 2/6/13 1:08 PM, Daniel D. Daugherty wrote: >>> Greetings, >>> >>> I've revised the tests based on Coleen's and Serguei's feedback >>> in Code Review Round 0. >>> >>> Here is the URL for the webrev for Code Review Round 1: >>> >>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/1-jdk8-tl/ >>> >>> Summary of the changes: >>> >>> - RedefineAbstractClass.sh - cleaned up the header comment >>> - RedefineAbstractClass.sh >>> - more clear description of what's being tested >>> - add comments describing what the guarantee failure looks like >>> - add checks for proper pre-RedefineClasses output >>> - add checks for proper post-RedefineClasses output >>> - RedefineSubclassWithTwoInterfacesApp.java >>> - RedefineSubclassWithTwoInterfacesRemote.java >>> - refactor the test app's echo() method call into echo1() and >>> echo2() so it is easier to check for the failure mode >>> - RedefineSubclassWithTwoInterfacesImpl.java >>> - RedefineSubclassWithTwoInterfacesImpl_1.java >>> - add comment to explain why these sources are identical >>> >>> >>> Diffs are below since the webrev above is relative to JDK8-T&L >>> and everything is "new". >>> >>> Dan >>> >>> Here are diffs (ignoring whitespace) to make it clear what has >>> changed between Code Review Round 0 and Code Review Round 1: >>> >>> >>> $ diff -w test/com/sun/jdi/RedefineAbstractClass.sh{.cr0,} >>> 31a32 >>> > # @author Daniel D. Daugherty >>> >>> >>> $ diff -w >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr0,} >>> 26c26,27 >>> < # @summary Redefining a subclass that implements two interfaces is >>> broken. >>> --- >>> > # @summary Redefine a subclass that implements two interfaces and >>> > # verify that the right methods are called. >>> 101a103,104 >>> > >>> > echo "INFO: " >>> 102a106,107 >>> > echo "INFO: " >>> > >>> 108,112c113,127 >>> < MESG="guarantee" >>> < grep "$MESG" output.log >>> < result=$? >>> < if [ "$result" = 0 ]; then >>> < echo "FAIL: found '$MESG' in the test output" >>> --- >>> > # When this bug manifests, RedefineClasses() will fail to update >>> > # one of the itable entries to refer to the new method. The log >>> > # will include the following line when the bug occurs: >>> > # >>> > # guarantee(false) failed: OLD and/or OBSOLETE method(s) found >>> > # >>> > # If this guarantee happens, the test should fail in the status >>> > # check above, but just in case it doesn't, we check for "guarantee". >>> > # >>> > >>> > FAIL_MESG="guarantee" >>> > grep "$FAIL_MESG" output.log >>> > status=$? >>> > if [ "$status" = 0 ]; then >>> > echo "FAIL: found '$FAIL_MESG' in the test output." >>> 115c130,131 >>> < echo "PASS: did NOT find '$MESG' in the test output" >>> --- >>> > echo "INFO: did NOT find '$FAIL_MESG' in the test output." >>> > # be optimistic here >>> 118a135,164 >>> > PASS1_MESG="before any redefines" >>> > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` >>> > case "$cnt" in >>> > 2) >>> > echo "INFO: found 2 version-0 '$PASS1_MESG' mesgs." >>> > ;; >>> > *) >>> > echo "FAIL: did NOT find 2 version-0 '$PASS1_MESG' mesgs." >>> > echo "INFO: grep '$PASS1_MESG' output:" >>> > grep "$PASS1_MESG" output.log >>> > result=1 >>> > esac >>> > >>> > PASS2_MESG="after redefine" >>> > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` >>> > case "$cnt" in >>> > 2) >>> > echo "INFO: found 2 version-1 '$PASS2_MESG' mesgs." >>> > ;; >>> > *) >>> > echo "FAIL: did NOT find 2 version-1 '$PASS2_MESG' mesgs." >>> > echo "INFO: grep '$PASS2_MESG' output:" >>> > grep "$PASS2_MESG" output.log >>> > result=1 >>> > esac >>> > >>> > if [ "$result" = 0 ]; then >>> > echo "PASS: test passed both positive and negative output >>> checks." >>> > fi >>> > >>> >>> >>> $ diff >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesApp.java{.cr0,} >>> 43,45c43,45 >>> < // make an echo() call before any redefinitions: >>> < mesg = remote.echo("test message #0"); >>> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >>> --- >>> > // make echo() calls before any redefinitions: >>> > mesg = remote.echo1("test message #1.1"); >>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >>> mesg='" >>> 46a47,49 >>> > mesg = remote.echo2("test message #2.1"); >>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >>> mesg='" >>> > + mesg + "' before any redefines"); >>> 54,56c57,62 >>> < mesg = remote.echo("test message #1"); >>> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >>> < + mesg + "' after redefine #1"); >>> --- >>> > mesg = remote.echo1("test message #1.2"); >>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >>> mesg='" >>> > + mesg + "' after redefine"); >>> > mesg = remote.echo2("test message #2.2"); >>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >>> mesg='" >>> > + mesg + "' after redefine"); >>> >>> >>> $ diff >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java{.cr0,} >>> 23a24,27 >>> > // Reproducing this bug only requires an EMCP version of the >>> > // RedefineSubclassWithTwoInterfacesImpl class so >>> > // RedefineSubclassWithTwoInterfacesImpl.java and >>> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >>> >>> >>> $ diff >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java{.cr0,} >>> 23a24,27 >>> > // Reproducing this bug only requires an EMCP version of the >>> > // RedefineSubclassWithTwoInterfacesImpl class so >>> > // RedefineSubclassWithTwoInterfacesImpl.java and >>> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >>> >>> >>> $ diff >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesRemote.java{.cr0,} >>> 40,41c40,41 >>> < public String echo(String s) { >>> < return "intf1<" + intf1.echo(s) + "> intf2< " + >>> intf2.echo(s) + ">"; >>> --- >>> > public String echo1(String s) { >>> > return "intf1<" + intf1.echo(s) + ">"; >>> 42a43,46 >>> > >>> > public String echo2(String s) { >>> > return "intf2<" + intf2.echo(s) + ">"; >>> > } >>> >>> >>> On 2/1/13 4:55 PM, Daniel D. Daugherty wrote: >>>> And here is the webrev for the new tests (relative to JDK8-T&L): >>>> >>>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >>>> >>>> As always, comments and suggestions are welcome. >>>> >>>> Dan >>>> >>>> >>>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>>> > There are two new tests that will be pushed to the JDK repos using >>>>> > a different bug ID (not yet filed): >>>>> >>>>> New bug is now filed: >>>>> >>>>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>>>> to java/lang/instrument >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>>> >>>>> Of course, the tests cannot be pushed until the HSX changes have made >>>>> it into a promoted build and thus available to JDK8-T&L. >>>>> >>>>> Dan >>>>> >>>>> >>>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>>> Greetings, >>>>>> >>>>>> I have a fix for the following JVM/TI bug: >>>>>> >>>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>>> >>>>>> The fix for the bug in the product code is one line: >>>>>> >>>>>> src/share/vm/oops/klassVtable.cpp: >>>>>> >>>>>> @@ -992,18 +1020,50 @@ >>>>>> // RC_TRACE macro has an embedded ResourceMark >>>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>>> new_method->name()->as_C_string(), >>>>>> new_method->signature()->as_C_string())); >>>>>> } >>>>>> - break; >>>>>> + // cannot 'break' here; see for-loop comment above. >>>>>> } >>>>>> ime++; >>>>>> } >>>>>> } >>>>>> } >>>>>> >>>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>>> >>>>>> The rest of the code in the webrevs are: >>>>>> >>>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>>> changeset >>>>>> - additional JVM/TI tracing code added by me and forward ported >>>>>> to HSX-25 >>>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>>> elusive old or obsolete methods >>>>>> - exposure of some printing code to the PRODUCT build so that the >>>>>> new >>>>>> tracing is available in a PRODUCT build >>>>>> >>>>>> You might be wondering why the new tracing code is exposed in a >>>>>> PRODUCT >>>>>> build. Well, it appears that more and more PRODUCT bits >>>>>> deployments are >>>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>>> run-time >>>>>> to instrument their systems. This bug (7182152) was only >>>>>> intermittently >>>>>> reproducible in the WLS environment in which it occurred so I >>>>>> made the >>>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>>> >>>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>>> fix resolves the issue in his environment. Thanks Raj! >>>>>> >>>>>> Here are the URLs for the three webrevs: >>>>>> >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>>> >>>>>> I have run the following test suites from the JPDA stack on the >>>>>> JDK7u10/HSX-23.6 version of the fix with >>>>>> -XX:TraceRedefineClasses=16384 >>>>>> specified: >>>>>> >>>>>> sdk-jdi >>>>>> sdk-jdi_closed >>>>>> sdk-jli >>>>>> vm-heapdump >>>>>> vm-hprof >>>>>> vm-jdb >>>>>> vm-jdi >>>>>> vm-jdwp >>>>>> vm-jvmti >>>>>> vm-sajdi >>>>>> >>>>>> The tested configs are: >>>>>> >>>>>> {Solaris-X86, WinXP} >>>>>> X {Client VM, Server VM} >>>>>> X {-Xmixed, -Xcomp} >>>>>> X {product, fastdebug} >>>>>> >>>>>> With the 1-liner fix in place, the new tracing code does not find >>>>>> any >>>>>> instances of this failure mode in any of the above test suites. >>>>>> Without >>>>>> the the 1-liner fix in place, the new tracing code finds one >>>>>> instance >>>>>> of this failure mode in the above test suites: >>>>>> >>>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>>> >>>>>> There are two new tests that will be pushed to the JDK repos using >>>>>> a different bug ID (not yet filed): >>>>>> >>>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>>> >>>>>> There will be a separate review request for the new tests. >>>>>> >>>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>>> take all weekend to complete. >>>>>> >>>>>> Thanks, in advance, for any comments and/or suggestions. >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >>> >>> >> >> >> > From daniel.daugherty at oracle.com Mon Feb 11 17:22:57 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 11 Feb 2013 18:22:57 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51199780.3050804@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <5112B823.4040502@oracle.com> <511908CE.7040706@oracle.com> <51198FBA.5090409@oracle.com> <51199780.3050804@oracle.com> Message-ID: <51199971.9070408@oracle.com> Serguei, Thanks for the fast review! I fixed the broken JBS link, but I can't do anything about getting the bugs.sun.com entry out any faster. Sigh... Dan On 2/11/13 6:14 PM, serguei.spitsyn at oracle.com wrote: > This looks good. > > BTW, the bug report links in the webrev are not resolved. > It was not a big problem for me, just wanted to let you know. > > Thanks, > Serguei > > > On 2/11/13 4:41 PM, Daniel D. Daugherty wrote: >> Greetings, >> >> Right after I pushed the changeset for 8007420, Alan B let me know that >> he had updated the JLI/JPLIS test infrastructure to support running the >> tests with a JRE instead of a JDK. Alan made his changes in early >> January, >> but I had developed this test back in December. I never checked to see >> if the test on which I based my new test had changed. Sigh... >> >> I filed a new bug to update the new test. Here is the webrev URL: >> >> http://cr.openjdk.java.net/~dcubed/8007935-webrev/0-jdk8-tl/ >> >> As always, comments and suggestions are welcome. >> >> Dan >> >> >> >> On 2/11/13 8:05 AM, Daniel D. Daugherty wrote: >>> Greetings, >>> >>> I've revised one of the tests to make it more portable based >>> on JPRT test results for the Code Review Round 1 version. >>> >>> Here is the URL for the webrev for Code Review Round 2: >>> >>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/2-jdk8-tl/ >>> >>> Summary of the changes: >>> >>> - RedefineSubclassWithTwoInterfaces.sh >>> - strip leading white space from 'wc -l' output for portable >>> case statement check of "$cnt". >>> - add missing ';;' for default cases (style only) >>> >>> Diffs are below since the webrev above is relative to JDK8-T&L >>> and everything is "new". >>> >>> Dan >>> >>> $ diff >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr1,} >>> 136c136 >>> < cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` >>> --- >>> > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l | >>> sed 's/^ *//'` >>> 145a146 >>> > ;; >>> 149c150 >>> < cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` >>> --- >>> > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l | >>> sed 's/^ *//'` >>> 158a160 >>> > ;; >>> >>> >>> >>> On 2/6/13 1:08 PM, Daniel D. Daugherty wrote: >>>> Greetings, >>>> >>>> I've revised the tests based on Coleen's and Serguei's feedback >>>> in Code Review Round 0. >>>> >>>> Here is the URL for the webrev for Code Review Round 1: >>>> >>>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/1-jdk8-tl/ >>>> >>>> Summary of the changes: >>>> >>>> - RedefineAbstractClass.sh - cleaned up the header comment >>>> - RedefineAbstractClass.sh >>>> - more clear description of what's being tested >>>> - add comments describing what the guarantee failure looks like >>>> - add checks for proper pre-RedefineClasses output >>>> - add checks for proper post-RedefineClasses output >>>> - RedefineSubclassWithTwoInterfacesApp.java >>>> - RedefineSubclassWithTwoInterfacesRemote.java >>>> - refactor the test app's echo() method call into echo1() and >>>> echo2() so it is easier to check for the failure mode >>>> - RedefineSubclassWithTwoInterfacesImpl.java >>>> - RedefineSubclassWithTwoInterfacesImpl_1.java >>>> - add comment to explain why these sources are identical >>>> >>>> >>>> Diffs are below since the webrev above is relative to JDK8-T&L >>>> and everything is "new". >>>> >>>> Dan >>>> >>>> Here are diffs (ignoring whitespace) to make it clear what has >>>> changed between Code Review Round 0 and Code Review Round 1: >>>> >>>> >>>> $ diff -w test/com/sun/jdi/RedefineAbstractClass.sh{.cr0,} >>>> 31a32 >>>> > # @author Daniel D. Daugherty >>>> >>>> >>>> $ diff -w >>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr0,} >>>> 26c26,27 >>>> < # @summary Redefining a subclass that implements two interfaces >>>> is broken. >>>> --- >>>> > # @summary Redefine a subclass that implements two interfaces and >>>> > # verify that the right methods are called. >>>> 101a103,104 >>>> > >>>> > echo "INFO: " >>>> 102a106,107 >>>> > echo "INFO: " >>>> > >>>> 108,112c113,127 >>>> < MESG="guarantee" >>>> < grep "$MESG" output.log >>>> < result=$? >>>> < if [ "$result" = 0 ]; then >>>> < echo "FAIL: found '$MESG' in the test output" >>>> --- >>>> > # When this bug manifests, RedefineClasses() will fail to update >>>> > # one of the itable entries to refer to the new method. The log >>>> > # will include the following line when the bug occurs: >>>> > # >>>> > # guarantee(false) failed: OLD and/or OBSOLETE method(s) found >>>> > # >>>> > # If this guarantee happens, the test should fail in the status >>>> > # check above, but just in case it doesn't, we check for >>>> "guarantee". >>>> > # >>>> > >>>> > FAIL_MESG="guarantee" >>>> > grep "$FAIL_MESG" output.log >>>> > status=$? >>>> > if [ "$status" = 0 ]; then >>>> > echo "FAIL: found '$FAIL_MESG' in the test output." >>>> 115c130,131 >>>> < echo "PASS: did NOT find '$MESG' in the test output" >>>> --- >>>> > echo "INFO: did NOT find '$FAIL_MESG' in the test output." >>>> > # be optimistic here >>>> 118a135,164 >>>> > PASS1_MESG="before any redefines" >>>> > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` >>>> > case "$cnt" in >>>> > 2) >>>> > echo "INFO: found 2 version-0 '$PASS1_MESG' mesgs." >>>> > ;; >>>> > *) >>>> > echo "FAIL: did NOT find 2 version-0 '$PASS1_MESG' mesgs." >>>> > echo "INFO: grep '$PASS1_MESG' output:" >>>> > grep "$PASS1_MESG" output.log >>>> > result=1 >>>> > esac >>>> > >>>> > PASS2_MESG="after redefine" >>>> > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` >>>> > case "$cnt" in >>>> > 2) >>>> > echo "INFO: found 2 version-1 '$PASS2_MESG' mesgs." >>>> > ;; >>>> > *) >>>> > echo "FAIL: did NOT find 2 version-1 '$PASS2_MESG' mesgs." >>>> > echo "INFO: grep '$PASS2_MESG' output:" >>>> > grep "$PASS2_MESG" output.log >>>> > result=1 >>>> > esac >>>> > >>>> > if [ "$result" = 0 ]; then >>>> > echo "PASS: test passed both positive and negative output >>>> checks." >>>> > fi >>>> > >>>> >>>> >>>> $ diff >>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesApp.java{.cr0,} >>>> 43,45c43,45 >>>> < // make an echo() call before any redefinitions: >>>> < mesg = remote.echo("test message #0"); >>>> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >>>> --- >>>> > // make echo() calls before any redefinitions: >>>> > mesg = remote.echo1("test message #1.1"); >>>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >>>> mesg='" >>>> 46a47,49 >>>> > mesg = remote.echo2("test message #2.1"); >>>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >>>> mesg='" >>>> > + mesg + "' before any redefines"); >>>> 54,56c57,62 >>>> < mesg = remote.echo("test message #1"); >>>> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >>>> < + mesg + "' after redefine #1"); >>>> --- >>>> > mesg = remote.echo1("test message #1.2"); >>>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >>>> mesg='" >>>> > + mesg + "' after redefine"); >>>> > mesg = remote.echo2("test message #2.2"); >>>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >>>> mesg='" >>>> > + mesg + "' after redefine"); >>>> >>>> >>>> $ diff >>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java{.cr0,} >>>> 23a24,27 >>>> > // Reproducing this bug only requires an EMCP version of the >>>> > // RedefineSubclassWithTwoInterfacesImpl class so >>>> > // RedefineSubclassWithTwoInterfacesImpl.java and >>>> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >>>> >>>> >>>> $ diff >>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java{.cr0,} >>>> 23a24,27 >>>> > // Reproducing this bug only requires an EMCP version of the >>>> > // RedefineSubclassWithTwoInterfacesImpl class so >>>> > // RedefineSubclassWithTwoInterfacesImpl.java and >>>> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >>>> >>>> >>>> $ diff >>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesRemote.java{.cr0,} >>>> 40,41c40,41 >>>> < public String echo(String s) { >>>> < return "intf1<" + intf1.echo(s) + "> intf2< " + >>>> intf2.echo(s) + ">"; >>>> --- >>>> > public String echo1(String s) { >>>> > return "intf1<" + intf1.echo(s) + ">"; >>>> 42a43,46 >>>> > >>>> > public String echo2(String s) { >>>> > return "intf2<" + intf2.echo(s) + ">"; >>>> > } >>>> >>>> >>>> On 2/1/13 4:55 PM, Daniel D. Daugherty wrote: >>>>> And here is the webrev for the new tests (relative to JDK8-T&L): >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >>>>> >>>>> As always, comments and suggestions are welcome. >>>>> >>>>> Dan >>>>> >>>>> >>>>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>>>> > There are two new tests that will be pushed to the JDK repos using >>>>>> > a different bug ID (not yet filed): >>>>>> >>>>>> New bug is now filed: >>>>>> >>>>>> 8007420 add test for 6805864 to com/sun/jdi, add test for >>>>>> 7182152 >>>>>> to java/lang/instrument >>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>>>> >>>>>> Of course, the tests cannot be pushed until the HSX changes have >>>>>> made >>>>>> it into a promoted build and thus available to JDK8-T&L. >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>>>> Greetings, >>>>>>> >>>>>>> I have a fix for the following JVM/TI bug: >>>>>>> >>>>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>>>> >>>>>>> The fix for the bug in the product code is one line: >>>>>>> >>>>>>> src/share/vm/oops/klassVtable.cpp: >>>>>>> >>>>>>> @@ -992,18 +1020,50 @@ >>>>>>> // RC_TRACE macro has an embedded ResourceMark >>>>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>>>> new_method->name()->as_C_string(), >>>>>>> new_method->signature()->as_C_string())); >>>>>>> } >>>>>>> - break; >>>>>>> + // cannot 'break' here; see for-loop comment above. >>>>>>> } >>>>>>> ime++; >>>>>>> } >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>>>> >>>>>>> The rest of the code in the webrevs are: >>>>>>> >>>>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>>>> changeset >>>>>>> - additional JVM/TI tracing code added by me and forward ported >>>>>>> to HSX-25 >>>>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>>>> elusive old or obsolete methods >>>>>>> - exposure of some printing code to the PRODUCT build so that >>>>>>> the new >>>>>>> tracing is available in a PRODUCT build >>>>>>> >>>>>>> You might be wondering why the new tracing code is exposed in a >>>>>>> PRODUCT >>>>>>> build. Well, it appears that more and more PRODUCT bits >>>>>>> deployments are >>>>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>>>> run-time >>>>>>> to instrument their systems. This bug (7182152) was only >>>>>>> intermittently >>>>>>> reproducible in the WLS environment in which it occurred so I >>>>>>> made the >>>>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>>>> >>>>>>> Raj from the WLS team has also verified that the HSX-23.6 >>>>>>> version of >>>>>>> fix resolves the issue in his environment. Thanks Raj! >>>>>>> >>>>>>> Here are the URLs for the three webrevs: >>>>>>> >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>>>> >>>>>>> I have run the following test suites from the JPDA stack on the >>>>>>> JDK7u10/HSX-23.6 version of the fix with >>>>>>> -XX:TraceRedefineClasses=16384 >>>>>>> specified: >>>>>>> >>>>>>> sdk-jdi >>>>>>> sdk-jdi_closed >>>>>>> sdk-jli >>>>>>> vm-heapdump >>>>>>> vm-hprof >>>>>>> vm-jdb >>>>>>> vm-jdi >>>>>>> vm-jdwp >>>>>>> vm-jvmti >>>>>>> vm-sajdi >>>>>>> >>>>>>> The tested configs are: >>>>>>> >>>>>>> {Solaris-X86, WinXP} >>>>>>> X {Client VM, Server VM} >>>>>>> X {-Xmixed, -Xcomp} >>>>>>> X {product, fastdebug} >>>>>>> >>>>>>> With the 1-liner fix in place, the new tracing code does not >>>>>>> find any >>>>>>> instances of this failure mode in any of the above test suites. >>>>>>> Without >>>>>>> the the 1-liner fix in place, the new tracing code finds one >>>>>>> instance >>>>>>> of this failure mode in the above test suites: >>>>>>> >>>>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>>>> >>>>>>> There are two new tests that will be pushed to the JDK repos using >>>>>>> a different bug ID (not yet filed): >>>>>>> >>>>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>>>> >>>>>>> There will be a separate review request for the new tests. >>>>>>> >>>>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>>>> take all weekend to complete. >>>>>>> >>>>>>> Thanks, in advance, for any comments and/or suggestions. >>>>>>> >>>>>>> Dan >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >>> >>> >> > From mike.duigou at oracle.com Mon Feb 11 20:27:14 2013 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Tue, 12 Feb 2013 04:27:14 +0000 Subject: hg: jdk8/tl/jdk: 8006594: Add jdk_core target to jdk/test/Makefile Message-ID: <20130212042734.9CCB7479C5@hg.openjdk.java.net> Changeset: 465cce29a9ed Author: mduigou Date: 2013-02-06 11:28 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/465cce29a9ed 8006594: Add jdk_core target to jdk/test/Makefile Reviewed-by: alanb ! make/jprt.properties ! test/Makefile ! test/ProblemList.txt From mike.duigou at oracle.com Mon Feb 11 20:29:29 2013 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Tue, 12 Feb 2013 04:29:29 +0000 Subject: hg: jdk8/tl: 8006595: Use jdk/test/Makefile targets in preference to local definitions Message-ID: <20130212042929.27A3C479C6@hg.openjdk.java.net> Changeset: 7817368287cd Author: mduigou Date: 2013-02-06 11:12 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/7817368287cd 8006595: Use jdk/test/Makefile targets in preference to local definitions Reviewed-by: alanb ! common/makefiles/Main.gmk ! test/Makefile From staffan.larsen at oracle.com Tue Feb 12 02:19:24 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Tue, 12 Feb 2013 11:19:24 +0100 Subject: RFR (XS): 8007901 SA: Don't read flag values as constants In-Reply-To: <51198AE3.5040706@oracle.com> References: <51198AE3.5040706@oracle.com> Message-ID: <66CB6E74-D03C-43A7-B3B1-C162C2992398@oracle.com> The values are initialized at VM compile time in the VMStructs::localHotSpotVMIntConstants array. I don't think we want to modify SA so that values of int constants is made into a dynamic lookup. Or at least, that is a fairly significant change to SA. The problem here was to think that UseTLAB is a constant when it isn't. Yes, I thought about a regression test for this, but the valuable test would be to verify that no command line flag values are read as constants, and I don't see how I could write that. Thanks, /Staffan On 12 feb 2013, at 01:20, David Holmes wrote: > On 10/02/2013 5:06 AM, Staffan Larsen wrote: >> Please review this small patch to avoid reading flag values in SA as constants. Reading them as constants means SA will only see the default value for these flags. Instead the infrastructure in SA to read command line flags should be used. In addition the value if EnableInvokeDynamic is never used, so I removed that from SA. > > Isn't the real problem in the way db is initialized with the values for these flags? ie shouldn't db.lookupIntConstant("UseTLAB").intValue() be returning the actual value of UseTLAB as it occurs in the VM ? > > Also we need a regression test for this as obviously it ain't being tested! :( > > Thanks, > David > >> webrev: http://cr.openjdk.java.net/~sla/8007901/webrev.00/ >> bug: http://bugs.sun.com/view_bug.do?bug_id=8007901 (not yet visible) >> >> Thanks, >> /Staffan >> From joel.franck at oracle.com Tue Feb 12 02:32:07 2013 From: joel.franck at oracle.com (joel.franck at oracle.com) Date: Tue, 12 Feb 2013 10:32:07 +0000 Subject: hg: jdk8/tl/langtools: 8004822: RFE to write language model API tests for repeating annotations based on the spec updates Message-ID: <20130212103213.A6A78479CE@hg.openjdk.java.net> Changeset: 973646bf043a Author: jfranck Date: 2013-02-12 11:28 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/973646bf043a 8004822: RFE to write language model API tests for repeating annotations based on the spec updates Reviewed-by: jjg, abuckley Contributed-by: Matherey Nunez + test/tools/javac/processing/model/element/repeatingAnnotations/ElementRepAnnoTester.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerBasicTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedA1Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedA2Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedB1Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedB2Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerBasicTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerInheritedA1Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerInheritedA2Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerInheritedB1Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerInheritedB2Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/OfficialContainerBasicTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/OfficialContainerInheritedTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/RepeatableBasicTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/RepeatableInheritedTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOfficialContainerBasicTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOfficialContainerInheritedTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOverrideATest.java + test/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOverrideBTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/SingularBasicTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/SingularInheritedATest.java + test/tools/javac/processing/model/element/repeatingAnnotations/SingularInheritedBTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/UnofficialContainerBasicTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/UnofficialContainerInheritedTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/Bar.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/BarContainer.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/BarContainerContainer.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/BarInherited.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/BarInheritedContainer.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/BarInheritedContainerContainer.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/ExpectedBase.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/ExpectedContainer.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/Foo.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/FooInherited.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/UnofficialContainer.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/UnofficialInheritedContainer.java From dmitry.samersoff at oracle.com Tue Feb 12 04:04:08 2013 From: dmitry.samersoff at oracle.com (dmitry.samersoff at oracle.com) Date: Tue, 12 Feb 2013 12:04:08 +0000 Subject: hg: jdk8/tl/jdk: 8007786: JDK-8002048 testcase doesn't work on Solaris Message-ID: <20130212120441.B8CCD479D2@hg.openjdk.java.net> Changeset: f7fb173ac833 Author: dsamersoff Date: 2013-02-12 16:02 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f7fb173ac833 8007786: JDK-8002048 testcase doesn't work on Solaris Summary: test built in into Solaris shell doesn't have -e operator Reviewed-by: sla, sspitsyn ! test/sun/management/jdp/JdpTest.sh From vicente.romero at oracle.com Tue Feb 12 05:38:28 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Tue, 12 Feb 2013 13:38:28 +0000 Subject: hg: jdk8/tl/langtools: 8006334: javap, JavapTask constructor breaks with null pointer exception if parameter options is null Message-ID: <20130212133831.64F4F479D8@hg.openjdk.java.net> Changeset: 073696f59241 Author: vromero Date: 2013-02-12 13:36 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/073696f59241 8006334: javap, JavapTask constructor breaks with null pointer exception if parameter options is null Reviewed-by: jjg ! src/share/classes/com/sun/tools/javap/JavapTask.java + test/tools/javap/8006334/JavapTaskCtorFailWithNPE.java From markus.gronlund at oracle.com Tue Feb 12 06:03:00 2013 From: markus.gronlund at oracle.com (=?iso-8859-1?B?TWFya3VzIEdy9m5sdW5k?=) Date: Tue, 12 Feb 2013 06:03:00 -0800 (PST) Subject: RFR(XXS): 8007147: Trace event ExecuteVMOperation may get dangling pointer Message-ID: Greetings, ? Kindly asking for reviews and a putback sponsorship for the following change: ? Bugid: http://bugs.sun.com/view_bug.do?bug_id=8007147 Webrev: http://cr.openjdk.java.net/~mgronlun/8007147/webrev01/ ? Please also note this is for hs24. ? Thanks to David Holmes for pointing out this problem. ? Thanks Markus -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130212/69355265/attachment.html From staffan.larsen at oracle.com Tue Feb 12 06:47:01 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Tue, 12 Feb 2013 15:47:01 +0100 Subject: RFR(XXS): 8007147: Trace event ExecuteVMOperation may get dangling pointer In-Reply-To: References: Message-ID: <95B05418-AD84-48DE-A11E-8C0796FAD8AF@oracle.com> Looks good! I can sponsor this once it has been Reviewed. /Staffan On 12 feb 2013, at 15:03, Markus Gr?nlund wrote: > Greetings, > > Kindly asking for reviews and a putback sponsorship for the following change: > > Bugid: http://bugs.sun.com/view_bug.do?bug_id=8007147 > Webrev: http://cr.openjdk.java.net/~mgronlun/8007147/webrev01/ > > Please also note this is for hs24. > > Thanks to David Holmes for pointing out this problem. > > Thanks > Markus -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130212/3d7e58d1/attachment.html From xueming.shen at oracle.com Tue Feb 12 09:27:13 2013 From: xueming.shen at oracle.com (xueming.shen at oracle.com) Date: Tue, 12 Feb 2013 17:27:13 +0000 Subject: hg: jdk8/tl/jdk: 8007392: JSR 310: DateTime API Updates; ... Message-ID: <20130212172753.897C6479E1@hg.openjdk.java.net> Changeset: 7dcb74c3ffba Author: sherman Date: 2013-02-12 09:25 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/7dcb74c3ffba 8007392: JSR 310: DateTime API Updates 8007520: Update date/time classes in j.util and j.sql packages 8007572: Replace existing jdk timezone data at /lib/zi with JSR310's tzdb Summary: Integration of JSR310 Date/Time API for M7 Reviewed-by: darcy, alanb, naoto Contributed-by: scolebourne at joda.org, roger.riggs at oracle.com, masayoshi.okutsu at oracle.com, patrick.zhang at oracle.com ! make/docs/CORE_PKGS.gmk ! make/java/java/FILES_java.gmk ! make/sun/Makefile ! make/sun/javazic/Makefile + make/sun/javazic/tzdata/gmt + make/sun/javazic/tzdata/jdk11_backward ! make/sun/tzdb/Makefile ! make/tools/Makefile ! make/tools/src/build/tools/javazic/Zoneinfo.java ! make/tools/src/build/tools/tzdb/TzdbZoneRulesCompiler.java ! makefiles/GendataTZDB.gmk ! makefiles/GendataTimeZone.gmk ! makefiles/GenerateData.gmk ! makefiles/Tools.gmk ! src/share/classes/java/sql/Date.java ! src/share/classes/java/sql/Time.java ! src/share/classes/java/sql/Timestamp.java ! src/share/classes/java/time/Clock.java ! src/share/classes/java/time/DayOfWeek.java ! src/share/classes/java/time/Duration.java ! src/share/classes/java/time/Instant.java ! src/share/classes/java/time/LocalDate.java ! src/share/classes/java/time/LocalDateTime.java ! src/share/classes/java/time/LocalTime.java ! src/share/classes/java/time/Month.java + src/share/classes/java/time/MonthDay.java + src/share/classes/java/time/OffsetDateTime.java + src/share/classes/java/time/OffsetTime.java ! src/share/classes/java/time/Period.java - src/share/classes/java/time/PeriodParser.java ! src/share/classes/java/time/Ser.java + src/share/classes/java/time/Year.java + src/share/classes/java/time/YearMonth.java ! src/share/classes/java/time/ZoneId.java ! src/share/classes/java/time/ZoneOffset.java ! src/share/classes/java/time/ZoneRegion.java ! src/share/classes/java/time/ZonedDateTime.java - src/share/classes/java/time/calendar/ChronoDateImpl.java - src/share/classes/java/time/calendar/HijrahChrono.java - src/share/classes/java/time/calendar/HijrahDate.java - src/share/classes/java/time/calendar/HijrahDeviationReader.java - src/share/classes/java/time/calendar/HijrahEra.java - src/share/classes/java/time/calendar/JapaneseChrono.java - src/share/classes/java/time/calendar/JapaneseDate.java - src/share/classes/java/time/calendar/JapaneseEra.java - src/share/classes/java/time/calendar/MinguoChrono.java - src/share/classes/java/time/calendar/MinguoDate.java - src/share/classes/java/time/calendar/MinguoEra.java - src/share/classes/java/time/calendar/Ser.java - src/share/classes/java/time/calendar/ThaiBuddhistChrono.java - src/share/classes/java/time/calendar/ThaiBuddhistDate.java - src/share/classes/java/time/calendar/ThaiBuddhistEra.java - src/share/classes/java/time/calendar/package-info.java + src/share/classes/java/time/chrono/ChronoDateImpl.java + src/share/classes/java/time/chrono/ChronoLocalDate.java + src/share/classes/java/time/chrono/ChronoLocalDateTime.java + src/share/classes/java/time/chrono/ChronoLocalDateTimeImpl.java + src/share/classes/java/time/chrono/ChronoZonedDateTime.java + src/share/classes/java/time/chrono/ChronoZonedDateTimeImpl.java + src/share/classes/java/time/chrono/Chronology.java + src/share/classes/java/time/chrono/Era.java + src/share/classes/java/time/chrono/HijrahChronology.java + src/share/classes/java/time/chrono/HijrahDate.java + src/share/classes/java/time/chrono/HijrahDeviationReader.java + src/share/classes/java/time/chrono/HijrahEra.java + src/share/classes/java/time/chrono/IsoChronology.java + src/share/classes/java/time/chrono/IsoEra.java + src/share/classes/java/time/chrono/JapaneseChronology.java + src/share/classes/java/time/chrono/JapaneseDate.java + src/share/classes/java/time/chrono/JapaneseEra.java + src/share/classes/java/time/chrono/MinguoChronology.java + src/share/classes/java/time/chrono/MinguoDate.java + src/share/classes/java/time/chrono/MinguoEra.java + src/share/classes/java/time/chrono/Ser.java + src/share/classes/java/time/chrono/ThaiBuddhistChronology.java + src/share/classes/java/time/chrono/ThaiBuddhistDate.java + src/share/classes/java/time/chrono/ThaiBuddhistEra.java + src/share/classes/java/time/chrono/package-info.java ! src/share/classes/java/time/format/DateTimeBuilder.java ! src/share/classes/java/time/format/DateTimeFormatStyleProvider.java ! src/share/classes/java/time/format/DateTimeFormatter.java ! src/share/classes/java/time/format/DateTimeFormatterBuilder.java - src/share/classes/java/time/format/DateTimeFormatters.java ! src/share/classes/java/time/format/DateTimeParseContext.java ! src/share/classes/java/time/format/DateTimePrintContext.java - src/share/classes/java/time/format/DateTimePrintException.java ! src/share/classes/java/time/format/DateTimeTextProvider.java ! src/share/classes/java/time/format/FormatStyle.java + src/share/classes/java/time/format/ZoneName.java ! src/share/classes/java/time/format/package-info.java ! src/share/classes/java/time/overview.html ! src/share/classes/java/time/package-info.java - src/share/classes/java/time/temporal/Chrono.java ! src/share/classes/java/time/temporal/ChronoField.java - src/share/classes/java/time/temporal/ChronoLocalDate.java - src/share/classes/java/time/temporal/ChronoLocalDateTime.java - src/share/classes/java/time/temporal/ChronoLocalDateTimeImpl.java ! src/share/classes/java/time/temporal/ChronoUnit.java - src/share/classes/java/time/temporal/ChronoZonedDateTime.java - src/share/classes/java/time/temporal/ChronoZonedDateTimeImpl.java - src/share/classes/java/time/temporal/Era.java - src/share/classes/java/time/temporal/ISOChrono.java - src/share/classes/java/time/temporal/ISOEra.java - src/share/classes/java/time/temporal/ISOFields.java + src/share/classes/java/time/temporal/IsoFields.java ! src/share/classes/java/time/temporal/JulianFields.java - src/share/classes/java/time/temporal/MonthDay.java - src/share/classes/java/time/temporal/OffsetDate.java - src/share/classes/java/time/temporal/OffsetDateTime.java - src/share/classes/java/time/temporal/OffsetTime.java ! src/share/classes/java/time/temporal/Queries.java - src/share/classes/java/time/temporal/Ser.java - src/share/classes/java/time/temporal/SimplePeriod.java ! src/share/classes/java/time/temporal/Temporal.java ! src/share/classes/java/time/temporal/TemporalAccessor.java - src/share/classes/java/time/temporal/TemporalAdder.java ! src/share/classes/java/time/temporal/TemporalAdjuster.java + src/share/classes/java/time/temporal/TemporalAmount.java ! src/share/classes/java/time/temporal/TemporalField.java ! src/share/classes/java/time/temporal/TemporalQuery.java - src/share/classes/java/time/temporal/TemporalSubtractor.java ! src/share/classes/java/time/temporal/TemporalUnit.java ! src/share/classes/java/time/temporal/WeekFields.java - src/share/classes/java/time/temporal/Year.java - src/share/classes/java/time/temporal/YearMonth.java ! src/share/classes/java/time/temporal/package-info.java ! src/share/classes/java/time/zone/TzdbZoneRulesProvider.java ! src/share/classes/java/time/zone/ZoneOffsetTransitionRule.java ! src/share/classes/java/time/zone/ZoneRules.java ! src/share/classes/java/time/zone/ZoneRulesProvider.java ! src/share/classes/java/util/Calendar.java ! src/share/classes/java/util/Date.java ! src/share/classes/java/util/Formatter.java ! src/share/classes/java/util/GregorianCalendar.java ! src/share/classes/java/util/TimeZone.java ! src/share/classes/sun/text/resources/FormatData.java ! src/share/classes/sun/text/resources/ar/FormatData_ar.java ! src/share/classes/sun/text/resources/el/FormatData_el.java ! src/share/classes/sun/text/resources/hr/FormatData_hr.java ! src/share/classes/sun/text/resources/ja/FormatData_ja.java ! src/share/classes/sun/text/resources/ko/FormatData_ko.java ! src/share/classes/sun/text/resources/sr/FormatData_sr.java ! src/share/classes/sun/text/resources/sv/FormatData_sv.java ! src/share/classes/sun/text/resources/zh/FormatData_zh.java ! src/share/classes/sun/text/resources/zh/FormatData_zh_TW.java ! src/share/classes/sun/util/calendar/CalendarSystem.java ! src/share/classes/sun/util/calendar/LocalGregorianCalendar.java - src/share/classes/sun/util/calendar/TzIDOldMapping.java ! src/share/classes/sun/util/calendar/ZoneInfo.java ! src/share/classes/sun/util/calendar/ZoneInfoFile.java ! src/share/classes/sun/util/locale/provider/CalendarDataUtility.java ! src/share/classes/sun/util/locale/provider/CalendarNameProviderImpl.java ! src/share/classes/sun/util/locale/provider/LocaleResources.java + test/java/sql/JavatimeTest.java + test/java/time/META-INF/services/java.time.chrono.Chronology - test/java/time/META-INF/services/java.time.temporal.Chrono ! test/java/time/tck/java/time/AbstractTCKTest.java + test/java/time/tck/java/time/MockSimplePeriod.java ! test/java/time/tck/java/time/TCKClock.java ! test/java/time/tck/java/time/TCKClock_Fixed.java ! test/java/time/tck/java/time/TCKClock_Offset.java ! test/java/time/tck/java/time/TCKClock_System.java ! test/java/time/tck/java/time/TCKClock_Tick.java ! test/java/time/tck/java/time/TCKDayOfWeek.java ! test/java/time/tck/java/time/TCKDuration.java ! test/java/time/tck/java/time/TCKInstant.java ! test/java/time/tck/java/time/TCKLocalDate.java ! test/java/time/tck/java/time/TCKLocalDateTime.java ! test/java/time/tck/java/time/TCKLocalTime.java ! test/java/time/tck/java/time/TCKMonth.java + test/java/time/tck/java/time/TCKMonthDay.java + test/java/time/tck/java/time/TCKOffsetDateTime.java + test/java/time/tck/java/time/TCKOffsetTime.java + test/java/time/tck/java/time/TCKPeriod.java + test/java/time/tck/java/time/TCKYear.java + test/java/time/tck/java/time/TCKYearMonth.java ! test/java/time/tck/java/time/TCKZoneId.java ! test/java/time/tck/java/time/TCKZoneOffset.java ! test/java/time/tck/java/time/TCKZonedDateTime.java + test/java/time/tck/java/time/TestChronology.java + test/java/time/tck/java/time/TestIsoChronology.java - test/java/time/tck/java/time/calendar/CopticChrono.java - test/java/time/tck/java/time/calendar/CopticDate.java - test/java/time/tck/java/time/calendar/CopticEra.java - test/java/time/tck/java/time/calendar/TestChronoLocalDate.java - test/java/time/tck/java/time/calendar/TestChronoLocalDateTime.java - test/java/time/tck/java/time/calendar/TestHijrahChrono.java - test/java/time/tck/java/time/calendar/TestJapaneseChrono.java - test/java/time/tck/java/time/calendar/TestMinguoChrono.java - test/java/time/tck/java/time/calendar/TestServiceLoader.java - test/java/time/tck/java/time/calendar/TestThaiBuddhistChrono.java + test/java/time/tck/java/time/chrono/CopticChronology.java + test/java/time/tck/java/time/chrono/CopticDate.java + test/java/time/tck/java/time/chrono/CopticEra.java + test/java/time/tck/java/time/chrono/TCKChronology.java + test/java/time/tck/java/time/chrono/TCKTestServiceLoader.java + test/java/time/tck/java/time/chrono/TestChronoLocalDate.java + test/java/time/tck/java/time/chrono/TestChronoLocalDateTime.java + test/java/time/tck/java/time/chrono/TestHijrahChronology.java + test/java/time/tck/java/time/chrono/TestJapaneseChronology.java + test/java/time/tck/java/time/chrono/TestMinguoChronology.java + test/java/time/tck/java/time/chrono/TestThaiBuddhistChronology.java + test/java/time/tck/java/time/format/TCKChronoPrinterParser.java ! test/java/time/tck/java/time/format/TCKDateTimeFormatter.java ! test/java/time/tck/java/time/format/TCKDateTimeFormatterBuilder.java ! test/java/time/tck/java/time/format/TCKDateTimeFormatters.java - test/java/time/tck/java/time/format/TCKDateTimePrintException.java ! test/java/time/tck/java/time/format/TCKDateTimeTextPrinting.java ! test/java/time/tck/java/time/format/TCKLocalizedFieldParser.java ! test/java/time/tck/java/time/format/TCKLocalizedFieldPrinter.java + test/java/time/tck/java/time/format/TCKLocalizedPrinterParser.java + test/java/time/tck/java/time/format/TCKOffsetPrinterParser.java + test/java/time/tck/java/time/format/TCKPadPrinterParser.java + test/java/time/tck/java/time/format/TCKZoneIdPrinterParser.java - test/java/time/tck/java/time/temporal/TCKISOFields.java + test/java/time/tck/java/time/temporal/TCKIsoFields.java ! test/java/time/tck/java/time/temporal/TCKJulianFields.java - test/java/time/tck/java/time/temporal/TCKMonthDay.java - test/java/time/tck/java/time/temporal/TCKOffsetDate.java - test/java/time/tck/java/time/temporal/TCKOffsetDateTime.java - test/java/time/tck/java/time/temporal/TCKOffsetTime.java - test/java/time/tck/java/time/temporal/TCKSimplePeriod.java ! test/java/time/tck/java/time/temporal/TCKWeekFields.java - test/java/time/tck/java/time/temporal/TCKYear.java - test/java/time/tck/java/time/temporal/TCKYearMonth.java - test/java/time/tck/java/time/temporal/TestChrono.java ! test/java/time/tck/java/time/temporal/TestChronoLocalDate.java ! test/java/time/tck/java/time/temporal/TestChronoLocalDateTime.java ! test/java/time/tck/java/time/temporal/TestChronoZonedDateTime.java - test/java/time/tck/java/time/temporal/TestISOChrono.java ! test/java/time/tck/java/time/zone/TCKFixedZoneRules.java ! test/java/time/tck/java/time/zone/TCKZoneOffsetTransition.java ! test/java/time/tck/java/time/zone/TCKZoneOffsetTransitionRule.java ! test/java/time/tck/java/time/zone/TCKZoneRules.java ! test/java/time/tck/java/time/zone/TCKZoneRulesProvider.java ! test/java/time/test/java/time/MockSimplePeriod.java ! test/java/time/test/java/time/TestDuration.java ! test/java/time/test/java/time/TestLocalDateTime.java ! test/java/time/test/java/time/TestLocalTime.java + test/java/time/test/java/time/TestMonthDay.java + test/java/time/test/java/time/TestOffsetDateTime.java + test/java/time/test/java/time/TestOffsetDateTime_instants.java + test/java/time/test/java/time/TestOffsetTime.java ! test/java/time/test/java/time/TestPeriod.java - test/java/time/test/java/time/TestPeriodParser.java + test/java/time/test/java/time/TestYear.java + test/java/time/test/java/time/TestYearMonth.java ! test/java/time/test/java/time/TestZoneId.java + test/java/time/test/java/time/chrono/TestExampleCode.java + test/java/time/test/java/time/chrono/TestIsoChronoImpl.java + test/java/time/test/java/time/chrono/TestServiceLoader.java ! test/java/time/test/java/time/format/TestCharLiteralParser.java ! test/java/time/test/java/time/format/TestCharLiteralPrinter.java + test/java/time/test/java/time/format/TestDateTimeFormatterBuilder.java - test/java/time/test/java/time/format/TestDateTimeFormatters.java - test/java/time/test/java/time/format/TestDateTimePrintException.java ! test/java/time/test/java/time/format/TestDateTimeTextProvider.java ! test/java/time/test/java/time/format/TestFractionPrinterParser.java + test/java/time/test/java/time/format/TestNonIsoFormatter.java ! test/java/time/test/java/time/format/TestNumberParser.java ! test/java/time/test/java/time/format/TestNumberPrinter.java - test/java/time/test/java/time/format/TestPadParserDecorator.java ! test/java/time/test/java/time/format/TestPadPrinterDecorator.java ! test/java/time/test/java/time/format/TestReducedParser.java ! test/java/time/test/java/time/format/TestReducedPrinter.java ! test/java/time/test/java/time/format/TestSettingsParser.java ! test/java/time/test/java/time/format/TestStringLiteralParser.java ! test/java/time/test/java/time/format/TestStringLiteralPrinter.java ! test/java/time/test/java/time/format/TestTextParser.java ! test/java/time/test/java/time/format/TestTextPrinter.java - test/java/time/test/java/time/format/TestZoneIdParser.java ! test/java/time/test/java/time/format/TestZoneOffsetParser.java ! test/java/time/test/java/time/format/TestZoneOffsetPrinter.java ! test/java/time/test/java/time/format/TestZoneTextPrinterParser.java + test/java/time/test/java/time/format/ZoneName.java ! test/java/time/test/java/time/temporal/MockFieldNoValue.java ! test/java/time/test/java/time/temporal/MockFieldValue.java ! test/java/time/test/java/time/temporal/TestChronoUnit.java ! test/java/time/test/java/time/temporal/TestDateTimeBuilderCombinations.java - test/java/time/test/java/time/temporal/TestISOChronoImpl.java ! test/java/time/test/java/time/temporal/TestJapaneseChronoImpl.java + test/java/time/test/java/time/temporal/TestJulianFields.java - test/java/time/test/java/time/temporal/TestMonthDay.java - test/java/time/test/java/time/temporal/TestOffsetDate.java - test/java/time/test/java/time/temporal/TestOffsetDateTime.java - test/java/time/test/java/time/temporal/TestOffsetDateTime_instants.java - test/java/time/test/java/time/temporal/TestOffsetTime.java ! test/java/time/test/java/time/temporal/TestThaiBuddhistChronoImpl.java - test/java/time/test/java/time/temporal/TestYear.java - test/java/time/test/java/time/temporal/TestYearMonth.java ! test/java/time/test/java/time/zone/TestFixedZoneRules.java ! test/java/time/test/java/util/TestFormatter.java + test/java/util/Calendar/JavatimeTest.java ! test/java/util/TimeZone/OldIDMappingTest.java + test/java/util/TimeZone/TzIDOldMapping.java + test/sun/util/calendar/zi/BackEnd.java + test/sun/util/calendar/zi/Checksum.java + test/sun/util/calendar/zi/DayOfWeek.java + test/sun/util/calendar/zi/Gen.java + test/sun/util/calendar/zi/GenDoc.java + test/sun/util/calendar/zi/Main.java + test/sun/util/calendar/zi/Mappings.java + test/sun/util/calendar/zi/Month.java + test/sun/util/calendar/zi/Rule.java + test/sun/util/calendar/zi/RuleDay.java + test/sun/util/calendar/zi/RuleRec.java + test/sun/util/calendar/zi/Simple.java + test/sun/util/calendar/zi/TestZoneInfo310.java + test/sun/util/calendar/zi/Time.java + test/sun/util/calendar/zi/Timezone.java + test/sun/util/calendar/zi/TzIDOldMapping.java + test/sun/util/calendar/zi/Zone.java + test/sun/util/calendar/zi/ZoneInfoFile.java + test/sun/util/calendar/zi/ZoneInfoOld.java + test/sun/util/calendar/zi/ZoneRec.java + test/sun/util/calendar/zi/Zoneinfo.java + test/sun/util/calendar/zi/tzdata/VERSION + test/sun/util/calendar/zi/tzdata/africa + test/sun/util/calendar/zi/tzdata/antarctica + test/sun/util/calendar/zi/tzdata/asia + test/sun/util/calendar/zi/tzdata/australasia + test/sun/util/calendar/zi/tzdata/backward + test/sun/util/calendar/zi/tzdata/etcetera + test/sun/util/calendar/zi/tzdata/europe + test/sun/util/calendar/zi/tzdata/factory + test/sun/util/calendar/zi/tzdata/gmt + test/sun/util/calendar/zi/tzdata/iso3166.tab + test/sun/util/calendar/zi/tzdata/jdk11_backward + test/sun/util/calendar/zi/tzdata/leapseconds + test/sun/util/calendar/zi/tzdata/northamerica + test/sun/util/calendar/zi/tzdata/pacificnew + test/sun/util/calendar/zi/tzdata/solar87 + test/sun/util/calendar/zi/tzdata/solar88 + test/sun/util/calendar/zi/tzdata/solar89 + test/sun/util/calendar/zi/tzdata/southamerica + test/sun/util/calendar/zi/tzdata/systemv + test/sun/util/calendar/zi/tzdata/zone.tab + test/sun/util/calendar/zi/tzdata_jdk/gmt + test/sun/util/calendar/zi/tzdata_jdk/jdk11_backward + test/sun/util/calendar/zi/tzdata_jdk/jdk11_full_backward From xueming.shen at oracle.com Tue Feb 12 09:29:25 2013 From: xueming.shen at oracle.com (xueming.shen at oracle.com) Date: Tue, 12 Feb 2013 17:29:25 +0000 Subject: hg: jdk8/tl: 8007392: JSR 310: DateTime API Updates Message-ID: <20130212172926.46541479E2@hg.openjdk.java.net> Changeset: fdb1e09519ed Author: sherman Date: 2013-02-12 09:27 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/fdb1e09519ed 8007392: JSR 310: DateTime API Updates Summary: Integration of JSR310 Date/Time API for M7 Reviewed-by: darcy, alanb, naoto Contributed-by: scolebourne at joda.org, roger.riggs at oracle.com, masayoshi.okutsu at oracle.com, patrick.zhang at oracle.com ! common/makefiles/javadoc/CORE_PKGS.gmk From chris.hegarty at oracle.com Tue Feb 12 09:38:02 2013 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Tue, 12 Feb 2013 17:38:02 +0000 Subject: FAILS: test/sun/management/jdp/JdpTest.sh: test: argument expected In-Reply-To: <20130212120441.B8CCD479D2@hg.openjdk.java.net> References: <20130212120441.B8CCD479D2@hg.openjdk.java.net> Message-ID: <511A7DFA.5030101@oracle.com> Dmitry, This test is now failing on several platforms, on jdk8 and 7u-dev ------- result: Passed. Compilation successful #section:shell ----------messages:(3/154)---------- command: shell JdpTest.sh [--jtreg, --no-compile] reason: User specified action: run shell JdpTest.sh --jtreg --no-compile elapsed time (seconds): 0.045 ----------System.out:(0/0)---------- ----------System.err:(1/110)---------- /export2/Users/chris/repos/jdk8/tl/master_top/jdk/test/sun/management/jdp/JdpTest.sh: test: argument expected result: Failed. Execution failed: exit code 1 test result: Failed. Execution failed: exit code 1 -Chris. On 02/12/2013 12:04 PM, dmitry.samersoff at oracle.com wrote: > Changeset: f7fb173ac833 > Author: dsamersoff > Date: 2013-02-12 16:02 +0400 > URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f7fb173ac833 > > 8007786: JDK-8002048 testcase doesn't work on Solaris > Summary: test built in into Solaris shell doesn't have -e operator > Reviewed-by: sla, sspitsyn > > ! test/sun/management/jdp/JdpTest.sh > From kelly.ohair at oracle.com Tue Feb 12 09:52:23 2013 From: kelly.ohair at oracle.com (Kelly O'Hair) Date: Tue, 12 Feb 2013 09:52:23 -0800 Subject: FAILS: test/sun/management/jdp/JdpTest.sh: test: argument expected In-Reply-To: <511A7DFA.5030101@oracle.com> References: <20130212120441.B8CCD479D2@hg.openjdk.java.net> <511A7DFA.5030101@oracle.com> Message-ID: <6087B5C4-30D3-4CEF-A175-0D93638CC21A@oracle.com> + if [ ! -f ${_testclasses} ] needs to be + if [ ! -d ${_testclasses} ] -kto On Feb 12, 2013, at 9:38 AM, Chris Hegarty wrote: > Dmitry, > > This test is now failing on several platforms, on jdk8 and 7u-dev > > ------- > > result: Passed. Compilation successful > > #section:shell > ----------messages:(3/154)---------- > command: shell JdpTest.sh [--jtreg, --no-compile] > reason: User specified action: run shell JdpTest.sh --jtreg --no-compile > elapsed time (seconds): 0.045 > ----------System.out:(0/0)---------- > ----------System.err:(1/110)---------- > /export2/Users/chris/repos/jdk8/tl/master_top/jdk/test/sun/management/jdp/JdpTest.sh: test: argument expected > result: Failed. Execution failed: exit code 1 > > > test result: Failed. Execution failed: exit code 1 > > -Chris. > > > On 02/12/2013 12:04 PM, dmitry.samersoff at oracle.com wrote: >> Changeset: f7fb173ac833 >> Author: dsamersoff >> Date: 2013-02-12 16:02 +0400 >> URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f7fb173ac833 >> >> 8007786: JDK-8002048 testcase doesn't work on Solaris >> Summary: test built in into Solaris shell doesn't have -e operator >> Reviewed-by: sla, sspitsyn >> >> ! test/sun/management/jdp/JdpTest.sh >> From maurizio.cimadamore at oracle.com Tue Feb 12 11:25:52 2013 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 12 Feb 2013 19:25:52 +0000 Subject: hg: jdk8/tl/langtools: 8007464: Add graph inference support Message-ID: <20130212192555.51CF1479EB@hg.openjdk.java.net> Changeset: 2154ed9ff6c8 Author: mcimadamore Date: 2013-02-12 19:25 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/2154ed9ff6c8 8007464: Add graph inference support Summary: Add support for more aggressive type-inference scheme Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Source.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java + src/share/classes/com/sun/tools/javac/util/GraphUtils.java ! test/tools/javac/6758789/T6758789b.out ! test/tools/javac/Diagnostics/6799605/T6799605.out ! test/tools/javac/diags/examples/CantApplyDiamond1.java ! test/tools/javac/diags/examples/InferredDoNotConformToEq.java ! test/tools/javac/diags/examples/InferredDoNotConformToUpper.java ! test/tools/javac/diags/examples/WhereFreshTvar.java ! test/tools/javac/generics/7015430/T7015430.out ! test/tools/javac/generics/7151802/T7151802.out ! test/tools/javac/generics/diamond/neg/Neg06.out ! test/tools/javac/generics/inference/6278587/T6278587Neg.java ! test/tools/javac/generics/inference/6638712/T6638712d.out ! test/tools/javac/generics/inference/6638712/T6638712e.out ! test/tools/javac/generics/inference/7154127/T7154127.java ! test/tools/javac/generics/inference/7154127/T7154127.out ! test/tools/javac/generics/inference/7177306/T7177306a.out ! test/tools/javac/generics/inference/7177306/T7177306e.java ! test/tools/javac/generics/inference/7177306/T7177306e.out ! test/tools/javac/generics/odersky/BadTest4.java ! test/tools/javac/lambda/TargetType14.out ! test/tools/javac/lambda/TargetType20.java - test/tools/javac/lambda/TargetType20.out ! test/tools/javac/lambda/TargetType28.out ! test/tools/javac/lambda/TargetType50.java - test/tools/javac/lambda/TargetType50.out ! test/tools/javac/lambda/TargetType51.java ! test/tools/javac/lambda/TargetType52.java ! test/tools/javac/lambda/TargetType52.out + test/tools/javac/lambda/TargetType53.java + test/tools/javac/lambda/TargetType54.java + test/tools/javac/lambda/TargetType55.java + test/tools/javac/lambda/TargetType56.java + test/tools/javac/lambda/TargetType57.java + test/tools/javac/lambda/TargetType57.out + test/tools/javac/lambda/TargetType58.java + test/tools/javac/lambda/TargetType59.java + test/tools/javac/lambda/TargetType61.java + test/tools/javac/lambda/TargetType62.java From dmitry.samersoff at oracle.com Tue Feb 12 14:13:06 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Wed, 13 Feb 2013 02:13:06 +0400 Subject: FAILS: test/sun/management/jdp/JdpTest.sh: test: argument expected In-Reply-To: <6087B5C4-30D3-4CEF-A175-0D93638CC21A@oracle.com> References: <20130212120441.B8CCD479D2@hg.openjdk.java.net> <511A7DFA.5030101@oracle.com> <6087B5C4-30D3-4CEF-A175-0D93638CC21A@oracle.com> Message-ID: <511ABE72.7020504@oracle.com> Kelly, Good catch but this part of test is not executed under JTReg, and this mistake cause extra mkdir call but not a test error. -Dmitry On 2013-02-12 21:52, Kelly O'Hair wrote: > + if [ ! -f ${_testclasses} ] > needs to be > + if [ ! -d ${_testclasses} ] > > > -kto > > On Feb 12, 2013, at 9:38 AM, Chris Hegarty wrote: > >> Dmitry, >> >> This test is now failing on several platforms, on jdk8 and 7u-dev >> >> ------- >> >> result: Passed. Compilation successful >> >> #section:shell >> ----------messages:(3/154)---------- >> command: shell JdpTest.sh [--jtreg, --no-compile] >> reason: User specified action: run shell JdpTest.sh --jtreg --no-compile >> elapsed time (seconds): 0.045 >> ----------System.out:(0/0)---------- >> ----------System.err:(1/110)---------- >> /export2/Users/chris/repos/jdk8/tl/master_top/jdk/test/sun/management/jdp/JdpTest.sh: test: argument expected >> result: Failed. Execution failed: exit code 1 >> >> >> test result: Failed. Execution failed: exit code 1 >> >> -Chris. >> >> >> On 02/12/2013 12:04 PM, dmitry.samersoff at oracle.com wrote: >>> Changeset: f7fb173ac833 >>> Author: dsamersoff >>> Date: 2013-02-12 16:02 +0400 >>> URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f7fb173ac833 >>> >>> 8007786: JDK-8002048 testcase doesn't work on Solaris >>> Summary: test built in into Solaris shell doesn't have -e operator >>> Reviewed-by: sla, sspitsyn >>> >>> ! test/sun/management/jdp/JdpTest.sh >>> > -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From dmitry.samersoff at oracle.com Tue Feb 12 14:18:19 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Wed, 13 Feb 2013 02:18:19 +0400 Subject: FAILS: test/sun/management/jdp/JdpTest.sh: test: argument expected In-Reply-To: <6087B5C4-30D3-4CEF-A175-0D93638CC21A@oracle.com> References: <20130212120441.B8CCD479D2@hg.openjdk.java.net> <511A7DFA.5030101@oracle.com> <6087B5C4-30D3-4CEF-A175-0D93638CC21A@oracle.com> Message-ID: <511ABFAB.8030409@oracle.com> Kelly, Do you have an idea why I didn't see this failure under jprt? http://sthjprt.se.oracle.com/archives/2013/02/2013-02-08-192233.dsamerso.tl/ -Dmitry On 2013-02-12 21:52, Kelly O'Hair wrote: > + if [ ! -f ${_testclasses} ] > needs to be > + if [ ! -d ${_testclasses} ] > > > -kto > > On Feb 12, 2013, at 9:38 AM, Chris Hegarty wrote: > >> Dmitry, >> >> This test is now failing on several platforms, on jdk8 and 7u-dev >> >> ------- >> >> result: Passed. Compilation successful >> >> #section:shell >> ----------messages:(3/154)---------- >> command: shell JdpTest.sh [--jtreg, --no-compile] >> reason: User specified action: run shell JdpTest.sh --jtreg --no-compile >> elapsed time (seconds): 0.045 >> ----------System.out:(0/0)---------- >> ----------System.err:(1/110)---------- >> /export2/Users/chris/repos/jdk8/tl/master_top/jdk/test/sun/management/jdp/JdpTest.sh: test: argument expected >> result: Failed. Execution failed: exit code 1 >> >> >> test result: Failed. Execution failed: exit code 1 >> >> -Chris. >> >> >> On 02/12/2013 12:04 PM, dmitry.samersoff at oracle.com wrote: >>> Changeset: f7fb173ac833 >>> Author: dsamersoff >>> Date: 2013-02-12 16:02 +0400 >>> URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f7fb173ac833 >>> >>> 8007786: JDK-8002048 testcase doesn't work on Solaris >>> Summary: test built in into Solaris shell doesn't have -e operator >>> Reviewed-by: sla, sspitsyn >>> >>> ! test/sun/management/jdp/JdpTest.sh >>> > -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From dmitry.samersoff at oracle.com Tue Feb 12 14:19:44 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Tue, 12 Feb 2013 14:19:44 -0800 (PST) Subject: FAILS: test/sun/management/jdp/JdpTest.sh: test: argument expected In-Reply-To: <511A7DFA.5030101@oracle.com> References: <20130212120441.B8CCD479D2@hg.openjdk.java.net> <511A7DFA.5030101@oracle.com> Message-ID: <511AC000.5080506@oracle.com> Chris, I'm not able to reproduce it locally. Do you have a link to jprt job you see this failure? -Dmitry On 2013-02-12 21:38, Chris Hegarty wrote: > Dmitry, > > This test is now failing on several platforms, on jdk8 and 7u-dev > > ------- > > result: Passed. Compilation successful > > #section:shell > ----------messages:(3/154)---------- > command: shell JdpTest.sh [--jtreg, --no-compile] > reason: User specified action: run shell JdpTest.sh --jtreg --no-compile > elapsed time (seconds): 0.045 > ----------System.out:(0/0)---------- > ----------System.err:(1/110)---------- > /export2/Users/chris/repos/jdk8/tl/master_top/jdk/test/sun/management/jdp/JdpTest.sh: > test: argument expected > result: Failed. Execution failed: exit code 1 > > > test result: Failed. Execution failed: exit code 1 > > -Chris. > > > On 02/12/2013 12:04 PM, dmitry.samersoff at oracle.com wrote: >> Changeset: f7fb173ac833 >> Author: dsamersoff >> Date: 2013-02-12 16:02 +0400 >> URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f7fb173ac833 >> >> 8007786: JDK-8002048 testcase doesn't work on Solaris >> Summary: test built in into Solaris shell doesn't have -e operator >> Reviewed-by: sla, sspitsyn >> >> ! test/sun/management/jdp/JdpTest.sh >> -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From alejandro.murillo at oracle.com Tue Feb 12 14:34:29 2013 From: alejandro.murillo at oracle.com (alejandro murillo) Date: Tue, 12 Feb 2013 15:34:29 -0700 Subject: FAILS: test/sun/management/jdp/JdpTest.sh: test: argument expected In-Reply-To: <511ABFAB.8030409@oracle.com> References: <20130212120441.B8CCD479D2@hg.openjdk.java.net> <511A7DFA.5030101@oracle.com> <6087B5C4-30D3-4CEF-A175-0D93638CC21A@oracle.com> <511ABFAB.8030409@oracle.com> Message-ID: <511AC375.2050703@oracle.com> Dmitry, you have to use "-testset core" to run this test via JPRT. It's not run on regular jobs. Alejandro On 2/12/2013 3:18 PM, Dmitry Samersoff wrote: > Kelly, > > Do you have an idea why I didn't see this failure under jprt? > > http://sthjprt.se.oracle.com/archives/2013/02/2013-02-08-192233.dsamerso.tl/ > > -Dmitry > > > On 2013-02-12 21:52, Kelly O'Hair wrote: >> + if [ ! -f ${_testclasses} ] >> needs to be >> + if [ ! -d ${_testclasses} ] >> >> >> -kto >> >> On Feb 12, 2013, at 9:38 AM, Chris Hegarty wrote: >> >>> Dmitry, >>> >>> This test is now failing on several platforms, on jdk8 and 7u-dev >>> >>> ------- >>> >>> result: Passed. Compilation successful >>> >>> #section:shell >>> ----------messages:(3/154)---------- >>> command: shell JdpTest.sh [--jtreg, --no-compile] >>> reason: User specified action: run shell JdpTest.sh --jtreg --no-compile >>> elapsed time (seconds): 0.045 >>> ----------System.out:(0/0)---------- >>> ----------System.err:(1/110)---------- >>> /export2/Users/chris/repos/jdk8/tl/master_top/jdk/test/sun/management/jdp/JdpTest.sh: test: argument expected >>> result: Failed. Execution failed: exit code 1 >>> >>> >>> test result: Failed. Execution failed: exit code 1 >>> >>> -Chris. >>> >>> >>> On 02/12/2013 12:04 PM, dmitry.samersoff at oracle.com wrote: >>>> Changeset: f7fb173ac833 >>>> Author: dsamersoff >>>> Date: 2013-02-12 16:02 +0400 >>>> URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f7fb173ac833 >>>> >>>> 8007786: JDK-8002048 testcase doesn't work on Solaris >>>> Summary: test built in into Solaris shell doesn't have -e operator >>>> Reviewed-by: sla, sspitsyn >>>> >>>> ! test/sun/management/jdp/JdpTest.sh >>>> > From jonathan.gibbons at oracle.com Tue Feb 12 17:16:05 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Wed, 13 Feb 2013 01:16:05 +0000 Subject: hg: jdk8/tl/langtools: 8008077: update reference impl for type-annotations Message-ID: <20130213011609.95D9047A01@hg.openjdk.java.net> Changeset: bc456436c613 Author: jjg Date: 2013-02-12 17:15 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/bc456436c613 8008077: update reference impl for type-annotations Reviewed-by: jjg Contributed-by: wmdietl at cs.washington.edu ! src/share/classes/com/sun/tools/classfile/ClassWriter.java ! src/share/classes/com/sun/tools/classfile/TypeAnnotation.java ! src/share/classes/com/sun/tools/javac/code/TargetType.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/Attr.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/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/tree/TreeInfo.java ! src/share/classes/com/sun/tools/javap/AnnotationWriter.java + test/tools/javac/annotations/typeAnnotations/failures/LazyConstantValue.java + test/tools/javac/annotations/typeAnnotations/failures/TypeVariable.java ! test/tools/javac/annotations/typeAnnotations/failures/VoidGenericMethod.java + test/tools/javac/annotations/typeAnnotations/newlocations/Lambda.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/Lambda.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodParameters.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/TypeCasts.java From zhengyu.gu at oracle.com Tue Feb 12 18:26:45 2013 From: zhengyu.gu at oracle.com (zhengyu.gu at oracle.com) Date: Wed, 13 Feb 2013 02:26:45 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8007950: Undo hs_file permission change Message-ID: <20130213022650.1CD5247A04@hg.openjdk.java.net> Changeset: 5ee2b330eacd Author: zgu Date: 2013-02-12 12:19 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/5ee2b330eacd 8007950: Undo hs_file permission change Summary: Reverse hs_err file permission back to 0666, as early push was premature Reviewed-by: dsamersoff, dcubed, acorn ! src/share/vm/utilities/vmError.cpp From joel.franck at oracle.com Wed Feb 13 01:34:40 2013 From: joel.franck at oracle.com (joel.franck at oracle.com) Date: Wed, 13 Feb 2013 09:34:40 +0000 Subject: hg: jdk8/tl/langtools: 8007279: Rename javax.l.model.element.Element.getAnnotations(Class) to getAnnotationsByType(Class) Message-ID: <20130213093444.F348847A14@hg.openjdk.java.net> Changeset: aeadaf905d78 Author: jfranck Date: 2013-02-13 10:33 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/aeadaf905d78 8007279: Rename javax.l.model.element.Element.getAnnotations(Class) to getAnnotationsByType(Class) Reviewed-by: darcy, abuckley ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/javax/lang/model/element/Element.java ! test/tools/javac/processing/model/element/repeatingAnnotations/ElementRepAnnoTester.java From yekaterina.kantserova at oracle.com Wed Feb 13 01:47:32 2013 From: yekaterina.kantserova at oracle.com (Yekaterina Kantserova) Date: Wed, 13 Feb 2013 10:47:32 +0100 Subject: RFR (XS) 8008089: Delete OS dependent check in JdkFinder.getExecutable() Message-ID: <511B6134.3010005@oracle.com> Hi everyone, This small fixconcerns jdk.testlibrary.JdkFinder utility class. The check below is too OS dependent and should be deleted. ... binPath += File.separatorChar + "bin" + File.separatorChar + executable; File toolFile = new File(binPath); ==> if (!toolFile.exists()) { throw new RuntimeException(binPath + " does not exist"); } ... On windows if executable is specified as e.g. 'java', without '.exe', the File exists() will fail. But it's still possible to run executable. Webrev: http://cr.openjdk.java.net/~ykantser/8008089/webrev.00/ Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8008089 Testing: JPRT Thanks, Katja -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130213/872c338a/attachment-0001.html From joel.franck at oracle.com Wed Feb 13 02:24:12 2013 From: joel.franck at oracle.com (joel.franck at oracle.com) Date: Wed, 13 Feb 2013 10:24:12 +0000 Subject: hg: jdk8/tl/jdk: 8007278: Rename j.l.r.AnnotatedElement.getAnnotations(Class) to getAnnotationsByType(Class) Message-ID: <20130213102440.E03F147A17@hg.openjdk.java.net> Changeset: 2cd67a8c7abc Author: jfranck Date: 2013-02-13 10:36 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/2cd67a8c7abc 8007278: Rename j.l.r.AnnotatedElement.getAnnotations(Class) to getAnnotationsByType(Class) Reviewed-by: darcy, abuckley ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/Package.java ! src/share/classes/java/lang/reflect/AccessibleObject.java ! src/share/classes/java/lang/reflect/AnnotatedElement.java ! src/share/classes/java/lang/reflect/Executable.java ! src/share/classes/java/lang/reflect/Field.java ! src/share/classes/java/lang/reflect/Parameter.java ! src/share/classes/sun/reflect/annotation/AnnotatedTypeFactory.java ! src/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java ! test/java/lang/annotation/TypeParamAnnotation.java ! test/java/lang/annotation/repeatingAnnotations/RepeatedUnitTest.java From chris.hegarty at oracle.com Wed Feb 13 02:53:58 2013 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Wed, 13 Feb 2013 10:53:58 +0000 Subject: FAILS: test/sun/management/jdp/JdpTest.sh: test: argument expected In-Reply-To: <511AC000.5080506@oracle.com> References: <20130212120441.B8CCD479D2@hg.openjdk.java.net> <511A7DFA.5030101@oracle.com> <511AC000.5080506@oracle.com> Message-ID: <511B70C6.4040609@oracle.com> Dmitry, I have a trivial patch that resolves this issue. I would like to push it to jdk8/tl today before we freeze for M7, and have this failure escape into master. The change is to simply use conditions that are also supported by bourne shell . diff -r 7dcb74c3ffba test/sun/management/jdp/JdpTest.sh --- a/test/sun/management/jdp/JdpTest.sh Tue Feb 12 09:25:43 2013 -0800 +++ b/test/sun/management/jdp/JdpTest.sh Wed Feb 13 10:48:28 2013 +0000 @@ -51,7 +51,7 @@ _do_compile(){ # sun.* packages is not included to symbol file lib/ct.sym so we have # to ignore it - if [ ! -f ${_testclasses} ] + if [ ! -d ${_testclasses} ] then mkdir -p ${_testclasses} fi @@ -319,7 +319,7 @@ rm -f ${_logname} rm -f ${_logname} rm -f ${_policyname} -if [ -e ${_testsrc}/policy.tpl ] +if [ -f ${_testsrc}/policy.tpl ] then cat ${_testsrc}/policy.tpl | \ -Chris. On 12/02/2013 22:19, Dmitry Samersoff wrote: > Chris, > > I'm not able to reproduce it locally. Do you have a link to jprt job you > see this failure? > > -Dmitry > > On 2013-02-12 21:38, Chris Hegarty wrote: >> Dmitry, >> >> This test is now failing on several platforms, on jdk8 and 7u-dev >> >> ------- >> >> result: Passed. Compilation successful >> >> #section:shell >> ----------messages:(3/154)---------- >> command: shell JdpTest.sh [--jtreg, --no-compile] >> reason: User specified action: run shell JdpTest.sh --jtreg --no-compile >> elapsed time (seconds): 0.045 >> ----------System.out:(0/0)---------- >> ----------System.err:(1/110)---------- >> /export2/Users/chris/repos/jdk8/tl/master_top/jdk/test/sun/management/jdp/JdpTest.sh: >> test: argument expected >> result: Failed. Execution failed: exit code 1 >> >> >> test result: Failed. Execution failed: exit code 1 >> >> -Chris. >> >> >> On 02/12/2013 12:04 PM, dmitry.samersoff at oracle.com wrote: >>> Changeset: f7fb173ac833 >>> Author: dsamersoff >>> Date: 2013-02-12 16:02 +0400 >>> URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f7fb173ac833 >>> >>> 8007786: JDK-8002048 testcase doesn't work on Solaris >>> Summary: test built in into Solaris shell doesn't have -e operator >>> Reviewed-by: sla, sspitsyn >>> >>> ! test/sun/management/jdp/JdpTest.sh >>> > > From dmitry.samersoff at oracle.com Wed Feb 13 03:11:22 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Wed, 13 Feb 2013 15:11:22 +0400 Subject: FAILS: test/sun/management/jdp/JdpTest.sh: test: argument expected In-Reply-To: <511B70C6.4040609@oracle.com> References: <20130212120441.B8CCD479D2@hg.openjdk.java.net> <511A7DFA.5030101@oracle.com> <511AC000.5080506@oracle.com> <511B70C6.4040609@oracle.com> Message-ID: <511B74DA.40506@oracle.com> Chris, Will push it in few hours. -Dmitry On 2013-02-13 14:53, Chris Hegarty wrote: > Dmitry, > > I have a trivial patch that resolves this issue. I would like to push it > to jdk8/tl today before we freeze for M7, and have this failure escape > into master. > > The change is to simply use conditions that are also supported by bourne > shell . > > diff -r 7dcb74c3ffba test/sun/management/jdp/JdpTest.sh > --- a/test/sun/management/jdp/JdpTest.sh Tue Feb 12 09:25:43 2013 > -0800 > +++ b/test/sun/management/jdp/JdpTest.sh Wed Feb 13 10:48:28 2013 > +0000 > @@ -51,7 +51,7 @@ _do_compile(){ > # sun.* packages is not included to symbol file lib/ct.sym so we have > # to ignore it > > - if [ ! -f ${_testclasses} ] > + if [ ! -d ${_testclasses} ] > then > mkdir -p ${_testclasses} > fi > @@ -319,7 +319,7 @@ rm -f ${_logname} > rm -f ${_logname} > rm -f ${_policyname} > > -if [ -e ${_testsrc}/policy.tpl ] > +if [ -f ${_testsrc}/policy.tpl ] > then > > cat ${_testsrc}/policy.tpl | \ > > -Chris. > > On 12/02/2013 22:19, Dmitry Samersoff wrote: >> Chris, >> >> I'm not able to reproduce it locally. Do you have a link to jprt job you >> see this failure? >> >> -Dmitry >> >> On 2013-02-12 21:38, Chris Hegarty wrote: >>> Dmitry, >>> >>> This test is now failing on several platforms, on jdk8 and 7u-dev >>> >>> ------- >>> >>> result: Passed. Compilation successful >>> >>> #section:shell >>> ----------messages:(3/154)---------- >>> command: shell JdpTest.sh [--jtreg, --no-compile] >>> reason: User specified action: run shell JdpTest.sh --jtreg --no-compile >>> elapsed time (seconds): 0.045 >>> ----------System.out:(0/0)---------- >>> ----------System.err:(1/110)---------- >>> /export2/Users/chris/repos/jdk8/tl/master_top/jdk/test/sun/management/jdp/JdpTest.sh: >>> >>> test: argument expected >>> result: Failed. Execution failed: exit code 1 >>> >>> >>> test result: Failed. Execution failed: exit code 1 >>> >>> -Chris. >>> >>> >>> On 02/12/2013 12:04 PM, dmitry.samersoff at oracle.com wrote: >>>> Changeset: f7fb173ac833 >>>> Author: dsamersoff >>>> Date: 2013-02-12 16:02 +0400 >>>> URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f7fb173ac833 >>>> >>>> 8007786: JDK-8002048 testcase doesn't work on Solaris >>>> Summary: test built in into Solaris shell doesn't have -e operator >>>> Reviewed-by: sla, sspitsyn >>>> >>>> ! test/sun/management/jdp/JdpTest.sh >>>> >> >> -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From rickard.backman at oracle.com Wed Feb 13 04:28:42 2013 From: rickard.backman at oracle.com (=?iso-8859-1?Q?Rickard_B=E4ckman?=) Date: Wed, 13 Feb 2013 13:28:42 +0100 Subject: RFR(S): 8008088: SA can hang the VM Message-ID: <697E16D0-ABA3-4095-AB06-30BFAB19F4EB@oracle.com> Hi all, can I please have a couple of reviews of this change. The problem discovered was the on Linux and BSD SA uses the ptrace() method to stop the threads before inspecting the memory of the process. However since SA doesn't check which signal was the stopping one it is possible that we stop on another signal. Doing so means that that signal is lost as well as the SIGSTOP remains as a pending signal for the process. When SA detaches, the SIGSTOP will be delivered to the process and the process will go to the Sleeping state (not executing any more code). This change introduces a check on the signal, such that if the signal wasn't a SIGSTOP we restart the thread and wait for a new signal. Webrev: http://cr.openjdk.java.net/~rbackman/8008088/ Bug: http://bugs.sun.com/view_bug.do?bug_id=8008088 Thanks /R From staffan.larsen at oracle.com Wed Feb 13 04:55:10 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Wed, 13 Feb 2013 13:55:10 +0100 Subject: RFR(S): 8008088: SA can hang the VM In-Reply-To: <697E16D0-ABA3-4095-AB06-30BFAB19F4EB@oracle.com> References: <697E16D0-ABA3-4095-AB06-30BFAB19F4EB@oracle.com> Message-ID: <1204FA0E-9746-4CFE-A0CD-8EEA289FBFAE@oracle.com> Looks good! (not a Reviewer) /Staffan On 13 feb 2013, at 13:28, Rickard B?ckman wrote: > Hi all, > > can I please have a couple of reviews of this change. > > The problem discovered was the on Linux and BSD SA uses the ptrace() method to stop the threads before inspecting the memory of the process. However since SA doesn't check which signal was the stopping one it is possible that we stop on another signal. Doing so means that that signal is lost as well as the SIGSTOP remains as a pending signal for the process. When SA detaches, the SIGSTOP will be delivered to the process and the process will go to the Sleeping state (not executing any more code). > > This change introduces a check on the signal, such that if the signal wasn't a SIGSTOP we restart the thread and wait for a new signal. > > Webrev: http://cr.openjdk.java.net/~rbackman/8008088/ > Bug: http://bugs.sun.com/view_bug.do?bug_id=8008088 > > Thanks > /R From markus.gronlund at oracle.com Wed Feb 13 05:04:12 2013 From: markus.gronlund at oracle.com (=?iso-8859-1?B?TWFya3VzIEdy9m5sdW5k?=) Date: Wed, 13 Feb 2013 05:04:12 -0800 (PST) Subject: RFR(S): 8008088: SA can hang the VM In-Reply-To: <697E16D0-ABA3-4095-AB06-30BFAB19F4EB@oracle.com> References: <697E16D0-ABA3-4095-AB06-30BFAB19F4EB@oracle.com> Message-ID: <5db81b11-7573-4548-b008-1a04c9d12328@default> Rickard, I think it looks good (not a Reviewer). Thanks Markus -----Original Message----- From: Rickard B?ckman Sent: den 13 februari 2013 13:29 To: serviceability-dev at openjdk.java.net serviceability-dev at openjdk.java.net; hotspot-runtime-dev at openjdk.java.net Subject: RFR(S): 8008088: SA can hang the VM Hi all, can I please have a couple of reviews of this change. The problem discovered was the on Linux and BSD SA uses the ptrace() method to stop the threads before inspecting the memory of the process. However since SA doesn't check which signal was the stopping one it is possible that we stop on another signal. Doing so means that that signal is lost as well as the SIGSTOP remains as a pending signal for the process. When SA detaches, the SIGSTOP will be delivered to the process and the process will go to the Sleeping state (not executing any more code). This change introduces a check on the signal, such that if the signal wasn't a SIGSTOP we restart the thread and wait for a new signal. Webrev: http://cr.openjdk.java.net/~rbackman/8008088/ Bug: http://bugs.sun.com/view_bug.do?bug_id=8008088 Thanks /R From david.holmes at oracle.com Wed Feb 13 05:07:44 2013 From: david.holmes at oracle.com (David Holmes) Date: Wed, 13 Feb 2013 23:07:44 +1000 Subject: RFR(S): 8008088: SA can hang the VM In-Reply-To: <697E16D0-ABA3-4095-AB06-30BFAB19F4EB@oracle.com> References: <697E16D0-ABA3-4095-AB06-30BFAB19F4EB@oracle.com> Message-ID: <511B9020.4090608@oracle.com> Hi Rickard, This looks good. Reviewed. I am a little confused about the problem though. I would expect only a process-directed signal to cause this problem (as opposed to thread-directed) - is that the case? The ptrace info doesn't make a distinction so perhaps not. Though in that case I would have expected to see this problem long ago, if for example SEGV from a null reference access could cause a stop. David On 13/02/2013 10:28 PM, Rickard B?ckman wrote: > Hi all, > > can I please have a couple of reviews of this change. > > The problem discovered was the on Linux and BSD SA uses the ptrace() method to stop the threads before inspecting the memory of the process. However since SA doesn't check which signal was the stopping one it is possible that we stop on another signal. Doing so means that that signal is lost as well as the SIGSTOP remains as a pending signal for the process. When SA detaches, the SIGSTOP will be delivered to the process and the process will go to the Sleeping state (not executing any more code). > > This change introduces a check on the signal, such that if the signal wasn't a SIGSTOP we restart the thread and wait for a new signal. > > Webrev: http://cr.openjdk.java.net/~rbackman/8008088/ > Bug: http://bugs.sun.com/view_bug.do?bug_id=8008088 > > Thanks > /R > From rickard.backman at oracle.com Wed Feb 13 05:57:20 2013 From: rickard.backman at oracle.com (=?iso-8859-1?Q?Rickard_B=E4ckman?=) Date: Wed, 13 Feb 2013 14:57:20 +0100 Subject: RFR(S): 8008088: SA can hang the VM In-Reply-To: <511B9020.4090608@oracle.com> References: <697E16D0-ABA3-4095-AB06-30BFAB19F4EB@oracle.com> <511B9020.4090608@oracle.com> Message-ID: <43184A1D-660F-4C47-9C68-7C019E92AA1A@oracle.com> David, as usual, thanks for the review. We have reproduced the problem with thread-directed signals. However it is very unlikely that the problem happens. The thread have to come into a state where both SIG and SIGSTOP are pending at the same time, while SA is waiting in waitpid(). The window of someone typing jmap, and SA doing the ptrace(ATTACH) pretty much at the same time as the thread SEGVs seems pretty small. Hope that makes sense. Thanks /R On Feb 13, 2013, at 2:07 PM, David Holmes wrote: > Hi Rickard, > > This looks good. Reviewed. > > I am a little confused about the problem though. I would expect only a process-directed signal to cause this problem (as opposed to thread-directed) - is that the case? The ptrace info doesn't make a distinction so perhaps not. Though in that case I would have expected to see this problem long ago, if for example SEGV from a null reference access could cause a stop. > > David > > On 13/02/2013 10:28 PM, Rickard B?ckman wrote: >> Hi all, >> >> can I please have a couple of reviews of this change. >> >> The problem discovered was the on Linux and BSD SA uses the ptrace() method to stop the threads before inspecting the memory of the process. However since SA doesn't check which signal was the stopping one it is possible that we stop on another signal. Doing so means that that signal is lost as well as the SIGSTOP remains as a pending signal for the process. When SA detaches, the SIGSTOP will be delivered to the process and the process will go to the Sleeping state (not executing any more code). >> >> This change introduces a check on the signal, such that if the signal wasn't a SIGSTOP we restart the thread and wait for a new signal. >> >> Webrev: http://cr.openjdk.java.net/~rbackman/8008088/ >> Bug: http://bugs.sun.com/view_bug.do?bug_id=8008088 >> >> Thanks >> /R >> From dmitry.samersoff at oracle.com Wed Feb 13 06:40:56 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Wed, 13 Feb 2013 18:40:56 +0400 Subject: RR(S): 8008095.JDP-TEST3 (was Re: FAILS: test/sun/management/jdp/JdpTest.sh: test: argument expected) In-Reply-To: <511B70C6.4040609@oracle.com> References: <20130212120441.B8CCD479D2@hg.openjdk.java.net> <511A7DFA.5030101@oracle.com> <511AC000.5080506@oracle.com> <511B70C6.4040609@oracle.com> Message-ID: <511BA5F8.5070502@oracle.com> Chris, Please take a look at the final changes: http://cr.openjdk.java.net/~dsamersoff/8008095.JDP-TEST3/webrev.01/jdk/ I still not able to get valuable results from jprt but tried couple of different solaris machines and hope this time the problem with this test is gone. I'm ready to push it right after your response. -Dmitry On 2013-02-13 14:53, Chris Hegarty wrote: > Dmitry, > > I have a trivial patch that resolves this issue. I would like to push it > to jdk8/tl today before we freeze for M7, and have this failure escape > into master. > > The change is to simply use conditions that are also supported by bourne > shell . > > diff -r 7dcb74c3ffba test/sun/management/jdp/JdpTest.sh > --- a/test/sun/management/jdp/JdpTest.sh Tue Feb 12 09:25:43 2013 > -0800 > +++ b/test/sun/management/jdp/JdpTest.sh Wed Feb 13 10:48:28 2013 > +0000 > @@ -51,7 +51,7 @@ _do_compile(){ > # sun.* packages is not included to symbol file lib/ct.sym so we have > # to ignore it > > - if [ ! -f ${_testclasses} ] > + if [ ! -d ${_testclasses} ] > then > mkdir -p ${_testclasses} > fi > @@ -319,7 +319,7 @@ rm -f ${_logname} > rm -f ${_logname} > rm -f ${_policyname} > > -if [ -e ${_testsrc}/policy.tpl ] > +if [ -f ${_testsrc}/policy.tpl ] > then > > cat ${_testsrc}/policy.tpl | \ > > -Chris. > > On 12/02/2013 22:19, Dmitry Samersoff wrote: >> Chris, >> >> I'm not able to reproduce it locally. Do you have a link to jprt job you >> see this failure? >> >> -Dmitry >> >> On 2013-02-12 21:38, Chris Hegarty wrote: >>> Dmitry, >>> >>> This test is now failing on several platforms, on jdk8 and 7u-dev >>> >>> ------- >>> >>> result: Passed. Compilation successful >>> >>> #section:shell >>> ----------messages:(3/154)---------- >>> command: shell JdpTest.sh [--jtreg, --no-compile] >>> reason: User specified action: run shell JdpTest.sh --jtreg --no-compile >>> elapsed time (seconds): 0.045 >>> ----------System.out:(0/0)---------- >>> ----------System.err:(1/110)---------- >>> /export2/Users/chris/repos/jdk8/tl/master_top/jdk/test/sun/management/jdp/JdpTest.sh: >>> >>> test: argument expected >>> result: Failed. Execution failed: exit code 1 >>> >>> >>> test result: Failed. Execution failed: exit code 1 >>> >>> -Chris. >>> >>> >>> On 02/12/2013 12:04 PM, dmitry.samersoff at oracle.com wrote: >>>> Changeset: f7fb173ac833 >>>> Author: dsamersoff >>>> Date: 2013-02-12 16:02 +0400 >>>> URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f7fb173ac833 >>>> >>>> 8007786: JDK-8002048 testcase doesn't work on Solaris >>>> Summary: test built in into Solaris shell doesn't have -e operator >>>> Reviewed-by: sla, sspitsyn >>>> >>>> ! test/sun/management/jdp/JdpTest.sh >>>> >> >> -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From staffan.larsen at oracle.com Wed Feb 13 07:05:28 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Wed, 13 Feb 2013 16:05:28 +0100 Subject: RFR(S): 8008102: SA on OS X does not stop the attached process Message-ID: <1038A172-74A2-409B-9A27-81AC880B8DCC@oracle.com> Please review the following change. When SA attaches to a JVM on OS X, it does not stop the process. If the JVM keeps running while SA inspects it can lead to all kinds of inconsistencies in SA. The proposed solution uses ptrace to attach to the process to keep it from running. Ptrace works a little bit differently on OS X, than on linux. For example, there is no need to attach to all threads, just attaching to the main process is enough. Additionally, the race that was recently found on linux [1] does not seem to be present on OS X (or at least I have not been able to reproduce it), so I have omitted that code. webrev: http://cr.openjdk.java.net/~sla/8008102/webrev.00/ Thanks, /Staffan [1] http://mail.openjdk.java.net/pipermail/serviceability-dev/2013-February/008432.html From zhengyu.gu at oracle.com Wed Feb 13 07:14:55 2013 From: zhengyu.gu at oracle.com (zhengyu.gu at oracle.com) Date: Wed, 13 Feb 2013 15:14:55 +0000 Subject: hg: jdk8/tl/jdk: 8006691: Remove jvm_version_info->is_kernel_jvm field Message-ID: <20130213151507.412A047A21@hg.openjdk.java.net> Changeset: cd111064d4e9 Author: zgu Date: 2013-02-12 14:47 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/cd111064d4e9 8006691: Remove jvm_version_info->is_kernel_jvm field Summary: Remove is_kernel_jvm field in jvm_version_info structure, as kernel VM has been deprecated Reviewed-by: mchung ! src/share/javavm/export/jvm.h From staffan.larsen at oracle.com Wed Feb 13 07:22:02 2013 From: staffan.larsen at oracle.com (staffan.larsen at oracle.com) Date: Wed, 13 Feb 2013 15:22:02 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8007312: null check signal semaphore in os::signal_notify windows Message-ID: <20130213152215.F00DA47A23@hg.openjdk.java.net> Changeset: 7adae9244bc8 Author: mgronlun Date: 2013-02-13 11:23 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/7adae9244bc8 8007312: null check signal semaphore in os::signal_notify windows Reviewed-by: dholmes, sla ! src/os/windows/vm/os_windows.cpp From vincent.x.ryan at oracle.com Wed Feb 13 08:04:18 2013 From: vincent.x.ryan at oracle.com (vincent.x.ryan at oracle.com) Date: Wed, 13 Feb 2013 16:04:18 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20130213160452.06FAF47A29@hg.openjdk.java.net> Changeset: bf64f83aa0cd Author: vinnie Date: 2013-02-13 16:01 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/bf64f83aa0cd 8007934: algorithm parameters for PBE Scheme 2 not decoded correctly in PKCS12 keystore Reviewed-by: mullan ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java ! test/java/security/KeyStore/PBETest.java Changeset: ceb7c712c693 Author: vinnie Date: 2013-02-13 16:03 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ceb7c712c693 Merge From staffan.larsen at oracle.com Wed Feb 13 08:19:54 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Wed, 13 Feb 2013 17:19:54 +0100 Subject: RFR(XS): 8004840 Jstack seems to output unnecessary information in 7u9 Message-ID: Please review this trivial fix to remove some unexpected debug output from SA. webrev: http://cr.openjdk.java.net/~sla/8004840/webrev.00/ Thanks, /Staffan From kelly.ohair at oracle.com Wed Feb 13 08:56:06 2013 From: kelly.ohair at oracle.com (Kelly O'Hair) Date: Wed, 13 Feb 2013 08:56:06 -0800 Subject: FAILS: test/sun/management/jdp/JdpTest.sh: test: argument expected In-Reply-To: <511AC375.2050703@oracle.com> References: <20130212120441.B8CCD479D2@hg.openjdk.java.net> <511A7DFA.5030101@oracle.com> <6087B5C4-30D3-4CEF-A175-0D93638CC21A@oracle.com> <511ABFAB.8030409@oracle.com> <511AC375.2050703@oracle.com> Message-ID: <3FA4C5A9-2E60-4923-8B74-DDB8A8B8C8BD@oracle.com> Bingo. ;^) -kto On Feb 12, 2013, at 2:34 PM, alejandro murillo wrote: > > Dmitry, > you have to use "-testset core" to run this test via JPRT. It's not run on regular jobs. > > > Alejandro > > On 2/12/2013 3:18 PM, Dmitry Samersoff wrote: >> Kelly, >> >> Do you have an idea why I didn't see this failure under jprt? >> >> http://sthjprt.se.oracle.com/archives/2013/02/2013-02-08-192233.dsamerso.tl/ >> >> -Dmitry >> >> >> On 2013-02-12 21:52, Kelly O'Hair wrote: >>> + if [ ! -f ${_testclasses} ] >>> needs to be >>> + if [ ! -d ${_testclasses} ] >>> >>> >>> -kto >>> >>> On Feb 12, 2013, at 9:38 AM, Chris Hegarty wrote: >>> >>>> Dmitry, >>>> >>>> This test is now failing on several platforms, on jdk8 and 7u-dev >>>> >>>> ------- >>>> >>>> result: Passed. Compilation successful >>>> >>>> #section:shell >>>> ----------messages:(3/154)---------- >>>> command: shell JdpTest.sh [--jtreg, --no-compile] >>>> reason: User specified action: run shell JdpTest.sh --jtreg --no-compile >>>> elapsed time (seconds): 0.045 >>>> ----------System.out:(0/0)---------- >>>> ----------System.err:(1/110)---------- >>>> /export2/Users/chris/repos/jdk8/tl/master_top/jdk/test/sun/management/jdp/JdpTest.sh: test: argument expected >>>> result: Failed. Execution failed: exit code 1 >>>> >>>> >>>> test result: Failed. Execution failed: exit code 1 >>>> >>>> -Chris. >>>> >>>> >>>> On 02/12/2013 12:04 PM, dmitry.samersoff at oracle.com wrote: >>>>> Changeset: f7fb173ac833 >>>>> Author: dsamersoff >>>>> Date: 2013-02-12 16:02 +0400 >>>>> URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f7fb173ac833 >>>>> >>>>> 8007786: JDK-8002048 testcase doesn't work on Solaris >>>>> Summary: test built in into Solaris shell doesn't have -e operator >>>>> Reviewed-by: sla, sspitsyn >>>>> >>>>> ! test/sun/management/jdp/JdpTest.sh >>>>> >> > From maurizio.cimadamore at oracle.com Wed Feb 13 09:04:51 2013 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 13 Feb 2013 17:04:51 +0000 Subject: hg: jdk8/tl/langtools: 8006345: Report Synthesized Parameters in java.lang.reflect.Parameter API; ... Message-ID: <20130213170456.BF6DA47A2F@hg.openjdk.java.net> Changeset: d04960f05593 Author: mcimadamore Date: 2013-02-13 17:04 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/d04960f05593 8006345: Report Synthesized Parameters in java.lang.reflect.Parameter API 8006896: ClassReader doesn't see MethodParameters attr for method of anon inner class 8007098: Output Synthesized Parameters to MethodParameters Attributes Summary: Correctly report synthesized and mandated parameters Reviewed-by: mcimadamore, jjg Contributed-by: eric.mccorkle at oracle.com ! src/share/classes/com/sun/tools/classfile/AccessFlags.java ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/comp/Lower.java ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javap/AttributeWriter.java From dmitry.samersoff at oracle.com Wed Feb 13 09:07:34 2013 From: dmitry.samersoff at oracle.com (dmitry.samersoff at oracle.com) Date: Wed, 13 Feb 2013 17:07:34 +0000 Subject: hg: jdk8/tl/jdk: 8008095: TEST_BUG: JDK-8002048 one more testcase failure on Solaris Message-ID: <20130213170800.8425947A30@hg.openjdk.java.net> Changeset: 8181be9a3538 Author: dsamersoff Date: 2013-02-13 21:06 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/8181be9a3538 8008095: TEST_BUG: JDK-8002048 one more testcase failure on Solaris Summary: fixed couple of more Solaris shell incompatibilities Reviewed-by: chegar ! test/sun/management/jdp/JdpTest.sh From serguei.spitsyn at oracle.com Wed Feb 13 09:14:50 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Wed, 13 Feb 2013 09:14:50 -0800 Subject: RFR(XS): 8004840 Jstack seems to output unnecessary information in 7u9 In-Reply-To: References: Message-ID: <511BCA0A.9020705@oracle.com> Looks good and easy to review. :) Thanks, Serguei On 2/13/13 8:19 AM, Staffan Larsen wrote: > Please review this trivial fix to remove some unexpected debug output from SA. > > webrev: http://cr.openjdk.java.net/~sla/8004840/webrev.00/ > > Thanks, > /Staffan From chris.hegarty at oracle.com Wed Feb 13 09:21:16 2013 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Wed, 13 Feb 2013 17:21:16 +0000 Subject: RR(S): 8008095.JDP-TEST3 (was Re: FAILS: test/sun/management/jdp/JdpTest.sh: test: argument expected) In-Reply-To: <511BA5F8.5070502@oracle.com> References: <20130212120441.B8CCD479D2@hg.openjdk.java.net> <511A7DFA.5030101@oracle.com> <511AC000.5080506@oracle.com> <511B70C6.4040609@oracle.com> <511BA5F8.5070502@oracle.com> Message-ID: <511BCB8C.2040205@oracle.com> Looks fine to me. -Chris. On 13/02/2013 14:40, Dmitry Samersoff wrote: > Chris, > > Please take a look at the final changes: > > http://cr.openjdk.java.net/~dsamersoff/8008095.JDP-TEST3/webrev.01/jdk/ > > I still not able to get valuable results from jprt but tried couple of > different solaris machines and hope this time the problem with this test > is gone. > > I'm ready to push it right after your response. > > -Dmitry > > On 2013-02-13 14:53, Chris Hegarty wrote: >> Dmitry, >> >> I have a trivial patch that resolves this issue. I would like to push it >> to jdk8/tl today before we freeze for M7, and have this failure escape >> into master. >> >> The change is to simply use conditions that are also supported by bourne >> shell . >> >> diff -r 7dcb74c3ffba test/sun/management/jdp/JdpTest.sh >> --- a/test/sun/management/jdp/JdpTest.sh Tue Feb 12 09:25:43 2013 >> -0800 >> +++ b/test/sun/management/jdp/JdpTest.sh Wed Feb 13 10:48:28 2013 >> +0000 >> @@ -51,7 +51,7 @@ _do_compile(){ >> # sun.* packages is not included to symbol file lib/ct.sym so we have >> # to ignore it >> >> - if [ ! -f ${_testclasses} ] >> + if [ ! -d ${_testclasses} ] >> then >> mkdir -p ${_testclasses} >> fi >> @@ -319,7 +319,7 @@ rm -f ${_logname} >> rm -f ${_logname} >> rm -f ${_policyname} >> >> -if [ -e ${_testsrc}/policy.tpl ] >> +if [ -f ${_testsrc}/policy.tpl ] >> then >> >> cat ${_testsrc}/policy.tpl | \ >> >> -Chris. >> >> On 12/02/2013 22:19, Dmitry Samersoff wrote: >>> Chris, >>> >>> I'm not able to reproduce it locally. Do you have a link to jprt job you >>> see this failure? >>> >>> -Dmitry >>> >>> On 2013-02-12 21:38, Chris Hegarty wrote: >>>> Dmitry, >>>> >>>> This test is now failing on several platforms, on jdk8 and 7u-dev >>>> >>>> ------- >>>> >>>> result: Passed. Compilation successful >>>> >>>> #section:shell >>>> ----------messages:(3/154)---------- >>>> command: shell JdpTest.sh [--jtreg, --no-compile] >>>> reason: User specified action: run shell JdpTest.sh --jtreg --no-compile >>>> elapsed time (seconds): 0.045 >>>> ----------System.out:(0/0)---------- >>>> ----------System.err:(1/110)---------- >>>> /export2/Users/chris/repos/jdk8/tl/master_top/jdk/test/sun/management/jdp/JdpTest.sh: >>>> >>>> test: argument expected >>>> result: Failed. Execution failed: exit code 1 >>>> >>>> >>>> test result: Failed. Execution failed: exit code 1 >>>> >>>> -Chris. >>>> >>>> >>>> On 02/12/2013 12:04 PM, dmitry.samersoff at oracle.com wrote: >>>>> Changeset: f7fb173ac833 >>>>> Author: dsamersoff >>>>> Date: 2013-02-12 16:02 +0400 >>>>> URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f7fb173ac833 >>>>> >>>>> 8007786: JDK-8002048 testcase doesn't work on Solaris >>>>> Summary: test built in into Solaris shell doesn't have -e operator >>>>> Reviewed-by: sla, sspitsyn >>>>> >>>>> ! test/sun/management/jdp/JdpTest.sh >>>>> >>> >>> > > From rickard.backman at oracle.com Wed Feb 13 10:17:06 2013 From: rickard.backman at oracle.com (=?utf-8?Q?Rickard_B=C3=A4ckman?=) Date: Wed, 13 Feb 2013 19:17:06 +0100 Subject: RFR(S): 8008102: SA on OS X does not stop the attached process In-Reply-To: <1038A172-74A2-409B-9A27-81AC880B8DCC@oracle.com> References: <1038A172-74A2-409B-9A27-81AC880B8DCC@oracle.com> Message-ID: <3F0581AF-4F62-4ABF-9660-5CCA535CF30E@oracle.com> Staffan, nice work. Looks good to me. (Not a Reviewer). /R 13 feb 2013 kl. 16:05 skrev Staffan Larsen : > Please review the following change. > > When SA attaches to a JVM on OS X, it does not stop the process. If the JVM keeps running while SA inspects it can lead to all kinds of inconsistencies in SA. The proposed solution uses ptrace to attach to the process to keep it from running. Ptrace works a little bit differently on OS X, than on linux. For example, there is no need to attach to all threads, just attaching to the main process is enough. Additionally, the race that was recently found on linux [1] does not seem to be present on OS X (or at least I have not been able to reproduce it), so I have omitted that code. > > webrev: http://cr.openjdk.java.net/~sla/8008102/webrev.00/ > > Thanks, > /Staffan > > [1] http://mail.openjdk.java.net/pipermail/serviceability-dev/2013-February/008432.html From rickard.backman at oracle.com Wed Feb 13 10:18:57 2013 From: rickard.backman at oracle.com (=?utf-8?Q?Rickard_B=C3=A4ckman?=) Date: Wed, 13 Feb 2013 19:18:57 +0100 Subject: RFR(XS): 8004840 Jstack seems to output unnecessary information in 7u9 In-Reply-To: References: Message-ID: Looks good. (Not a Reviewer). /R 13 feb 2013 kl. 17:19 skrev Staffan Larsen : > Please review this trivial fix to remove some unexpected debug output from SA. > > webrev: http://cr.openjdk.java.net/~sla/8004840/webrev.00/ > > Thanks, > /Staffan From vincent.x.ryan at oracle.com Wed Feb 13 11:42:10 2013 From: vincent.x.ryan at oracle.com (vincent.x.ryan at oracle.com) Date: Wed, 13 Feb 2013 19:42:10 +0000 Subject: hg: jdk8/tl/jdk: 8007755: Support the logical grouping of keystores Message-ID: <20130213194232.73EDE47A36@hg.openjdk.java.net> Changeset: 11438befdd4c Author: vinnie Date: 2013-02-13 19:40 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/11438befdd4c 8007755: Support the logical grouping of keystores Reviewed-by: mullan ! src/share/classes/java/security/KeyStore.java + src/share/classes/sun/security/provider/DomainKeyStore.java ! src/share/classes/sun/security/provider/PolicyParser.java ! src/share/classes/sun/security/provider/Sun.java ! src/share/classes/sun/security/provider/SunEntries.java ! src/share/classes/sun/security/util/Resources.java + test/sun/security/provider/KeyStore/DKSTest.java + test/sun/security/provider/KeyStore/DKSTest.sh + test/sun/security/provider/KeyStore/domains.cfg ! test/sun/security/tools/keytool/AltProviderPath.sh ! test/sun/security/tools/keytool/DummyProvider.java From xueming.shen at oracle.com Wed Feb 13 11:51:04 2013 From: xueming.shen at oracle.com (xueming.shen at oracle.com) Date: Wed, 13 Feb 2013 19:51:04 +0000 Subject: hg: jdk8/tl/jdk: 8008161: Regression: j.u.TimeZone.getAvailableIDs(rawOffset) returns non-sorted list Message-ID: <20130213195117.CDB8747A38@hg.openjdk.java.net> Changeset: efc66fe16f91 Author: sherman Date: 2013-02-13 11:49 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/efc66fe16f91 8008161: Regression: j.u.TimeZone.getAvailableIDs(rawOffset) returns non-sorted list Summary: to return a sorted list Reviewed-by: lancea, naoto ! src/share/classes/sun/util/calendar/ZoneInfoFile.java ! test/sun/util/calendar/zi/TestZoneInfo310.java From lana.steuck at oracle.com Wed Feb 13 12:11:38 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 13 Feb 2013 20:11:38 +0000 Subject: hg: jdk8/tl: 9 new changesets Message-ID: <20130213201139.8AD2D47A39@hg.openjdk.java.net> Changeset: 6e296219633d Author: tbell Date: 2013-01-31 13:31 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/6e296219633d 8006933: Need to use nawk on Solaris to avoid awk limitations Reviewed-by: erikj, dholmes, dsamersoff ! common/makefiles/IdlCompilation.gmk Changeset: 12782ec1da5f Author: ohrstrom Date: 2013-01-31 14:00 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/rev/12782ec1da5f 8006872: Stop creating four jars with identical content in the new build system. Reviewed-by: erikj ! common/autoconf/spec.gmk.in ! common/makefiles/JavaCompilation.gmk ! common/makefiles/javadoc/Javadoc.gmk Changeset: 7e584be2ee58 Author: ohrstrom Date: 2013-02-01 11:22 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/rev/7e584be2ee58 Merge Changeset: 339e4df096a2 Author: erikj Date: 2013-02-04 10:53 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/rev/339e4df096a2 8007093: build-infra: Make should fail if spec is older than configure files Reviewed-by: tbell ! common/makefiles/Main.gmk Changeset: dea045cc48ca Author: erikj Date: 2013-02-04 11:02 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/rev/dea045cc48ca 8007275: build-infra: Create final-images target Reviewed-by: tbell ! common/autoconf/generated-configure.sh ! common/makefiles/Jprt.gmk Changeset: d3d9ab8ee7b0 Author: erikj Date: 2013-02-05 16:50 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/rev/d3d9ab8ee7b0 8007524: build-infra: Incremental build of tools.jar broken Reviewed-by: tbell ! common/makefiles/JavaCompilation.gmk Changeset: 278af9fc67e7 Author: katleman Date: 2013-02-05 18:54 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/278af9fc67e7 Merge Changeset: 3933eebc659d Author: katleman Date: 2013-02-07 12:32 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/3933eebc659d Added tag jdk8-b76 for changeset 278af9fc67e7 ! .hgtags Changeset: 76808fb4194a Author: lana Date: 2013-02-13 11:21 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/76808fb4194a Merge ! common/makefiles/Main.gmk From lana.steuck at oracle.com Wed Feb 13 12:11:38 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 13 Feb 2013 20:11:38 +0000 Subject: hg: jdk8/tl/corba: 3 new changesets Message-ID: <20130213201141.D1F8D47A3A@hg.openjdk.java.net> Changeset: ce106b6b7394 Author: ohrstrom Date: 2013-01-31 14:02 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/ce106b6b7394 8006872: Stop creating four jars with identical content in the new build system. Reviewed-by: erikj ! makefiles/BuildCorba.gmk Changeset: 58be6ca3c060 Author: katleman Date: 2013-02-05 18:54 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/58be6ca3c060 Merge Changeset: 35684a40c584 Author: katleman Date: 2013-02-07 12:32 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/35684a40c584 Added tag jdk8-b76 for changeset 58be6ca3c060 ! .hgtags From lana.steuck at oracle.com Wed Feb 13 12:11:43 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 13 Feb 2013 20:11:43 +0000 Subject: hg: jdk8/tl/jaxws: 3 new changesets Message-ID: <20130213201151.53CD647A3B@hg.openjdk.java.net> Changeset: 54beebb17494 Author: ohrstrom Date: 2013-01-31 14:02 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jaxws/rev/54beebb17494 8006872: Stop creating four jars with identical content in the new build system. Reviewed-by: erikj ! makefiles/BuildJaxws.gmk Changeset: c4853f3f0e89 Author: katleman Date: 2013-02-05 18:54 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jaxws/rev/c4853f3f0e89 Merge Changeset: 64dfba1bad16 Author: katleman Date: 2013-02-07 12:33 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jaxws/rev/64dfba1bad16 Added tag jdk8-b76 for changeset c4853f3f0e89 ! .hgtags From lana.steuck at oracle.com Wed Feb 13 12:11:43 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 13 Feb 2013 20:11:43 +0000 Subject: hg: jdk8/tl/jaxp: 4 new changesets Message-ID: <20130213201155.6354047A3C@hg.openjdk.java.net> Changeset: 8f6ca8755f46 Author: ohrstrom Date: 2013-01-31 14:02 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/8f6ca8755f46 8006872: Stop creating four jars with identical content in the new build system. Reviewed-by: erikj ! makefiles/BuildJaxp.gmk Changeset: 0c08593944d0 Author: katleman Date: 2013-02-05 18:54 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/0c08593944d0 Merge Changeset: 02195d0e96b9 Author: katleman Date: 2013-02-07 12:32 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/02195d0e96b9 Added tag jdk8-b76 for changeset 0c08593944d0 ! .hgtags Changeset: 573e789c187a Author: lana Date: 2013-02-11 16:12 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/573e789c187a Merge From lana.steuck at oracle.com Wed Feb 13 12:11:49 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 13 Feb 2013 20:11:49 +0000 Subject: hg: jdk8/tl/langtools: 5 new changesets Message-ID: <20130213201205.3D4A047A3D@hg.openjdk.java.net> Changeset: 2d6789a725a4 Author: ohrstrom Date: 2013-01-31 14:01 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/2d6789a725a4 8006872: Stop creating four jars with identical content in the new build system. Reviewed-by: erikj ! makefiles/BuildLangtools.gmk Changeset: e81839b32337 Author: katleman Date: 2013-02-05 18:55 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/e81839b32337 Merge Changeset: 6fde20398015 Author: katleman Date: 2013-02-07 12:33 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/6fde20398015 Added tag jdk8-b76 for changeset e81839b32337 ! .hgtags Changeset: 89c664151689 Author: lana Date: 2013-02-11 16:15 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/89c664151689 Merge Changeset: 3f9875aa5d67 Author: lana Date: 2013-02-13 11:25 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/3f9875aa5d67 Merge From lana.steuck at oracle.com Wed Feb 13 12:12:20 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 13 Feb 2013 20:12:20 +0000 Subject: hg: jdk8/tl/hotspot: 74 new changesets Message-ID: <20130213201507.A029A47A3E@hg.openjdk.java.net> Changeset: da53cb17186a Author: katleman Date: 2013-02-07 12:32 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/da53cb17186a Added tag jdk8-b76 for changeset 20b605466ccb ! .hgtags Changeset: 6fbe8a57549d Author: amurillo Date: 2013-01-25 03:03 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/6fbe8a57549d 8006827: new hotspot build - hs25-b18 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 3c327c2b6782 Author: jmasa Date: 2013-01-03 15:03 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/3c327c2b6782 8004895: NPG: JMapPermCore test failure caused by warnings about missing field Reviewed-by: johnc ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp ! src/share/vm/memory/binaryTreeDictionary.cpp ! src/share/vm/memory/binaryTreeDictionary.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: ef1e11845e18 Author: jmasa Date: 2013-02-04 12:01 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/ef1e11845e18 Merge ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 5daaddd917a1 Author: coleenp Date: 2013-01-23 10:34 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/5daaddd917a1 8006040: NPG: on_stack processing wastes space in ConstantPool Summary: Added on_stack bit to flags. Also MetadataMarkOnStack is used for more than JVMTI so had to be moved. Reviewed-by: dholmes, stefank ! src/share/vm/classfile/classLoaderData.cpp + src/share/vm/classfile/metadataOnStackMark.cpp + src/share/vm/classfile/metadataOnStackMark.hpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/constantPool.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/jvmtiRedefineClasses.hpp Changeset: 6cf2530f7fd3 Author: minqi Date: 2013-01-24 23:30 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/6cf2530f7fd3 8005278: Serviceability Agent: jmap -heap and jstack -m fail Summary: BinaryTreeDictionary is typedef'ed as AFLBinaryTreeDictionary in vmStructs and in SA we still use old name for that. FreeList now is a template based class which is not reflect in SA type library. When SA does calculation of heap for CMS, the former will cause failure to retrieve BinaryTreeDictionary sine the rename. The later will fail wherever it is used in SA. Reviewed-by: dholmes, sla, coleenp Contributed-by: yunda.mly at taobao.com + agent/src/share/classes/sun/jvm/hotspot/memory/AFLBinaryTreeDictionary.java - agent/src/share/classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java ! agent/src/share/classes/sun/jvm/hotspot/memory/CompactibleFreeListSpace.java ! agent/src/share/classes/sun/jvm/hotspot/memory/FreeList.java ! src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp Changeset: 8b46b0196eb0 Author: zgu Date: 2013-01-25 10:04 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/8b46b0196eb0 8000692: Remove old KERNEL code Summary: Removed depreciated kernel VM source code from hotspot VM Reviewed-by: dholmes, acorn ! make/Makefile ! make/bsd/makefiles/dtrace.make ! make/solaris/Makefile ! make/solaris/makefiles/dtrace.make - make/solaris/makefiles/kernel.make ! make/windows/build.bat ! make/windows/create_obj_files.sh ! make/windows/makefiles/defs.make ! make/windows/makefiles/projectcreator.make ! make/windows/makefiles/vm.make ! src/cpu/x86/vm/assembler_x86.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/prims/jniCheck.hpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvmtiCodeBlobEvents.hpp ! src/share/vm/prims/jvmtiEnv.cpp ! src/share/vm/prims/jvmtiEnvBase.cpp ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/jvmtiExtensions.hpp ! src/share/vm/prims/jvmtiImpl.cpp ! src/share/vm/prims/jvmtiImpl.hpp ! src/share/vm/prims/jvmtiRawMonitor.hpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/jvmtiTagMap.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.hpp ! src/share/vm/runtime/vm_version.cpp ! src/share/vm/services/attachListener.cpp ! src/share/vm/services/attachListener.hpp Changeset: edd76a5856f7 Author: sspitsyn Date: 2013-01-24 22:13 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/edd76a5856f7 8005128: JSR 292: the mlvm redefineClassInBootstrap test crashes in ConstantPool::compare_entry_to Summary: When constant pool is copied in merge_constant_pools the invokedynamic operands must be copied before. Reviewed-by: coleenp, twisti Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/constantPool.hpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp Changeset: 4a0dd3799a44 Author: minqi Date: 2013-01-25 04:23 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/4a0dd3799a44 Merge Changeset: 8d1fb417a42d Author: minqi Date: 2013-01-25 13:47 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/8d1fb417a42d Merge ! src/share/vm/prims/jvmtiRedefineClasses.cpp Changeset: cf8470eaf7e5 Author: acorn Date: 2013-01-27 21:58 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/cf8470eaf7e5 Merge - agent/src/share/classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java - make/solaris/makefiles/kernel.make ! src/cpu/x86/vm/assembler_x86.hpp ! src/share/vm/classfile/vmSymbols.hpp Changeset: 16fb9f942703 Author: acorn Date: 2013-01-25 15:06 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/16fb9f942703 6479360: PrintClassHistogram improvements Summary: jcmd GC.class_stats (UnlockDiagnosticVMOptions) Reviewed-by: coleenp, hseigel, sla, acorn Contributed-by: ioi.lam at oracle.com ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/classLoaderData.hpp ! src/share/vm/gc_implementation/shared/vmGCOperations.cpp ! src/share/vm/gc_implementation/shared/vmGCOperations.hpp ! src/share/vm/memory/heapInspection.cpp ! src/share/vm/memory/heapInspection.hpp ! src/share/vm/oops/annotations.cpp ! src/share/vm/oops/annotations.hpp ! src/share/vm/oops/arrayKlass.hpp ! src/share/vm/oops/constMethod.cpp ! src/share/vm/oops/constMethod.hpp ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/constantPool.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/oops/methodData.hpp ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/diagnosticCommand.hpp Changeset: 0d26ce8e9251 Author: acorn Date: 2013-01-28 10:34 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/0d26ce8e9251 Merge - make/solaris/makefiles/kernel.make ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/constantPool.hpp Changeset: 815957d0203e Author: acorn Date: 2013-01-28 10:55 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/815957d0203e 8004967: Default method cause VerifyError: Illegal use of nonvirtual Summary: Recognize VM generated method in old verifier Reviewed-by: acorn, coleenp Contributed-by: bharadwaj.yadavelli at oracle.com ! make/bsd/makefiles/mapfile-vers-debug ! make/bsd/makefiles/mapfile-vers-product ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! make/solaris/makefiles/mapfile-vers ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h Changeset: 7885e162c30f Author: acorn Date: 2013-01-28 09:33 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/7885e162c30f Merge Changeset: 9be6cde7919d Author: ctornqvi Date: 2013-01-25 10:14 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg Summary: Add a few utility classes to test/testlibrary to support multi process testing in jtreg tests. Added a test case for one of the utility classes. Also reviewed by Vitaly Davidovich Reviewed-by: brutisso, dholmes, vlivanov, nloodin, mgerdin + test/testlibrary/OutputAnalyzerTest.java + test/testlibrary/com/oracle/java/testlibrary/JDKToolFinder.java + test/testlibrary/com/oracle/java/testlibrary/OutputAnalyzer.java + test/testlibrary/com/oracle/java/testlibrary/OutputBuffer.java + test/testlibrary/com/oracle/java/testlibrary/ProcessTools.java + test/testlibrary/com/oracle/java/testlibrary/StreamPumper.java Changeset: baf7fac3167e Author: hseigel Date: 2013-02-01 14:14 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/baf7fac3167e 8006298: Specifying malformed JFR options (-XX:+FlightRecorderOptions) outputs non-sensical error Summary: Change error messages for malformed options so the messages are more useful. Reviewed-by: mikael, kvn, nloodin ! src/share/vm/runtime/arguments.cpp Changeset: 4c75576d18d0 Author: hseigel Date: 2013-02-01 13:30 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/4c75576d18d0 Merge Changeset: 9bf5f643d1cf Author: sspitsyn Date: 2013-01-31 20:07 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/9bf5f643d1cf 8006542: JSR 292: the VM_RedefineClasses::append_entry() must support invokedynamic entry kinds Summary: Need a support for invokedynamic entry kinds when new and old constant pools are merged. Reviewed-by: coleenp, twisti Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/jvmtiRedefineClasses.hpp Changeset: dc31f560d6e7 Author: sspitsyn Date: 2013-01-31 20:09 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/dc31f560d6e7 8006546: JSR 292: typos in the ConstantPool::copy_cp_impl() Summary: Simple typos that need to be fixed Reviewed-by: coleenp, twisti Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/oops/constantPool.cpp Changeset: 79c1bb8fce5d Author: sspitsyn Date: 2013-01-31 20:11 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/79c1bb8fce5d 8006731: JSR 292: the VM_RedefineClasses::rewrite_cp_refs_in_method() must support invokedynamic Summary: The invokedynamic bytecode ref to a CP entry needs to be checked and fixed as well. Reviewed-by: coleenp, twisti Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/prims/jvmtiRedefineClasses.cpp Changeset: 9a9f870325cf Author: minqi Date: 2013-02-01 10:57 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/9a9f870325cf Merge Changeset: b935589d2807 Author: minqi Date: 2013-02-01 14:42 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/b935589d2807 Merge Changeset: 44c5fcd9cb25 Author: iklam Date: 2013-01-24 10:57 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/44c5fcd9cb25 8006280: Need to reorder metadata structures to reduce size (64-bit) Summary: Reordered Klass, InstanceKlass and Method to save 8 bytes each Reviewed-by: coleenp, jiangli Contributed-by: ioi.lam at oracle.com ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/method.hpp Changeset: 1eae78177059 Author: jiangli Date: 2013-02-01 15:25 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/1eae78177059 Merge - make/solaris/makefiles/kernel.make ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/method.hpp Changeset: dc8ad3fd7050 Author: jiangli Date: 2013-02-01 19:36 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/dc8ad3fd7050 Merge Changeset: 4102b59539ce Author: ctornqvi Date: 2013-02-01 23:48 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/4102b59539ce 8005012: Add WB APIs to better support NMT testing Summary: Add WB API functions to enable better NMT testing Reviewed-by: dholmes, zgu ! src/share/tools/whitebox/sun/hotspot/WhiteBox.java ! src/share/vm/memory/allocation.hpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/services/memBaseline.cpp ! src/share/vm/services/memPtr.cpp ! src/share/vm/services/memPtr.hpp ! src/share/vm/services/memRecorder.cpp ! src/share/vm/services/memRecorder.hpp ! src/share/vm/services/memTrackWorker.cpp ! src/share/vm/services/memTrackWorker.hpp ! src/share/vm/services/memTracker.cpp ! src/share/vm/services/memTracker.hpp Changeset: 4460acf8687b Author: ctornqvi Date: 2013-02-02 07:24 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/4460acf8687b Merge Changeset: 9fe95b01ad32 Author: ctornqvi Date: 2013-02-02 08:46 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/9fe95b01ad32 Merge Changeset: 43badbe2717a Author: minqi Date: 2013-01-31 17:43 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/43badbe2717a 8000973: SA on windows thread inspection is broken Summary: After bug 7161732, On Windows SA could not find correct address of thread_id of OSThread since _thread_id moved to end of the class . The presupposition of the address is following thread handle no longer stands. Fix by adding thread_id field to OSThread and getting the address directly from OSThread. Reviewed-by: nloodin, sspitsyn Contributed-by: yumin.qi at oracle.com ! agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/amd64/WindbgAMD64Thread.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/x86/WindbgX86Thread.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/OSThread.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/win32_amd64/Win32AMD64JavaThreadPDAccess.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/win32_x86/Win32X86JavaThreadPDAccess.java Changeset: 65b632b77a97 Author: minqi Date: 2013-02-01 22:41 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/65b632b77a97 Merge Changeset: ff5401ad5635 Author: minqi Date: 2013-02-02 03:51 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/ff5401ad5635 Merge Changeset: 879c6de913d6 Author: ctornqvi Date: 2013-02-02 16:34 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/879c6de913d6 8005013: Add NMT tests Summary: Add tests for the Native Memory Tracking feature, includes regression tests for 8005936 and 8004802 Reviewed-by: zgu, coleenp ! test/TEST.ROOT + test/runtime/NMT/AllocTestType.java + test/runtime/NMT/BaselineWithParameter.java + test/runtime/NMT/CommandLineDetail.java + test/runtime/NMT/CommandLineEmptyArgument.java + test/runtime/NMT/CommandLineInvalidArgument.java + test/runtime/NMT/CommandLineSummary.java + test/runtime/NMT/CommandLineTurnOffNMT.java + test/runtime/NMT/JcmdScale.java + test/runtime/NMT/JcmdWithNMTDisabled.java + test/runtime/NMT/PrintNMTStatistics.java + test/runtime/NMT/PrintNMTStatisticsWithNMTDisabled.java + test/runtime/NMT/ShutdownTwice.java + test/runtime/NMT/SummaryAfterShutdown.java + test/runtime/NMT/SummarySanityCheck.java Changeset: a7f9a1195d86 Author: ctornqvi Date: 2013-02-02 20:13 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/a7f9a1195d86 8000363: runtime/7158988/FieldMonitor.java fails with exception Summary: Removed unnecessary shell script in the test. Reviewed-by: coleenp, sla ! test/runtime/7158988/FieldMonitor.java - test/runtime/7158988/TestFieldMonitor.sh Changeset: 8f696cf1a0fb Author: dsamersoff Date: 2013-02-03 22:28 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/8f696cf1a0fb 8002048: Protocol to discovery of manageable Java processes on a network Summary: Introduce a protocol to discover manageble Java instances across a network subnet, JDP Reviewed-by: sla, dfuchs ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/diagnosticCommand.hpp Changeset: c4ef3380a70b Author: hseigel Date: 2013-02-03 16:49 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/c4ef3380a70b 7197672: There are issues with shared data on windows Summary: On Windows, set rw protection on the CDS file just before removing it. Reviewed-by: dcubed, iklam ! src/share/vm/memory/filemap.cpp Changeset: ce5467120c84 Author: hseigel Date: 2013-02-03 17:12 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/ce5467120c84 Merge Changeset: 10d5f25a7c67 Author: hseigel Date: 2013-02-04 08:26 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/10d5f25a7c67 8000968: NPG: UseCompressedKlassPointers asserts with ObjectAlignmentInBytes for > 32G CompressedOops Summary: Pick a base that works for both CompressedOpps alignment and CompressedKlassPtrs alignment. Reviewed-by: kvn, roland ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/runtime/arguments.cpp + test/runtime/8000968/Test8000968.sh Changeset: 24a91505f9d5 Author: emc Date: 2013-02-04 13:05 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/24a91505f9d5 8006949: Update hotspot for MethodParameters format change 8006907: Hotspot should reject classfiles with multiple MethodParameters attributes Summary: Update to Hotspot's processing of MethodParameters attributes in classfiles Reviewed-by: coleenp, jrose ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/oops/constMethod.hpp ! src/share/vm/prims/jvm.cpp Changeset: 42ea5e1fad75 Author: coleenp Date: 2013-02-04 13:51 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/42ea5e1fad75 Merge Changeset: ab826603e572 Author: simonis Date: 2013-02-04 13:14 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/ab826603e572 8007475: Memory stomp with UseMallocOnly Summary: Fix off-by-one error Reviewed-by: coleenp, hseigel ! src/share/vm/classfile/stackMapFrame.hpp + test/runtime/8007475/StackMapFrameTest.java Changeset: a401757763f9 Author: coleenp Date: 2013-02-04 22:59 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/a401757763f9 Merge Changeset: 12285410684f Author: dholmes Date: 2013-02-04 23:53 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/12285410684f 8006508: Wrong frame constructor is called in os_linux_x86.cpp Reviewed-by: dholmes, coleenp Contributed-by: Jeremy Manson ! src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/os_cpu/windows_x86/vm/os_windows_x86.cpp Changeset: f3ea1af9207a Author: dholmes Date: 2013-02-05 00:59 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/f3ea1af9207a Merge Changeset: 454d7cc622ab Author: dcubed Date: 2013-02-06 15:22 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/454d7cc622ab Merge - agent/src/share/classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java - make/solaris/makefiles/kernel.make ! src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp - test/runtime/7158988/TestFieldMonitor.sh Changeset: fcc9e7681d63 Author: vlivanov Date: 2013-02-01 02:50 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/fcc9e7681d63 8006410: allocating without ResourceMark when CompileCommand was specified Reviewed-by: kvn, vlivanov Contributed-by: Igor Ignatyev ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciInstanceKlass.cpp ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethodData.cpp ! src/share/vm/oops/symbol.cpp Changeset: 60bba1398c51 Author: vlivanov Date: 2013-02-01 03:02 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/60bba1398c51 8005439: no message about inline method if it specifed by CompileCommand Reviewed-by: kvn, vlivanov Contributed-by: Igor Ignatyev ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/parse.hpp Changeset: e4bb0bda20a4 Author: morris Date: 2013-01-25 16:31 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/e4bb0bda20a4 8005811: Turn off TierdCompilation in JDK8 trunk for all platforms Summary: Disable tiered compilation in jdk8 because of CodeCache and performance anomalies Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/c2_globals_sparc.hpp ! src/cpu/x86/vm/c2_globals_x86.hpp Changeset: 76341426b645 Author: drchase Date: 2013-01-25 16:09 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/76341426b645 8006500: compiler/8004741/Test8004741.java fails intermediately Summary: rewrote the test to be more reliable, add test for invalid size exception Reviewed-by: kvn ! test/compiler/8004741/Test8004741.java Changeset: 9fae07c31641 Author: morris Date: 2013-01-25 16:50 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/9fae07c31641 6518907: cleanup IA64 specific code in Hotspot Summary: removed unused IA64 specific code Reviewed-by: twisti, kvn, dholmes ! agent/src/os/linux/LinuxDebuggerLocal.c ! agent/src/os/linux/libproc.h ! agent/src/os/win32/windbg/sawindbg.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/opto/generateOptoStub.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/vframeArray.cpp Changeset: 37c18711a0df Author: roland Date: 2013-02-04 09:11 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/37c18711a0df 8005114: VM is crashing in ciKlass*ciObjArrayKlass::element_klass() if metaspaces are full Summary: missing test for loaded klass in c1 Reviewed-by: kvn ! src/share/vm/c1/c1_Instruction.cpp Changeset: 39901f2f1abe Author: mikael Date: 2013-02-04 10:28 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/39901f2f1abe 8007403: Incorrect format arguments in adlparse.cpp Reviewed-by: kvn, twisti ! src/share/vm/adlc/adlparse.cpp Changeset: 8bd61471a109 Author: roland Date: 2013-02-04 11:30 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/8bd61471a109 8007144: Incremental inlining mistakes some call sites for dead ones and doesn't inline them Summary: wrong detection for dead call sites. Reviewed-by: kvn ! src/share/vm/opto/callGenerator.cpp Changeset: 6a51fc70a15e Author: vlivanov Date: 2013-02-05 08:25 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/6a51fc70a15e 8006613: adding reason to made_not_compilable Reviewed-by: kvn, vlivanov Contributed-by: Igor Ignatyev ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/oops/methodData.hpp ! src/share/vm/runtime/deoptimization.cpp Changeset: 4fcf990aa34a Author: drchase Date: 2013-02-06 11:33 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/4fcf990aa34a 8006807: C2 crash due to out of bounds array access in Parse::do_multianewarray Summary: check ndimensions before accessing length[i] element Reviewed-by: kvn Contributed-by: volker.simonis at gmail.com ! src/share/vm/opto/parse3.cpp Changeset: d05ff4bf41b3 Author: vlivanov Date: 2013-02-07 12:23 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/d05ff4bf41b3 Merge ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/oops/methodData.hpp Changeset: db9981fd3124 Author: jprovino Date: 2013-01-23 13:02 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/db9981fd3124 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS Summary: Rename INCLUDE_ALTERNATE_GCS to INCLUDE_ALL_GCS and replace SERIALGC with INCLUDE_ALL_GCS. Reviewed-by: coleenp, stefank ! make/bsd/makefiles/minimal1.make ! make/excludeSrc.make ! make/linux/makefiles/minimal1.make ! src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp ! src/cpu/sparc/vm/cppInterpreter_sparc.cpp ! src/cpu/sparc/vm/macroAssembler_sparc.cpp ! src/cpu/sparc/vm/macroAssembler_sparc.hpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/c1_CodeStubs_x86.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.hpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/cpu/zero/vm/assembler_zero.cpp ! src/cpu/zero/vm/cppInterpreter_zero.cpp ! src/share/vm/c1/c1_CodeStubs.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciReplay.cpp ! src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.hpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/shared/allocationStats.cpp ! src/share/vm/gc_implementation/shared/allocationStats.hpp ! src/share/vm/gc_implementation/shared/concurrentGCThread.hpp ! src/share/vm/gc_implementation/shared/gSpaceCounters.cpp ! src/share/vm/gc_implementation/shared/gSpaceCounters.hpp ! src/share/vm/gc_implementation/shared/gcAdaptivePolicyCounters.hpp ! src/share/vm/gc_implementation/shared/hSpaceCounters.hpp ! src/share/vm/gc_implementation/shared/immutableSpace.cpp ! src/share/vm/gc_implementation/shared/isGCActiveMark.hpp ! src/share/vm/gc_implementation/shared/markSweep.inline.hpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.hpp ! src/share/vm/gc_implementation/shared/mutableSpace.cpp ! src/share/vm/gc_implementation/shared/spaceCounters.cpp ! src/share/vm/gc_implementation/shared/spaceCounters.hpp ! src/share/vm/gc_implementation/shared/vmGCOperations.cpp ! src/share/vm/memory/binaryTreeDictionary.cpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableRS.cpp ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/memory/collectorPolicy.hpp ! src/share/vm/memory/freeBlockDictionary.cpp ! src/share/vm/memory/freeList.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/generationSpec.cpp ! src/share/vm/memory/heapInspection.cpp ! src/share/vm/memory/heapInspection.hpp ! src/share/vm/memory/space.cpp ! src/share/vm/memory/space.hpp ! src/share/vm/memory/specialized_oop_closures.hpp ! src/share/vm/memory/tenuredGeneration.cpp ! src/share/vm/memory/tenuredGeneration.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/cpCache.cpp ! src/share/vm/oops/instanceClassLoaderKlass.cpp ! src/share/vm/oops/instanceClassLoaderKlass.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceMirrorKlass.cpp ! src/share/vm/oops/instanceMirrorKlass.hpp ! src/share/vm/oops/instanceRefKlass.cpp ! src/share/vm/oops/instanceRefKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/klassPS.hpp ! src/share/vm/oops/objArrayKlass.cpp ! src/share/vm/oops/objArrayKlass.hpp ! src/share/vm/oops/objArrayKlass.inline.hpp ! src/share/vm/oops/oop.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/oops/oop.pcgc.inline.hpp ! src/share/vm/oops/oop.psgc.inline.hpp ! src/share/vm/oops/typeArrayKlass.cpp ! src/share/vm/precompiled/precompiled.hpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jvmtiEnvBase.hpp ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/jvmtiExport.hpp ! src/share/vm/prims/jvmtiTagMap.cpp ! src/share/vm/prims/nativeLookup.cpp ! src/share/vm/prims/unsafe.cpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/fprofiler.hpp ! src/share/vm/runtime/globals.cpp ! src/share/vm/runtime/globals_extension.hpp ! src/share/vm/runtime/init.cpp ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/services/attachListener.hpp ! src/share/vm/services/classLoadingService.cpp ! src/share/vm/services/classLoadingService.hpp ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/diagnosticCommand.hpp ! src/share/vm/services/g1MemoryPool.hpp ! src/share/vm/services/heapDumper.cpp ! src/share/vm/services/management.cpp ! src/share/vm/services/memReporter.hpp ! src/share/vm/services/memoryPool.cpp ! src/share/vm/services/memoryPool.hpp ! src/share/vm/services/memoryService.cpp ! src/share/vm/services/psMemoryPool.hpp ! src/share/vm/services/runtimeService.cpp ! src/share/vm/utilities/macros.hpp ! src/share/vm/utilities/top.hpp ! src/share/vm/utilities/yieldingWorkgroup.cpp ! src/share/vm/utilities/yieldingWorkgroup.hpp Changeset: 8391fdd36e1f Author: dlong Date: 2013-01-27 01:07 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/8391fdd36e1f Merge ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.hpp ! src/share/vm/ci/ciReplay.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/services/heapDumper.cpp Changeset: 3c9bc17b9403 Author: bpittore Date: 2013-02-07 16:05 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/3c9bc17b9403 Merge ! src/share/vm/gc_implementation/shared/vmGCOperations.cpp ! src/share/vm/memory/binaryTreeDictionary.cpp ! src/share/vm/memory/heapInspection.cpp ! src/share/vm/memory/heapInspection.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/services/attachListener.hpp ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/diagnosticCommand.hpp Changeset: df8462fbe585 Author: vladidan Date: 2013-02-07 20:40 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/df8462fbe585 Merge ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/runtime/sharedRuntime.cpp Changeset: ec0c4951286c Author: stefank Date: 2013-01-29 10:51 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/ec0c4951286c 8004710: NPG: jmap could throw sun.jvm.hotspot.types.WrongTypeException after PermGen removal Summary: When calculating live object regions, make sure that the alignment reserve, at the end of a TLAB, is excluded. Reviewed-by: jmasa, brutisso ! agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/ThreadLocalAllocBuffer.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java ! src/share/vm/runtime/vmStructs.cpp Changeset: 4700e77d44c1 Author: johnc Date: 2013-02-01 13:17 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/4700e77d44c1 8006894: G1: Number of marking threads missing from PrintFlagsFinal output Summary: Set ConcGCThreads to the calculated number of marking threads. Reviewed-by: jmasa, ysr ! src/share/vm/gc_implementation/g1/concurrentMark.cpp Changeset: d9058e388631 Author: mikael Date: 2013-02-01 17:21 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/d9058e388631 8007257: NPG: metaspace.cpp: Incorrect arguments in calls to err_msg Summary: Fix size checks in assert and corrected some print formats. Also reviewed by vitalyd at gmail.com. Reviewed-by: coleenp, sspitsyn ! src/share/vm/memory/metaspace.cpp Changeset: 256d3f43c177 Author: johnc Date: 2013-01-31 10:45 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/256d3f43c177 8005875: G1: Kitchensink fails with ParallelGCThreads=0 Summary: Check that the concurrent marking worker gang exists in ConcurrentMark::print_worker_threads_on(). Changes were also reviewed by Vitaly Davidovich . Reviewed-by: brutisso ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp Changeset: 80518f4ecf32 Author: jmasa Date: 2013-02-04 12:51 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/80518f4ecf32 Merge ! src/share/vm/runtime/vmStructs.cpp Changeset: f2f0cf0f5444 Author: jmasa Date: 2013-02-04 13:26 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/f2f0cf0f5444 Merge Changeset: 06fd03af6ce4 Author: johnc Date: 2013-02-04 13:24 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/06fd03af6ce4 8001384: G1: assert(!is_null(v)) failed: narrow oop value can never be zero Summary: Flush any deferred card mark before a Java thread exits. Reviewed-by: brutisso, jmasa ! src/share/vm/runtime/thread.cpp Changeset: 84304a77c4e3 Author: johnc Date: 2013-02-04 19:40 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/84304a77c4e3 Merge Changeset: 95ccff9eee8e Author: jwilhelm Date: 2013-01-28 15:41 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/95ccff9eee8e 6348447: Specifying -XX:OldSize crashes 64-bit VMs Summary: Heap size will be set to allow for OldSize to fit. Also reviewed by vitalyd at gmail.com Reviewed-by: ehelin, jmasa ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/memory/collectorPolicy.hpp Changeset: f90b9bceb8e5 Author: johnc Date: 2013-02-05 09:13 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/f90b9bceb8e5 8005032: G1: Cleanup serial reference processing closures in concurrent marking Summary: Reuse the parallel reference processing oop closures during serial reference processing. Reviewed-by: brutisso ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp Changeset: 50d3b37d5bcd Author: johnc Date: 2013-02-05 22:24 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/50d3b37d5bcd Merge Changeset: 1135141fb97e Author: brutisso Date: 2013-02-08 10:08 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/1135141fb97e Merge ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/memory/collectorPolicy.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 412d722168bc Author: amurillo Date: 2013-02-08 08:07 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/412d722168bc Merge - agent/src/share/classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java - make/solaris/makefiles/kernel.make - test/runtime/7158988/TestFieldMonitor.sh Changeset: cdb46031e718 Author: amurillo Date: 2013-02-08 08:07 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/cdb46031e718 Added tag hs25-b18 for changeset 412d722168bc ! .hgtags From lana.steuck at oracle.com Wed Feb 13 12:12:29 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 13 Feb 2013 20:12:29 +0000 Subject: hg: jdk8/tl/jdk: 17 new changesets Message-ID: <20130213201754.188E447A3F@hg.openjdk.java.net> Changeset: c5a7ac2a721f Author: ohrstrom Date: 2013-01-31 14:03 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c5a7ac2a721f 8006872: Stop creating four jars with identical content in the new build system. Reviewed-by: erikj ! makefiles/CreateJars.gmk ! makefiles/GensrcSwing.gmk ! makefiles/Setup.gmk Changeset: 35cf77f633c9 Author: tbell Date: 2013-02-01 09:16 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/35cf77f633c9 8006808: mapfile use check in jdk/make/common/shared/Defs-solaris.gmk is throwing 'egrep: syntax error' Summary: Use a valid egrep expression in the non-SPARC case Reviewed-by: dholmes ! make/common/shared/Defs-solaris.gmk Changeset: 5692ebe15321 Author: erikj Date: 2013-02-04 10:58 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5692ebe15321 8007268: build-infra: configure reports Solaris needs gcc for deploy, but logs don't indicate it's used. Reviewed-by: tbell, katleman ! make/common/shared/Sanity.gmk Changeset: 3a2630528661 Author: katleman Date: 2013-02-05 18:54 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/3a2630528661 Merge Changeset: 933742f4bb4c Author: katleman Date: 2013-02-07 12:33 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/933742f4bb4c Added tag jdk8-b76 for changeset 3a2630528661 ! .hgtags Changeset: e63e7ee18412 Author: bae Date: 2013-02-01 20:06 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e63e7ee18412 8004801: The image of BufferedImage.TYPE_INT_ARGB is blank. Reviewed-by: prr ! src/share/native/sun/awt/image/awt_parseImage.c ! src/solaris/native/sun/awt/awt_Mlib.c ! src/solaris/native/sun/awt/awt_Mlib.h ! src/windows/native/sun/windows/awt_Mlib.cpp ! src/windows/native/sun/windows/awt_Mlib.h + test/java/awt/image/LookupOp/IntImageReverseTest.java Changeset: 1df2944db538 Author: serb Date: 2013-02-04 19:50 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1df2944db538 8004821: Graphics2D.drawPolygon() fails with IllegalPathStateException Reviewed-by: prr, flar ! src/share/classes/sun/java2d/pipe/PixelToShapeConverter.java + test/sun/java2d/pipe/Test8004821.java Changeset: 8fc3e4015b09 Author: jgodinez Date: 2013-02-04 12:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/8fc3e4015b09 8005052: [parfait] #416 X11SurfaceData.c UNINITIALISED OR MISSING RETURN VALUE 8005054: [parfait] #417 X11SurfaceData.c UNINITIALISED OR MISSING RETURN VALUE Reviewed-by: prr, vadim Contributed-by: jia-hong.chen at oracle.com ! src/solaris/native/sun/java2d/x11/X11SurfaceData.c Changeset: fd61fcc1a5a9 Author: leonidr Date: 2013-01-31 18:25 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/fd61fcc1a5a9 8007006: [macosx] Closing subwindow loses main window menus Reviewed-by: anthony ! src/macosx/native/sun/awt/AWTWindow.m Changeset: 452deb976c92 Author: ptbrunet Date: 2013-01-31 18:51 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/452deb976c92 7179482: Component.accessibleContext and JComponent.accessibleContext refactoring Reviewed-by: art, anthony, alexsch ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java ! src/share/classes/javax/swing/JComponent.java Changeset: 0b56a169295f Author: pchelko Date: 2013-02-04 13:54 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0b56a169295f 8005405: [macosx] Drag and Drop: wrong animation when dropped outside any drop target. Summary: Changed the calculation of the drag image offset Reviewed-by: serb, kizune ! src/macosx/classes/sun/lwawt/macosx/CDragSourceContextPeer.java ! src/macosx/native/sun/awt/CDragSource.m Changeset: 171443b1eb3b Author: kshefov Date: 2013-02-04 16:01 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/171443b1eb3b 7077259: [TEST_BUG] [macosx] Test work correctly only when default L&F is Metal Reviewed-by: serb, alexsch ! test/javax/swing/JSlider/4252173/bug4252173.java ! test/javax/swing/JSpinner/6532833/bug6532833.java ! test/javax/swing/plaf/metal/MetalSliderUI/Test6657026.java Changeset: 0e929be3a9da Author: lana Date: 2013-02-05 11:10 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0e929be3a9da Merge Changeset: f26b539bf1d5 Author: lana Date: 2013-02-05 11:11 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f26b539bf1d5 Merge - src/share/classes/java/lang/annotation/ContainedBy.java - src/share/classes/java/lang/annotation/ContainerFor.java - test/java/net/URL/abnormal_http_urls - test/java/net/URL/ftp_urls - test/java/net/URL/jar_urls - test/java/net/URL/normal_http_urls - test/java/net/URL/runconstructor.sh - test/java/net/URL/share_file_urls - test/java/net/URL/win32_file_urls - test/sun/net/www/EncDec.doc - test/sun/net/www/MarkResetTest.java - test/sun/net/www/MarkResetTest.sh - test/sun/security/util/Oid/S11N.sh - test/sun/security/util/Oid/SerialTest.java Changeset: b2fc8e31cecc Author: lana Date: 2013-02-11 16:14 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/b2fc8e31cecc Merge - src/share/classes/java/lang/annotation/ContainedBy.java - src/share/classes/java/lang/annotation/ContainerFor.java - test/java/net/URL/abnormal_http_urls - test/java/net/URL/ftp_urls - test/java/net/URL/jar_urls - test/java/net/URL/normal_http_urls - test/java/net/URL/runconstructor.sh - test/java/net/URL/share_file_urls - test/java/net/URL/win32_file_urls - test/sun/net/www/EncDec.doc - test/sun/net/www/MarkResetTest.java - test/sun/net/www/MarkResetTest.sh - test/sun/security/util/Oid/S11N.sh - test/sun/security/util/Oid/SerialTest.java Changeset: ff80a6b2ae9b Author: lana Date: 2013-02-13 11:25 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ff80a6b2ae9b Merge Changeset: a5aad284904e Author: lana Date: 2013-02-13 11:57 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a5aad284904e Merge From Alan.Bateman at oracle.com Wed Feb 13 12:54:45 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 13 Feb 2013 20:54:45 +0000 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51198FBA.5090409@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <5112B823.4040502@oracle.com> <511908CE.7040706@oracle.com> <51198FBA.5090409@oracle.com> Message-ID: <511BFD95.103@oracle.com> On 12/02/2013 00:41, Daniel D. Daugherty wrote: > Greetings, > > Right after I pushed the changeset for 8007420, Alan B let me know that > he had updated the JLI/JPLIS test infrastructure to support running the > tests with a JRE instead of a JDK. Alan made his changes in early > January, > but I had developed this test back in December. I never checked to see > if the test on which I based my new test had changed. Sigh... > > I filed a new bug to update the new test. Here is the webrev URL: > > http://cr.openjdk.java.net/~dcubed/8007935-webrev/0-jdk8-tl/ > > As always, comments and suggestions are welcome. > > Dan Looks good to me too, and sorry I didn't spot this on the initial review. -Alan From kumar.x.srinivasan at oracle.com Wed Feb 13 13:04:06 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Wed, 13 Feb 2013 21:04:06 +0000 Subject: hg: jdk8/tl/jdk: 8005750: [parfait] Memory leak at jdk/src/share/bin/parse_manifest.c Message-ID: <20130213210430.BEEF847A44@hg.openjdk.java.net> Changeset: 83c09292f5ad Author: ksrini Date: 2013-02-13 12:56 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/83c09292f5ad 8005750: [parfait] Memory leak at jdk/src/share/bin/parse_manifest.c Reviewed-by: jjh ! src/share/bin/parse_manifest.c From daniel.daugherty at oracle.com Wed Feb 13 13:08:12 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 13 Feb 2013 14:08:12 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <511BFD95.103@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <5112B823.4040502@oracle.com> <511908CE.7040706@oracle.com> <51198FBA.5090409@oracle.com> <511BFD95.103@oracle.com> Message-ID: <511C00BC.1050100@oracle.com> On 2/13/13 1:54 PM, Alan Bateman wrote: > On 12/02/2013 00:41, Daniel D. Daugherty wrote: >> Greetings, >> >> Right after I pushed the changeset for 8007420, Alan B let me know that >> he had updated the JLI/JPLIS test infrastructure to support running the >> tests with a JRE instead of a JDK. Alan made his changes in early >> January, >> but I had developed this test back in December. I never checked to see >> if the test on which I based my new test had changed. Sigh... >> >> I filed a new bug to update the new test. Here is the webrev URL: >> >> http://cr.openjdk.java.net/~dcubed/8007935-webrev/0-jdk8-tl/ >> >> As always, comments and suggestions are welcome. >> >> Dan > Looks good to me too, and sorry I didn't spot this on the initial review. > > -Alan Thanks for the review, Alan! I'll be pushing the fix shortly... Dan From daniel.daugherty at oracle.com Wed Feb 13 13:23:16 2013 From: daniel.daugherty at oracle.com (daniel.daugherty at oracle.com) Date: Wed, 13 Feb 2013 21:23:16 +0000 Subject: hg: jdk8/tl/jdk: 8007935: java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh should use $COMPILEJAVA for javac Message-ID: <20130213212336.BAB1B47A4B@hg.openjdk.java.net> Changeset: b13247d5408d Author: dcubed Date: 2013-02-13 13:22 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/b13247d5408d 8007935: java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh should use $COMPILEJAVA for javac Reviewed-by: sspitsyn, alanb ! test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh From karen.kinnear at oracle.com Wed Feb 13 13:33:42 2013 From: karen.kinnear at oracle.com (karen.kinnear at oracle.com) Date: Wed, 13 Feb 2013 21:33:42 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20130213213406.00F8047A4C@hg.openjdk.java.net> Changeset: 4f520ce7ba3f Author: acorn Date: 2013-02-13 16:09 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/4f520ce7ba3f 8007888: jdk fix default method: VerifyError: Illegal use of nonvirtual Summary: Recognize VM generated method in old verifier. With 8004967 Reviewed-by: coleenp, acorn Contributed-by: bharadwaj.yadavalli at oracle.com ! src/share/javavm/export/jvm.h ! src/share/native/common/check_code.c Changeset: e6f34051c60c Author: acorn Date: 2013-02-13 16:15 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e6f34051c60c Merge From david.holmes at oracle.com Wed Feb 13 22:04:37 2013 From: david.holmes at oracle.com (David Holmes) Date: Thu, 14 Feb 2013 16:04:37 +1000 Subject: RFR(XS): 8004840 Jstack seems to output unnecessary information in 7u9 In-Reply-To: References: Message-ID: <511C7E75.5020807@oracle.com> Hold on! No just kidding :) Can I assume from the CR synopsis this will also be backported at some point? Not that you need any more Reviews, but Reviewed. David On 14/02/2013 2:19 AM, Staffan Larsen wrote: > Please review this trivial fix to remove some unexpected debug output from SA. > > webrev: http://cr.openjdk.java.net/~sla/8004840/webrev.00/ > > Thanks, > /Staffan > From joe.darcy at oracle.com Wed Feb 13 23:05:28 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Thu, 14 Feb 2013 07:05:28 +0000 Subject: hg: jdk8/tl/langtools: 8001457: New tests needed for library-side changes for repeating annotations Message-ID: <20130214070531.6FABF47A6A@hg.openjdk.java.net> Changeset: 63872da94576 Author: darcy Date: 2013-02-13 23:05 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/63872da94576 8001457: New tests needed for library-side changes for repeating annotations Reviewed-by: darcy Contributed-by: sonali.goel at oracle.com ! test/tools/javac/annotations/repeatingAnnotations/combo/Helper.java + test/tools/javac/annotations/repeatingAnnotations/combo/ReflectionTest.java + test/tools/javac/annotations/repeatingAnnotations/combo/expectedFiles/ExpectedBase.java + test/tools/javac/annotations/repeatingAnnotations/combo/expectedFiles/ExpectedContainer.java From rickard.backman at oracle.com Thu Feb 14 00:58:40 2013 From: rickard.backman at oracle.com (rickard.backman at oracle.com) Date: Thu, 14 Feb 2013 08:58:40 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8008088: SA can hang the VM Message-ID: <20130214085844.A17AD47A6E@hg.openjdk.java.net> Changeset: 2394a89e89f4 Author: rbackman Date: 2013-02-13 09:46 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/2394a89e89f4 8008088: SA can hang the VM Reviewed-by: mgronlun, sla, dholmes ! agent/src/os/bsd/libproc_impl.c ! agent/src/os/bsd/libproc_impl.h ! agent/src/os/bsd/ps_proc.c ! agent/src/os/linux/libproc_impl.c ! agent/src/os/linux/libproc_impl.h ! agent/src/os/linux/ps_proc.c From david.holmes at oracle.com Thu Feb 14 02:40:32 2013 From: david.holmes at oracle.com (David Holmes) Date: Thu, 14 Feb 2013 20:40:32 +1000 Subject: RFR(S): 8008102: SA on OS X does not stop the attached process In-Reply-To: <1038A172-74A2-409B-9A27-81AC880B8DCC@oracle.com> References: <1038A172-74A2-409B-9A27-81AC880B8DCC@oracle.com> Message-ID: <511CBF20.5000107@oracle.com> On 14/02/2013 1:05 AM, Staffan Larsen wrote: > Please review the following change. > > When SA attaches to a JVM on OS X, it does not stop the process. If the JVM keeps running while SA inspects it can lead to all kinds of inconsistencies in SA. The proposed solution uses ptrace to attach to the process to keep it from running. Ptrace works a little bit differently on OS X, than on linux. For example, there is no need to attach to all threads, just attaching to the main process is enough. Additionally, the race that was recently found on linux [1] does not seem to be present on OS X (or at least I have not been able to reproduce it), so I have omitted that code. I would question how you can know for certain that the signal race [1] can not happen on OSX? Would it not be prudent (and lend itself to future code sharing) to follow the same approach as now used on Linux? I kind of dismayed that the OSX SA support has been found to be in such poor shape. Makes me wonder what else in that port is lacking robustness. David > webrev: http://cr.openjdk.java.net/~sla/8008102/webrev.00/ > > Thanks, > /Staffan > > [1] http://mail.openjdk.java.net/pipermail/serviceability-dev/2013-February/008432.html > From staffan.larsen at oracle.com Thu Feb 14 04:04:05 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Thu, 14 Feb 2013 13:04:05 +0100 Subject: RFR(S): 8008102: SA on OS X does not stop the attached process In-Reply-To: <511CBF20.5000107@oracle.com> References: <1038A172-74A2-409B-9A27-81AC880B8DCC@oracle.com> <511CBF20.5000107@oracle.com> Message-ID: On 14 feb 2013, at 11:40, David Holmes wrote: > On 14/02/2013 1:05 AM, Staffan Larsen wrote: >> Please review the following change. >> >> When SA attaches to a JVM on OS X, it does not stop the process. If the JVM keeps running while SA inspects it can lead to all kinds of inconsistencies in SA. The proposed solution uses ptrace to attach to the process to keep it from running. Ptrace works a little bit differently on OS X, than on linux. For example, there is no need to attach to all threads, just attaching to the main process is enough. Additionally, the race that was recently found on linux [1] does not seem to be present on OS X (or at least I have not been able to reproduce it), so I have omitted that code. > > I would question how you can know for certain that the signal race [1] can not happen on OSX? Would it not be prudent (and lend itself to future code sharing) to follow the same approach as now used on Linux? I did not say I was certain, merely that I have not been able to reproduce it. I think there are big differences in how ptrace is implemented on Linux and OS X that explains why I don't see the same race. Anyway, you are right that we should be prudent and employ the same technique on OS X. New webrev coming. > I kind of dismayed that the OSX SA support has been found to be in such poor shape. Makes me wonder what else in that port is lacking robustness. So do I... /Staffan > > David > >> webrev: http://cr.openjdk.java.net/~sla/8008102/webrev.00/ >> >> Thanks, >> /Staffan >> >> [1] http://mail.openjdk.java.net/pipermail/serviceability-dev/2013-February/008432.html >> From staffan.larsen at oracle.com Thu Feb 14 04:07:12 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Thu, 14 Feb 2013 13:07:12 +0100 Subject: RFR(XS): 8004840 Jstack seems to output unnecessary information in 7u9 In-Reply-To: <511C7E75.5020807@oracle.com> References: <511C7E75.5020807@oracle.com> Message-ID: <170FCBA7-C49C-4688-95E0-A68A04F2EC00@oracle.com> Yes, I plan to backport this to 7u. Thanks for all the reviews, /Staffan On 14 feb 2013, at 07:04, David Holmes wrote: > Hold on! No just kidding :) > > Can I assume from the CR synopsis this will also be backported at some point? > > Not that you need any more Reviews, but Reviewed. > > David > > On 14/02/2013 2:19 AM, Staffan Larsen wrote: >> Please review this trivial fix to remove some unexpected debug output from SA. >> >> webrev: http://cr.openjdk.java.net/~sla/8004840/webrev.00/ >> >> Thanks, >> /Staffan >> From markus.gronlund at oracle.com Thu Feb 14 04:24:28 2013 From: markus.gronlund at oracle.com (=?iso-8859-1?B?TWFya3VzIEdy9m5sdW5k?=) Date: Thu, 14 Feb 2013 04:24:28 -0800 (PST) Subject: RFR(XS): 8008208: Event tracing for code cache subsystems can give wrong timestamps Message-ID: <54ec94cc-250a-4e0e-9476-e0e341e76e51@default> Greetings, ? Kindly asking for reviews and a putback sponsorship for the following change: ? Bugid: http://bugs.sun.com/view_bug.do?bug_id=8008208 ? Webrev: http://cr.openjdk.java.net/~mgronlun/8008208/webrev01/ ? Please also note this is for hs24. ? Thanks Markus -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130214/d0c6146f/attachment.html From staffan.larsen at oracle.com Thu Feb 14 04:44:51 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Thu, 14 Feb 2013 13:44:51 +0100 Subject: RFR(S): 8008102: SA on OS X does not stop the attached process In-Reply-To: References: <1038A172-74A2-409B-9A27-81AC880B8DCC@oracle.com> <511CBF20.5000107@oracle.com> Message-ID: <757170B3-ED6D-4C76-989C-5790EC829AF0@oracle.com> Here is an updated webrev: http://cr.openjdk.java.net/~sla/8008102/webrev.01/ This uses the code from linux (adapted to the OS X API:s) to call ptrace and make sure we are stopped by the right signal. Thanks, /Staffan On 14 feb 2013, at 13:04, Staffan Larsen wrote: > > On 14 feb 2013, at 11:40, David Holmes wrote: > >> On 14/02/2013 1:05 AM, Staffan Larsen wrote: >>> Please review the following change. >>> >>> When SA attaches to a JVM on OS X, it does not stop the process. If the JVM keeps running while SA inspects it can lead to all kinds of inconsistencies in SA. The proposed solution uses ptrace to attach to the process to keep it from running. Ptrace works a little bit differently on OS X, than on linux. For example, there is no need to attach to all threads, just attaching to the main process is enough. Additionally, the race that was recently found on linux [1] does not seem to be present on OS X (or at least I have not been able to reproduce it), so I have omitted that code. >> >> I would question how you can know for certain that the signal race [1] can not happen on OSX? Would it not be prudent (and lend itself to future code sharing) to follow the same approach as now used on Linux? > > I did not say I was certain, merely that I have not been able to reproduce it. I think there are big differences in how ptrace is implemented on Linux and OS X that explains why I don't see the same race. Anyway, you are right that we should be prudent and employ the same technique on OS X. New webrev coming. > >> I kind of dismayed that the OSX SA support has been found to be in such poor shape. Makes me wonder what else in that port is lacking robustness. > > So do I... > > /Staffan > >> >> David >> >>> webrev: http://cr.openjdk.java.net/~sla/8008102/webrev.00/ >>> >>> Thanks, >>> /Staffan >>> >>> [1] http://mail.openjdk.java.net/pipermail/serviceability-dev/2013-February/008432.html >>> > From staffan.larsen at oracle.com Thu Feb 14 04:46:44 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Thu, 14 Feb 2013 13:46:44 +0100 Subject: RFR(XS): 8008208: Event tracing for code cache subsystems can give wrong timestamps In-Reply-To: <54ec94cc-250a-4e0e-9476-e0e341e76e51@default> References: <54ec94cc-250a-4e0e-9476-e0e341e76e51@default> Message-ID: Looks simple enough! (not a Reviewer) I can sponsor this putback. Thanks, /Staffan On 14 feb 2013, at 13:24, Markus Gr?nlund wrote: > Greetings, > > Kindly asking for reviews and a putback sponsorship for the following change: > > Bugid: http://bugs.sun.com/view_bug.do?bug_id=8008208 > > Webrev: http://cr.openjdk.java.net/~mgronlun/8008208/webrev01/ > > Please also note this is for hs24. > > Thanks > Markus -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130214/79927d9f/attachment.html From chris.hegarty at oracle.com Thu Feb 14 05:01:56 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Thu, 14 Feb 2013 13:01:56 +0000 Subject: hg: jdk8/tl/jdk: 8008201: Add java/lang/Class/asSubclass/BasicUnit.java to the ProblemList Message-ID: <20130214130218.73A3C47A79@hg.openjdk.java.net> Changeset: 153884b550f0 Author: chegar Date: 2013-02-14 13:01 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/153884b550f0 8008201: Add java/lang/Class/asSubclass/BasicUnit.java to the ProblemList Reviewed-by: mcimadamore ! test/ProblemList.txt From erik.gahlin at oracle.com Thu Feb 14 05:47:54 2013 From: erik.gahlin at oracle.com (Erik Gahlin) Date: Thu, 14 Feb 2013 14:47:54 +0100 Subject: RFR (XS) 8008089: Delete OS dependent check in JdkFinder.getExecutable() In-Reply-To: <511B6134.3010005@oracle.com> References: <511B6134.3010005@oracle.com> Message-ID: <511CEB0A.5040405@oracle.com> Looks good, but I'm no official reviewer. Erik Yekaterina Kantserova skrev 2013-02-13 10:47: > Hi everyone, > > This small fixconcerns jdk.testlibrary.JdkFinder utility class. The > check below is too OS dependent and should be deleted. > ... > binPath += File.separatorChar + "bin" + File.separatorChar + > executable; > File toolFile = new File(binPath); > ==> if (!toolFile.exists()) { > throw new RuntimeException(binPath + " does not exist"); > } > ... > > On windows if executable is specified as e.g. 'java', without '.exe', > the File exists() will fail. But it's still possible to run executable. > > > Webrev: > http://cr.openjdk.java.net/~ykantser/8008089/webrev.00/ > > Bug: > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8008089 > > Testing: > JPRT > > Thanks, > Katja -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130214/259d7422/attachment.html From staffan.larsen at oracle.com Thu Feb 14 06:18:09 2013 From: staffan.larsen at oracle.com (staffan.larsen at oracle.com) Date: Thu, 14 Feb 2013 14:18:09 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8004840: Jstack seems to output unnecessary information in 7u9 Message-ID: <20130214141814.44ED747A82@hg.openjdk.java.net> Changeset: 49618582fc5b Author: sla Date: 2013-02-14 13:08 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/49618582fc5b 8004840: Jstack seems to output unnecessary information in 7u9 Reviewed-by: dholmes, coleenp, sspitsyn, rbackman ! agent/src/share/classes/sun/jvm/hotspot/memory/CMSCollector.java ! agent/src/share/classes/sun/jvm/hotspot/memory/CompactibleFreeListSpace.java ! agent/src/share/classes/sun/jvm/hotspot/oops/MethodData.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java From mandy.chung at oracle.com Thu Feb 14 09:44:18 2013 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Thu, 14 Feb 2013 17:44:18 +0000 Subject: hg: jdk8/tl/langtools: 8006225: tools/jdeps/Basic.java failes with AssertionError Message-ID: <20130214174421.CF37B47A95@hg.openjdk.java.net> Changeset: 88286a36bb34 Author: mchung Date: 2013-02-14 09:43 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/88286a36bb34 8006225: tools/jdeps/Basic.java failes with AssertionError Reviewed-by: alanb + src/share/classes/com/sun/tools/jdeps/Analyzer.java ! src/share/classes/com/sun/tools/jdeps/Archive.java ! src/share/classes/com/sun/tools/jdeps/JdepsTask.java ! test/tools/jdeps/Basic.java From mike.duigou at oracle.com Thu Feb 14 09:55:14 2013 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Thu, 14 Feb 2013 17:55:14 +0000 Subject: hg: jdk8/tl/jdk: 8008167: IdentityHashMap.[keySet|values|entrySet].toArray speed-up Message-ID: <20130214175538.236EC47A96@hg.openjdk.java.net> Changeset: e57019d2f34a Author: mduigou Date: 2013-02-13 14:50 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e57019d2f34a 8008167: IdentityHashMap.[keySet|values|entrySet].toArray speed-up Reviewed-by: mduigou, martin Contributed-by: Peter Levart ! src/share/classes/java/util/IdentityHashMap.java From mandy.chung at oracle.com Thu Feb 14 11:09:30 2013 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Thu, 14 Feb 2013 19:09:30 +0000 Subject: hg: jdk8/tl/jdk: 8007736: VerifyError for use of static method in interface Message-ID: <20130214190943.2B08D47A98@hg.openjdk.java.net> Changeset: 1405ad6afb1e Author: bharadwaj Date: 2013-02-14 11:09 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1405ad6afb1e 8007736: VerifyError for use of static method in interface Reviewed-by: mchung ! src/share/native/common/check_code.c + test/vm/verifier/TestStaticIF.java From dmitry.degrave at oracle.com Thu Feb 14 13:51:11 2013 From: dmitry.degrave at oracle.com (dmitry.degrave at oracle.com) Date: Thu, 14 Feb 2013 21:51:11 +0000 Subject: hg: jdk8/tl/corba: 7199858: Marshal exception is wrong Message-ID: <20130214215111.D1D6247AA0@hg.openjdk.java.net> Changeset: e725dd195858 Author: dmeetry Date: 2013-02-15 01:49 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/e725dd195858 7199858: Marshal exception is wrong Reviewed-by: lancea ! src/share/classes/com/sun/corba/se/impl/corba/TypeCodeImpl.java From karen.kinnear at oracle.com Thu Feb 14 14:02:54 2013 From: karen.kinnear at oracle.com (karen.kinnear at oracle.com) Date: Thu, 14 Feb 2013 22:02:54 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8007736: VerifyError for static method in interface Message-ID: <20130214220256.4E38047AA1@hg.openjdk.java.net> Changeset: 3a531d40ad93 Author: acorn Date: 2013-02-14 14:33 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/3a531d40ad93 8007736: VerifyError for static method in interface Reviewed-by: dholmes, acorn Contributed-by: bharadwaj.yadavalli at oracle.com ! src/share/vm/classfile/verifier.cpp + test/runtime/8007736/TestStaticIF.java From xueming.shen at oracle.com Thu Feb 14 17:19:09 2013 From: xueming.shen at oracle.com (xueming.shen at oracle.com) Date: Fri, 15 Feb 2013 01:19:09 +0000 Subject: hg: jdk8/tl/jdk: 8008254: j.u.Calendar.JavatimeTest failed at TL b78 pit testing Message-ID: <20130215011921.2050947AB0@hg.openjdk.java.net> Changeset: 1ce1a307cded Author: sherman Date: 2013-02-15 01:17 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1ce1a307cded 8008254: j.u.Calendar.JavatimeTest failed at TL b78 pit testing Summary: to use j.t.ZoneId zone name to keep round-trip Reviewed-by: okutsu ! test/java/util/Calendar/JavatimeTest.java From david.holmes at oracle.com Thu Feb 14 23:19:27 2013 From: david.holmes at oracle.com (David Holmes) Date: Fri, 15 Feb 2013 17:19:27 +1000 Subject: RFR(S): 8008102: SA on OS X does not stop the attached process In-Reply-To: <757170B3-ED6D-4C76-989C-5790EC829AF0@oracle.com> References: <1038A172-74A2-409B-9A27-81AC880B8DCC@oracle.com> <511CBF20.5000107@oracle.com> <757170B3-ED6D-4C76-989C-5790EC829AF0@oracle.com> Message-ID: <511DE17F.8000008@oracle.com> On 14/02/2013 10:44 PM, Staffan Larsen wrote: > Here is an updated webrev: http://cr.openjdk.java.net/~sla/8008102/webrev.01/ > > This uses the code from linux (adapted to the OS X API:s) to call ptrace and make sure we are stopped by the right signal. Looks okay to me. Thanks, David > Thanks, > /Staffan > > On 14 feb 2013, at 13:04, Staffan Larsen wrote: > >> >> On 14 feb 2013, at 11:40, David Holmes wrote: >> >>> On 14/02/2013 1:05 AM, Staffan Larsen wrote: >>>> Please review the following change. >>>> >>>> When SA attaches to a JVM on OS X, it does not stop the process. If the JVM keeps running while SA inspects it can lead to all kinds of inconsistencies in SA. The proposed solution uses ptrace to attach to the process to keep it from running. Ptrace works a little bit differently on OS X, than on linux. For example, there is no need to attach to all threads, just attaching to the main process is enough. Additionally, the race that was recently found on linux [1] does not seem to be present on OS X (or at least I have not been able to reproduce it), so I have omitted that code. >>> >>> I would question how you can know for certain that the signal race [1] can not happen on OSX? Would it not be prudent (and lend itself to future code sharing) to follow the same approach as now used on Linux? >> >> I did not say I was certain, merely that I have not been able to reproduce it. I think there are big differences in how ptrace is implemented on Linux and OS X that explains why I don't see the same race. Anyway, you are right that we should be prudent and employ the same technique on OS X. New webrev coming. >> >>> I kind of dismayed that the OSX SA support has been found to be in such poor shape. Makes me wonder what else in that port is lacking robustness. >> >> So do I... >> >> /Staffan >> >>> >>> David >>> >>>> webrev: http://cr.openjdk.java.net/~sla/8008102/webrev.00/ >>>> >>>> Thanks, >>>> /Staffan >>>> >>>> [1] http://mail.openjdk.java.net/pipermail/serviceability-dev/2013-February/008432.html >>>> >> > From david.holmes at oracle.com Fri Feb 15 01:05:49 2013 From: david.holmes at oracle.com (david.holmes at oracle.com) Date: Fri, 15 Feb 2013 09:05:49 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8007639: Workaround for ccache in vm.make is incorrect Message-ID: <20130215090552.8FA3247AC2@hg.openjdk.java.net> Changeset: e7e9e08147fc Author: mikael Date: 2013-02-14 12:36 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/e7e9e08147fc 8007639: Workaround for ccache in vm.make is incorrect Summary: Fixed makefile logic to correctly special case JRE_RELEASE_VERSION and vm_version.o Reviewed-by: dholmes, erikj ! make/bsd/makefiles/vm.make ! make/linux/makefiles/vm.make ! make/solaris/makefiles/vm.make From john.coomes at oracle.com Fri Feb 15 02:51:08 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 15 Feb 2013 10:51:08 +0000 Subject: hg: hsx/hotspot-rt/corba: Added tag jdk8-b77 for changeset 35684a40c584 Message-ID: <20130215105110.6B98A47ADE@hg.openjdk.java.net> Changeset: 27d6368ae8ba Author: katleman Date: 2013-02-14 11:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/corba/rev/27d6368ae8ba Added tag jdk8-b77 for changeset 35684a40c584 ! .hgtags From john.coomes at oracle.com Fri Feb 15 02:51:04 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 15 Feb 2013 10:51:04 +0000 Subject: hg: hsx/hotspot-rt: Added tag jdk8-b77 for changeset 3933eebc659d Message-ID: <20130215105104.CBB1047ADD@hg.openjdk.java.net> Changeset: 45dcccc6d221 Author: katleman Date: 2013-02-14 11:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/45dcccc6d221 Added tag jdk8-b77 for changeset 3933eebc659d ! .hgtags From john.coomes at oracle.com Fri Feb 15 02:51:14 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 15 Feb 2013 10:51:14 +0000 Subject: hg: hsx/hotspot-rt/jaxp: 3 new changesets Message-ID: <20130215105124.D39D047ADF@hg.openjdk.java.net> Changeset: f0ad3747b40e Author: emc Date: 2013-02-05 14:56 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/f0ad3747b40e 8007389: Remove uses of _ as identifier in jaxp Reviewed-by: lancea, joehw ! src/javax/xml/validation/SchemaFactoryFinder.java ! src/javax/xml/xpath/XPathFactoryFinder.java Changeset: 573e789c187a Author: lana Date: 2013-02-11 16:12 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/573e789c187a Merge Changeset: 00958c5a7070 Author: katleman Date: 2013-02-14 11:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/00958c5a7070 Added tag jdk8-b77 for changeset 573e789c187a ! .hgtags From john.coomes at oracle.com Fri Feb 15 02:51:30 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 15 Feb 2013 10:51:30 +0000 Subject: hg: hsx/hotspot-rt/jaxws: Added tag jdk8-b77 for changeset 64dfba1bad16 Message-ID: <20130215105134.403E747AE0@hg.openjdk.java.net> Changeset: 391de4c992d1 Author: katleman Date: 2013-02-14 11:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxws/rev/391de4c992d1 Added tag jdk8-b77 for changeset 64dfba1bad16 ! .hgtags From john.coomes at oracle.com Fri Feb 15 02:52:31 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 15 Feb 2013 10:52:31 +0000 Subject: hg: hsx/hotspot-rt/jdk: 40 new changesets Message-ID: <20130215110051.9A56347AE1@hg.openjdk.java.net> Changeset: e63e7ee18412 Author: bae Date: 2013-02-01 20:06 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e63e7ee18412 8004801: The image of BufferedImage.TYPE_INT_ARGB is blank. Reviewed-by: prr ! src/share/native/sun/awt/image/awt_parseImage.c ! src/solaris/native/sun/awt/awt_Mlib.c ! src/solaris/native/sun/awt/awt_Mlib.h ! src/windows/native/sun/windows/awt_Mlib.cpp ! src/windows/native/sun/windows/awt_Mlib.h + test/java/awt/image/LookupOp/IntImageReverseTest.java Changeset: 1df2944db538 Author: serb Date: 2013-02-04 19:50 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/1df2944db538 8004821: Graphics2D.drawPolygon() fails with IllegalPathStateException Reviewed-by: prr, flar ! src/share/classes/sun/java2d/pipe/PixelToShapeConverter.java + test/sun/java2d/pipe/Test8004821.java Changeset: 8fc3e4015b09 Author: jgodinez Date: 2013-02-04 12:04 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/8fc3e4015b09 8005052: [parfait] #416 X11SurfaceData.c UNINITIALISED OR MISSING RETURN VALUE 8005054: [parfait] #417 X11SurfaceData.c UNINITIALISED OR MISSING RETURN VALUE Reviewed-by: prr, vadim Contributed-by: jia-hong.chen at oracle.com ! src/solaris/native/sun/java2d/x11/X11SurfaceData.c Changeset: fd61fcc1a5a9 Author: leonidr Date: 2013-01-31 18:25 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/fd61fcc1a5a9 8007006: [macosx] Closing subwindow loses main window menus Reviewed-by: anthony ! src/macosx/native/sun/awt/AWTWindow.m Changeset: 452deb976c92 Author: ptbrunet Date: 2013-01-31 18:51 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/452deb976c92 7179482: Component.accessibleContext and JComponent.accessibleContext refactoring Reviewed-by: art, anthony, alexsch ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java ! src/share/classes/javax/swing/JComponent.java Changeset: 0b56a169295f Author: pchelko Date: 2013-02-04 13:54 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/0b56a169295f 8005405: [macosx] Drag and Drop: wrong animation when dropped outside any drop target. Summary: Changed the calculation of the drag image offset Reviewed-by: serb, kizune ! src/macosx/classes/sun/lwawt/macosx/CDragSourceContextPeer.java ! src/macosx/native/sun/awt/CDragSource.m Changeset: 171443b1eb3b Author: kshefov Date: 2013-02-04 16:01 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/171443b1eb3b 7077259: [TEST_BUG] [macosx] Test work correctly only when default L&F is Metal Reviewed-by: serb, alexsch ! test/javax/swing/JSlider/4252173/bug4252173.java ! test/javax/swing/JSpinner/6532833/bug6532833.java ! test/javax/swing/plaf/metal/MetalSliderUI/Test6657026.java Changeset: 0e929be3a9da Author: lana Date: 2013-02-05 11:10 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/0e929be3a9da Merge Changeset: a343d280bd8c Author: jfranck Date: 2013-01-29 10:32 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/a343d280bd8c 8004698: Implement Core Reflection for Type Annotations Reviewed-by: darcy ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/System.java + src/share/classes/java/lang/reflect/AnnotatedArrayType.java + src/share/classes/java/lang/reflect/AnnotatedParameterizedType.java + src/share/classes/java/lang/reflect/AnnotatedType.java + src/share/classes/java/lang/reflect/AnnotatedTypeVariable.java + src/share/classes/java/lang/reflect/AnnotatedWildcardType.java ! src/share/classes/java/lang/reflect/Constructor.java ! src/share/classes/java/lang/reflect/Executable.java ! src/share/classes/java/lang/reflect/Field.java ! src/share/classes/java/lang/reflect/Method.java ! src/share/classes/java/lang/reflect/ReflectAccess.java ! src/share/classes/java/lang/reflect/TypeVariable.java ! src/share/classes/sun/misc/JavaLangAccess.java ! src/share/classes/sun/reflect/LangReflectAccess.java ! src/share/classes/sun/reflect/ReflectionFactory.java + src/share/classes/sun/reflect/annotation/AnnotatedTypeFactory.java ! src/share/classes/sun/reflect/annotation/AnnotationParser.java + src/share/classes/sun/reflect/annotation/TypeAnnotation.java + src/share/classes/sun/reflect/annotation/TypeAnnotationParser.java ! src/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java ! src/share/javavm/export/jvm.h ! src/share/native/java/lang/Class.c + test/java/lang/annotation/TypeAnnotationReflection.java + test/java/lang/annotation/TypeParamAnnotation.java Changeset: 5097fe015763 Author: jfranck Date: 2013-01-31 10:10 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/5097fe015763 8005712: Simplify support for repeating annotations in j.l.r.AnnotatedElement 8004919: AnnotationSupport uses possibly half-constructed AnnotationType instances Summary: Implements the simplified semantics for repeating annotations and removes the incorrect obtaining of an AnnotationType Reviewed-by: darcy, abuckley ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/System.java ! src/share/classes/java/lang/reflect/AnnotatedElement.java ! src/share/classes/java/lang/reflect/Executable.java ! src/share/classes/java/lang/reflect/Field.java ! src/share/classes/java/lang/reflect/Parameter.java ! src/share/classes/sun/misc/JavaLangAccess.java ! src/share/classes/sun/reflect/annotation/AnnotationSupport.java ! test/java/lang/annotation/repeatingAnnotations/RepeatedUnitTest.java ! test/java/lang/annotation/repeatingAnnotations/subpackage/Containee.java ! test/java/lang/annotation/repeatingAnnotations/subpackage/Container.java ! test/java/lang/annotation/repeatingAnnotations/subpackage/InheritedContainee.java ! test/java/lang/annotation/repeatingAnnotations/subpackage/InheritedContainer.java Changeset: 3f766f58c48a Author: dbuck Date: 2013-01-31 10:55 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/3f766f58c48a 7042126: (alt-rt) HashMap.clone implementation should be re-examined Summary: Test case for cr7042126. Issue only found in OracleJDK, but test case is valid for OpenJDK as well Reviewed-by: mduigou + test/java/util/HashMap/HashMapCloneLeak.java Changeset: 857d99bef21d Author: sherman Date: 2013-01-31 11:09 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/857d99bef21d 8005394: Base64.Decoder/Encoder.wrap(XStream) don't throw NPE for null args passed Summary: to check null for dec/enc.wrap methods Reviewed-by: alanb ! src/share/classes/java/util/Base64.java ! test/java/util/Base64/TestBase64.java Changeset: 278397f752da Author: darcy Date: 2013-01-31 12:13 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/278397f752da 8005832: Remove java.lang.annotation.{ContainedBy, ContainerFor} annotation types Reviewed-by: mduigou - src/share/classes/java/lang/annotation/ContainedBy.java - src/share/classes/java/lang/annotation/ContainerFor.java ! src/share/classes/java/lang/annotation/InvalidContainerAnnotationError.java Changeset: a5f38e811ab0 Author: darcy Date: 2013-01-31 12:23 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/a5f38e811ab0 8007115: Refactor regression tests for java.lang.reflect.Parameter Reviewed-by: emc ! test/java/lang/reflect/Parameter/WithoutParameters.java Changeset: e5ce312a5b10 Author: sherman Date: 2013-01-31 13:13 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e5ce312a5b10 8007298: Base64.getMimeDecoder().decode() throws IAE for a single non-base64 character 8006526: Base64.Decoder.decode(String) spec contains a copy-paste mistake Summary: to ignore single non-base64 char in mime decoding Reviewed-by: alanb ! src/share/classes/java/util/Base64.java ! test/java/util/Base64/TestBase64.java Changeset: cff8d7768d72 Author: mduigou Date: 2013-01-31 13:27 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/cff8d7768d72 8006709: Add minimal support of MacOSX platform for NetBeans Projects Summary: Adds support for MacOSX platform and architecture detection. Other minor updates (-source/target 1.8) Reviewed-by: ohair + make/netbeans/common/architectures/arch-x86_64.properties + make/netbeans/common/architectures/name-Macosx.properties ! make/netbeans/common/java-data-native.ent ! make/netbeans/common/java-data-no-native.ent ! make/netbeans/common/make.xml ! make/netbeans/common/shared.xml Changeset: 771551bc9e02 Author: lana Date: 2013-01-31 10:22 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/771551bc9e02 Merge Changeset: e822b4d50a5b Author: lana Date: 2013-01-31 14:10 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e822b4d50a5b Merge - src/share/classes/java/lang/annotation/ContainedBy.java - src/share/classes/java/lang/annotation/ContainerFor.java Changeset: a09a37cff333 Author: mchung Date: 2013-01-31 14:29 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/a09a37cff333 6355704: (fmt) %f formatting of BigDecimals is incorrect Reviewed-by: darcy Contributed-by: brian.burkhalter at oracle.com ! test/java/util/Formatter/Basic-X.java.template ! test/java/util/Formatter/BasicBigDecimal.java Changeset: d2495b9984fa Author: weijun Date: 2013-02-01 07:39 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/d2495b9984fa 8006564: Test sun/security/util/Oid/S11N.sh fails with timeout on Linux 32-bit Reviewed-by: alanb + test/sun/security/util/Oid/S11N.java - test/sun/security/util/Oid/S11N.sh - test/sun/security/util/Oid/SerialTest.java Changeset: 17b643956999 Author: chegar Date: 2013-02-01 06:51 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/17b643956999 8006395: Race in async socket close on Linux Reviewed-by: alanb, dsamersoff ! src/solaris/native/java/net/linux_close.c + test/java/net/Socket/asyncClose/Race.java Changeset: ea8f3ca83501 Author: ksrini Date: 2013-02-01 07:25 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/ea8f3ca83501 8006536: [launcher] removes trailing slashes on arguments Reviewed-by: ksrini, akhil Contributed-by: jviswana at linux.vnet.ibm.com ! src/windows/bin/cmdtoargs.c ! test/tools/launcher/Arrrghs.java Changeset: 5e47ee4d7196 Author: alanb Date: 2013-02-01 21:01 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/5e47ee4d7196 5035569: Formatter should document that %a conversion unsupported for BigDecimal args Reviewed-by: darcy Contributed-by: brian.burkhalter at oracle.com ! src/share/classes/java/util/Formatter.java Changeset: cba578db5f39 Author: darcy Date: 2013-02-01 19:30 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/cba578db5f39 6964528: Double.toHexString(double d) String manipulation with + in an append of StringBuilder Reviewed-by: shade ! src/share/classes/java/lang/Double.java Changeset: c1aaa8451547 Author: ksrini Date: 2013-02-01 22:12 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c1aaa8451547 8003549: (pack200) assertion errors when processing lambda class files with IMethods Summary: add more check for opcode, sketch provided by jrose Reviewed-by: jrose ! src/share/classes/com/sun/java/util/jar/pack/Attribute.java ! src/share/classes/com/sun/java/util/jar/pack/ClassReader.java ! src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java ! src/share/classes/com/sun/java/util/jar/pack/Instruction.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/PropMap.java ! src/share/classes/com/sun/java/util/jar/pack/Utils.java ! test/ProblemList.txt + test/tools/pack200/InstructionTests.java ! test/tools/pack200/pack200-verifier/src/xmlkit/ClassReader.java Changeset: 6c88a12ea834 Author: ksrini Date: 2013-02-01 22:18 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/6c88a12ea834 8007428: [launcher] add tools/launcher/FXLauncherTest.java to ProblemList.txt Reviewed-by: mchung ! test/ProblemList.txt Changeset: ee83319029a5 Author: chegar Date: 2013-02-02 17:15 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/ee83319029a5 8007322: untangle ftp protocol from general networking URL tests Reviewed-by: alanb ! test/java/net/URL/Constructor.java ! test/java/net/URL/HandlerLoop.java ! test/java/net/URL/Test.java ! test/java/net/URL/URIToURLTest.java - test/java/net/URL/abnormal_http_urls - test/java/net/URL/ftp_urls - test/java/net/URL/jar_urls - test/java/net/URL/normal_http_urls - test/java/net/URL/runconstructor.sh - test/java/net/URL/share_file_urls - test/java/net/URL/win32_file_urls ! test/java/net/URLConnection/RequestProperties.java ! test/java/net/URLConnection/RequestPropertyValues.java + test/sun/net/ftp/EncDec.doc + test/sun/net/ftp/MarkResetTest.java + test/sun/net/ftp/MarkResetTest.sh - test/sun/net/www/EncDec.doc - test/sun/net/www/MarkResetTest.java - test/sun/net/www/MarkResetTest.sh ! test/sun/net/www/http/HttpClient/ProxyTest.java Changeset: 25831e7009c4 Author: ksrini Date: 2013-02-02 12:08 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/25831e7009c4 8007135: tools/launcher/VersionCheck.java failing with new tool jabswitch Reviewed-by: ksrini, mduigou Contributed-by: ragini.prasad at oracle.com ! test/tools/launcher/VersionCheck.java Changeset: 308d1362b60a Author: dmeetry Date: 2013-02-03 18:20 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/308d1362b60a 6471906: java.lang.NegativeArraySizeException in tenToThe Reviewed-by: darcy Contributed-by: brian.burkhalter at oracle.com ! src/share/classes/java/math/BigDecimal.java Changeset: 962d6612cace Author: dsamersoff Date: 2013-02-03 21:39 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/962d6612cace 8002048: Protocol to discovery of manageable Java processes on a network Summary: Introduce a protocol to discover manageble Java instances across a network subnet, JDP Reviewed-by: sla, dfuchs ! src/share/classes/sun/management/Agent.java + src/share/classes/sun/management/jdp/JdpBroadcaster.java + src/share/classes/sun/management/jdp/JdpController.java + src/share/classes/sun/management/jdp/JdpException.java + src/share/classes/sun/management/jdp/JdpGenericPacket.java + src/share/classes/sun/management/jdp/JdpJmxPacket.java + src/share/classes/sun/management/jdp/JdpPacket.java + src/share/classes/sun/management/jdp/JdpPacketReader.java + src/share/classes/sun/management/jdp/JdpPacketWriter.java + src/share/classes/sun/management/jdp/package-info.java + test/sun/management/jdp/JdpClient.java + test/sun/management/jdp/JdpDoSomething.java + test/sun/management/jdp/JdpTest.sh + test/sun/management/jdp/JdpUnitTest.java Changeset: 5bf1c9e6be60 Author: vinnie Date: 2013-02-04 17:20 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/5bf1c9e6be60 8006994: Cleanup PKCS12 tests to ensure streams get closed Reviewed-by: mullan ! test/java/security/KeyStore/PBETest.java ! test/sun/security/pkcs12/StorePasswordTest.java ! test/sun/security/pkcs12/StoreSecretKeyTest.java ! test/sun/security/pkcs12/StoreTrustedCertTest.java Changeset: e202f43a8b8a Author: sherman Date: 2013-02-04 11:58 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e202f43a8b8a 8006295: Base64.Decoder.wrap(java.io.InputStream) returns InputStream which throws unspecified IOException on attempt to decode invalid Base64 byte stream 8006315: Base64.Decoder decoding methods are not consistent in treating non-padded data 8006530: Base64.getMimeDecoder().decode() throws exception for non-base64 character after adding = Summary: updated the spec to describe the expected behave explicitly and the implementation to follow Reviewed-by: alanb, chegar, lancea ! src/share/classes/java/util/Base64.java ! test/java/util/Base64/TestBase64.java Changeset: e04467fa13af Author: darcy Date: 2013-02-04 17:56 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e04467fa13af 8007113: Upgrade AnnotatedElement.isAnnotionPresent to be a default method Reviewed-by: chegar, jfranck ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/Package.java ! src/share/classes/java/lang/reflect/AccessibleObject.java ! src/share/classes/java/lang/reflect/AnnotatedElement.java ! src/share/classes/java/lang/reflect/Parameter.java ! src/share/classes/sun/reflect/annotation/AnnotatedTypeFactory.java ! src/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java Changeset: fd37f0846653 Author: lana Date: 2013-02-04 22:37 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/fd37f0846653 Merge Changeset: 9ffcd758e2be Author: jbachorik Date: 2013-02-05 12:28 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/9ffcd758e2be 7170447: Intermittent DeadListenerTest.java failure Summary: Due to asynchronous nature of processing server notifications it may happen that an "unregister" notification ha$ Reviewed-by: sjiang ! test/javax/management/remote/mandatory/notif/DeadListenerTest.java Changeset: 3119f0ebb58d Author: jbachorik Date: 2013-02-05 12:36 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/3119f0ebb58d 8005791: Remove java.beans.* imports from com.sun.jmx.mbeanserver.Introspector Reviewed-by: rbackman ! src/share/classes/com/sun/jmx/mbeanserver/Introspector.java Changeset: e526277b51be Author: vinnie Date: 2013-02-05 14:25 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e526277b51be 8007483: attributes are ignored when loading keys from a PKCS12 keystore Reviewed-by: mullan ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java ! test/sun/security/pkcs12/StorePasswordTest.java Changeset: f26b539bf1d5 Author: lana Date: 2013-02-05 11:11 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/f26b539bf1d5 Merge - src/share/classes/java/lang/annotation/ContainedBy.java - src/share/classes/java/lang/annotation/ContainerFor.java - test/java/net/URL/abnormal_http_urls - test/java/net/URL/ftp_urls - test/java/net/URL/jar_urls - test/java/net/URL/normal_http_urls - test/java/net/URL/runconstructor.sh - test/java/net/URL/share_file_urls - test/java/net/URL/win32_file_urls - test/sun/net/www/EncDec.doc - test/sun/net/www/MarkResetTest.java - test/sun/net/www/MarkResetTest.sh - test/sun/security/util/Oid/S11N.sh - test/sun/security/util/Oid/SerialTest.java Changeset: b2fc8e31cecc Author: lana Date: 2013-02-11 16:14 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/b2fc8e31cecc Merge - src/share/classes/java/lang/annotation/ContainedBy.java - src/share/classes/java/lang/annotation/ContainerFor.java - test/java/net/URL/abnormal_http_urls - test/java/net/URL/ftp_urls - test/java/net/URL/jar_urls - test/java/net/URL/normal_http_urls - test/java/net/URL/runconstructor.sh - test/java/net/URL/share_file_urls - test/java/net/URL/win32_file_urls - test/sun/net/www/EncDec.doc - test/sun/net/www/MarkResetTest.java - test/sun/net/www/MarkResetTest.sh - test/sun/security/util/Oid/S11N.sh - test/sun/security/util/Oid/SerialTest.java Changeset: c1304eb051f6 Author: katleman Date: 2013-02-14 11:44 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c1304eb051f6 Added tag jdk8-b77 for changeset b2fc8e31cecc ! .hgtags From john.coomes at oracle.com Fri Feb 15 03:02:41 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 15 Feb 2013 11:02:41 +0000 Subject: hg: hsx/hotspot-rt/langtools: 21 new changesets Message-ID: <20130215110339.43F4D47AE2@hg.openjdk.java.net> Changeset: cbcd9b484759 Author: vromero Date: 2013-01-27 19:38 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/cbcd9b484759 8006944: javac, combo tests should print out the number of threads used Reviewed-by: mcimadamore ! test/tools/javac/lib/JavacTestingAbstractThreadedTest.java Changeset: 950d8195a5a4 Author: jjg Date: 2013-01-30 09:40 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/950d8195a5a4 8007096: DocLint parsing problems with some comments Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/parser/DocCommentParser.java ! src/share/classes/com/sun/tools/javac/parser/JavadocTokenizer.java + test/tools/doclint/EndWithIdentifierTest.java + test/tools/doclint/EndWithIdentifierTest.out + test/tools/doclint/UnfinishedInlineTagTest.java + test/tools/doclint/UnfinishedInlineTagTest.out Changeset: c924291865e5 Author: jjg Date: 2013-01-30 09:47 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/c924291865e5 8007034: debug printer for javac internals Reviewed-by: mcimadamore + test/tools/javac/lib/DPrinter.java Changeset: 8e4c22acebeb Author: darcy Date: 2013-01-31 12:16 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/8e4c22acebeb 8007313: Remove use of {ContainerFor/ContainedBy} from langtools Reviewed-by: jjg ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest1.java ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest2.java ! test/tools/javac/annotations/typeAnnotations/newlocations/RepeatingTypeAnnotations.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/Driver.java Changeset: b7cb3d7ade25 Author: lana Date: 2013-01-31 10:23 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/b7cb3d7ade25 Merge Changeset: 7b269e916e06 Author: lana Date: 2013-01-31 14:10 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/7b269e916e06 Merge Changeset: bec996065c45 Author: darcy Date: 2013-01-31 18:58 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/bec996065c45 8007351: Malformed copyright statements in typeAnnotations test directory Reviewed-by: jjg ! test/tools/javac/annotations/typeAnnotations/TargetTypes.java ! test/tools/javac/annotations/typeAnnotations/TypeProcOnly.java ! test/tools/javac/annotations/typeAnnotations/api/AnnotatedArrayOrder.java ! test/tools/javac/annotations/typeAnnotations/api/ArrayCreationTree.java ! test/tools/javac/annotations/typeAnnotations/api/ArrayPositionConsistency.java ! test/tools/javac/annotations/typeAnnotations/classfile/ClassfileTestHelper.java ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest1.java ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest2.java ! test/tools/javac/annotations/typeAnnotations/classfile/NewTypeArguments.java ! test/tools/javac/annotations/typeAnnotations/classfile/NoTargetAnnotations.java ! test/tools/javac/annotations/typeAnnotations/classfile/TypeCasts.java ! test/tools/javac/annotations/typeAnnotations/classfile/Wildcards.java ! test/tools/javac/annotations/typeAnnotations/failures/target/DotClass.java ! test/tools/javac/annotations/typeAnnotations/newlocations/Varargs.java ! test/tools/javac/annotations/typeAnnotations/packageanno/PackageProcessor.java ! test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/Anno.java ! test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/MyClass.java ! test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/package-info.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/ClassExtends.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/ClassTypeParam.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/Constructors.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/Driver.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/ExceptionParameters.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/Fields.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/FromSpecification.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodParameters.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodReceivers.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodReturns.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodThrows.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodTypeParam.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MultiCatch.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/NestedTypes.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/NewObjects.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/ReferenceInfoUtil.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/RepeatingTypeAnnotations.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/TypeCasts.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/TypeTests.java Changeset: 3ab64e4293a1 Author: jjg Date: 2013-01-31 19:19 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/3ab64e4293a1 8007329: minor issues in impl class hierarchry for DCTree.* classes Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/tree/DCTree.java Changeset: 3d97a9a7a82b Author: jjg Date: 2013-01-31 19:31 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/3d97a9a7a82b 8004353: Generated html is wrong for overview.html; content has incorrect css footer class Reviewed-by: jjg Contributed-by: roger.riggs at oracle.com ! src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java Changeset: 8590c20af3ce Author: jjg Date: 2013-02-01 08:33 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/8590c20af3ce 8007306: DPrinter: improve display of impl-class, internal tag/kind, and external tag/kind Reviewed-by: mcimadamore ! test/tools/javac/lib/DPrinter.java Changeset: 6df931ce1a81 Author: jjg Date: 2013-02-01 08:36 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/6df931ce1a81 8007305: DPrinter: provide better usage message Reviewed-by: mcimadamore ! test/tools/javac/lib/DPrinter.java Changeset: 0b1c88705568 Author: jjg Date: 2013-02-01 12:01 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/0b1c88705568 8007344: javac may not make tree end positions and/or doc comments available to processors and listeners Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java + test/tools/javac/api/8007344/Test.java Changeset: 55cca2f38ee6 Author: darcy Date: 2013-02-01 13:01 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/55cca2f38ee6 8001614: Include annotation type to documented supported-ness Reviewed-by: alanb, jjg, tbell ! make/Makefile-classic ! make/build.properties + src/share/classes/jdk/Supported.java Changeset: 4cc73ec94686 Author: vromero Date: 2013-02-02 21:04 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/4cc73ec94686 8005075: Pool.Method, and Pool.Variable redundant Symbol field should be removed Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javac/jvm/Pool.java Changeset: a51a8dac0a2f Author: vromero Date: 2013-02-03 02:31 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/a51a8dac0a2f 7199823: javac generates inner class that can't be verified Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Lower.java + test/tools/javac/7199823/InnerClassCannotBeVerified.java Changeset: 1690928dc560 Author: jjg Date: 2013-02-04 15:30 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/1690928dc560 8007490: NPE from DocumentationTool.run Reviewed-by: darcy ! src/share/classes/com/sun/tools/javadoc/api/JavadocTool.java ! test/tools/javadoc/api/basic/RunTest.java Changeset: 62d91c13dce2 Author: jjg Date: 2013-02-04 18:14 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/62d91c13dce2 8007492: DocumentationTool cannot locate standard doclet when invoked from JRE Reviewed-by: darcy ! src/share/classes/com/sun/tools/javadoc/api/JavadocTool.java Changeset: 10619513f51a Author: lana Date: 2013-02-04 22:38 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/10619513f51a Merge Changeset: 2480aec9a3f1 Author: jjh Date: 2013-02-05 18:55 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/2480aec9a3f1 8007504: Remove @ignore from tests that no longer need it Reviewed-by: mcimadamore ! test/tools/javac/api/T6306137.java ! test/tools/javac/defaultMethods/TestNoBridgeOnDefaults.java ! test/tools/javac/lambda/LambdaCapture06.java ! test/tools/javac/lambda/LambdaExpr15.java Changeset: 89c664151689 Author: lana Date: 2013-02-11 16:15 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/89c664151689 Merge Changeset: bc24411bcc37 Author: katleman Date: 2013-02-14 11:44 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/bc24411bcc37 Added tag jdk8-b77 for changeset 89c664151689 ! .hgtags From chris.hegarty at oracle.com Fri Feb 15 03:07:39 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Fri, 15 Feb 2013 11:07:39 +0000 Subject: hg: jdk8/tl/jdk: 8008223: java/net/BindException/Test.java fails rarely Message-ID: <20130215110832.15E1847AE4@hg.openjdk.java.net> Changeset: 048637b40787 Author: chegar Date: 2013-02-15 11:06 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/048637b40787 8008223: java/net/BindException/Test.java fails rarely Reviewed-by: khazra, alanb ! test/java/net/BindException/Test.java From staffan.larsen at oracle.com Fri Feb 15 03:17:58 2013 From: staffan.larsen at oracle.com (staffan.larsen at oracle.com) Date: Fri, 15 Feb 2013 11:17:58 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 2 new changesets Message-ID: <20130215111805.369F747AE5@hg.openjdk.java.net> Changeset: 5d5c577296fd Author: sla Date: 2013-02-15 08:54 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/5d5c577296fd 8008102: SA on OS X does not stop the attached process Reviewed-by: dholmes, rbackman ! agent/src/os/bsd/MacosxDebuggerLocal.m Changeset: f35f1fbab3e1 Author: sla Date: 2013-02-15 10:08 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/f35f1fbab3e1 Merge From jonathan.gibbons at oracle.com Fri Feb 15 08:29:20 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Fri, 15 Feb 2013 16:29:20 +0000 Subject: hg: jdk8/tl/langtools: 8007052: javap should include the descriptor for a method in verbose mode Message-ID: <20130215162925.78AF547AEC@hg.openjdk.java.net> Changeset: 040f02711b73 Author: jjg Date: 2013-02-15 08:28 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/040f02711b73 8007052: javap should include the descriptor for a method in verbose mode Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javap/ClassWriter.java ! src/share/classes/com/sun/tools/javap/JavapTask.java ! src/share/classes/com/sun/tools/javap/Options.java + test/tools/javap/DescriptorTest.java From maurizio.cimadamore at oracle.com Fri Feb 15 08:38:04 2013 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 15 Feb 2013 16:38:04 +0000 Subject: hg: jdk8/tl/langtools: 6 new changesets Message-ID: <20130215163819.E60CC47AEE@hg.openjdk.java.net> Changeset: 0baaae675b19 Author: mcimadamore Date: 2013-02-15 16:28 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/0baaae675b19 8006749: compiler does not allow Object protected methods to be used in lambda Summary: Check.checkFunctionalInterface should take into account 'fake' override Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/lambda/LambdaConv26.java Changeset: f6e667f52af4 Author: mcimadamore Date: 2013-02-15 16:28 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/f6e667f52af4 8007285: AbstractMethodError instead of compile-time error when method reference with super and abstract Summary: Missing abstractness check on super rmethod references Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java + test/tools/javac/lambda/MethodReference62.java + test/tools/javac/lambda/MethodReference62.out Changeset: 4ff468de829d Author: mcimadamore Date: 2013-02-15 16:29 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/4ff468de829d 8007462: Fix provisional applicability for method references Summary: Add speculative arity-based check to rule out potential candidates when stuck reference is passed to method Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/diags/examples/IncompatibleArgTypesInMethodRef.java + test/tools/javac/lambda/TargetType60.java + test/tools/javac/lambda/TargetType60.out Changeset: 3cd997b9fd84 Author: mcimadamore Date: 2013-02-15 16:30 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/3cd997b9fd84 8007535: Compiler crashes on @FunctionalInterface used on interface with two inherited methods with same signatures Summary: Bad check in Types.interfaceCandidates Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java + test/tools/javac/lambda/FunctionalInterfaceAnno02.java Changeset: 186023614cd3 Author: mcimadamore Date: 2013-02-15 16:31 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/186023614cd3 8007427: Annotation element as '_' gives compiler error instead of a warning 8007401: Write test to check for generation of warnings when '_' is used as an identifier Summary: Extended identifier production not used in annotation values Reviewed-by: jjg Contributed-by: sonali.goel at oracle.com ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java + test/tools/javac/lambda/IdentifierTest.java + test/tools/javac/lambda/IdentifierTest.out Changeset: 258c72fa7fa2 Author: mcimadamore Date: 2013-02-15 16:37 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/258c72fa7fa2 Merge From maurizio.cimadamore at oracle.com Fri Feb 15 10:13:23 2013 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 15 Feb 2013 18:13:23 +0000 Subject: hg: jdk8/tl/langtools: 8008309: TargetType60 fails because of bad golden file Message-ID: <20130215181326.4143947AFE@hg.openjdk.java.net> Changeset: da2f7dd53915 Author: mcimadamore Date: 2013-02-15 18:13 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/da2f7dd53915 8008309: TargetType60 fails because of bad golden file Summary: bad golden file Reviewed-by: jjg ! test/tools/javac/lambda/TargetType60.out From jonathan.gibbons at oracle.com Fri Feb 15 11:26:16 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Fri, 15 Feb 2013 19:26:16 +0000 Subject: hg: jdk8/tl/langtools: 8008313: 8007052 breaks test/tools/javap/MethodParameters.java Message-ID: <20130215192621.D6DDB47B01@hg.openjdk.java.net> Changeset: 9fb4f223a90d Author: jjg Date: 2013-02-15 11:26 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/9fb4f223a90d 8008313: 8007052 breaks test/tools/javap/MethodParameters.java Reviewed-by: darcy ! test/tools/javap/MethodParameters.java From dmitry.samersoff at oracle.com Fri Feb 15 12:32:29 2013 From: dmitry.samersoff at oracle.com (dmitry.samersoff at oracle.com) Date: Fri, 15 Feb 2013 20:32:29 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 26 new changesets Message-ID: <20130215203320.1610147B13@hg.openjdk.java.net> Changeset: 20b605466ccb Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/20b605466ccb Added tag jdk8-b75 for changeset 6778d0b16593 ! .hgtags Changeset: da53cb17186a Author: katleman Date: 2013-02-07 12:32 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/da53cb17186a Added tag jdk8-b76 for changeset 20b605466ccb ! .hgtags Changeset: 412d722168bc Author: amurillo Date: 2013-02-08 08:07 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/412d722168bc Merge - agent/src/share/classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java - make/solaris/makefiles/kernel.make - test/runtime/7158988/TestFieldMonitor.sh Changeset: cdb46031e718 Author: amurillo Date: 2013-02-08 08:07 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/cdb46031e718 Added tag hs25-b18 for changeset 412d722168bc ! .hgtags Changeset: 1a0174612b49 Author: amurillo Date: 2013-02-08 08:16 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/1a0174612b49 8007801: new hotspot build - hs25-b19 Reviewed-by: jcoomes ! make/hotspot_version Changeset: deb43b8a436e Author: sspitsyn Date: 2013-02-13 08:42 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/deb43b8a436e Merge Changeset: bce1ac447f6b Author: johnc Date: 2013-02-06 14:50 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/bce1ac447f6b 7052429: G1: Avoid unnecessary scanning of humongous regions during concurrent marking Summary: Skip unnecessary scanning of bitmap for unmarked humongous objects/regions. Reviewed-by: jwilhelm, johnc Contributed-by: Tao Mao ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/runtime/globals.hpp Changeset: f64ffbf81af5 Author: jwilhelm Date: 2013-02-07 15:51 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/f64ffbf81af5 8006432: Ratio flags should be unsigned Summary: Flags changed to be of uintx type Reviewed-by: johnc, tamao ! src/cpu/zero/vm/shark_globals_zero.hpp ! src/os_cpu/bsd_x86/vm/globals_bsd_x86.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: 5d8325eb8240 Author: brutisso Date: 2013-02-07 22:04 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/5d8325eb8240 Merge ! src/share/vm/runtime/thread.cpp Changeset: 9425ba04792d Author: brutisso Date: 2013-02-07 18:40 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/9425ba04792d Merge - agent/src/share/classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java - make/solaris/makefiles/kernel.make ! src/share/vm/runtime/arguments.cpp - test/runtime/7158988/TestFieldMonitor.sh Changeset: ad747ee9d0b1 Author: brutisso Date: 2013-02-10 21:15 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/ad747ee9d0b1 8002144: G1: large number of evacuation failures may lead to large c heap memory usage Summary: Use Stack<> instead of GrowableArray to keep track of preserved marks. Also reviewed by vitalyd at gmail.com. Reviewed-by: johnc, jcoomes ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Changeset: 5e401ef52ec0 Author: johnc Date: 2013-02-11 15:24 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/5e401ef52ec0 8007772: G1: assert(!hr->isHumongous() || mr.start() == hr->bottom()) failed: the start of HeapRegion and MemRegion should be consistent for humongous regions Summary: In do_marking_step(), we should always give up current region after scanning the object, if the region is humongous. Reviewed-by: brutisso, jwilhelm, tamao ! src/share/vm/gc_implementation/g1/concurrentMark.cpp Changeset: a83cd101fd62 Author: jmasa Date: 2013-01-23 19:08 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/a83cd101fd62 8005452: NPG: Create new flags for Metaspace resizing policy Reviewed-by: johnc, jwilhelm, coleenp, stefank ! src/share/vm/memory/metaspace.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: b8d5d7a6c94c Author: brutisso Date: 2013-02-14 11:01 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/b8d5d7a6c94c Merge ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/thread.cpp Changeset: 91a23b11d8dc Author: kvn Date: 2013-02-08 15:07 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/91a23b11d8dc 8007708: compiler/6855215 assert(VM_Version::supports_sse4_2()) Summary: Added missing UseSSE42 check. Also added missing avx2 assert for vpermq instruction. Reviewed-by: roland, twisti ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp Changeset: 309460dcedf7 Author: morris Date: 2013-02-08 15:39 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/309460dcedf7 8006851: When TieredCompilation is set, max code cache should be bumped to 256mb Summary: Set ReservedCodeCacheSize to (default value)*5 when TieredCompilation is on. Reviewed-by: kvn, twisti ! src/share/vm/runtime/arguments.cpp Changeset: 2c673161698a Author: drchase Date: 2013-02-09 12:55 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/2c673161698a 8007402: Code cleanup to remove Parfait false positive Summary: add array access range check Reviewed-by: kvn ! src/share/vm/opto/regmask.cpp ! src/share/vm/opto/regmask.hpp Changeset: 64d2a0a39954 Author: kmo Date: 2013-02-10 22:35 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/64d2a0a39954 8006430: TraceTypeProfile is a product flag while it should be a diagnostic flag Summary: make sure all diagnostic and experimental flag kinds are checked in Flag::is_unlocked() Reviewed-by: kvn ! src/share/vm/runtime/globals.cpp Changeset: a9c29dfc7d73 Author: morris Date: 2013-02-11 10:38 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/a9c29dfc7d73 8003251: ARM: move MacroAssembler into separate file Summary: moved MacroAssembler into separate file Reviewed-by: twisti, kvn, dlong ! src/share/vm/asm/macroAssembler.hpp ! src/share/vm/asm/macroAssembler.inline.hpp Changeset: 1e5e28bac299 Author: morris Date: 2013-02-11 14:47 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/1e5e28bac299 8003252: PPC: move MacroAssembler into separate file Summary: moved MacroAssembler into separate file Reviewed-by: twisti, kvn, dlong ! src/share/vm/asm/macroAssembler.hpp ! src/share/vm/asm/macroAssembler.inline.hpp Changeset: 8b3da8d14c93 Author: roland Date: 2013-02-12 12:56 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/8b3da8d14c93 7197327: 40% regression on 8 b41 comp 8 b40 on specjvm2008.mpegaudio on oob Summary: Add support for expensive nodes. Reviewed-by: kvn ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/loopnode.hpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/node.hpp ! src/share/vm/opto/phaseX.cpp ! src/share/vm/opto/subnode.hpp Changeset: c703f9c4b025 Author: kmo Date: 2013-02-12 07:39 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/c703f9c4b025 8002169: TEST_BUG: compiler/7009359/Test7009359.java sometimes times out Summary: make the test less prone to timeout by reducing the amount of iteration and allowing main to be compiled Reviewed-by: jrose ! test/compiler/7009359/Test7009359.java Changeset: aaad39923cdb Author: kmo Date: 2013-02-12 14:33 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/aaad39923cdb Merge Changeset: 12e01444ca2d Author: iignatyev Date: 2013-02-13 08:29 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/12e01444ca2d 8006683: Add WhiteBox API to testing of compiler Reviewed-by: kvn, vlivanov ! src/share/tools/whitebox/sun/hotspot/WhiteBox.java ! src/share/vm/prims/wbtestmethods/parserTests.hpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/prims/whitebox.hpp + test/compiler/whitebox/CompilerWhiteBoxTest.java + test/compiler/whitebox/DeoptimizeAllTest.java + test/compiler/whitebox/DeoptimizeMethodTest.java + test/compiler/whitebox/IsMethodCompilableTest.java + test/compiler/whitebox/MakeMethodNotCompilableTest.java + test/compiler/whitebox/SetDontInlineMethodTest.java Changeset: 1cdf241a4b26 Author: vlivanov Date: 2013-02-14 05:36 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/1cdf241a4b26 Merge ! src/share/vm/runtime/arguments.cpp Changeset: dc1de5e78a85 Author: dsamersoff Date: 2013-02-15 10:29 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/dc1de5e78a85 Merge From robert.field at oracle.com Fri Feb 15 18:42:24 2013 From: robert.field at oracle.com (robert.field at oracle.com) Date: Sat, 16 Feb 2013 02:42:24 +0000 Subject: hg: jdk8/tl/langtools: 8004969: Generate $deserializeLambda$ method; ... Message-ID: <20130216024229.22EFB47B22@hg.openjdk.java.net> Changeset: f1f605f85850 Author: rfield Date: 2013-02-15 18:40 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/f1f605f85850 8004969: Generate $deserializeLambda$ method 8006763: super in method reference used in anonymous class - ClassFormatError is produced 8005632: Inner classes within lambdas cause build failures 8005653: Lambdas containing inner classes referencing external type variables do not correctly parameterize the inner classes Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/code/Symtab.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.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/util/Names.java + test/tools/javac/lambda/LambdaInnerTypeVarArgs.java + test/tools/javac/lambda/LambdaInnerTypeVarReflect.java + test/tools/javac/lambda/MethodReference61.java From robert.field at oracle.com Sat Feb 16 12:38:08 2013 From: robert.field at oracle.com (robert.field at oracle.com) Date: Sat, 16 Feb 2013 20:38:08 +0000 Subject: hg: jdk8/tl/jdk: 8004970: Implement serialization in the lambda metafactory Message-ID: <20130216203829.DCAEC47B2F@hg.openjdk.java.net> Changeset: 7748ffdca16a Author: rfield Date: 2013-02-16 12:36 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/7748ffdca16a 8004970: Implement serialization in the lambda metafactory Reviewed-by: forax ! src/share/classes/java/lang/invoke/AbstractValidatingLambdaMetafactory.java ! src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java ! src/share/classes/java/lang/invoke/LambdaMetafactory.java ! src/share/classes/java/lang/invoke/MethodHandleInfo.java + src/share/classes/java/lang/invoke/SerializedLambda.java ! src/share/classes/java/lang/invoke/TypeConvertingMethodAdapter.java + test/java/lang/invoke/lambda/LambdaSerialization.java From xueming.shen at oracle.com Sat Feb 16 17:03:07 2013 From: xueming.shen at oracle.com (xueming.shen at oracle.com) Date: Sun, 17 Feb 2013 01:03:07 +0000 Subject: hg: jdk8/tl/jdk: 8008348: The leftover jdk/make/tools/javazic causes build problems with hs25-b19 control Message-ID: <20130217010318.E96E247B30@hg.openjdk.java.net> Changeset: 43726ed11fb3 Author: sherman Date: 2013-02-17 01:01 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/43726ed11fb3 8008348: The leftover jdk/make/tools/javazic causes build problems with hs25-b19 control Summary: To remove jdk/make/tools/javazic from the jdk repo Reviewed-by: alanb - make/tools/javazic/Makefile - make/tools/src/build/tools/javazic/BackEnd.java - make/tools/src/build/tools/javazic/Checksum.java - make/tools/src/build/tools/javazic/DayOfWeek.java - make/tools/src/build/tools/javazic/Gen.java - make/tools/src/build/tools/javazic/GenDoc.java - make/tools/src/build/tools/javazic/Main.java - make/tools/src/build/tools/javazic/Mappings.java - make/tools/src/build/tools/javazic/Month.java - make/tools/src/build/tools/javazic/Rule.java - make/tools/src/build/tools/javazic/RuleDay.java - make/tools/src/build/tools/javazic/RuleRec.java - make/tools/src/build/tools/javazic/Simple.java - make/tools/src/build/tools/javazic/Time.java - make/tools/src/build/tools/javazic/Timezone.java - make/tools/src/build/tools/javazic/Zone.java - make/tools/src/build/tools/javazic/ZoneRec.java - make/tools/src/build/tools/javazic/Zoneinfo.java From taras.tielkes at gmail.com Sun Feb 17 03:15:07 2013 From: taras.tielkes at gmail.com (Taras Tielkes) Date: Sun, 17 Feb 2013 12:15:07 +0100 Subject: java 1.7.0u4 GarbageCollectionNotificationInfo API In-Reply-To: <510C3F0E.9030400@oracle.com> References: <510C3F0E.9030400@oracle.com> Message-ID: Hi John, Thanks for the feedback. The milliseconds/ticks issue indeed seems to be bug 7087969. Will the upcoming 7u14 contain hs24, and the fix? Regarding the "No GC" cause, I think http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8006954 might be the underlying issue. If I understand correctly, it's now fixed for hs24 as well, and will hopefully be part of 7u14. I'll post any follow-up questions regarding the GC Notification API to the serviceability-dev mailing list. Kind regards, -tt On Fri, Feb 1, 2013 at 11:17 PM, John Cuthbertson < john.cuthbertson at oracle.com> wrote: > Hi Taras, > > I'm going to cc the serviceability alias. I think they might be best > suited to answer some of your questions. I believe they own the API and the > GC provides the data. > > Answer 1: It should be milliseconds, but there was a bug ( > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7087969) that is now > fixed in hs24 and you could be running into that. > > Answer 2: This sounds like a bug. Do you have a test case you can share? > > Answer 3: I'll leave that to the serviceability guys. > > Regards, > > JohnC > > > On 1/28/2013 1:11 PM, Taras Tielkes wrote: > > > Hi, > > I'm playing around with the new(ish) GarbageCollectionNotificationInfo > API. We're using ParNew+CMS in all our systems, and my first goal is a > comparison between -XX:+PrintGCDetails -verbose:gc output and the actual > data coming through the notification API. I'm using Java 1.7.0u6 for the > experiments. > > So far, I have a number of questions: > 1) duration times > > The javadoc for gcInfo.getDuration() describes the returned value as > expressed in milliseconds. However, the values differ to the gc logs by > several orders of magnitude. How are they calculated? > > On a 1-core Linux x64 VM, the values actually look like microseconds, > but on a Win32 machines I still can't figure out any resemblance to gc log > timings. > > Apart from the unit, what should the value represent? Real time or user > time? > > 2) CMS events with cause "No GC" > > How exactly do the phases of CMS map to the notifications emitted for > the CMS collector? > > I sometimes get events with cause "No GC". Does this indicate a > background CMS cycle being initiated by hitting the occupancy fraction > threshold? > > 3) Eden/Survivor > > It seems that the MemoryUsage API treats Eden and Survivor separately, > i.e. survivor is not a subset of eden. This is different from the gc log > presentation. Is my understanding correct? > > In general, I think it would be useful to have a code sample for the GC > notification API that generates output as close as possible to > -XX:+PrintGCDetails -verbose:gc, as far as the data required to do so is > available. > > The API looks quite promising, it seems it could really benefit from a > bit of documentation love :) > > Thanks, > -tt > > > > _______________________________________________ > hotspot-gc-use mailing listhotspot-gc-use at openjdk.java.nethttp://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130217/3b971380/attachment.html From yong.huang at oracle.com Sun Feb 17 01:17:51 2013 From: yong.huang at oracle.com (yong.huang at oracle.com) Date: Sun, 17 Feb 2013 09:17:51 +0000 Subject: hg: jdk8/tl/jdk: 8006748: getISO3Country() returns wrong value Message-ID: <20130217091812.2B8DC47B3B@hg.openjdk.java.net> Changeset: ce6a2fcb4c9b Author: yhuang Date: 2013-02-16 21:22 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ce6a2fcb4c9b 8006748: getISO3Country() returns wrong value Reviewed-by: naoto ! src/share/classes/java/util/LocaleISOData.java From david.holmes at oracle.com Sun Feb 17 20:06:25 2013 From: david.holmes at oracle.com (David Holmes) Date: Mon, 18 Feb 2013 14:06:25 +1000 Subject: RFR(XXS): 8007147: Trace event ExecuteVMOperation may get dangling pointer In-Reply-To: References: Message-ID: <5121A8C1.2040908@oracle.com> Hi Markus, So is zero as a thread id defined to mean "no thread" ? David On 13/02/2013 12:03 AM, Markus Gr?nlund wrote: > Greetings, > > Kindly asking for reviews and a putback sponsorship for the following > change: > > Bugid: http://bugs.sun.com/view_bug.do?bug_id=8007147 > > Webrev: http://cr.openjdk.java.net/~mgronlun/8007147/webrev01/ > > Please also note this is for hs24. > > Thanks to David Holmes for pointing out this problem. > > Thanks > > Markus > From david.holmes at oracle.com Sun Feb 17 20:23:42 2013 From: david.holmes at oracle.com (David Holmes) Date: Mon, 18 Feb 2013 14:23:42 +1000 Subject: RFR (XS): 8007901 SA: Don't read flag values as constants In-Reply-To: <66CB6E74-D03C-43A7-B3B1-C162C2992398@oracle.com> References: <51198AE3.5040706@oracle.com> <66CB6E74-D03C-43A7-B3B1-C162C2992398@oracle.com> Message-ID: <5121ACCE.6080707@oracle.com> Thanks for clarifying this Staffan, I see now how this was setup wrong in the first place. You are using the right mechanism now. I'm not sure UseTLAB warrants its own accessor in VM anymore as the two uses of it can simply ask for the flag value directly. Your call. Thanks, David On 12/02/2013 8:19 PM, Staffan Larsen wrote: > The values are initialized at VM compile time in the VMStructs::localHotSpotVMIntConstants array. I don't think we want to modify SA so that values of int constants is made into a dynamic lookup. Or at least, that is a fairly significant change to SA. The problem here was to think that UseTLAB is a constant when it isn't. > > Yes, I thought about a regression test for this, but the valuable test would be to verify that no command line flag values are read as constants, and I don't see how I could write that. > > Thanks, > /Staffan > > On 12 feb 2013, at 01:20, David Holmes wrote: > >> On 10/02/2013 5:06 AM, Staffan Larsen wrote: >>> Please review this small patch to avoid reading flag values in SA as constants. Reading them as constants means SA will only see the default value for these flags. Instead the infrastructure in SA to read command line flags should be used. In addition the value if EnableInvokeDynamic is never used, so I removed that from SA. >> >> Isn't the real problem in the way db is initialized with the values for these flags? ie shouldn't db.lookupIntConstant("UseTLAB").intValue() be returning the actual value of UseTLAB as it occurs in the VM ? >> >> Also we need a regression test for this as obviously it ain't being tested! :( >> >> Thanks, >> David >> >>> webrev: http://cr.openjdk.java.net/~sla/8007901/webrev.00/ >>> bug: http://bugs.sun.com/view_bug.do?bug_id=8007901 (not yet visible) >>> >>> Thanks, >>> /Staffan >>> > From alan.bateman at oracle.com Mon Feb 18 00:16:50 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Mon, 18 Feb 2013 08:16:50 +0000 Subject: hg: jdk8/tl/jdk: 6429204: (se) Concurrent Selector.register and SelectionKey.interestOps can ignore interestOps Message-ID: <20130218081708.B0DB147B4D@hg.openjdk.java.net> Changeset: bcde0486261e Author: dingxmin Date: 2013-02-18 08:14 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/bcde0486261e 6429204: (se) Concurrent Selector.register and SelectionKey.interestOps can ignore interestOps Reviewed-by: alanb ! src/windows/classes/sun/nio/ch/WindowsSelectorImpl.java + test/java/nio/channels/Selector/RacyDeregister.java From staffan.larsen at oracle.com Mon Feb 18 01:41:42 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Mon, 18 Feb 2013 10:41:42 +0100 Subject: RFR (XS): 8007901 SA: Don't read flag values as constants In-Reply-To: <5121ACCE.6080707@oracle.com> References: <51198AE3.5040706@oracle.com> <66CB6E74-D03C-43A7-B3B1-C162C2992398@oracle.com> <5121ACCE.6080707@oracle.com> Message-ID: <0A6876F8-136B-46EC-8DFC-4AEAD95DEA30@oracle.com> I choose to follow the same pattern as for other flags, although I agree that the extra accessor isn't really needed. Thanks David! /Staffan On 18 feb 2013, at 05:23, David Holmes wrote: > Thanks for clarifying this Staffan, I see now how this was setup wrong in the first place. You are using the right mechanism now. > > I'm not sure UseTLAB warrants its own accessor in VM anymore as the two uses of it can simply ask for the flag value directly. Your call. > > Thanks, > David > > On 12/02/2013 8:19 PM, Staffan Larsen wrote: >> The values are initialized at VM compile time in the VMStructs::localHotSpotVMIntConstants array. I don't think we want to modify SA so that values of int constants is made into a dynamic lookup. Or at least, that is a fairly significant change to SA. The problem here was to think that UseTLAB is a constant when it isn't. >> >> Yes, I thought about a regression test for this, but the valuable test would be to verify that no command line flag values are read as constants, and I don't see how I could write that. >> >> Thanks, >> /Staffan >> >> On 12 feb 2013, at 01:20, David Holmes wrote: >> >>> On 10/02/2013 5:06 AM, Staffan Larsen wrote: >>>> Please review this small patch to avoid reading flag values in SA as constants. Reading them as constants means SA will only see the default value for these flags. Instead the infrastructure in SA to read command line flags should be used. In addition the value if EnableInvokeDynamic is never used, so I removed that from SA. >>> >>> Isn't the real problem in the way db is initialized with the values for these flags? ie shouldn't db.lookupIntConstant("UseTLAB").intValue() be returning the actual value of UseTLAB as it occurs in the VM ? >>> >>> Also we need a regression test for this as obviously it ain't being tested! :( >>> >>> Thanks, >>> David >>> >>>> webrev: http://cr.openjdk.java.net/~sla/8007901/webrev.00/ >>>> bug: http://bugs.sun.com/view_bug.do?bug_id=8007901 (not yet visible) >>>> >>>> Thanks, >>>> /Staffan >>>> >> From staffan.larsen at oracle.com Mon Feb 18 02:15:52 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Mon, 18 Feb 2013 11:15:52 +0100 Subject: RFR(S): 8005572: fatal error: acquiring lock JfrBuffer_lock/19 out of order with lock MethodData_lock/19 -- possible deadlock Message-ID: <21B2FFE7-AC80-4FE8-9704-ECDC33D5F889@oracle.com> Please review this change for hs24 / jdku. webrev: http://cr.openjdk.java.net/~sla/8005572/webrev.00/ The problem lies with the order of the newly introduced JfrBuffer_lock and JfrStream_lock compared to the MethodData_lock. There are cases where we need to take the Jfr* locks while holding the MethodData_lock. Ths solution is simply to increase the lock order for the Jfr* locks. This change has baked for a while in internal testing and showed no regressions. Thanks, /Staffan From rickard.backman at oracle.com Mon Feb 18 04:10:56 2013 From: rickard.backman at oracle.com (=?iso-8859-1?Q?Rickard_B=E4ckman?=) Date: Mon, 18 Feb 2013 13:10:56 +0100 Subject: RFR(XS): 8008340: [sampling] assert(upper->pc_offset() >= pc_offset) failed: sanity Message-ID: Hi all, I just got a small patch this time that makes sure that a pc given to a frame is actually in the code part of the codeBlob. The case that assert here was pointing into the data part of the codeBlob. This webrev is only for hs24 so far. Waiting for pending changes in hs25. webrev: http://cr.openjdk.java.net/~rbackman/8008340/ bug: http://bugs.sun.com/view_bug.do?bug_id=8008340 Thanks /R From staffan.larsen at oracle.com Mon Feb 18 04:14:56 2013 From: staffan.larsen at oracle.com (staffan.larsen at oracle.com) Date: Mon, 18 Feb 2013 12:14:56 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8007901: SA: Don't read flag values as constants Message-ID: <20130218121459.DE1D047B5B@hg.openjdk.java.net> Changeset: f82bcc429e8c Author: sla Date: 2013-02-18 10:43 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/f82bcc429e8c 8007901: SA: Don't read flag values as constants Reviewed-by: dholmes, mikael ! agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java ! src/share/vm/runtime/vmStructs.cpp From staffan.larsen at oracle.com Mon Feb 18 06:17:28 2013 From: staffan.larsen at oracle.com (staffan.larsen at oracle.com) Date: Mon, 18 Feb 2013 14:17:28 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8007779: os::die() on solaris should generate core file Message-ID: <20130218141732.E149E47B5E@hg.openjdk.java.net> Changeset: b5e3ec9c69fa Author: sla Date: 2013-02-18 12:49 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/b5e3ec9c69fa 8007779: os::die() on solaris should generate core file Reviewed-by: dholmes, rbackman ! src/os/solaris/vm/os_solaris.cpp From vicente.romero at oracle.com Mon Feb 18 06:34:41 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Mon, 18 Feb 2013 14:34:41 +0000 Subject: hg: jdk8/tl/langtools: 6563143: javac should issue a warning for overriding equals without hashCode Message-ID: <20130218143447.2E7C347B5F@hg.openjdk.java.net> Changeset: 2620c953e9fe Author: vromero Date: 2013-02-18 14:33 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/2620c953e9fe 6563143: javac should issue a warning for overriding equals without hashCode Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Lint.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/Resolve.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/sjavac/comp/Dependencies.java + test/tools/javac/6563143/OverridesEqualsButNotHashCodeTest.java + test/tools/javac/6563143/OverridesEqualsButNotHashCodeTest.out ! test/tools/javac/diags/examples.not-yet.txt From vladimir.kozlov at oracle.com Mon Feb 18 12:42:39 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 18 Feb 2013 12:42:39 -0800 Subject: RFR(XS): 8008340: [sampling] assert(upper->pc_offset() >= pc_offset) failed: sanity In-Reply-To: References: Message-ID: <5122923F.2060706@oracle.com> Looks reasonable. We usually push into hs25 first, do Nightly testing and only then backport to hs24. I would advise to do the same with this fix. Thanks, Vladimir On 2/18/13 4:10 AM, Rickard B?ckman wrote: > Hi all, > > I just got a small patch this time that makes sure that a pc given to a frame is actually in the code part of the codeBlob. > The case that assert here was pointing into the data part of the codeBlob. > > This webrev is only for hs24 so far. Waiting for pending changes in hs25. > > webrev: http://cr.openjdk.java.net/~rbackman/8008340/ > bug: http://bugs.sun.com/view_bug.do?bug_id=8008340 > > Thanks > /R > From jonathan.gibbons at oracle.com Mon Feb 18 14:29:55 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Mon, 18 Feb 2013 22:29:55 +0000 Subject: hg: jdk8/tl/langtools: 8008339: Test TargetAnnoCombo.java is broken Message-ID: <20130218223002.A31F847B76@hg.openjdk.java.net> Changeset: 87884cd0fea3 Author: jjg Date: 2013-02-18 14:29 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/87884cd0fea3 8008339: Test TargetAnnoCombo.java is broken Reviewed-by: jjh ! test/tools/javac/annotations/repeatingAnnotations/combo/TargetAnnoCombo.java From joe.darcy at oracle.com Tue Feb 19 00:19:33 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Tue, 19 Feb 2013 08:19:33 +0000 Subject: hg: jdk8/tl/jdk: 8008434: Misc javadoc warning fixes in DateTimeFormatterBuilder and TimeZone Message-ID: <20130219082010.CC88F47B87@hg.openjdk.java.net> Changeset: 49b3d8efd30a Author: darcy Date: 2013-02-19 00:19 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/49b3d8efd30a 8008434: Misc javadoc warning fixes in DateTimeFormatterBuilder and TimeZone Reviewed-by: mduigou, okutsu ! src/share/classes/java/time/format/DateTimeFormatterBuilder.java ! src/share/classes/java/util/TimeZone.java From joe.darcy at oracle.com Tue Feb 19 00:25:18 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Tue, 19 Feb 2013 08:25:18 +0000 Subject: hg: jdk8/tl: 8008435: Fix new build to include jdk.Supported in ct.sym Message-ID: <20130219082518.AD92747B88@hg.openjdk.java.net> Changeset: ecc8fda8f187 Author: darcy Date: 2013-02-19 00:24 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/ecc8fda8f187 8008435: Fix new build to include jdk.Supported in ct.sym Reviewed-by: erikj ! common/makefiles/javadoc/NON_CORE_PKGS.gmk From joe.darcy at oracle.com Tue Feb 19 00:32:03 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Tue, 19 Feb 2013 08:32:03 +0000 Subject: hg: jdk8/tl/langtools: 8008267: Add @Supported annotation to com.sun.source types Message-ID: <20130219083209.2371A47B8B@hg.openjdk.java.net> Changeset: 011cf7e0a148 Author: darcy Date: 2013-02-19 00:31 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/011cf7e0a148 8008267: Add @Supported annotation to com.sun.source types Reviewed-by: jjg ! src/share/classes/com/sun/source/doctree/AttributeTree.java ! src/share/classes/com/sun/source/doctree/AuthorTree.java ! src/share/classes/com/sun/source/doctree/BlockTagTree.java ! src/share/classes/com/sun/source/doctree/CommentTree.java ! src/share/classes/com/sun/source/doctree/DeprecatedTree.java ! src/share/classes/com/sun/source/doctree/DocCommentTree.java ! src/share/classes/com/sun/source/doctree/DocRootTree.java ! src/share/classes/com/sun/source/doctree/DocTree.java ! src/share/classes/com/sun/source/doctree/DocTreeVisitor.java ! src/share/classes/com/sun/source/doctree/EndElementTree.java ! src/share/classes/com/sun/source/doctree/EntityTree.java ! src/share/classes/com/sun/source/doctree/ErroneousTree.java ! src/share/classes/com/sun/source/doctree/IdentifierTree.java ! src/share/classes/com/sun/source/doctree/InheritDocTree.java ! src/share/classes/com/sun/source/doctree/InlineTagTree.java ! src/share/classes/com/sun/source/doctree/LinkTree.java ! src/share/classes/com/sun/source/doctree/LiteralTree.java ! src/share/classes/com/sun/source/doctree/ParamTree.java ! src/share/classes/com/sun/source/doctree/ReferenceTree.java ! src/share/classes/com/sun/source/doctree/ReturnTree.java ! src/share/classes/com/sun/source/doctree/SeeTree.java ! src/share/classes/com/sun/source/doctree/SerialDataTree.java ! src/share/classes/com/sun/source/doctree/SerialFieldTree.java ! src/share/classes/com/sun/source/doctree/SerialTree.java ! src/share/classes/com/sun/source/doctree/SinceTree.java ! src/share/classes/com/sun/source/doctree/StartElementTree.java ! src/share/classes/com/sun/source/doctree/TextTree.java ! src/share/classes/com/sun/source/doctree/ThrowsTree.java ! src/share/classes/com/sun/source/doctree/UnknownBlockTagTree.java ! src/share/classes/com/sun/source/doctree/UnknownInlineTagTree.java ! src/share/classes/com/sun/source/doctree/ValueTree.java ! src/share/classes/com/sun/source/doctree/VersionTree.java ! src/share/classes/com/sun/source/doctree/package-info.java ! src/share/classes/com/sun/source/tree/AnnotatedTypeTree.java ! src/share/classes/com/sun/source/tree/AnnotationTree.java ! src/share/classes/com/sun/source/tree/ArrayAccessTree.java ! src/share/classes/com/sun/source/tree/ArrayTypeTree.java ! src/share/classes/com/sun/source/tree/AssertTree.java ! src/share/classes/com/sun/source/tree/AssignmentTree.java ! src/share/classes/com/sun/source/tree/BinaryTree.java ! src/share/classes/com/sun/source/tree/BlockTree.java ! src/share/classes/com/sun/source/tree/BreakTree.java ! src/share/classes/com/sun/source/tree/CaseTree.java ! src/share/classes/com/sun/source/tree/CatchTree.java ! src/share/classes/com/sun/source/tree/ClassTree.java ! src/share/classes/com/sun/source/tree/CompilationUnitTree.java ! src/share/classes/com/sun/source/tree/CompoundAssignmentTree.java ! src/share/classes/com/sun/source/tree/ConditionalExpressionTree.java ! src/share/classes/com/sun/source/tree/ContinueTree.java ! src/share/classes/com/sun/source/tree/DoWhileLoopTree.java ! src/share/classes/com/sun/source/tree/EmptyStatementTree.java ! src/share/classes/com/sun/source/tree/EnhancedForLoopTree.java ! src/share/classes/com/sun/source/tree/ErroneousTree.java ! src/share/classes/com/sun/source/tree/ExpressionStatementTree.java ! src/share/classes/com/sun/source/tree/ExpressionTree.java ! src/share/classes/com/sun/source/tree/ForLoopTree.java ! src/share/classes/com/sun/source/tree/IdentifierTree.java ! src/share/classes/com/sun/source/tree/IfTree.java ! src/share/classes/com/sun/source/tree/ImportTree.java ! src/share/classes/com/sun/source/tree/InstanceOfTree.java ! src/share/classes/com/sun/source/tree/IntersectionTypeTree.java ! src/share/classes/com/sun/source/tree/LabeledStatementTree.java ! src/share/classes/com/sun/source/tree/LambdaExpressionTree.java ! src/share/classes/com/sun/source/tree/LineMap.java ! src/share/classes/com/sun/source/tree/LiteralTree.java ! src/share/classes/com/sun/source/tree/MemberReferenceTree.java ! src/share/classes/com/sun/source/tree/MemberSelectTree.java ! src/share/classes/com/sun/source/tree/MethodInvocationTree.java ! src/share/classes/com/sun/source/tree/MethodTree.java ! src/share/classes/com/sun/source/tree/ModifiersTree.java ! src/share/classes/com/sun/source/tree/NewArrayTree.java ! src/share/classes/com/sun/source/tree/NewClassTree.java ! src/share/classes/com/sun/source/tree/ParameterizedTypeTree.java ! src/share/classes/com/sun/source/tree/ParenthesizedTree.java ! src/share/classes/com/sun/source/tree/PrimitiveTypeTree.java ! src/share/classes/com/sun/source/tree/ReturnTree.java ! src/share/classes/com/sun/source/tree/Scope.java ! src/share/classes/com/sun/source/tree/StatementTree.java ! src/share/classes/com/sun/source/tree/SwitchTree.java ! src/share/classes/com/sun/source/tree/SynchronizedTree.java ! src/share/classes/com/sun/source/tree/ThrowTree.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/TypeCastTree.java ! src/share/classes/com/sun/source/tree/TypeParameterTree.java ! src/share/classes/com/sun/source/tree/UnaryTree.java ! src/share/classes/com/sun/source/tree/UnionTypeTree.java ! src/share/classes/com/sun/source/tree/VariableTree.java ! src/share/classes/com/sun/source/tree/WhileLoopTree.java ! src/share/classes/com/sun/source/tree/WildcardTree.java ! src/share/classes/com/sun/source/tree/package-info.java ! src/share/classes/com/sun/source/util/DocTreeScanner.java ! src/share/classes/com/sun/source/util/DocTrees.java ! src/share/classes/com/sun/source/util/JavacTask.java ! src/share/classes/com/sun/source/util/Plugin.java ! src/share/classes/com/sun/source/util/SimpleDocTreeVisitor.java ! src/share/classes/com/sun/source/util/SimpleTreeVisitor.java ! src/share/classes/com/sun/source/util/SourcePositions.java ! src/share/classes/com/sun/source/util/TaskEvent.java ! src/share/classes/com/sun/source/util/TaskListener.java ! src/share/classes/com/sun/source/util/TreePath.java ! src/share/classes/com/sun/source/util/TreePathScanner.java ! src/share/classes/com/sun/source/util/TreeScanner.java ! src/share/classes/com/sun/source/util/Trees.java ! src/share/classes/com/sun/source/util/package-info.java ! src/share/classes/com/sun/tools/javac/Main.java ! src/share/classes/com/sun/tools/javac/Server.java From yunda.mly at taobao.com Tue Feb 19 01:24:43 2013 From: yunda.mly at taobao.com (=?gb2312?B?1Ma07w==?=) Date: Tue, 19 Feb 2013 09:24:43 +0000 Subject: [PATCH] A small fix on "scanoops" command in CLHSDB Message-ID: Hi all, When I use ??scanoops?? command in CLHSDB, I find that if the type doesn??t exist, the output will be all the oops in the scope [start, end]. (see below) I think that??s irrational because all the oops between 0x00000000ee2000a0 and 0x00000000ee200550 are of type ??java/lang/Class?? and there??s no type ??java/lang/Class2?? or ??com/taobao/Test?? at all! hsdb> scanoops 0x00000000ee2000a0 0x00000000ee200550 0x00000000ee2000a0 java/lang/Class 0x00000000ee200118 java/lang/Class 0x00000000ee200190 java/lang/Class 0x00000000ee200208 java/lang/Class 0x00000000ee200280 java/lang/Class 0x00000000ee2002f8 java/lang/Class 0x00000000ee200370 java/lang/Class 0x00000000ee2003e8 java/lang/Class 0x00000000ee200460 java/lang/Class 0x00000000ee2004d8 java/lang/Class hsdb> scanoops 0x00000000ee2000a0 0x00000000ee200550 java/lang/Class2 0x00000000ee2000a0 java/lang/Class 0x00000000ee200118 java/lang/Class 0x00000000ee200190 java/lang/Class 0x00000000ee200208 java/lang/Class 0x00000000ee200280 java/lang/Class 0x00000000ee2002f8 java/lang/Class 0x00000000ee200370 java/lang/Class 0x00000000ee2003e8 java/lang/Class 0x00000000ee200460 java/lang/Class 0x00000000ee2004d8 java/lang/Class hsdb> scanoops 0x00000000ee2000a0 0x00000000ee200550 com/taobao/Test 0x00000000ee2000a0 java/lang/Class 0x00000000ee200118 java/lang/Class 0x00000000ee200190 java/lang/Class 0x00000000ee200208 java/lang/Class 0x00000000ee200280 java/lang/Class 0x00000000ee2002f8 java/lang/Class 0x00000000ee200370 java/lang/Class 0x00000000ee2003e8 java/lang/Class 0x00000000ee200460 java/lang/Class 0x00000000ee2004d8 java/lang/Class I know the reason is that the usage of scanoops is ??scanoops start end [ type ]?? and ??type?? is optional. When you don??t input the ??type??, the output will be all the oops in the scope [start, end]. But I think the two situations are different and CLHSDB should give right prompt. So I made a small fix: diff -r b5e3ec9c69fa agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java --- a/agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java Mon Feb 18 12:49:53 2013 +0100 +++ b/agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java Tue Feb 19 16:43:45 2013 +0800 @@ -1132,6 +1132,10 @@ Klass klass = null; if (t.countTokens() == 1) { klass = SystemDictionaryHelper.findInstanceKlass(t.nextToken()); + if(klass == null) { + out.println("No such type."); + return; + } } while (base != null && base.lessThan(end)) { long step = stride; And the effect will be: hsdb> scanoops 0x0000000758600000 0x000000075860ffff com/taobao/Test No such type. Regards, Yunda ________________________________ This email (including any attachments) is confidential and may be legally privileged. If you received this email in error, please delete it immediately and do not copy it or use it for any purpose or disclose its contents to any other person. Thank you. ??????(????????????)???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130219/2e8b846a/attachment-0001.html From markus.gronlund at oracle.com Tue Feb 19 01:47:39 2013 From: markus.gronlund at oracle.com (=?iso-8859-1?B?TWFya3VzIEdy9m5sdW5k?=) Date: Tue, 19 Feb 2013 01:47:39 -0800 (PST) Subject: RFR(XXS): 8007147: Trace event ExecuteVMOperation may get dangling pointer In-Reply-To: <5121A8C1.2040908@oracle.com> References: <5121A8C1.2040908@oracle.com> Message-ID: <304895d9-73da-4c67-a5b3-a47cbcd01924@default> Hi David, Thanks for taking a look. The original idea was to use thread id 0 as a signal for "Unknown Thread" or "no thread" if you like - however, there is nothing actually enforcing this; it was more of an implicit assumption (and to be honest, the only OS which I know for sure will never give a tid of 0 is Windows). I have tried to find information if a 0 will ever be given out by pthreads and mach_t, but I mostly find info on "process relative opaque id"...so it could be likely that a 0 is used as a valid tid here (probably unlikely but still...) Also, I see that the tracing output just happily gives out tid == 0 if I write it in as suggested in webrev01...I am not entirely happy with this. If we view 0 as "Unknown Thread", this should maybe be treated differently. I don't know yet what Id I will be able to use here to signal the fact that thread is unknown (in a platform agnostic way) - but I will try to come up with something. In the interim, we should just avoid committing the event for non-concurrent VM operations event altogether (I have mostly seen these as EnableBiasLocking and Thread.Stop's). The updated webrev02 gives a suggestion on only committing the tracing event for non-concurrent vm ops: http://cr.openjdk.java.net/~mgronlun/8007147/webrev02/ (follow up work will also need rework the event fields). Thanks Markus -----Original Message----- From: David Holmes Sent: den 18 februari 2013 05:06 To: Markus Gr?nlund Cc: serviceability-dev at openjdk.java.net; hotspot-runtime-dev at openjdk.java.net Subject: Re: RFR(XXS): 8007147: Trace event ExecuteVMOperation may get dangling pointer Hi Markus, So is zero as a thread id defined to mean "no thread" ? David On 13/02/2013 12:03 AM, Markus Gr?nlund wrote: > Greetings, > > Kindly asking for reviews and a putback sponsorship for the following > change: > > Bugid: http://bugs.sun.com/view_bug.do?bug_id=8007147 > > Webrev: http://cr.openjdk.java.net/~mgronlun/8007147/webrev01/ > > Please also note this is for hs24. > > Thanks to David Holmes for pointing out this problem. > > Thanks > > Markus > From staffan.larsen at oracle.com Tue Feb 19 01:59:17 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Tue, 19 Feb 2013 10:59:17 +0100 Subject: RFR(XXS): 8007147: Trace event ExecuteVMOperation may get dangling pointer In-Reply-To: <304895d9-73da-4c67-a5b3-a47cbcd01924@default> References: <5121A8C1.2040908@oracle.com> <304895d9-73da-4c67-a5b3-a47cbcd01924@default> Message-ID: I don't like this solution since we are swallowing information that could potentially be interesting (that a VMOperation happened). I think it's fine to say that in the case of non-blocking VMOperations, the caller thread will be undefined or set to 0. We could add that information to the event field description in traceevents.xml so that it is documented. /Staffan On 19 feb 2013, at 10:47, Markus Gr?nlund wrote: > Hi David, > > Thanks for taking a look. > > The original idea was to use thread id 0 as a signal for "Unknown Thread" or "no thread" if you like - however, there is nothing actually enforcing this; it was more of an implicit assumption (and to be honest, the only OS which I know for sure will never give a tid of 0 is Windows). I have tried to find information if a 0 will ever be given out by pthreads and mach_t, but I mostly find info on "process relative opaque id"...so it could be likely that a 0 is used as a valid tid here (probably unlikely but still...) > > Also, I see that the tracing output just happily gives out tid == 0 if I write it in as suggested in webrev01...I am not entirely happy with this. If we view 0 as "Unknown Thread", this should maybe be treated differently. > > I don't know yet what Id I will be able to use here to signal the fact that thread is unknown (in a platform agnostic way) - but I will try to come up with something. > > In the interim, we should just avoid committing the event for non-concurrent VM operations event altogether (I have mostly seen these as EnableBiasLocking and Thread.Stop's). > > The updated webrev02 gives a suggestion on only committing the tracing event for non-concurrent vm ops: > > http://cr.openjdk.java.net/~mgronlun/8007147/webrev02/ > > (follow up work will also need rework the event fields). > > Thanks > Markus > > > > -----Original Message----- > From: David Holmes > Sent: den 18 februari 2013 05:06 > To: Markus Gr?nlund > Cc: serviceability-dev at openjdk.java.net; hotspot-runtime-dev at openjdk.java.net > Subject: Re: RFR(XXS): 8007147: Trace event ExecuteVMOperation may get dangling pointer > > Hi Markus, > > So is zero as a thread id defined to mean "no thread" ? > > David > > On 13/02/2013 12:03 AM, Markus Gr?nlund wrote: >> Greetings, >> >> Kindly asking for reviews and a putback sponsorship for the following >> change: >> >> Bugid: http://bugs.sun.com/view_bug.do?bug_id=8007147 >> >> Webrev: http://cr.openjdk.java.net/~mgronlun/8007147/webrev01/ >> >> Please also note this is for hs24. >> >> Thanks to David Holmes for pointing out this problem. >> >> Thanks >> >> Markus >> From nils.loodin at oracle.com Tue Feb 19 02:58:42 2013 From: nils.loodin at oracle.com (Nils Loodin) Date: Tue, 19 Feb 2013 11:58:42 +0100 Subject: RFR: 8007806: Need a Throwables performance counter In-Reply-To: <5115316A.8050109@oracle.com> References: <5115316A.8050109@oracle.com> Message-ID: <51235AE2.7070208@oracle.com> It would be interesting to know the number of thrown throwables in the JVM, to be able to do some high level application diagnostics / statistics. A good way to put this number would be a performance counter, since it is accessible both from Java and from the VM. http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007806 http://cr.openjdk.java.net/~nloodin/8007806/webrev.00/ Regards, Nils Loodin From nils.loodin at oracle.com Tue Feb 19 03:09:18 2013 From: nils.loodin at oracle.com (Nils Loodin) Date: Tue, 19 Feb 2013 12:09:18 +0100 Subject: RFR: JDK-8007804: Need to be able to access Performance counter by name from JVM In-Reply-To: <5115B0B5.9030004@oracle.com> References: <51152A60.8000004@oracle.com> <5115B0B5.9030004@oracle.com> Message-ID: <51235D5E.6010103@oracle.com> On 02/09/2013 03:13 AM, David Holmes wrote: > On 9/02/2013 2:40 AM, Nils Loodin wrote: >> Please review the following very small and insignificant change: >> Basically, I need to access a performance-counter by name from within >> the JVM. > > The method name by_name seems a little odd to me. find_by_name would > seem more consistent (particularly if you consider the strange > PerfDataList::by_name method - which compares names) I think you're right. I'll rename it to find_by_name instead and send out another webrev. Nisse > > David > >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007804 >> http://cr.openjdk.java.net/~nloodin/8007804/webrev.00/ >> >> Regards, >> Nils Loodin >> >> From nils.loodin at oracle.com Tue Feb 19 04:52:52 2013 From: nils.loodin at oracle.com (Nils Loodin) Date: Tue, 19 Feb 2013 13:52:52 +0100 Subject: RFR: JDK-8007804: Need to be able to access Performance counter by name from JVM In-Reply-To: <51235D5E.6010103@oracle.com> References: <51152A60.8000004@oracle.com> <5115B0B5.9030004@oracle.com> <51235D5E.6010103@oracle.com> Message-ID: <512375A4.6070301@oracle.com> Here's the updated webrev: http://cr.openjdk.java.net/~nloodin/8007804/webrev.01/ Regards, Nils Loodin On 02/19/2013 12:09 PM, Nils Loodin wrote: > On 02/09/2013 03:13 AM, David Holmes wrote: >> On 9/02/2013 2:40 AM, Nils Loodin wrote: >>> Please review the following very small and insignificant change: >>> Basically, I need to access a performance-counter by name from within >>> the JVM. >> >> The method name by_name seems a little odd to me. find_by_name would >> seem more consistent (particularly if you consider the strange >> PerfDataList::by_name method - which compares names) > > > I think you're right. I'll rename it to find_by_name instead and send > out another webrev. > > Nisse > >> >> David >> >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007804 >>> http://cr.openjdk.java.net/~nloodin/8007804/webrev.00/ >>> >>> Regards, >>> Nils Loodin >>> >>> > From sean.coffey at oracle.com Tue Feb 19 06:12:02 2013 From: sean.coffey at oracle.com (sean.coffey at oracle.com) Date: Tue, 19 Feb 2013 14:12:02 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20130219141238.723BE47B9B@hg.openjdk.java.net> Changeset: 885bb24f6018 Author: coffeys Date: 2013-02-19 14:07 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/885bb24f6018 7197187: Currency.isPastCutoverDate should be made more robust Reviewed-by: alanb ! src/share/classes/java/util/Currency.java Changeset: 01b6b0dd2006 Author: coffeys Date: 2013-02-19 14:12 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/01b6b0dd2006 8007315: HttpURLConnection.filterHeaderField method returns null where empty string is expected Reviewed-by: chegar ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! test/sun/net/www/protocol/http/HttpOnly.java From Alan.Bateman at oracle.com Tue Feb 19 08:01:46 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Tue, 19 Feb 2013 16:01:46 +0000 Subject: RFR (XS) 8008089: Delete OS dependent check in JdkFinder.getExecutable() In-Reply-To: <511B6134.3010005@oracle.com> References: <511B6134.3010005@oracle.com> Message-ID: <5123A1EA.6010404@oracle.com> On 13/02/2013 09:47, Yekaterina Kantserova wrote: > Hi everyone, > > This small fixconcerns jdk.testlibrary.JdkFinder utility class. The > check below is too OS dependent and should be deleted. > ... > binPath += File.separatorChar + "bin" + File.separatorChar + > executable; > File toolFile = new File(binPath); > ==> if (!toolFile.exists()) { > throw new RuntimeException(binPath + " does not exist"); > } > ... > > On windows if executable is specified as e.g. 'java', without '.exe', > the File exists() will fail. But it's still possible to run executable. This looks okay to me, do you have someone to push this for you? -Alan. From chris.hegarty at oracle.com Tue Feb 19 08:20:19 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Tue, 19 Feb 2013 16:20:19 +0000 Subject: hg: jdk8/tl/jdk: 8007609: WinNTFileSystem_md.c should correctly check value returned from realloc Message-ID: <20130219162050.551CD47BA0@hg.openjdk.java.net> Changeset: 824187de1591 Author: jzavgren Date: 2013-02-19 16:19 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/824187de1591 8007609: WinNTFileSystem_md.c should correctly check value returned from realloc Reviewed-by: alanb, chegar, dholmes ! src/windows/native/java/io/WinNTFileSystem_md.c From alan.bateman at oracle.com Tue Feb 19 09:11:32 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Tue, 19 Feb 2013 17:11:32 +0000 Subject: hg: jdk8/tl/jdk: 8008312: Re-enable MethodParameter tests in JDK Message-ID: <20130219171143.ABF3C47BA1@hg.openjdk.java.net> Changeset: e20c1c9197bf Author: emc Date: 2013-02-19 17:09 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e20c1c9197bf 8008312: Re-enable MethodParameter tests in JDK Reviewed-by: darcy ! src/share/classes/java/lang/reflect/Parameter.java ! test/java/lang/reflect/Parameter/WithParameters.java From vicente.romero at oracle.com Tue Feb 19 09:54:38 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Tue, 19 Feb 2013 17:54:38 +0000 Subject: hg: jdk8/tl/langtools: 8006212: javac, convert jtreg tests from shell script to java Message-ID: <20130219175447.0916147BA5@hg.openjdk.java.net> Changeset: dc8b7aa7cef3 Author: vromero Date: 2013-02-19 17:53 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/dc8b7aa7cef3 8006212: javac, convert jtreg tests from shell script to java Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java ! src/share/classes/com/sun/tools/javac/util/ArrayUtils.java + test/tools/apt/Basics/CheckAptIsRemovedTest.java - test/tools/apt/Basics/NullAPF.java - test/tools/apt/Basics/apt.sh - test/tools/apt/verifyVariables.sh + test/tools/javac/4846262/CheckEBCDICLocaleTest.java - test/tools/javac/4846262/Test.java - test/tools/javac/4846262/Test.out - test/tools/javac/4846262/Test.sh + test/tools/javac/6302184/HiddenOptionsShouldUseGivenEncodingTest.java - test/tools/javac/6302184/T6302184.sh + test/tools/javac/ClassPathTest/ClassPathTest.java - test/tools/javac/ClassPathTest/ClassPathTest.sh - test/tools/javac/ClassPathTest/ClassPathTest1.java - test/tools/javac/ClassPathTest/ClassPathTest2.java - test/tools/javac/ClassPathTest/ClassPathTest3.java - test/tools/javac/ClassPathTest/bar/pkg/ClassPathTestAux2.java - test/tools/javac/ClassPathTest/foo/pkg/ClassPathTestAux1.java - test/tools/javac/ClassPathTest/pkg/ClassPathTestAux3.java + test/tools/javac/ExtDirs/ExtDirTest.java - test/tools/javac/ExtDirs/ExtDirTest_1.java - test/tools/javac/ExtDirs/ExtDirTest_2.java - test/tools/javac/ExtDirs/ExtDirTest_3.java - test/tools/javac/ExtDirs/ExtDirs.sh - test/tools/javac/MissingInclude.java - test/tools/javac/MissingInclude.sh + test/tools/javac/MissingInclude/MissingIncludeTest.java - test/tools/javac/ProtectedInnerClass/ProtectedInnerClass.sh - test/tools/javac/ProtectedInnerClass/ProtectedInnerClass_2.java + test/tools/javac/ProtectedInnerClass/ProtectedInnerClassesTest.java - test/tools/javac/ProtectedInnerClass/p1/ProtectedInnerClass1.java - test/tools/javac/ProtectedInnerClass/p2/ProtectedInnerClass2.java - test/tools/javac/ProtectedInnerClass/p2/ProtectedInnerClass3.java + test/tools/javac/T5090006/AssertionFailureTest.java - test/tools/javac/T5090006/T5090006.java - test/tools/javac/T5090006/compiler.sh - test/tools/javac/constDebug/ConstDebug.java - test/tools/javac/constDebug/ConstDebug.sh + test/tools/javac/constDebug/ConstDebugTest.java - test/tools/javac/fatalErrors/NoJavaLang.java - test/tools/javac/fatalErrors/NoJavaLang.out - test/tools/javac/fatalErrors/NoJavaLang.sh + test/tools/javac/fatalErrors/NoJavaLangTest.java - test/tools/javac/innerClassFile/Driver.sh + test/tools/javac/innerClassFile/InnerClassFileTest.java - test/tools/javac/innerClassFile/x/B.java - test/tools/javac/innerClassFile/x/C.java - test/tools/javac/innerClassFile/y/Main.java - test/tools/javac/innerClassFile/y/R1.java - test/tools/javac/innerClassFile/y/R2.java - test/tools/javac/innerClassFile/y/R3.java - test/tools/javac/javazip/A.java + test/tools/javac/javazip/JavaZipTest.java - test/tools/javac/javazip/Test.sh - test/tools/javac/javazip/bad/B.java - test/tools/javac/javazip/good/B.java + test/tools/javac/lib/ToolBox.java + test/tools/javac/links/LinksTest.java - test/tools/javac/links/T.java - test/tools/javac/links/b/B.java - test/tools/javac/links/links.sh + test/tools/javac/newlines/NewLineTest.java - test/tools/javac/newlines/Newlines.sh + test/tools/javac/stackmap/StackMapTest.java - test/tools/javac/stackmap/T4955930.java - test/tools/javac/stackmap/T4955930.sh ! test/tools/javac/unicode/SupplementaryJavaID6.java - test/tools/javac/unicode/SupplementaryJavaID6.sh + test/tools/javah/6257087/T6257087.java - test/tools/javah/6257087/foo.java - test/tools/javah/6257087/foo.sh - test/tools/javah/6257087/foo_bar.h - test/tools/javah/ConstMacroTest.sh - test/tools/javah/MissingParamClassException.java - test/tools/javah/MissingParamClassTest.sh - test/tools/javah/ParamClassTest.java - test/tools/javah/SubClassConsts.java - test/tools/javah/SubClassConsts.out - test/tools/javah/SubClassConsts.win - test/tools/javah/SuperClassConsts.java + test/tools/javah/T4942232/MissingParamClassTest.java + test/tools/javah/constMacroTest/ConstMacroTest.java + test/tools/javap/4798312/JavapShouldLoadClassesFromRTJarTest.java + test/tools/javap/4866831/PublicInterfaceTest.java - test/tools/javap/NotPackagePrivateInterface.java - test/tools/javap/PublicInterfaceTest.sh - test/tools/javap/pathsep.sh + test/tools/javap/stackmap/StackmapTest.java - test/tools/javap/stackmap/T6271292.java - test/tools/javap/stackmap/T6271292.out - test/tools/javap/stackmap/T6271292.sh From serguei.spitsyn at oracle.com Tue Feb 19 10:30:37 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Tue, 19 Feb 2013 10:30:37 -0800 Subject: RFR: JDK-8007804: Need to be able to access Performance counter by name from JVM In-Reply-To: <512375A4.6070301@oracle.com> References: <51152A60.8000004@oracle.com> <5115B0B5.9030004@oracle.com> <51235D5E.6010103@oracle.com> <512375A4.6070301@oracle.com> Message-ID: <5123C4CD.8010607@oracle.com> Looks good. Thanks, Serguei On 2/19/13 4:52 AM, Nils Loodin wrote: > Here's the updated webrev: > > http://cr.openjdk.java.net/~nloodin/8007804/webrev.01/ > > Regards, > Nils Loodin > > On 02/19/2013 12:09 PM, Nils Loodin wrote: >> On 02/09/2013 03:13 AM, David Holmes wrote: >>> On 9/02/2013 2:40 AM, Nils Loodin wrote: >>>> Please review the following very small and insignificant change: >>>> Basically, I need to access a performance-counter by name from within >>>> the JVM. >>> >>> The method name by_name seems a little odd to me. find_by_name would >>> seem more consistent (particularly if you consider the strange >>> PerfDataList::by_name method - which compares names) >> >> >> I think you're right. I'll rename it to find_by_name instead and send >> out another webrev. >> >> Nisse >> >>> >>> David >>> >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007804 >>>> http://cr.openjdk.java.net/~nloodin/8007804/webrev.00/ >>>> >>>> Regards, >>>> Nils Loodin >>>> >>>> >> > From harold.seigel at oracle.com Tue Feb 19 10:29:25 2013 From: harold.seigel at oracle.com (harold.seigel at oracle.com) Date: Tue, 19 Feb 2013 18:29:25 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 6749267: Signal handler should save/restore errno Message-ID: <20130219182929.5712B47BA6@hg.openjdk.java.net> Changeset: 5cd2fac2ae70 Author: hseigel Date: 2013-02-19 08:51 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/5cd2fac2ae70 6749267: Signal handler should save/restore errno Summary: Save errno before processing signal, then restore it. Reviewed-by: acorn, sspitsyn ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp From naoto.sato at oracle.com Tue Feb 19 10:35:14 2013 From: naoto.sato at oracle.com (naoto.sato at oracle.com) Date: Tue, 19 Feb 2013 18:35:14 +0000 Subject: hg: jdk8/tl/jdk: 7092447: Clarify the default locale used in each locale sensitive operation Message-ID: <20130219183537.5621847BA7@hg.openjdk.java.net> Changeset: af396ec087f4 Author: naoto Date: 2013-02-19 10:34 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/af396ec087f4 7092447: Clarify the default locale used in each locale sensitive operation Reviewed-by: okutsu ! src/share/classes/java/text/DateFormat.java ! src/share/classes/java/text/DateFormatSymbols.java ! src/share/classes/java/text/DecimalFormat.java ! src/share/classes/java/text/DecimalFormatSymbols.java ! src/share/classes/java/text/MessageFormat.java ! src/share/classes/java/text/NumberFormat.java ! src/share/classes/java/text/SimpleDateFormat.java ! src/share/classes/java/time/format/DateTimeFormatSymbols.java ! src/share/classes/java/util/Calendar.java ! src/share/classes/java/util/Currency.java ! src/share/classes/java/util/Formatter.java ! src/share/classes/java/util/GregorianCalendar.java ! src/share/classes/java/util/Locale.java ! src/share/classes/java/util/Scanner.java From jonathan.gibbons at oracle.com Tue Feb 19 10:50:02 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Tue, 19 Feb 2013 10:50:02 -0800 Subject: hg: jdk8/tl/langtools: 8006212: javac, convert jtreg tests from shell script to java In-Reply-To: <20130219175447.0916147BA5@hg.openjdk.java.net> References: <20130219175447.0916147BA5@hg.openjdk.java.net> Message-ID: <5123C95A.3060703@oracle.com> Woohoo -- 23 shell tests replaced with equivalent Java code: that's over 2/3 of the shell tests in langtools/test. -- Jon On 02/19/2013 09:54 AM, vicente.romero at oracle.com wrote: > Changeset: dc8b7aa7cef3 > Author: vromero > Date: 2013-02-19 17:53 +0000 > URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/dc8b7aa7cef3 > > 8006212: javac, convert jtreg tests from shell script to java > Reviewed-by: jjg > > ! src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java > ! src/share/classes/com/sun/tools/javac/util/ArrayUtils.java > + test/tools/apt/Basics/CheckAptIsRemovedTest.java > - test/tools/apt/Basics/NullAPF.java > - test/tools/apt/Basics/apt.sh > - test/tools/apt/verifyVariables.sh > + test/tools/javac/4846262/CheckEBCDICLocaleTest.java > - test/tools/javac/4846262/Test.java > - test/tools/javac/4846262/Test.out > - test/tools/javac/4846262/Test.sh > + test/tools/javac/6302184/HiddenOptionsShouldUseGivenEncodingTest.java > - test/tools/javac/6302184/T6302184.sh > + test/tools/javac/ClassPathTest/ClassPathTest.java > - test/tools/javac/ClassPathTest/ClassPathTest.sh > - test/tools/javac/ClassPathTest/ClassPathTest1.java > - test/tools/javac/ClassPathTest/ClassPathTest2.java > - test/tools/javac/ClassPathTest/ClassPathTest3.java > - test/tools/javac/ClassPathTest/bar/pkg/ClassPathTestAux2.java > - test/tools/javac/ClassPathTest/foo/pkg/ClassPathTestAux1.java > - test/tools/javac/ClassPathTest/pkg/ClassPathTestAux3.java > + test/tools/javac/ExtDirs/ExtDirTest.java > - test/tools/javac/ExtDirs/ExtDirTest_1.java > - test/tools/javac/ExtDirs/ExtDirTest_2.java > - test/tools/javac/ExtDirs/ExtDirTest_3.java > - test/tools/javac/ExtDirs/ExtDirs.sh > - test/tools/javac/MissingInclude.java > - test/tools/javac/MissingInclude.sh > + test/tools/javac/MissingInclude/MissingIncludeTest.java > - test/tools/javac/ProtectedInnerClass/ProtectedInnerClass.sh > - test/tools/javac/ProtectedInnerClass/ProtectedInnerClass_2.java > + test/tools/javac/ProtectedInnerClass/ProtectedInnerClassesTest.java > - test/tools/javac/ProtectedInnerClass/p1/ProtectedInnerClass1.java > - test/tools/javac/ProtectedInnerClass/p2/ProtectedInnerClass2.java > - test/tools/javac/ProtectedInnerClass/p2/ProtectedInnerClass3.java > + test/tools/javac/T5090006/AssertionFailureTest.java > - test/tools/javac/T5090006/T5090006.java > - test/tools/javac/T5090006/compiler.sh > - test/tools/javac/constDebug/ConstDebug.java > - test/tools/javac/constDebug/ConstDebug.sh > + test/tools/javac/constDebug/ConstDebugTest.java > - test/tools/javac/fatalErrors/NoJavaLang.java > - test/tools/javac/fatalErrors/NoJavaLang.out > - test/tools/javac/fatalErrors/NoJavaLang.sh > + test/tools/javac/fatalErrors/NoJavaLangTest.java > - test/tools/javac/innerClassFile/Driver.sh > + test/tools/javac/innerClassFile/InnerClassFileTest.java > - test/tools/javac/innerClassFile/x/B.java > - test/tools/javac/innerClassFile/x/C.java > - test/tools/javac/innerClassFile/y/Main.java > - test/tools/javac/innerClassFile/y/R1.java > - test/tools/javac/innerClassFile/y/R2.java > - test/tools/javac/innerClassFile/y/R3.java > - test/tools/javac/javazip/A.java > + test/tools/javac/javazip/JavaZipTest.java > - test/tools/javac/javazip/Test.sh > - test/tools/javac/javazip/bad/B.java > - test/tools/javac/javazip/good/B.java > + test/tools/javac/lib/ToolBox.java > + test/tools/javac/links/LinksTest.java > - test/tools/javac/links/T.java > - test/tools/javac/links/b/B.java > - test/tools/javac/links/links.sh > + test/tools/javac/newlines/NewLineTest.java > - test/tools/javac/newlines/Newlines.sh > + test/tools/javac/stackmap/StackMapTest.java > - test/tools/javac/stackmap/T4955930.java > - test/tools/javac/stackmap/T4955930.sh > ! test/tools/javac/unicode/SupplementaryJavaID6.java > - test/tools/javac/unicode/SupplementaryJavaID6.sh > + test/tools/javah/6257087/T6257087.java > - test/tools/javah/6257087/foo.java > - test/tools/javah/6257087/foo.sh > - test/tools/javah/6257087/foo_bar.h > - test/tools/javah/ConstMacroTest.sh > - test/tools/javah/MissingParamClassException.java > - test/tools/javah/MissingParamClassTest.sh > - test/tools/javah/ParamClassTest.java > - test/tools/javah/SubClassConsts.java > - test/tools/javah/SubClassConsts.out > - test/tools/javah/SubClassConsts.win > - test/tools/javah/SuperClassConsts.java > + test/tools/javah/T4942232/MissingParamClassTest.java > + test/tools/javah/constMacroTest/ConstMacroTest.java > + test/tools/javap/4798312/JavapShouldLoadClassesFromRTJarTest.java > + test/tools/javap/4866831/PublicInterfaceTest.java > - test/tools/javap/NotPackagePrivateInterface.java > - test/tools/javap/PublicInterfaceTest.sh > - test/tools/javap/pathsep.sh > + test/tools/javap/stackmap/StackmapTest.java > - test/tools/javap/stackmap/T6271292.java > - test/tools/javap/stackmap/T6271292.out > - test/tools/javap/stackmap/T6271292.sh > From dean.long at oracle.com Tue Feb 19 10:56:19 2013 From: dean.long at oracle.com (Dean Long) Date: Tue, 19 Feb 2013 10:56:19 -0800 Subject: RFR(XXS): 8007147: Trace event ExecuteVMOperation may get dangling pointer In-Reply-To: References: <5121A8C1.2040908@oracle.com> <304895d9-73da-4c67-a5b3-a47cbcd01924@default> Message-ID: <5123CAD3.90301@oracle.com> When the VM_Operation is created, we could take a snapshot of the thread_id of the caller, then use that later. Or we could block the creating thread from fully exiting until the VM op executes. dl On 2/19/2013 1:59 AM, Staffan Larsen wrote: > I don't like this solution since we are swallowing information that could potentially be interesting (that a VMOperation happened). I think it's fine to say that in the case of non-blocking VMOperations, the caller thread will be undefined or set to 0. We could add that information to the event field description in traceevents.xml so that it is documented. > > /Staffan > > > On 19 feb 2013, at 10:47, Markus Gr?nlund wrote: > >> Hi David, >> >> Thanks for taking a look. >> >> The original idea was to use thread id 0 as a signal for "Unknown Thread" or "no thread" if you like - however, there is nothing actually enforcing this; it was more of an implicit assumption (and to be honest, the only OS which I know for sure will never give a tid of 0 is Windows). I have tried to find information if a 0 will ever be given out by pthreads and mach_t, but I mostly find info on "process relative opaque id"...so it could be likely that a 0 is used as a valid tid here (probably unlikely but still...) >> >> Also, I see that the tracing output just happily gives out tid == 0 if I write it in as suggested in webrev01...I am not entirely happy with this. If we view 0 as "Unknown Thread", this should maybe be treated differently. >> >> I don't know yet what Id I will be able to use here to signal the fact that thread is unknown (in a platform agnostic way) - but I will try to come up with something. >> >> In the interim, we should just avoid committing the event for non-concurrent VM operations event altogether (I have mostly seen these as EnableBiasLocking and Thread.Stop's). >> >> The updated webrev02 gives a suggestion on only committing the tracing event for non-concurrent vm ops: >> >> http://cr.openjdk.java.net/~mgronlun/8007147/webrev02/ >> >> (follow up work will also need rework the event fields). >> >> Thanks >> Markus >> >> >> >> -----Original Message----- >> From: David Holmes >> Sent: den 18 februari 2013 05:06 >> To: Markus Gr?nlund >> Cc: serviceability-dev at openjdk.java.net; hotspot-runtime-dev at openjdk.java.net >> Subject: Re: RFR(XXS): 8007147: Trace event ExecuteVMOperation may get dangling pointer >> >> Hi Markus, >> >> So is zero as a thread id defined to mean "no thread" ? >> >> David >> >> On 13/02/2013 12:03 AM, Markus Gr?nlund wrote: >>> Greetings, >>> >>> Kindly asking for reviews and a putback sponsorship for the following >>> change: >>> >>> Bugid: http://bugs.sun.com/view_bug.do?bug_id=8007147 >>> >>> Webrev: http://cr.openjdk.java.net/~mgronlun/8007147/webrev01/ >>> >>> Please also note this is for hs24. >>> >>> Thanks to David Holmes for pointing out this problem. >>> >>> Thanks >>> >>> Markus >>> From staffan.larsen at oracle.com Tue Feb 19 11:00:30 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Tue, 19 Feb 2013 20:00:30 +0100 Subject: RFR(XXS): 8007147: Trace event ExecuteVMOperation may get dangling pointer In-Reply-To: <5123CAD3.90301@oracle.com> References: <5121A8C1.2040908@oracle.com> <304895d9-73da-4c67-a5b3-a47cbcd01924@default> <5123CAD3.90301@oracle.com> Message-ID: On 19 feb 2013, at 19:56, Dean Long wrote: > When the VM_Operation is created, we could take a snapshot of the thread_id of the caller, then use that later. One problem with that is if the thread_id gets reused for a new thread quickly after the old thread terminates. This is perhps ulikely, but could happen. > Or we could block the creating thread from fully exiting until the VM op executes. That would introduce a lot more synchronization and state to keep track of. /Staffan -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130219/61338d52/attachment-0001.html From staffan.larsen at oracle.com Tue Feb 19 11:01:43 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Tue, 19 Feb 2013 20:01:43 +0100 Subject: RFR: JDK-8007804: Need to be able to access Performance counter by name from JVM In-Reply-To: <512375A4.6070301@oracle.com> References: <51152A60.8000004@oracle.com> <5115B0B5.9030004@oracle.com> <51235D5E.6010103@oracle.com> <512375A4.6070301@oracle.com> Message-ID: Looks good. /Staffan On 19 feb 2013, at 13:52, Nils Loodin wrote: > Here's the updated webrev: > > http://cr.openjdk.java.net/~nloodin/8007804/webrev.01/ > > Regards, > Nils Loodin > > On 02/19/2013 12:09 PM, Nils Loodin wrote: >> On 02/09/2013 03:13 AM, David Holmes wrote: >>> On 9/02/2013 2:40 AM, Nils Loodin wrote: >>>> Please review the following very small and insignificant change: >>>> Basically, I need to access a performance-counter by name from within >>>> the JVM. >>> >>> The method name by_name seems a little odd to me. find_by_name would >>> seem more consistent (particularly if you consider the strange >>> PerfDataList::by_name method - which compares names) >> >> >> I think you're right. I'll rename it to find_by_name instead and send >> out another webrev. >> >> Nisse >> >>> >>> David >>> >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007804 >>>> http://cr.openjdk.java.net/~nloodin/8007804/webrev.00/ >>>> >>>> Regards, >>>> Nils Loodin >>>> >>>> >> > From erik.gahlin at oracle.com Tue Feb 19 11:28:22 2013 From: erik.gahlin at oracle.com (Erik Gahlin) Date: Tue, 19 Feb 2013 20:28:22 +0100 Subject: RFR(XXS): 8007147: Trace event ExecuteVMOperation may get dangling pointer In-Reply-To: References: <5121A8C1.2040908@oracle.com> <304895d9-73da-4c67-a5b3-a47cbcd01924@default> Message-ID: <5123D256.5040904@oracle.com> I agree, it's better to emit 0, which we have used as "not available" in other events. Erik Staffan Larsen skrev 2013-02-19 10:59: > I don't like this solution since we are swallowing information that could potentially be interesting (that a VMOperation happened). I think it's fine to say that in the case of non-blocking VMOperations, the caller thread will be undefined or set to 0. We could add that information to the event field description in traceevents.xml so that it is documented. > > /Staffan > > > On 19 feb 2013, at 10:47, Markus Gr?nlund wrote: > >> Hi David, >> >> Thanks for taking a look. >> >> The original idea was to use thread id 0 as a signal for "Unknown Thread" or "no thread" if you like - however, there is nothing actually enforcing this; it was more of an implicit assumption (and to be honest, the only OS which I know for sure will never give a tid of 0 is Windows). I have tried to find information if a 0 will ever be given out by pthreads and mach_t, but I mostly find info on "process relative opaque id"...so it could be likely that a 0 is used as a valid tid here (probably unlikely but still...) >> >> Also, I see that the tracing output just happily gives out tid == 0 if I write it in as suggested in webrev01...I am not entirely happy with this. If we view 0 as "Unknown Thread", this should maybe be treated differently. >> >> I don't know yet what Id I will be able to use here to signal the fact that thread is unknown (in a platform agnostic way) - but I will try to come up with something. >> >> In the interim, we should just avoid committing the event for non-concurrent VM operations event altogether (I have mostly seen these as EnableBiasLocking and Thread.Stop's). >> >> The updated webrev02 gives a suggestion on only committing the tracing event for non-concurrent vm ops: >> >> http://cr.openjdk.java.net/~mgronlun/8007147/webrev02/ >> >> (follow up work will also need rework the event fields). >> >> Thanks >> Markus >> >> >> >> -----Original Message----- >> From: David Holmes >> Sent: den 18 februari 2013 05:06 >> To: Markus Gr?nlund >> Cc: serviceability-dev at openjdk.java.net; hotspot-runtime-dev at openjdk.java.net >> Subject: Re: RFR(XXS): 8007147: Trace event ExecuteVMOperation may get dangling pointer >> >> Hi Markus, >> >> So is zero as a thread id defined to mean "no thread" ? >> >> David >> >> On 13/02/2013 12:03 AM, Markus Gr?nlund wrote: >>> Greetings, >>> >>> Kindly asking for reviews and a putback sponsorship for the following >>> change: >>> >>> Bugid: http://bugs.sun.com/view_bug.do?bug_id=8007147 >>> >>> Webrev: http://cr.openjdk.java.net/~mgronlun/8007147/webrev01/ >>> >>> Please also note this is for hs24. >>> >>> Thanks to David Holmes for pointing out this problem. >>> >>> Thanks >>> >>> Markus >>> From dean.long at oracle.com Tue Feb 19 11:30:37 2013 From: dean.long at oracle.com (Dean Long) Date: Tue, 19 Feb 2013 11:30:37 -0800 Subject: RFR(XXS): 8007147: Trace event ExecuteVMOperation may get dangling pointer In-Reply-To: References: <5121A8C1.2040908@oracle.com> <304895d9-73da-4c67-a5b3-a47cbcd01924@default> <5123CAD3.90301@oracle.com> Message-ID: <5123D2DD.9090001@oracle.com> On 2/19/2013 11:00 AM, Staffan Larsen wrote: > > On 19 feb 2013, at 19:56, Dean Long > wrote: > >> When the VM_Operation is created, we could take a snapshot of the >> thread_id of the caller, then use that later. > > One problem with that is if the thread_id gets reused for a new thread > quickly after the old thread terminates. This is perhps ulikely, but > could happen. > >> Or we could block the creating thread from fully exiting until the VM >> op executes. > > That would introduce a lot more synchronization and state to keep > track of. > I think we could do it with a reference count on the thread, a wait in thread exit, and a notify in the VM thread. We have a similar dangling pointer problem with JVMTI (7154963), and a reference count should solve that problem as well. dl > /Staffan > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130219/b8dbc521/attachment.html From mike.duigou at oracle.com Tue Feb 19 11:58:06 2013 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Tue, 19 Feb 2013 19:58:06 +0000 Subject: hg: jdk8/tl/jdk: 8004561: Additional functional interfaces, extension methods and name changes Message-ID: <20130219195818.338C147BAD@hg.openjdk.java.net> Changeset: 16efb7ba188f Author: mduigou Date: 2013-02-19 11:56 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/16efb7ba188f 8004561: Additional functional interfaces, extension methods and name changes Summary: Adds additional functional interfaces for primitives and "Bi" (two operand). Adds utility extension methods. Includes some name changes for existing functional interfaces per EG decisions. Reviewed-by: briangoetz, darcy, chegar, dholmes ! src/share/classes/java/time/chrono/HijrahDeviationReader.java ! src/share/classes/java/util/concurrent/atomic/AtomicInteger.java ! src/share/classes/java/util/concurrent/atomic/AtomicIntegerArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicLong.java ! src/share/classes/java/util/concurrent/atomic/AtomicLongArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicLongFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicReference.java ! src/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/DoubleAccumulator.java ! src/share/classes/java/util/concurrent/atomic/LongAccumulator.java ! src/share/classes/java/util/concurrent/atomic/Striped64.java + src/share/classes/java/util/function/BiConsumer.java + src/share/classes/java/util/function/BiFunction.java + src/share/classes/java/util/function/BiPredicate.java ! src/share/classes/java/util/function/BinaryOperator.java - src/share/classes/java/util/function/Block.java + src/share/classes/java/util/function/BooleanSupplier.java + src/share/classes/java/util/function/Consumer.java ! src/share/classes/java/util/function/DoubleBinaryOperator.java - src/share/classes/java/util/function/DoubleBlock.java + src/share/classes/java/util/function/DoubleConsumer.java ! src/share/classes/java/util/function/DoubleFunction.java + src/share/classes/java/util/function/DoublePredicate.java ! src/share/classes/java/util/function/DoubleSupplier.java ! src/share/classes/java/util/function/DoubleUnaryOperator.java ! src/share/classes/java/util/function/Function.java ! src/share/classes/java/util/function/IntBinaryOperator.java - src/share/classes/java/util/function/IntBlock.java + src/share/classes/java/util/function/IntConsumer.java ! src/share/classes/java/util/function/IntFunction.java + src/share/classes/java/util/function/IntPredicate.java ! src/share/classes/java/util/function/IntSupplier.java ! src/share/classes/java/util/function/IntUnaryOperator.java ! src/share/classes/java/util/function/LongBinaryOperator.java - src/share/classes/java/util/function/LongBlock.java + src/share/classes/java/util/function/LongConsumer.java ! src/share/classes/java/util/function/LongFunction.java + src/share/classes/java/util/function/LongPredicate.java ! src/share/classes/java/util/function/LongSupplier.java ! src/share/classes/java/util/function/LongUnaryOperator.java + src/share/classes/java/util/function/ObjDoubleConsumer.java + src/share/classes/java/util/function/ObjIntConsumer.java + src/share/classes/java/util/function/ObjLongConsumer.java ! src/share/classes/java/util/function/Predicate.java + src/share/classes/java/util/function/ToDoubleBiFunction.java + src/share/classes/java/util/function/ToDoubleFunction.java + src/share/classes/java/util/function/ToIntBiFunction.java + src/share/classes/java/util/function/ToIntFunction.java + src/share/classes/java/util/function/ToLongBiFunction.java + src/share/classes/java/util/function/ToLongFunction.java ! src/share/classes/java/util/function/UnaryOperator.java ! src/share/classes/java/util/function/package-info.java ! test/java/lang/PrimitiveSumMinMaxTest.java From sean.mullan at oracle.com Tue Feb 19 12:32:12 2013 From: sean.mullan at oracle.com (sean.mullan at oracle.com) Date: Tue, 19 Feb 2013 20:32:12 +0000 Subject: hg: jdk8/tl/jdk: 8008107: [parfait] Use after free of pointer in jdk/src/share/native/sun/security/pkcs11/wrapper/p11_convert.c Message-ID: <20130219203225.2BB1847BB2@hg.openjdk.java.net> Changeset: 267bca6af07e Author: jzavgren Date: 2013-02-19 15:31 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/267bca6af07e 8008107: [parfait] Use after free of pointer in jdk/src/share/native/sun/security/pkcs11/wrapper/p11_convert.c Reviewed-by: mullan, chegar ! src/share/native/sun/security/pkcs11/wrapper/p11_convert.c From daniel.daugherty at oracle.com Tue Feb 19 15:48:10 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Tue, 19 Feb 2013 16:48:10 -0700 Subject: Code Review fix for 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly Message-ID: <51240F3A.6060004@oracle.com> Greetings, I'm sponsoring this code review request from Ron Durbin. This change is targeted at JDK8/HSX-25 in the RT_Baseline repo. Dan I have a proposed fix for the following bug: 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6799919 https://jbs.oracle.com/bugs/browse/JDK-6799919 This is one of those bug fixes where the commit message nicely describes the change: 6799919: Recursive calls to report_vm_out_of_memory are handled incorrectly Summary: report_vm_out_of_memory() should allow VMError.report_and_die() to handle multiple out of native memory errors. Reviewed-by: dcubed, Contributed-by ron.durbin at oracle.com Here is the webrev URL: http://cr.openjdk.java.net/~dcubed/for_rdurbin/6799919-webrev/0-hsx25 Testing: - See the READ_ME file attached to the JDK-6799919 for the gory details of the testing needed to reproduce this failure and verify the fix - regular JPRT test job is in process Comments, questions and suggestions are welcome. Ron From daniel.daugherty at oracle.com Tue Feb 19 15:50:30 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Tue, 19 Feb 2013 16:50:30 -0700 Subject: Code Review fix for 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly In-Reply-To: <51240F3A.6060004@oracle.com> References: <51240F3A.6060004@oracle.com> Message-ID: <51240FC6.5070709@oracle.com> For the record, "thumbs up". > http://cr.openjdk.java.net/~dcubed/for_rdurbin/6799919-webrev/0-hsx25 src/share/vm/utilities/debug.cpp No comments. Dan On 2/19/13 4:48 PM, Daniel D. Daugherty wrote: > Greetings, > > I'm sponsoring this code review request from Ron Durbin. This change > is targeted at JDK8/HSX-25 in the RT_Baseline repo. > > Dan > > > I have a proposed fix for the following bug: > > 6799919 Recursive calls to report_vm_out_of_memory are handled > incorrectly > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6799919 > https://jbs.oracle.com/bugs/browse/JDK-6799919 > > This is one of those bug fixes where the commit message nicely describes > the change: > > 6799919: Recursive calls to report_vm_out_of_memory are handled > incorrectly > Summary: report_vm_out_of_memory() should allow > VMError.report_and_die() to handle multiple out of native memory errors. > Reviewed-by: dcubed, > Contributed-by ron.durbin at oracle.com > > Here is the webrev URL: > > http://cr.openjdk.java.net/~dcubed/for_rdurbin/6799919-webrev/0-hsx25 > > Testing: > - See the READ_ME file attached to the JDK-6799919 for the gory > details > of the testing needed to reproduce this failure and verify the fix > - regular JPRT test job is in process > > Comments, questions and suggestions are welcome. > > Ron From coleen.phillimore at oracle.com Tue Feb 19 16:05:38 2013 From: coleen.phillimore at oracle.com (coleen.phillimore at oracle.com) Date: Wed, 20 Feb 2013 00:05:38 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 2 new changesets Message-ID: <20130220000542.3ED1047BBB@hg.openjdk.java.net> Changeset: 56c364daccc3 Author: emc Date: 2013-02-19 11:36 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/56c364daccc3 8007153: Ensure that MethodParameters API works properly with RedefineClasses Summary: Adds code to HotSpot to properly update MethodParameter attributes' constant pool indexes when redefineClasses is called Reviewed-by: coleenp, sspitsyn ! src/share/vm/oops/method.hpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp Changeset: 1048edb5434a Author: coleenp Date: 2013-02-19 13:33 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/1048edb5434a Merge From david.holmes at oracle.com Tue Feb 19 16:53:33 2013 From: david.holmes at oracle.com (David Holmes) Date: Wed, 20 Feb 2013 10:53:33 +1000 Subject: RFR: JDK-8007804: Need to be able to access Performance counter by name from JVM In-Reply-To: <512375A4.6070301@oracle.com> References: <51152A60.8000004@oracle.com> <5115B0B5.9030004@oracle.com> <51235D5E.6010103@oracle.com> <512375A4.6070301@oracle.com> Message-ID: <51241E8D.50308@oracle.com> Thanks Nils. Looks good to me too. David On 19/02/2013 10:52 PM, Nils Loodin wrote: > Here's the updated webrev: > > http://cr.openjdk.java.net/~nloodin/8007804/webrev.01/ > > Regards, > Nils Loodin > > On 02/19/2013 12:09 PM, Nils Loodin wrote: >> On 02/09/2013 03:13 AM, David Holmes wrote: >>> On 9/02/2013 2:40 AM, Nils Loodin wrote: >>>> Please review the following very small and insignificant change: >>>> Basically, I need to access a performance-counter by name from within >>>> the JVM. >>> >>> The method name by_name seems a little odd to me. find_by_name would >>> seem more consistent (particularly if you consider the strange >>> PerfDataList::by_name method - which compares names) >> >> >> I think you're right. I'll rename it to find_by_name instead and send >> out another webrev. >> >> Nisse >> >>> >>> David >>> >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007804 >>>> http://cr.openjdk.java.net/~nloodin/8007804/webrev.00/ >>>> >>>> Regards, >>>> Nils Loodin >>>> >>>> >> > From kumar.x.srinivasan at oracle.com Tue Feb 19 17:41:00 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Wed, 20 Feb 2013 01:41:00 +0000 Subject: hg: jdk8/tl/jdk: 8008262: pack200 should support MethodParameters - part 2 Message-ID: <20130220014112.58B8347BBD@hg.openjdk.java.net> Changeset: ec1a79c3a99c Author: ksrini Date: 2013-02-19 16:49 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ec1a79c3a99c 8008262: pack200 should support MethodParameters - part 2 Reviewed-by: jrose ! 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/PackageReader.java ! src/share/native/com/sun/java/util/jar/pack/bands.cpp ! src/share/native/com/sun/java/util/jar/pack/bands.h ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp ! test/tools/pack200/AttributeTests.java ! test/tools/pack200/Utils.java From kumar.x.srinivasan at oracle.com Tue Feb 19 17:42:18 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Wed, 20 Feb 2013 01:42:18 +0000 Subject: hg: jdk8/tl/langtools: 8006948: Update javac for MethodParameters format change Message-ID: <20130220014220.9FB7447BBE@hg.openjdk.java.net> Changeset: 9345394ac8fe Author: ksrini Date: 2013-02-19 17:19 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/9345394ac8fe 8006948: Update javac for MethodParameters format change Reviewed-by: ksrini, forax Contributed-by: eric.mccorkle at oracle.com ! src/share/classes/com/sun/tools/classfile/ClassWriter.java ! src/share/classes/com/sun/tools/classfile/MethodParameters_attribute.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java From david.holmes at oracle.com Tue Feb 19 18:38:29 2013 From: david.holmes at oracle.com (David Holmes) Date: Wed, 20 Feb 2013 12:38:29 +1000 Subject: RFR(XXS): 8007147: Trace event ExecuteVMOperation may get dangling pointer In-Reply-To: <5123D2DD.9090001@oracle.com> References: <5121A8C1.2040908@oracle.com> <304895d9-73da-4c67-a5b3-a47cbcd01924@default> <5123CAD3.90301@oracle.com> <5123D2DD.9090001@oracle.com> Message-ID: <51243725.9030907@oracle.com> On 20/02/2013 5:30 AM, Dean Long wrote: > On 2/19/2013 11:00 AM, Staffan Larsen wrote: >> >> On 19 feb 2013, at 19:56, Dean Long > > wrote: >> >>> When the VM_Operation is created, we could take a snapshot of the >>> thread_id of the caller, then use that later. >> >> One problem with that is if the thread_id gets reused for a new thread >> quickly after the old thread terminates. This is perhps ulikely, but >> could happen. >> >>> Or we could block the creating thread from fully exiting until the VM >>> op executes. >> >> That would introduce a lot more synchronization and state to keep >> track of. >> > I think we could do it with a reference count on the thread, a wait in > thread exit, and a notify in the VM thread. > We have a similar dangling pointer problem with JVMTI (7154963), and a > reference count should solve that problem as well. I think that proposal needs a lot more investigation, certainly it is well out of scope for this bug. There are potential dangling thread pointers all over the JVM interfaces. David ----- > > dl > >> /Staffan >> > From david.holmes at oracle.com Tue Feb 19 20:23:24 2013 From: david.holmes at oracle.com (David Holmes) Date: Wed, 20 Feb 2013 14:23:24 +1000 Subject: Code Review fix for 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly In-Reply-To: <51240F3A.6060004@oracle.com> References: <51240F3A.6060004@oracle.com> Message-ID: <51244FBC.3030708@oracle.com> The one-reporter only logic in report_and_die has been there for a very long time, pre-dating the addition of the check in report_vm_out_of_memory. So I have to wonder what prompted the inclusion of that guard originally? No doubt there was some failure case where we were getting recursive errors that just totally broke the error reporting. So while I can give this the Reviewer's tick if still needed. I suspect that this will be a case of fixing one specific example, but in the process potentially breaking others. David On 20/02/2013 9:48 AM, Daniel D. Daugherty wrote: > Greetings, > > I'm sponsoring this code review request from Ron Durbin. This change > is targeted at JDK8/HSX-25 in the RT_Baseline repo. > > Dan > > > I have a proposed fix for the following bug: > > 6799919 Recursive calls to report_vm_out_of_memory are handled > incorrectly > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6799919 > https://jbs.oracle.com/bugs/browse/JDK-6799919 > > This is one of those bug fixes where the commit message nicely describes > the change: > > 6799919: Recursive calls to report_vm_out_of_memory are handled incorrectly > Summary: report_vm_out_of_memory() should allow VMError.report_and_die() > to handle multiple out of native memory errors. > Reviewed-by: dcubed, > Contributed-by ron.durbin at oracle.com > > Here is the webrev URL: > > http://cr.openjdk.java.net/~dcubed/for_rdurbin/6799919-webrev/0-hsx25 > > Testing: > - See the READ_ME file attached to the JDK-6799919 for the gory details > of the testing needed to reproduce this failure and verify the fix > - regular JPRT test job is in process > > Comments, questions and suggestions are welcome. > > Ron From david.holmes at oracle.com Tue Feb 19 20:41:49 2013 From: david.holmes at oracle.com (David Holmes) Date: Wed, 20 Feb 2013 14:41:49 +1000 Subject: Code Review fix for 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly In-Reply-To: <51244FBC.3030708@oracle.com> References: <51240F3A.6060004@oracle.com> <51244FBC.3030708@oracle.com> Message-ID: <5124540D.2020202@oracle.com> Okay full disclosure. :) I filed this bug back in 2009 so I undoubtedly ran into a failure where this guard was causing the useful error information to be lost, and so I filed the bug. Now I am so much older and wiser I'm wondering about the original reason for the guard again. ;-) David On 20/02/2013 2:23 PM, David Holmes wrote: > The one-reporter only logic in report_and_die has been there for a very > long time, pre-dating the addition of the check in > report_vm_out_of_memory. So I have to wonder what prompted the inclusion > of that guard originally? No doubt there was some failure case where we > were getting recursive errors that just totally broke the error reporting. > > So while I can give this the Reviewer's tick if still needed. I suspect > that this will be a case of fixing one specific example, but in the > process potentially breaking others. > > David > > On 20/02/2013 9:48 AM, Daniel D. Daugherty wrote: >> Greetings, >> >> I'm sponsoring this code review request from Ron Durbin. This change >> is targeted at JDK8/HSX-25 in the RT_Baseline repo. >> >> Dan >> >> >> I have a proposed fix for the following bug: >> >> 6799919 Recursive calls to report_vm_out_of_memory are handled >> incorrectly >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6799919 >> https://jbs.oracle.com/bugs/browse/JDK-6799919 >> >> This is one of those bug fixes where the commit message nicely describes >> the change: >> >> 6799919: Recursive calls to report_vm_out_of_memory are handled >> incorrectly >> Summary: report_vm_out_of_memory() should allow VMError.report_and_die() >> to handle multiple out of native memory errors. >> Reviewed-by: dcubed, >> Contributed-by ron.durbin at oracle.com >> >> Here is the webrev URL: >> >> http://cr.openjdk.java.net/~dcubed/for_rdurbin/6799919-webrev/0-hsx25 >> >> Testing: >> - See the READ_ME file attached to the JDK-6799919 for the gory >> details >> of the testing needed to reproduce this failure and verify the fix >> - regular JPRT test job is in process >> >> Comments, questions and suggestions are welcome. >> >> Ron From daniel.daugherty at oracle.com Tue Feb 19 21:04:09 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Tue, 19 Feb 2013 22:04:09 -0700 Subject: Code Review fix for 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly In-Reply-To: <5124540D.2020202@oracle.com> References: <51240F3A.6060004@oracle.com> <51244FBC.3030708@oracle.com> <5124540D.2020202@oracle.com> Message-ID: <51245949.4030605@oracle.com> David, Thanks for the review! I had previously done a code history analysis for the offending code block as an example for Ron on how that is done in this crazy multi source code control system we call Java... Yes, this went from Mercurial back into TeamWare and I had to find the old rt_baseline workspace... We'll dig it up tomorrow and attach it to the bug report along with other analysis if needed. Dan On 2/19/13 9:41 PM, David Holmes wrote: > Okay full disclosure. :) I filed this bug back in 2009 so I > undoubtedly ran into a failure where this guard was causing the useful > error information to be lost, and so I filed the bug. > > Now I am so much older and wiser I'm wondering about the original > reason for the guard again. ;-) > > David > > On 20/02/2013 2:23 PM, David Holmes wrote: >> The one-reporter only logic in report_and_die has been there for a very >> long time, pre-dating the addition of the check in >> report_vm_out_of_memory. So I have to wonder what prompted the inclusion >> of that guard originally? No doubt there was some failure case where we >> were getting recursive errors that just totally broke the error >> reporting. >> >> So while I can give this the Reviewer's tick if still needed. I suspect >> that this will be a case of fixing one specific example, but in the >> process potentially breaking others. >> >> David >> >> On 20/02/2013 9:48 AM, Daniel D. Daugherty wrote: >>> Greetings, >>> >>> I'm sponsoring this code review request from Ron Durbin. This change >>> is targeted at JDK8/HSX-25 in the RT_Baseline repo. >>> >>> Dan >>> >>> >>> I have a proposed fix for the following bug: >>> >>> 6799919 Recursive calls to report_vm_out_of_memory are handled >>> incorrectly >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6799919 >>> https://jbs.oracle.com/bugs/browse/JDK-6799919 >>> >>> This is one of those bug fixes where the commit message nicely >>> describes >>> the change: >>> >>> 6799919: Recursive calls to report_vm_out_of_memory are handled >>> incorrectly >>> Summary: report_vm_out_of_memory() should allow >>> VMError.report_and_die() >>> to handle multiple out of native memory errors. >>> Reviewed-by: dcubed, >>> Contributed-by ron.durbin at oracle.com >>> >>> Here is the webrev URL: >>> >>> http://cr.openjdk.java.net/~dcubed/for_rdurbin/6799919-webrev/0-hsx25 >>> >>> Testing: >>> - See the READ_ME file attached to the JDK-6799919 for the gory >>> details >>> of the testing needed to reproduce this failure and verify the >>> fix >>> - regular JPRT test job is in process >>> >>> Comments, questions and suggestions are welcome. >>> >>> Ron From lana.steuck at oracle.com Tue Feb 19 21:40:31 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 20 Feb 2013 05:40:31 +0000 Subject: hg: jdk8/tl/corba: 2 new changesets Message-ID: <20130220054033.9558647BCE@hg.openjdk.java.net> Changeset: 27d6368ae8ba Author: katleman Date: 2013-02-14 11:43 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/27d6368ae8ba Added tag jdk8-b77 for changeset 35684a40c584 ! .hgtags Changeset: c528d8ce83f1 Author: lana Date: 2013-02-19 20:48 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/c528d8ce83f1 Merge From lana.steuck at oracle.com Tue Feb 19 21:40:31 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 20 Feb 2013 05:40:31 +0000 Subject: hg: jdk8/tl: 3 new changesets Message-ID: <20130220054031.A3D9A47BCD@hg.openjdk.java.net> Changeset: 45dcccc6d221 Author: katleman Date: 2013-02-14 11:43 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/45dcccc6d221 Added tag jdk8-b77 for changeset 3933eebc659d ! .hgtags Changeset: bbb7548d45c7 Author: lana Date: 2013-02-14 22:11 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/bbb7548d45c7 Merge Changeset: eca3bce3d151 Author: lana Date: 2013-02-19 20:48 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/eca3bce3d151 Merge From lana.steuck at oracle.com Tue Feb 19 21:40:36 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 20 Feb 2013 05:40:36 +0000 Subject: hg: jdk8/tl/jaxp: Added tag jdk8-b77 for changeset 573e789c187a Message-ID: <20130220054042.817EB47BCF@hg.openjdk.java.net> Changeset: 00958c5a7070 Author: katleman Date: 2013-02-14 11:43 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/00958c5a7070 Added tag jdk8-b77 for changeset 573e789c187a ! .hgtags From lana.steuck at oracle.com Tue Feb 19 21:40:40 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 20 Feb 2013 05:40:40 +0000 Subject: hg: jdk8/tl/langtools: 3 new changesets Message-ID: <20130220054051.84E8F47BD1@hg.openjdk.java.net> Changeset: bc24411bcc37 Author: katleman Date: 2013-02-14 11:44 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/bc24411bcc37 Added tag jdk8-b77 for changeset 89c664151689 ! .hgtags Changeset: a3aa32fe4536 Author: lana Date: 2013-02-14 22:11 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/a3aa32fe4536 Merge Changeset: 4cf6e84f844f Author: lana Date: 2013-02-19 20:53 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/4cf6e84f844f Merge From lana.steuck at oracle.com Tue Feb 19 21:40:40 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 20 Feb 2013 05:40:40 +0000 Subject: hg: jdk8/tl/jaxws: Added tag jdk8-b77 for changeset 64dfba1bad16 Message-ID: <20130220054044.CFFBD47BD0@hg.openjdk.java.net> Changeset: 391de4c992d1 Author: katleman Date: 2013-02-14 11:43 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jaxws/rev/391de4c992d1 Added tag jdk8-b77 for changeset 64dfba1bad16 ! .hgtags From lana.steuck at oracle.com Tue Feb 19 21:40:54 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 20 Feb 2013 05:40:54 +0000 Subject: hg: jdk8/tl/hotspot: 36 new changesets Message-ID: <20130220054204.A4CF347BD2@hg.openjdk.java.net> Changeset: 1f84c84f8e1a Author: katleman Date: 2013-02-14 11:43 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/1f84c84f8e1a Added tag jdk8-b77 for changeset cdb46031e718 ! .hgtags Changeset: 1a0174612b49 Author: amurillo Date: 2013-02-08 08:16 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/1a0174612b49 8007801: new hotspot build - hs25-b19 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 8d9fc28831cc Author: dcubed Date: 2013-02-06 14:31 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/8d9fc28831cc 7182152: Instrumentation hot swap test incorrect monitor count Summary: Add/refine new tracing support using -XX:TraceRedefineClasses=16384. Reviewed-by: coleenp, acorn, sspitsyn ! src/share/vm/oops/cpCache.cpp ! src/share/vm/oops/cpCache.hpp ! src/share/vm/oops/klassVtable.cpp ! src/share/vm/oops/klassVtable.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/jvmtiRedefineClasses.hpp ! src/share/vm/prims/jvmtiRedefineClassesTrace.hpp ! src/share/vm/utilities/accessFlags.cpp ! src/share/vm/utilities/accessFlags.hpp Changeset: 3a88007634b0 Author: ctornqvi Date: 2013-02-08 10:42 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/3a88007634b0 8007434: Write tests for 8006298 Summary: Four tests written for 8006298 Reviewed-by: mgerdin, coleenp + test/runtime/CommandLine/BooleanFlagWithInvalidValue.java + test/runtime/CommandLine/FlagWithInvalidValue.java + test/runtime/CommandLine/NonBooleanFlagWithInvalidBooleanPrefix.java + test/runtime/CommandLine/UnrecognizedVMOption.java Changeset: 758935f7c23f Author: sla Date: 2013-02-08 12:48 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/758935f7c23f 8006423: SA: NullPointerException in sun.jvm.hotspot.debugger.bsd.BsdThread.getContext(BsdThread.java:67) Summary: Do not rely on mach thread port names to identify threads from SA Reviewed-by: dholmes, minqi, rbackman ! agent/src/os/bsd/MacosxDebuggerLocal.m ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdThread.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/bsd_amd64/BsdAMD64JavaThreadPDAccess.java ! src/os/bsd/vm/osThread_bsd.hpp ! src/os/bsd/vm/os_bsd.cpp ! src/os_cpu/bsd_x86/vm/vmStructs_bsd_x86.hpp Changeset: 7194f764221c Author: sla Date: 2013-02-08 14:05 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/7194f764221c Merge Changeset: 461a3adac4d1 Author: sspitsyn Date: 2013-02-08 09:14 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/461a3adac4d1 Merge ! src/share/vm/oops/cpCache.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp Changeset: 8bf62bd86a4e Author: zgu Date: 2013-02-08 14:49 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/8bf62bd86a4e 8007791: More Restricted hs_err file permission Summary: Enforce more restricted hs_file permission Reviewed-by: acorn, dcubed, dsamersoff ! src/share/vm/utilities/vmError.cpp Changeset: 1ba5b18088a8 Author: zgu Date: 2013-02-08 14:32 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/1ba5b18088a8 Merge Changeset: 41d73c9b30a8 Author: zgu Date: 2013-02-08 16:31 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/41d73c9b30a8 8006691: Remove jvm_version_info.is_kernel_jvm field Summary: Removed is_kernel_jvm from jvm_version_info as Kernel VM has been deprecated Reviewed-by: mchung, coleenp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h Changeset: 3f11b37f047c Author: zgu Date: 2013-02-08 13:55 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/3f11b37f047c Merge Changeset: f989aff6946f Author: zgu Date: 2013-02-08 16:56 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/f989aff6946f Merge Changeset: 927a311d00f9 Author: coleenp Date: 2013-02-11 14:06 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/927a311d00f9 8007320: NPG: move method annotations Summary: allocate method annotations and attach to ConstMethod if present Reviewed-by: dcubed, jiangli, sspitsyn, iklam ! agent/src/share/classes/sun/jvm/hotspot/oops/ConstMethod.java ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp ! src/share/vm/classfile/defaultMethods.cpp ! src/share/vm/memory/heapInspection.hpp ! src/share/vm/oops/annotations.cpp ! src/share/vm/oops/annotations.hpp ! src/share/vm/oops/constMethod.cpp ! src/share/vm/oops/constMethod.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/jvmtiRedefineClasses.hpp ! src/share/vm/runtime/fieldDescriptor.cpp ! src/share/vm/runtime/vmStructs.cpp + test/runtime/8007320/ConstMethodTest.java Changeset: 5ee2b330eacd Author: zgu Date: 2013-02-12 12:19 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/5ee2b330eacd 8007950: Undo hs_file permission change Summary: Reverse hs_err file permission back to 0666, as early push was premature Reviewed-by: dsamersoff, dcubed, acorn ! src/share/vm/utilities/vmError.cpp Changeset: deb43b8a436e Author: sspitsyn Date: 2013-02-13 08:42 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/deb43b8a436e Merge Changeset: bce1ac447f6b Author: johnc Date: 2013-02-06 14:50 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/bce1ac447f6b 7052429: G1: Avoid unnecessary scanning of humongous regions during concurrent marking Summary: Skip unnecessary scanning of bitmap for unmarked humongous objects/regions. Reviewed-by: jwilhelm, johnc Contributed-by: Tao Mao ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/runtime/globals.hpp Changeset: f64ffbf81af5 Author: jwilhelm Date: 2013-02-07 15:51 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/f64ffbf81af5 8006432: Ratio flags should be unsigned Summary: Flags changed to be of uintx type Reviewed-by: johnc, tamao ! src/cpu/zero/vm/shark_globals_zero.hpp ! src/os_cpu/bsd_x86/vm/globals_bsd_x86.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: 5d8325eb8240 Author: brutisso Date: 2013-02-07 22:04 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/5d8325eb8240 Merge ! src/share/vm/runtime/thread.cpp Changeset: 9425ba04792d Author: brutisso Date: 2013-02-07 18:40 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/9425ba04792d Merge - agent/src/share/classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java - make/solaris/makefiles/kernel.make ! src/share/vm/runtime/arguments.cpp - test/runtime/7158988/TestFieldMonitor.sh Changeset: ad747ee9d0b1 Author: brutisso Date: 2013-02-10 21:15 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/ad747ee9d0b1 8002144: G1: large number of evacuation failures may lead to large c heap memory usage Summary: Use Stack<> instead of GrowableArray to keep track of preserved marks. Also reviewed by vitalyd at gmail.com. Reviewed-by: johnc, jcoomes ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Changeset: 5e401ef52ec0 Author: johnc Date: 2013-02-11 15:24 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/5e401ef52ec0 8007772: G1: assert(!hr->isHumongous() || mr.start() == hr->bottom()) failed: the start of HeapRegion and MemRegion should be consistent for humongous regions Summary: In do_marking_step(), we should always give up current region after scanning the object, if the region is humongous. Reviewed-by: brutisso, jwilhelm, tamao ! src/share/vm/gc_implementation/g1/concurrentMark.cpp Changeset: a83cd101fd62 Author: jmasa Date: 2013-01-23 19:08 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/a83cd101fd62 8005452: NPG: Create new flags for Metaspace resizing policy Reviewed-by: johnc, jwilhelm, coleenp, stefank ! src/share/vm/memory/metaspace.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: b8d5d7a6c94c Author: brutisso Date: 2013-02-14 11:01 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/b8d5d7a6c94c Merge ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/thread.cpp Changeset: 91a23b11d8dc Author: kvn Date: 2013-02-08 15:07 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/91a23b11d8dc 8007708: compiler/6855215 assert(VM_Version::supports_sse4_2()) Summary: Added missing UseSSE42 check. Also added missing avx2 assert for vpermq instruction. Reviewed-by: roland, twisti ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp Changeset: 309460dcedf7 Author: morris Date: 2013-02-08 15:39 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/309460dcedf7 8006851: When TieredCompilation is set, max code cache should be bumped to 256mb Summary: Set ReservedCodeCacheSize to (default value)*5 when TieredCompilation is on. Reviewed-by: kvn, twisti ! src/share/vm/runtime/arguments.cpp Changeset: 2c673161698a Author: drchase Date: 2013-02-09 12:55 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/2c673161698a 8007402: Code cleanup to remove Parfait false positive Summary: add array access range check Reviewed-by: kvn ! src/share/vm/opto/regmask.cpp ! src/share/vm/opto/regmask.hpp Changeset: 64d2a0a39954 Author: kmo Date: 2013-02-10 22:35 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/64d2a0a39954 8006430: TraceTypeProfile is a product flag while it should be a diagnostic flag Summary: make sure all diagnostic and experimental flag kinds are checked in Flag::is_unlocked() Reviewed-by: kvn ! src/share/vm/runtime/globals.cpp Changeset: a9c29dfc7d73 Author: morris Date: 2013-02-11 10:38 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/a9c29dfc7d73 8003251: ARM: move MacroAssembler into separate file Summary: moved MacroAssembler into separate file Reviewed-by: twisti, kvn, dlong ! src/share/vm/asm/macroAssembler.hpp ! src/share/vm/asm/macroAssembler.inline.hpp Changeset: 1e5e28bac299 Author: morris Date: 2013-02-11 14:47 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/1e5e28bac299 8003252: PPC: move MacroAssembler into separate file Summary: moved MacroAssembler into separate file Reviewed-by: twisti, kvn, dlong ! src/share/vm/asm/macroAssembler.hpp ! src/share/vm/asm/macroAssembler.inline.hpp Changeset: 8b3da8d14c93 Author: roland Date: 2013-02-12 12:56 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/8b3da8d14c93 7197327: 40% regression on 8 b41 comp 8 b40 on specjvm2008.mpegaudio on oob Summary: Add support for expensive nodes. Reviewed-by: kvn ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/loopnode.hpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/node.hpp ! src/share/vm/opto/phaseX.cpp ! src/share/vm/opto/subnode.hpp Changeset: c703f9c4b025 Author: kmo Date: 2013-02-12 07:39 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/c703f9c4b025 8002169: TEST_BUG: compiler/7009359/Test7009359.java sometimes times out Summary: make the test less prone to timeout by reducing the amount of iteration and allowing main to be compiled Reviewed-by: jrose ! test/compiler/7009359/Test7009359.java Changeset: aaad39923cdb Author: kmo Date: 2013-02-12 14:33 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/aaad39923cdb Merge Changeset: 12e01444ca2d Author: iignatyev Date: 2013-02-13 08:29 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/12e01444ca2d 8006683: Add WhiteBox API to testing of compiler Reviewed-by: kvn, vlivanov ! src/share/tools/whitebox/sun/hotspot/WhiteBox.java ! src/share/vm/prims/wbtestmethods/parserTests.hpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/prims/whitebox.hpp + test/compiler/whitebox/CompilerWhiteBoxTest.java + test/compiler/whitebox/DeoptimizeAllTest.java + test/compiler/whitebox/DeoptimizeMethodTest.java + test/compiler/whitebox/IsMethodCompilableTest.java + test/compiler/whitebox/MakeMethodNotCompilableTest.java + test/compiler/whitebox/SetDontInlineMethodTest.java Changeset: 1cdf241a4b26 Author: vlivanov Date: 2013-02-14 05:36 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/1cdf241a4b26 Merge ! src/share/vm/runtime/arguments.cpp Changeset: 9f19f4a7d48a Author: amurillo Date: 2013-02-15 13:27 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/9f19f4a7d48a Merge Changeset: d5e12e7d2f71 Author: amurillo Date: 2013-02-15 13:27 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/d5e12e7d2f71 Added tag hs25-b19 for changeset 9f19f4a7d48a ! .hgtags From lana.steuck at oracle.com Tue Feb 19 21:41:41 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 20 Feb 2013 05:41:41 +0000 Subject: hg: jdk8/tl/jdk: 19 new changesets Message-ID: <20130220054532.A7D0947BD3@hg.openjdk.java.net> Changeset: c1304eb051f6 Author: katleman Date: 2013-02-14 11:44 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c1304eb051f6 Added tag jdk8-b77 for changeset b2fc8e31cecc ! .hgtags Changeset: 37719b174e87 Author: jgodinez Date: 2013-02-06 14:45 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/37719b174e87 8005194: [parfait] #353 sun/awt/image/jpeg/imageioJPEG.c Memory leak of pointer 'scale' allocated with calloc() Reviewed-by: prr, vadim Contributed-by: jia-hong.chen at oracle.com ! src/share/native/sun/awt/image/jpeg/imageioJPEG.c Changeset: ad49012d10a1 Author: jgodinez Date: 2013-02-08 11:25 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ad49012d10a1 8005129: [parfait] #1122 - #1130 native/sun/awt/medialib/mlib_Image*.c Memory leak of pointer 'k' allocated with mlib_malloc Reviewed-by: prr, vadim Contributed-by: jia-hong.chen at oracle.com ! src/share/native/sun/awt/medialib/mlib_ImageConv.h ! src/share/native/sun/awt/medialib/mlib_ImageConvMxN_ext.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_16ext.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_32nw.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_8ext.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_8nw.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_u16ext.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_u16nw.c ! src/share/native/sun/awt/medialib/mlib_ImageCreate.c ! src/share/native/sun/awt/medialib/mlib_c_ImageConv.h Changeset: 1ea9feb6d8c5 Author: jgodinez Date: 2013-02-08 11:36 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1ea9feb6d8c5 8005261: [parfait] #415 sun/java2d/opengl/GLXSurfaceData.c Memory leak of pointer 'glxsdo' allocated with malloc Reviewed-by: prr, vadim Contributed-by: jia-hong.chen at oracle.com ! src/solaris/native/sun/java2d/opengl/GLXSurfaceData.c Changeset: 5f0217537435 Author: prr Date: 2013-02-12 09:58 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5f0217537435 8007748: MacOSX build error : cast of type 'SEL' to 'uintptr_t' (aka 'unsigned long') is deprecated; use sel_getName instead Reviewed-by: anthony ! src/macosx/native/jobjc/src/core/native/SEL.m Changeset: 1b47e2dfa89a Author: lana Date: 2013-02-13 13:01 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1b47e2dfa89a Merge - src/share/classes/java/lang/annotation/ContainedBy.java - src/share/classes/java/lang/annotation/ContainerFor.java - test/java/net/URL/abnormal_http_urls - test/java/net/URL/ftp_urls - test/java/net/URL/jar_urls - test/java/net/URL/normal_http_urls - test/java/net/URL/runconstructor.sh - test/java/net/URL/share_file_urls - test/java/net/URL/win32_file_urls - test/sun/net/www/EncDec.doc - test/sun/net/www/MarkResetTest.java - test/sun/net/www/MarkResetTest.sh - test/sun/security/util/Oid/S11N.sh - test/sun/security/util/Oid/SerialTest.java Changeset: 6df3acd02449 Author: prr Date: 2013-02-13 15:06 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/6df3acd02449 8008017: The fix for 8005129 does not build on Windows Reviewed-by: prr, jgodinez Contributed-by: jia-hong.chen at oracle.com ! src/share/native/sun/awt/medialib/mlib_ImageConv_16ext.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_8ext.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_8nw.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_u16ext.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_u16nw.c Changeset: ac89a5d71466 Author: alexsch Date: 2013-02-06 18:25 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ac89a5d71466 8000326: Focus unable to traverse in the menubar Reviewed-by: alexsch, malenkov ! src/share/classes/javax/swing/JMenuBar.java Changeset: 6e17465f4a1a Author: mcherkas Date: 2013-02-08 22:08 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/6e17465f4a1a 8005932: Java 7 on mac os x only provides text clipboard formats Reviewed-by: alexp, denis ! src/macosx/lib/flavormap.properties + test/java/awt/DataFlavor/MissedHtmlAndRtfBug/AbsoluteComponentCenterCalculator.java + test/java/awt/DataFlavor/MissedHtmlAndRtfBug/DataFlavorSearcher.java + test/java/awt/DataFlavor/MissedHtmlAndRtfBug/InterprocessMessages.java + test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.html + test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.java + test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MyTransferable.java + test/java/awt/DataFlavor/MissedHtmlAndRtfBug/NextFramePositionCalculator.java + test/java/awt/DataFlavor/MissedHtmlAndRtfBug/SourcePanel.java + test/java/awt/DataFlavor/MissedHtmlAndRtfBug/TargetPanel.java Changeset: 5406c4e381e2 Author: kshefov Date: 2013-02-13 18:01 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5406c4e381e2 7161759: TEST_BUG: java/awt/Frame/WindowDragTest/WindowDragTest.java fails to compile, should be modified Summary: Added @build Util jtreg tag Reviewed-by: serb, alexsch Contributed-by: Vera Akulova ! test/java/awt/Frame/WindowDragTest/WindowDragTest.java Changeset: dd6cf41a6953 Author: kshefov Date: 2013-02-13 19:06 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/dd6cf41a6953 7132383: [macosx] bug6596966.java should be adapted for Mac Reviewed-by: serb, alexsch Contributed-by: Vera Akulova ! test/javax/swing/JLabel/6596966/bug6596966.java ! test/javax/swing/regtesthelpers/Util.java Changeset: caec64340f42 Author: vkarnauk Date: 2013-02-13 19:23 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/caec64340f42 4199622: RFE: JComboBox shouldn't sending ActionEvents for keyboard navigation Reviewed-by: alexp, alexsch ! src/share/classes/javax/swing/plaf/basic/BasicComboBoxUI.java ! src/share/classes/javax/swing/plaf/basic/BasicLookAndFeel.java + test/javax/swing/JComboBox/4199622/bug4199622.java Changeset: 4d9691e95e05 Author: pchelko Date: 2013-02-13 15:27 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/4d9691e95e05 7079260: InputContext leaks memory Summary: Replaced strong refs with weak refs Reviewed-by: art, serb ! src/share/classes/sun/awt/im/CompositionAreaHandler.java ! src/solaris/classes/sun/awt/X11InputMethod.java + test/java/awt/im/memoryleak/InputContextMemoryLeakTest.java ! test/java/awt/regtesthelpers/Util.java Changeset: c552cde0e3f9 Author: pchelko Date: 2013-02-13 15:32 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c552cde0e3f9 8005629: javac warnings compiling java.awt.EventDispatchThread and sun.awt.X11.XIconWindow Summary: Removed macosx specific workaround from shared code and made macosx use public API Reviewed-by: art, serb ! src/macosx/classes/sun/lwawt/macosx/CPrinterJob.java - src/macosx/classes/sun/lwawt/macosx/EventDispatchAccess.java ! src/macosx/native/sun/awt/CPrinterJob.m ! src/share/classes/java/awt/EventDispatchThread.java ! src/solaris/classes/sun/awt/X11/XIconWindow.java Changeset: c95dc15ac183 Author: lana Date: 2013-02-13 12:38 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c95dc15ac183 Merge - src/share/classes/java/lang/annotation/ContainedBy.java - src/share/classes/java/lang/annotation/ContainerFor.java - test/java/net/URL/abnormal_http_urls - test/java/net/URL/ftp_urls - test/java/net/URL/jar_urls - test/java/net/URL/normal_http_urls - test/java/net/URL/runconstructor.sh - test/java/net/URL/share_file_urls - test/java/net/URL/win32_file_urls - test/sun/net/www/EncDec.doc - test/sun/net/www/MarkResetTest.java - test/sun/net/www/MarkResetTest.sh - test/sun/security/util/Oid/S11N.sh - test/sun/security/util/Oid/SerialTest.java Changeset: c9efb349b391 Author: lana Date: 2013-02-13 17:55 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c9efb349b391 Merge - src/macosx/classes/sun/lwawt/macosx/EventDispatchAccess.java Changeset: dc3019a336c0 Author: lana Date: 2013-02-13 17:57 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/dc3019a336c0 Merge - src/share/classes/java/time/PeriodParser.java - src/share/classes/java/time/calendar/ChronoDateImpl.java - src/share/classes/java/time/calendar/HijrahChrono.java - src/share/classes/java/time/calendar/HijrahDate.java - src/share/classes/java/time/calendar/HijrahDeviationReader.java - src/share/classes/java/time/calendar/HijrahEra.java - src/share/classes/java/time/calendar/JapaneseChrono.java - src/share/classes/java/time/calendar/JapaneseDate.java - src/share/classes/java/time/calendar/JapaneseEra.java - src/share/classes/java/time/calendar/MinguoChrono.java - src/share/classes/java/time/calendar/MinguoDate.java - src/share/classes/java/time/calendar/MinguoEra.java - src/share/classes/java/time/calendar/Ser.java - src/share/classes/java/time/calendar/ThaiBuddhistChrono.java - src/share/classes/java/time/calendar/ThaiBuddhistDate.java - src/share/classes/java/time/calendar/ThaiBuddhistEra.java - src/share/classes/java/time/calendar/package-info.java - src/share/classes/java/time/format/DateTimeFormatters.java - src/share/classes/java/time/format/DateTimePrintException.java - src/share/classes/java/time/temporal/Chrono.java - src/share/classes/java/time/temporal/ChronoLocalDate.java - src/share/classes/java/time/temporal/ChronoLocalDateTime.java - src/share/classes/java/time/temporal/ChronoLocalDateTimeImpl.java - src/share/classes/java/time/temporal/ChronoZonedDateTime.java - src/share/classes/java/time/temporal/ChronoZonedDateTimeImpl.java - src/share/classes/java/time/temporal/Era.java - src/share/classes/java/time/temporal/ISOChrono.java - src/share/classes/java/time/temporal/ISOEra.java - src/share/classes/java/time/temporal/ISOFields.java - src/share/classes/java/time/temporal/MonthDay.java - src/share/classes/java/time/temporal/OffsetDate.java - src/share/classes/java/time/temporal/OffsetDateTime.java - src/share/classes/java/time/temporal/OffsetTime.java - src/share/classes/java/time/temporal/Ser.java - src/share/classes/java/time/temporal/SimplePeriod.java - src/share/classes/java/time/temporal/TemporalAdder.java - src/share/classes/java/time/temporal/TemporalSubtractor.java - src/share/classes/java/time/temporal/Year.java - src/share/classes/java/time/temporal/YearMonth.java - src/share/classes/sun/util/calendar/TzIDOldMapping.java - test/java/time/META-INF/services/java.time.temporal.Chrono - test/java/time/tck/java/time/calendar/CopticChrono.java - test/java/time/tck/java/time/calendar/CopticDate.java - test/java/time/tck/java/time/calendar/CopticEra.java - test/java/time/tck/java/time/calendar/TestChronoLocalDate.java - test/java/time/tck/java/time/calendar/TestChronoLocalDateTime.java - test/java/time/tck/java/time/calendar/TestHijrahChrono.java - test/java/time/tck/java/time/calendar/TestJapaneseChrono.java - test/java/time/tck/java/time/calendar/TestMinguoChrono.java - test/java/time/tck/java/time/calendar/TestServiceLoader.java - test/java/time/tck/java/time/calendar/TestThaiBuddhistChrono.java - test/java/time/tck/java/time/format/TCKDateTimePrintException.java - test/java/time/tck/java/time/temporal/TCKISOFields.java - test/java/time/tck/java/time/temporal/TCKMonthDay.java - test/java/time/tck/java/time/temporal/TCKOffsetDate.java - test/java/time/tck/java/time/temporal/TCKOffsetDateTime.java - test/java/time/tck/java/time/temporal/TCKOffsetTime.java - test/java/time/tck/java/time/temporal/TCKSimplePeriod.java - test/java/time/tck/java/time/temporal/TCKYear.java - test/java/time/tck/java/time/temporal/TCKYearMonth.java - test/java/time/tck/java/time/temporal/TestChrono.java - test/java/time/tck/java/time/temporal/TestISOChrono.java - test/java/time/test/java/time/TestPeriodParser.java - test/java/time/test/java/time/format/TestDateTimeFormatters.java - test/java/time/test/java/time/format/TestDateTimePrintException.java - test/java/time/test/java/time/format/TestPadParserDecorator.java - test/java/time/test/java/time/format/TestZoneIdParser.java - test/java/time/test/java/time/temporal/TestISOChronoImpl.java - test/java/time/test/java/time/temporal/TestMonthDay.java - test/java/time/test/java/time/temporal/TestOffsetDate.java - test/java/time/test/java/time/temporal/TestOffsetDateTime.java - test/java/time/test/java/time/temporal/TestOffsetDateTime_instants.java - test/java/time/test/java/time/temporal/TestOffsetTime.java - test/java/time/test/java/time/temporal/TestYear.java - test/java/time/test/java/time/temporal/TestYearMonth.java Changeset: 5ea0024ba765 Author: lana Date: 2013-02-14 22:12 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5ea0024ba765 Merge Changeset: 85a44860f5bb Author: lana Date: 2013-02-19 20:52 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/85a44860f5bb Merge - src/macosx/classes/sun/lwawt/macosx/EventDispatchAccess.java From yekaterina.kantserova at oracle.com Wed Feb 20 01:26:06 2013 From: yekaterina.kantserova at oracle.com (Yekaterina Kantserova) Date: Wed, 20 Feb 2013 10:26:06 +0100 Subject: RFR (XS) 8008089: Delete OS dependent check in JdkFinder.getExecutable() In-Reply-To: <5123A1EA.6010404@oracle.com> References: <511B6134.3010005@oracle.com> <5123A1EA.6010404@oracle.com> Message-ID: <512496AE.5070506@oracle.com> On 02/19/2013 05:01 PM, Alan Bateman wrote: > On 13/02/2013 09:47, Yekaterina Kantserova wrote: >> Hi everyone, >> >> This small fixconcerns jdk.testlibrary.JdkFinder utility class. The >> check below is too OS dependent and should be deleted. >> ... >> binPath += File.separatorChar + "bin" + File.separatorChar + >> executable; >> File toolFile = new File(binPath); >> ==> if (!toolFile.exists()) { >> throw new RuntimeException(binPath + " does not exist"); >> } >> ... >> >> On windows if executable is specified as e.g. 'java', without '.exe', >> the File exists() will fail. But it's still possible to run executable. Thanks for reviewing this! Yes, Staffan Larsen helped me last time, I hope he can do it again. // Katja > This looks okay to me, do you have someone to push this for you? > > -Alan. From markus.gronlund at oracle.com Wed Feb 20 02:15:17 2013 From: markus.gronlund at oracle.com (=?iso-8859-1?B?TWFya3VzIEdy9m5sdW5k?=) Date: Wed, 20 Feb 2013 02:15:17 -0800 (PST) Subject: RFR(XXS): 8007147: Trace event ExecuteVMOperation may get dangling pointer In-Reply-To: <51243725.9030907@oracle.com> References: <5121A8C1.2040908@oracle.com> <304895d9-73da-4c67-a5b3-a47cbcd01924@default> <5123CAD3.90301@oracle.com> <5123D2DD.9090001@oracle.com> <51243725.9030907@oracle.com> Message-ID: Thanks for your input on this one. I think I am hearing that we can proceed with assigning a 0 (zero) as the thread id to indicate the thread information is unknown for a non-blocking operation. Risk being of course to have a false "hit" if a 0 is assigned by some OS as a thread id, and even worse if 0 is also re-used across threads. This should be considered low risk. In addition, the occasional wrong info in the caller thread field might not warrant avoiding presenting info about non-blocking operations. Resolving this would incorporate a lot of investigation which must be dealt with outside the scope of this bug. By adding additional comments about this fact (thread 0 being used to indicate "thread unknown" for non-blocking ops) I think we can proceed with a modified version of the first webrev01, but with additional comments added. Updated webrev can be found here: http://cr.openjdk.java.net/~mgronlun/8007147/webrev03/ Thanks again Markus -----Original Message----- From: David Holmes Sent: den 20 februari 2013 03:38 To: Dean Long Cc: Staffan Larsen; Markus Gr?nlund; serviceability-dev at openjdk.java.net; hotspot-runtime-dev at openjdk.java.net Subject: Re: RFR(XXS): 8007147: Trace event ExecuteVMOperation may get dangling pointer On 20/02/2013 5:30 AM, Dean Long wrote: > On 2/19/2013 11:00 AM, Staffan Larsen wrote: >> >> On 19 feb 2013, at 19:56, Dean Long > > wrote: >> >>> When the VM_Operation is created, we could take a snapshot of the >>> thread_id of the caller, then use that later. >> >> One problem with that is if the thread_id gets reused for a new >> thread quickly after the old thread terminates. This is perhps >> ulikely, but could happen. >> >>> Or we could block the creating thread from fully exiting until the >>> VM op executes. >> >> That would introduce a lot more synchronization and state to keep >> track of. >> > I think we could do it with a reference count on the thread, a wait in > thread exit, and a notify in the VM thread. > We have a similar dangling pointer problem with JVMTI (7154963), and a > reference count should solve that problem as well. I think that proposal needs a lot more investigation, certainly it is well out of scope for this bug. There are potential dangling thread pointers all over the JVM interfaces. David ----- > > dl > >> /Staffan >> > From staffan.larsen at oracle.com Wed Feb 20 02:42:15 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Wed, 20 Feb 2013 11:42:15 +0100 Subject: RFR(XXS): 8007147: Trace event ExecuteVMOperation may get dangling pointer In-Reply-To: References: <5121A8C1.2040908@oracle.com> <304895d9-73da-4c67-a5b3-a47cbcd01924@default> <5123CAD3.90301@oracle.com> <5123D2DD.9090001@oracle.com> <51243725.9030907@oracle.com> Message-ID: <98444B54-6472-4CE5-9555-C9D6FB9F55F4@oracle.com> Looks good! /Staffan On 20 feb 2013, at 11:15, Markus Gr?nlund wrote: > Thanks for your input on this one. > > I think I am hearing that we can proceed with assigning a 0 (zero) as the thread id to indicate the thread information is unknown for a non-blocking operation. Risk being of course to have a false "hit" if a 0 is assigned by some OS as a thread id, and even worse if 0 is also re-used across threads. This should be considered low risk. In addition, the occasional wrong info in the caller thread field might not warrant avoiding presenting info about non-blocking operations. > > Resolving this would incorporate a lot of investigation which must be dealt with outside the scope of this bug. > > By adding additional comments about this fact (thread 0 being used to indicate "thread unknown" for non-blocking ops) I think we can proceed with a modified version of the first webrev01, but with additional comments added. > > Updated webrev can be found here: > > http://cr.openjdk.java.net/~mgronlun/8007147/webrev03/ > > Thanks again > Markus > > > > > -----Original Message----- > From: David Holmes > Sent: den 20 februari 2013 03:38 > To: Dean Long > Cc: Staffan Larsen; Markus Gr?nlund; serviceability-dev at openjdk.java.net; hotspot-runtime-dev at openjdk.java.net > Subject: Re: RFR(XXS): 8007147: Trace event ExecuteVMOperation may get dangling pointer > > On 20/02/2013 5:30 AM, Dean Long wrote: >> On 2/19/2013 11:00 AM, Staffan Larsen wrote: >>> >>> On 19 feb 2013, at 19:56, Dean Long >> > wrote: >>> >>>> When the VM_Operation is created, we could take a snapshot of the >>>> thread_id of the caller, then use that later. >>> >>> One problem with that is if the thread_id gets reused for a new >>> thread quickly after the old thread terminates. This is perhps >>> ulikely, but could happen. >>> >>>> Or we could block the creating thread from fully exiting until the >>>> VM op executes. >>> >>> That would introduce a lot more synchronization and state to keep >>> track of. >>> >> I think we could do it with a reference count on the thread, a wait in >> thread exit, and a notify in the VM thread. >> We have a similar dangling pointer problem with JVMTI (7154963), and a >> reference count should solve that problem as well. > > I think that proposal needs a lot more investigation, certainly it is well out of scope for this bug. There are potential dangling thread pointers all over the JVM interfaces. > > David > ----- > >> >> dl >> >>> /Staffan >>> >> From vicente.romero at oracle.com Wed Feb 20 02:52:08 2013 From: vicente.romero at oracle.com (Vicente-Arturo Romero-Zaldivar) Date: Wed, 20 Feb 2013 10:52:08 +0000 Subject: hg: jdk8/tl/langtools: 8006212: javac, convert jtreg tests from shell script to java In-Reply-To: <5123C95A.3060703@oracle.com> References: <20130219175447.0916147BA5@hg.openjdk.java.net> <5123C95A.3060703@oracle.com> Message-ID: <5124AAD8.1060307@oracle.com> On 19/02/13 18:50, Jonathan Gibbons wrote: > Woohoo -- 23 shell tests replaced with equivalent Java code: that's > over 2/3 of the shell tests in langtools/test. And lots of files removed, "less is more" :) Vicente > > -- Jon > > On 02/19/2013 09:54 AM, vicente.romero at oracle.com wrote: >> Changeset: dc8b7aa7cef3 >> Author: vromero >> Date: 2013-02-19 17:53 +0000 >> URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/dc8b7aa7cef3 >> >> 8006212: javac, convert jtreg tests from shell script to java >> Reviewed-by: jjg >> >> ! src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java >> ! src/share/classes/com/sun/tools/javac/util/ArrayUtils.java >> + test/tools/apt/Basics/CheckAptIsRemovedTest.java >> - test/tools/apt/Basics/NullAPF.java >> - test/tools/apt/Basics/apt.sh >> - test/tools/apt/verifyVariables.sh >> + test/tools/javac/4846262/CheckEBCDICLocaleTest.java >> - test/tools/javac/4846262/Test.java >> - test/tools/javac/4846262/Test.out >> - test/tools/javac/4846262/Test.sh >> + test/tools/javac/6302184/HiddenOptionsShouldUseGivenEncodingTest.java >> - test/tools/javac/6302184/T6302184.sh >> + test/tools/javac/ClassPathTest/ClassPathTest.java >> - test/tools/javac/ClassPathTest/ClassPathTest.sh >> - test/tools/javac/ClassPathTest/ClassPathTest1.java >> - test/tools/javac/ClassPathTest/ClassPathTest2.java >> - test/tools/javac/ClassPathTest/ClassPathTest3.java >> - test/tools/javac/ClassPathTest/bar/pkg/ClassPathTestAux2.java >> - test/tools/javac/ClassPathTest/foo/pkg/ClassPathTestAux1.java >> - test/tools/javac/ClassPathTest/pkg/ClassPathTestAux3.java >> + test/tools/javac/ExtDirs/ExtDirTest.java >> - test/tools/javac/ExtDirs/ExtDirTest_1.java >> - test/tools/javac/ExtDirs/ExtDirTest_2.java >> - test/tools/javac/ExtDirs/ExtDirTest_3.java >> - test/tools/javac/ExtDirs/ExtDirs.sh >> - test/tools/javac/MissingInclude.java >> - test/tools/javac/MissingInclude.sh >> + test/tools/javac/MissingInclude/MissingIncludeTest.java >> - test/tools/javac/ProtectedInnerClass/ProtectedInnerClass.sh >> - test/tools/javac/ProtectedInnerClass/ProtectedInnerClass_2.java >> + test/tools/javac/ProtectedInnerClass/ProtectedInnerClassesTest.java >> - test/tools/javac/ProtectedInnerClass/p1/ProtectedInnerClass1.java >> - test/tools/javac/ProtectedInnerClass/p2/ProtectedInnerClass2.java >> - test/tools/javac/ProtectedInnerClass/p2/ProtectedInnerClass3.java >> + test/tools/javac/T5090006/AssertionFailureTest.java >> - test/tools/javac/T5090006/T5090006.java >> - test/tools/javac/T5090006/compiler.sh >> - test/tools/javac/constDebug/ConstDebug.java >> - test/tools/javac/constDebug/ConstDebug.sh >> + test/tools/javac/constDebug/ConstDebugTest.java >> - test/tools/javac/fatalErrors/NoJavaLang.java >> - test/tools/javac/fatalErrors/NoJavaLang.out >> - test/tools/javac/fatalErrors/NoJavaLang.sh >> + test/tools/javac/fatalErrors/NoJavaLangTest.java >> - test/tools/javac/innerClassFile/Driver.sh >> + test/tools/javac/innerClassFile/InnerClassFileTest.java >> - test/tools/javac/innerClassFile/x/B.java >> - test/tools/javac/innerClassFile/x/C.java >> - test/tools/javac/innerClassFile/y/Main.java >> - test/tools/javac/innerClassFile/y/R1.java >> - test/tools/javac/innerClassFile/y/R2.java >> - test/tools/javac/innerClassFile/y/R3.java >> - test/tools/javac/javazip/A.java >> + test/tools/javac/javazip/JavaZipTest.java >> - test/tools/javac/javazip/Test.sh >> - test/tools/javac/javazip/bad/B.java >> - test/tools/javac/javazip/good/B.java >> + test/tools/javac/lib/ToolBox.java >> + test/tools/javac/links/LinksTest.java >> - test/tools/javac/links/T.java >> - test/tools/javac/links/b/B.java >> - test/tools/javac/links/links.sh >> + test/tools/javac/newlines/NewLineTest.java >> - test/tools/javac/newlines/Newlines.sh >> + test/tools/javac/stackmap/StackMapTest.java >> - test/tools/javac/stackmap/T4955930.java >> - test/tools/javac/stackmap/T4955930.sh >> ! test/tools/javac/unicode/SupplementaryJavaID6.java >> - test/tools/javac/unicode/SupplementaryJavaID6.sh >> + test/tools/javah/6257087/T6257087.java >> - test/tools/javah/6257087/foo.java >> - test/tools/javah/6257087/foo.sh >> - test/tools/javah/6257087/foo_bar.h >> - test/tools/javah/ConstMacroTest.sh >> - test/tools/javah/MissingParamClassException.java >> - test/tools/javah/MissingParamClassTest.sh >> - test/tools/javah/ParamClassTest.java >> - test/tools/javah/SubClassConsts.java >> - test/tools/javah/SubClassConsts.out >> - test/tools/javah/SubClassConsts.win >> - test/tools/javah/SuperClassConsts.java >> + test/tools/javah/T4942232/MissingParamClassTest.java >> + test/tools/javah/constMacroTest/ConstMacroTest.java >> + test/tools/javap/4798312/JavapShouldLoadClassesFromRTJarTest.java >> + test/tools/javap/4866831/PublicInterfaceTest.java >> - test/tools/javap/NotPackagePrivateInterface.java >> - test/tools/javap/PublicInterfaceTest.sh >> - test/tools/javap/pathsep.sh >> + test/tools/javap/stackmap/StackmapTest.java >> - test/tools/javap/stackmap/T6271292.java >> - test/tools/javap/stackmap/T6271292.out >> - test/tools/javap/stackmap/T6271292.sh >> > From staffan.larsen at oracle.com Wed Feb 20 03:40:31 2013 From: staffan.larsen at oracle.com (staffan.larsen at oracle.com) Date: Wed, 20 Feb 2013 11:40:31 +0000 Subject: hg: jdk8/tl/jdk: 8008089: Delete OS dependent check in JdkFinder.getExecutable() Message-ID: <20130220114053.28EE647BEE@hg.openjdk.java.net> Changeset: ca43e2761a1d Author: ykantser Date: 2013-02-13 10:24 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ca43e2761a1d 8008089: Delete OS dependent check in JdkFinder.getExecutable() Reviewed-by: egahlin, alanb ! test/lib/testlibrary/jdk/testlibrary/JdkFinder.java From mikael.gerdin at oracle.com Wed Feb 20 04:24:26 2013 From: mikael.gerdin at oracle.com (mikael.gerdin at oracle.com) Date: Wed, 20 Feb 2013 12:24:26 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8006753: fix failed for JDK-8002415 White box testing API for HotSpot Message-ID: <20130220122430.66F3547BF3@hg.openjdk.java.net> Changeset: 1b0dc9f87e75 Author: mgerdin Date: 2013-02-19 18:45 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/1b0dc9f87e75 8006753: fix failed for JDK-8002415 White box testing API for HotSpot Summary: Modify WhiteBoxAPI to use interface classes from test/testlibrary instead, add ClassFileInstaller to resolve the boot class path issue Reviewed-by: ctornqvi, dsamersoff, coleenp, kvn ! make/Makefile ! make/bsd/makefiles/defs.make ! make/bsd/makefiles/vm.make - make/bsd/makefiles/wb.make ! make/linux/makefiles/defs.make ! make/linux/makefiles/vm.make - make/linux/makefiles/wb.make ! make/solaris/makefiles/defs.make ! make/solaris/makefiles/vm.make - make/solaris/makefiles/wb.make ! make/windows/makefiles/debug.make ! make/windows/makefiles/defs.make ! make/windows/makefiles/fastdebug.make ! make/windows/makefiles/product.make - make/windows/makefiles/wb.make - src/share/tools/whitebox/sun/hotspot/WhiteBox.java - src/share/tools/whitebox/sun/hotspot/parser/DiagnosticCommand.java ! src/share/vm/runtime/arguments.cpp ! test/compiler/whitebox/DeoptimizeAllTest.java ! test/compiler/whitebox/DeoptimizeMethodTest.java ! test/compiler/whitebox/IsMethodCompilableTest.java ! test/compiler/whitebox/MakeMethodNotCompilableTest.java ! test/compiler/whitebox/SetDontInlineMethodTest.java ! test/runtime/NMT/AllocTestType.java ! test/runtime/NMT/PrintNMTStatistics.java ! test/runtime/NMT/SummarySanityCheck.java ! test/sanity/WBApi.java ! test/serviceability/ParserTest.java + test/testlibrary/ClassFileInstaller.java + test/testlibrary/whitebox/sun/hotspot/WhiteBox.java + test/testlibrary/whitebox/sun/hotspot/parser/DiagnosticCommand.java From alexey.utkin at oracle.com Wed Feb 20 04:38:08 2013 From: alexey.utkin at oracle.com (alexey.utkin at oracle.com) Date: Wed, 20 Feb 2013 12:38:08 +0000 Subject: hg: jdk8/tl/jdk: 8007454: (process) SetHandleInformation parameters DWORD (not BOOLEAN) Message-ID: <20130220123839.4C46047BF5@hg.openjdk.java.net> Changeset: 0a2b308cc82d Author: uta Date: 2013-02-20 16:39 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0a2b308cc82d 8007454: (process) SetHandleInformation parameters DWORD (not BOOLEAN) Summary: the SetHandleInformation arguments list was fixed. Reviewed-by: alanb ! src/windows/native/java/lang/ProcessImpl_md.c From daniel.daugherty at oracle.com Wed Feb 20 07:34:13 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 20 Feb 2013 08:34:13 -0700 Subject: Code Review fix for 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly In-Reply-To: <51245949.4030605@oracle.com> References: <51240F3A.6060004@oracle.com> <51244FBC.3030708@oracle.com> <5124540D.2020202@oracle.com> <51245949.4030605@oracle.com> Message-ID: <5124ECF5.8060104@oracle.com> I've addeda 6799919_code_history.eml attachment to the bug report. Here is the interesting part of the putback message: > 5073464: Can we improve error handling for create_itable_stub allocation > > Previously many CodeCache allocations would fatal() if no storage was > available. Updated these sites to call vm_exit_out_of_memory() instead > so that the "Out of swap space?" warning will be displayed to encourage > user diagnosis. Also updated vm_exit_out_of_memory and the vmError "out of > memory" path to display the file/line of the caller, like fatal() does > already. I found the review request for 5073464 from 2005.07.28 and it contains virtually the same info as the putback message above. I didn't find any other e-mails on the review thread so any review discussion must have taken place in private e-mails to Steve B. I can find no indications that the redundant recursion handling was added by Steve B. to avoid any particular issue with the existing mechanism. Given the complexity of VMError::report_and_die() which is 237 lines long, it is possible that Steve didn't realize that it already handled recursion. Dan On 2/19/13 10:04 PM, Daniel D. Daugherty wrote: > David, > > Thanks for the review! > > I had previously done a code history analysis for the offending code > block as an example for Ron on how that is done in this crazy multi > source code control system we call Java... Yes, this went from Mercurial > back into TeamWare and I had to find the old rt_baseline workspace... > > We'll dig it up tomorrow and attach it to the bug report along with > other analysis if needed. > > Dan > > > On 2/19/13 9:41 PM, David Holmes wrote: >> Okay full disclosure. :) I filed this bug back in 2009 so I >> undoubtedly ran into a failure where this guard was causing the >> useful error information to be lost, and so I filed the bug. >> >> Now I am so much older and wiser I'm wondering about the original >> reason for the guard again. ;-) >> >> David >> >> On 20/02/2013 2:23 PM, David Holmes wrote: >>> The one-reporter only logic in report_and_die has been there for a very >>> long time, pre-dating the addition of the check in >>> report_vm_out_of_memory. So I have to wonder what prompted the >>> inclusion >>> of that guard originally? No doubt there was some failure case where we >>> were getting recursive errors that just totally broke the error >>> reporting. >>> >>> So while I can give this the Reviewer's tick if still needed. I suspect >>> that this will be a case of fixing one specific example, but in the >>> process potentially breaking others. >>> >>> David >>> >>> On 20/02/2013 9:48 AM, Daniel D. Daugherty wrote: >>>> Greetings, >>>> >>>> I'm sponsoring this code review request from Ron Durbin. This change >>>> is targeted at JDK8/HSX-25 in the RT_Baseline repo. >>>> >>>> Dan >>>> >>>> >>>> I have a proposed fix for the following bug: >>>> >>>> 6799919 Recursive calls to report_vm_out_of_memory are handled >>>> incorrectly >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6799919 >>>> https://jbs.oracle.com/bugs/browse/JDK-6799919 >>>> >>>> This is one of those bug fixes where the commit message nicely >>>> describes >>>> the change: >>>> >>>> 6799919: Recursive calls to report_vm_out_of_memory are handled >>>> incorrectly >>>> Summary: report_vm_out_of_memory() should allow >>>> VMError.report_and_die() >>>> to handle multiple out of native memory errors. >>>> Reviewed-by: dcubed, >>>> Contributed-by ron.durbin at oracle.com >>>> >>>> Here is the webrev URL: >>>> >>>> http://cr.openjdk.java.net/~dcubed/for_rdurbin/6799919-webrev/0-hsx25 >>>> >>>> Testing: >>>> - See the READ_ME file attached to the JDK-6799919 for the gory >>>> details >>>> of the testing needed to reproduce this failure and verify >>>> the fix >>>> - regular JPRT test job is in process >>>> >>>> Comments, questions and suggestions are welcome. >>>> >>>> Ron > From daniel.daugherty at oracle.com Wed Feb 20 07:38:39 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 20 Feb 2013 08:38:39 -0700 Subject: Code Review fix for 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly In-Reply-To: <51240F3A.6060004@oracle.com> References: <51240F3A.6060004@oracle.com> Message-ID: <5124EDFF.1000600@oracle.com> Greetings, An off-thread e-mail conversation with Mikael G revealed that Ron missed deleting a now unused static global and I missed that fact during my code review. $ diff -C 5 src/share/vm/utilities/debug.cpp.cr0 src/share/vm/utilities/debug.cpp *** src/share/vm/utilities/debug.cpp.cr0 Tue Feb 19 13:44:46 2013 --- src/share/vm/utilities/debug.cpp Wed Feb 20 06:36:42 2013 *************** *** 226,238 **** void report_fatal(const char* file, int line, const char* message) { report_vm_error(file, line, "fatal error", message); } - // Used by report_vm_out_of_memory to detect recursion. - static jint _exiting_out_of_mem = 0; - void report_vm_out_of_memory(const char* file, int line, size_t size, const char* message) { if (Debugging) return; Thread* thread = ThreadLocalStorage::get_thread_slow(); --- 226,235 ---- Since this is a simple unused variable delete, we're hoping to avoid sending a new webrev. However, if Code Review Round 0 motivates other changes, then the above change will be included in a new webrev. Dan On 2/19/13 4:48 PM, Daniel D. Daugherty wrote: > Greetings, > > I'm sponsoring this code review request from Ron Durbin. This change > is targeted at JDK8/HSX-25 in the RT_Baseline repo. > > Dan > > > I have a proposed fix for the following bug: > > 6799919 Recursive calls to report_vm_out_of_memory are handled > incorrectly > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6799919 > https://jbs.oracle.com/bugs/browse/JDK-6799919 > > This is one of those bug fixes where the commit message nicely describes > the change: > > 6799919: Recursive calls to report_vm_out_of_memory are handled > incorrectly > Summary: report_vm_out_of_memory() should allow > VMError.report_and_die() to handle multiple out of native memory errors. > Reviewed-by: dcubed, > Contributed-by ron.durbin at oracle.com > > Here is the webrev URL: > > http://cr.openjdk.java.net/~dcubed/for_rdurbin/6799919-webrev/0-hsx25 > > Testing: > - See the READ_ME file attached to the JDK-6799919 for the gory > details > of the testing needed to reproduce this failure and verify the fix > - regular JPRT test job is in process > > Comments, questions and suggestions are welcome. > > Ron > From erik.helin at oracle.com Wed Feb 20 08:01:53 2013 From: erik.helin at oracle.com (Erik Helin) Date: Wed, 20 Feb 2013 17:01:53 +0100 Subject: RFR (S): 8008536: Add HotSpot support for printing class loader statistics for JMap Message-ID: <5124F371.2020705@oracle.com> Hi all, this change is the first of three changes related to renaming the jmap option permstat to clstats. The change has to be done as three separate changes in order to not break any repositories: 1. Add support for the -clstats option to the SA agent 2. Change the tool jmap to use -clstats instead of -permstat 3. Remove the option -permstat from the SA agent This CR represents the first step. Once this change has found its way into the tl forest, then step two can be applied. Once the result of step two is back in the hotspot-gc forest, then step three can be done. Step 2 and 3 are also out for review. Webrev: http://cr.openjdk.java.net/~ehelin/8008536/webrev.00/ Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8008536 Testing: JPRT Thanks, Erik From erik.helin at oracle.com Wed Feb 20 08:02:01 2013 From: erik.helin at oracle.com (Erik Helin) Date: Wed, 20 Feb 2013 17:02:01 +0100 Subject: RFR (XS): 8005116: NPG: Rename -permstat option for jmap in jdk8 to -classstats Message-ID: <5124F379.6020909@oracle.com> Hi all, this change is the second of three changes related to renaming the jmap option permstat to clstats. The change has to be done as three separate changes in order to not break any repositories: 1. Add support for the -clstats option to the SA agent 2. Change the tool jmap to use -clstats instead of -permstat 3. Remove the option -permstat from the SA agent This CR represents the second step, which updates the jmap tool. Step 1 and 3 are also out for review. Webrev: http://cr.openjdk.java.net/~ehelin/8005116/webrev.00/ Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005116 Thanks, Erik From erik.helin at oracle.com Wed Feb 20 08:02:08 2013 From: erik.helin at oracle.com (Erik Helin) Date: Wed, 20 Feb 2013 17:02:08 +0100 Subject: RFR (XS): 8008541 Remove old code in HotSpot that supported the jmap -permstat functionality Message-ID: <5124F380.6070905@oracle.com> Hi all, this change is the third of three changes related to renaming the jmap option permstat to clstats. The change has to be done as three separate changes in order to not break any repositories: 1. Add support for the -clstats option to the SA agent 2. Change the tool jmap to use -clstats instead of -permstat 3. Remove the option -permstat from the SA agent This CR represents the third step, which removes the support for the option -permstats in the SA agent. Step 1 and 2 are also out for review. Webrev: http://cr.openjdk.java.net/~ehelin/8008541/webrev.00/ Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8008541 Thanks, Erik From daniel.daugherty at oracle.com Wed Feb 20 08:18:19 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 20 Feb 2013 09:18:19 -0700 Subject: Code Review fix for 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly In-Reply-To: <5124F212.4030301@oracle.com> References: <51240F3A.6060004@oracle.com> <51244FBC.3030708@oracle.com> <5124540D.2020202@oracle.com> <51245949.4030605@oracle.com> <5124ECF5.8060104@oracle.com> <5124F212.4030301@oracle.com> Message-ID: <5124F74B.50608@oracle.com> Adding back the other alias... Coleen, Thanks for chiming in. May we add you as a reviewer also? Dan On 2/20/13 8:56 AM, Coleen Phillimore wrote: > On 2/20/2013 10:34 AM, Daniel D. Daugherty wrote: >> I've addeda 6799919_code_history.eml attachment to the bug report. >> Here is >> the interesting part of the putback message: >> >> > 5073464: Can we improve error handling for create_itable_stub >> allocation >> > >> > Previously many CodeCache allocations would fatal() if no storage was >> > available. Updated these sites to call vm_exit_out_of_memory() >> instead >> > so that the "Out of swap space?" warning will be displayed to >> encourage >> > user diagnosis. Also updated vm_exit_out_of_memory and the vmError >> "out of >> > memory" path to display the file/line of the caller, like fatal() does >> > already. >> >> I found the review request for 5073464 from 2005.07.28 and it contains >> virtually the same info as the putback message above. I didn't find any >> other e-mails on the review thread so any review discussion must have >> taken place in private e-mails to Steve B. >> >> I can find no indications that the redundant recursion handling was >> added >> by Steve B. to avoid any particular issue with the existing mechanism. >> Given the complexity of VMError::report_and_die() which is 237 lines >> long, >> it is possible that Steve didn't realize that it already handled >> recursion. > > The last time I looked at this code, I came to this same conclusion. > VMError::report_and_die() handles the recursive case. > vm_exit_out_of_memory doesn't need to (and if it does, it'll not leave > an hs_err file). > Coleen > >> >> Dan >> >> >> On 2/19/13 10:04 PM, Daniel D. Daugherty wrote: >>> David, >>> >>> Thanks for the review! >>> >>> I had previously done a code history analysis for the offending code >>> block as an example for Ron on how that is done in this crazy multi >>> source code control system we call Java... Yes, this went from >>> Mercurial >>> back into TeamWare and I had to find the old rt_baseline workspace... >>> >>> We'll dig it up tomorrow and attach it to the bug report along with >>> other analysis if needed. >>> >>> Dan >>> >>> >>> On 2/19/13 9:41 PM, David Holmes wrote: >>>> Okay full disclosure. :) I filed this bug back in 2009 so I >>>> undoubtedly ran into a failure where this guard was causing the >>>> useful error information to be lost, and so I filed the bug. >>>> >>>> Now I am so much older and wiser I'm wondering about the original >>>> reason for the guard again. ;-) >>>> >>>> David >>>> >>>> On 20/02/2013 2:23 PM, David Holmes wrote: >>>>> The one-reporter only logic in report_and_die has been there for a >>>>> very >>>>> long time, pre-dating the addition of the check in >>>>> report_vm_out_of_memory. So I have to wonder what prompted the >>>>> inclusion >>>>> of that guard originally? No doubt there was some failure case >>>>> where we >>>>> were getting recursive errors that just totally broke the error >>>>> reporting. >>>>> >>>>> So while I can give this the Reviewer's tick if still needed. I >>>>> suspect >>>>> that this will be a case of fixing one specific example, but in the >>>>> process potentially breaking others. >>>>> >>>>> David >>>>> >>>>> On 20/02/2013 9:48 AM, Daniel D. Daugherty wrote: >>>>>> Greetings, >>>>>> >>>>>> I'm sponsoring this code review request from Ron Durbin. This change >>>>>> is targeted at JDK8/HSX-25 in the RT_Baseline repo. >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>> I have a proposed fix for the following bug: >>>>>> >>>>>> 6799919 Recursive calls to report_vm_out_of_memory are handled >>>>>> incorrectly >>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6799919 >>>>>> https://jbs.oracle.com/bugs/browse/JDK-6799919 >>>>>> >>>>>> This is one of those bug fixes where the commit message nicely >>>>>> describes >>>>>> the change: >>>>>> >>>>>> 6799919: Recursive calls to report_vm_out_of_memory are handled >>>>>> incorrectly >>>>>> Summary: report_vm_out_of_memory() should allow >>>>>> VMError.report_and_die() >>>>>> to handle multiple out of native memory errors. >>>>>> Reviewed-by: dcubed, >>>>>> Contributed-by ron.durbin at oracle.com >>>>>> >>>>>> Here is the webrev URL: >>>>>> >>>>>> http://cr.openjdk.java.net/~dcubed/for_rdurbin/6799919-webrev/0-hsx25 >>>>>> >>>>>> >>>>>> Testing: >>>>>> - See the READ_ME file attached to the JDK-6799919 for the gory >>>>>> details >>>>>> of the testing needed to reproduce this failure and verify >>>>>> the fix >>>>>> - regular JPRT test job is in process >>>>>> >>>>>> Comments, questions and suggestions are welcome. >>>>>> >>>>>> Ron >>> >> > From daniel.daugherty at oracle.com Wed Feb 20 08:57:26 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 20 Feb 2013 09:57:26 -0700 Subject: Code Review fix for 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly In-Reply-To: <5124FB09.3040905@oracle.com> References: <51240F3A.6060004@oracle.com> <5124FB09.3040905@oracle.com> Message-ID: <51250076.2030503@oracle.com> On 2/20/13 9:34 AM, Coleen Phillimore wrote: > > This looks good. Thanks for the review! Don't know if Ron is having the same connectivity problems I'm having this morning, but my access into OWAN is going up and down... > It looks like the webrev was updated to get rid of the unused > variable, so that is good. The webrev was not updated. > Is there a test for ErrorHandlerTest in our repository already? ErrorHandlerTest? Is there yet another possible test that we don't know about? Dan > Thanks, > Coleen > > On 2/19/2013 6:48 PM, Daniel D. Daugherty wrote: >> Greetings, >> >> I'm sponsoring this code review request from Ron Durbin. This change >> is targeted at JDK8/HSX-25 in the RT_Baseline repo. >> >> Dan >> >> >> I have a proposed fix for the following bug: >> >> 6799919 Recursive calls to report_vm_out_of_memory are handled >> incorrectly >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6799919 >> https://jbs.oracle.com/bugs/browse/JDK-6799919 >> >> This is one of those bug fixes where the commit message nicely describes >> the change: >> >> 6799919: Recursive calls to report_vm_out_of_memory are handled >> incorrectly >> Summary: report_vm_out_of_memory() should allow >> VMError.report_and_die() to handle multiple out of native memory errors. >> Reviewed-by: dcubed, >> Contributed-by ron.durbin at oracle.com >> >> Here is the webrev URL: >> >> http://cr.openjdk.java.net/~dcubed/for_rdurbin/6799919-webrev/0-hsx25 >> >> Testing: >> - See the READ_ME file attached to the JDK-6799919 for the gory >> details >> of the testing needed to reproduce this failure and verify the fix >> - regular JPRT test job is in process >> >> Comments, questions and suggestions are welcome. >> >> Ron > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130220/5285c3f2/attachment.html From ron.durbin at oracle.com Wed Feb 20 09:02:37 2013 From: ron.durbin at oracle.com (Ron Durbin) Date: Wed, 20 Feb 2013 09:02:37 -0800 (PST) Subject: Code Review fix for 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly In-Reply-To: <51250076.2030503@oracle.com> References: <51240F3A.6060004@oracle.com> <5124FB09.3040905@oracle.com> <51250076.2030503@oracle.com> Message-ID: <68ce297f-2dc7-4d98-be65-da4693af1831@default> No OWAN issues just ORON reading and digesting comments. Thx to all for your quick and in depth review. From: Daniel D. Daugherty Sent: Wednesday, February 20, 2013 9:57 AM To: Coleen Phillimore; serviceability-dev at openjdk.java.net Cc: hotspot-runtime-dev at openjdk.java.net Subject: Re: Code Review fix for 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly On 2/20/13 9:34 AM, Coleen Phillimore wrote: This looks good. Thanks for the review! Don't know if Ron is having the same connectivity problems I'm having this morning, but my access into OWAN is going up and down... It looks like the webrev was updated to get rid of the unused variable, so that is good. The webrev was not updated. Is there a test for ErrorHandlerTest in our repository already? ErrorHandlerTest? Is there yet another possible test that we don't know about? Dan Thanks, Coleen On 2/19/2013 6:48 PM, Daniel D. Daugherty wrote: Greetings, I'm sponsoring this code review request from Ron Durbin. This change is targeted at JDK8/HSX-25 in the RT_Baseline repo. Dan I have a proposed fix for the following bug: 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6799919 https://jbs.oracle.com/bugs/browse/JDK-6799919 This is one of those bug fixes where the commit message nicely describes the change: 6799919: Recursive calls to report_vm_out_of_memory are handled incorrectly Summary: report_vm_out_of_memory() should allow VMError.report_and_die() to handle multiple out of native memory errors. Reviewed-by: dcubed, Contributed-by HYPERLINK "mailto:ron.durbin at oracle.com"ron.durbin at oracle.com Here is the webrev URL: HYPERLINK "http://cr.openjdk.java.net/%7Edcubed/for_rdurbin/6799919-webrev/0-hsx25"http://cr.openjdk.java.net/~dcubed/for_rdurbin/6799919-webrev/0-hsx25 Testing: - See the READ_ME file attached to the JDK-6799919 for the gory details of the testing needed to reproduce this failure and verify the fix - regular JPRT test job is in process Comments, questions and suggestions are welcome. Ron -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130220/708de84d/attachment.html From daniel.daugherty at oracle.com Wed Feb 20 09:05:47 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 20 Feb 2013 10:05:47 -0700 Subject: Code Review fix for 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly In-Reply-To: <51250076.2030503@oracle.com> References: <51240F3A.6060004@oracle.com> <5124FB09.3040905@oracle.com> <51250076.2030503@oracle.com> Message-ID: <5125026B.501@oracle.com> On 2/20/13 9:57 AM, Daniel D. Daugherty wrote: > On 2/20/13 9:34 AM, Coleen Phillimore wrote: >> >> This looks good. > > Thanks for the review! Don't know if Ron is having the same connectivity > problems I'm having this morning, but my access into OWAN is going up > and down... > > >> It looks like the webrev was updated to get rid of the unused >> variable, so that is good. > > The webrev was not updated. > > >> Is there a test for ErrorHandlerTest in our repository already? > > ErrorHandlerTest? Is there yet another possible test that we don't > know about? OK. I know that test by a different name: $ rgrep ErrorHandlerTest agent make src test src/share/vm/runtime/globals.hpp: notproduct(uintx, ErrorHandlerTest, 0, \ src/share/vm/prims/jni.cpp: NOT_PRODUCT(test_error_handler(ErrorHandlerTest)); test/runtime/6888954/vmerrors.sh: -XX:ErrorHandlerTest=${i} -version > ${i2}.out 2>&1 test/runtime/6888954/vmerrors.sh: # If ErrorHandlerTest is ignored (product build), stop. test/runtime/6888954/vmerrors.sh: echo "ErrorHandlerTest=$i failed ($f)" Ron had previously explored using vmerror.sh to exercise the vm_exit_out_of_memory() code path as one of his early experiments. He also did some testing using the ErrorHandlerTest command line option. In neither case did it seem possible to get multi-threaded test cases up and running. Perhaps both he and I missed something. It also looks like Ron didn't record the specifics of his testing with either vmerrors.sh or the ErrorHandlerTest command line option in the bug report. I'll have to rattle his cage about that. Dan > > Dan > > > >> Thanks, >> Coleen >> >> On 2/19/2013 6:48 PM, Daniel D. Daugherty wrote: >>> Greetings, >>> >>> I'm sponsoring this code review request from Ron Durbin. This change >>> is targeted at JDK8/HSX-25 in the RT_Baseline repo. >>> >>> Dan >>> >>> >>> I have a proposed fix for the following bug: >>> >>> 6799919 Recursive calls to report_vm_out_of_memory are handled >>> incorrectly >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6799919 >>> https://jbs.oracle.com/bugs/browse/JDK-6799919 >>> >>> This is one of those bug fixes where the commit message nicely >>> describes >>> the change: >>> >>> 6799919: Recursive calls to report_vm_out_of_memory are handled >>> incorrectly >>> Summary: report_vm_out_of_memory() should allow >>> VMError.report_and_die() to handle multiple out of native memory >>> errors. >>> Reviewed-by: dcubed, >>> Contributed-by ron.durbin at oracle.com >>> >>> Here is the webrev URL: >>> >>> http://cr.openjdk.java.net/~dcubed/for_rdurbin/6799919-webrev/0-hsx25 >>> >>> Testing: >>> - See the READ_ME file attached to the JDK-6799919 for the gory >>> details >>> of the testing needed to reproduce this failure and verify the fix >>> - regular JPRT test job is in process >>> >>> Comments, questions and suggestions are welcome. >>> >>> Ron >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130220/1c6c3f3f/attachment-0001.html From harold.seigel at oracle.com Wed Feb 20 09:13:24 2013 From: harold.seigel at oracle.com (harold.seigel at oracle.com) Date: Wed, 20 Feb 2013 17:13:24 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 2 new changesets Message-ID: <20130220171330.1A7B347C0A@hg.openjdk.java.net> Changeset: 4c1d8002ffb1 Author: hseigel Date: 2013-02-20 07:16 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/4c1d8002ffb1 8004495: [parfait] False positive Buffer overflow in hotspot/src/os/linux/vm/os_linux.cpp Summary: Delete the questionable source code because it is for no-longer supported versions of Linux. Reviewed-by: mikael, coleenp ! src/os/linux/vm/os_linux.cpp Changeset: b861c8af2510 Author: hseigel Date: 2013-02-20 07:42 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/b861c8af2510 Merge - make/bsd/makefiles/wb.make - make/linux/makefiles/wb.make - make/solaris/makefiles/wb.make - make/windows/makefiles/wb.make - src/share/tools/whitebox/sun/hotspot/WhiteBox.java - src/share/tools/whitebox/sun/hotspot/parser/DiagnosticCommand.java From daniel.daugherty at oracle.com Wed Feb 20 09:29:58 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 20 Feb 2013 10:29:58 -0700 Subject: code review test fix for RedefineSubclassWithTwoInterfaces.sh (8008352) Message-ID: <51250816.9@oracle.com> Greetings, I have a small test fix for getting RedefineSubclassWithTwoInterfaces.sh to run properly on Windows under MKS. Thanks to Amy Lu for finding and reporting the issue. Here is the webrev URL: http://cr.openjdk.java.net/~dcubed/8008352-webrev/0-jdk8-tl/ Tested via a JPRT test job running the "jdk_lang" test suite. Also tested on WinXP/Cygwin, WinXP/MKS and Solaris X86 locally Dan From coleen.phillimore at oracle.com Wed Feb 20 09:37:55 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Wed, 20 Feb 2013 12:37:55 -0500 Subject: Code Review fix for 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly In-Reply-To: <5125026B.501@oracle.com> References: <51240F3A.6060004@oracle.com> <5124FB09.3040905@oracle.com> <51250076.2030503@oracle.com> <5125026B.501@oracle.com> Message-ID: <512509F3.1000108@oracle.com> On 2/20/2013 12:05 PM, Daniel D. Daugherty wrote: > On 2/20/13 9:57 AM, Daniel D. Daugherty wrote: >> On 2/20/13 9:34 AM, Coleen Phillimore wrote: >>> >>> This looks good. >> >> Thanks for the review! Don't know if Ron is having the same connectivity >> problems I'm having this morning, but my access into OWAN is going up >> and down... >> >> >>> It looks like the webrev was updated to get rid of the unused >>> variable, so that is good. >> >> The webrev was not updated. Yes, I see that now. Mikael has a much better eye than I do. >> >> >>> Is there a test for ErrorHandlerTest in our repository already? >> >> ErrorHandlerTest? Is there yet another possible test that we don't >> know about? > > OK. I know that test by a different name: > > $ rgrep ErrorHandlerTest agent make src test > src/share/vm/runtime/globals.hpp: notproduct(uintx, ErrorHandlerTest, > 0, \ > src/share/vm/prims/jni.cpp: > NOT_PRODUCT(test_error_handler(ErrorHandlerTest)); > test/runtime/6888954/vmerrors.sh: -XX:ErrorHandlerTest=${i} -version > > ${i2}.out 2>&1 > test/runtime/6888954/vmerrors.sh: # If ErrorHandlerTest is ignored > (product build), stop. > test/runtime/6888954/vmerrors.sh: echo "ErrorHandlerTest=$i > failed ($f)" > > Ron had previously explored using vmerror.sh to exercise the > vm_exit_out_of_memory() code path as one of his early experiments. > He also did some testing using the ErrorHandlerTest command line > option. In neither case did it seem possible to get multi-threaded > test cases up and running. Perhaps both he and I missed something. > > It also looks like Ron didn't record the specifics of his testing > with either vmerrors.sh or the ErrorHandlerTest command line option > in the bug report. I'll have to rattle his cage about that. > My question was mostly if we had a jtreg test in hotspot/test repository that exercised this ErrorHandlerTest option. The second part of the question is whether we should have a test because it'll look like it failed. Maybe this is more of a question for Christian Tornqvist and SQE and is not tied to this specific change. I talked to Ron about trying to test this also and we couldn't come up with a good strategy either. We need a good way to test out of C heap memory without actually allocating lots of memory and running out of C heap. Such tests don't run well. Maybe we can do something in the future with this ErrorHandlerTest option to have the VM return NULL or assert for various malloc calls triggered through some heuristic. Having the experiments to date recorded somewhere would be great. Thanks, Coleen > Dan > >> >> Dan >> >> >> >>> Thanks, >>> Coleen >>> >>> On 2/19/2013 6:48 PM, Daniel D. Daugherty wrote: >>>> Greetings, >>>> >>>> I'm sponsoring this code review request from Ron Durbin. This change >>>> is targeted at JDK8/HSX-25 in the RT_Baseline repo. >>>> >>>> Dan >>>> >>>> >>>> I have a proposed fix for the following bug: >>>> >>>> 6799919 Recursive calls to report_vm_out_of_memory are handled >>>> incorrectly >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6799919 >>>> https://jbs.oracle.com/bugs/browse/JDK-6799919 >>>> >>>> This is one of those bug fixes where the commit message nicely >>>> describes >>>> the change: >>>> >>>> 6799919: Recursive calls to report_vm_out_of_memory are handled >>>> incorrectly >>>> Summary: report_vm_out_of_memory() should allow >>>> VMError.report_and_die() to handle multiple out of native memory >>>> errors. >>>> Reviewed-by: dcubed, >>>> Contributed-by ron.durbin at oracle.com >>>> >>>> Here is the webrev URL: >>>> >>>> http://cr.openjdk.java.net/~dcubed/for_rdurbin/6799919-webrev/0-hsx25 >>>> >>>> Testing: >>>> - See the READ_ME file attached to the JDK-6799919 for the gory >>>> details >>>> of the testing needed to reproduce this failure and verify the >>>> fix >>>> - regular JPRT test job is in process >>>> >>>> Comments, questions and suggestions are welcome. >>>> >>>> Ron >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130220/e62f54f2/attachment.html From daniel.daugherty at oracle.com Wed Feb 20 09:46:12 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 20 Feb 2013 10:46:12 -0700 Subject: Code Review fix for 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly In-Reply-To: <512509F3.1000108@oracle.com> References: <51240F3A.6060004@oracle.com> <5124FB09.3040905@oracle.com> <51250076.2030503@oracle.com> <5125026B.501@oracle.com> <512509F3.1000108@oracle.com> Message-ID: <51250BE4.9020308@oracle.com> On 2/20/13 10:37 AM, Coleen Phillimore wrote: > On 2/20/2013 12:05 PM, Daniel D. Daugherty wrote: >> On 2/20/13 9:57 AM, Daniel D. Daugherty wrote: >>> On 2/20/13 9:34 AM, Coleen Phillimore wrote: >>>> >>>> This looks good. >>> >>> Thanks for the review! Don't know if Ron is having the same connectivity >>> problems I'm having this morning, but my access into OWAN is going up >>> and down... >>> >>> >>>> It looks like the webrev was updated to get rid of the unused >>>> variable, so that is good. >>> >>> The webrev was not updated. > > Yes, I see that now. Mikael has a much better eye than I do. >>> >>> >>>> Is there a test for ErrorHandlerTest in our repository already? >>> >>> ErrorHandlerTest? Is there yet another possible test that we don't >>> know about? >> >> OK. I know that test by a different name: >> >> $ rgrep ErrorHandlerTest agent make src test >> src/share/vm/runtime/globals.hpp: notproduct(uintx, >> ErrorHandlerTest, 0, \ >> src/share/vm/prims/jni.cpp: >> NOT_PRODUCT(test_error_handler(ErrorHandlerTest)); >> test/runtime/6888954/vmerrors.sh: -XX:ErrorHandlerTest=${i} -version >> > ${i2}.out 2>&1 >> test/runtime/6888954/vmerrors.sh: # If ErrorHandlerTest is ignored >> (product build), stop. >> test/runtime/6888954/vmerrors.sh: echo >> "ErrorHandlerTest=$i failed ($f)" >> >> Ron had previously explored using vmerror.sh to exercise the >> vm_exit_out_of_memory() code path as one of his early experiments. >> He also did some testing using the ErrorHandlerTest command line >> option. In neither case did it seem possible to get multi-threaded >> test cases up and running. Perhaps both he and I missed something. >> >> It also looks like Ron didn't record the specifics of his testing >> with either vmerrors.sh or the ErrorHandlerTest command line option >> in the bug report. I'll have to rattle his cage about that. >> > > My question was mostly if we had a jtreg test in hotspot/test > repository that exercised this ErrorHandlerTest option. The second > part of the question is whether we should have a test because it'll > look like it failed. Maybe this is more of a question for Christian > Tornqvist and SQE and is not tied to this specific change. > > I talked to Ron about trying to test this also and we couldn't come up > with a good strategy either. We need a good way to test out of C > heap memory without actually allocating lots of memory and running out > of C heap. Such tests don't run well. Maybe we can do something in > the future with this ErrorHandlerTest option to have the VM return > NULL or assert for various malloc calls triggered through some > heuristic. Having the experiments to date recorded somewhere would > be great. See the READ_ME file attached to the bug report for the craziness that Ron and I had to go through to properly test this. Some of what we came up with should be useful as a diagnostic option, but that should be done as a separate bug fix. Dan > > Thanks, > Coleen > >> Dan >> >>> >>> Dan >>> >>> >>> >>>> Thanks, >>>> Coleen >>>> >>>> On 2/19/2013 6:48 PM, Daniel D. Daugherty wrote: >>>>> Greetings, >>>>> >>>>> I'm sponsoring this code review request from Ron Durbin. This change >>>>> is targeted at JDK8/HSX-25 in the RT_Baseline repo. >>>>> >>>>> Dan >>>>> >>>>> >>>>> I have a proposed fix for the following bug: >>>>> >>>>> 6799919 Recursive calls to report_vm_out_of_memory are handled >>>>> incorrectly >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6799919 >>>>> https://jbs.oracle.com/bugs/browse/JDK-6799919 >>>>> >>>>> This is one of those bug fixes where the commit message nicely >>>>> describes >>>>> the change: >>>>> >>>>> 6799919: Recursive calls to report_vm_out_of_memory are handled >>>>> incorrectly >>>>> Summary: report_vm_out_of_memory() should allow >>>>> VMError.report_and_die() to handle multiple out of native memory >>>>> errors. >>>>> Reviewed-by: dcubed, >>>>> Contributed-by ron.durbin at oracle.com >>>>> >>>>> Here is the webrev URL: >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/for_rdurbin/6799919-webrev/0-hsx25 >>>>> >>>>> Testing: >>>>> - See the READ_ME file attached to the JDK-6799919 for the gory >>>>> details >>>>> of the testing needed to reproduce this failure and verify >>>>> the fix >>>>> - regular JPRT test job is in process >>>>> >>>>> Comments, questions and suggestions are welcome. >>>>> >>>>> Ron >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130220/587cdaeb/attachment-0001.html From serguei.spitsyn at oracle.com Wed Feb 20 09:51:14 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Wed, 20 Feb 2013 09:51:14 -0800 Subject: code review test fix for RedefineSubclassWithTwoInterfaces.sh (8008352) In-Reply-To: <51250816.9@oracle.com> References: <51250816.9@oracle.com> Message-ID: <51250D12.5020605@oracle.com> Looks good. Thanks, Serguei On 2/20/13 9:29 AM, Daniel D. Daugherty wrote: > Greetings, > > I have a small test fix for getting RedefineSubclassWithTwoInterfaces.sh > to run properly on Windows under MKS. Thanks to Amy Lu for finding and > reporting the issue. > > Here is the webrev URL: > > http://cr.openjdk.java.net/~dcubed/8008352-webrev/0-jdk8-tl/ > > Tested via a JPRT test job running the "jdk_lang" test suite. > Also tested on WinXP/Cygwin, WinXP/MKS and Solaris X86 locally > > Dan > From daniel.daugherty at oracle.com Wed Feb 20 09:54:14 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 20 Feb 2013 10:54:14 -0700 Subject: code review test fix for RedefineSubclassWithTwoInterfaces.sh (8008352) In-Reply-To: <51250D12.5020605@oracle.com> References: <51250816.9@oracle.com> <51250D12.5020605@oracle.com> Message-ID: <51250DC6.3020906@oracle.com> Thanks Serguei! Dan On 2/20/13 10:51 AM, serguei.spitsyn at oracle.com wrote: > Looks good. > > Thanks, > Serguei > > On 2/20/13 9:29 AM, Daniel D. Daugherty wrote: >> Greetings, >> >> I have a small test fix for getting RedefineSubclassWithTwoInterfaces.sh >> to run properly on Windows under MKS. Thanks to Amy Lu for finding and >> reporting the issue. >> >> Here is the webrev URL: >> >> http://cr.openjdk.java.net/~dcubed/8008352-webrev/0-jdk8-tl/ >> >> Tested via a JPRT test job running the "jdk_lang" test suite. >> Also tested on WinXP/Cygwin, WinXP/MKS and Solaris X86 locally >> >> Dan >> > From staffan.larsen at oracle.com Wed Feb 20 09:54:34 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Wed, 20 Feb 2013 18:54:34 +0100 Subject: code review test fix for RedefineSubclassWithTwoInterfaces.sh (8008352) In-Reply-To: <51250816.9@oracle.com> References: <51250816.9@oracle.com> Message-ID: Looks good! On 20 feb 2013, at 18:29, Daniel D. Daugherty wrote: > Greetings, > > I have a small test fix for getting RedefineSubclassWithTwoInterfaces.sh > to run properly on Windows under MKS. Thanks to Amy Lu for finding and > reporting the issue. > > Here is the webrev URL: > > http://cr.openjdk.java.net/~dcubed/8008352-webrev/0-jdk8-tl/ > > Tested via a JPRT test job running the "jdk_lang" test suite. > Also tested on WinXP/Cygwin, WinXP/MKS and Solaris X86 locally > > Dan > From daniel.daugherty at oracle.com Wed Feb 20 09:55:20 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 20 Feb 2013 10:55:20 -0700 Subject: code review test fix for RedefineSubclassWithTwoInterfaces.sh (8008352) In-Reply-To: References: <51250816.9@oracle.com> Message-ID: <51250E08.5010705@oracle.com> Thanks Staffan! Dan On 2/20/13 10:54 AM, Staffan Larsen wrote: > Looks good! > > On 20 feb 2013, at 18:29, Daniel D. Daugherty wrote: > >> Greetings, >> >> I have a small test fix for getting RedefineSubclassWithTwoInterfaces.sh >> to run properly on Windows under MKS. Thanks to Amy Lu for finding and >> reporting the issue. >> >> Here is the webrev URL: >> >> http://cr.openjdk.java.net/~dcubed/8008352-webrev/0-jdk8-tl/ >> >> Tested via a JPRT test job running the "jdk_lang" test suite. >> Also tested on WinXP/Cygwin, WinXP/MKS and Solaris X86 locally >> >> Dan >> From coleen.phillimore at oracle.com Wed Feb 20 10:09:43 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Wed, 20 Feb 2013 13:09:43 -0500 Subject: code review test fix for RedefineSubclassWithTwoInterfaces.sh (8008352) In-Reply-To: <51250E08.5010705@oracle.com> References: <51250816.9@oracle.com> <51250E08.5010705@oracle.com> Message-ID: <51251167.20901@oracle.com> (not sure who I replied to in the last email and wanted to correct it). This looks good. I meant, I hope these .sh tests can be replaced with java, like some of the new tests in the hotspot repository. Coleen On 2/20/2013 12:55 PM, Daniel D. Daugherty wrote: > Thanks Staffan! > > Dan > > > On 2/20/13 10:54 AM, Staffan Larsen wrote: >> Looks good! >> >> On 20 feb 2013, at 18:29, Daniel D. Daugherty >> wrote: >> >>> Greetings, >>> >>> I have a small test fix for getting >>> RedefineSubclassWithTwoInterfaces.sh >>> to run properly on Windows under MKS. Thanks to Amy Lu for finding and >>> reporting the issue. >>> >>> Here is the webrev URL: >>> >>> http://cr.openjdk.java.net/~dcubed/8008352-webrev/0-jdk8-tl/ >>> >>> Tested via a JPRT test job running the "jdk_lang" test suite. >>> Also tested on WinXP/Cygwin, WinXP/MKS and Solaris X86 locally >>> >>> Dan >>> > From daniel.daugherty at oracle.com Wed Feb 20 10:11:55 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 20 Feb 2013 11:11:55 -0700 Subject: code review test fix for RedefineSubclassWithTwoInterfaces.sh (8008352) In-Reply-To: <5125107D.4090302@oracle.com> References: <51250816.9@oracle.com> <5125107D.4090302@oracle.com> Message-ID: <512511EB.8010001@oracle.com> Adding the other alias back in... Thanks for the review! It is hard for me to see how debugger/debuggee tests in general can be done without .sh scripts. For RedefineClasses() or RetransformClasses() tests, it would be even more difficult, but... who knows... If someone invests enough time, anything is possible. Dan On 2/20/13 11:05 AM, Coleen Phillimore wrote: > > This looks good. Hope these .sh tests are short-lived. > Coleen > > On 2/20/2013 12:29 PM, Daniel D. Daugherty wrote: >> Greetings, >> >> I have a small test fix for getting RedefineSubclassWithTwoInterfaces.sh >> to run properly on Windows under MKS. Thanks to Amy Lu for finding and >> reporting the issue. >> >> Here is the webrev URL: >> >> http://cr.openjdk.java.net/~dcubed/8008352-webrev/0-jdk8-tl/ >> >> Tested via a JPRT test job running the "jdk_lang" test suite. >> Also tested on WinXP/Cygwin, WinXP/MKS and Solaris X86 locally >> >> Dan >> > From coleen.phillimore at oracle.com Wed Feb 20 10:20:38 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Wed, 20 Feb 2013 13:20:38 -0500 Subject: Request for review: 8000797: NPG: is_pseudo_string_at() doesn't work In-Reply-To: <51157551.4040000@oracle.com> References: <51157551.4040000@oracle.com> Message-ID: <512513F6.3020404@oracle.com> Since nobody replied to my code review request, I modified the change. Summary: Add JVM_CONSTANT_PseudoString in place of JVM_CONSTANT_Object and use this tag to distinguish patched pseudo strings. The original string is retained if it was present. I'm not sure how class file reconstitution for pseudo-strings is going to work, but I thought it was prudent to leave the Symbol* in the slot for the patched string. I noticed that JVM_CONSTANT_Object is no longer used so reused that constant to be PseudoString. I had an edit to go in the other direction (if a pseudo-string is patched into a constant pool, make it a JVM_CONSTANT_Object), but this didn't fully capture that the constant pool slot also points to a Symbol. John or Christian, can you confirm that you don't plan to use object constants anymore? open webrev at http://cr.openjdk.java.net/~coleenp/8000797/ bug link at http://bugs.sun.com/view_bug.do?bug_id=8000797 Tested with vm.quick.testlist (including parallel_class_loading and mlvm tests) and java/lang/invoke and java/lang/instrument tests. Thanks, Coleen On 2/8/2013 4:59 PM, Coleen Phillimore wrote: > Summary: Null out the original string when patching constant pool with > pseudo-string > > This call is_pseudo_string() conditionalized a pseudo_string_at() > call, but since it always failed, it went to string_at() which > returned the same thing. The only thing that seems to treat > pseudo-string and regular strings differently is the verifier. The > verifier pushes an object for pseudo string vs. an object of type > java/lang/String. > > open webrev at http://cr.openjdk.java.net/~coleenp/8000797/ > bug link at http://bugs.sun.com/view_bug.do?bug_id=8000797 > > Tested with vm.mlvm.testlists and java/lang/invoke tests. > > Thanks, > Coleen From karen.kinnear at oracle.com Wed Feb 20 10:39:54 2013 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Wed, 20 Feb 2013 13:39:54 -0500 Subject: Code Review fix for 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly In-Reply-To: <51250BE4.9020308@oracle.com> References: <51240F3A.6060004@oracle.com> <5124FB09.3040905@oracle.com> <51250076.2030503@oracle.com> <5125026B.501@oracle.com> <512509F3.1000108@oracle.com> <51250BE4.9020308@oracle.com> Message-ID: Thank you for fixing this Ron and to both you and Dan for figuring out a way to simulate this problem to test the fix. So what does happen with the UseOSErrorReporting option? If we know the answer, perhaps the comment could not state that we have to figure this out later? On Feb 20, 2013, at 12:46 PM, Daniel D. Daugherty wrote: > On 2/20/13 10:37 AM, Coleen Phillimore wrote: >> On 2/20/2013 12:05 PM, Daniel D. Daugherty wrote: >>> On 2/20/13 9:57 AM, Daniel D. Daugherty wrote: >>>> On 2/20/13 9:34 AM, Coleen Phillimore wrote: >>>>> >>>>> This looks good. >>>> >>>> Thanks for the review! Don't know if Ron is having the same connectivity >>>> problems I'm having this morning, but my access into OWAN is going up >>>> and down... >>>> >>>> >>>>> It looks like the webrev was updated to get rid of the unused variable, so that is good. >>>> >>>> The webrev was not updated. >> >> Yes, I see that now. Mikael has a much better eye than I do. >>>> >>>> >>>>> Is there a test for ErrorHandlerTest in our repository already? >>>> >>>> ErrorHandlerTest? Is there yet another possible test that we don't >>>> know about? >>> >>> OK. I know that test by a different name: >>> >>> $ rgrep ErrorHandlerTest agent make src test >>> src/share/vm/runtime/globals.hpp: notproduct(uintx, ErrorHandlerTest, 0, \ >>> src/share/vm/prims/jni.cpp: NOT_PRODUCT(test_error_handler(ErrorHandlerTest)); >>> test/runtime/6888954/vmerrors.sh: -XX:ErrorHandlerTest=${i} -version > ${i2}.out 2>&1 >>> test/runtime/6888954/vmerrors.sh: # If ErrorHandlerTest is ignored (product build), stop. >>> test/runtime/6888954/vmerrors.sh: echo "ErrorHandlerTest=$i failed ($f)" >>> >>> Ron had previously explored using vmerror.sh to exercise the >>> vm_exit_out_of_memory() code path as one of his early experiments. >>> He also did some testing using the ErrorHandlerTest command line >>> option. In neither case did it seem possible to get multi-threaded >>> test cases up and running. Perhaps both he and I missed something. >>> >>> It also looks like Ron didn't record the specifics of his testing >>> with either vmerrors.sh or the ErrorHandlerTest command line option >>> in the bug report. I'll have to rattle his cage about that. >>> >> >> My question was mostly if we had a jtreg test in hotspot/test repository that exercised this ErrorHandlerTest option. The second part of the question is whether we should have a test because it'll look like it failed. Maybe this is more of a question for Christian Tornqvist and SQE and is not tied to this specific change. >> >> I talked to Ron about trying to test this also and we couldn't come up with a good strategy either. We need a good way to test out of C heap memory without actually allocating lots of memory and running out of C heap. Such tests don't run well. Maybe we can do something in the future with this ErrorHandlerTest option to have the VM return NULL or assert for various malloc calls triggered through some heuristic. Having the experiments to date recorded somewhere would be great. > > See the READ_ME file attached to the bug report for the craziness that > Ron and I had to go through to properly test this. Some of what we came > up with should be useful as a diagnostic option, but that should be done > as a separate bug fix. Totally agree, this should be a separate discussion. thanks, Karen > > Dan > > >> >> Thanks, >> Coleen >> >>> Dan >>> >>>> >>>> Dan >>>> >>>> >>>> >>>>> Thanks, >>>>> Coleen >>>>> >>>>> On 2/19/2013 6:48 PM, Daniel D. Daugherty wrote: >>>>>> Greetings, >>>>>> >>>>>> I'm sponsoring this code review request from Ron Durbin. This change >>>>>> is targeted at JDK8/HSX-25 in the RT_Baseline repo. >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>> I have a proposed fix for the following bug: >>>>>> >>>>>> 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly >>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6799919 >>>>>> https://jbs.oracle.com/bugs/browse/JDK-6799919 >>>>>> >>>>>> This is one of those bug fixes where the commit message nicely describes >>>>>> the change: >>>>>> >>>>>> 6799919: Recursive calls to report_vm_out_of_memory are handled incorrectly >>>>>> Summary: report_vm_out_of_memory() should allow VMError.report_and_die() to handle multiple out of native memory errors. >>>>>> Reviewed-by: dcubed, >>>>>> Contributed-by ron.durbin at oracle.com >>>>>> >>>>>> Here is the webrev URL: >>>>>> >>>>>> http://cr.openjdk.java.net/~dcubed/for_rdurbin/6799919-webrev/0-hsx25 >>>>>> >>>>>> Testing: >>>>>> - See the READ_ME file attached to the JDK-6799919 for the gory details >>>>>> of the testing needed to reproduce this failure and verify the fix >>>>>> - regular JPRT test job is in process >>>>>> >>>>>> Comments, questions and suggestions are welcome. >>>>>> >>>>>> Ron >>>>> >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130220/53a3682f/attachment-0001.html From ron.durbin at oracle.com Wed Feb 20 10:47:27 2013 From: ron.durbin at oracle.com (Ron Durbin) Date: Wed, 20 Feb 2013 10:47:27 -0800 (PST) Subject: Code Review fix for 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly In-Reply-To: <512509F3.1000108@oracle.com> References: <51240F3A.6060004@oracle.com> <5124FB09.3040905@oracle.com> <51250076.2030503@oracle.com> <5125026B.501@oracle.com> <512509F3.1000108@oracle.com> Message-ID: Dan my cage is rattled Yes I should give more detail on that . I might still be able to add some detail in the "we tried this too". I was not thinking about others needing to understand /follow the road to resolution. From: Coleen Phillimore Sent: Wednesday, February 20, 2013 10:38 AM To: Daniel Daugherty Cc: serviceability-dev at openjdk.java.net; =?ISO-8859-1?Q?Christian_T=F6rnq?=@sca-git1.sun.com; hotspot-runtime-dev at openjdk.java.net Subject: Re: Code Review fix for 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly On 2/20/2013 12:05 PM, Daniel D. Daugherty wrote: On 2/20/13 9:57 AM, Daniel D. Daugherty wrote: On 2/20/13 9:34 AM, Coleen Phillimore wrote: This looks good. Thanks for the review! Don't know if Ron is having the same connectivity problems I'm having this morning, but my access into OWAN is going up and down... It looks like the webrev was updated to get rid of the unused variable, so that is good. The webrev was not updated. Yes, I see that now. Mikael has a much better eye than I do. Is there a test for ErrorHandlerTest in our repository already? ErrorHandlerTest? Is there yet another possible test that we don't know about? OK. I know that test by a different name: $ rgrep ErrorHandlerTest agent make src test src/share/vm/runtime/globals.hpp: notproduct(uintx, ErrorHandlerTest, 0, \ src/share/vm/prims/jni.cpp: NOT_PRODUCT(test_error_handler(ErrorHandlerTest)); test/runtime/6888954/vmerrors.sh: -XX:ErrorHandlerTest=${i} -version > ${i2}.out 2>&1 test/runtime/6888954/vmerrors.sh: # If ErrorHandlerTest is ignored (product build), stop. test/runtime/6888954/vmerrors.sh: echo "ErrorHandlerTest=$i failed ($f)" Ron had previously explored using vmerror.sh to exercise the vm_exit_out_of_memory() code path as one of his early experiments. He also did some testing using the ErrorHandlerTest command line option. In neither case did it seem possible to get multi-threaded test cases up and running. Perhaps both he and I missed something. It also looks like Ron didn't record the specifics of his testing with either vmerrors.sh or the ErrorHandlerTest command line option in the bug report. I'll have to rattle his cage about that. My question was mostly if we had a jtreg test in hotspot/test repository that exercised this ErrorHandlerTest option. The second part of the question is whether we should have a test because it'll look like it failed. Maybe this is more of a question for Christian Tornqvist and SQE and is not tied to this specific change. I talked to Ron about trying to test this also and we couldn't come up with a good strategy either. We need a good way to test out of C heap memory without actually allocating lots of memory and running out of C heap. Such tests don't run well. Maybe we can do something in the future with this ErrorHandlerTest option to have the VM return NULL or assert for various malloc calls triggered through some heuristic. Having the experiments to date recorded somewhere would be great. Thanks, Coleen Dan Dan Thanks, Coleen On 2/19/2013 6:48 PM, Daniel D. Daugherty wrote: Greetings, I'm sponsoring this code review request from Ron Durbin. This change is targeted at JDK8/HSX-25 in the RT_Baseline repo. Dan I have a proposed fix for the following bug: 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6799919 https://jbs.oracle.com/bugs/browse/JDK-6799919 This is one of those bug fixes where the commit message nicely describes the change: 6799919: Recursive calls to report_vm_out_of_memory are handled incorrectly Summary: report_vm_out_of_memory() should allow VMError.report_and_die() to handle multiple out of native memory errors. Reviewed-by: dcubed, Contributed-by HYPERLINK "mailto:ron.durbin at oracle.com"ron.durbin at oracle.com Here is the webrev URL: HYPERLINK "http://cr.openjdk.java.net/%7Edcubed/for_rdurbin/6799919-webrev/0-hsx25"http://cr.openjdk.java.net/~dcubed/for_rdurbin/6799919-webrev/0-hsx25 Testing: - See the READ_ME file attached to the JDK-6799919 for the gory details of the testing needed to reproduce this failure and verify the fix - regular JPRT test job is in process Comments, questions and suggestions are welcome. Ron -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130220/eead74b6/attachment.html From daniel.daugherty at oracle.com Wed Feb 20 10:48:46 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 20 Feb 2013 11:48:46 -0700 Subject: Code Review fix for 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly In-Reply-To: References: <51240F3A.6060004@oracle.com> <5124FB09.3040905@oracle.com> <51250076.2030503@oracle.com> <5125026B.501@oracle.com> <512509F3.1000108@oracle.com> <51250BE4.9020308@oracle.com> Message-ID: <51251A8E.5020104@oracle.com> Karen, Thanks for the review! On 2/20/13 11:39 AM, Karen Kinnear wrote: > Thank you for fixing this Ron and to both you and Dan for figuring out > a way to simulate this problem > to test the fix. > > So what does happen with the UseOSErrorReporting option? > If we know the answer, perhaps the comment could not state that we > have to figure this out later? Since I had asked Ron to put in both the comment and the guarantee, I'll field that question. The UseOSErrorReporting option in VMError.report_and_die() is meant to handle the case where report_and_die() is called for every frame during some error reporting stack walk; Coleen made that change in report_and_die() years ago... Based on my analysis of how the UseOSErrorReporting option is used, I don't expect it to come into play when report_vm_out_of_memory() calls VMError.report_and_die(), but I'm paranoid so I asked Ron to add a guarantee() so we got some failure indication just in case we returned from VMError.report_and_die() at some point in the future. I didn't want us to return to the report_vm_out_of_memory() caller nor did I want us to simply call abort() like the old code. Dan > On Feb 20, 2013, at 12:46 PM, Daniel D. Daugherty wrote: > >> On 2/20/13 10:37 AM, Coleen Phillimore wrote: >>> On 2/20/2013 12:05 PM, Daniel D. Daugherty wrote: >>>> On 2/20/13 9:57 AM, Daniel D. Daugherty wrote: >>>>> On 2/20/13 9:34 AM, Coleen Phillimore wrote: >>>>>> >>>>>> This looks good. >>>>> >>>>> Thanks for the review! Don't know if Ron is having the same >>>>> connectivity >>>>> problems I'm having this morning, but my access into OWAN is going up >>>>> and down... >>>>> >>>>> >>>>>> It looks like the webrev was updated to get rid of the unused >>>>>> variable, so that is good. >>>>> >>>>> The webrev was not updated. >>> >>> Yes, I see that now. Mikael has a much better eye than I do. >>>>> >>>>> >>>>>> Is there a test for ErrorHandlerTest in our repository already? >>>>> >>>>> ErrorHandlerTest? Is there yet another possible test that we don't >>>>> know about? >>>> >>>> OK. I know that test by a different name: >>>> >>>> $ rgrep ErrorHandlerTest agent make src test >>>> src/share/vm/runtime/globals.hpp: notproduct(uintx, >>>> ErrorHandlerTest, 0, \ >>>> src/share/vm/prims/jni.cpp: >>>> NOT_PRODUCT(test_error_handler(ErrorHandlerTest)); >>>> test/runtime/6888954/vmerrors.sh: -XX:ErrorHandlerTest=${i} >>>> -version > ${i2}.out 2>&1 >>>> test/runtime/6888954/vmerrors.sh: # If ErrorHandlerTest is >>>> ignored (product build), stop. >>>> test/runtime/6888954/vmerrors.sh: echo >>>> "ErrorHandlerTest=$i failed ($f)" >>>> >>>> Ron had previously explored using vmerror.sh to exercise the >>>> vm_exit_out_of_memory() code path as one of his early experiments. >>>> He also did some testing using the ErrorHandlerTest command line >>>> option. In neither case did it seem possible to get multi-threaded >>>> test cases up and running. Perhaps both he and I missed something. >>>> >>>> It also looks like Ron didn't record the specifics of his testing >>>> with either vmerrors.sh or the ErrorHandlerTest command line option >>>> in the bug report. I'll have to rattle his cage about that. >>>> >>> >>> My question was mostly if we had a jtreg test in hotspot/test >>> repository that exercised this ErrorHandlerTest option. The second >>> part of the question is whether we should have a test because it'll >>> look like it failed. Maybe this is more of a question for >>> Christian Tornqvist and SQE and is not tied to this specific change. >>> >>> I talked to Ron about trying to test this also and we couldn't come >>> up with a good strategy either. We need a good way to test out of C >>> heap memory without actually allocating lots of memory and running >>> out of C heap. Such tests don't run well. Maybe we can do something >>> in the future with this ErrorHandlerTest option to have the VM >>> return NULL or assert for various malloc calls triggered through >>> some heuristic. Having the experiments to date recorded somewhere >>> would be great. >> >> See the READ_ME file attached to the bug report for the craziness that >> Ron and I had to go through to properly test this. Some of what we came >> up with should be useful as a diagnostic option, but that should be done >> as a separate bug fix. > Totally agree, this should be a separate discussion. > > thanks, > Karen >> >> Dan >> >> >>> >>> Thanks, >>> Coleen >>> >>>> Dan >>>> >>>>> >>>>> Dan >>>>> >>>>> >>>>> >>>>>> Thanks, >>>>>> Coleen >>>>>> >>>>>> On 2/19/2013 6:48 PM, Daniel D. Daugherty wrote: >>>>>>> Greetings, >>>>>>> >>>>>>> I'm sponsoring this code review request from Ron Durbin. This >>>>>>> change >>>>>>> is targeted at JDK8/HSX-25 in the RT_Baseline repo. >>>>>>> >>>>>>> Dan >>>>>>> >>>>>>> >>>>>>> I have a proposed fix for the following bug: >>>>>>> >>>>>>> 6799919 Recursive calls to report_vm_out_of_memory are >>>>>>> handled incorrectly >>>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6799919 >>>>>>> https://jbs.oracle.com/bugs/browse/JDK-6799919 >>>>>>> >>>>>>> This is one of those bug fixes where the commit message nicely >>>>>>> describes >>>>>>> the change: >>>>>>> >>>>>>> 6799919: Recursive calls to report_vm_out_of_memory are handled >>>>>>> incorrectly >>>>>>> Summary: report_vm_out_of_memory() should allow >>>>>>> VMError.report_and_die() to handle multiple out of native memory >>>>>>> errors. >>>>>>> Reviewed-by: dcubed, >>>>>>> Contributed-by ron.durbin at oracle.com >>>>>>> >>>>>>> Here is the webrev URL: >>>>>>> >>>>>>> http://cr.openjdk.java.net/~dcubed/for_rdurbin/6799919-webrev/0-hsx25 >>>>>>> >>>>>>> >>>>>>> Testing: >>>>>>> - See the READ_ME file attached to the JDK-6799919 for the >>>>>>> gory details >>>>>>> of the testing needed to reproduce this failure and verify >>>>>>> the fix >>>>>>> - regular JPRT test job is in process >>>>>>> >>>>>>> Comments, questions and suggestions are welcome. >>>>>>> >>>>>>> Ron >>>>>> >>>>> >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130220/c7ec9f26/attachment-0001.html From daniel.daugherty at oracle.com Wed Feb 20 10:54:21 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 20 Feb 2013 11:54:21 -0700 Subject: Code Review fix for 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly In-Reply-To: References: <51240F3A.6060004@oracle.com> <5124FB09.3040905@oracle.com> <51250076.2030503@oracle.com> <5125026B.501@oracle.com> <512509F3.1000108@oracle.com> Message-ID: <51251BDD.30309@oracle.com> Ron, I stand corrected on one part. You added a note to the bug about the 'ErrorHandlerTest' option back on 2013.02.11. I don't see any notes about vmerrors.sh, but maybe that's lessimportant. Dan On 2/20/13 11:47 AM, Ron Durbin wrote: > > Dan my cage is rattled > > Yes I should give more detail on that . I might still be able to add > some detail in the "we tried this too". > > I was not thinking about others needing to understand /follow the road > to resolution. > > *From:*Coleen Phillimore > *Sent:* Wednesday, February 20, 2013 10:38 AM > *To:* Daniel Daugherty > *Cc:* serviceability-dev at openjdk.java.net; > =?ISO-8859-1?Q?Christian_T=F6rnq?=@sca-git1.sun.com; > hotspot-runtime-dev at openjdk.java.net > *Subject:* Re: Code Review fix for 6799919 Recursive calls to > report_vm_out_of_memory are handled incorrectly > > On 2/20/2013 12:05 PM, Daniel D. Daugherty wrote: > > On 2/20/13 9:57 AM, Daniel D. Daugherty wrote: > > On 2/20/13 9:34 AM, Coleen Phillimore wrote: > > > This looks good. > > > Thanks for the review! Don't know if Ron is having the same > connectivity > problems I'm having this morning, but my access into OWAN is going up > and down... > > > > It looks like the webrev was updated to get rid of the unused > variable, so that is good. > > > The webrev was not updated. > > > Yes, I see that now. Mikael has a much better eye than I do. > > > > > Is there a test for ErrorHandlerTest in our repository already? > > > ErrorHandlerTest? Is there yet another possible test that we don't > know about? > > > OK. I know that test by a different name: > > $ rgrep ErrorHandlerTest agent make src test > src/share/vm/runtime/globals.hpp: notproduct(uintx, ErrorHandlerTest, > 0, \ > src/share/vm/prims/jni.cpp: > NOT_PRODUCT(test_error_handler(ErrorHandlerTest)); > test/runtime/6888954/vmerrors.sh: -XX:ErrorHandlerTest=${i} -version > > ${i2}.out 2>&1 > test/runtime/6888954/vmerrors.sh: # If ErrorHandlerTest is ignored > (product build), stop. > test/runtime/6888954/vmerrors.sh: echo "ErrorHandlerTest=$i > failed ($f)" > > Ron had previously explored using vmerror.sh to exercise the > vm_exit_out_of_memory() code path as one of his early experiments. > He also did some testing using the ErrorHandlerTest command line > option. In neither case did it seem possible to get multi-threaded > test cases up and running. Perhaps both he and I missed something. > > It also looks like Ron didn't record the specifics of his testing > with either vmerrors.sh or the ErrorHandlerTest command line option > in the bug report. I'll have to rattle his cage about that. > > > My question was mostly if we had a jtreg test in hotspot/test > repository that exercised this ErrorHandlerTest option. The second > part of the question is whether we should have a test because it'll > look like it failed. Maybe this is more of a question for Christian > Tornqvist and SQE and is not tied to this specific change. > > I talked to Ron about trying to test this also and we couldn't come up > with a good strategy either. We need a good way to test out of C > heap memory without actually allocating lots of memory and running out > of C heap. Such tests don't run well. Maybe we can do something in > the future with this ErrorHandlerTest option to have the VM return > NULL or assert for various malloc calls triggered through some > heuristic. Having the experiments to date recorded somewhere would > be great. > > Thanks, > Coleen > > > Dan > > > > Dan > > > > > Thanks, > Coleen > > On 2/19/2013 6:48 PM, Daniel D. Daugherty wrote: > > Greetings, > > I'm sponsoring this code review request from Ron Durbin. This change > is targeted at JDK8/HSX-25 in the RT_Baseline repo. > > Dan > > > I have a proposed fix for the following bug: > > 6799919 Recursive calls to report_vm_out_of_memory are handled > incorrectly > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6799919 > https://jbs.oracle.com/bugs/browse/JDK-6799919 > > This is one of those bug fixes where the commit message nicely > describes > the change: > > 6799919: Recursive calls to report_vm_out_of_memory are handled > incorrectly > Summary: report_vm_out_of_memory() should allow > VMError.report_and_die() to handle multiple out of native memory > errors. > Reviewed-by: dcubed, > Contributed-by ron.durbin at oracle.com > > Here is the webrev URL: > > http://cr.openjdk.java.net/~dcubed/for_rdurbin/6799919-webrev/0-hsx25 > > > > Testing: > - See the READ_ME file attached to the JDK-6799919 for the gory > details > of the testing needed to reproduce this failure and verify > the fix > - regular JPRT test job is in process > > Comments, questions and suggestions are welcome. > > Ron > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130220/1e1c5c20/attachment.html From ron.durbin at oracle.com Wed Feb 20 10:56:16 2013 From: ron.durbin at oracle.com (Ron Durbin) Date: Wed, 20 Feb 2013 10:56:16 -0800 (PST) Subject: Code Review fix for 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly In-Reply-To: <51251BDD.30309@oracle.com> References: <51240F3A.6060004@oracle.com> <5124FB09.3040905@oracle.com> <51250076.2030503@oracle.com> <5125026B.501@oracle.com> <512509F3.1000108@oracle.com> <51251BDD.30309@oracle.com> Message-ID: <73f0e603-df6d-4d94-b2f9-f2cb3b4d639c@default> I will take another look ? From: Daniel D. Daugherty Sent: Wednesday, February 20, 2013 11:54 AM To: Ron Durbin Cc: Coleen Phillimore; serviceability-dev at openjdk.java.net; Christian T?rnqvist; hotspot-runtime-dev at openjdk.java.net Subject: Re: Code Review fix for 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly ? Ron, I stand corrected on one part. You added a note to the bug about the 'ErrorHandlerTest' option back on 2013.02.11. I don't see any notes about vmerrors.sh, but maybe that's less important. Dan On 2/20/13 11:47 AM, Ron Durbin wrote: Dan my cage is rattled ? Yes I should give more detail on that . ?I might still be able to add some detail in the "we tried this ?too". I was not thinking about others needing to understand /follow the road to resolution. ? ? From: Coleen Phillimore Sent: Wednesday, February 20, 2013 10:38 AM To: Daniel Daugherty Cc: HYPERLINK "mailto:serviceability-dev at openjdk.java.net"serviceability-dev at openjdk.java.net; HYPERLINK "mailto:=?ISO-8859-1?Q?Christian_T=F6rnq?=@sca-git1.sun.com"=?ISO-8859-1?Q?Christian_T=F6rnq?=@sca-git1.sun.com; HYPERLINK "mailto:hotspot-runtime-dev at openjdk.java.net"hotspot-runtime-dev at openjdk.java.net Subject: Re: Code Review fix for 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly ? On 2/20/2013 12:05 PM, Daniel D. Daugherty wrote: On 2/20/13 9:57 AM, Daniel D. Daugherty wrote: On 2/20/13 9:34 AM, Coleen Phillimore wrote: This looks good. Thanks for the review! Don't know if Ron is having the same connectivity problems I'm having this morning, but my access into OWAN is going up and down... It looks like the webrev was updated to get rid of the unused variable, so that is good. The webrev was not updated. Yes, I see that now.? Mikael has a much better eye than I do. Is there a test for ErrorHandlerTest in our repository already? ErrorHandlerTest? Is there yet another possible test that we don't know about? OK. I know that test by a different name: $ rgrep ErrorHandlerTest agent make src test src/share/vm/runtime/globals.hpp:? notproduct(uintx, ErrorHandlerTest, 0,??????????????????????????????????? \ src/share/vm/prims/jni.cpp:? NOT_PRODUCT(test_error_handler(ErrorHandlerTest)); test/runtime/6888954/vmerrors.sh:??????? -XX:ErrorHandlerTest=${i} -version > ${i2}.out 2>&1 test/runtime/6888954/vmerrors.sh:??? # If ErrorHandlerTest is ignored (product build), stop. test/runtime/6888954/vmerrors.sh:??????????? echo "ErrorHandlerTest=$i failed ($f)" Ron had previously explored using vmerror.sh to exercise the vm_exit_out_of_memory() code path as one of his early experiments. He also did some testing using the ErrorHandlerTest command line option. In neither case did it seem possible to get multi-threaded test cases up and running. Perhaps both he and I missed something. It also looks like Ron didn't record the specifics of his testing with either vmerrors.sh or the ErrorHandlerTest command line option in the bug report. I'll have to rattle his cage about that. My question was mostly if we had a jtreg test in hotspot/test repository that exercised this ErrorHandlerTest option.?? The second part of the question is whether we should have a test because it'll look like it failed.?? Maybe this is more of a question for Christian Tornqvist and SQE and is not tied to this specific change. I talked to Ron about trying to test this also and we couldn't come up with a good strategy either.?? We need a good way to test out of C heap memory without actually allocating lots of memory and running out of C heap.? Such tests don't run well.? Maybe we can do something in the future with this ErrorHandlerTest option to have the VM return NULL or assert for various malloc calls triggered through some heuristic.?? Having the experiments to date recorded somewhere would be great. Thanks, Coleen Dan Dan Thanks, Coleen On 2/19/2013 6:48 PM, Daniel D. Daugherty wrote: Greetings, I'm sponsoring this code review request from Ron Durbin. This change is targeted at JDK8/HSX-25 in the RT_Baseline repo. Dan I have a proposed fix for the following bug: ??? 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly ??? http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6799919 ??? https://jbs.oracle.com/bugs/browse/JDK-6799919 This is one of those bug fixes where the commit message nicely describes the change: 6799919: Recursive calls to report_vm_out_of_memory are handled incorrectly Summary: report_vm_out_of_memory() should allow VMError.report_and_die() to handle multiple out of native memory errors. Reviewed-by: dcubed, Contributed-by HYPERLINK "mailto:ron.durbin at oracle.com"ron.durbin at oracle.com Here is the webrev URL: HYPERLINK "http://cr.openjdk.java.net/%7Edcubed/for_rdurbin/6799919-webrev/0-hsx25"http://cr.openjdk.java.net/~dcubed/for_rdurbin/6799919-webrev/0-hsx25 Testing: ?? - See the READ_ME file attached to the JDK-6799919 for the gory details ???? of the testing needed to reproduce this failure and verify the fix ?? - regular JPRT test job is in process Comments, questions and suggestions are welcome. Ron ? ? ? ? ? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130220/0857e86e/attachment-0001.html From john.r.rose at oracle.com Wed Feb 20 11:44:14 2013 From: john.r.rose at oracle.com (John Rose) Date: Wed, 20 Feb 2013 11:44:14 -0800 Subject: Request for review: 8000797: NPG: is_pseudo_string_at() doesn't work In-Reply-To: <512513F6.3020404@oracle.com> References: <51157551.4040000@oracle.com> <512513F6.3020404@oracle.com> Message-ID: On Feb 20, 2013, at 10:20 AM, Coleen Phillimore wrote: > John or Christian, can you confirm that you don't plan to use object constants anymore? Yes, that's fine. Object constants were introduced when the JVM was internally generating bytecodes with pre-linked constant pools. We removed that stuff from the JVM when we moved the bytecode generation up to JDK code. We still need "live" oop constants pre-linked into the constant pool of bytecodes which implement some method handles. We use the anonymous class pseudo-string feature for that. The relevant code is here: http://hg.openjdk.java.net/jdk8/jdk8/jdk/file/tip/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java These oops are what "pseudo-strings" are. The odd name refers to the fact that, even though they are random oops, they appear in the constant pool where one would expect (because of class file syntax) to find a string. ? John -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130220/b94ac989/attachment.html From john.r.rose at oracle.com Wed Feb 20 11:51:06 2013 From: john.r.rose at oracle.com (John Rose) Date: Wed, 20 Feb 2013 11:51:06 -0800 Subject: Request for review: 8000797: NPG: is_pseudo_string_at() doesn't work In-Reply-To: <512513F6.3020404@oracle.com> References: <51157551.4040000@oracle.com> <512513F6.3020404@oracle.com> Message-ID: <9A08C657-A5E6-4B78-B7BF-6BAAC31097CA@oracle.com> On Feb 20, 2013, at 10:20 AM, Coleen Phillimore wrote: > Summary: Add JVM_CONSTANT_PseudoString in place of JVM_CONSTANT_Object and use this tag to distinguish patched pseudo strings. The original string is retained if it was present. This is reasonable; it is a good cleanup. If you can propose a name better than "PseudoString" I'm all ears. Consider getting rid of set_has_pseudo_string. That flag was present (IIRC) only to tell the GC that there might be non-perm oops in the constant pool. Do we still need that? > I'm not sure how class file reconstitution for pseudo-strings is going to work, but I thought it was prudent to leave the Symbol* in the slot for the patched string. If you really wanted to reconstitute a class file for an anonymous class, and if that class has oop patching (pseudo-strings), you would need either to (a) reconstitute the patches array handed to Unsafe.defineAnonymousClass, or (b) accept whatever odd strings were there first, as an approximation. The "odd strings" are totally insignificant, and are typically something like "CONSTANT_PLACEHOLDER_42" (see InvokerBytecodeGenerator::constantPlaceholder). ? John -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130220/396d46df/attachment.html From coleen.phillimore at oracle.com Wed Feb 20 11:59:41 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Wed, 20 Feb 2013 14:59:41 -0500 Subject: Request for review: 8000797: NPG: is_pseudo_string_at() doesn't work In-Reply-To: <9A08C657-A5E6-4B78-B7BF-6BAAC31097CA@oracle.com> References: <51157551.4040000@oracle.com> <512513F6.3020404@oracle.com> <9A08C657-A5E6-4B78-B7BF-6BAAC31097CA@oracle.com> Message-ID: <51252B2D.4060100@oracle.com> On 2/20/2013 2:51 PM, John Rose wrote: > On Feb 20, 2013, at 10:20 AM, Coleen Phillimore > > > wrote: > >> Summary: Add JVM_CONSTANT_PseudoString in place of >> JVM_CONSTANT_Object and use this tag to distinguish patched pseudo >> strings. The original string is retained if it was present. > > This is reasonable; it is a good cleanup. If you can propose a name > better than "PseudoString" I'm all ears. If the string is really meaningless, maybe it can be deleted and we don't need this JVM_CONSTANT_PseudoString. The only reason I kept "String" in the name is because I thought the string would have some meaning to be preserved. > > Consider getting rid of set_has_pseudo_string. That flag was present > (IIRC) only to tell the GC that there might be non-perm oops in the > constant pool. Do we still need that? I'd be happy to. I noticed it wasn't being used. Neither is _has_invokedynamic for that matter. _has_preresolution does do something. > >> I'm not sure how class file reconstitution for pseudo-strings is >> going to work, but I thought it was prudent to leave the Symbol* in >> the slot for the patched string. > > If you really wanted to reconstitute a class file for an anonymous > class, and if that class has oop patching (pseudo-strings), you would > need either to (a) reconstitute the patches array handed to > Unsafe.defineAnonymousClass, or (b) accept whatever odd strings were > there first, as an approximation. The "odd strings" are totally > insignificant, and are typically something like > "CONSTANT_PLACEHOLDER_42" (see > InvokerBytecodeGenerator::constantPlaceholder). > Maybe there isn't a way or API to reconstitute an anonymous class. I don't know if there is. I'm not sure how to reconstitute a normal class in the first place. Maybe Serguei can comment. If this class cannot be reconsitituted, I'll change this to remove the string in the patched case and won't need JVM_CONSTANT_PseudoString (and the constant for Object can be removed too). Thanks! Coleen > ? John -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130220/4d7f4ff3/attachment.html From john.r.rose at oracle.com Wed Feb 20 12:13:46 2013 From: john.r.rose at oracle.com (John Rose) Date: Wed, 20 Feb 2013 12:13:46 -0800 Subject: Request for review: 8000797: NPG: is_pseudo_string_at() doesn't work In-Reply-To: <512513F6.3020404@oracle.com> References: <51157551.4040000@oracle.com> <512513F6.3020404@oracle.com> Message-ID: <34F78BFB-E0FE-4BDF-A666-3B7D6EABD4F9@oracle.com> On Feb 20, 2013, at 10:20 AM, Coleen Phillimore wrote: > I noticed that JVM_CONSTANT_Object is no longer used so reused that constant to be PseudoString. I had an edit to go in the other direction (if a pseudo-string is patched into a constant pool, make it a JVM_CONSTANT_Object), but this didn't fully capture that the constant pool slot also points to a Symbol. I think the change to is_loadable_constant in constantTag is wrong. Pseudo-strings are loadable constants. That's what they are there for (ldc #my_magic_oop). ? John -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130220/f86542d5/attachment.html From john.r.rose at oracle.com Wed Feb 20 12:21:56 2013 From: john.r.rose at oracle.com (John Rose) Date: Wed, 20 Feb 2013 12:21:56 -0800 Subject: Request for review: 8000797: NPG: is_pseudo_string_at() doesn't work In-Reply-To: <51252B2D.4060100@oracle.com> References: <51157551.4040000@oracle.com> <512513F6.3020404@oracle.com> <9A08C657-A5E6-4B78-B7BF-6BAAC31097CA@oracle.com> <51252B2D.4060100@oracle.com> Message-ID: On Feb 20, 2013, at 11:59 AM, Coleen Phillimore wrote: > On 2/20/2013 2:51 PM, John Rose wrote: >> On Feb 20, 2013, at 10:20 AM, Coleen Phillimore wrote: >> >>> Summary: Add JVM_CONSTANT_PseudoString in place of JVM_CONSTANT_Object and use this tag to distinguish patched pseudo strings. The original string is retained if it was present. >> >> This is reasonable; it is a good cleanup. If you can propose a name better than "PseudoString" I'm all ears. > > If the string is really meaningless, maybe it can be deleted and we don't need this JVM_CONSTANT_PseudoString. The only reason I kept "String" in the name is because I thought the string would have some meaning to be preserved. The string is meaningless. It is just a waste of UTF8 symbol table space. >> Consider getting rid of set_has_pseudo_string. That flag was present (IIRC) only to tell the GC that there might be non-perm oops in the constant pool. Do we still need that? > > I'd be happy to. I noticed it wasn't being used. Neither is _has_invokedynamic for that matter. _has_preresolution does do something. Not any more. That flag was added for the sake of the internally-generated bytecodes: changeset: 2522:ddd894528dbc user: jrose date: Thu Jun 23 17:14:06 2011 -0700 summary: 7056328: JSR 292 invocation sometimes fails in adapters for types not on boot class path It appears that we can get rid of all those flags. >>> I'm not sure how class file reconstitution for pseudo-strings is going to work, but I thought it was prudent to leave the Symbol* in the slot for the patched string. >> >> If you really wanted to reconstitute a class file for an anonymous class, and if that class has oop patching (pseudo-strings), you would need either to (a) reconstitute the patches array handed to Unsafe.defineAnonymousClass, or (b) accept whatever odd strings were there first, as an approximation. The "odd strings" are totally insignificant, and are typically something like "CONSTANT_PLACEHOLDER_42" (see InvokerBytecodeGenerator::constantPlaceholder). >> > > Maybe there isn't a way or API to reconstitute an anonymous class. I don't know if there is. If reconstituting a class means recovering the parameters originally passed to defineClass, then anonymous classes with patching are inherently a special case. I wouldn't worry about it too much. > I'm not sure how to reconstitute a normal class in the first place. Maybe Serguei can comment. If this class cannot be reconsitituted, I'll change this to remove the string in the patched case and won't need JVM_CONSTANT_PseudoString (and the constant for Object can be removed too). Won't we need a tag that says "this thing is a patched constant"? JVM_CONSTANT_Patched? ? John -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130220/2912056e/attachment.html From coleen.phillimore at oracle.com Wed Feb 20 12:27:22 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Wed, 20 Feb 2013 15:27:22 -0500 Subject: Request for review: 8000797: NPG: is_pseudo_string_at() doesn't work In-Reply-To: References: <51157551.4040000@oracle.com> <512513F6.3020404@oracle.com> <9A08C657-A5E6-4B78-B7BF-6BAAC31097CA@oracle.com> <51252B2D.4060100@oracle.com> Message-ID: <512531AA.3050201@oracle.com> On 2/20/2013 3:21 PM, John Rose wrote: > On Feb 20, 2013, at 11:59 AM, Coleen Phillimore > > > wrote: > >> On 2/20/2013 2:51 PM, John Rose wrote: >>> On Feb 20, 2013, at 10:20 AM, Coleen Phillimore >>> > >>> wrote: >>> >>>> Summary: Add JVM_CONSTANT_PseudoString in place of >>>> JVM_CONSTANT_Object and use this tag to distinguish patched pseudo >>>> strings. The original string is retained if it was present. >>> >>> This is reasonable; it is a good cleanup. If you can propose a name >>> better than "PseudoString" I'm all ears. >> >> If the string is really meaningless, maybe it can be deleted and we >> don't need this JVM_CONSTANT_PseudoString. The only reason I kept >> "String" in the name is because I thought the string would have some >> meaning to be preserved. > > The string is meaningless. It is just a waste of UTF8 symbol table space. > >>> Consider getting rid of set_has_pseudo_string. That flag was >>> present (IIRC) only to tell the GC that there might be non-perm oops >>> in the constant pool. Do we still need that? >> >> I'd be happy to. I noticed it wasn't being used. Neither is >> _has_invokedynamic for that matter. _has_preresolution does do >> something. > > Not any more. That flag was added for the sake of the > internally-generated bytecodes: > changeset: 2522:ddd894528dbc > user: jrose > date: Thu Jun 23 17:14:06 2011 -0700 > summary: 7056328: JSR 292 invocation sometimes fails in adapters > for types not on boot class path > > It appears that we can get rid of all those flags. Awesome. > >>>> I'm not sure how class file reconstitution for pseudo-strings is >>>> going to work, but I thought it was prudent to leave the Symbol* in >>>> the slot for the patched string. >>> >>> If you really wanted to reconstitute a class file for an anonymous >>> class, and if that class has oop patching (pseudo-strings), you >>> would need either to (a) reconstitute the patches array handed to >>> Unsafe.defineAnonymousClass, or (b) accept whatever odd strings were >>> there first, as an approximation. The "odd strings" are totally >>> insignificant, and are typically something like >>> "CONSTANT_PLACEHOLDER_42" (see >>> InvokerBytecodeGenerator::constantPlaceholder). >>> >> >> Maybe there isn't a way or API to reconstitute an anonymous class. >> I don't know if there is. > > If reconstituting a class means recovering the parameters originally > passed to defineClass, then anonymous classes with patching are > inherently a special case. I wouldn't worry about it too much. Okay, it would probably be done with patching and never recover the string constant. > >> I'm not sure how to reconstitute a normal class in the first place. >> Maybe Serguei can comment. If this class cannot be reconsitituted, >> I'll change this to remove the string in the patched case and won't >> need JVM_CONSTANT_PseudoString (and the constant for Object can be >> removed too). > > Won't we need a tag that says "this thing is a patched constant"? > JVM_CONSTANT_Patched? If I null out the Symbol* value in JVM_CONSTANT_String, I won't need a special constant pool constant. I missed some places to add JVM_CONSTANT_PseudoString in my edit (as you noticed with loadable_constant). I hate this extra constant. I want to revert to the original change (to null out the Symbol* to indicate it's patched), and add the Object tag and flags cleanup. Thanks for the info how this works. I'll send out another webrev later. Coleen > > ? John -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130220/f8c3c335/attachment-0001.html From serguei.spitsyn at oracle.com Wed Feb 20 12:52:03 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Wed, 20 Feb 2013 12:52:03 -0800 Subject: Request for review: 8000797: NPG: is_pseudo_string_at() doesn't work In-Reply-To: <51252B2D.4060100@oracle.com> References: <51157551.4040000@oracle.com> <512513F6.3020404@oracle.com> <9A08C657-A5E6-4B78-B7BF-6BAAC31097CA@oracle.com> <51252B2D.4060100@oracle.com> Message-ID: <51253773.9030501@oracle.com> On 2/20/13 11:59 AM, Coleen Phillimore wrote: > On 2/20/2013 2:51 PM, John Rose wrote: >> On Feb 20, 2013, at 10:20 AM, Coleen Phillimore >> > >> wrote: >> >>> Summary: Add JVM_CONSTANT_PseudoString in place of >>> JVM_CONSTANT_Object and use this tag to distinguish patched pseudo >>> strings. The original string is retained if it was present. >> >> This is reasonable; it is a good cleanup. If you can propose a name >> better than "PseudoString" I'm all ears. > > If the string is really meaningless, maybe it can be deleted and we > don't need this JVM_CONSTANT_PseudoString. The only reason I kept > "String" in the name is because I thought the string would have some > meaning to be preserved. > >> >> Consider getting rid of set_has_pseudo_string. That flag was present >> (IIRC) only to tell the GC that there might be non-perm oops in the >> constant pool. Do we still need that? > > I'd be happy to. I noticed it wasn't being used. Neither is > _has_invokedynamic for that matter. _has_preresolution does do > something. >> >>> I'm not sure how class file reconstitution for pseudo-strings is >>> going to work, but I thought it was prudent to leave the Symbol* in >>> the slot for the patched string. >> >> If you really wanted to reconstitute a class file for an anonymous >> class, and if that class has oop patching (pseudo-strings), you would >> need either to (a) reconstitute the patches array handed to >> Unsafe.defineAnonymousClass, or (b) accept whatever odd strings were >> there first, as an approximation. The "odd strings" are totally >> insignificant, and are typically something like >> "CONSTANT_PLACEHOLDER_42" (see >> InvokerBytecodeGenerator::constantPlaceholder). >> > > Maybe there isn't a way or API to reconstitute an anonymous class. I > don't know if there is. I'm not sure how to reconstitute a normal > class in the first place. Maybe Serguei can comment. If this class > cannot be reconsitituted, I'll change this to remove the string in the > patched case and won't need JVM_CONSTANT_PseudoString (and the > constant for Object can be removed too). It is not easy to follow this email thread as my understanding of the PseudoString and things around is not clean yet. Will try my best and then, maybe I'll be able to comment. :) Sorry for being slow. Thanks, Serguei > > Thanks! > Coleen > >> ? John > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130220/5e158356/attachment.html From daniel.daugherty at oracle.com Wed Feb 20 13:24:47 2013 From: daniel.daugherty at oracle.com (daniel.daugherty at oracle.com) Date: Wed, 20 Feb 2013 21:24:47 +0000 Subject: hg: jdk8/tl/jdk: 8008352: java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh fails on MKS Message-ID: <20130220212510.9704C47C19@hg.openjdk.java.net> Changeset: 5772e9edbc4c Author: dcubed Date: 2013-02-20 13:23 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5772e9edbc4c 8008352: java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh fails on MKS Summary: Use more portable pattern counting constructs in test driver. Reviewed-by: sspitsyn, sla, coleenp ! test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh From karen.kinnear at oracle.com Wed Feb 20 14:03:47 2013 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Wed, 20 Feb 2013 17:03:47 -0500 Subject: Code Review fix for 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly In-Reply-To: <51251A8E.5020104@oracle.com> References: <51240F3A.6060004@oracle.com> <5124FB09.3040905@oracle.com> <51250076.2030503@oracle.com> <5125026B.501@oracle.com> <512509F3.1000108@oracle.com> <51250BE4.9020308@oracle.com> <51251A8E.5020104@oracle.com> Message-ID: <00FDB47A-19B1-49C3-98E7-627A9BA3F49A@oracle.com> Thanks for the explanation. The guarantee should let us know we are in that situation. thanks, Karen On Feb 20, 2013, at 1:48 PM, Daniel D. Daugherty wrote: > Karen, > > Thanks for the review! > > > On 2/20/13 11:39 AM, Karen Kinnear wrote: >> Thank you for fixing this Ron and to both you and Dan for figuring out a way to simulate this problem >> to test the fix. >> >> So what does happen with the UseOSErrorReporting option? >> If we know the answer, perhaps the comment could not state that we have to figure this out later? > > Since I had asked Ron to put in both the comment and the guarantee, > I'll field that question. The UseOSErrorReporting option in > VMError.report_and_die() is meant to handle the case where > report_and_die() is called for every frame during some error > reporting stack walk; Coleen made that change in report_and_die() > years ago... > > Based on my analysis of how the UseOSErrorReporting option is used, > I don't expect it to come into play when report_vm_out_of_memory() > calls VMError.report_and_die(), but I'm paranoid so I asked Ron to > add a guarantee() so we got some failure indication just in case > we returned from VMError.report_and_die() at some point in the > future. I didn't want us to return to the report_vm_out_of_memory() > caller nor did I want us to simply call abort() like the old code. > > Dan > > > >> >> On Feb 20, 2013, at 12:46 PM, Daniel D. Daugherty wrote: >> >>> On 2/20/13 10:37 AM, Coleen Phillimore wrote: >>>> On 2/20/2013 12:05 PM, Daniel D. Daugherty wrote: >>>>> On 2/20/13 9:57 AM, Daniel D. Daugherty wrote: >>>>>> On 2/20/13 9:34 AM, Coleen Phillimore wrote: >>>>>>> >>>>>>> This looks good. >>>>>> >>>>>> Thanks for the review! Don't know if Ron is having the same connectivity >>>>>> problems I'm having this morning, but my access into OWAN is going up >>>>>> and down... >>>>>> >>>>>> >>>>>>> It looks like the webrev was updated to get rid of the unused variable, so that is good. >>>>>> >>>>>> The webrev was not updated. >>>> >>>> Yes, I see that now. Mikael has a much better eye than I do. >>>>>> >>>>>> >>>>>>> Is there a test for ErrorHandlerTest in our repository already? >>>>>> >>>>>> ErrorHandlerTest? Is there yet another possible test that we don't >>>>>> know about? >>>>> >>>>> OK. I know that test by a different name: >>>>> >>>>> $ rgrep ErrorHandlerTest agent make src test >>>>> src/share/vm/runtime/globals.hpp: notproduct(uintx, ErrorHandlerTest, 0, \ >>>>> src/share/vm/prims/jni.cpp: NOT_PRODUCT(test_error_handler(ErrorHandlerTest)); >>>>> test/runtime/6888954/vmerrors.sh: -XX:ErrorHandlerTest=${i} -version > ${i2}.out 2>&1 >>>>> test/runtime/6888954/vmerrors.sh: # If ErrorHandlerTest is ignored (product build), stop. >>>>> test/runtime/6888954/vmerrors.sh: echo "ErrorHandlerTest=$i failed ($f)" >>>>> >>>>> Ron had previously explored using vmerror.sh to exercise the >>>>> vm_exit_out_of_memory() code path as one of his early experiments. >>>>> He also did some testing using the ErrorHandlerTest command line >>>>> option. In neither case did it seem possible to get multi-threaded >>>>> test cases up and running. Perhaps both he and I missed something. >>>>> >>>>> It also looks like Ron didn't record the specifics of his testing >>>>> with either vmerrors.sh or the ErrorHandlerTest command line option >>>>> in the bug report. I'll have to rattle his cage about that. >>>>> >>>> >>>> My question was mostly if we had a jtreg test in hotspot/test repository that exercised this ErrorHandlerTest option. The second part of the question is whether we should have a test because it'll look like it failed. Maybe this is more of a question for Christian Tornqvist and SQE and is not tied to this specific change. >>>> >>>> I talked to Ron about trying to test this also and we couldn't come up with a good strategy either. We need a good way to test out of C heap memory without actually allocating lots of memory and running out of C heap. Such tests don't run well. Maybe we can do something in the future with this ErrorHandlerTest option to have the VM return NULL or assert for various malloc calls triggered through some heuristic. Having the experiments to date recorded somewhere would be great. >>> >>> See the READ_ME file attached to the bug report for the craziness that >>> Ron and I had to go through to properly test this. Some of what we came >>> up with should be useful as a diagnostic option, but that should be done >>> as a separate bug fix. >> Totally agree, this should be a separate discussion. >> >> thanks, >> Karen >>> >>> Dan >>> >>> >>>> >>>> Thanks, >>>> Coleen >>>> >>>>> Dan >>>>> >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>> >>>>>>> Thanks, >>>>>>> Coleen >>>>>>> >>>>>>> On 2/19/2013 6:48 PM, Daniel D. Daugherty wrote: >>>>>>>> Greetings, >>>>>>>> >>>>>>>> I'm sponsoring this code review request from Ron Durbin. This change >>>>>>>> is targeted at JDK8/HSX-25 in the RT_Baseline repo. >>>>>>>> >>>>>>>> Dan >>>>>>>> >>>>>>>> >>>>>>>> I have a proposed fix for the following bug: >>>>>>>> >>>>>>>> 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly >>>>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6799919 >>>>>>>> https://jbs.oracle.com/bugs/browse/JDK-6799919 >>>>>>>> >>>>>>>> This is one of those bug fixes where the commit message nicely describes >>>>>>>> the change: >>>>>>>> >>>>>>>> 6799919: Recursive calls to report_vm_out_of_memory are handled incorrectly >>>>>>>> Summary: report_vm_out_of_memory() should allow VMError.report_and_die() to handle multiple out of native memory errors. >>>>>>>> Reviewed-by: dcubed, >>>>>>>> Contributed-by ron.durbin at oracle.com >>>>>>>> >>>>>>>> Here is the webrev URL: >>>>>>>> >>>>>>>> http://cr.openjdk.java.net/~dcubed/for_rdurbin/6799919-webrev/0-hsx25 >>>>>>>> >>>>>>>> Testing: >>>>>>>> - See the READ_ME file attached to the JDK-6799919 for the gory details >>>>>>>> of the testing needed to reproduce this failure and verify the fix >>>>>>>> - regular JPRT test job is in process >>>>>>>> >>>>>>>> Comments, questions and suggestions are welcome. >>>>>>>> >>>>>>>> Ron >>>>>>> >>>>>> >>>>> >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130220/870c7394/attachment-0001.html From daniel.daugherty at oracle.com Wed Feb 20 14:24:40 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 20 Feb 2013 15:24:40 -0700 Subject: Code Review fix for 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly In-Reply-To: <00FDB47A-19B1-49C3-98E7-627A9BA3F49A@oracle.com> References: <51240F3A.6060004@oracle.com> <5124FB09.3040905@oracle.com> <51250076.2030503@oracle.com> <5125026B.501@oracle.com> <512509F3.1000108@oracle.com> <51250BE4.9020308@oracle.com> <51251A8E.5020104@oracle.com> <00FDB47A-19B1-49C3-98E7-627A9BA3F49A@oracle.com> Message-ID: <51254D28.6010108@oracle.com> Thanks again for the review! Dan On 2/20/13 3:03 PM, Karen Kinnear wrote: > Thanks for the explanation. The guarantee should let us know we are > in that situation. > > thanks, > Karen > > On Feb 20, 2013, at 1:48 PM, Daniel D. Daugherty wrote: > >> Karen, >> >> Thanks for the review! >> >> >> On 2/20/13 11:39 AM, Karen Kinnear wrote: >>> Thank you for fixing this Ron and to both you and Dan for figuring >>> out a way to simulate this problem >>> to test the fix. >>> >>> So what does happen with the UseOSErrorReporting option? >>> If we know the answer, perhaps the comment could not state that we >>> have to figure this out later? >> >> Since I had asked Ron to put in both the comment and the guarantee, >> I'll field that question. The UseOSErrorReporting option in >> VMError.report_and_die() is meant to handle the case where >> report_and_die() is called for every frame during some error >> reporting stack walk; Coleen made that change in report_and_die() >> years ago... >> >> Based on my analysis of how the UseOSErrorReporting option is used, >> I don't expect it to come into play when report_vm_out_of_memory() >> calls VMError.report_and_die(), but I'm paranoid so I asked Ron to >> add a guarantee() so we got some failure indication just in case >> we returned from VMError.report_and_die() at some point in the >> future. I didn't want us to return to the report_vm_out_of_memory() >> caller nor did I want us to simply call abort() like the old code. >> >> Dan >> >> >> >>> On Feb 20, 2013, at 12:46 PM, Daniel D. Daugherty wrote: >>> >>>> On 2/20/13 10:37 AM, Coleen Phillimore wrote: >>>>> On 2/20/2013 12:05 PM, Daniel D. Daugherty wrote: >>>>>> On 2/20/13 9:57 AM, Daniel D. Daugherty wrote: >>>>>>> On 2/20/13 9:34 AM, Coleen Phillimore wrote: >>>>>>>> >>>>>>>> This looks good. >>>>>>> >>>>>>> Thanks for the review! Don't know if Ron is having the same >>>>>>> connectivity >>>>>>> problems I'm having this morning, but my access into OWAN is >>>>>>> going up >>>>>>> and down... >>>>>>> >>>>>>> >>>>>>>> It looks like the webrev was updated to get rid of the unused >>>>>>>> variable, so that is good. >>>>>>> >>>>>>> The webrev was not updated. >>>>> >>>>> Yes, I see that now. Mikael has a much better eye than I do. >>>>>>> >>>>>>> >>>>>>>> Is there a test for ErrorHandlerTest in our repository already? >>>>>>> >>>>>>> ErrorHandlerTest? Is there yet another possible test that we don't >>>>>>> know about? >>>>>> >>>>>> OK. I know that test by a different name: >>>>>> >>>>>> $ rgrep ErrorHandlerTest agent make src test >>>>>> src/share/vm/runtime/globals.hpp: notproduct(uintx, >>>>>> ErrorHandlerTest, 0, \ >>>>>> src/share/vm/prims/jni.cpp: >>>>>> NOT_PRODUCT(test_error_handler(ErrorHandlerTest)); >>>>>> test/runtime/6888954/vmerrors.sh: -XX:ErrorHandlerTest=${i} >>>>>> -version > ${i2}.out 2>&1 >>>>>> test/runtime/6888954/vmerrors.sh: # If ErrorHandlerTest is >>>>>> ignored (product build), stop. >>>>>> test/runtime/6888954/vmerrors.sh: echo "ErrorHandlerTest=$i >>>>>> failed ($f)" >>>>>> >>>>>> Ron had previously explored using vmerror.sh to exercise the >>>>>> vm_exit_out_of_memory() code path as one of his early experiments. >>>>>> He also did some testing using the ErrorHandlerTest command line >>>>>> option. In neither case did it seem possible to get multi-threaded >>>>>> test cases up and running. Perhaps both he and I missed something. >>>>>> >>>>>> It also looks like Ron didn't record the specifics of his testing >>>>>> with either vmerrors.sh or the ErrorHandlerTest command line option >>>>>> in the bug report. I'll have to rattle his cage about that. >>>>>> >>>>> >>>>> My question was mostly if we had a jtreg test in hotspot/test >>>>> repository that exercised this ErrorHandlerTest option. The >>>>> second part of the question is whether we should have a test >>>>> because it'll look like it failed. Maybe this is more of a >>>>> question for Christian Tornqvist and SQE and is not tied to this >>>>> specific change. >>>>> >>>>> I talked to Ron about trying to test this also and we couldn't >>>>> come up with a good strategy either. We need a good way to test >>>>> out of C heap memory without actually allocating lots of memory >>>>> and running out of C heap. Such tests don't run well. Maybe we >>>>> can do something in the future with this ErrorHandlerTest option >>>>> to have the VM return NULL or assert for various malloc calls >>>>> triggered through some heuristic. Having the experiments to date >>>>> recorded somewhere would be great. >>>> >>>> See the READ_ME file attached to the bug report for the craziness that >>>> Ron and I had to go through to properly test this. Some of what we came >>>> up with should be useful as a diagnostic option, but that should be >>>> done >>>> as a separate bug fix. >>> Totally agree, this should be a separate discussion. >>> >>> thanks, >>> Karen >>>> >>>> Dan >>>> >>>> >>>>> >>>>> Thanks, >>>>> Coleen >>>>> >>>>>> Dan >>>>>> >>>>>>> >>>>>>> Dan >>>>>>> >>>>>>> >>>>>>> >>>>>>>> Thanks, >>>>>>>> Coleen >>>>>>>> >>>>>>>> On 2/19/2013 6:48 PM, Daniel D. Daugherty wrote: >>>>>>>>> Greetings, >>>>>>>>> >>>>>>>>> I'm sponsoring this code review request from Ron Durbin. This >>>>>>>>> change >>>>>>>>> is targeted at JDK8/HSX-25 in the RT_Baseline repo. >>>>>>>>> >>>>>>>>> Dan >>>>>>>>> >>>>>>>>> >>>>>>>>> I have a proposed fix for the following bug: >>>>>>>>> >>>>>>>>> 6799919 Recursive calls to report_vm_out_of_memory are >>>>>>>>> handled incorrectly >>>>>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6799919 >>>>>>>>> https://jbs.oracle.com/bugs/browse/JDK-6799919 >>>>>>>>> >>>>>>>>> This is one of those bug fixes where the commit message nicely >>>>>>>>> describes >>>>>>>>> the change: >>>>>>>>> >>>>>>>>> 6799919: Recursive calls to report_vm_out_of_memory are >>>>>>>>> handled incorrectly >>>>>>>>> Summary: report_vm_out_of_memory() should allow >>>>>>>>> VMError.report_and_die() to handle multiple out of native >>>>>>>>> memory errors. >>>>>>>>> Reviewed-by: dcubed, >>>>>>>>> Contributed-by ron.durbin at oracle.com >>>>>>>>> >>>>>>>>> Here is the webrev URL: >>>>>>>>> >>>>>>>>> http://cr.openjdk.java.net/~dcubed/for_rdurbin/6799919-webrev/0-hsx25 >>>>>>>>> >>>>>>>>> >>>>>>>>> Testing: >>>>>>>>> - See the READ_ME file attached to the JDK-6799919 for the >>>>>>>>> gory details >>>>>>>>> of the testing needed to reproduce this failure and >>>>>>>>> verify the fix >>>>>>>>> - regular JPRT test job is in process >>>>>>>>> >>>>>>>>> Comments, questions and suggestions are welcome. >>>>>>>>> >>>>>>>>> Ron >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130220/211ff170/attachment-0001.html From david.holmes at oracle.com Wed Feb 20 15:37:51 2013 From: david.holmes at oracle.com (David Holmes) Date: Thu, 21 Feb 2013 09:37:51 +1000 Subject: Code Review fix for 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly In-Reply-To: <51254D28.6010108@oracle.com> References: <51240F3A.6060004@oracle.com> <5124FB09.3040905@oracle.com> <51250076.2030503@oracle.com> <5125026B.501@oracle.com> <512509F3.1000108@oracle.com> <51250BE4.9020308@oracle.com> <51251A8E.5020104@oracle.com> <00FDB47A-19B1-49C3-98E7-627A9BA3F49A@oracle.com> <51254D28.6010108@oracle.com> Message-ID: <51255E4F.5040401@oracle.com> To be clear, all good from my perspective. Interesting archeology challenge too. Thanks, David On 21/02/2013 8:24 AM, Daniel D. Daugherty wrote: > Thanks again for the review! > > Dan > > > On 2/20/13 3:03 PM, Karen Kinnear wrote: >> Thanks for the explanation. The guarantee should let us know we are >> in that situation. >> >> thanks, >> Karen >> >> On Feb 20, 2013, at 1:48 PM, Daniel D. Daugherty wrote: >> >>> Karen, >>> >>> Thanks for the review! >>> >>> >>> On 2/20/13 11:39 AM, Karen Kinnear wrote: >>>> Thank you for fixing this Ron and to both you and Dan for figuring >>>> out a way to simulate this problem >>>> to test the fix. >>>> >>>> So what does happen with the UseOSErrorReporting option? >>>> If we know the answer, perhaps the comment could not state that we >>>> have to figure this out later? >>> >>> Since I had asked Ron to put in both the comment and the guarantee, >>> I'll field that question. The UseOSErrorReporting option in >>> VMError.report_and_die() is meant to handle the case where >>> report_and_die() is called for every frame during some error >>> reporting stack walk; Coleen made that change in report_and_die() >>> years ago... >>> >>> Based on my analysis of how the UseOSErrorReporting option is used, >>> I don't expect it to come into play when report_vm_out_of_memory() >>> calls VMError.report_and_die(), but I'm paranoid so I asked Ron to >>> add a guarantee() so we got some failure indication just in case >>> we returned from VMError.report_and_die() at some point in the >>> future. I didn't want us to return to the report_vm_out_of_memory() >>> caller nor did I want us to simply call abort() like the old code. >>> >>> Dan >>> >>> >>> >>>> On Feb 20, 2013, at 12:46 PM, Daniel D. Daugherty wrote: >>>> >>>>> On 2/20/13 10:37 AM, Coleen Phillimore wrote: >>>>>> On 2/20/2013 12:05 PM, Daniel D. Daugherty wrote: >>>>>>> On 2/20/13 9:57 AM, Daniel D. Daugherty wrote: >>>>>>>> On 2/20/13 9:34 AM, Coleen Phillimore wrote: >>>>>>>>> >>>>>>>>> This looks good. >>>>>>>> >>>>>>>> Thanks for the review! Don't know if Ron is having the same >>>>>>>> connectivity >>>>>>>> problems I'm having this morning, but my access into OWAN is >>>>>>>> going up >>>>>>>> and down... >>>>>>>> >>>>>>>> >>>>>>>>> It looks like the webrev was updated to get rid of the unused >>>>>>>>> variable, so that is good. >>>>>>>> >>>>>>>> The webrev was not updated. >>>>>> >>>>>> Yes, I see that now. Mikael has a much better eye than I do. >>>>>>>> >>>>>>>> >>>>>>>>> Is there a test for ErrorHandlerTest in our repository already? >>>>>>>> >>>>>>>> ErrorHandlerTest? Is there yet another possible test that we don't >>>>>>>> know about? >>>>>>> >>>>>>> OK. I know that test by a different name: >>>>>>> >>>>>>> $ rgrep ErrorHandlerTest agent make src test >>>>>>> src/share/vm/runtime/globals.hpp: notproduct(uintx, >>>>>>> ErrorHandlerTest, 0, \ >>>>>>> src/share/vm/prims/jni.cpp: >>>>>>> NOT_PRODUCT(test_error_handler(ErrorHandlerTest)); >>>>>>> test/runtime/6888954/vmerrors.sh: -XX:ErrorHandlerTest=${i} >>>>>>> -version > ${i2}.out 2>&1 >>>>>>> test/runtime/6888954/vmerrors.sh: # If ErrorHandlerTest is >>>>>>> ignored (product build), stop. >>>>>>> test/runtime/6888954/vmerrors.sh: echo "ErrorHandlerTest=$i >>>>>>> failed ($f)" >>>>>>> >>>>>>> Ron had previously explored using vmerror.sh to exercise the >>>>>>> vm_exit_out_of_memory() code path as one of his early experiments. >>>>>>> He also did some testing using the ErrorHandlerTest command line >>>>>>> option. In neither case did it seem possible to get multi-threaded >>>>>>> test cases up and running. Perhaps both he and I missed something. >>>>>>> >>>>>>> It also looks like Ron didn't record the specifics of his testing >>>>>>> with either vmerrors.sh or the ErrorHandlerTest command line option >>>>>>> in the bug report. I'll have to rattle his cage about that. >>>>>>> >>>>>> >>>>>> My question was mostly if we had a jtreg test in hotspot/test >>>>>> repository that exercised this ErrorHandlerTest option. The >>>>>> second part of the question is whether we should have a test >>>>>> because it'll look like it failed. Maybe this is more of a >>>>>> question for Christian Tornqvist and SQE and is not tied to this >>>>>> specific change. >>>>>> >>>>>> I talked to Ron about trying to test this also and we couldn't >>>>>> come up with a good strategy either. We need a good way to test >>>>>> out of C heap memory without actually allocating lots of memory >>>>>> and running out of C heap. Such tests don't run well. Maybe we >>>>>> can do something in the future with this ErrorHandlerTest option >>>>>> to have the VM return NULL or assert for various malloc calls >>>>>> triggered through some heuristic. Having the experiments to date >>>>>> recorded somewhere would be great. >>>>> >>>>> See the READ_ME file attached to the bug report for the craziness that >>>>> Ron and I had to go through to properly test this. Some of what we came >>>>> up with should be useful as a diagnostic option, but that should be >>>>> done >>>>> as a separate bug fix. >>>> Totally agree, this should be a separate discussion. >>>> >>>> thanks, >>>> Karen >>>>> >>>>> Dan >>>>> >>>>> >>>>>> >>>>>> Thanks, >>>>>> Coleen >>>>>> >>>>>>> Dan >>>>>>> >>>>>>>> >>>>>>>> Dan >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> Coleen >>>>>>>>> >>>>>>>>> On 2/19/2013 6:48 PM, Daniel D. Daugherty wrote: >>>>>>>>>> Greetings, >>>>>>>>>> >>>>>>>>>> I'm sponsoring this code review request from Ron Durbin. This >>>>>>>>>> change >>>>>>>>>> is targeted at JDK8/HSX-25 in the RT_Baseline repo. >>>>>>>>>> >>>>>>>>>> Dan >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> I have a proposed fix for the following bug: >>>>>>>>>> >>>>>>>>>> 6799919 Recursive calls to report_vm_out_of_memory are >>>>>>>>>> handled incorrectly >>>>>>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6799919 >>>>>>>>>> https://jbs.oracle.com/bugs/browse/JDK-6799919 >>>>>>>>>> >>>>>>>>>> This is one of those bug fixes where the commit message nicely >>>>>>>>>> describes >>>>>>>>>> the change: >>>>>>>>>> >>>>>>>>>> 6799919: Recursive calls to report_vm_out_of_memory are >>>>>>>>>> handled incorrectly >>>>>>>>>> Summary: report_vm_out_of_memory() should allow >>>>>>>>>> VMError.report_and_die() to handle multiple out of native >>>>>>>>>> memory errors. >>>>>>>>>> Reviewed-by: dcubed, >>>>>>>>>> Contributed-by ron.durbin at oracle.com >>>>>>>>>> >>>>>>>>>> Here is the webrev URL: >>>>>>>>>> >>>>>>>>>> http://cr.openjdk.java.net/~dcubed/for_rdurbin/6799919-webrev/0-hsx25 >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Testing: >>>>>>>>>> - See the READ_ME file attached to the JDK-6799919 for the >>>>>>>>>> gory details >>>>>>>>>> of the testing needed to reproduce this failure and >>>>>>>>>> verify the fix >>>>>>>>>> - regular JPRT test job is in process >>>>>>>>>> >>>>>>>>>> Comments, questions and suggestions are welcome. >>>>>>>>>> >>>>>>>>>> Ron >>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> > From jonathan.gibbons at oracle.com Wed Feb 20 15:47:33 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Wed, 20 Feb 2013 23:47:33 +0000 Subject: hg: jdk8/tl/langtools: 8006582: Test for parameter names feature Message-ID: <20130220234736.9287C47C1F@hg.openjdk.java.net> Changeset: 267225edc1fe Author: strarup Date: 2013-02-20 15:47 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/267225edc1fe 8006582: Test for parameter names feature Reviewed-by: jjg, darcy, emc - test/tools/javac/MethodParameters.java + test/tools/javac/MethodParameters/AnnotationTest.java + test/tools/javac/MethodParameters/AnonymousClass.java + test/tools/javac/MethodParameters/AttributeVisitor.java + test/tools/javac/MethodParameters/ClassFileVisitor.java + test/tools/javac/MethodParameters/Constructors.java + test/tools/javac/MethodParameters/EnumTest.java + test/tools/javac/MethodParameters/InstanceMethods.java + test/tools/javac/MethodParameters/LambdaTest.java + test/tools/javac/MethodParameters/LocalClassTest.java + test/tools/javac/MethodParameters/MemberClassTest.java + test/tools/javac/MethodParameters/ReflectionVisitor.java + test/tools/javac/MethodParameters/StaticMethods.java + test/tools/javac/MethodParameters/Tester.java + test/tools/javac/MethodParameters/UncommonParamNames.java + test/tools/javac/MethodParametersTest.java From daniel.daugherty at oracle.com Wed Feb 20 15:54:17 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 20 Feb 2013 16:54:17 -0700 Subject: Code Review fix for 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly In-Reply-To: <51255E4F.5040401@oracle.com> References: <51240F3A.6060004@oracle.com> <5124FB09.3040905@oracle.com> <51250076.2030503@oracle.com> <5125026B.501@oracle.com> <512509F3.1000108@oracle.com> <51250BE4.9020308@oracle.com> <51251A8E.5020104@oracle.com> <00FDB47A-19B1-49C3-98E7-627A9BA3F49A@oracle.com> <51254D28.6010108@oracle.com> <51255E4F.5040401@oracle.com> Message-ID: <51256229.9020406@oracle.com> Thanks for closing the loop on this thread. And thanks for the careful reviews! Dan On 2/20/13 4:37 PM, David Holmes wrote: > To be clear, all good from my perspective. > > Interesting archeology challenge too. > > Thanks, > David > > On 21/02/2013 8:24 AM, Daniel D. Daugherty wrote: >> Thanks again for the review! >> >> Dan >> >> >> On 2/20/13 3:03 PM, Karen Kinnear wrote: >>> Thanks for the explanation. The guarantee should let us know we are >>> in that situation. >>> >>> thanks, >>> Karen >>> >>> On Feb 20, 2013, at 1:48 PM, Daniel D. Daugherty wrote: >>> >>>> Karen, >>>> >>>> Thanks for the review! >>>> >>>> >>>> On 2/20/13 11:39 AM, Karen Kinnear wrote: >>>>> Thank you for fixing this Ron and to both you and Dan for figuring >>>>> out a way to simulate this problem >>>>> to test the fix. >>>>> >>>>> So what does happen with the UseOSErrorReporting option? >>>>> If we know the answer, perhaps the comment could not state that we >>>>> have to figure this out later? >>>> >>>> Since I had asked Ron to put in both the comment and the guarantee, >>>> I'll field that question. The UseOSErrorReporting option in >>>> VMError.report_and_die() is meant to handle the case where >>>> report_and_die() is called for every frame during some error >>>> reporting stack walk; Coleen made that change in report_and_die() >>>> years ago... >>>> >>>> Based on my analysis of how the UseOSErrorReporting option is used, >>>> I don't expect it to come into play when report_vm_out_of_memory() >>>> calls VMError.report_and_die(), but I'm paranoid so I asked Ron to >>>> add a guarantee() so we got some failure indication just in case >>>> we returned from VMError.report_and_die() at some point in the >>>> future. I didn't want us to return to the report_vm_out_of_memory() >>>> caller nor did I want us to simply call abort() like the old code. >>>> >>>> Dan >>>> >>>> >>>> >>>>> On Feb 20, 2013, at 12:46 PM, Daniel D. Daugherty wrote: >>>>> >>>>>> On 2/20/13 10:37 AM, Coleen Phillimore wrote: >>>>>>> On 2/20/2013 12:05 PM, Daniel D. Daugherty wrote: >>>>>>>> On 2/20/13 9:57 AM, Daniel D. Daugherty wrote: >>>>>>>>> On 2/20/13 9:34 AM, Coleen Phillimore wrote: >>>>>>>>>> >>>>>>>>>> This looks good. >>>>>>>>> >>>>>>>>> Thanks for the review! Don't know if Ron is having the same >>>>>>>>> connectivity >>>>>>>>> problems I'm having this morning, but my access into OWAN is >>>>>>>>> going up >>>>>>>>> and down... >>>>>>>>> >>>>>>>>> >>>>>>>>>> It looks like the webrev was updated to get rid of the unused >>>>>>>>>> variable, so that is good. >>>>>>>>> >>>>>>>>> The webrev was not updated. >>>>>>> >>>>>>> Yes, I see that now. Mikael has a much better eye than I do. >>>>>>>>> >>>>>>>>> >>>>>>>>>> Is there a test for ErrorHandlerTest in our repository already? >>>>>>>>> >>>>>>>>> ErrorHandlerTest? Is there yet another possible test that we >>>>>>>>> don't >>>>>>>>> know about? >>>>>>>> >>>>>>>> OK. I know that test by a different name: >>>>>>>> >>>>>>>> $ rgrep ErrorHandlerTest agent make src test >>>>>>>> src/share/vm/runtime/globals.hpp: notproduct(uintx, >>>>>>>> ErrorHandlerTest, 0, \ >>>>>>>> src/share/vm/prims/jni.cpp: >>>>>>>> NOT_PRODUCT(test_error_handler(ErrorHandlerTest)); >>>>>>>> test/runtime/6888954/vmerrors.sh: -XX:ErrorHandlerTest=${i} >>>>>>>> -version > ${i2}.out 2>&1 >>>>>>>> test/runtime/6888954/vmerrors.sh: # If ErrorHandlerTest is >>>>>>>> ignored (product build), stop. >>>>>>>> test/runtime/6888954/vmerrors.sh: echo "ErrorHandlerTest=$i >>>>>>>> failed ($f)" >>>>>>>> >>>>>>>> Ron had previously explored using vmerror.sh to exercise the >>>>>>>> vm_exit_out_of_memory() code path as one of his early experiments. >>>>>>>> He also did some testing using the ErrorHandlerTest command line >>>>>>>> option. In neither case did it seem possible to get multi-threaded >>>>>>>> test cases up and running. Perhaps both he and I missed something. >>>>>>>> >>>>>>>> It also looks like Ron didn't record the specifics of his testing >>>>>>>> with either vmerrors.sh or the ErrorHandlerTest command line >>>>>>>> option >>>>>>>> in the bug report. I'll have to rattle his cage about that. >>>>>>>> >>>>>>> >>>>>>> My question was mostly if we had a jtreg test in hotspot/test >>>>>>> repository that exercised this ErrorHandlerTest option. The >>>>>>> second part of the question is whether we should have a test >>>>>>> because it'll look like it failed. Maybe this is more of a >>>>>>> question for Christian Tornqvist and SQE and is not tied to this >>>>>>> specific change. >>>>>>> >>>>>>> I talked to Ron about trying to test this also and we couldn't >>>>>>> come up with a good strategy either. We need a good way to test >>>>>>> out of C heap memory without actually allocating lots of memory >>>>>>> and running out of C heap. Such tests don't run well. Maybe we >>>>>>> can do something in the future with this ErrorHandlerTest option >>>>>>> to have the VM return NULL or assert for various malloc calls >>>>>>> triggered through some heuristic. Having the experiments to date >>>>>>> recorded somewhere would be great. >>>>>> >>>>>> See the READ_ME file attached to the bug report for the craziness >>>>>> that >>>>>> Ron and I had to go through to properly test this. Some of what >>>>>> we came >>>>>> up with should be useful as a diagnostic option, but that should be >>>>>> done >>>>>> as a separate bug fix. >>>>> Totally agree, this should be a separate discussion. >>>>> >>>>> thanks, >>>>> Karen >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>>> >>>>>>> Thanks, >>>>>>> Coleen >>>>>>> >>>>>>>> Dan >>>>>>>> >>>>>>>>> >>>>>>>>> Dan >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>>> Thanks, >>>>>>>>>> Coleen >>>>>>>>>> >>>>>>>>>> On 2/19/2013 6:48 PM, Daniel D. Daugherty wrote: >>>>>>>>>>> Greetings, >>>>>>>>>>> >>>>>>>>>>> I'm sponsoring this code review request from Ron Durbin. This >>>>>>>>>>> change >>>>>>>>>>> is targeted at JDK8/HSX-25 in the RT_Baseline repo. >>>>>>>>>>> >>>>>>>>>>> Dan >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> I have a proposed fix for the following bug: >>>>>>>>>>> >>>>>>>>>>> 6799919 Recursive calls to report_vm_out_of_memory are >>>>>>>>>>> handled incorrectly >>>>>>>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6799919 >>>>>>>>>>> https://jbs.oracle.com/bugs/browse/JDK-6799919 >>>>>>>>>>> >>>>>>>>>>> This is one of those bug fixes where the commit message nicely >>>>>>>>>>> describes >>>>>>>>>>> the change: >>>>>>>>>>> >>>>>>>>>>> 6799919: Recursive calls to report_vm_out_of_memory are >>>>>>>>>>> handled incorrectly >>>>>>>>>>> Summary: report_vm_out_of_memory() should allow >>>>>>>>>>> VMError.report_and_die() to handle multiple out of native >>>>>>>>>>> memory errors. >>>>>>>>>>> Reviewed-by: dcubed, >>>>>>>>>>> Contributed-by ron.durbin at oracle.com >>>>>>>>>>> >>>>>>>>>>> Here is the webrev URL: >>>>>>>>>>> >>>>>>>>>>> http://cr.openjdk.java.net/~dcubed/for_rdurbin/6799919-webrev/0-hsx25 >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Testing: >>>>>>>>>>> - See the READ_ME file attached to the JDK-6799919 for the >>>>>>>>>>> gory details >>>>>>>>>>> of the testing needed to reproduce this failure and >>>>>>>>>>> verify the fix >>>>>>>>>>> - regular JPRT test job is in process >>>>>>>>>>> >>>>>>>>>>> Comments, questions and suggestions are welcome. >>>>>>>>>>> >>>>>>>>>>> Ron >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> From mike.duigou at oracle.com Wed Feb 20 17:56:54 2013 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Thu, 21 Feb 2013 01:56:54 +0000 Subject: hg: jdk8/tl: 8008629: webrev.ksh needs to quote bug title it gets back from scraping bugs.sun.com Message-ID: <20130221015654.9AA3A47C26@hg.openjdk.java.net> Changeset: c641268c4532 Author: mduigou Date: 2013-02-20 17:56 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/c641268c4532 8008629: webrev.ksh needs to quote bug title it gets back from scraping bugs.sun.com Reviewed-by: darcy ! make/scripts/webrev.ksh From krystal.mo at oracle.com Wed Feb 20 19:32:52 2013 From: krystal.mo at oracle.com (Krystal Mo) Date: Wed, 20 Feb 2013 19:32:52 -0800 Subject: [PATCH] A small fix on "scanoops" command in CLHSDB In-Reply-To: References: Message-ID: <51259564.2070501@oracle.com> Hi Yunda, This patch looks reasonable to me. But you'll need an official Reviewer to review this. - Kris On 2013/2/19 1:24, ???? wrote: > > Hi all, > > When I use ??scanoops?? command in CLHSDB, I find that if the type > doesn??t exist, the output will be all the oops in the scope [start, > end]. (see below) I think that??s irrational because all the oops > between 0x00000000ee2000a0 and 0x00000000ee200550 are of type > ??java/lang/Class?? and there??s no type ??java/lang/Class2?? or > ??com/taobao/Test?? at all! > > hsdb> scanoops 0x00000000ee2000a0 0x00000000ee200550 > > 0x00000000ee2000a0 java/lang/Class > > 0x00000000ee200118 java/lang/Class > > 0x00000000ee200190 java/lang/Class > > 0x00000000ee200208 java/lang/Class > > 0x00000000ee200280 java/lang/Class > > 0x00000000ee2002f8 java/lang/Class > > 0x00000000ee200370 java/lang/Class > > 0x00000000ee2003e8 java/lang/Class > > 0x00000000ee200460 java/lang/Class > > 0x00000000ee2004d8 java/lang/Class > > hsdb> scanoops 0x00000000ee2000a0 0x00000000ee200550 java/lang/Class2 > > 0x00000000ee2000a0 java/lang/Class > > 0x00000000ee200118 java/lang/Class > > 0x00000000ee200190 java/lang/Class > > 0x00000000ee200208 java/lang/Class > > 0x00000000ee200280 java/lang/Class > > 0x00000000ee2002f8 java/lang/Class > > 0x00000000ee200370 java/lang/Class > > 0x00000000ee2003e8 java/lang/Class > > 0x00000000ee200460 java/lang/Class > > 0x00000000ee2004d8 java/lang/Class > > hsdb> scanoops 0x00000000ee2000a0 0x00000000ee200550 com/taobao/Test > > 0x00000000ee2000a0 java/lang/Class > > 0x00000000ee200118 java/lang/Class > > 0x00000000ee200190 java/lang/Class > > 0x00000000ee200208 java/lang/Class > > 0x00000000ee200280 java/lang/Class > > 0x00000000ee2002f8 java/lang/Class > > 0x00000000ee200370 java/lang/Class > > 0x00000000ee2003e8 java/lang/Class > > 0x00000000ee200460 java/lang/Class > > 0x00000000ee2004d8 java/lang/Class > > I know the reason is that the usage of scanoops is ??scanoops start end > [ type ]?? and ??type?? is optional. When you don??t input the ??type??, the > output will be all the oops in the scope [start, end]. But I think the > two situations are different and CLHSDB should give right prompt. So I > made a small fix: > > diff -r b5e3ec9c69fa > agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java > > --- a/agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java > Mon Feb 18 12:49:53 2013 +0100 > > +++ b/agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java > Tue Feb 19 16:43:45 2013 +0800 > > @@ -1132,6 +1132,10 @@ > > Klass klass = null; > > if (t.countTokens() == 1) { > > klass = SystemDictionaryHelper.findInstanceKlass(t.nextToken()); > > + if(klass == null) { > > + out.println("No such type."); > > + return; > > + } > > } > > while (base != null && base.lessThan(end)) { > > long step = stride; > > And the effect will be: > > hsdb> scanoops 0x0000000758600000 0x000000075860ffff com/taobao/Test > > No such type. > > Regards, > > Yunda > > > ------------------------------------------------------------------------ > > This email (including any attachments) is confidential and may be > legally privileged. If you received this email in error, please delete > it immediately and do not copy it or use it for any purpose or > disclose its contents to any other person. Thank you. > > ??????(????????????)???????????????????????????????????????????????? > ?????????????????????????????????????????????????????????? ?????????? > ???????????????????????? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130220/5a34dd4d/attachment-0001.html From coleen.phillimore at oracle.com Wed Feb 20 20:11:13 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Wed, 20 Feb 2013 23:11:13 -0500 Subject: Request for review: 8000797: NPG: is_pseudo_string_at() doesn't work In-Reply-To: <512513F6.3020404@oracle.com> References: <51157551.4040000@oracle.com> <512513F6.3020404@oracle.com> Message-ID: <51259E61.4060706@oracle.com> Thanks to John's feedback, I've modified this change again to revert back to my original change to zero out the Symbol* to indicate pseudo string (could be thought of as "patched string"). Also cleaned up unused constant pool Object constant and unused flags. Reran all the tests. http://cr.openjdk.java.net/~coleenp/8000797_2/ Thanks, Coleen On 2/20/2013 1:20 PM, Coleen Phillimore wrote: > Since nobody replied to my code review request, I modified the change. > > Summary: Add JVM_CONSTANT_PseudoString in place of JVM_CONSTANT_Object > and use this tag to distinguish patched pseudo strings. The original > string is retained if it was present. > > I'm not sure how class file reconstitution for pseudo-strings is going > to work, but I thought it was prudent to leave the Symbol* in the slot > for the patched string. > > I noticed that JVM_CONSTANT_Object is no longer used so reused that > constant to be PseudoString. I had an edit to go in the other > direction (if a pseudo-string is patched into a constant pool, make it > a JVM_CONSTANT_Object), but this didn't fully capture that the > constant pool slot also points to a Symbol. John or Christian, can you > confirm that you don't plan to use object constants anymore? > > open webrev at http://cr.openjdk.java.net/~coleenp/8000797/ > bug link at http://bugs.sun.com/view_bug.do?bug_id=8000797 > > Tested with vm.quick.testlist (including parallel_class_loading and > mlvm tests) and java/lang/invoke and java/lang/instrument tests. > > Thanks, > Coleen > > On 2/8/2013 4:59 PM, Coleen Phillimore wrote: >> Summary: Null out the original string when patching constant pool >> with pseudo-string >> >> This call is_pseudo_string() conditionalized a pseudo_string_at() >> call, but since it always failed, it went to string_at() which >> returned the same thing. The only thing that seems to treat >> pseudo-string and regular strings differently is the verifier. The >> verifier pushes an object for pseudo string vs. an object of type >> java/lang/String. >> >> open webrev at http://cr.openjdk.java.net/~coleenp/8000797/ >> bug link at http://bugs.sun.com/view_bug.do?bug_id=8000797 >> >> Tested with vm.mlvm.testlists and java/lang/invoke tests. >> >> Thanks, >> Coleen > From daniel.daugherty at oracle.com Wed Feb 20 21:33:22 2013 From: daniel.daugherty at oracle.com (daniel.daugherty at oracle.com) Date: Thu, 21 Feb 2013 05:33:22 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 6799919: Recursive calls to report_vm_out_of_memory are handled incorrectly Message-ID: <20130221053326.A028D47C30@hg.openjdk.java.net> Changeset: b6d5b3e50379 Author: dcubed Date: 2013-02-20 19:36 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/b6d5b3e50379 6799919: Recursive calls to report_vm_out_of_memory are handled incorrectly Summary: report_vm_out_of_memory() should allow VMError.report_and_die() to handle multiple out of native memory errors. Reviewed-by: dcubed, dholmes, coleenp, acorn Contributed-by: ron.durbin at oracle.com ! src/share/vm/utilities/debug.cpp From staffan.larsen at oracle.com Thu Feb 21 02:21:25 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Thu, 21 Feb 2013 11:21:25 +0100 Subject: [PATCH] A small fix on "scanoops" command in CLHSDB In-Reply-To: <51259564.2070501@oracle.com> References: <51259564.2070501@oracle.com> Message-ID: <65F834EF-10EF-4768-92F4-12D0984A2C4A@oracle.com> I think this looks good, too. I'm not an official Reviewer, either. Thanks, /Staffan On 21 feb 2013, at 04:32, Krystal Mo wrote: > Hi Yunda, > > This patch looks reasonable to me. But you'll need an official Reviewer to review this. > > - Kris > > On 2013/2/19 1:24, ???? wrote: >> Hi all, >> >> When I use ??scanoops?? command in CLHSDB, I find that if the type doesn??t exist, the output will be all the oops in the scope [start, end]. (see below) I think that??s irrational because all the oops between 0x00000000ee2000a0 and 0x00000000ee200550 are of type ??java/lang/Class?? and there??s no type ??java/lang/Class2?? or ??com/taobao/Test?? at all! >> >> hsdb> scanoops 0x00000000ee2000a0 0x00000000ee200550 >> 0x00000000ee2000a0 java/lang/Class >> 0x00000000ee200118 java/lang/Class >> 0x00000000ee200190 java/lang/Class >> 0x00000000ee200208 java/lang/Class >> 0x00000000ee200280 java/lang/Class >> 0x00000000ee2002f8 java/lang/Class >> 0x00000000ee200370 java/lang/Class >> 0x00000000ee2003e8 java/lang/Class >> 0x00000000ee200460 java/lang/Class >> 0x00000000ee2004d8 java/lang/Class >> hsdb> scanoops 0x00000000ee2000a0 0x00000000ee200550 java/lang/Class2 >> 0x00000000ee2000a0 java/lang/Class >> 0x00000000ee200118 java/lang/Class >> 0x00000000ee200190 java/lang/Class >> 0x00000000ee200208 java/lang/Class >> 0x00000000ee200280 java/lang/Class >> 0x00000000ee2002f8 java/lang/Class >> 0x00000000ee200370 java/lang/Class >> 0x00000000ee2003e8 java/lang/Class >> 0x00000000ee200460 java/lang/Class >> 0x00000000ee2004d8 java/lang/Class >> hsdb> scanoops 0x00000000ee2000a0 0x00000000ee200550 com/taobao/Test >> 0x00000000ee2000a0 java/lang/Class >> 0x00000000ee200118 java/lang/Class >> 0x00000000ee200190 java/lang/Class >> 0x00000000ee200208 java/lang/Class >> 0x00000000ee200280 java/lang/Class >> 0x00000000ee2002f8 java/lang/Class >> 0x00000000ee200370 java/lang/Class >> 0x00000000ee2003e8 java/lang/Class >> 0x00000000ee200460 java/lang/Class >> 0x00000000ee2004d8 java/lang/Class >> >> I know the reason is that the usage of scanoops is ??scanoops start end [ type ]?? and ??type?? is optional. When you don??t input the ??type??, the output will be all the oops in the scope [start, end]. But I think the two situations are different and CLHSDB should give right prompt. So I made a small fix: >> >> diff -r b5e3ec9c69fa agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java >> --- a/agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java Mon Feb 18 12:49:53 2013 +0100 >> +++ b/agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java Tue Feb 19 16:43:45 2013 +0800 >> @@ -1132,6 +1132,10 @@ >> Klass klass = null; >> if (t.countTokens() == 1) { >> klass = SystemDictionaryHelper.findInstanceKlass(t.nextToken()); >> + if(klass == null) { >> + out.println("No such type."); >> + return; >> + } >> } >> while (base != null && base.lessThan(end)) { >> long step = stride; >> >> And the effect will be: >> hsdb> scanoops 0x0000000758600000 0x000000075860ffff com/taobao/Test >> No such type. >> >> Regards, >> Yunda >> >> >> >> This email (including any attachments) is confidential and may be legally privileged. If you received this email in error, please delete it immediately and do not copy it or use it for any purpose or disclose its contents to any other person. Thank you. >> >> ??????(????????????)?????????????????????????????????????????????????????????????????????????????????????????????????????????? ?????????????????????????????????? > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130221/5eaa14ac/attachment.html From staffan.larsen at oracle.com Thu Feb 21 03:22:01 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Thu, 21 Feb 2013 12:22:01 +0100 Subject: RFR (S): 8008536: Add HotSpot support for printing class loader statistics for JMap In-Reply-To: <5124F371.2020705@oracle.com> References: <5124F371.2020705@oracle.com> Message-ID: <86FFB931-09D7-4D1B-A542-C33CC8C8E242@oracle.com> All of these changes look good to me. What I didn't realize at first what the change from PermStat.java to ClassLoaderStats.java was simply a name change - no code was changed. The 8005116 bug says that the new option should be -classstats, but the code uses -clstats. I think this is better, but you may want to update the bug. Thanks, /Staffan On 20 feb 2013, at 17:01, Erik Helin wrote: > Hi all, > > this change is the first of three changes related to renaming the jmap > option permstat to clstats. The change has to be done as three separate > changes in order to not break any repositories: > 1. Add support for the -clstats option to the SA agent > 2. Change the tool jmap to use -clstats instead of -permstat > 3. Remove the option -permstat from the SA agent > > This CR represents the first step. Once this change has found its way into the tl forest, then step two can be applied. Once the result of step two is back in the hotspot-gc forest, then step three can be done. > > Step 2 and 3 are also out for review. > > Webrev: > http://cr.openjdk.java.net/~ehelin/8008536/webrev.00/ > > Bug: > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8008536 > > Testing: > JPRT > > Thanks, > Erik From erik.helin at oracle.com Thu Feb 21 05:06:26 2013 From: erik.helin at oracle.com (Erik Helin) Date: Thu, 21 Feb 2013 14:06:26 +0100 Subject: RFR (XS): 8008541 Remove old code in HotSpot that supported the jmap -permstat functionality In-Reply-To: <5124F380.6070905@oracle.com> References: <5124F380.6070905@oracle.com> Message-ID: <51261BD2.5020507@oracle.com> All, based on some internal feedback, I've updated the change. The removal of PermStat.java could be done in the first change, reducing the size of this change. Webrev: http://cr.openjdk.java.net/~ehelin/8008541/webrev.01/ The first and second change have also been updated. Thanks, Erik On 02/20/2013 05:02 PM, Erik Helin wrote: > Hi all, > > this change is the third of three changes related to renaming the jmap > option permstat to clstats. The change has to be done as three separate > changes in order to not break any repositories: > 1. Add support for the -clstats option to the SA agent > 2. Change the tool jmap to use -clstats instead of -permstat > 3. Remove the option -permstat from the SA agent > > This CR represents the third step, which removes the support for the > option -permstats in the SA agent. > > Step 1 and 2 are also out for review. > > Webrev: > http://cr.openjdk.java.net/~ehelin/8008541/webrev.00/ > > Bug: > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8008541 > > Thanks, > Erik From erik.helin at oracle.com Thu Feb 21 05:06:44 2013 From: erik.helin at oracle.com (Erik Helin) Date: Thu, 21 Feb 2013 14:06:44 +0100 Subject: RFR (XS): 8005116: NPG: Rename -permstat option for jmap in jdk8 to -classstats In-Reply-To: <5124F379.6020909@oracle.com> References: <5124F379.6020909@oracle.com> Message-ID: <51261BE4.1070100@oracle.com> All, I've updated the change based on internal feedback and feedback from Staffan Larsen. The bug has been renamed to use -clstats and the help text now uses "class loader" instead of "classloader". Webrev: http://cr.openjdk.java.net/~ehelin/8005116/webrev.01/ The first and third change have also been updated. Thanks, Erik On 02/20/2013 05:02 PM, Erik Helin wrote: > Hi all, > > this change is the second of three changes related to renaming the jmap > option permstat to clstats. The change has to be done as three separate > changes in order to not break any repositories: > 1. Add support for the -clstats option to the SA agent > 2. Change the tool jmap to use -clstats instead of -permstat > 3. Remove the option -permstat from the SA agent > > This CR represents the second step, which updates the jmap tool. > > Step 1 and 3 are also out for review. > > Webrev: > http://cr.openjdk.java.net/~ehelin/8005116/webrev.00/ > > Bug: > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005116 > > Thanks, > Erik From erik.helin at oracle.com Thu Feb 21 05:06:49 2013 From: erik.helin at oracle.com (Erik Helin) Date: Thu, 21 Feb 2013 14:06:49 +0100 Subject: RFR (S): 8008536: Add HotSpot support for printing class loader statistics for JMap In-Reply-To: <5124F371.2020705@oracle.com> References: <5124F371.2020705@oracle.com> Message-ID: <51261BE9.1080306@oracle.com> All, based on some internal feedback, I've updated the change. The file PermStat.java can be removed already in this first change. This means that 'hg mv' can be used, which provides a better history. Webrev: http://cr.openjdk.java.net/~ehelin/8008536/webrev.01/ The second and third change have also been updated. Thanks, Erik On 02/20/2013 05:01 PM, Erik Helin wrote: > Hi all, > > this change is the first of three changes related to renaming the jmap > option permstat to clstats. The change has to be done as three separate > changes in order to not break any repositories: > 1. Add support for the -clstats option to the SA agent > 2. Change the tool jmap to use -clstats instead of -permstat > 3. Remove the option -permstat from the SA agent > > This CR represents the first step. Once this change has found its way > into the tl forest, then step two can be applied. Once the result of > step two is back in the hotspot-gc forest, then step three can be done. > > Step 2 and 3 are also out for review. > > Webrev: > http://cr.openjdk.java.net/~ehelin/8008536/webrev.00/ > > Bug: > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8008536 > > Testing: > JPRT > > Thanks, > Erik From erik.helin at oracle.com Thu Feb 21 05:09:57 2013 From: erik.helin at oracle.com (Erik Helin) Date: Thu, 21 Feb 2013 14:09:57 +0100 Subject: RFR (S): 8008536: Add HotSpot support for printing class loader statistics for JMap In-Reply-To: <86FFB931-09D7-4D1B-A542-C33CC8C8E242@oracle.com> References: <5124F371.2020705@oracle.com> <86FFB931-09D7-4D1B-A542-C33CC8C8E242@oracle.com> Message-ID: <51261CA5.3010706@oracle.com> Staffan, On 02/21/2013 12:22 PM, Staffan Larsen wrote: > All of these changes look good to me. What I didn't realize at first what the change from PermStat.java to ClassLoaderStats.java was simply a name change - no code was changed. I've update the changes to take this into account. On 02/21/2013 12:22 PM, Staffan Larsen wrote: > The 8005116 bug says that the new option should be -classstats, but the code uses -clstats. I think this is better, but you may want to update the bug. Agree, I've updated the bug. Thanks, Erik > Thanks, > /Staffan > > On 20 feb 2013, at 17:01, Erik Helin wrote: > >> Hi all, >> >> this change is the first of three changes related to renaming the jmap >> option permstat to clstats. The change has to be done as three separate >> changes in order to not break any repositories: >> 1. Add support for the -clstats option to the SA agent >> 2. Change the tool jmap to use -clstats instead of -permstat >> 3. Remove the option -permstat from the SA agent >> >> This CR represents the first step. Once this change has found its way into the tl forest, then step two can be applied. Once the result of step two is back in the hotspot-gc forest, then step three can be done. >> >> Step 2 and 3 are also out for review. >> >> Webrev: >> http://cr.openjdk.java.net/~ehelin/8008536/webrev.00/ >> >> Bug: >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8008536 >> >> Testing: >> JPRT >> >> Thanks, >> Erik > From staffan.larsen at oracle.com Thu Feb 21 05:23:19 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Thu, 21 Feb 2013 14:23:19 +0100 Subject: RFR (S): 8008536: Add HotSpot support for printing class loader statistics for JMap In-Reply-To: <51261CA5.3010706@oracle.com> References: <5124F371.2020705@oracle.com> <86FFB931-09D7-4D1B-A542-C33CC8C8E242@oracle.com> <51261CA5.3010706@oracle.com> Message-ID: <0E00B315-6613-4E6B-A109-77BDC41C3B38@oracle.com> Thanks. Still good! /Staffan On 21 feb 2013, at 14:09, Erik Helin wrote: > Staffan, > > On 02/21/2013 12:22 PM, Staffan Larsen wrote: >> All of these changes look good to me. What I didn't realize at first what the change from PermStat.java to ClassLoaderStats.java was simply a name change - no code was changed. > > I've update the changes to take this into account. > > On 02/21/2013 12:22 PM, Staffan Larsen wrote: >> The 8005116 bug says that the new option should be -classstats, but the code uses -clstats. I think this is better, but you may want to update the bug. > > Agree, I've updated the bug. > > Thanks, > Erik > >> Thanks, >> /Staffan >> >> On 20 feb 2013, at 17:01, Erik Helin wrote: >> >>> Hi all, >>> >>> this change is the first of three changes related to renaming the jmap >>> option permstat to clstats. The change has to be done as three separate >>> changes in order to not break any repositories: >>> 1. Add support for the -clstats option to the SA agent >>> 2. Change the tool jmap to use -clstats instead of -permstat >>> 3. Remove the option -permstat from the SA agent >>> >>> This CR represents the first step. Once this change has found its way into the tl forest, then step two can be applied. Once the result of step two is back in the hotspot-gc forest, then step three can be done. >>> >>> Step 2 and 3 are also out for review. >>> >>> Webrev: >>> http://cr.openjdk.java.net/~ehelin/8008536/webrev.00/ >>> >>> Bug: >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8008536 >>> >>> Testing: >>> JPRT >>> >>> Thanks, >>> Erik >> > From bengt.rutisson at oracle.com Thu Feb 21 06:32:22 2013 From: bengt.rutisson at oracle.com (Bengt Rutisson) Date: Thu, 21 Feb 2013 15:32:22 +0100 Subject: RFR (S): 8008536: Add HotSpot support for printing class loader statistics for JMap In-Reply-To: <51261BE9.1080306@oracle.com> References: <5124F371.2020705@oracle.com> <51261BE9.1080306@oracle.com> Message-ID: <51262FF6.5050607@oracle.com> Erik, Looks good! Bengt On 2/21/13 2:06 PM, Erik Helin wrote: > All, > > based on some internal feedback, I've updated the change. > The file PermStat.java can be removed already in this first change. This > means that 'hg mv' can be used, which provides a better history. > > Webrev: > http://cr.openjdk.java.net/~ehelin/8008536/webrev.01/ > > The second and third change have also been updated. > > Thanks, > Erik > > > On 02/20/2013 05:01 PM, Erik Helin wrote: >> Hi all, >> >> this change is the first of three changes related to renaming the jmap >> option permstat to clstats. The change has to be done as three separate >> changes in order to not break any repositories: >> 1. Add support for the -clstats option to the SA agent >> 2. Change the tool jmap to use -clstats instead of -permstat >> 3. Remove the option -permstat from the SA agent >> >> This CR represents the first step. Once this change has found its way >> into the tl forest, then step two can be applied. Once the result of >> step two is back in the hotspot-gc forest, then step three can be done. >> >> Step 2 and 3 are also out for review. >> >> Webrev: >> http://cr.openjdk.java.net/~ehelin/8008536/webrev.00/ >> >> Bug: >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8008536 >> >> Testing: >> JPRT >> >> Thanks, >> Erik > From bengt.rutisson at oracle.com Thu Feb 21 06:36:03 2013 From: bengt.rutisson at oracle.com (Bengt Rutisson) Date: Thu, 21 Feb 2013 15:36:03 +0100 Subject: RFR (XS): 8008541 Remove old code in HotSpot that supported the jmap -permstat functionality In-Reply-To: <51261BD2.5020507@oracle.com> References: <5124F380.6070905@oracle.com> <51261BD2.5020507@oracle.com> Message-ID: <512630D3.5060805@oracle.com> Erik, Looks good! Bengt On 2/21/13 2:06 PM, Erik Helin wrote: > All, > > based on some internal feedback, I've updated the change. The removal of > PermStat.java could be done in the first change, reducing the size of > this change. > > Webrev: > http://cr.openjdk.java.net/~ehelin/8008541/webrev.01/ > > The first and second change have also been updated. > > Thanks, > Erik > > On 02/20/2013 05:02 PM, Erik Helin wrote: >> Hi all, >> >> this change is the third of three changes related to renaming the jmap >> option permstat to clstats. The change has to be done as three separate >> changes in order to not break any repositories: >> 1. Add support for the -clstats option to the SA agent >> 2. Change the tool jmap to use -clstats instead of -permstat >> 3. Remove the option -permstat from the SA agent >> >> This CR represents the third step, which removes the support for the >> option -permstats in the SA agent. >> >> Step 1 and 2 are also out for review. >> >> Webrev: >> http://cr.openjdk.java.net/~ehelin/8008541/webrev.00/ >> >> Bug: >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8008541 >> >> Thanks, >> Erik > From kevin.walls at oracle.com Thu Feb 21 07:25:30 2013 From: kevin.walls at oracle.com (Kevin Walls) Date: Thu, 21 Feb 2013 15:25:30 +0000 Subject: RFR (S) 7178741: SA: jstack -m produce UnalignedAddressException in output (Linux) Message-ID: <51263C6A.5090208@oracle.com> Hi, I'd like to get reviews on this small SA fix: http://cr.openjdk.java.net/~kevinw/7178741/webrev_8.00/ jstack -m follows native frames, and gets confused if it can't follow from frame pointer to saved frame pointer. Additional sanity checks on the register values avoid lengthy exception messages in the middle of jstack -m output. This kind of check has been in JDK6 for a while, so we want to get latest hs25 providing the same readable output. There's another bug 6313816 for the same problem on Windows, but the change isn't the same there so I'm leaving the bugs separate. Thanks Kevin From staffan.larsen at oracle.com Thu Feb 21 07:38:32 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Thu, 21 Feb 2013 16:38:32 +0100 Subject: RFR(M): 7165259 Remove BugSpot Message-ID: <9496CFBE-4F80-490A-9A07-C2B58447F532@oracle.com> Please review the following change to remove the BugSpot UI for the Serviceability Agent. My understanding is that BugSpot was intended as a more general native debugger not only focused on the JVM, but that it was never fully implemented. I don't think there is a need for a general-purpose debugger in SA and would like to clean up the code. One effect of this change is that PStack and PMap will no longer be able to operate on executables other than the JVM. This change was first proposed last year in this thread: http://mail.openjdk.java.net/pipermail/serviceability-dev/2012-April/005811.html This change also removes some old JVMDI code in SA (JVMDI is no longer supported in HotSpot). bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7165259 webrev: http://cr.openjdk.java.net/~sla/7165259/webrev.00/ Thanks, /Staffan From maurizio.cimadamore at oracle.com Thu Feb 21 08:00:57 2013 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 21 Feb 2013 16:00:57 +0000 Subject: hg: jdk8/tl/langtools: 6 new changesets Message-ID: <20130221160118.3B1AE47C3C@hg.openjdk.java.net> Changeset: d686d8a7eb78 Author: mcimadamore Date: 2013-02-21 15:19 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/d686d8a7eb78 8008227: Mixing lambdas with anonymous classes leads to NPE thrown by compiler Summary: Disentangle cyclic dependency between static-ness of synthetic lambda method and static-ness of classes nested within lambdas Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java + test/tools/javac/lambda/LambdaConv27.java Changeset: 3a39d123d33a Author: mcimadamore Date: 2013-02-21 15:21 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/3a39d123d33a 8008276: assertion error in com.sun.tools.javac.comp.TransTypes.visitApply Summary: DiagnosticFilter used during speculative attribution is too broad Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/share/classes/com/sun/tools/javac/util/JCDiagnostic.java + test/tools/javac/lambda/speculative/MissingError.java + test/tools/javac/lambda/speculative/MissingError.out Changeset: f4fdd53f8b3e Author: mcimadamore Date: 2013-02-21 15:23 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/f4fdd53f8b3e 8005183: Missing accessor for constructor reference pointing to private inner class ctor Summary: Compiler should add bridges when translating private constructor reference Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java + test/tools/javac/lambda/MethodReference63.java Changeset: 7ac9242d2ca6 Author: mcimadamore Date: 2013-02-21 15:25 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/7ac9242d2ca6 8008293: Declared bounds not considered when functional interface containing unbound wildcards is instantiated Summary: Wildcards inference should re-use some of the bounds info generated during capture conversion Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java + test/tools/javac/lambda/TargetType64.java Changeset: 9f0ec00514b6 Author: mcimadamore Date: 2013-02-21 15:26 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/9f0ec00514b6 8007461: Regression: bad overload resolution when inner class and outer class have method with same name Summary: Fix regression in varargs method resolution introduced by bad refactoring Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! test/tools/javac/resolve/Pos.java + test/tools/javac/resolve/tests/InnerOverOuter.java Changeset: 3fef0cae83b3 Author: mcimadamore Date: 2013-02-21 15:27 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/3fef0cae83b3 8008444: Inherited generic functional descriptors are merged incorrectly Summary: Missing call to Types.createMethodWithThrownTypes Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java + test/tools/javac/lambda/LambdaConv25.java + test/tools/javac/lambda/LambdaConv25.out From poonam.bajaj at oracle.com Thu Feb 21 08:08:16 2013 From: poonam.bajaj at oracle.com (Poonam Bajaj) Date: Thu, 21 Feb 2013 21:38:16 +0530 Subject: RFR (S) 7178741: SA: jstack -m produce UnalignedAddressException in output (Linux) In-Reply-To: <51263C6A.5090208@oracle.com> References: <51263C6A.5090208@oracle.com> Message-ID: <51264670.30305@oracle.com> Hi Kevin, The changes look good. Thanks, Poonam On 2/21/2013 8:55 PM, Kevin Walls wrote: > Hi, > > I'd like to get reviews on this small SA fix: > > http://cr.openjdk.java.net/~kevinw/7178741/webrev_8.00/ > > jstack -m follows native frames, and gets confused if it can't follow > from frame pointer to saved frame pointer. Additional sanity checks > on the register values avoid lengthy exception messages in the middle > of jstack -m output. > > This kind of check has been in JDK6 for a while, so we want to get > latest hs25 providing the same readable output. > > There's another bug 6313816 for the same problem on Windows, but the > change isn't the same there so I'm leaving the bugs separate. > > Thanks > Kevin > From staffan.larsen at oracle.com Thu Feb 21 08:48:38 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Thu, 21 Feb 2013 17:48:38 +0100 Subject: RFR (S) 7178741: SA: jstack -m produce UnalignedAddressException in output (Linux) In-Reply-To: <51263C6A.5090208@oracle.com> References: <51263C6A.5090208@oracle.com> Message-ID: Looks good! /Staffan (not a Reviewer) On 21 feb 2013, at 16:25, Kevin Walls wrote: > Hi, > > I'd like to get reviews on this small SA fix: > > http://cr.openjdk.java.net/~kevinw/7178741/webrev_8.00/ > > jstack -m follows native frames, and gets confused if it can't follow from frame pointer to saved frame pointer. Additional sanity checks on the register values avoid lengthy exception messages in the middle of jstack -m output. > > This kind of check has been in JDK6 for a while, so we want to get latest hs25 providing the same readable output. > > There's another bug 6313816 for the same problem on Windows, but the change isn't the same there so I'm leaving the bugs separate. > > Thanks > Kevin > From Alan.Bateman at oracle.com Thu Feb 21 10:46:20 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Thu, 21 Feb 2013 18:46:20 +0000 Subject: 8008662: Add @jdk.Supported to JDK-specific/supported API Message-ID: <51266B7C.3040804@oracle.com> Joe Darcy recently added @jdk.Supported [1] to make it possible to identify JDK-specific APIs. I'd like to add this to a number of APIs in the com.sun namespace to make it obvious these are "supported". Specifically I'm proposing to add it to: - Java Debug Interface (com.sun.jdi) - Attach API (com.sun.tools.attach) - SCTP API (com.sun.nio.sctp) - HTTP server API (com.sun.net.httpserver) - Management extensions (com.sun.management) - JDK-specific API to JAAS (com.sun.security.auth) - JDK-specific JGSS API (com.sun.security.jgss) The javadoc for all of these is generated as part of the regular JDK "docs" build and so shouldn't be controversial. There are a number of other candidates in com.sun with murkier status that I've stayed clear of for now. The webrev with the changes is here: http://cr.openjdk.java.net/~alanb/8008662/webrev/ In a couple of cases the package description is legacy package.html so I've had to move/convert them to package-info.java. In all but one case I've added the annotation to the package-info, the one exception is com.sun.management where there is at least one type that is documented as "not supported". Joe Darcy might have suggestions on that. Otherwise this is mostly mechanical and the patch file is easier to review that the webrev. -Alan [1] http://hg.openjdk.java.net/jdk8/tl/langtools/rev/55cca2f38ee6 From serguei.spitsyn at oracle.com Thu Feb 21 11:16:25 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Thu, 21 Feb 2013 11:16:25 -0800 Subject: Request for review: 8000797: NPG: is_pseudo_string_at() doesn't work In-Reply-To: <51252B2D.4060100@oracle.com> References: <51157551.4040000@oracle.com> <512513F6.3020404@oracle.com> <9A08C657-A5E6-4B78-B7BF-6BAAC31097CA@oracle.com> <51252B2D.4060100@oracle.com> Message-ID: <51267289.1080301@oracle.com> On 2/20/13 11:59 AM, Coleen Phillimore wrote: > On 2/20/2013 2:51 PM, John Rose wrote: >> On Feb 20, 2013, at 10:20 AM, Coleen Phillimore >> > >> wrote: >> >>> Summary: Add JVM_CONSTANT_PseudoString in place of >>> JVM_CONSTANT_Object and use this tag to distinguish patched pseudo >>> strings. The original string is retained if it was present. >> >> This is reasonable; it is a good cleanup. If you can propose a name >> better than "PseudoString" I'm all ears. > > If the string is really meaningless, maybe it can be deleted and we > don't need this JVM_CONSTANT_PseudoString. The only reason I kept > "String" in the name is because I thought the string would have some > meaning to be preserved. > >> >> Consider getting rid of set_has_pseudo_string. That flag was present >> (IIRC) only to tell the GC that there might be non-perm oops in the >> constant pool. Do we still need that? > > I'd be happy to. I noticed it wasn't being used. Neither is > _has_invokedynamic for that matter. _has_preresolution does do > something. >> >>> I'm not sure how class file reconstitution for pseudo-strings is >>> going to work, but I thought it was prudent to leave the Symbol* in >>> the slot for the patched string. >> >> If you really wanted to reconstitute a class file for an anonymous >> class, and if that class has oop patching (pseudo-strings), you would >> need either to (a) reconstitute the patches array handed to >> Unsafe.defineAnonymousClass, or (b) accept whatever odd strings were >> there first, as an approximation. The "odd strings" are totally >> insignificant, and are typically something like >> "CONSTANT_PLACEHOLDER_42" (see >> InvokerBytecodeGenerator::constantPlaceholder). >> > > Maybe there isn't a way or API to reconstitute an anonymous class. I > don't know if there is. I'm not sure how to reconstitute a normal > class in the first place. Maybe Serguei can comment. If this class > cannot be reconsitituted, I'll change this to remove the string in the > patched case and won't need JVM_CONSTANT_PseudoString (and the > constant for Object can be removed too). Reconstitution of the ConstantPool is needed for both the JVMTI GetConstantPool() and RetransformClasses(). Finally, it goes to the ConstantPool::copy_cpool_bytes(). This is the place that has to be fixed: ConstantPool.cpp: int ConstantPool::copy_cpool_bytes(int cpool_size, . . . case JVM_CONSTANT_String: { *bytes = JVM_CONSTANT_String; Symbol* sym = unresolved_string_at(idx); idx1 = tbl->symbol_to_value(sym); assert(idx1 != 0, "Have not found a hashtable entry"); Bytes::put_Java_u2((address) (bytes+1), idx1); DBG(char *str = sym->as_utf8()); DBG(printf("JVM_CONSTANT_String: idx=#%03hd, %s", idx1, str)); break; } I think, the John's suggestion for odd strings should work here. Something like: if (sym == NULL) { str = "CONSTANT_PLACEHOLDER_42"; } I will file a bug on this. Thanks, Serguei > > Thanks! > Coleen > >> ? John > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130221/b0da3b53/attachment-0001.html From john.r.rose at oracle.com Thu Feb 21 11:20:23 2013 From: john.r.rose at oracle.com (John Rose) Date: Thu, 21 Feb 2013 11:20:23 -0800 Subject: Request for review: 8000797: NPG: is_pseudo_string_at() doesn't work In-Reply-To: <51267289.1080301@oracle.com> References: <51157551.4040000@oracle.com> <512513F6.3020404@oracle.com> <9A08C657-A5E6-4B78-B7BF-6BAAC31097CA@oracle.com> <51252B2D.4060100@oracle.com> <51267289.1080301@oracle.com> Message-ID: <44A14456-A003-409F-A11C-412C27B2AA25@oracle.com> On Feb 21, 2013, at 11:16 AM, "serguei.spitsyn at oracle.com" wrote: > I think, the John's suggestion for odd strings should work here. > Something like: > if (sym == NULL) { > str = "CONSTANT_PLACEHOLDER_42"; > } > > I will file a bug on this. Yes, that looks good. I suggest either the empty string, or something slightly informative such as "patch#42", where 42 is the CP index. ? John -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130221/2e07b802/attachment.html From Lance.Andersen at oracle.com Thu Feb 21 11:35:26 2013 From: Lance.Andersen at oracle.com (Lance Andersen - Oracle) Date: Thu, 21 Feb 2013 14:35:26 -0500 Subject: 8008662: Add @jdk.Supported to JDK-specific/supported API In-Reply-To: <51266B7C.3040804@oracle.com> References: <51266B7C.3040804@oracle.com> Message-ID: Well, that was quite a few files to have to go through :-) Looks fine On Feb 21, 2013, at 1:46 PM, Alan Bateman wrote: > > Joe Darcy recently added @jdk.Supported [1] to make it possible to identify JDK-specific APIs. > > I'd like to add this to a number of APIs in the com.sun namespace to make it obvious these are "supported". Specifically I'm proposing to add it to: > > - Java Debug Interface (com.sun.jdi) > - Attach API (com.sun.tools.attach) > - SCTP API (com.sun.nio.sctp) > - HTTP server API (com.sun.net.httpserver) > - Management extensions (com.sun.management) > - JDK-specific API to JAAS (com.sun.security.auth) > - JDK-specific JGSS API (com.sun.security.jgss) > > The javadoc for all of these is generated as part of the regular JDK "docs" build and so shouldn't be controversial. There are a number of other candidates in com.sun with murkier status that I've stayed clear of for now. > > The webrev with the changes is here: > > http://cr.openjdk.java.net/~alanb/8008662/webrev/ > > In a couple of cases the package description is legacy package.html so I've had to move/convert them to package-info.java. > > In all but one case I've added the annotation to the package-info, the one exception is com.sun.management where there is at least one type that is documented as "not supported". Joe Darcy might have suggestions on that. > > Otherwise this is mostly mechanical and the patch file is easier to review that the webrev. > > -Alan > > [1] http://hg.openjdk.java.net/jdk8/tl/langtools/rev/55cca2f38ee6 -------------- next part -------------- A non-text attachment was scrubbed... Name: oracle_sig_logo.gif Type: image/gif Size: 658 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130221/0095526c/oracle_sig_logo.gif -------------- next part -------------- Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037 Oracle Java Engineering 1 Network Drive Burlington, MA 01803 Lance.Andersen at oracle.com From serguei.spitsyn at oracle.com Thu Feb 21 11:51:24 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Thu, 21 Feb 2013 11:51:24 -0800 Subject: Request for review: 8000797: NPG: is_pseudo_string_at() doesn't work In-Reply-To: <44A14456-A003-409F-A11C-412C27B2AA25@oracle.com> References: <51157551.4040000@oracle.com> <512513F6.3020404@oracle.com> <9A08C657-A5E6-4B78-B7BF-6BAAC31097CA@oracle.com> <51252B2D.4060100@oracle.com> <51267289.1080301@oracle.com> <44A14456-A003-409F-A11C-412C27B2AA25@oracle.com> Message-ID: <51267ABC.4020307@oracle.com> On 2/21/13 11:20 AM, John Rose wrote: > On Feb 21, 2013, at 11:16 AM, "serguei.spitsyn at oracle.com > " > wrote: > >> I think, the John's suggestion for odd strings should work here. >> Something like: >> if (sym == NULL) { >> str = "CONSTANT_PLACEHOLDER_42"; >> } >> >> I will file a bug on this. > > Yes, that looks good. I suggest either the empty string, or something > slightly informative such as "patch#42", where 42 is the CP index. ? > John Ok, I've filed a bug: https://jbs.oracle.com/bugs/browse/JDK-8008678 constant pool reconstitution must support pseudo strings Thanks, Serguei -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130221/3ac66ca7/attachment.html From serguei.spitsyn at oracle.com Thu Feb 21 12:00:27 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Thu, 21 Feb 2013 12:00:27 -0800 Subject: Request for review: 8000797: NPG: is_pseudo_string_at() doesn't work In-Reply-To: <51259E61.4060706@oracle.com> References: <51157551.4040000@oracle.com> <512513F6.3020404@oracle.com> <51259E61.4060706@oracle.com> Message-ID: <51267CDB.8060502@oracle.com> Coleen, I like the fix. It looks good, and you also have done a nice clean-up*!* The class file reconstitution issue will be tracked by in a separate bug report (just filed): https://jbs.oracle.com/bugs/browse/JDK-8008678 constant pool reconstitution must support pseudo strings Thanks, Serguei On 2/20/13 8:11 PM, Coleen Phillimore wrote: > > Thanks to John's feedback, I've modified this change again to revert > back to my original change to zero out the Symbol* to indicate pseudo > string (could be thought of as "patched string"). Also cleaned up > unused constant pool Object constant and unused flags. Reran all the > tests. > > http://cr.openjdk.java.net/~coleenp/8000797_2/ > > Thanks, > Coleen > > On 2/20/2013 1:20 PM, Coleen Phillimore wrote: >> Since nobody replied to my code review request, I modified the change. >> >> Summary: Add JVM_CONSTANT_PseudoString in place of >> JVM_CONSTANT_Object and use this tag to distinguish patched pseudo >> strings. The original string is retained if it was present. >> >> I'm not sure how class file reconstitution for pseudo-strings is >> going to work, but I thought it was prudent to leave the Symbol* in >> the slot for the patched string. >> >> I noticed that JVM_CONSTANT_Object is no longer used so reused that >> constant to be PseudoString. I had an edit to go in the other >> direction (if a pseudo-string is patched into a constant pool, make >> it a JVM_CONSTANT_Object), but this didn't fully capture that the >> constant pool slot also points to a Symbol. John or Christian, can >> you confirm that you don't plan to use object constants anymore? >> >> open webrev at http://cr.openjdk.java.net/~coleenp/8000797/ >> bug link at http://bugs.sun.com/view_bug.do?bug_id=8000797 >> >> Tested with vm.quick.testlist (including parallel_class_loading and >> mlvm tests) and java/lang/invoke and java/lang/instrument tests. >> >> Thanks, >> Coleen >> >> On 2/8/2013 4:59 PM, Coleen Phillimore wrote: >>> Summary: Null out the original string when patching constant pool >>> with pseudo-string >>> >>> This call is_pseudo_string() conditionalized a pseudo_string_at() >>> call, but since it always failed, it went to string_at() which >>> returned the same thing. The only thing that seems to treat >>> pseudo-string and regular strings differently is the verifier. The >>> verifier pushes an object for pseudo string vs. an object of type >>> java/lang/String. >>> >>> open webrev at http://cr.openjdk.java.net/~coleenp/8000797/ >>> bug link at http://bugs.sun.com/view_bug.do?bug_id=8000797 >>> >>> Tested with vm.mlvm.testlists and java/lang/invoke tests. >>> >>> Thanks, >>> Coleen >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130221/b4c94b79/attachment.html From robert.field at oracle.com Thu Feb 21 14:44:31 2013 From: robert.field at oracle.com (robert.field at oracle.com) Date: Thu, 21 Feb 2013 22:44:31 +0000 Subject: hg: jdk8/tl/langtools: 8008405: Now that metafactory is in place, add javac lambda serialization tests Message-ID: <20130221224433.DC7AA47C57@hg.openjdk.java.net> Changeset: cd7340a84bb8 Author: rfield Date: 2013-02-21 14:43 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/cd7340a84bb8 8008405: Now that metafactory is in place, add javac lambda serialization tests Summary: Tests part of original langtools serialization review. Reviewed-by: mcimadamore + test/tools/javac/T8004969.java + test/tools/javac/lambda/LambdaInnerTypeVarArgsSerialize.java + test/tools/javac/lambda/LambdaInnerTypeVarSerialize.java From zhengyu.gu at oracle.com Thu Feb 21 15:04:54 2013 From: zhengyu.gu at oracle.com (zhengyu.gu at oracle.com) Date: Thu, 21 Feb 2013 23:04:54 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8008071: Crashed in promote_malloc_records() with Kitchensink after 19 days Message-ID: <20130221230500.D889B47C59@hg.openjdk.java.net> Changeset: fc64254f5579 Author: zgu Date: 2013-02-21 07:50 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/fc64254f5579 8008071: Crashed in promote_malloc_records() with Kitchensink after 19 days Summary: Added NULL pointer check for arena size record Reviewed-by: sspitsyn, dholmes ! src/share/vm/services/memSnapshot.cpp From john.r.rose at oracle.com Thu Feb 21 15:22:51 2013 From: john.r.rose at oracle.com (John Rose) Date: Thu, 21 Feb 2013 15:22:51 -0800 Subject: Request for review: 8000797: NPG: is_pseudo_string_at() doesn't work In-Reply-To: <51259E61.4060706@oracle.com> References: <51157551.4040000@oracle.com> <512513F6.3020404@oracle.com> <51259E61.4060706@oracle.com> Message-ID: <50E59DA5-1F3E-4A7E-8F83-A6AF970DF6C2@oracle.com> On Feb 20, 2013, at 8:11 PM, Coleen Phillimore wrote: > Thanks to John's feedback, I've modified this change again to revert back to my original change to zero out the Symbol* to indicate pseudo string (could be thought of as "patched string"). Also cleaned up unused constant pool Object constant and unused flags. Reran all the tests. > > http://cr.openjdk.java.net/~coleenp/8000797_2/ Good; lots of nice deletions. You can use me as a reviewer. ? John -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130221/657148f8/attachment.html From kumar.x.srinivasan at oracle.com Thu Feb 21 15:25:21 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Thu, 21 Feb 2013 23:25:21 +0000 Subject: hg: jdk8/tl/langtools: 8008658: Four new method param jtreg tests fail in nightly tests Message-ID: <20130221232524.9E1E747C5B@hg.openjdk.java.net> Changeset: dabb36173c63 Author: ksrini Date: 2013-02-21 12:23 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/dabb36173c63 8008658: Four new method param jtreg tests fail in nightly tests Reviewed-by: jjg, ksrini, mcimadamore Contributed-by: eric.mccorkle at oracle.com ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! test/tools/javac/MethodParameters/EnumTest.java ! test/tools/javac/MethodParameters/LocalClassTest.java ! test/tools/javac/MethodParameters/MemberClassTest.java From robert.field at oracle.com Thu Feb 21 15:47:12 2013 From: robert.field at oracle.com (robert.field at oracle.com) Date: Thu, 21 Feb 2013 23:47:12 +0000 Subject: hg: jdk8/tl/jdk: 8008356: Test LambdaSerialization.java failing Message-ID: <20130221234732.5FCA747C5C@hg.openjdk.java.net> Changeset: 1da987f0311a Author: rfield Date: 2013-02-21 15:46 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1da987f0311a 8008356: Test LambdaSerialization.java failing Summary: run in /othervm mode Reviewed-by: ksrini ! test/java/lang/invoke/lambda/LambdaSerialization.java From mandy.chung at oracle.com Thu Feb 21 17:43:03 2013 From: mandy.chung at oracle.com (Mandy Chung) Date: Thu, 21 Feb 2013 17:43:03 -0800 Subject: 8008662: Add @jdk.Supported to JDK-specific/supported API In-Reply-To: <51266B7C.3040804@oracle.com> References: <51266B7C.3040804@oracle.com> Message-ID: <5126CD27.4010608@oracle.com> On 2/21/2013 10:46 AM, Alan Bateman wrote: > > Joe Darcy recently added @jdk.Supported [1] to make it possible to > identify JDK-specific APIs. > > I'd like to add this to a number of APIs in the com.sun namespace to > make it obvious these are "supported". It's nice to be able to mark what is supported vs unsupported in the com.sun namespace since there are a mix of supported and unsupported APIs. > [...] > The webrev with the changes is here: > > http://cr.openjdk.java.net/~alanb/8008662/webrev/ > Looks good to me. > In a couple of cases the package description is legacy package.html so > I've had to move/convert them to package-info.java. > > In all but one case I've added the annotation to the package-info, the > one exception is com.sun.management where there is at least one type > that is documented as "not supported". Joe Darcy might have > suggestions on that. > I wasn't aware of the unsupported com.sun.management.OSMBeanFactory class being included in the javadoc. I think that can be fixed and I'll file a bug and hopefully we can clean that up. Mandy > Otherwise this is mostly mechanical and the patch file is easier to > review that the webrev. > > -Alan > > [1] http://hg.openjdk.java.net/jdk8/tl/langtools/rev/55cca2f38ee6 From joe.darcy at oracle.com Thu Feb 21 18:16:54 2013 From: joe.darcy at oracle.com (Joe Darcy) Date: Thu, 21 Feb 2013 18:16:54 -0800 Subject: 8008662: Add @jdk.Supported to JDK-specific/supported API In-Reply-To: <51266B7C.3040804@oracle.com> References: <51266B7C.3040804@oracle.com> Message-ID: <5126D516.1040005@oracle.com> On 02/21/2013 10:46 AM, Alan Bateman wrote: > > Joe Darcy recently added @jdk.Supported [1] to make it possible to > identify JDK-specific APIs. > > I'd like to add this to a number of APIs in the com.sun namespace to > make it obvious these are "supported". Specifically I'm proposing to > add it to: To add some more context here, there are various APIs outside of the Java SE namespaces (java.* and javax.*) that are shipped with the JDK. Some of these APIs and meant to be called by normal users of the JDK and evolve under essentially the same general evolution policy [1] as the SE API. Call such non-SE APIs in the JDK "supported." One example of such a supported API is the javac Tree API in com.sun.source.* JDK 7: http://docs.oracle.com/javase/7/docs/jdk/api/javac/tree/index.html JDK 8: http://download.java.net/jdk8/docs/jdk/api/javac/tree/index.html However, the com.sun.* subpackages are a mix of APIs that are supported as described above as well as APIs that are not supported. APIs that are not supported are *not* meant to be called by normal users of the JDK and can have a very different evolution policy, up to and including deletion from the JDK in a update release. The goal of adding the @Supported annotations is to allow these API categories to be more easily distinguished from each other, including enabling tools to check that @Supported(value=false) APIs are not referenced. The jdk.Supported annotation can be applied to both types and packages; it is *not* intended to allow modeling of supported-ness down to only a subset of methods of a type. In other words, if @jdk.Supported is applied to something, it is meant to refer to the whole entity, either all the parts of a type or all the types in a package. To make the information more prominent and easier to find, I recommend applying the annotation to both all the types in a package and the package itself, which is what I've done in the tree API. [2] In Alan's case below, I would not apply the annotation to a package if the package had a mix of supported and unsupported types. Cheers, -Joe [1] http://cr.openjdk.java.net/~darcy/OpenJdkDevGuide/OpenJdkDevelopersGuide.v0.777.html#general_evolution_policy [2] http://hg.openjdk.java.net/jdk8/tl/langtools/rev/011cf7e0a148 > > - Java Debug Interface (com.sun.jdi) > - Attach API (com.sun.tools.attach) > - SCTP API (com.sun.nio.sctp) > - HTTP server API (com.sun.net.httpserver) > - Management extensions (com.sun.management) > - JDK-specific API to JAAS (com.sun.security.auth) > - JDK-specific JGSS API (com.sun.security.jgss) > > The javadoc for all of these is generated as part of the regular JDK > "docs" build and so shouldn't be controversial. There are a number of > other candidates in com.sun with murkier status that I've stayed clear > of for now. > > The webrev with the changes is here: > > http://cr.openjdk.java.net/~alanb/8008662/webrev/ > > In a couple of cases the package description is legacy package.html so > I've had to move/convert them to package-info.java. > > In all but one case I've added the annotation to the package-info, the > one exception is com.sun.management where there is at least one type > that is documented as "not supported". Joe Darcy might have > suggestions on that. > > Otherwise this is mostly mechanical and the patch file is easier to > review that the webrev. > > -Alan > > [1] http://hg.openjdk.java.net/jdk8/tl/langtools/rev/55cca2f38ee6 From coleen.phillimore at oracle.com Thu Feb 21 19:27:03 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Thu, 21 Feb 2013 22:27:03 -0500 Subject: Request for review: 8000797: NPG: is_pseudo_string_at() doesn't work In-Reply-To: <51267289.1080301@oracle.com> References: <51157551.4040000@oracle.com> <512513F6.3020404@oracle.com> <9A08C657-A5E6-4B78-B7BF-6BAAC31097CA@oracle.com> <51252B2D.4060100@oracle.com> <51267289.1080301@oracle.com> Message-ID: <5126E587.4030701@oracle.com> Thank you for filing the new bug on reconstitution. I think it needs more than this patch#42 symbol because the oop has to be carried forth from the resolved_references array in the old constant pool, and repatched into the new constant pool once the new resolved_references array is created. And I didn't follow what this this symbol hashtable was trying to do. It would be good to start with a test for this. Thanks, Coleen On 2/21/2013 2:16 PM, serguei.spitsyn at oracle.com wrote: > On 2/20/13 11:59 AM, Coleen Phillimore wrote: >> On 2/20/2013 2:51 PM, John Rose wrote: >>> On Feb 20, 2013, at 10:20 AM, Coleen Phillimore >>> > >>> wrote: >>> >>>> Summary: Add JVM_CONSTANT_PseudoString in place of >>>> JVM_CONSTANT_Object and use this tag to distinguish patched pseudo >>>> strings. The original string is retained if it was present. >>> >>> This is reasonable; it is a good cleanup. If you can propose a name >>> better than "PseudoString" I'm all ears. >> >> If the string is really meaningless, maybe it can be deleted and we >> don't need this JVM_CONSTANT_PseudoString. The only reason I kept >> "String" in the name is because I thought the string would have some >> meaning to be preserved. >> >>> >>> Consider getting rid of set_has_pseudo_string. That flag was >>> present (IIRC) only to tell the GC that there might be non-perm oops >>> in the constant pool. Do we still need that? >> >> I'd be happy to. I noticed it wasn't being used. Neither is >> _has_invokedynamic for that matter. _has_preresolution does do >> something. >>> >>>> I'm not sure how class file reconstitution for pseudo-strings is >>>> going to work, but I thought it was prudent to leave the Symbol* in >>>> the slot for the patched string. >>> >>> If you really wanted to reconstitute a class file for an anonymous >>> class, and if that class has oop patching (pseudo-strings), you >>> would need either to (a) reconstitute the patches array handed to >>> Unsafe.defineAnonymousClass, or (b) accept whatever odd strings were >>> there first, as an approximation. The "odd strings" are totally >>> insignificant, and are typically something like >>> "CONSTANT_PLACEHOLDER_42" (see >>> InvokerBytecodeGenerator::constantPlaceholder). >>> >> >> Maybe there isn't a way or API to reconstitute an anonymous class. >> I don't know if there is. I'm not sure how to reconstitute a normal >> class in the first place. Maybe Serguei can comment. If this >> class cannot be reconsitituted, I'll change this to remove the string >> in the patched case and won't need JVM_CONSTANT_PseudoString (and the >> constant for Object can be removed too). > > Reconstitution of the ConstantPool is needed for both the JVMTI > GetConstantPool() and RetransformClasses(). > Finally, it goes to the ConstantPool::copy_cpool_bytes(). > > This is the place that has to be fixed: > > ConstantPool.cpp: > int ConstantPool::copy_cpool_bytes(int cpool_size, > . . . > case JVM_CONSTANT_String: { > *bytes = JVM_CONSTANT_String; > Symbol* sym = unresolved_string_at(idx); > idx1 = tbl->symbol_to_value(sym); > assert(idx1 != 0, "Have not found a hashtable entry"); > Bytes::put_Java_u2((address) (bytes+1), idx1); > DBG(char *str = sym->as_utf8()); > DBG(printf("JVM_CONSTANT_String: idx=#%03hd, %s", idx1, str)); > break; > } > > I think, the John's suggestion for odd strings should work here. > Something like: > if (sym == NULL) { > str = "CONSTANT_PLACEHOLDER_42"; > } > > I will file a bug on this. > > > Thanks, > Serguei > >> >> Thanks! >> Coleen >> >>> ? John >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130221/fcf3cc30/attachment.html From yunda.mly at taobao.com Thu Feb 21 19:32:27 2013 From: yunda.mly at taobao.com (=?gb2312?B?1Ma07w==?=) Date: Fri, 22 Feb 2013 03:32:27 +0000 Subject: =?gb2312?B?tPC4tDogW1BBVENIXSBBIHNtYWxsIGZpeCBvbiAic2Nhbm9vcHMiIGNvbW1h?= =?gb2312?Q?nd_in_CLHSDB?= In-Reply-To: <65F834EF-10EF-4768-92F4-12D0984A2C4A@oracle.com> References: <51259564.2070501@oracle.com> <65F834EF-10EF-4768-92F4-12D0984A2C4A@oracle.com> Message-ID: Staffan & Kris, Thank both of you for reviewing this. Hope you two could be official Reviewer soon :) Regards, Yunda ??????: Staffan Larsen [mailto:staffan.larsen at oracle.com] ????????: 2013??2??21?? 18:21 ??????: Krystal Mo ????: ????; serviceability-dev at openjdk.java.net ????: Re: [PATCH] A small fix on "scanoops" command in CLHSDB I think this looks good, too. I'm not an official Reviewer, either. Thanks, /Staffan On 21 feb 2013, at 04:32, Krystal Mo > wrote: Hi Yunda, This patch looks reasonable to me. But you'll need an official Reviewer to review this. - Kris On 2013/2/19 1:24, ???? wrote: Hi all, When I use ??scanoops?? command in CLHSDB, I find that if the type doesn??t exist, the output will be all the oops in the scope [start, end]. (see below) I think that??s irrational because all the oops between 0x00000000ee2000a0 and 0x00000000ee200550 are of type ??java/lang/Class?? and there??s no type ??java/lang/Class2?? or ??com/taobao/Test?? at all! hsdb> scanoops 0x00000000ee2000a0 0x00000000ee200550 0x00000000ee2000a0 java/lang/Class 0x00000000ee200118 java/lang/Class 0x00000000ee200190 java/lang/Class 0x00000000ee200208 java/lang/Class 0x00000000ee200280 java/lang/Class 0x00000000ee2002f8 java/lang/Class 0x00000000ee200370 java/lang/Class 0x00000000ee2003e8 java/lang/Class 0x00000000ee200460 java/lang/Class 0x00000000ee2004d8 java/lang/Class hsdb> scanoops 0x00000000ee2000a0 0x00000000ee200550 java/lang/Class2 0x00000000ee2000a0 java/lang/Class 0x00000000ee200118 java/lang/Class 0x00000000ee200190 java/lang/Class 0x00000000ee200208 java/lang/Class 0x00000000ee200280 java/lang/Class 0x00000000ee2002f8 java/lang/Class 0x00000000ee200370 java/lang/Class 0x00000000ee2003e8 java/lang/Class 0x00000000ee200460 java/lang/Class 0x00000000ee2004d8 java/lang/Class hsdb> scanoops 0x00000000ee2000a0 0x00000000ee200550 com/taobao/Test 0x00000000ee2000a0 java/lang/Class 0x00000000ee200118 java/lang/Class 0x00000000ee200190 java/lang/Class 0x00000000ee200208 java/lang/Class 0x00000000ee200280 java/lang/Class 0x00000000ee2002f8 java/lang/Class 0x00000000ee200370 java/lang/Class 0x00000000ee2003e8 java/lang/Class 0x00000000ee200460 java/lang/Class 0x00000000ee2004d8 java/lang/Class I know the reason is that the usage of scanoops is ??scanoops start end [ type ]?? and ??type?? is optional. When you don??t input the ??type??, the output will be all the oops in the scope [start, end]. But I think the two situations are different and CLHSDB should give right prompt. So I made a small fix: diff -r b5e3ec9c69fa agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java --- a/agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java Mon Feb 18 12:49:53 2013 +0100 +++ b/agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java Tue Feb 19 16:43:45 2013 +0800 @@ -1132,6 +1132,10 @@ Klass klass = null; if (t.countTokens() == 1) { klass = SystemDictionaryHelper.findInstanceKlass(t.nextToken()); + if(klass == null) { + out.println("No such type."); + return; + } } while (base != null && base.lessThan(end)) { long step = stride; And the effect will be: hsdb> scanoops 0x0000000758600000 0x000000075860ffff com/taobao/Test No such type. Regards, Yunda ________________________________ This email (including any attachments) is confidential and may be legally privileged. If you received this email in error, please delete it immediately and do not copy it or use it for any purpose or disclose its contents to any other person. Thank you. ??????(????????????)?????????????????????????????????????????????????????????????????????????????????????????????????????????? ?????????????????????????????????? ________________________________ This email (including any attachments) is confidential and may be legally privileged. If you received this email in error, please delete it immediately and do not copy it or use it for any purpose or disclose its contents to any other person. Thank you. ??????(????????????)???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130222/a2fe4414/attachment-0001.html From lana.steuck at oracle.com Thu Feb 21 19:39:08 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Fri, 22 Feb 2013 03:39:08 +0000 Subject: hg: jdk8/tl: 9 new changesets Message-ID: <20130222033909.2CDA947C63@hg.openjdk.java.net> Changeset: ffb4d2e95140 Author: erikj Date: 2013-02-15 10:40 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/rev/ffb4d2e95140 8005879: Add -DMAC_OS_X_VERSION_MAX_ALLOWED=1070 to builds on Mac Reviewed-by: ohair ! common/autoconf/generated-configure.sh ! common/autoconf/spec.gmk.in ! common/autoconf/toolchain.m4 Changeset: b0642df54d63 Author: erikj Date: 2013-02-18 10:46 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/rev/b0642df54d63 Merge Changeset: b80abec66e70 Author: bpatel Date: 2013-01-21 00:29 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/rev/b80abec66e70 8006124: javadoc/doclet should be updated to support profiles Reviewed-by: jjg, dholmes ! common/makefiles/javadoc/Javadoc.gmk Changeset: 7ed0c9db6943 Author: dholmes Date: 2013-01-21 01:50 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/rev/7ed0c9db6943 8004265: Add build support for Compact Profiles Reviewed-by: erikj, ohair ! NewMakefile.gmk ! common/autoconf/generated-configure.sh ! common/makefiles/Main.gmk Changeset: 2f8fd30f02e6 Author: dholmes Date: 2013-01-22 19:30 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/rev/2f8fd30f02e6 Merge ! common/autoconf/generated-configure.sh Changeset: bebeaa04ab8e Author: dholmes Date: 2013-02-04 18:08 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/rev/bebeaa04ab8e Merge ! common/autoconf/generated-configure.sh ! common/makefiles/javadoc/Javadoc.gmk Changeset: 28071e4ca1de Author: dholmes Date: 2013-02-17 16:44 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/rev/28071e4ca1de Merge ! common/autoconf/generated-configure.sh ! common/makefiles/Main.gmk Changeset: fd1a5574cf68 Author: dholmes Date: 2013-02-18 15:35 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/rev/fd1a5574cf68 Merge ! common/autoconf/generated-configure.sh Changeset: b70196e01c53 Author: lana Date: 2013-02-21 17:39 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/b70196e01c53 Merge From lana.steuck at oracle.com Thu Feb 21 19:39:30 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Fri, 22 Feb 2013 03:39:30 +0000 Subject: hg: jdk8/tl/langtools: 5 new changesets Message-ID: <20130222033945.E1B3A47C64@hg.openjdk.java.net> Changeset: 5f0731e4e5e6 Author: bpatel Date: 2013-01-21 00:45 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/5f0731e4e5e6 8006124: javadoc/doclet should be updated to support profiles Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractPackageIndexWriter.java + src/share/classes/com/sun/tools/doclets/formats/html/AbstractProfileIndexWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/FrameOutputWriter.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/PackageIndexFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java + src/share/classes/com/sun/tools/doclets/formats/html/ProfileIndexFrameWriter.java + src/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageFrameWriter.java + src/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageIndexFrameWriter.java + src/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageWriterImpl.java + src/share/classes/com/sun/tools/doclets/formats/html/ProfileWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/WriterFactoryImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlConstants.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties ! src/share/classes/com/sun/tools/doclets/internal/toolkit/AbstractDoclet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java + src/share/classes/com/sun/tools/doclets/internal/toolkit/ProfilePackageSummaryWriter.java + src/share/classes/com/sun/tools/doclets/internal/toolkit/ProfileSummaryWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/WriterFactory.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/BuilderFactory.java + src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ProfilePackageSummaryBuilder.java + src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ProfileSummaryBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclet.xml ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets.properties ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/stylesheet.css ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocPaths.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MetaKeywords.java + test/com/sun/javadoc/testProfiles/TestProfiles.java + test/com/sun/javadoc/testProfiles/pkg1/Class1Pkg1.java + test/com/sun/javadoc/testProfiles/pkg1/Class2Pkg1.java + test/com/sun/javadoc/testProfiles/pkg1/Class3Pkg1.java + test/com/sun/javadoc/testProfiles/pkg1/Interface1Pkg1.java + test/com/sun/javadoc/testProfiles/pkg2/Anno1Pkg2.java + test/com/sun/javadoc/testProfiles/pkg2/Anno2Pkg2.java + test/com/sun/javadoc/testProfiles/pkg2/Class1Pkg2.java + test/com/sun/javadoc/testProfiles/pkg3/Class1Pkg3.java + test/com/sun/javadoc/testProfiles/pkg3/Class2Pkg3.java + test/com/sun/javadoc/testProfiles/pkg3/Interface1Pkg3.java + test/com/sun/javadoc/testProfiles/pkg4/Anno1Pkg4.java + test/com/sun/javadoc/testProfiles/pkg4/Class1Pkg4.java + test/com/sun/javadoc/testProfiles/pkg5/Class1Pkg5.java + test/com/sun/javadoc/testProfiles/pkg5/Interface1Pkg5.java + test/com/sun/javadoc/testProfiles/profile-rtjar-includes.txt Changeset: 475eb15dfdad Author: jjg Date: 2013-01-21 01:27 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/475eb15dfdad 8004182: Add support for profiles in javac Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Symtab.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/jvm/ClassReader.java + src/share/classes/com/sun/tools/javac/jvm/Profile.java ! src/share/classes/com/sun/tools/javac/jvm/Target.java ! src/share/classes/com/sun/tools/javac/main/Main.java ! src/share/classes/com/sun/tools/javac/main/Option.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/resources/javac.properties ! src/share/classes/com/sun/tools/javac/sym/CreateSymbols.java + src/share/classes/com/sun/tools/javac/sym/Profiles.java ! src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java + test/tools/javac/diags/examples/NotInProfile.java + test/tools/javac/profiles/ProfileOptionTest.java Changeset: f91144b7da75 Author: dholmes Date: 2013-02-04 18:08 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/f91144b7da75 Merge ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets.properties ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Symtab.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/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java - test/tools/javac/annotations/repeatingAnnotations/MissingContainedBy.java - test/tools/javac/annotations/repeatingAnnotations/MissingContainerFor.java - test/tools/javac/annotations/repeatingAnnotations/UseWrongContainedBy.java - test/tools/javac/annotations/repeatingAnnotations/UseWrongContainerFor.java - test/tools/javac/annotations/repeatingAnnotations/WrongContainedBy.java - test/tools/javac/annotations/repeatingAnnotations/WrongContainerFor.java - test/tools/javac/diags/examples/ContainedByDocumentedMismatch.java - test/tools/javac/diags/examples/ContainedByInheritedMismatch.java - test/tools/javac/diags/examples/ContainedByNoValue.java - test/tools/javac/diags/examples/ContainedByNonDefault.java - test/tools/javac/diags/examples/ContainedByRetentionMismatch.java - test/tools/javac/diags/examples/ContainedByTargetMismatch.java - test/tools/javac/diags/examples/ContainedByWrongValueType.java - test/tools/javac/diags/examples/InferredDoNotConformToLower.java - test/tools/javac/diags/examples/NoUniqueMaximalInstance.java - test/tools/javac/diags/examples/WrongContainedBy.java - test/tools/javac/diags/examples/WrongContainerFor.java - test/tools/javac/lambda/MethodReference26.out - test/tools/javac/lambda/TargetType06.out - test/tools/javac/lambda/TargetType11.out - test/tools/javac/lambda/TargetType45.out - test/tools/javac/lambda/VoidCompatibility.out - test/tools/javac/typeAnnotations/newlocations/BasicTest.java - test/tools/javac/typeAnnotations/newlocations/BasicTest.out Changeset: af8417e590f4 Author: dholmes Date: 2013-02-17 16:44 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/af8417e590f4 Merge ! src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java ! src/share/classes/com/sun/tools/javac/code/Flags.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/jvm/ClassReader.java - test/tools/javac/lambda/TargetType20.out - test/tools/javac/lambda/TargetType50.out Changeset: 6118072811e5 Author: lana Date: 2013-02-21 17:49 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/6118072811e5 Merge ! src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Symtab.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/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties From lana.steuck at oracle.com Thu Feb 21 19:40:45 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Fri, 22 Feb 2013 03:40:45 +0000 Subject: hg: jdk8/tl/jdk: 23 new changesets Message-ID: <20130222034515.E3E2847C65@hg.openjdk.java.net> Changeset: 90707943f83c Author: erikj Date: 2013-02-15 10:41 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/90707943f83c 8005879: Add -DMAC_OS_X_VERSION_MAX_ALLOWED=1070 to builds on Mac Reviewed-by: ohair ! make/common/Defs-macosx.gmk Changeset: 9a693ebd5595 Author: erikj Date: 2013-02-18 10:48 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/9a693ebd5595 Merge - src/macosx/classes/sun/lwawt/macosx/EventDispatchAccess.java - src/share/classes/java/time/PeriodParser.java - src/share/classes/java/time/calendar/ChronoDateImpl.java - src/share/classes/java/time/calendar/HijrahChrono.java - src/share/classes/java/time/calendar/HijrahDate.java - src/share/classes/java/time/calendar/HijrahDeviationReader.java - src/share/classes/java/time/calendar/HijrahEra.java - src/share/classes/java/time/calendar/JapaneseChrono.java - src/share/classes/java/time/calendar/JapaneseDate.java - src/share/classes/java/time/calendar/JapaneseEra.java - src/share/classes/java/time/calendar/MinguoChrono.java - src/share/classes/java/time/calendar/MinguoDate.java - src/share/classes/java/time/calendar/MinguoEra.java - src/share/classes/java/time/calendar/Ser.java - src/share/classes/java/time/calendar/ThaiBuddhistChrono.java - src/share/classes/java/time/calendar/ThaiBuddhistDate.java - src/share/classes/java/time/calendar/ThaiBuddhistEra.java - src/share/classes/java/time/calendar/package-info.java - src/share/classes/java/time/format/DateTimeFormatters.java - src/share/classes/java/time/format/DateTimePrintException.java - src/share/classes/java/time/temporal/Chrono.java - src/share/classes/java/time/temporal/ChronoLocalDate.java - src/share/classes/java/time/temporal/ChronoLocalDateTime.java - src/share/classes/java/time/temporal/ChronoLocalDateTimeImpl.java - src/share/classes/java/time/temporal/ChronoZonedDateTime.java - src/share/classes/java/time/temporal/ChronoZonedDateTimeImpl.java - src/share/classes/java/time/temporal/Era.java - src/share/classes/java/time/temporal/ISOChrono.java - src/share/classes/java/time/temporal/ISOEra.java - src/share/classes/java/time/temporal/ISOFields.java - src/share/classes/java/time/temporal/MonthDay.java - src/share/classes/java/time/temporal/OffsetDate.java - src/share/classes/java/time/temporal/OffsetDateTime.java - src/share/classes/java/time/temporal/OffsetTime.java - src/share/classes/java/time/temporal/Ser.java - src/share/classes/java/time/temporal/SimplePeriod.java - src/share/classes/java/time/temporal/TemporalAdder.java - src/share/classes/java/time/temporal/TemporalSubtractor.java - src/share/classes/java/time/temporal/Year.java - src/share/classes/java/time/temporal/YearMonth.java - src/share/classes/sun/util/calendar/TzIDOldMapping.java - test/java/time/META-INF/services/java.time.temporal.Chrono - test/java/time/tck/java/time/calendar/CopticChrono.java - test/java/time/tck/java/time/calendar/CopticDate.java - test/java/time/tck/java/time/calendar/CopticEra.java - test/java/time/tck/java/time/calendar/TestChronoLocalDate.java - test/java/time/tck/java/time/calendar/TestChronoLocalDateTime.java - test/java/time/tck/java/time/calendar/TestHijrahChrono.java - test/java/time/tck/java/time/calendar/TestJapaneseChrono.java - test/java/time/tck/java/time/calendar/TestMinguoChrono.java - test/java/time/tck/java/time/calendar/TestServiceLoader.java - test/java/time/tck/java/time/calendar/TestThaiBuddhistChrono.java - test/java/time/tck/java/time/format/TCKDateTimePrintException.java - test/java/time/tck/java/time/temporal/TCKISOFields.java - test/java/time/tck/java/time/temporal/TCKMonthDay.java - test/java/time/tck/java/time/temporal/TCKOffsetDate.java - test/java/time/tck/java/time/temporal/TCKOffsetDateTime.java - test/java/time/tck/java/time/temporal/TCKOffsetTime.java - test/java/time/tck/java/time/temporal/TCKSimplePeriod.java - test/java/time/tck/java/time/temporal/TCKYear.java - test/java/time/tck/java/time/temporal/TCKYearMonth.java - test/java/time/tck/java/time/temporal/TestChrono.java - test/java/time/tck/java/time/temporal/TestISOChrono.java - test/java/time/test/java/time/TestPeriodParser.java - test/java/time/test/java/time/format/TestDateTimeFormatters.java - test/java/time/test/java/time/format/TestDateTimePrintException.java - test/java/time/test/java/time/format/TestPadParserDecorator.java - test/java/time/test/java/time/format/TestZoneIdParser.java - test/java/time/test/java/time/temporal/TestISOChronoImpl.java - test/java/time/test/java/time/temporal/TestMonthDay.java - test/java/time/test/java/time/temporal/TestOffsetDate.java - test/java/time/test/java/time/temporal/TestOffsetDateTime.java - test/java/time/test/java/time/temporal/TestOffsetDateTime_instants.java - test/java/time/test/java/time/temporal/TestOffsetTime.java - test/java/time/test/java/time/temporal/TestYear.java - test/java/time/test/java/time/temporal/TestYearMonth.java Changeset: fb7e3edf22b2 Author: erikj Date: 2013-02-18 11:26 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/fb7e3edf22b2 8008294: build-infra: Build-infra closed fails on solaris 11.1 Reviewed-by: ohrstrom, dholmes, tbell ! makefiles/CompileDemos.gmk ! makefiles/CompileNativeLibraries.gmk Changeset: a23b0df73324 Author: erikj Date: 2013-02-18 11:27 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a23b0df73324 8008295: build-infra: Cleanup in Import.gmk Reviewed-by: ohrstrom, tbell ! makefiles/Import.gmk Changeset: 32549d339437 Author: bpatel Date: 2013-01-21 00:31 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/32549d339437 8006124: javadoc/doclet should be updated to support profiles Reviewed-by: jjg, dholmes ! make/docs/Makefile Changeset: 80afadbf967d Author: alanb Date: 2013-01-21 01:46 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/80afadbf967d 8004182: Add support for profiles in javac Reviewed-by: dholmes ! make/common/Release.gmk Changeset: 353b88963430 Author: dholmes Date: 2013-01-21 21:54 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/353b88963430 8006651: build-infra: Import.gmk needs to add support for the minimal VM Reviewed-by: erikj, ohair ! makefiles/Import.gmk Changeset: 7096f51288ab Author: dholmes Date: 2013-01-21 23:17 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/7096f51288ab 8004265: Add build support for Compact Profiles Reviewed-by: erikj, ohair ! make/tools/src/build/tools/jarreorder/JarReorder.java ! makefiles/BuildJdk.gmk ! makefiles/CreateJars.gmk ! makefiles/Images.gmk + makefiles/ProfileNames.gmk + makefiles/Profiles.gmk Changeset: ccd0aceb1190 Author: alanb Date: 2013-01-21 23:20 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ccd0aceb1190 8003255: (profiles) Update JAR file specification to support profiles Reviewed-by: dholmes, mchung, ksrini ! src/share/classes/java/net/URLClassLoader.java ! src/share/classes/java/util/jar/Attributes.java + src/share/classes/java/util/jar/UnsupportedProfileException.java ! src/share/classes/sun/launcher/LauncherHelper.java ! src/share/classes/sun/launcher/resources/launcher.properties ! src/share/classes/sun/misc/URLClassPath.java ! src/share/classes/sun/tools/jar/Main.java ! src/share/classes/sun/tools/jar/resources/jar.properties + test/java/net/URLClassLoader/profiles/Basic.java + test/java/net/URLClassLoader/profiles/Lib.java + test/java/net/URLClassLoader/profiles/basic.sh + test/tools/jar/AddAndUpdateProfile.java + test/tools/launcher/profiles/Basic.java + test/tools/launcher/profiles/Logging.java + test/tools/launcher/profiles/Main.java Changeset: c024147205f6 Author: alanb Date: 2013-01-21 23:21 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c024147205f6 8003256: (profiles) Add support for profile identification Reviewed-by: dholmes, mchung, ksrini ! make/java/version/Makefile ! makefiles/GensrcMisc.gmk ! src/share/classes/sun/misc/Version.java.template + test/tools/launcher/profiles/VersionCheck.java Changeset: 4b3434f5f509 Author: alanb Date: 2013-01-21 23:23 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/4b3434f5f509 8004931: add/removePropertyChangeListener should not exist in subset Profiles of Java SE Reviewed-by: dholmes, mchung, ksrini + make/tools/src/build/tools/RemoveMethods.java ! makefiles/Tools.gmk ! src/share/classes/java/util/jar/Pack200.java ! src/share/classes/java/util/logging/LogManager.java + test/java/util/logging/Reflect.java + test/tools/pack200/NoBeans.java + test/tools/pack200/Reflect.java Changeset: d9cfe581c8fe Author: alanb Date: 2013-01-21 23:35 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/d9cfe581c8fe 8004502: Compact Profiles contents Reviewed-by: dholmes, mchung + makefiles/profile-includes.txt + makefiles/profile-rtjar-includes.txt + test/java/lang/SecurityManager/NoAWT.java + test/java/security/cert/CertStore/NoLDAP.java + test/javax/management/remote/mandatory/connection/NoIIOP.java + test/javax/naming/InitialContext/NoApplet.java + test/sun/net/www/protocol/http/NoNTLM.java + test/sun/security/ssl/sanity/ciphersuites/NoKerberos.java Changeset: d1b29d290ebd Author: dholmes Date: 2013-01-22 19:31 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/d1b29d290ebd Merge Changeset: 0918d6d9c18b Author: dholmes Date: 2013-01-22 20:04 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0918d6d9c18b 8006667: Merge issue: Profile attribute need to be examined before custom attributes Summary: swap profile checking and FXHelper checking Reviewed-by: alanb ! src/share/classes/sun/launcher/LauncherHelper.java Changeset: 77668918a388 Author: dholmes Date: 2013-02-04 18:08 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/77668918a388 Merge ! make/docs/Makefile ! makefiles/CreateJars.gmk ! makefiles/GensrcMisc.gmk ! makefiles/Tools.gmk ! src/share/classes/sun/misc/URLClassPath.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/CallbackInterface.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/Callback_Stub.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup_Stub.java Changeset: f308a689c049 Author: dholmes Date: 2013-02-17 16:44 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f308a689c049 Merge ! makefiles/Tools.gmk - src/macosx/classes/sun/lwawt/macosx/EventDispatchAccess.java - src/share/classes/java/lang/annotation/ContainedBy.java - src/share/classes/java/lang/annotation/ContainerFor.java - src/share/classes/java/time/PeriodParser.java - src/share/classes/java/time/calendar/ChronoDateImpl.java - src/share/classes/java/time/calendar/HijrahChrono.java - src/share/classes/java/time/calendar/HijrahDate.java - src/share/classes/java/time/calendar/HijrahDeviationReader.java - src/share/classes/java/time/calendar/HijrahEra.java - src/share/classes/java/time/calendar/JapaneseChrono.java - src/share/classes/java/time/calendar/JapaneseDate.java - src/share/classes/java/time/calendar/JapaneseEra.java - src/share/classes/java/time/calendar/MinguoChrono.java - src/share/classes/java/time/calendar/MinguoDate.java - src/share/classes/java/time/calendar/MinguoEra.java - src/share/classes/java/time/calendar/Ser.java - src/share/classes/java/time/calendar/ThaiBuddhistChrono.java - src/share/classes/java/time/calendar/ThaiBuddhistDate.java - src/share/classes/java/time/calendar/ThaiBuddhistEra.java - src/share/classes/java/time/calendar/package-info.java - src/share/classes/java/time/format/DateTimeFormatters.java - src/share/classes/java/time/format/DateTimePrintException.java - src/share/classes/java/time/temporal/Chrono.java - src/share/classes/java/time/temporal/ChronoLocalDate.java - src/share/classes/java/time/temporal/ChronoLocalDateTime.java - src/share/classes/java/time/temporal/ChronoLocalDateTimeImpl.java - src/share/classes/java/time/temporal/ChronoZonedDateTime.java - src/share/classes/java/time/temporal/ChronoZonedDateTimeImpl.java - src/share/classes/java/time/temporal/Era.java - src/share/classes/java/time/temporal/ISOChrono.java - src/share/classes/java/time/temporal/ISOEra.java - src/share/classes/java/time/temporal/ISOFields.java - src/share/classes/java/time/temporal/MonthDay.java - src/share/classes/java/time/temporal/OffsetDate.java - src/share/classes/java/time/temporal/OffsetDateTime.java - src/share/classes/java/time/temporal/OffsetTime.java - src/share/classes/java/time/temporal/Ser.java - src/share/classes/java/time/temporal/SimplePeriod.java - src/share/classes/java/time/temporal/TemporalAdder.java - src/share/classes/java/time/temporal/TemporalSubtractor.java - src/share/classes/java/time/temporal/Year.java - src/share/classes/java/time/temporal/YearMonth.java - src/share/classes/sun/util/calendar/TzIDOldMapping.java - test/java/net/URL/abnormal_http_urls - test/java/net/URL/ftp_urls - test/java/net/URL/jar_urls - test/java/net/URL/normal_http_urls - test/java/net/URL/runconstructor.sh - test/java/net/URL/share_file_urls - test/java/net/URL/win32_file_urls - test/java/time/META-INF/services/java.time.temporal.Chrono - test/java/time/tck/java/time/calendar/CopticChrono.java - test/java/time/tck/java/time/calendar/CopticDate.java - test/java/time/tck/java/time/calendar/CopticEra.java - test/java/time/tck/java/time/calendar/TestChronoLocalDate.java - test/java/time/tck/java/time/calendar/TestChronoLocalDateTime.java - test/java/time/tck/java/time/calendar/TestHijrahChrono.java - test/java/time/tck/java/time/calendar/TestJapaneseChrono.java - test/java/time/tck/java/time/calendar/TestMinguoChrono.java - test/java/time/tck/java/time/calendar/TestServiceLoader.java - test/java/time/tck/java/time/calendar/TestThaiBuddhistChrono.java - test/java/time/tck/java/time/format/TCKDateTimePrintException.java - test/java/time/tck/java/time/temporal/TCKISOFields.java - test/java/time/tck/java/time/temporal/TCKMonthDay.java - test/java/time/tck/java/time/temporal/TCKOffsetDate.java - test/java/time/tck/java/time/temporal/TCKOffsetDateTime.java - test/java/time/tck/java/time/temporal/TCKOffsetTime.java - test/java/time/tck/java/time/temporal/TCKSimplePeriod.java - test/java/time/tck/java/time/temporal/TCKYear.java - test/java/time/tck/java/time/temporal/TCKYearMonth.java - test/java/time/tck/java/time/temporal/TestChrono.java - test/java/time/tck/java/time/temporal/TestISOChrono.java - test/java/time/test/java/time/TestPeriodParser.java - test/java/time/test/java/time/format/TestDateTimeFormatters.java - test/java/time/test/java/time/format/TestDateTimePrintException.java - test/java/time/test/java/time/format/TestPadParserDecorator.java - test/java/time/test/java/time/format/TestZoneIdParser.java - test/java/time/test/java/time/temporal/TestISOChronoImpl.java - test/java/time/test/java/time/temporal/TestMonthDay.java - test/java/time/test/java/time/temporal/TestOffsetDate.java - test/java/time/test/java/time/temporal/TestOffsetDateTime.java - test/java/time/test/java/time/temporal/TestOffsetDateTime_instants.java - test/java/time/test/java/time/temporal/TestOffsetTime.java - test/java/time/test/java/time/temporal/TestYear.java - test/java/time/test/java/time/temporal/TestYearMonth.java - test/sun/net/www/EncDec.doc - test/sun/net/www/MarkResetTest.java - test/sun/net/www/MarkResetTest.sh - test/sun/security/util/Oid/S11N.sh - test/sun/security/util/Oid/SerialTest.java Changeset: 16c684b2ab82 Author: alanb Date: 2013-02-18 08:57 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/16c684b2ab82 8007436: (profiles) Add JSR-310 to Compact Profiles contents Reviewed-by: dholmes, erikj ! makefiles/profile-includes.txt ! makefiles/profile-rtjar-includes.txt Changeset: c24bc91caa67 Author: dholmes Date: 2013-02-18 15:35 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c24bc91caa67 Merge ! makefiles/Import.gmk Changeset: b46c75e221c7 Author: dholmes Date: 2013-02-19 06:27 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/b46c75e221c7 8008424: Isolate PROFILE make variable from incidental setting in the environment Reviewed-by: erikj, alanb ! makefiles/BuildJdk.gmk Changeset: 6f4615fd32da Author: alanb Date: 2013-02-19 11:08 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/6f4615fd32da 8007097: (profiles) Build needs test to ensure that profile definitions are updated Reviewed-by: dholmes, erikj - make/tools/src/build/tools/RemoveMethods.java + make/tools/src/build/tools/classfile/RemoveMethods.java + make/tools/src/build/tools/deps/CheckDeps.java + make/tools/src/build/tools/deps/refs.allowed ! makefiles/Images.gmk ! makefiles/Tools.gmk ! makefiles/profile-rtjar-includes.txt Changeset: 033f2707ef32 Author: alanb Date: 2013-02-19 11:32 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/033f2707ef32 Merge Changeset: 00b7535d743f Author: dholmes Date: 2013-02-19 17:32 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/00b7535d743f 8008481: Dependency analyzer needs exclusion for profile builds with JFR disabled Reviewed-by: alanb ! make/tools/src/build/tools/deps/refs.allowed Changeset: 03db11a7fb8e Author: lana Date: 2013-02-21 17:43 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/03db11a7fb8e Merge From coleen.phillimore at oracle.com Thu Feb 21 21:09:49 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Fri, 22 Feb 2013 00:09:49 -0500 Subject: Request for review: 8000797: NPG: is_pseudo_string_at() doesn't work In-Reply-To: <50E59DA5-1F3E-4A7E-8F83-A6AF970DF6C2@oracle.com> References: <51157551.4040000@oracle.com> <512513F6.3020404@oracle.com> <51259E61.4060706@oracle.com> <50E59DA5-1F3E-4A7E-8F83-A6AF970DF6C2@oracle.com> Message-ID: <5126FD9D.2000302@oracle.com> I'm sorry about this but I need one more review. I omitted one instance of JVM_CONSTANT_Object in templateTable_sparc.cpp and I forgot that you can't make any edit to the VM without making a duplicate edit to the serviceability agent. open webrev at http://cr.openjdk.java.net/~coleenp/8000797_3/ Reran runThese jcks and sajdi and mlvm tests on solaris/sparc. Thanks, Coleen On 2/21/2013 6:22 PM, John Rose wrote: > On Feb 20, 2013, at 8:11 PM, Coleen Phillimore > > > wrote: > >> Thanks to John's feedback, I've modified this change again to revert >> back to my original change to zero out the Symbol* to indicate pseudo >> string (could be thought of as "patched string"). Also cleaned up >> unused constant pool Object constant and unused flags. Reran all >> the tests. >> >> http://cr.openjdk.java.net/~coleenp/8000797_2/ >> > > Good; lots of nice deletions. You can use me as a reviewer. ? John -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130222/03a2f243/attachment.html From serguei.spitsyn at oracle.com Thu Feb 21 22:52:37 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Thu, 21 Feb 2013 22:52:37 -0800 Subject: Request for review: 8000797: NPG: is_pseudo_string_at() doesn't work In-Reply-To: <5126FD9D.2000302@oracle.com> References: <51157551.4040000@oracle.com> <512513F6.3020404@oracle.com> <51259E61.4060706@oracle.com> <50E59DA5-1F3E-4A7E-8F83-A6AF970DF6C2@oracle.com> <5126FD9D.2000302@oracle.com> Message-ID: <512715B5.9030203@oracle.com> Nice catch. Looks good. Thanks, Serguei On 2/21/13 9:09 PM, Coleen Phillimore wrote: > > I'm sorry about this but I need one more review. I omitted one > instance of JVM_CONSTANT_Object in templateTable_sparc.cpp and I > forgot that you can't make any edit to the VM without making a > duplicate edit to the serviceability agent. > > open webrev at http://cr.openjdk.java.net/~coleenp/8000797_3/ > > Reran runThese jcks and sajdi and mlvm tests on solaris/sparc. > > Thanks, > Coleen > > On 2/21/2013 6:22 PM, John Rose wrote: >> On Feb 20, 2013, at 8:11 PM, Coleen Phillimore >> > >> wrote: >> >>> Thanks to John's feedback, I've modified this change again to revert >>> back to my original change to zero out the Symbol* to indicate >>> pseudo string (could be thought of as "patched string"). Also >>> cleaned up unused constant pool Object constant and unused flags. >>> Reran all the tests. >>> >>> http://cr.openjdk.java.net/~coleenp/8000797_2/ >>> >> >> Good; lots of nice deletions. You can use me as a reviewer. ? John > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130221/c9ce57e5/attachment.html From chris.hegarty at oracle.com Fri Feb 22 00:54:06 2013 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Fri, 22 Feb 2013 08:54:06 +0000 Subject: 8008662: Add @jdk.Supported to JDK-specific/supported API In-Reply-To: <51266B7C.3040804@oracle.com> References: <51266B7C.3040804@oracle.com> Message-ID: <5127322E.8070809@oracle.com> Thank you Alan, this will clear up a lot of issues surrounding these API's. I skimmed over the changes, paying particular attention to the httpserver and sctp packages. -Chris. On 02/21/2013 06:46 PM, Alan Bateman wrote: > > Joe Darcy recently added @jdk.Supported [1] to make it possible to > identify JDK-specific APIs. > > I'd like to add this to a number of APIs in the com.sun namespace to > make it obvious these are "supported". Specifically I'm proposing to > add it to: > > - Java Debug Interface (com.sun.jdi) > - Attach API (com.sun.tools.attach) > - SCTP API (com.sun.nio.sctp) > - HTTP server API (com.sun.net.httpserver) > - Management extensions (com.sun.management) > - JDK-specific API to JAAS (com.sun.security.auth) > - JDK-specific JGSS API (com.sun.security.jgss) > > The javadoc for all of these is generated as part of the regular JDK > "docs" build and so shouldn't be controversial. There are a number of > other candidates in com.sun with murkier status that I've stayed clear > of for now. > > The webrev with the changes is here: > > http://cr.openjdk.java.net/~alanb/8008662/webrev/ > > In a couple of cases the package description is legacy package.html so > I've had to move/convert them to package-info.java. > > In all but one case I've added the annotation to the package-info, the > one exception is com.sun.management where there is at least one type > that is documented as "not supported". Joe Darcy might have suggestions > on that. > > Otherwise this is mostly mechanical and the patch file is easier to > review that the webrev. > > -Alan > > [1] http://hg.openjdk.java.net/jdk8/tl/langtools/rev/55cca2f38ee6 From markus.gronlund at oracle.com Fri Feb 22 01:03:08 2013 From: markus.gronlund at oracle.com (=?iso-8859-1?B?TWFya3VzIEdy9m5sdW5k?=) Date: Fri, 22 Feb 2013 01:03:08 -0800 (PST) Subject: RFR(M): 7165259 Remove BugSpot In-Reply-To: <9496CFBE-4F80-490A-9A07-C2B58447F532@oracle.com> References: <9496CFBE-4F80-490A-9A07-C2B58447F532@oracle.com> Message-ID: Hi Staffan, Looks good (not a Reviewer). Thanks for taking on this cleanup. Markus -----Original Message----- From: Staffan Larsen Sent: den 21 februari 2013 16:39 To: serviceability-dev at openjdk.java.net serviceability-dev at openjdk.java.net; hotspot-dev at openjdk.java.net Developers Subject: RFR(M): 7165259 Remove BugSpot Please review the following change to remove the BugSpot UI for the Serviceability Agent. My understanding is that BugSpot was intended as a more general native debugger not only focused on the JVM, but that it was never fully implemented. I don't think there is a need for a general-purpose debugger in SA and would like to clean up the code. One effect of this change is that PStack and PMap will no longer be able to operate on executables other than the JVM. This change was first proposed last year in this thread: http://mail.openjdk.java.net/pipermail/serviceability-dev/2012-April/005811.html This change also removes some old JVMDI code in SA (JVMDI is no longer supported in HotSpot). bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7165259 webrev: http://cr.openjdk.java.net/~sla/7165259/webrev.00/ Thanks, /Staffan From staffan.larsen at oracle.com Fri Feb 22 01:07:08 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Fri, 22 Feb 2013 10:07:08 +0100 Subject: RFR(M): 7165259 Remove BugSpot In-Reply-To: References: <9496CFBE-4F80-490A-9A07-C2B58447F532@oracle.com> Message-ID: <0F14BCF9-CF02-4F48-A8A3-3C0B26B6507F@oracle.com> Coleen, Markus: Thanks! On 22 feb 2013, at 10:03, Markus Gr?nlund wrote: > Hi Staffan, > > Looks good (not a Reviewer). > > Thanks for taking on this cleanup. > > Markus > > -----Original Message----- > From: Staffan Larsen > Sent: den 21 februari 2013 16:39 > To: serviceability-dev at openjdk.java.net serviceability-dev at openjdk.java.net; hotspot-dev at openjdk.java.net Developers > Subject: RFR(M): 7165259 Remove BugSpot > > Please review the following change to remove the BugSpot UI for the Serviceability Agent. My understanding is that BugSpot was intended as a more general native debugger not only focused on the JVM, but that it was never fully implemented. I don't think there is a need for a general-purpose debugger in SA and would like to clean up the code. One effect of this change is that PStack and PMap will no longer be able to operate on executables other than the JVM. > > This change was first proposed last year in this thread: http://mail.openjdk.java.net/pipermail/serviceability-dev/2012-April/005811.html > > This change also removes some old JVMDI code in SA (JVMDI is no longer supported in HotSpot). > > > bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7165259 > > webrev: http://cr.openjdk.java.net/~sla/7165259/webrev.00/ > > > Thanks, > /Staffan From krystal.mo at oracle.com Fri Feb 22 01:27:43 2013 From: krystal.mo at oracle.com (Krystal Mo) Date: Fri, 22 Feb 2013 01:27:43 -0800 Subject: RFR(M): 7165259 Remove BugSpot In-Reply-To: <9496CFBE-4F80-490A-9A07-C2B58447F532@oracle.com> References: <9496CFBE-4F80-490A-9A07-C2B58447F532@oracle.com> Message-ID: <51273A0F.5080204@oracle.com> Hi Staffan, Looks good to me (not a Reviewer). I had a slight hope in that someday we'll be able to morph Serviceability Agent into what it was meant to be -- a full-fledged mixed-mode debugger for HotSpot. But with the current resources available, I guess we'll just have to accept that it's not going to happen... So I'm alright with this change. Thanks, Kris On 2013/2/21 7:38, Staffan Larsen wrote: > Please review the following change to remove the BugSpot UI for the Serviceability Agent. My understanding is that BugSpot was intended as a more general native debugger not only focused on the JVM, but that it was never fully implemented. I don't think there is a need for a general-purpose debugger in SA and would like to clean up the code. One effect of this change is that PStack and PMap will no longer be able to operate on executables other than the JVM. > > This change was first proposed last year in this thread: http://mail.openjdk.java.net/pipermail/serviceability-dev/2012-April/005811.html > > This change also removes some old JVMDI code in SA (JVMDI is no longer supported in HotSpot). > > > bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7165259 > > webrev: http://cr.openjdk.java.net/~sla/7165259/webrev.00/ > > > Thanks, > /Staffan From staffan.larsen at oracle.com Fri Feb 22 01:41:31 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Fri, 22 Feb 2013 10:41:31 +0100 Subject: RFR(M): 7165259 Remove BugSpot In-Reply-To: <51273A0F.5080204@oracle.com> References: <9496CFBE-4F80-490A-9A07-C2B58447F532@oracle.com> <51273A0F.5080204@oracle.com> Message-ID: <12027490-7DF5-4CA1-913C-50A4AD418486@oracle.com> Thanks Kris! Yeah, it would be a nice project to build a full-fledged debugger, but very hard to justify the resources spent :-) I think instead we should view SA as a great tool to dig out JVM-specific data from a process/core - the things a normal debugger knows nothing about. /Staffan On 22 feb 2013, at 10:27, Krystal Mo wrote: > Hi Staffan, > > Looks good to me (not a Reviewer). > > I had a slight hope in that someday we'll be able to morph Serviceability Agent into what it was meant to be -- a full-fledged mixed-mode debugger for HotSpot. > But with the current resources available, I guess we'll just have to accept that it's not going to happen... So I'm alright with this change. > > Thanks, > Kris > > On 2013/2/21 7:38, Staffan Larsen wrote: >> Please review the following change to remove the BugSpot UI for the Serviceability Agent. My understanding is that BugSpot was intended as a more general native debugger not only focused on the JVM, but that it was never fully implemented. I don't think there is a need for a general-purpose debugger in SA and would like to clean up the code. One effect of this change is that PStack and PMap will no longer be able to operate on executables other than the JVM. >> >> This change was first proposed last year in this thread: http://mail.openjdk.java.net/pipermail/serviceability-dev/2012-April/005811.html >> >> This change also removes some old JVMDI code in SA (JVMDI is no longer supported in HotSpot). >> >> >> bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7165259 >> >> webrev: http://cr.openjdk.java.net/~sla/7165259/webrev.00/ >> >> >> Thanks, >> /Staffan > From chris.hegarty at oracle.com Fri Feb 22 02:11:12 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Fri, 22 Feb 2013 10:11:12 +0000 Subject: hg: jdk8/tl/jdk: 8006182: cleanup to use java.util.Base64 in java security component, providers, and regression tests Message-ID: <20130222101139.E2A8E47C6C@hg.openjdk.java.net> Changeset: 9078c34437ab Author: msheppar Date: 2013-02-21 20:01 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/9078c34437ab 8006182: cleanup to use java.util.Base64 in java security component, providers, and regression tests Summary: Refactored code to use java.util.Base64 Mime Encoder and Decoder as a replacement for sun.misc.BASE64Encoder and sun.misc.BASE64Decoder Reviewed-by: vinnie, chegar, sherman ! src/share/classes/sun/security/pkcs10/PKCS10.java ! src/share/classes/sun/security/provider/X509Factory.java ! src/share/classes/sun/security/tools/jarsigner/Main.java ! src/share/classes/sun/security/tools/keytool/Main.java ! src/share/classes/sun/security/util/ManifestEntryVerifier.java ! src/share/classes/sun/security/util/SignatureFileVerifier.java ! src/share/classes/sun/security/x509/X509CertImpl.java ! src/share/classes/sun/tools/jar/Manifest.java ! src/share/classes/sun/tools/jar/SignatureFile.java ! test/javax/security/auth/kerberos/KerberosTixDateTest.java ! test/sun/security/krb5/auto/HttpNegotiateServer.java ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/MD2InTrustAnchor.java ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/TrustTrustedCert.java ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/BasicConstraints.java ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/SelfIssuedCert.java ! test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsClient/ProxyTunnelServer.java ! test/sun/security/ssl/javax/net/ssl/ServerName/SSLSocketSNISensitive.java ! test/sun/security/ssl/javax/net/ssl/TLSv12/DisabledShortRSAKeys.java ! test/sun/security/ssl/javax/net/ssl/TLSv12/ShortRSAKey512.java ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/ProxyTunnelServer.java From staffan.larsen at oracle.com Fri Feb 22 02:56:15 2013 From: staffan.larsen at oracle.com (staffan.larsen at oracle.com) Date: Fri, 22 Feb 2013 10:56:15 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 7165259: Remove BugSpot Message-ID: <20130222105622.2768847C6D@hg.openjdk.java.net> Changeset: 5ed317b25e23 Author: sla Date: 2013-02-22 10:03 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/5ed317b25e23 7165259: Remove BugSpot Reviewed-by: coleenp, mgronlun ! agent/make/Makefile - agent/make/bugspot.bat ! agent/make/marks_notes.html ! agent/src/os/win32/windbg/sawindbg.cpp - agent/src/share/classes/sun/jvm/hotspot/asm/amd64/AMD64FloatRegister.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpot.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpotAgent.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/JavaLineNumberInfo.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/Main.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/PCFinder.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/PackageScanner.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/RegisterPanel.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/StackTraceEntry.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/StackTracePanel.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/ThreadListPanel.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/VariablePanel.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/AddressTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/DoubleTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/EnumTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/FieldTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/FloatTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/LongTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/ObjectTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/BreakpointEvent.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/CIntegerAccessor.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/CStringAccessor.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/Event.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/ExceptionEvent.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/JNIHandleAccessor.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/ServiceabilityAgentJVMDIModule.java ! agent/src/share/classes/sun/jvm/hotspot/tools/PMap.java ! agent/src/share/classes/sun/jvm/hotspot/tools/PStack.java ! agent/src/share/classes/sun/jvm/hotspot/tools/Tool.java ! agent/src/share/classes/sun/jvm/hotspot/ui/SAPanel.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/soql/sa.js - agent/src/share/native/jvmdi/sa.cpp - agent/src/share/native/jvmdi/sa.dsp - agent/src/share/native/jvmdi/sa.dsw - agent/src/share/native/jvmdi/sa.hpp ! make/sa.files From Alan.Bateman at oracle.com Fri Feb 22 03:21:30 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 22 Feb 2013 11:21:30 +0000 Subject: 8008662: Add @jdk.Supported to JDK-specific/supported API In-Reply-To: <5126CD27.4010608@oracle.com> References: <51266B7C.3040804@oracle.com> <5126CD27.4010608@oracle.com> Message-ID: <512754BA.6020109@oracle.com> On 22/02/2013 01:43, Mandy Chung wrote: > > I wasn't aware of the unsupported com.sun.management.OSMBeanFactory > class being included in the javadoc. I think that can be fixed and > I'll file a bug and hopefully we can clean that up. Thanks, that would be good (if nothing else, this type of exercise is useful to establish where these are supported interfaces or not. This will be helpful to our modularity work too as the @Supported APIs will be exported. That does beg the question as to whether @Supported will be needed when we move to modules of course). -Alan From stefan.karlsson at oracle.com Fri Feb 22 04:19:56 2013 From: stefan.karlsson at oracle.com (stefan.karlsson at oracle.com) Date: Fri, 22 Feb 2013 12:19:56 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20130222122134.917BF47C71@hg.openjdk.java.net> Changeset: c6d77b2b4478 Author: stefank Date: 2013-01-22 13:53 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c6d77b2b4478 8006506: Add test for redefining methods in backtraces to java/lang/instrument tests Reviewed-by: sspitsyn, coleenp + test/java/lang/instrument/RedefineMethodInBacktrace.sh + test/java/lang/instrument/RedefineMethodInBacktraceAgent.java + test/java/lang/instrument/RedefineMethodInBacktraceApp.java + test/java/lang/instrument/RedefineMethodInBacktraceTarget.java + test/java/lang/instrument/RedefineMethodInBacktraceTarget_2.java Changeset: 0e93015e77f6 Author: stefank Date: 2013-01-22 15:25 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0e93015e77f6 7140852: Add test for 7022100 Reviewed-by: sspitsyn, coleenp + test/java/lang/instrument/RedefineMethodWithAnnotations.sh + test/java/lang/instrument/RedefineMethodWithAnnotationsAgent.java + test/java/lang/instrument/RedefineMethodWithAnnotationsAnnotations.java + test/java/lang/instrument/RedefineMethodWithAnnotationsApp.java + test/java/lang/instrument/RedefineMethodWithAnnotationsTarget.java + test/java/lang/instrument/RedefineMethodWithAnnotationsTarget_2.java From nils.loodin at oracle.com Fri Feb 22 05:10:02 2013 From: nils.loodin at oracle.com (Nils Loodin) Date: Fri, 22 Feb 2013 14:10:02 +0100 Subject: Fwd: RFR: 8007806: Need a Throwables performance counter In-Reply-To: <5115316A.8050109@oracle.com> References: <5115316A.8050109@oracle.com> Message-ID: <51276E2A.40402@oracle.com> Does anyone have anything strongly against this? This is a small change just to add a performance counter, the code to increment it and read it will live in other parts of the code and be a part of a larger separate commit. Alan Bateman gave the response that the name was inappropriate, but I don't really have a better alternative, but neither do I have strong opinions, so feedback would be appreciated! How about "sun.throwables.thrownThrowables" ? Regards, Nils Loodin -------- Original Message -------- Subject: RFR: 8007806: Need a Throwables performance counter Date: Fri, 08 Feb 2013 18:10:02 +0100 From: Nils Loodin To: core-libs-dev at openjdk.java.net, serviceability_dev_ww_grp It would be interesting to know the number of thrown throwables in the JVM, to be able to do some high level application diagnostics / statistics. A good way to put this number would be a performance counter, since it is accessible both from Java and from the VM. http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007806 http://cr.openjdk.java.net/~nloodin/8007806/webrev.00/ Regards, Nils Loodin From maurizio.cimadamore at oracle.com Fri Feb 22 05:32:07 2013 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 22 Feb 2013 13:32:07 +0000 Subject: hg: jdk8/tl/langtools: 8008337: Write test to check for compiler error when static method in interface is called via super() Message-ID: <20130222133212.B496F47C72@hg.openjdk.java.net> Changeset: 8e82e4f225e4 Author: mcimadamore Date: 2013-02-22 13:31 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/8e82e4f225e4 8008337: Write test to check for compiler error when static method in interface is called via super() Reviewed-by: mcimadamore Contributed-by: sonali.goel at oracle.com + test/tools/javac/lambda/StaticMethodNegTest.java + test/tools/javac/lambda/StaticMethodNegTest.out From Alan.Bateman at oracle.com Fri Feb 22 05:44:01 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 22 Feb 2013 13:44:01 +0000 Subject: Fwd: RFR: 8007806: Need a Throwables performance counter In-Reply-To: <51276E2A.40402@oracle.com> References: <5115316A.8050109@oracle.com> <51276E2A.40402@oracle.com> Message-ID: <51277621.7050407@oracle.com> On 22/02/2013 13:10, Nils Loodin wrote: > Does anyone have anything strongly against this? This is a small > change just to add a performance counter, the code to increment it and > read it will live in other parts of the code and be a part of a larger > separate commit. > > Alan Bateman gave the response that the name was inappropriate, but I > don't really have a better alternative, but neither do I have strong > opinions, so feedback would be appreciated! > > How about > "sun.throwables.thrownThrowables" ? > My comment on the counter name was mostly that sun.misc.PerfCounter isn't really the right place to create a hotspot.* counters. Using the eixsting sun.* or start a new jdk.* name space seems more appropriate. I don't have a strong opinion on the name. -Alan. From coleen.phillimore at oracle.com Fri Feb 22 05:46:11 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Fri, 22 Feb 2013 08:46:11 -0500 Subject: Request for review: 8000797: NPG: is_pseudo_string_at() doesn't work In-Reply-To: <512715B5.9030203@oracle.com> References: <51157551.4040000@oracle.com> <512513F6.3020404@oracle.com> <51259E61.4060706@oracle.com> <50E59DA5-1F3E-4A7E-8F83-A6AF970DF6C2@oracle.com> <5126FD9D.2000302@oracle.com> <512715B5.9030203@oracle.com> Message-ID: <512776A3.4060201@oracle.com> Thanks again! Coleen On 2/22/2013 1:52 AM, serguei.spitsyn at oracle.com wrote: > > Nice catch. > Looks good. > > Thanks, > Serguei > > > > On 2/21/13 9:09 PM, Coleen Phillimore wrote: >> >> I'm sorry about this but I need one more review. I omitted one >> instance of JVM_CONSTANT_Object in templateTable_sparc.cpp and I >> forgot that you can't make any edit to the VM without making a >> duplicate edit to the serviceability agent. >> >> open webrev at http://cr.openjdk.java.net/~coleenp/8000797_3/ >> >> Reran runThese jcks and sajdi and mlvm tests on solaris/sparc. >> >> Thanks, >> Coleen >> >> On 2/21/2013 6:22 PM, John Rose wrote: >>> On Feb 20, 2013, at 8:11 PM, Coleen Phillimore >>> > >>> wrote: >>> >>>> Thanks to John's feedback, I've modified this change again to >>>> revert back to my original change to zero out the Symbol* to >>>> indicate pseudo string (could be thought of as "patched string"). >>>> Also cleaned up unused constant pool Object constant and unused >>>> flags. Reran all the tests. >>>> >>>> http://cr.openjdk.java.net/~coleenp/8000797_2/ >>>> >>> >>> Good; lots of nice deletions. You can use me as a reviewer. ? John >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130222/a14495b8/attachment.html From martinrb at google.com Fri Feb 22 06:06:52 2013 From: martinrb at google.com (Martin Buchholz) Date: Fri, 22 Feb 2013 06:06:52 -0800 Subject: 8008662: Add @jdk.Supported to JDK-specific/supported API In-Reply-To: <5126D516.1040005@oracle.com> References: <51266B7C.3040804@oracle.com> <5126D516.1040005@oracle.com> Message-ID: On Thu, Feb 21, 2013 at 6:16 PM, Joe Darcy wrote: > > However, the com.sun.* subpackages are a mix of APIs that are supported as > described above as well as APIs that are not supported. I was under the impression that the general rule was that all of com.sun.* fell under the "jdk supported" umbrella, and the level of support was the distinction between sun.com.* and sun.* . In any case, it would be good if there was a single canonical place that documented the various levels of support with subtle distinctions, including java.* vs. javax.*, endorsed standards, com.sun.* vs. sun.* vs. jdk.*, and recommendations for where non-Oracle vendor extensions should go. Is the jdk.Supported annotation itself part of Java SE? Should third-party vendor extensions that are "supported" for public use by the third-party use jdk.Supported? What about the X's in hotspot flags and the java tools command line interfaces? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130222/978fb8af/attachment.html From alan.bateman at oracle.com Fri Feb 22 06:12:44 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 22 Feb 2013 14:12:44 +0000 Subject: hg: jdk8/tl/jdk: 8008290: (profiles) Startup regression due to additional checking of JAR file manifests Message-ID: <20130222141307.4732F47C73@hg.openjdk.java.net> Changeset: 63fe6a9820b6 Author: alanb Date: 2013-02-22 14:04 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/63fe6a9820b6 8008290: (profiles) Startup regression due to additional checking of JAR file manifests Reviewed-by: lancea, chegar, iris, mchung, sherman ! src/share/classes/java/util/jar/JarFile.java ! src/share/classes/java/util/jar/JavaUtilJarAccessImpl.java ! src/share/classes/sun/misc/JavaUtilJarAccess.java ! src/share/classes/sun/misc/URLClassPath.java From sean.mullan at oracle.com Fri Feb 22 06:26:55 2013 From: sean.mullan at oracle.com (Sean Mullan) Date: Fri, 22 Feb 2013 09:26:55 -0500 Subject: 8008662: Add @jdk.Supported to JDK-specific/supported API In-Reply-To: <51266B7C.3040804@oracle.com> References: <51266B7C.3040804@oracle.com> Message-ID: <5127802F.6080200@oracle.com> The security related ones look ok to me. --Sean On 02/21/2013 01:46 PM, Alan Bateman wrote: > > Joe Darcy recently added @jdk.Supported [1] to make it possible to > identify JDK-specific APIs. > > I'd like to add this to a number of APIs in the com.sun namespace to > make it obvious these are "supported". Specifically I'm proposing to > add it to: > > - Java Debug Interface (com.sun.jdi) > - Attach API (com.sun.tools.attach) > - SCTP API (com.sun.nio.sctp) > - HTTP server API (com.sun.net.httpserver) > - Management extensions (com.sun.management) > - JDK-specific API to JAAS (com.sun.security.auth) > - JDK-specific JGSS API (com.sun.security.jgss) > > The javadoc for all of these is generated as part of the regular JDK > "docs" build and so shouldn't be controversial. There are a number of > other candidates in com.sun with murkier status that I've stayed clear > of for now. > > The webrev with the changes is here: > > http://cr.openjdk.java.net/~alanb/8008662/webrev/ > > In a couple of cases the package description is legacy package.html so > I've had to move/convert them to package-info.java. > > In all but one case I've added the annotation to the package-info, the > one exception is com.sun.management where there is at least one type > that is documented as "not supported". Joe Darcy might have suggestions > on that. > > Otherwise this is mostly mechanical and the patch file is easier to > review that the webrev. > > -Alan > > [1] http://hg.openjdk.java.net/jdk8/tl/langtools/rev/55cca2f38ee6 From Alan.Bateman at oracle.com Fri Feb 22 06:37:28 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 22 Feb 2013 14:37:28 +0000 Subject: 8008662: Add @jdk.Supported to JDK-specific/supported API In-Reply-To: References: <51266B7C.3040804@oracle.com> <5126D516.1040005@oracle.com> Message-ID: <512782A8.3060202@oracle.com> On 22/02/2013 14:06, Martin Buchholz wrote: > > I was under the impression that the general rule was that all of > com.sun.* fell under the "jdk supported" umbrella, and the level of > support was the distinction between sun.com.* and sun.* . > com.sun is a mixed bag. There are lots of com.sun.*.internal that are clearly JDK internal/implementation/stay-away but several useful and documented APIs are in com.sun too (the JDK build generates the javadoc for these). In addition there are several APIs with murkier pasts, transitional APIs for areas that previous had a life as a standalone technology before coming into the JDK. -Alan. From kevin.walls at oracle.com Fri Feb 22 06:44:51 2013 From: kevin.walls at oracle.com (Kevin Walls) Date: Fri, 22 Feb 2013 14:44:51 +0000 Subject: RFR(M): 7165259 Remove BugSpot In-Reply-To: <9496CFBE-4F80-490A-9A07-C2B58447F532@oracle.com> References: <9496CFBE-4F80-490A-9A07-C2B58447F532@oracle.com> Message-ID: <51278463.7020000@oracle.com> Hi Staffan - This looks good, and I don't believe it breaks anything I use, or hear of being used (anecdotally: sightings of BugSpot in use to my knowledge are very very limited, and not recent!) Thanks Kevin On 21/02/13 15:38, Staffan Larsen wrote: > Please review the following change to remove the BugSpot UI for the Serviceability Agent. My understanding is that BugSpot was intended as a more general native debugger not only focused on the JVM, but that it was never fully implemented. I don't think there is a need for a general-purpose debugger in SA and would like to clean up the code. One effect of this change is that PStack and PMap will no longer be able to operate on executables other than the JVM. > > This change was first proposed last year in this thread: http://mail.openjdk.java.net/pipermail/serviceability-dev/2012-April/005811.html > > This change also removes some old JVMDI code in SA (JVMDI is no longer supported in HotSpot). > > > bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7165259 > > webrev: http://cr.openjdk.java.net/~sla/7165259/webrev.00/ > > > Thanks, > /Staffan From lance.andersen at oracle.com Fri Feb 22 06:59:27 2013 From: lance.andersen at oracle.com (lance.andersen at oracle.com) Date: Fri, 22 Feb 2013 14:59:27 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20130222145950.715BF47C76@hg.openjdk.java.net> Changeset: 9f9dac5a9e74 Author: lancea Date: 2013-02-22 09:29 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/9f9dac5a9e74 8008716: address typo in CallableStatement javadocs Reviewed-by: chegar ! src/share/classes/java/sql/CallableStatement.java Changeset: 8d8a35ac7d40 Author: lancea Date: 2013-02-22 09:58 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/8d8a35ac7d40 Merge From coleen.phillimore at oracle.com Fri Feb 22 08:12:59 2013 From: coleen.phillimore at oracle.com (coleen.phillimore at oracle.com) Date: Fri, 22 Feb 2013 16:12:59 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8000797: NPG: is_pseudo_string_at() doesn't work Message-ID: <20130222161303.97CA247C86@hg.openjdk.java.net> Changeset: f16e75e0cf11 Author: coleenp Date: 2013-02-22 08:36 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/f16e75e0cf11 8000797: NPG: is_pseudo_string_at() doesn't work Summary: Zero Symbol* for constant pool strings to indicate pseudo_strings (objects that aren't strings). Clean up JVM_CONSTANT_Object and unused flags. Reviewed-by: sspitsyn, jrose ! agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPool.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/ClassConstants.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/ConstantTag.java ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/interpreter/bytecodeTracer.cpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/interpreter/rewriter.cpp ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/constantPool.hpp ! src/share/vm/oops/generateOopMap.cpp ! src/share/vm/utilities/constantTag.cpp ! src/share/vm/utilities/constantTag.hpp From jason_mehrens at hotmail.com Fri Feb 22 08:16:36 2013 From: jason_mehrens at hotmail.com (Jason Mehrens) Date: Fri, 22 Feb 2013 10:16:36 -0600 Subject: RFR: 8007806: Need a Throwables performance counter In-Reply-To: <51276E2A.40402@oracle.com> References: <5115316A.8050109@oracle.com>,<51276E2A.40402@oracle.com> Message-ID: >From this webrev http://cr.openjdk.java.net/~nloodin/exception-tracing/webrev.01/ you are counting the number of throwables constructed. You might want to change the name to reflect that. I don't think anyone would want to write a spec for how many throwables are thrown given that a throwable can be wrapped, suppressed, rethrown, etc. Jason > Date: Fri, 22 Feb 2013 14:10:02 +0100 > From: nils.loodin at oracle.com > To: core-libs-dev at openjdk.java.net; serviceability-dev at openjdk.java.net > Subject: Fwd: RFR: 8007806: Need a Throwables performance counter > > Does anyone have anything strongly against this? This is a small change > just to add a performance counter, the code to increment it and read it > will live in other parts of the code and be a part of a larger separate > commit. > > Alan Bateman gave the response that the name was inappropriate, but I > don't really have a better alternative, but neither do I have strong > opinions, so feedback would be appreciated! > > How about > "sun.throwables.thrownThrowables" ? > > Regards, > Nils Loodin > > > -------- Original Message -------- > Subject: RFR: 8007806: Need a Throwables performance counter > Date: Fri, 08 Feb 2013 18:10:02 +0100 > From: Nils Loodin > To: core-libs-dev at openjdk.java.net, serviceability_dev_ww_grp > > > It would be interesting to know the number of thrown throwables in the > JVM, to be able to do some high level application diagnostics / > statistics. A good way to put this number would be a performance > counter, since it is accessible both from Java and from the VM. > > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007806 > http://cr.openjdk.java.net/~nloodin/8007806/webrev.00/ > > Regards, > Nils Loodin > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130222/7617348e/attachment.html From maurizio.cimadamore at oracle.com Fri Feb 22 10:20:20 2013 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 22 Feb 2013 18:20:20 +0000 Subject: hg: jdk8/tl/langtools: 8008708: Regression: separate compilation causes crash in wildcards inference logic Message-ID: <20130222182026.6EB3347CC8@hg.openjdk.java.net> Changeset: 94e67bed460d Author: mcimadamore Date: 2013-02-22 18:19 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/94e67bed460d 8008708: Regression: separate compilation causes crash in wildcards inference logic Summary: Invalid use of WildcardType.bound in Types.removeWildcards Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java + test/tools/javac/lambda/separate/Foo.java + test/tools/javac/lambda/separate/Test.java From joe.darcy at oracle.com Fri Feb 22 11:19:48 2013 From: joe.darcy at oracle.com (Joe Darcy) Date: Fri, 22 Feb 2013 11:19:48 -0800 Subject: 8008662: Add @jdk.Supported to JDK-specific/supported API In-Reply-To: References: <51266B7C.3040804@oracle.com> <5126D516.1040005@oracle.com> Message-ID: <5127C4D4.5090800@oracle.com> Hi Martin, On 2/22/2013 6:06 AM, Martin Buchholz wrote: > > > On Thu, Feb 21, 2013 at 6:16 PM, Joe Darcy > wrote: > > > However, the com.sun.* subpackages are a mix of APIs that are > supported as described above as well as APIs that are not supported. > > > I was under the impression that the general rule was that all of > com.sun.* fell under the "jdk supported" umbrella, and the level of > support was the distinction between sun.com.* and sun.* . Alan has previously replied on the varied supported-ness found in com.sun.*. > > In any case, it would be good if there was a single canonical place > that documented the various levels of support with subtle > distinctions, including java.* vs. javax.*, endorsed standards, > com.sun.* vs. sun.* vs. jdk.*, and recommendations for where > non-Oracle vendor extensions should go. Is the jdk.Supported > annotation itself part of Java SE? No, the jdk.Supported annotation type is part of the JDK (currently living in the langtools repo): http://hg.openjdk.java.net/jdk8/jdk8/langtools/file/56dfafbb9e1a/src/share/classes/jdk/Supported.java As you can see, the jdk.Supported type itself has a @jdk.Supported annotation :-) > Should third-party vendor extensions that are "supported" for public > use by the third-party use jdk.Supported? No; as I envision it, the jdk.Supported annotation is only meant to convey supported-ness in the JDK of parts of the JDK. > What about the X's in hotspot flags and the java tools command line > interfaces? The policy around command line interfaces is unchanged; the interfaces are mostly stable, but the more X's are in a flags name, the less stable it can be. -Joe -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130222/8c731cfe/attachment.html From john.coomes at oracle.com Fri Feb 22 13:28:07 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 22 Feb 2013 21:28:07 +0000 Subject: hg: hsx/hotspot-rt/jaxws: Added tag jdk8-b78 for changeset 391de4c992d1 Message-ID: <20130222212812.4BAFE47D1B@hg.openjdk.java.net> Changeset: 70d8658d2a30 Author: katleman Date: 2013-02-21 11:13 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxws/rev/70d8658d2a30 Added tag jdk8-b78 for changeset 391de4c992d1 ! .hgtags From john.coomes at oracle.com Fri Feb 22 13:27:41 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 22 Feb 2013 21:27:41 +0000 Subject: hg: hsx/hotspot-rt: 15 new changesets Message-ID: <20130222212742.0D91247D12@hg.openjdk.java.net> Changeset: 8dd61906da5f Author: chegar Date: 2013-02-06 11:36 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/8dd61906da5f 8007625: race with nested repos in /common/bin/hgforest.sh Reviewed-by: dholmes, ohair, ohrstrom ! common/bin/hgforest.sh ! get_source.sh Changeset: 168dd033604a Author: mduigou Date: 2013-02-06 11:09 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/168dd033604a 8004726: Link bug ids to jbs rather than monaco. Reviewed-by: ohair, chegar, katleman ! make/scripts/webrev.ksh Changeset: 7817368287cd Author: mduigou Date: 2013-02-06 11:12 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/7817368287cd 8006595: Use jdk/test/Makefile targets in preference to local definitions Reviewed-by: alanb ! common/makefiles/Main.gmk ! test/Makefile Changeset: fdb1e09519ed Author: sherman Date: 2013-02-12 09:27 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/fdb1e09519ed 8007392: JSR 310: DateTime API Updates Summary: Integration of JSR310 Date/Time API for M7 Reviewed-by: darcy, alanb, naoto Contributed-by: scolebourne at joda.org, roger.riggs at oracle.com, masayoshi.okutsu at oracle.com, patrick.zhang at oracle.com ! common/makefiles/javadoc/CORE_PKGS.gmk Changeset: 76808fb4194a Author: lana Date: 2013-02-13 11:21 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/76808fb4194a Merge ! common/makefiles/Main.gmk Changeset: bbb7548d45c7 Author: lana Date: 2013-02-14 22:11 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/bbb7548d45c7 Merge Changeset: ffb4d2e95140 Author: erikj Date: 2013-02-15 10:40 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/ffb4d2e95140 8005879: Add -DMAC_OS_X_VERSION_MAX_ALLOWED=1070 to builds on Mac Reviewed-by: ohair ! common/autoconf/generated-configure.sh ! common/autoconf/spec.gmk.in ! common/autoconf/toolchain.m4 Changeset: b0642df54d63 Author: erikj Date: 2013-02-18 10:46 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/b0642df54d63 Merge Changeset: b80abec66e70 Author: bpatel Date: 2013-01-21 00:29 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/b80abec66e70 8006124: javadoc/doclet should be updated to support profiles Reviewed-by: jjg, dholmes ! common/makefiles/javadoc/Javadoc.gmk Changeset: 7ed0c9db6943 Author: dholmes Date: 2013-01-21 01:50 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/7ed0c9db6943 8004265: Add build support for Compact Profiles Reviewed-by: erikj, ohair ! NewMakefile.gmk ! common/autoconf/generated-configure.sh ! common/makefiles/Main.gmk Changeset: 2f8fd30f02e6 Author: dholmes Date: 2013-01-22 19:30 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/2f8fd30f02e6 Merge ! common/autoconf/generated-configure.sh Changeset: bebeaa04ab8e Author: dholmes Date: 2013-02-04 18:08 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/bebeaa04ab8e Merge ! common/autoconf/generated-configure.sh ! common/makefiles/javadoc/Javadoc.gmk Changeset: 28071e4ca1de Author: dholmes Date: 2013-02-17 16:44 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/28071e4ca1de Merge ! common/autoconf/generated-configure.sh ! common/makefiles/Main.gmk Changeset: fd1a5574cf68 Author: dholmes Date: 2013-02-18 15:35 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/fd1a5574cf68 Merge ! common/autoconf/generated-configure.sh Changeset: 91d35211e744 Author: katleman Date: 2013-02-21 11:12 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/91d35211e744 Added tag jdk8-b78 for changeset fd1a5574cf68 ! .hgtags From john.coomes at oracle.com Fri Feb 22 13:27:45 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 22 Feb 2013 21:27:45 +0000 Subject: hg: hsx/hotspot-rt/corba: Added tag jdk8-b78 for changeset 27d6368ae8ba Message-ID: <20130222212749.1F08647D15@hg.openjdk.java.net> Changeset: e41fb1aa0329 Author: katleman Date: 2013-02-21 11:12 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/corba/rev/e41fb1aa0329 Added tag jdk8-b78 for changeset 27d6368ae8ba ! .hgtags From john.coomes at oracle.com Fri Feb 22 13:27:53 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 22 Feb 2013 21:27:53 +0000 Subject: hg: hsx/hotspot-rt/jaxp: Added tag jdk8-b78 for changeset 00958c5a7070 Message-ID: <20130222212802.B9A5A47D18@hg.openjdk.java.net> Changeset: 58fa065dd5d6 Author: katleman Date: 2013-02-21 11:13 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/58fa065dd5d6 Added tag jdk8-b78 for changeset 00958c5a7070 ! .hgtags From martinrb at google.com Fri Feb 22 13:40:09 2013 From: martinrb at google.com (Martin Buchholz) Date: Fri, 22 Feb 2013 13:40:09 -0800 Subject: 8008662: Add @jdk.Supported to JDK-specific/supported API In-Reply-To: <5127C4D4.5090800@oracle.com> References: <51266B7C.3040804@oracle.com> <5126D516.1040005@oracle.com> <5127C4D4.5090800@oracle.com> Message-ID: Hi Joe, On Fri, Feb 22, 2013 at 11:19 AM, Joe Darcy wrote: > > Should third-party vendor extensions that are "supported" for public use > by the third-party use jdk.Supported? > > > No; as I envision it, the jdk.Supported annotation is only meant to convey > supported-ness in the JDK of parts of the JDK. > > Depends on what you mean by "JDK". Suppose the icedtea project added a public "supported" method usesSystemZlib(). It would be good to provide guidance what package to put this in (org.classpath.* ?) and how to indicate level of support (by the icedtea project). Suppose the IcedTea project decided to officially support sun.misc.Unsafe. Would they do this by adding jdk.Supported annotation to their version of Unsafe.java, even if their upstream chose not to? What about the X's in hotspot flags and the java tools command line interfaces? > > The policy around command line interfaces is unchanged; the interfaces are > mostly stable, but the more X's are in a flags name, the less stable it can > be. > We all learned this by indoctrination from the local sensei greybeard, but where is it documented for the wider world? Perhaps Supported isn't a binary thing, but needs to capture different levels of support? Solaris has had such support levels. A "beta" ("laba", "experimental") support level is very useful for introducing new technology. It's a very hard problem, especially in a 1000 flowers world. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130222/71d9650b/attachment.html From john.coomes at oracle.com Fri Feb 22 13:30:30 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 22 Feb 2013 21:30:30 +0000 Subject: hg: hsx/hotspot-rt/jdk: 70 new changesets Message-ID: <20130222214742.12D9947D21@hg.openjdk.java.net> Changeset: 37719b174e87 Author: jgodinez Date: 2013-02-06 14:45 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/37719b174e87 8005194: [parfait] #353 sun/awt/image/jpeg/imageioJPEG.c Memory leak of pointer 'scale' allocated with calloc() Reviewed-by: prr, vadim Contributed-by: jia-hong.chen at oracle.com ! src/share/native/sun/awt/image/jpeg/imageioJPEG.c Changeset: ad49012d10a1 Author: jgodinez Date: 2013-02-08 11:25 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/ad49012d10a1 8005129: [parfait] #1122 - #1130 native/sun/awt/medialib/mlib_Image*.c Memory leak of pointer 'k' allocated with mlib_malloc Reviewed-by: prr, vadim Contributed-by: jia-hong.chen at oracle.com ! src/share/native/sun/awt/medialib/mlib_ImageConv.h ! src/share/native/sun/awt/medialib/mlib_ImageConvMxN_ext.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_16ext.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_32nw.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_8ext.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_8nw.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_u16ext.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_u16nw.c ! src/share/native/sun/awt/medialib/mlib_ImageCreate.c ! src/share/native/sun/awt/medialib/mlib_c_ImageConv.h Changeset: 1ea9feb6d8c5 Author: jgodinez Date: 2013-02-08 11:36 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/1ea9feb6d8c5 8005261: [parfait] #415 sun/java2d/opengl/GLXSurfaceData.c Memory leak of pointer 'glxsdo' allocated with malloc Reviewed-by: prr, vadim Contributed-by: jia-hong.chen at oracle.com ! src/solaris/native/sun/java2d/opengl/GLXSurfaceData.c Changeset: 5f0217537435 Author: prr Date: 2013-02-12 09:58 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/5f0217537435 8007748: MacOSX build error : cast of type 'SEL' to 'uintptr_t' (aka 'unsigned long') is deprecated; use sel_getName instead Reviewed-by: anthony ! src/macosx/native/jobjc/src/core/native/SEL.m Changeset: 1b47e2dfa89a Author: lana Date: 2013-02-13 13:01 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/1b47e2dfa89a Merge - src/share/classes/java/lang/annotation/ContainedBy.java - src/share/classes/java/lang/annotation/ContainerFor.java - test/java/net/URL/abnormal_http_urls - test/java/net/URL/ftp_urls - test/java/net/URL/jar_urls - test/java/net/URL/normal_http_urls - test/java/net/URL/runconstructor.sh - test/java/net/URL/share_file_urls - test/java/net/URL/win32_file_urls - test/sun/net/www/EncDec.doc - test/sun/net/www/MarkResetTest.java - test/sun/net/www/MarkResetTest.sh - test/sun/security/util/Oid/S11N.sh - test/sun/security/util/Oid/SerialTest.java Changeset: 6df3acd02449 Author: prr Date: 2013-02-13 15:06 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/6df3acd02449 8008017: The fix for 8005129 does not build on Windows Reviewed-by: prr, jgodinez Contributed-by: jia-hong.chen at oracle.com ! src/share/native/sun/awt/medialib/mlib_ImageConv_16ext.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_8ext.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_8nw.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_u16ext.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_u16nw.c Changeset: ac89a5d71466 Author: alexsch Date: 2013-02-06 18:25 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/ac89a5d71466 8000326: Focus unable to traverse in the menubar Reviewed-by: alexsch, malenkov ! src/share/classes/javax/swing/JMenuBar.java Changeset: 6e17465f4a1a Author: mcherkas Date: 2013-02-08 22:08 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/6e17465f4a1a 8005932: Java 7 on mac os x only provides text clipboard formats Reviewed-by: alexp, denis ! src/macosx/lib/flavormap.properties + test/java/awt/DataFlavor/MissedHtmlAndRtfBug/AbsoluteComponentCenterCalculator.java + test/java/awt/DataFlavor/MissedHtmlAndRtfBug/DataFlavorSearcher.java + test/java/awt/DataFlavor/MissedHtmlAndRtfBug/InterprocessMessages.java + test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.html + test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.java + test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MyTransferable.java + test/java/awt/DataFlavor/MissedHtmlAndRtfBug/NextFramePositionCalculator.java + test/java/awt/DataFlavor/MissedHtmlAndRtfBug/SourcePanel.java + test/java/awt/DataFlavor/MissedHtmlAndRtfBug/TargetPanel.java Changeset: 5406c4e381e2 Author: kshefov Date: 2013-02-13 18:01 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/5406c4e381e2 7161759: TEST_BUG: java/awt/Frame/WindowDragTest/WindowDragTest.java fails to compile, should be modified Summary: Added @build Util jtreg tag Reviewed-by: serb, alexsch Contributed-by: Vera Akulova ! test/java/awt/Frame/WindowDragTest/WindowDragTest.java Changeset: dd6cf41a6953 Author: kshefov Date: 2013-02-13 19:06 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/dd6cf41a6953 7132383: [macosx] bug6596966.java should be adapted for Mac Reviewed-by: serb, alexsch Contributed-by: Vera Akulova ! test/javax/swing/JLabel/6596966/bug6596966.java ! test/javax/swing/regtesthelpers/Util.java Changeset: caec64340f42 Author: vkarnauk Date: 2013-02-13 19:23 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/caec64340f42 4199622: RFE: JComboBox shouldn't sending ActionEvents for keyboard navigation Reviewed-by: alexp, alexsch ! src/share/classes/javax/swing/plaf/basic/BasicComboBoxUI.java ! src/share/classes/javax/swing/plaf/basic/BasicLookAndFeel.java + test/javax/swing/JComboBox/4199622/bug4199622.java Changeset: 4d9691e95e05 Author: pchelko Date: 2013-02-13 15:27 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/4d9691e95e05 7079260: InputContext leaks memory Summary: Replaced strong refs with weak refs Reviewed-by: art, serb ! src/share/classes/sun/awt/im/CompositionAreaHandler.java ! src/solaris/classes/sun/awt/X11InputMethod.java + test/java/awt/im/memoryleak/InputContextMemoryLeakTest.java ! test/java/awt/regtesthelpers/Util.java Changeset: c552cde0e3f9 Author: pchelko Date: 2013-02-13 15:32 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c552cde0e3f9 8005629: javac warnings compiling java.awt.EventDispatchThread and sun.awt.X11.XIconWindow Summary: Removed macosx specific workaround from shared code and made macosx use public API Reviewed-by: art, serb ! src/macosx/classes/sun/lwawt/macosx/CPrinterJob.java - src/macosx/classes/sun/lwawt/macosx/EventDispatchAccess.java ! src/macosx/native/sun/awt/CPrinterJob.m ! src/share/classes/java/awt/EventDispatchThread.java ! src/solaris/classes/sun/awt/X11/XIconWindow.java Changeset: c95dc15ac183 Author: lana Date: 2013-02-13 12:38 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c95dc15ac183 Merge - src/share/classes/java/lang/annotation/ContainedBy.java - src/share/classes/java/lang/annotation/ContainerFor.java - test/java/net/URL/abnormal_http_urls - test/java/net/URL/ftp_urls - test/java/net/URL/jar_urls - test/java/net/URL/normal_http_urls - test/java/net/URL/runconstructor.sh - test/java/net/URL/share_file_urls - test/java/net/URL/win32_file_urls - test/sun/net/www/EncDec.doc - test/sun/net/www/MarkResetTest.java - test/sun/net/www/MarkResetTest.sh - test/sun/security/util/Oid/S11N.sh - test/sun/security/util/Oid/SerialTest.java Changeset: c9efb349b391 Author: lana Date: 2013-02-13 17:55 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c9efb349b391 Merge - src/macosx/classes/sun/lwawt/macosx/EventDispatchAccess.java Changeset: 0e7d5dd84fdf Author: dsamersoff Date: 2013-02-06 16:53 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/0e7d5dd84fdf 8007277: JDK-8002048 testcase fails to compile Summary: sun.* classes is not included to ct.sym file and symbol file have to be ignored Reviewed-by: alanb ! test/sun/management/jdp/JdpTest.sh Changeset: 1574fa3df1c0 Author: lancea Date: 2013-02-06 14:15 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/1574fa3df1c0 8006505: additional changes for JSR 310 support Reviewed-by: naoto, ulfzibis ! src/share/classes/java/sql/JDBCType.java ! src/share/classes/java/sql/SQLInput.java ! src/share/classes/java/sql/SQLOutput.java ! src/share/classes/java/sql/Types.java Changeset: 2f1505c49e79 Author: martin Date: 2013-02-06 17:59 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/2f1505c49e79 8006995: java launcher fails to open executable JAR > 2GB Summary: Use O_LARGEFILE consistently when opening jar files Reviewed-by: alanb, sherman ! src/share/bin/parse_manifest.c Changeset: 2de8c6c2d652 Author: ykantser Date: 2013-02-07 11:22 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/2de8c6c2d652 8007142: Add utility classes for writing better multiprocess tests in jtreg Reviewed-by: alanb, rbackman + test/lib/testlibrary/OutputAnalyzerTest.java + test/lib/testlibrary/jdk/testlibrary/JcmdBase.java + test/lib/testlibrary/jdk/testlibrary/JdkFinder.java + test/lib/testlibrary/jdk/testlibrary/OutputAnalyzer.java + test/lib/testlibrary/jdk/testlibrary/OutputBuffer.java + test/lib/testlibrary/jdk/testlibrary/ProcessTools.java + test/lib/testlibrary/jdk/testlibrary/StreamPumper.java Changeset: 79d7595abe95 Author: naoto Date: 2013-02-08 09:35 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/79d7595abe95 8007038: ArrayIndexOutOfBoundsException on calling localizedDateTime().print() with JapaneseChrono Reviewed-by: okutsu ! src/share/classes/sun/util/locale/provider/CalendarNameProviderImpl.java + test/java/util/Calendar/Bug8007038.java Changeset: 522fb3867a3a Author: darcy Date: 2013-02-08 16:00 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/522fb3867a3a 8005623: Retrofit FunctionalInterface annotations to core platform interfaces Reviewed-by: mduigou, chegar, alanb ! src/share/classes/java/io/Closeable.java ! src/share/classes/java/io/FileFilter.java ! src/share/classes/java/io/FilenameFilter.java ! src/share/classes/java/io/Flushable.java ! src/share/classes/java/lang/AutoCloseable.java ! src/share/classes/java/lang/Comparable.java ! src/share/classes/java/lang/Iterable.java ! src/share/classes/java/lang/Readable.java ! src/share/classes/java/lang/Runnable.java ! src/share/classes/java/lang/Thread.java ! src/share/classes/java/nio/file/DirectoryStream.java ! src/share/classes/java/nio/file/PathMatcher.java ! src/share/classes/java/util/Comparator.java ! src/share/classes/java/util/function/BinaryOperator.java ! src/share/classes/java/util/function/Block.java ! src/share/classes/java/util/function/DoubleBinaryOperator.java ! src/share/classes/java/util/function/DoubleBlock.java ! src/share/classes/java/util/function/DoubleFunction.java ! src/share/classes/java/util/function/DoubleSupplier.java ! src/share/classes/java/util/function/DoubleUnaryOperator.java ! src/share/classes/java/util/function/Function.java ! src/share/classes/java/util/function/IntBinaryOperator.java ! src/share/classes/java/util/function/IntBlock.java ! src/share/classes/java/util/function/IntFunction.java ! src/share/classes/java/util/function/IntSupplier.java ! src/share/classes/java/util/function/IntUnaryOperator.java ! src/share/classes/java/util/function/LongBinaryOperator.java ! src/share/classes/java/util/function/LongBlock.java ! src/share/classes/java/util/function/LongFunction.java ! src/share/classes/java/util/function/LongSupplier.java ! src/share/classes/java/util/function/LongUnaryOperator.java ! src/share/classes/java/util/function/Predicate.java ! src/share/classes/java/util/function/Supplier.java ! src/share/classes/java/util/function/UnaryOperator.java ! src/share/classes/java/util/logging/Filter.java ! src/share/classes/java/util/prefs/PreferenceChangeListener.java Changeset: 36d25dc2b8f0 Author: dl Date: 2013-02-09 08:35 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/36d25dc2b8f0 8005697: Add StampedLock Reviewed-by: chegar, alanb, dice, martin ! make/java/java/FILES_java.gmk ! src/share/classes/java/util/concurrent/locks/LockSupport.java + src/share/classes/java/util/concurrent/locks/StampedLock.java + test/java/util/concurrent/locks/StampedLock/Basic.java Changeset: d14cd2272b2d Author: weijun Date: 2013-02-09 16:43 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/d14cd2272b2d 8001104: Unbound SASL service: the GSSAPI/krb5 mech Reviewed-by: valeriep ! src/share/classes/com/sun/security/auth/module/Krb5LoginModule.java ! src/share/classes/javax/security/auth/kerberos/JavaxSecurityAuthKerberosAccessImpl.java ! src/share/classes/javax/security/auth/kerberos/KeyTab.java ! src/share/classes/sun/security/jgss/LoginConfigImpl.java ! src/share/classes/sun/security/jgss/krb5/Krb5Util.java ! src/share/classes/sun/security/jgss/krb5/ServiceCreds.java ! src/share/classes/sun/security/jgss/krb5/SubjectComber.java ! src/share/classes/sun/security/krb5/JavaxSecurityAuthKerberosAccess.java ! src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java ! src/share/classes/sun/security/provider/ConfigSpiFile.java ! test/sun/security/krb5/ServiceCredsCombination.java ! test/sun/security/krb5/auto/AcceptPermissions.java + test/sun/security/krb5/auto/GSSUnbound.java ! test/sun/security/krb5/auto/OneKDC.java + test/sun/security/krb5/auto/SaslUnbound.java + test/sun/security/krb5/auto/UnboundService.java Changeset: 57cb988c811e Author: weijun Date: 2013-02-09 16:43 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/57cb988c811e 8007761: NTLM coding errors Reviewed-by: chegar ! src/share/classes/com/sun/security/ntlm/Client.java ! src/share/classes/com/sun/security/ntlm/NTLM.java Changeset: 58c95d0b6b1a Author: ksrini Date: 2013-02-10 08:07 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/58c95d0b6b1a 8007519: [unpack200] produces bad class files when producing BootstrapMethods attribute Reviewed-by: alanb ! test/ProblemList.txt Changeset: 520a3433883d Author: ksrini Date: 2013-02-10 08:49 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/520a3433883d 8007902: [unpack200] incorrect BootstrapMethods attribute Reviewed-by: jjh ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp ! test/tools/pack200/Pack200Test.java ! test/tools/pack200/pack200-verifier/data/golden.jar Changeset: 1df991184045 Author: dsamersoff Date: 2013-02-11 18:44 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/1df991184045 8007536: Incorrect copyright header in JDP files Summary: Copyright header in JDP files missed the "classpath exception" rule. Reviewed-by: mikael ! src/share/classes/sun/management/jdp/JdpBroadcaster.java ! src/share/classes/sun/management/jdp/JdpController.java ! src/share/classes/sun/management/jdp/JdpException.java ! src/share/classes/sun/management/jdp/JdpGenericPacket.java ! src/share/classes/sun/management/jdp/JdpJmxPacket.java ! src/share/classes/sun/management/jdp/JdpPacket.java ! src/share/classes/sun/management/jdp/JdpPacketReader.java ! src/share/classes/sun/management/jdp/JdpPacketWriter.java ! src/share/classes/sun/management/jdp/package-info.java Changeset: abd530253f01 Author: dcubed Date: 2013-02-11 10:07 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/abd530253f01 8007420: add test for 6805864 to com/sun/jdi, add test for 7182152 to java/lang/instrument Reviewed-by: coleenp, sspitsyn + test/com/sun/jdi/RedefineAbstractClass.sh + test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesAgent.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesApp.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesIntf1.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesIntf2.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesRemote.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesTarget.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesTarget_1.java Changeset: f21a4b761424 Author: alanb Date: 2013-02-11 20:16 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/f21a4b761424 8007405: Update java.lang.reflect API to replace SYNTHESIZED with MANDATED Reviewed-by: darcy ! src/share/classes/java/lang/reflect/Executable.java ! src/share/classes/java/lang/reflect/Modifier.java ! src/share/classes/java/lang/reflect/Parameter.java Changeset: 465cce29a9ed Author: mduigou Date: 2013-02-06 11:28 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/465cce29a9ed 8006594: Add jdk_core target to jdk/test/Makefile Reviewed-by: alanb ! make/jprt.properties ! test/Makefile ! test/ProblemList.txt Changeset: f7fb173ac833 Author: dsamersoff Date: 2013-02-12 16:02 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/f7fb173ac833 8007786: JDK-8002048 testcase doesn't work on Solaris Summary: test built in into Solaris shell doesn't have -e operator Reviewed-by: sla, sspitsyn ! test/sun/management/jdp/JdpTest.sh Changeset: 7dcb74c3ffba Author: sherman Date: 2013-02-12 09:25 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/7dcb74c3ffba 8007392: JSR 310: DateTime API Updates 8007520: Update date/time classes in j.util and j.sql packages 8007572: Replace existing jdk timezone data at /lib/zi with JSR310's tzdb Summary: Integration of JSR310 Date/Time API for M7 Reviewed-by: darcy, alanb, naoto Contributed-by: scolebourne at joda.org, roger.riggs at oracle.com, masayoshi.okutsu at oracle.com, patrick.zhang at oracle.com ! make/docs/CORE_PKGS.gmk ! make/java/java/FILES_java.gmk ! make/sun/Makefile ! make/sun/javazic/Makefile + make/sun/javazic/tzdata/gmt + make/sun/javazic/tzdata/jdk11_backward ! make/sun/tzdb/Makefile ! make/tools/Makefile ! make/tools/src/build/tools/javazic/Zoneinfo.java ! make/tools/src/build/tools/tzdb/TzdbZoneRulesCompiler.java ! makefiles/GendataTZDB.gmk ! makefiles/GendataTimeZone.gmk ! makefiles/GenerateData.gmk ! makefiles/Tools.gmk ! src/share/classes/java/sql/Date.java ! src/share/classes/java/sql/Time.java ! src/share/classes/java/sql/Timestamp.java ! src/share/classes/java/time/Clock.java ! src/share/classes/java/time/DayOfWeek.java ! src/share/classes/java/time/Duration.java ! src/share/classes/java/time/Instant.java ! src/share/classes/java/time/LocalDate.java ! src/share/classes/java/time/LocalDateTime.java ! src/share/classes/java/time/LocalTime.java ! src/share/classes/java/time/Month.java + src/share/classes/java/time/MonthDay.java + src/share/classes/java/time/OffsetDateTime.java + src/share/classes/java/time/OffsetTime.java ! src/share/classes/java/time/Period.java - src/share/classes/java/time/PeriodParser.java ! src/share/classes/java/time/Ser.java + src/share/classes/java/time/Year.java + src/share/classes/java/time/YearMonth.java ! src/share/classes/java/time/ZoneId.java ! src/share/classes/java/time/ZoneOffset.java ! src/share/classes/java/time/ZoneRegion.java ! src/share/classes/java/time/ZonedDateTime.java - src/share/classes/java/time/calendar/ChronoDateImpl.java - src/share/classes/java/time/calendar/HijrahChrono.java - src/share/classes/java/time/calendar/HijrahDate.java - src/share/classes/java/time/calendar/HijrahDeviationReader.java - src/share/classes/java/time/calendar/HijrahEra.java - src/share/classes/java/time/calendar/JapaneseChrono.java - src/share/classes/java/time/calendar/JapaneseDate.java - src/share/classes/java/time/calendar/JapaneseEra.java - src/share/classes/java/time/calendar/MinguoChrono.java - src/share/classes/java/time/calendar/MinguoDate.java - src/share/classes/java/time/calendar/MinguoEra.java - src/share/classes/java/time/calendar/Ser.java - src/share/classes/java/time/calendar/ThaiBuddhistChrono.java - src/share/classes/java/time/calendar/ThaiBuddhistDate.java - src/share/classes/java/time/calendar/ThaiBuddhistEra.java - src/share/classes/java/time/calendar/package-info.java + src/share/classes/java/time/chrono/ChronoDateImpl.java + src/share/classes/java/time/chrono/ChronoLocalDate.java + src/share/classes/java/time/chrono/ChronoLocalDateTime.java + src/share/classes/java/time/chrono/ChronoLocalDateTimeImpl.java + src/share/classes/java/time/chrono/ChronoZonedDateTime.java + src/share/classes/java/time/chrono/ChronoZonedDateTimeImpl.java + src/share/classes/java/time/chrono/Chronology.java + src/share/classes/java/time/chrono/Era.java + src/share/classes/java/time/chrono/HijrahChronology.java + src/share/classes/java/time/chrono/HijrahDate.java + src/share/classes/java/time/chrono/HijrahDeviationReader.java + src/share/classes/java/time/chrono/HijrahEra.java + src/share/classes/java/time/chrono/IsoChronology.java + src/share/classes/java/time/chrono/IsoEra.java + src/share/classes/java/time/chrono/JapaneseChronology.java + src/share/classes/java/time/chrono/JapaneseDate.java + src/share/classes/java/time/chrono/JapaneseEra.java + src/share/classes/java/time/chrono/MinguoChronology.java + src/share/classes/java/time/chrono/MinguoDate.java + src/share/classes/java/time/chrono/MinguoEra.java + src/share/classes/java/time/chrono/Ser.java + src/share/classes/java/time/chrono/ThaiBuddhistChronology.java + src/share/classes/java/time/chrono/ThaiBuddhistDate.java + src/share/classes/java/time/chrono/ThaiBuddhistEra.java + src/share/classes/java/time/chrono/package-info.java ! src/share/classes/java/time/format/DateTimeBuilder.java ! src/share/classes/java/time/format/DateTimeFormatStyleProvider.java ! src/share/classes/java/time/format/DateTimeFormatter.java ! src/share/classes/java/time/format/DateTimeFormatterBuilder.java - src/share/classes/java/time/format/DateTimeFormatters.java ! src/share/classes/java/time/format/DateTimeParseContext.java ! src/share/classes/java/time/format/DateTimePrintContext.java - src/share/classes/java/time/format/DateTimePrintException.java ! src/share/classes/java/time/format/DateTimeTextProvider.java ! src/share/classes/java/time/format/FormatStyle.java + src/share/classes/java/time/format/ZoneName.java ! src/share/classes/java/time/format/package-info.java ! src/share/classes/java/time/overview.html ! src/share/classes/java/time/package-info.java - src/share/classes/java/time/temporal/Chrono.java ! src/share/classes/java/time/temporal/ChronoField.java - src/share/classes/java/time/temporal/ChronoLocalDate.java - src/share/classes/java/time/temporal/ChronoLocalDateTime.java - src/share/classes/java/time/temporal/ChronoLocalDateTimeImpl.java ! src/share/classes/java/time/temporal/ChronoUnit.java - src/share/classes/java/time/temporal/ChronoZonedDateTime.java - src/share/classes/java/time/temporal/ChronoZonedDateTimeImpl.java - src/share/classes/java/time/temporal/Era.java - src/share/classes/java/time/temporal/ISOChrono.java - src/share/classes/java/time/temporal/ISOEra.java - src/share/classes/java/time/temporal/ISOFields.java + src/share/classes/java/time/temporal/IsoFields.java ! src/share/classes/java/time/temporal/JulianFields.java - src/share/classes/java/time/temporal/MonthDay.java - src/share/classes/java/time/temporal/OffsetDate.java - src/share/classes/java/time/temporal/OffsetDateTime.java - src/share/classes/java/time/temporal/OffsetTime.java ! src/share/classes/java/time/temporal/Queries.java - src/share/classes/java/time/temporal/Ser.java - src/share/classes/java/time/temporal/SimplePeriod.java ! src/share/classes/java/time/temporal/Temporal.java ! src/share/classes/java/time/temporal/TemporalAccessor.java - src/share/classes/java/time/temporal/TemporalAdder.java ! src/share/classes/java/time/temporal/TemporalAdjuster.java + src/share/classes/java/time/temporal/TemporalAmount.java ! src/share/classes/java/time/temporal/TemporalField.java ! src/share/classes/java/time/temporal/TemporalQuery.java - src/share/classes/java/time/temporal/TemporalSubtractor.java ! src/share/classes/java/time/temporal/TemporalUnit.java ! src/share/classes/java/time/temporal/WeekFields.java - src/share/classes/java/time/temporal/Year.java - src/share/classes/java/time/temporal/YearMonth.java ! src/share/classes/java/time/temporal/package-info.java ! src/share/classes/java/time/zone/TzdbZoneRulesProvider.java ! src/share/classes/java/time/zone/ZoneOffsetTransitionRule.java ! src/share/classes/java/time/zone/ZoneRules.java ! src/share/classes/java/time/zone/ZoneRulesProvider.java ! src/share/classes/java/util/Calendar.java ! src/share/classes/java/util/Date.java ! src/share/classes/java/util/Formatter.java ! src/share/classes/java/util/GregorianCalendar.java ! src/share/classes/java/util/TimeZone.java ! src/share/classes/sun/text/resources/FormatData.java ! src/share/classes/sun/text/resources/ar/FormatData_ar.java ! src/share/classes/sun/text/resources/el/FormatData_el.java ! src/share/classes/sun/text/resources/hr/FormatData_hr.java ! src/share/classes/sun/text/resources/ja/FormatData_ja.java ! src/share/classes/sun/text/resources/ko/FormatData_ko.java ! src/share/classes/sun/text/resources/sr/FormatData_sr.java ! src/share/classes/sun/text/resources/sv/FormatData_sv.java ! src/share/classes/sun/text/resources/zh/FormatData_zh.java ! src/share/classes/sun/text/resources/zh/FormatData_zh_TW.java ! src/share/classes/sun/util/calendar/CalendarSystem.java ! src/share/classes/sun/util/calendar/LocalGregorianCalendar.java - src/share/classes/sun/util/calendar/TzIDOldMapping.java ! src/share/classes/sun/util/calendar/ZoneInfo.java ! src/share/classes/sun/util/calendar/ZoneInfoFile.java ! src/share/classes/sun/util/locale/provider/CalendarDataUtility.java ! src/share/classes/sun/util/locale/provider/CalendarNameProviderImpl.java ! src/share/classes/sun/util/locale/provider/LocaleResources.java + test/java/sql/JavatimeTest.java + test/java/time/META-INF/services/java.time.chrono.Chronology - test/java/time/META-INF/services/java.time.temporal.Chrono ! test/java/time/tck/java/time/AbstractTCKTest.java + test/java/time/tck/java/time/MockSimplePeriod.java ! test/java/time/tck/java/time/TCKClock.java ! test/java/time/tck/java/time/TCKClock_Fixed.java ! test/java/time/tck/java/time/TCKClock_Offset.java ! test/java/time/tck/java/time/TCKClock_System.java ! test/java/time/tck/java/time/TCKClock_Tick.java ! test/java/time/tck/java/time/TCKDayOfWeek.java ! test/java/time/tck/java/time/TCKDuration.java ! test/java/time/tck/java/time/TCKInstant.java ! test/java/time/tck/java/time/TCKLocalDate.java ! test/java/time/tck/java/time/TCKLocalDateTime.java ! test/java/time/tck/java/time/TCKLocalTime.java ! test/java/time/tck/java/time/TCKMonth.java + test/java/time/tck/java/time/TCKMonthDay.java + test/java/time/tck/java/time/TCKOffsetDateTime.java + test/java/time/tck/java/time/TCKOffsetTime.java + test/java/time/tck/java/time/TCKPeriod.java + test/java/time/tck/java/time/TCKYear.java + test/java/time/tck/java/time/TCKYearMonth.java ! test/java/time/tck/java/time/TCKZoneId.java ! test/java/time/tck/java/time/TCKZoneOffset.java ! test/java/time/tck/java/time/TCKZonedDateTime.java + test/java/time/tck/java/time/TestChronology.java + test/java/time/tck/java/time/TestIsoChronology.java - test/java/time/tck/java/time/calendar/CopticChrono.java - test/java/time/tck/java/time/calendar/CopticDate.java - test/java/time/tck/java/time/calendar/CopticEra.java - test/java/time/tck/java/time/calendar/TestChronoLocalDate.java - test/java/time/tck/java/time/calendar/TestChronoLocalDateTime.java - test/java/time/tck/java/time/calendar/TestHijrahChrono.java - test/java/time/tck/java/time/calendar/TestJapaneseChrono.java - test/java/time/tck/java/time/calendar/TestMinguoChrono.java - test/java/time/tck/java/time/calendar/TestServiceLoader.java - test/java/time/tck/java/time/calendar/TestThaiBuddhistChrono.java + test/java/time/tck/java/time/chrono/CopticChronology.java + test/java/time/tck/java/time/chrono/CopticDate.java + test/java/time/tck/java/time/chrono/CopticEra.java + test/java/time/tck/java/time/chrono/TCKChronology.java + test/java/time/tck/java/time/chrono/TCKTestServiceLoader.java + test/java/time/tck/java/time/chrono/TestChronoLocalDate.java + test/java/time/tck/java/time/chrono/TestChronoLocalDateTime.java + test/java/time/tck/java/time/chrono/TestHijrahChronology.java + test/java/time/tck/java/time/chrono/TestJapaneseChronology.java + test/java/time/tck/java/time/chrono/TestMinguoChronology.java + test/java/time/tck/java/time/chrono/TestThaiBuddhistChronology.java + test/java/time/tck/java/time/format/TCKChronoPrinterParser.java ! test/java/time/tck/java/time/format/TCKDateTimeFormatter.java ! test/java/time/tck/java/time/format/TCKDateTimeFormatterBuilder.java ! test/java/time/tck/java/time/format/TCKDateTimeFormatters.java - test/java/time/tck/java/time/format/TCKDateTimePrintException.java ! test/java/time/tck/java/time/format/TCKDateTimeTextPrinting.java ! test/java/time/tck/java/time/format/TCKLocalizedFieldParser.java ! test/java/time/tck/java/time/format/TCKLocalizedFieldPrinter.java + test/java/time/tck/java/time/format/TCKLocalizedPrinterParser.java + test/java/time/tck/java/time/format/TCKOffsetPrinterParser.java + test/java/time/tck/java/time/format/TCKPadPrinterParser.java + test/java/time/tck/java/time/format/TCKZoneIdPrinterParser.java - test/java/time/tck/java/time/temporal/TCKISOFields.java + test/java/time/tck/java/time/temporal/TCKIsoFields.java ! test/java/time/tck/java/time/temporal/TCKJulianFields.java - test/java/time/tck/java/time/temporal/TCKMonthDay.java - test/java/time/tck/java/time/temporal/TCKOffsetDate.java - test/java/time/tck/java/time/temporal/TCKOffsetDateTime.java - test/java/time/tck/java/time/temporal/TCKOffsetTime.java - test/java/time/tck/java/time/temporal/TCKSimplePeriod.java ! test/java/time/tck/java/time/temporal/TCKWeekFields.java - test/java/time/tck/java/time/temporal/TCKYear.java - test/java/time/tck/java/time/temporal/TCKYearMonth.java - test/java/time/tck/java/time/temporal/TestChrono.java ! test/java/time/tck/java/time/temporal/TestChronoLocalDate.java ! test/java/time/tck/java/time/temporal/TestChronoLocalDateTime.java ! test/java/time/tck/java/time/temporal/TestChronoZonedDateTime.java - test/java/time/tck/java/time/temporal/TestISOChrono.java ! test/java/time/tck/java/time/zone/TCKFixedZoneRules.java ! test/java/time/tck/java/time/zone/TCKZoneOffsetTransition.java ! test/java/time/tck/java/time/zone/TCKZoneOffsetTransitionRule.java ! test/java/time/tck/java/time/zone/TCKZoneRules.java ! test/java/time/tck/java/time/zone/TCKZoneRulesProvider.java ! test/java/time/test/java/time/MockSimplePeriod.java ! test/java/time/test/java/time/TestDuration.java ! test/java/time/test/java/time/TestLocalDateTime.java ! test/java/time/test/java/time/TestLocalTime.java + test/java/time/test/java/time/TestMonthDay.java + test/java/time/test/java/time/TestOffsetDateTime.java + test/java/time/test/java/time/TestOffsetDateTime_instants.java + test/java/time/test/java/time/TestOffsetTime.java ! test/java/time/test/java/time/TestPeriod.java - test/java/time/test/java/time/TestPeriodParser.java + test/java/time/test/java/time/TestYear.java + test/java/time/test/java/time/TestYearMonth.java ! test/java/time/test/java/time/TestZoneId.java + test/java/time/test/java/time/chrono/TestExampleCode.java + test/java/time/test/java/time/chrono/TestIsoChronoImpl.java + test/java/time/test/java/time/chrono/TestServiceLoader.java ! test/java/time/test/java/time/format/TestCharLiteralParser.java ! test/java/time/test/java/time/format/TestCharLiteralPrinter.java + test/java/time/test/java/time/format/TestDateTimeFormatterBuilder.java - test/java/time/test/java/time/format/TestDateTimeFormatters.java - test/java/time/test/java/time/format/TestDateTimePrintException.java ! test/java/time/test/java/time/format/TestDateTimeTextProvider.java ! test/java/time/test/java/time/format/TestFractionPrinterParser.java + test/java/time/test/java/time/format/TestNonIsoFormatter.java ! test/java/time/test/java/time/format/TestNumberParser.java ! test/java/time/test/java/time/format/TestNumberPrinter.java - test/java/time/test/java/time/format/TestPadParserDecorator.java ! test/java/time/test/java/time/format/TestPadPrinterDecorator.java ! test/java/time/test/java/time/format/TestReducedParser.java ! test/java/time/test/java/time/format/TestReducedPrinter.java ! test/java/time/test/java/time/format/TestSettingsParser.java ! test/java/time/test/java/time/format/TestStringLiteralParser.java ! test/java/time/test/java/time/format/TestStringLiteralPrinter.java ! test/java/time/test/java/time/format/TestTextParser.java ! test/java/time/test/java/time/format/TestTextPrinter.java - test/java/time/test/java/time/format/TestZoneIdParser.java ! test/java/time/test/java/time/format/TestZoneOffsetParser.java ! test/java/time/test/java/time/format/TestZoneOffsetPrinter.java ! test/java/time/test/java/time/format/TestZoneTextPrinterParser.java + test/java/time/test/java/time/format/ZoneName.java ! test/java/time/test/java/time/temporal/MockFieldNoValue.java ! test/java/time/test/java/time/temporal/MockFieldValue.java ! test/java/time/test/java/time/temporal/TestChronoUnit.java ! test/java/time/test/java/time/temporal/TestDateTimeBuilderCombinations.java - test/java/time/test/java/time/temporal/TestISOChronoImpl.java ! test/java/time/test/java/time/temporal/TestJapaneseChronoImpl.java + test/java/time/test/java/time/temporal/TestJulianFields.java - test/java/time/test/java/time/temporal/TestMonthDay.java - test/java/time/test/java/time/temporal/TestOffsetDate.java - test/java/time/test/java/time/temporal/TestOffsetDateTime.java - test/java/time/test/java/time/temporal/TestOffsetDateTime_instants.java - test/java/time/test/java/time/temporal/TestOffsetTime.java ! test/java/time/test/java/time/temporal/TestThaiBuddhistChronoImpl.java - test/java/time/test/java/time/temporal/TestYear.java - test/java/time/test/java/time/temporal/TestYearMonth.java ! test/java/time/test/java/time/zone/TestFixedZoneRules.java ! test/java/time/test/java/util/TestFormatter.java + test/java/util/Calendar/JavatimeTest.java ! test/java/util/TimeZone/OldIDMappingTest.java + test/java/util/TimeZone/TzIDOldMapping.java + test/sun/util/calendar/zi/BackEnd.java + test/sun/util/calendar/zi/Checksum.java + test/sun/util/calendar/zi/DayOfWeek.java + test/sun/util/calendar/zi/Gen.java + test/sun/util/calendar/zi/GenDoc.java + test/sun/util/calendar/zi/Main.java + test/sun/util/calendar/zi/Mappings.java + test/sun/util/calendar/zi/Month.java + test/sun/util/calendar/zi/Rule.java + test/sun/util/calendar/zi/RuleDay.java + test/sun/util/calendar/zi/RuleRec.java + test/sun/util/calendar/zi/Simple.java + test/sun/util/calendar/zi/TestZoneInfo310.java + test/sun/util/calendar/zi/Time.java + test/sun/util/calendar/zi/Timezone.java + test/sun/util/calendar/zi/TzIDOldMapping.java + test/sun/util/calendar/zi/Zone.java + test/sun/util/calendar/zi/ZoneInfoFile.java + test/sun/util/calendar/zi/ZoneInfoOld.java + test/sun/util/calendar/zi/ZoneRec.java + test/sun/util/calendar/zi/Zoneinfo.java + test/sun/util/calendar/zi/tzdata/VERSION + test/sun/util/calendar/zi/tzdata/africa + test/sun/util/calendar/zi/tzdata/antarctica + test/sun/util/calendar/zi/tzdata/asia + test/sun/util/calendar/zi/tzdata/australasia + test/sun/util/calendar/zi/tzdata/backward + test/sun/util/calendar/zi/tzdata/etcetera + test/sun/util/calendar/zi/tzdata/europe + test/sun/util/calendar/zi/tzdata/factory + test/sun/util/calendar/zi/tzdata/gmt + test/sun/util/calendar/zi/tzdata/iso3166.tab + test/sun/util/calendar/zi/tzdata/jdk11_backward + test/sun/util/calendar/zi/tzdata/leapseconds + test/sun/util/calendar/zi/tzdata/northamerica + test/sun/util/calendar/zi/tzdata/pacificnew + test/sun/util/calendar/zi/tzdata/solar87 + test/sun/util/calendar/zi/tzdata/solar88 + test/sun/util/calendar/zi/tzdata/solar89 + test/sun/util/calendar/zi/tzdata/southamerica + test/sun/util/calendar/zi/tzdata/systemv + test/sun/util/calendar/zi/tzdata/zone.tab + test/sun/util/calendar/zi/tzdata_jdk/gmt + test/sun/util/calendar/zi/tzdata_jdk/jdk11_backward + test/sun/util/calendar/zi/tzdata_jdk/jdk11_full_backward Changeset: 2cd67a8c7abc Author: jfranck Date: 2013-02-13 10:36 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/2cd67a8c7abc 8007278: Rename j.l.r.AnnotatedElement.getAnnotations(Class) to getAnnotationsByType(Class) Reviewed-by: darcy, abuckley ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/Package.java ! src/share/classes/java/lang/reflect/AccessibleObject.java ! src/share/classes/java/lang/reflect/AnnotatedElement.java ! src/share/classes/java/lang/reflect/Executable.java ! src/share/classes/java/lang/reflect/Field.java ! src/share/classes/java/lang/reflect/Parameter.java ! src/share/classes/sun/reflect/annotation/AnnotatedTypeFactory.java ! src/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java ! test/java/lang/annotation/TypeParamAnnotation.java ! test/java/lang/annotation/repeatingAnnotations/RepeatedUnitTest.java Changeset: cd111064d4e9 Author: zgu Date: 2013-02-12 14:47 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/cd111064d4e9 8006691: Remove jvm_version_info->is_kernel_jvm field Summary: Remove is_kernel_jvm field in jvm_version_info structure, as kernel VM has been deprecated Reviewed-by: mchung ! src/share/javavm/export/jvm.h Changeset: bf64f83aa0cd Author: vinnie Date: 2013-02-13 16:01 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/bf64f83aa0cd 8007934: algorithm parameters for PBE Scheme 2 not decoded correctly in PKCS12 keystore Reviewed-by: mullan ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java ! test/java/security/KeyStore/PBETest.java Changeset: ceb7c712c693 Author: vinnie Date: 2013-02-13 16:03 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/ceb7c712c693 Merge Changeset: 8181be9a3538 Author: dsamersoff Date: 2013-02-13 21:06 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/8181be9a3538 8008095: TEST_BUG: JDK-8002048 one more testcase failure on Solaris Summary: fixed couple of more Solaris shell incompatibilities Reviewed-by: chegar ! test/sun/management/jdp/JdpTest.sh Changeset: 11438befdd4c Author: vinnie Date: 2013-02-13 19:40 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/11438befdd4c 8007755: Support the logical grouping of keystores Reviewed-by: mullan ! src/share/classes/java/security/KeyStore.java + src/share/classes/sun/security/provider/DomainKeyStore.java ! src/share/classes/sun/security/provider/PolicyParser.java ! src/share/classes/sun/security/provider/Sun.java ! src/share/classes/sun/security/provider/SunEntries.java ! src/share/classes/sun/security/util/Resources.java + test/sun/security/provider/KeyStore/DKSTest.java + test/sun/security/provider/KeyStore/DKSTest.sh + test/sun/security/provider/KeyStore/domains.cfg ! test/sun/security/tools/keytool/AltProviderPath.sh ! test/sun/security/tools/keytool/DummyProvider.java Changeset: efc66fe16f91 Author: sherman Date: 2013-02-13 11:49 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/efc66fe16f91 8008161: Regression: j.u.TimeZone.getAvailableIDs(rawOffset) returns non-sorted list Summary: to return a sorted list Reviewed-by: lancea, naoto ! src/share/classes/sun/util/calendar/ZoneInfoFile.java ! test/sun/util/calendar/zi/TestZoneInfo310.java Changeset: ff80a6b2ae9b Author: lana Date: 2013-02-13 11:25 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/ff80a6b2ae9b Merge Changeset: a5aad284904e Author: lana Date: 2013-02-13 11:57 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/a5aad284904e Merge Changeset: 83c09292f5ad Author: ksrini Date: 2013-02-13 12:56 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/83c09292f5ad 8005750: [parfait] Memory leak at jdk/src/share/bin/parse_manifest.c Reviewed-by: jjh ! src/share/bin/parse_manifest.c Changeset: b13247d5408d Author: dcubed Date: 2013-02-13 13:22 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/b13247d5408d 8007935: java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh should use $COMPILEJAVA for javac Reviewed-by: sspitsyn, alanb ! test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh Changeset: 4f520ce7ba3f Author: acorn Date: 2013-02-13 16:09 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/4f520ce7ba3f 8007888: jdk fix default method: VerifyError: Illegal use of nonvirtual Summary: Recognize VM generated method in old verifier. With 8004967 Reviewed-by: coleenp, acorn Contributed-by: bharadwaj.yadavalli at oracle.com ! src/share/javavm/export/jvm.h ! src/share/native/common/check_code.c Changeset: e6f34051c60c Author: acorn Date: 2013-02-13 16:15 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e6f34051c60c Merge Changeset: dc3019a336c0 Author: lana Date: 2013-02-13 17:57 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/dc3019a336c0 Merge - src/share/classes/java/time/PeriodParser.java - src/share/classes/java/time/calendar/ChronoDateImpl.java - src/share/classes/java/time/calendar/HijrahChrono.java - src/share/classes/java/time/calendar/HijrahDate.java - src/share/classes/java/time/calendar/HijrahDeviationReader.java - src/share/classes/java/time/calendar/HijrahEra.java - src/share/classes/java/time/calendar/JapaneseChrono.java - src/share/classes/java/time/calendar/JapaneseDate.java - src/share/classes/java/time/calendar/JapaneseEra.java - src/share/classes/java/time/calendar/MinguoChrono.java - src/share/classes/java/time/calendar/MinguoDate.java - src/share/classes/java/time/calendar/MinguoEra.java - src/share/classes/java/time/calendar/Ser.java - src/share/classes/java/time/calendar/ThaiBuddhistChrono.java - src/share/classes/java/time/calendar/ThaiBuddhistDate.java - src/share/classes/java/time/calendar/ThaiBuddhistEra.java - src/share/classes/java/time/calendar/package-info.java - src/share/classes/java/time/format/DateTimeFormatters.java - src/share/classes/java/time/format/DateTimePrintException.java - src/share/classes/java/time/temporal/Chrono.java - src/share/classes/java/time/temporal/ChronoLocalDate.java - src/share/classes/java/time/temporal/ChronoLocalDateTime.java - src/share/classes/java/time/temporal/ChronoLocalDateTimeImpl.java - src/share/classes/java/time/temporal/ChronoZonedDateTime.java - src/share/classes/java/time/temporal/ChronoZonedDateTimeImpl.java - src/share/classes/java/time/temporal/Era.java - src/share/classes/java/time/temporal/ISOChrono.java - src/share/classes/java/time/temporal/ISOEra.java - src/share/classes/java/time/temporal/ISOFields.java - src/share/classes/java/time/temporal/MonthDay.java - src/share/classes/java/time/temporal/OffsetDate.java - src/share/classes/java/time/temporal/OffsetDateTime.java - src/share/classes/java/time/temporal/OffsetTime.java - src/share/classes/java/time/temporal/Ser.java - src/share/classes/java/time/temporal/SimplePeriod.java - src/share/classes/java/time/temporal/TemporalAdder.java - src/share/classes/java/time/temporal/TemporalSubtractor.java - src/share/classes/java/time/temporal/Year.java - src/share/classes/java/time/temporal/YearMonth.java - src/share/classes/sun/util/calendar/TzIDOldMapping.java - test/java/time/META-INF/services/java.time.temporal.Chrono - test/java/time/tck/java/time/calendar/CopticChrono.java - test/java/time/tck/java/time/calendar/CopticDate.java - test/java/time/tck/java/time/calendar/CopticEra.java - test/java/time/tck/java/time/calendar/TestChronoLocalDate.java - test/java/time/tck/java/time/calendar/TestChronoLocalDateTime.java - test/java/time/tck/java/time/calendar/TestHijrahChrono.java - test/java/time/tck/java/time/calendar/TestJapaneseChrono.java - test/java/time/tck/java/time/calendar/TestMinguoChrono.java - test/java/time/tck/java/time/calendar/TestServiceLoader.java - test/java/time/tck/java/time/calendar/TestThaiBuddhistChrono.java - test/java/time/tck/java/time/format/TCKDateTimePrintException.java - test/java/time/tck/java/time/temporal/TCKISOFields.java - test/java/time/tck/java/time/temporal/TCKMonthDay.java - test/java/time/tck/java/time/temporal/TCKOffsetDate.java - test/java/time/tck/java/time/temporal/TCKOffsetDateTime.java - test/java/time/tck/java/time/temporal/TCKOffsetTime.java - test/java/time/tck/java/time/temporal/TCKSimplePeriod.java - test/java/time/tck/java/time/temporal/TCKYear.java - test/java/time/tck/java/time/temporal/TCKYearMonth.java - test/java/time/tck/java/time/temporal/TestChrono.java - test/java/time/tck/java/time/temporal/TestISOChrono.java - test/java/time/test/java/time/TestPeriodParser.java - test/java/time/test/java/time/format/TestDateTimeFormatters.java - test/java/time/test/java/time/format/TestDateTimePrintException.java - test/java/time/test/java/time/format/TestPadParserDecorator.java - test/java/time/test/java/time/format/TestZoneIdParser.java - test/java/time/test/java/time/temporal/TestISOChronoImpl.java - test/java/time/test/java/time/temporal/TestMonthDay.java - test/java/time/test/java/time/temporal/TestOffsetDate.java - test/java/time/test/java/time/temporal/TestOffsetDateTime.java - test/java/time/test/java/time/temporal/TestOffsetDateTime_instants.java - test/java/time/test/java/time/temporal/TestOffsetTime.java - test/java/time/test/java/time/temporal/TestYear.java - test/java/time/test/java/time/temporal/TestYearMonth.java Changeset: 5ea0024ba765 Author: lana Date: 2013-02-14 22:12 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/5ea0024ba765 Merge Changeset: 90707943f83c Author: erikj Date: 2013-02-15 10:41 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/90707943f83c 8005879: Add -DMAC_OS_X_VERSION_MAX_ALLOWED=1070 to builds on Mac Reviewed-by: ohair ! make/common/Defs-macosx.gmk Changeset: 9a693ebd5595 Author: erikj Date: 2013-02-18 10:48 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/9a693ebd5595 Merge - src/macosx/classes/sun/lwawt/macosx/EventDispatchAccess.java - src/share/classes/java/time/PeriodParser.java - src/share/classes/java/time/calendar/ChronoDateImpl.java - src/share/classes/java/time/calendar/HijrahChrono.java - src/share/classes/java/time/calendar/HijrahDate.java - src/share/classes/java/time/calendar/HijrahDeviationReader.java - src/share/classes/java/time/calendar/HijrahEra.java - src/share/classes/java/time/calendar/JapaneseChrono.java - src/share/classes/java/time/calendar/JapaneseDate.java - src/share/classes/java/time/calendar/JapaneseEra.java - src/share/classes/java/time/calendar/MinguoChrono.java - src/share/classes/java/time/calendar/MinguoDate.java - src/share/classes/java/time/calendar/MinguoEra.java - src/share/classes/java/time/calendar/Ser.java - src/share/classes/java/time/calendar/ThaiBuddhistChrono.java - src/share/classes/java/time/calendar/ThaiBuddhistDate.java - src/share/classes/java/time/calendar/ThaiBuddhistEra.java - src/share/classes/java/time/calendar/package-info.java - src/share/classes/java/time/format/DateTimeFormatters.java - src/share/classes/java/time/format/DateTimePrintException.java - src/share/classes/java/time/temporal/Chrono.java - src/share/classes/java/time/temporal/ChronoLocalDate.java - src/share/classes/java/time/temporal/ChronoLocalDateTime.java - src/share/classes/java/time/temporal/ChronoLocalDateTimeImpl.java - src/share/classes/java/time/temporal/ChronoZonedDateTime.java - src/share/classes/java/time/temporal/ChronoZonedDateTimeImpl.java - src/share/classes/java/time/temporal/Era.java - src/share/classes/java/time/temporal/ISOChrono.java - src/share/classes/java/time/temporal/ISOEra.java - src/share/classes/java/time/temporal/ISOFields.java - src/share/classes/java/time/temporal/MonthDay.java - src/share/classes/java/time/temporal/OffsetDate.java - src/share/classes/java/time/temporal/OffsetDateTime.java - src/share/classes/java/time/temporal/OffsetTime.java - src/share/classes/java/time/temporal/Ser.java - src/share/classes/java/time/temporal/SimplePeriod.java - src/share/classes/java/time/temporal/TemporalAdder.java - src/share/classes/java/time/temporal/TemporalSubtractor.java - src/share/classes/java/time/temporal/Year.java - src/share/classes/java/time/temporal/YearMonth.java - src/share/classes/sun/util/calendar/TzIDOldMapping.java - test/java/time/META-INF/services/java.time.temporal.Chrono - test/java/time/tck/java/time/calendar/CopticChrono.java - test/java/time/tck/java/time/calendar/CopticDate.java - test/java/time/tck/java/time/calendar/CopticEra.java - test/java/time/tck/java/time/calendar/TestChronoLocalDate.java - test/java/time/tck/java/time/calendar/TestChronoLocalDateTime.java - test/java/time/tck/java/time/calendar/TestHijrahChrono.java - test/java/time/tck/java/time/calendar/TestJapaneseChrono.java - test/java/time/tck/java/time/calendar/TestMinguoChrono.java - test/java/time/tck/java/time/calendar/TestServiceLoader.java - test/java/time/tck/java/time/calendar/TestThaiBuddhistChrono.java - test/java/time/tck/java/time/format/TCKDateTimePrintException.java - test/java/time/tck/java/time/temporal/TCKISOFields.java - test/java/time/tck/java/time/temporal/TCKMonthDay.java - test/java/time/tck/java/time/temporal/TCKOffsetDate.java - test/java/time/tck/java/time/temporal/TCKOffsetDateTime.java - test/java/time/tck/java/time/temporal/TCKOffsetTime.java - test/java/time/tck/java/time/temporal/TCKSimplePeriod.java - test/java/time/tck/java/time/temporal/TCKYear.java - test/java/time/tck/java/time/temporal/TCKYearMonth.java - test/java/time/tck/java/time/temporal/TestChrono.java - test/java/time/tck/java/time/temporal/TestISOChrono.java - test/java/time/test/java/time/TestPeriodParser.java - test/java/time/test/java/time/format/TestDateTimeFormatters.java - test/java/time/test/java/time/format/TestDateTimePrintException.java - test/java/time/test/java/time/format/TestPadParserDecorator.java - test/java/time/test/java/time/format/TestZoneIdParser.java - test/java/time/test/java/time/temporal/TestISOChronoImpl.java - test/java/time/test/java/time/temporal/TestMonthDay.java - test/java/time/test/java/time/temporal/TestOffsetDate.java - test/java/time/test/java/time/temporal/TestOffsetDateTime.java - test/java/time/test/java/time/temporal/TestOffsetDateTime_instants.java - test/java/time/test/java/time/temporal/TestOffsetTime.java - test/java/time/test/java/time/temporal/TestYear.java - test/java/time/test/java/time/temporal/TestYearMonth.java Changeset: fb7e3edf22b2 Author: erikj Date: 2013-02-18 11:26 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/fb7e3edf22b2 8008294: build-infra: Build-infra closed fails on solaris 11.1 Reviewed-by: ohrstrom, dholmes, tbell ! makefiles/CompileDemos.gmk ! makefiles/CompileNativeLibraries.gmk Changeset: a23b0df73324 Author: erikj Date: 2013-02-18 11:27 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/a23b0df73324 8008295: build-infra: Cleanup in Import.gmk Reviewed-by: ohrstrom, tbell ! makefiles/Import.gmk Changeset: 32549d339437 Author: bpatel Date: 2013-01-21 00:31 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/32549d339437 8006124: javadoc/doclet should be updated to support profiles Reviewed-by: jjg, dholmes ! make/docs/Makefile Changeset: 80afadbf967d Author: alanb Date: 2013-01-21 01:46 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/80afadbf967d 8004182: Add support for profiles in javac Reviewed-by: dholmes ! make/common/Release.gmk Changeset: 353b88963430 Author: dholmes Date: 2013-01-21 21:54 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/353b88963430 8006651: build-infra: Import.gmk needs to add support for the minimal VM Reviewed-by: erikj, ohair ! makefiles/Import.gmk Changeset: 7096f51288ab Author: dholmes Date: 2013-01-21 23:17 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/7096f51288ab 8004265: Add build support for Compact Profiles Reviewed-by: erikj, ohair ! make/tools/src/build/tools/jarreorder/JarReorder.java ! makefiles/BuildJdk.gmk ! makefiles/CreateJars.gmk ! makefiles/Images.gmk + makefiles/ProfileNames.gmk + makefiles/Profiles.gmk Changeset: ccd0aceb1190 Author: alanb Date: 2013-01-21 23:20 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/ccd0aceb1190 8003255: (profiles) Update JAR file specification to support profiles Reviewed-by: dholmes, mchung, ksrini ! src/share/classes/java/net/URLClassLoader.java ! src/share/classes/java/util/jar/Attributes.java + src/share/classes/java/util/jar/UnsupportedProfileException.java ! src/share/classes/sun/launcher/LauncherHelper.java ! src/share/classes/sun/launcher/resources/launcher.properties ! src/share/classes/sun/misc/URLClassPath.java ! src/share/classes/sun/tools/jar/Main.java ! src/share/classes/sun/tools/jar/resources/jar.properties + test/java/net/URLClassLoader/profiles/Basic.java + test/java/net/URLClassLoader/profiles/Lib.java + test/java/net/URLClassLoader/profiles/basic.sh + test/tools/jar/AddAndUpdateProfile.java + test/tools/launcher/profiles/Basic.java + test/tools/launcher/profiles/Logging.java + test/tools/launcher/profiles/Main.java Changeset: c024147205f6 Author: alanb Date: 2013-01-21 23:21 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c024147205f6 8003256: (profiles) Add support for profile identification Reviewed-by: dholmes, mchung, ksrini ! make/java/version/Makefile ! makefiles/GensrcMisc.gmk ! src/share/classes/sun/misc/Version.java.template + test/tools/launcher/profiles/VersionCheck.java Changeset: 4b3434f5f509 Author: alanb Date: 2013-01-21 23:23 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/4b3434f5f509 8004931: add/removePropertyChangeListener should not exist in subset Profiles of Java SE Reviewed-by: dholmes, mchung, ksrini + make/tools/src/build/tools/RemoveMethods.java ! makefiles/Tools.gmk ! src/share/classes/java/util/jar/Pack200.java ! src/share/classes/java/util/logging/LogManager.java + test/java/util/logging/Reflect.java + test/tools/pack200/NoBeans.java + test/tools/pack200/Reflect.java Changeset: d9cfe581c8fe Author: alanb Date: 2013-01-21 23:35 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/d9cfe581c8fe 8004502: Compact Profiles contents Reviewed-by: dholmes, mchung + makefiles/profile-includes.txt + makefiles/profile-rtjar-includes.txt + test/java/lang/SecurityManager/NoAWT.java + test/java/security/cert/CertStore/NoLDAP.java + test/javax/management/remote/mandatory/connection/NoIIOP.java + test/javax/naming/InitialContext/NoApplet.java + test/sun/net/www/protocol/http/NoNTLM.java + test/sun/security/ssl/sanity/ciphersuites/NoKerberos.java Changeset: d1b29d290ebd Author: dholmes Date: 2013-01-22 19:31 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/d1b29d290ebd Merge Changeset: 0918d6d9c18b Author: dholmes Date: 2013-01-22 20:04 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/0918d6d9c18b 8006667: Merge issue: Profile attribute need to be examined before custom attributes Summary: swap profile checking and FXHelper checking Reviewed-by: alanb ! src/share/classes/sun/launcher/LauncherHelper.java Changeset: 77668918a388 Author: dholmes Date: 2013-02-04 18:08 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/77668918a388 Merge ! make/docs/Makefile ! makefiles/CreateJars.gmk ! makefiles/GensrcMisc.gmk ! makefiles/Tools.gmk ! src/share/classes/sun/misc/URLClassPath.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/CallbackInterface.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/Callback_Stub.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup_Stub.java Changeset: f308a689c049 Author: dholmes Date: 2013-02-17 16:44 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/f308a689c049 Merge ! makefiles/Tools.gmk - src/macosx/classes/sun/lwawt/macosx/EventDispatchAccess.java - src/share/classes/java/lang/annotation/ContainedBy.java - src/share/classes/java/lang/annotation/ContainerFor.java - src/share/classes/java/time/PeriodParser.java - src/share/classes/java/time/calendar/ChronoDateImpl.java - src/share/classes/java/time/calendar/HijrahChrono.java - src/share/classes/java/time/calendar/HijrahDate.java - src/share/classes/java/time/calendar/HijrahDeviationReader.java - src/share/classes/java/time/calendar/HijrahEra.java - src/share/classes/java/time/calendar/JapaneseChrono.java - src/share/classes/java/time/calendar/JapaneseDate.java - src/share/classes/java/time/calendar/JapaneseEra.java - src/share/classes/java/time/calendar/MinguoChrono.java - src/share/classes/java/time/calendar/MinguoDate.java - src/share/classes/java/time/calendar/MinguoEra.java - src/share/classes/java/time/calendar/Ser.java - src/share/classes/java/time/calendar/ThaiBuddhistChrono.java - src/share/classes/java/time/calendar/ThaiBuddhistDate.java - src/share/classes/java/time/calendar/ThaiBuddhistEra.java - src/share/classes/java/time/calendar/package-info.java - src/share/classes/java/time/format/DateTimeFormatters.java - src/share/classes/java/time/format/DateTimePrintException.java - src/share/classes/java/time/temporal/Chrono.java - src/share/classes/java/time/temporal/ChronoLocalDate.java - src/share/classes/java/time/temporal/ChronoLocalDateTime.java - src/share/classes/java/time/temporal/ChronoLocalDateTimeImpl.java - src/share/classes/java/time/temporal/ChronoZonedDateTime.java - src/share/classes/java/time/temporal/ChronoZonedDateTimeImpl.java - src/share/classes/java/time/temporal/Era.java - src/share/classes/java/time/temporal/ISOChrono.java - src/share/classes/java/time/temporal/ISOEra.java - src/share/classes/java/time/temporal/ISOFields.java - src/share/classes/java/time/temporal/MonthDay.java - src/share/classes/java/time/temporal/OffsetDate.java - src/share/classes/java/time/temporal/OffsetDateTime.java - src/share/classes/java/time/temporal/OffsetTime.java - src/share/classes/java/time/temporal/Ser.java - src/share/classes/java/time/temporal/SimplePeriod.java - src/share/classes/java/time/temporal/TemporalAdder.java - src/share/classes/java/time/temporal/TemporalSubtractor.java - src/share/classes/java/time/temporal/Year.java - src/share/classes/java/time/temporal/YearMonth.java - src/share/classes/sun/util/calendar/TzIDOldMapping.java - test/java/net/URL/abnormal_http_urls - test/java/net/URL/ftp_urls - test/java/net/URL/jar_urls - test/java/net/URL/normal_http_urls - test/java/net/URL/runconstructor.sh - test/java/net/URL/share_file_urls - test/java/net/URL/win32_file_urls - test/java/time/META-INF/services/java.time.temporal.Chrono - test/java/time/tck/java/time/calendar/CopticChrono.java - test/java/time/tck/java/time/calendar/CopticDate.java - test/java/time/tck/java/time/calendar/CopticEra.java - test/java/time/tck/java/time/calendar/TestChronoLocalDate.java - test/java/time/tck/java/time/calendar/TestChronoLocalDateTime.java - test/java/time/tck/java/time/calendar/TestHijrahChrono.java - test/java/time/tck/java/time/calendar/TestJapaneseChrono.java - test/java/time/tck/java/time/calendar/TestMinguoChrono.java - test/java/time/tck/java/time/calendar/TestServiceLoader.java - test/java/time/tck/java/time/calendar/TestThaiBuddhistChrono.java - test/java/time/tck/java/time/format/TCKDateTimePrintException.java - test/java/time/tck/java/time/temporal/TCKISOFields.java - test/java/time/tck/java/time/temporal/TCKMonthDay.java - test/java/time/tck/java/time/temporal/TCKOffsetDate.java - test/java/time/tck/java/time/temporal/TCKOffsetDateTime.java - test/java/time/tck/java/time/temporal/TCKOffsetTime.java - test/java/time/tck/java/time/temporal/TCKSimplePeriod.java - test/java/time/tck/java/time/temporal/TCKYear.java - test/java/time/tck/java/time/temporal/TCKYearMonth.java - test/java/time/tck/java/time/temporal/TestChrono.java - test/java/time/tck/java/time/temporal/TestISOChrono.java - test/java/time/test/java/time/TestPeriodParser.java - test/java/time/test/java/time/format/TestDateTimeFormatters.java - test/java/time/test/java/time/format/TestDateTimePrintException.java - test/java/time/test/java/time/format/TestPadParserDecorator.java - test/java/time/test/java/time/format/TestZoneIdParser.java - test/java/time/test/java/time/temporal/TestISOChronoImpl.java - test/java/time/test/java/time/temporal/TestMonthDay.java - test/java/time/test/java/time/temporal/TestOffsetDate.java - test/java/time/test/java/time/temporal/TestOffsetDateTime.java - test/java/time/test/java/time/temporal/TestOffsetDateTime_instants.java - test/java/time/test/java/time/temporal/TestOffsetTime.java - test/java/time/test/java/time/temporal/TestYear.java - test/java/time/test/java/time/temporal/TestYearMonth.java - test/sun/net/www/EncDec.doc - test/sun/net/www/MarkResetTest.java - test/sun/net/www/MarkResetTest.sh - test/sun/security/util/Oid/S11N.sh - test/sun/security/util/Oid/SerialTest.java Changeset: 16c684b2ab82 Author: alanb Date: 2013-02-18 08:57 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/16c684b2ab82 8007436: (profiles) Add JSR-310 to Compact Profiles contents Reviewed-by: dholmes, erikj ! makefiles/profile-includes.txt ! makefiles/profile-rtjar-includes.txt Changeset: c24bc91caa67 Author: dholmes Date: 2013-02-18 15:35 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c24bc91caa67 Merge ! makefiles/Import.gmk Changeset: b46c75e221c7 Author: dholmes Date: 2013-02-19 06:27 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/b46c75e221c7 8008424: Isolate PROFILE make variable from incidental setting in the environment Reviewed-by: erikj, alanb ! makefiles/BuildJdk.gmk Changeset: 6f4615fd32da Author: alanb Date: 2013-02-19 11:08 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/6f4615fd32da 8007097: (profiles) Build needs test to ensure that profile definitions are updated Reviewed-by: dholmes, erikj - make/tools/src/build/tools/RemoveMethods.java + make/tools/src/build/tools/classfile/RemoveMethods.java + make/tools/src/build/tools/deps/CheckDeps.java + make/tools/src/build/tools/deps/refs.allowed ! makefiles/Images.gmk ! makefiles/Tools.gmk ! makefiles/profile-rtjar-includes.txt Changeset: 033f2707ef32 Author: alanb Date: 2013-02-19 11:32 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/033f2707ef32 Merge Changeset: 00b7535d743f Author: dholmes Date: 2013-02-19 17:32 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/00b7535d743f 8008481: Dependency analyzer needs exclusion for profile builds with JFR disabled Reviewed-by: alanb ! make/tools/src/build/tools/deps/refs.allowed Changeset: bb97c93e4fd7 Author: katleman Date: 2013-02-21 11:13 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/bb97c93e4fd7 Added tag jdk8-b78 for changeset 00b7535d743f ! .hgtags From john.coomes at oracle.com Fri Feb 22 13:54:17 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 22 Feb 2013 21:54:17 +0000 Subject: hg: hsx/hotspot-rt/langtools: 24 new changesets Message-ID: <20130222215530.E68ED47D27@hg.openjdk.java.net> Changeset: de932285124c Author: jjg Date: 2013-02-05 21:55 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/de932285124c 8007485: test creates .class files in the test/ directory Reviewed-by: mcimadamore ! test/tools/javac/api/8007344/Test.java Changeset: 1df20330f6bd Author: mcimadamore Date: 2013-02-06 14:03 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/1df20330f6bd 8007463: Cleanup inference related classes Summary: Make Infer.InferenceContext an inner class; adjust bound replacement logic in Type.UndetVar Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/code/Types.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/DeferredAttr.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/util/List.java ! test/tools/javac/generics/inference/7154127/T7154127.out ! test/tools/javac/lib/DPrinter.java Changeset: 8cdd96f2fdb9 Author: mcimadamore Date: 2013-02-06 14:04 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/8cdd96f2fdb9 8007479: Refactor DeferredAttrContext so that it points to parent context Summary: Move DeferredAttrNode out of DeferredAttrContext; add support for nested deferred contexts Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java Changeset: 153d20d0cac5 Author: jjg Date: 2013-02-06 07:49 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/153d20d0cac5 8007566: DocLint too aggressive with not allowed here:

Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/doclint/Checker.java + test/tools/doclint/ParaTagTest.java Changeset: b386b8c45387 Author: jjh Date: 2013-02-06 23:10 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/b386b8c45387 8007698: jtreg test T6306137.java won't compile with ASCII encoding Reviewed-by: ksrini ! test/tools/javac/api/T6306137.java Changeset: 5125b9854d07 Author: darcy Date: 2013-02-07 20:47 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/5125b9854d07 7195131: Update 2 compiler combo tests for repeating annotations to include package and default use cases Reviewed-by: darcy Contributed-by: sonali.goel at oracle.com ! test/tools/javac/annotations/repeatingAnnotations/combo/Helper.java + test/tools/javac/annotations/repeatingAnnotations/combo/TargetAnnoCombo.java + test/tools/javac/annotations/repeatingAnnotations/combo/TestCaseGenerator.java Changeset: 762d0af062f5 Author: vromero Date: 2013-02-08 09:12 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/762d0af062f5 7166455: javac doesn't set ACC_STRICT bit on for strictfp class Reviewed-by: mcimadamore ! 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/jvm/Gen.java + test/tools/javac/7166455/CheckACC_STRICTFlagOnclinitTest.java Changeset: b1deb90d2e37 Author: vromero Date: 2013-02-08 09:15 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/b1deb90d2e37 8005931: javac doesn't set ACC_STRICT for classes with package access Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java + test/tools/javac/8005931/CheckACC_STRICTFlagOnPkgAccessClassTest.java Changeset: 017e8bdd440f Author: vromero Date: 2013-02-08 09:21 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/017e8bdd440f 7167125: Two variables after the same operation in a inner class return different results Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Lower.java + test/tools/javac/7167125/DiffResultAfterSameOperationInnerClasses.java Changeset: 60caf53b98e2 Author: jjg Date: 2013-02-08 17:35 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/60caf53b98e2 8007610: javadoc doclint does not work with -private Reviewed-by: darcy ! src/share/classes/com/sun/tools/javadoc/DocEnv.java ! test/com/sun/javadoc/T6735320/T6735320.java ! test/tools/javadoc/doclint/DocLintTest.java Changeset: 01af1b5c631d Author: darcy Date: 2013-02-11 13:37 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/01af1b5c631d 8007574: Provide isFunctionalInterface in javax.lang.model Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/model/JavacElements.java ! src/share/classes/javax/lang/model/element/TypeElement.java ! src/share/classes/javax/lang/model/util/Elements.java + test/tools/javac/processing/model/util/elements/TestIsFunctionalInterface.java Changeset: 973646bf043a Author: jfranck Date: 2013-02-12 11:28 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/973646bf043a 8004822: RFE to write language model API tests for repeating annotations based on the spec updates Reviewed-by: jjg, abuckley Contributed-by: Matherey Nunez + test/tools/javac/processing/model/element/repeatingAnnotations/ElementRepAnnoTester.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerBasicTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedA1Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedA2Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedB1Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedB2Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerBasicTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerInheritedA1Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerInheritedA2Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerInheritedB1Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerInheritedB2Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/OfficialContainerBasicTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/OfficialContainerInheritedTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/RepeatableBasicTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/RepeatableInheritedTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOfficialContainerBasicTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOfficialContainerInheritedTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOverrideATest.java + test/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOverrideBTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/SingularBasicTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/SingularInheritedATest.java + test/tools/javac/processing/model/element/repeatingAnnotations/SingularInheritedBTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/UnofficialContainerBasicTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/UnofficialContainerInheritedTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/Bar.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/BarContainer.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/BarContainerContainer.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/BarInherited.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/BarInheritedContainer.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/BarInheritedContainerContainer.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/ExpectedBase.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/ExpectedContainer.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/Foo.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/FooInherited.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/UnofficialContainer.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/UnofficialInheritedContainer.java Changeset: 073696f59241 Author: vromero Date: 2013-02-12 13:36 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/073696f59241 8006334: javap, JavapTask constructor breaks with null pointer exception if parameter options is null Reviewed-by: jjg ! src/share/classes/com/sun/tools/javap/JavapTask.java + test/tools/javap/8006334/JavapTaskCtorFailWithNPE.java Changeset: 2154ed9ff6c8 Author: mcimadamore Date: 2013-02-12 19:25 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/2154ed9ff6c8 8007464: Add graph inference support Summary: Add support for more aggressive type-inference scheme Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Source.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java + src/share/classes/com/sun/tools/javac/util/GraphUtils.java ! test/tools/javac/6758789/T6758789b.out ! test/tools/javac/Diagnostics/6799605/T6799605.out ! test/tools/javac/diags/examples/CantApplyDiamond1.java ! test/tools/javac/diags/examples/InferredDoNotConformToEq.java ! test/tools/javac/diags/examples/InferredDoNotConformToUpper.java ! test/tools/javac/diags/examples/WhereFreshTvar.java ! test/tools/javac/generics/7015430/T7015430.out ! test/tools/javac/generics/7151802/T7151802.out ! test/tools/javac/generics/diamond/neg/Neg06.out ! test/tools/javac/generics/inference/6278587/T6278587Neg.java ! test/tools/javac/generics/inference/6638712/T6638712d.out ! test/tools/javac/generics/inference/6638712/T6638712e.out ! test/tools/javac/generics/inference/7154127/T7154127.java ! test/tools/javac/generics/inference/7154127/T7154127.out ! test/tools/javac/generics/inference/7177306/T7177306a.out ! test/tools/javac/generics/inference/7177306/T7177306e.java ! test/tools/javac/generics/inference/7177306/T7177306e.out ! test/tools/javac/generics/odersky/BadTest4.java ! test/tools/javac/lambda/TargetType14.out ! test/tools/javac/lambda/TargetType20.java - test/tools/javac/lambda/TargetType20.out ! test/tools/javac/lambda/TargetType28.out ! test/tools/javac/lambda/TargetType50.java - test/tools/javac/lambda/TargetType50.out ! test/tools/javac/lambda/TargetType51.java ! test/tools/javac/lambda/TargetType52.java ! test/tools/javac/lambda/TargetType52.out + test/tools/javac/lambda/TargetType53.java + test/tools/javac/lambda/TargetType54.java + test/tools/javac/lambda/TargetType55.java + test/tools/javac/lambda/TargetType56.java + test/tools/javac/lambda/TargetType57.java + test/tools/javac/lambda/TargetType57.out + test/tools/javac/lambda/TargetType58.java + test/tools/javac/lambda/TargetType59.java + test/tools/javac/lambda/TargetType61.java + test/tools/javac/lambda/TargetType62.java Changeset: bc456436c613 Author: jjg Date: 2013-02-12 17:15 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/bc456436c613 8008077: update reference impl for type-annotations Reviewed-by: jjg Contributed-by: wmdietl at cs.washington.edu ! src/share/classes/com/sun/tools/classfile/ClassWriter.java ! src/share/classes/com/sun/tools/classfile/TypeAnnotation.java ! src/share/classes/com/sun/tools/javac/code/TargetType.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/Attr.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/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/tree/TreeInfo.java ! src/share/classes/com/sun/tools/javap/AnnotationWriter.java + test/tools/javac/annotations/typeAnnotations/failures/LazyConstantValue.java + test/tools/javac/annotations/typeAnnotations/failures/TypeVariable.java ! test/tools/javac/annotations/typeAnnotations/failures/VoidGenericMethod.java + test/tools/javac/annotations/typeAnnotations/newlocations/Lambda.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/Lambda.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodParameters.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/TypeCasts.java Changeset: aeadaf905d78 Author: jfranck Date: 2013-02-13 10:33 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/aeadaf905d78 8007279: Rename javax.l.model.element.Element.getAnnotations(Class) to getAnnotationsByType(Class) Reviewed-by: darcy, abuckley ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/javax/lang/model/element/Element.java ! test/tools/javac/processing/model/element/repeatingAnnotations/ElementRepAnnoTester.java Changeset: d04960f05593 Author: mcimadamore Date: 2013-02-13 17:04 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/d04960f05593 8006345: Report Synthesized Parameters in java.lang.reflect.Parameter API 8006896: ClassReader doesn't see MethodParameters attr for method of anon inner class 8007098: Output Synthesized Parameters to MethodParameters Attributes Summary: Correctly report synthesized and mandated parameters Reviewed-by: mcimadamore, jjg Contributed-by: eric.mccorkle at oracle.com ! src/share/classes/com/sun/tools/classfile/AccessFlags.java ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/comp/Lower.java ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javap/AttributeWriter.java Changeset: 3f9875aa5d67 Author: lana Date: 2013-02-13 11:25 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/3f9875aa5d67 Merge Changeset: a3aa32fe4536 Author: lana Date: 2013-02-14 22:11 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/a3aa32fe4536 Merge Changeset: 5f0731e4e5e6 Author: bpatel Date: 2013-01-21 00:45 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/5f0731e4e5e6 8006124: javadoc/doclet should be updated to support profiles Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractPackageIndexWriter.java + src/share/classes/com/sun/tools/doclets/formats/html/AbstractProfileIndexWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/FrameOutputWriter.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/PackageIndexFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java + src/share/classes/com/sun/tools/doclets/formats/html/ProfileIndexFrameWriter.java + src/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageFrameWriter.java + src/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageIndexFrameWriter.java + src/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageWriterImpl.java + src/share/classes/com/sun/tools/doclets/formats/html/ProfileWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/WriterFactoryImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlConstants.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties ! src/share/classes/com/sun/tools/doclets/internal/toolkit/AbstractDoclet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java + src/share/classes/com/sun/tools/doclets/internal/toolkit/ProfilePackageSummaryWriter.java + src/share/classes/com/sun/tools/doclets/internal/toolkit/ProfileSummaryWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/WriterFactory.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/BuilderFactory.java + src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ProfilePackageSummaryBuilder.java + src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ProfileSummaryBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclet.xml ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets.properties ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/stylesheet.css ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocPaths.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MetaKeywords.java + test/com/sun/javadoc/testProfiles/TestProfiles.java + test/com/sun/javadoc/testProfiles/pkg1/Class1Pkg1.java + test/com/sun/javadoc/testProfiles/pkg1/Class2Pkg1.java + test/com/sun/javadoc/testProfiles/pkg1/Class3Pkg1.java + test/com/sun/javadoc/testProfiles/pkg1/Interface1Pkg1.java + test/com/sun/javadoc/testProfiles/pkg2/Anno1Pkg2.java + test/com/sun/javadoc/testProfiles/pkg2/Anno2Pkg2.java + test/com/sun/javadoc/testProfiles/pkg2/Class1Pkg2.java + test/com/sun/javadoc/testProfiles/pkg3/Class1Pkg3.java + test/com/sun/javadoc/testProfiles/pkg3/Class2Pkg3.java + test/com/sun/javadoc/testProfiles/pkg3/Interface1Pkg3.java + test/com/sun/javadoc/testProfiles/pkg4/Anno1Pkg4.java + test/com/sun/javadoc/testProfiles/pkg4/Class1Pkg4.java + test/com/sun/javadoc/testProfiles/pkg5/Class1Pkg5.java + test/com/sun/javadoc/testProfiles/pkg5/Interface1Pkg5.java + test/com/sun/javadoc/testProfiles/profile-rtjar-includes.txt Changeset: 475eb15dfdad Author: jjg Date: 2013-01-21 01:27 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/475eb15dfdad 8004182: Add support for profiles in javac Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Symtab.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/jvm/ClassReader.java + src/share/classes/com/sun/tools/javac/jvm/Profile.java ! src/share/classes/com/sun/tools/javac/jvm/Target.java ! src/share/classes/com/sun/tools/javac/main/Main.java ! src/share/classes/com/sun/tools/javac/main/Option.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/resources/javac.properties ! src/share/classes/com/sun/tools/javac/sym/CreateSymbols.java + src/share/classes/com/sun/tools/javac/sym/Profiles.java ! src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java + test/tools/javac/diags/examples/NotInProfile.java + test/tools/javac/profiles/ProfileOptionTest.java Changeset: f91144b7da75 Author: dholmes Date: 2013-02-04 18:08 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/f91144b7da75 Merge ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets.properties ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Symtab.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/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java - test/tools/javac/annotations/repeatingAnnotations/MissingContainedBy.java - test/tools/javac/annotations/repeatingAnnotations/MissingContainerFor.java - test/tools/javac/annotations/repeatingAnnotations/UseWrongContainedBy.java - test/tools/javac/annotations/repeatingAnnotations/UseWrongContainerFor.java - test/tools/javac/annotations/repeatingAnnotations/WrongContainedBy.java - test/tools/javac/annotations/repeatingAnnotations/WrongContainerFor.java - test/tools/javac/diags/examples/ContainedByDocumentedMismatch.java - test/tools/javac/diags/examples/ContainedByInheritedMismatch.java - test/tools/javac/diags/examples/ContainedByNoValue.java - test/tools/javac/diags/examples/ContainedByNonDefault.java - test/tools/javac/diags/examples/ContainedByRetentionMismatch.java - test/tools/javac/diags/examples/ContainedByTargetMismatch.java - test/tools/javac/diags/examples/ContainedByWrongValueType.java - test/tools/javac/diags/examples/InferredDoNotConformToLower.java - test/tools/javac/diags/examples/NoUniqueMaximalInstance.java - test/tools/javac/diags/examples/WrongContainedBy.java - test/tools/javac/diags/examples/WrongContainerFor.java - test/tools/javac/lambda/MethodReference26.out - test/tools/javac/lambda/TargetType06.out - test/tools/javac/lambda/TargetType11.out - test/tools/javac/lambda/TargetType45.out - test/tools/javac/lambda/VoidCompatibility.out - test/tools/javac/typeAnnotations/newlocations/BasicTest.java - test/tools/javac/typeAnnotations/newlocations/BasicTest.out Changeset: af8417e590f4 Author: dholmes Date: 2013-02-17 16:44 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/af8417e590f4 Merge ! src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java ! src/share/classes/com/sun/tools/javac/code/Flags.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/jvm/ClassReader.java - test/tools/javac/lambda/TargetType20.out - test/tools/javac/lambda/TargetType50.out Changeset: 56dfafbb9e1a Author: katleman Date: 2013-02-21 11:13 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/56dfafbb9e1a Added tag jdk8-b78 for changeset af8417e590f4 ! .hgtags From joe.darcy at oracle.com Fri Feb 22 14:09:18 2013 From: joe.darcy at oracle.com (Joe Darcy) Date: Fri, 22 Feb 2013 14:09:18 -0800 Subject: 8008662: Add @jdk.Supported to JDK-specific/supported API In-Reply-To: References: <51266B7C.3040804@oracle.com> <5126D516.1040005@oracle.com> <5127C4D4.5090800@oracle.com> Message-ID: <5127EC8E.4040608@oracle.com> Hi Martin, On 2/22/2013 1:40 PM, Martin Buchholz wrote: > Hi Joe, > > On Fri, Feb 22, 2013 at 11:19 AM, Joe Darcy > wrote: > > >> Should third-party vendor extensions that are "supported" for >> public use by the third-party use jdk.Supported? > > No; as I envision it, the jdk.Supported annotation is only meant > to convey supported-ness in the JDK of parts of the JDK. > > > Depends on what you mean by "JDK". Suppose the icedtea project added > a public "supported" method usesSystemZlib(). It would be good to > provide guidance what package to put this in (org.classpath.* ?) and > how to indicate level of support (by the icedtea project). > > Suppose the IcedTea project decided to officially support > sun.misc.Unsafe. Would they do this by adding jdk.Supported > annotation to their version of Unsafe.java, even if their upstream > chose not to? For some definition of "JDK", IcedTea is "JDK" too since they provide a JDK distribution, one at least a little distinct from plain OpenJDK and also distinct from OracleJDK. The long-standing problem I wanted to address was clearly indicating whether or not the upstream code in shared JDK 8 sources was regarded as a public API or not. So I don't think it would necessarily be inappropriate for a hypothetical org.classpath type to use jdk.Supported, but I wasn't really thinking about that use case. > > What about the X's in hotspot flags and the java tools command line > interfaces? > > > The policy around command line interfaces is unchanged; the > interfaces are mostly stable, but the more X's are in a flags > name, the less stable it can be. > > > We all learned this by indoctrination from the local sensei greybeard, > but where is it documented for the wider world? There is some approximation to that guidance in the java man page; options without a "X" prefix are described as "standard" and ones with at least one "X" are described as "non-standard." Not all XX options are included in the man page. > > Perhaps Supported isn't a binary thing, but needs to capture different > levels of support? > Solaris has had such support levels. > A "beta" ("laba", "experimental") support level is very useful for > introducing new technology. > > It's a very hard problem, especially in a 1000 flowers world. Yes, I'm vaguely aware that Solaris has had a rich taxonomy in this space and there are, IIRC, dtrace tools to audit if you are calling any sufficient unapproved APIs. However, at least as a first cut, I think a binary supported / not-supported distinction captures at least 80% of the distinction that needs to be made for the purposes of the JDK. Anything more involves much less favorable complexity vs benefit trade-offs. -Joe -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130222/1b9c8c9c/attachment-0001.html From yumin.qi at oracle.com Fri Feb 22 18:56:30 2013 From: yumin.qi at oracle.com (yumin.qi at oracle.com) Date: Sat, 23 Feb 2013 02:56:30 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 27 new changesets Message-ID: <20130223025724.5D69B47D4A@hg.openjdk.java.net> Changeset: 1f84c84f8e1a Author: katleman Date: 2013-02-14 11:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/1f84c84f8e1a Added tag jdk8-b77 for changeset cdb46031e718 ! .hgtags Changeset: 9f19f4a7d48a Author: amurillo Date: 2013-02-15 13:27 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/9f19f4a7d48a Merge Changeset: d5e12e7d2f71 Author: amurillo Date: 2013-02-15 13:27 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/d5e12e7d2f71 Added tag hs25-b19 for changeset 9f19f4a7d48a ! .hgtags Changeset: 57b81d6c3641 Author: amurillo Date: 2013-02-15 13:36 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/57b81d6c3641 8008286: new hotspot build - hs25-b20 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 20fff74158eb Author: sspitsyn Date: 2013-02-20 08:51 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/20fff74158eb Merge Changeset: bbc7936779f9 Author: brutisso Date: 2013-02-14 09:11 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/bbc7936779f9 8006398: Add regression tests for deprectated GCs Reviewed-by: ehelin, jwilhelm, jmasa ! test/TEST.ROOT + test/gc/startup_warnings/TestCMS.java + test/gc/startup_warnings/TestCMSIncrementalMode.java + test/gc/startup_warnings/TestCMSNoIncrementalMode.java + test/gc/startup_warnings/TestDefNewCMS.java + test/gc/startup_warnings/TestG1.java + test/gc/startup_warnings/TestIncGC.java + test/gc/startup_warnings/TestParNewCMS.java + test/gc/startup_warnings/TestParNewSerialOld.java + test/gc/startup_warnings/TestParallelGC.java + test/gc/startup_warnings/TestParallelScavengeSerialOld.java + test/gc/startup_warnings/TestSerialGC.java Changeset: fd7b3770c77e Author: tamao Date: 2013-02-14 14:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/fd7b3770c77e 8007764: Wrong initialized value of max_gc_pause_sec for an instance of class AdaptiveSizePolicy Summary: This is a fix of an initialization mistake for class AdaptiveSizePolicy. Reviewed-by: jmasa Contributed-by: Tao Mao ! src/share/vm/memory/collectorPolicy.cpp Changeset: ccc57295818b Author: johnc Date: 2013-02-19 16:22 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/ccc57295818b 8006628: NEED_TEST for JDK-8002870 Summary: Regression test for 8000311. Verifies that PLABStats works with zero parallel GC threads. Reviewed-by: jmasa, johnc Contributed-by: Filipp Zhinkin + test/gc/8000311/Test8000311.java Changeset: b9c5e46bf915 Author: johnc Date: 2013-02-20 12:52 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/b9c5e46bf915 8008188: Add regression test for 8005875 Summary: Add regression test for crash seen in 8005875. Test is run with G1 and PGCT=0 and issues "jcmd Thread.print" against itself. Without the fix for 8005875 the test will crash. Reviewed-by: brutisso + test/gc/TestG1ZeroPGCTJcmdThreadPrint.java Changeset: 5741d3fc502d Author: brutisso Date: 2013-02-21 13:13 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/5741d3fc502d Merge Changeset: c59b7900a2bd Author: roland Date: 2013-02-18 09:06 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/c59b7900a2bd 8007959: Use expensive node logic for more math nodes Summary: use expensive node logic for other more math nodes. Reviewed-by: kvn ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/subnode.hpp Changeset: 514efad5e81a Author: drchase Date: 2013-02-18 14:29 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/514efad5e81a 8008180: Several tests in compiler/5091921 need more time to run Summary: Added an explicit timeouts. Reviewed-by: kvn, twisti ! test/compiler/5091921/Test6850611.java ! test/compiler/5091921/Test6890943.java ! test/compiler/5091921/Test6905845.java ! test/compiler/5091921/Test6992759.java Changeset: a2bc322ca273 Author: drchase Date: 2013-02-18 15:08 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/a2bc322ca273 7102300: performance warnings cause results diff failure in Test6890943 Summary: Strip lines matching the performance warning from the output before diff. Reviewed-by: kvn ! test/compiler/5091921/Test6890943.sh Changeset: ad736b4683b4 Author: kvn Date: 2013-02-18 16:47 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/ad736b4683b4 8004867: VM crashing with assert "share/vm/opto/node.hpp:357 - assert(i < _max) failed: oob" Summary: Added few checks and early bailout from Superword optimization to avoid such cases in a future. Reviewed-by: roland, twisti ! src/share/vm/opto/superword.cpp ! src/share/vm/opto/superword.hpp + test/compiler/8004867/TestIntAtomicCAS.java + test/compiler/8004867/TestIntAtomicOrdered.java + test/compiler/8004867/TestIntAtomicVolatile.java + test/compiler/8004867/TestIntUnsafeCAS.java + test/compiler/8004867/TestIntUnsafeOrdered.java + test/compiler/8004867/TestIntUnsafeVolatile.java Changeset: 2e4b16122164 Author: vlivanov Date: 2013-02-21 06:29 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/2e4b16122164 Merge Changeset: 579f6adb7f51 Author: jprovino Date: 2013-02-05 13:32 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/579f6adb7f51 8003539: Minimal VM don't react to -Dcom.sun.management and -XX:+ManagementServer Summary: A warning message should be displayed if these options are used with the Minimal VM. Reviewed-by: dholmes, dsamersoff ! src/share/vm/runtime/arguments.cpp Changeset: 9e2da96f9976 Author: bpittore Date: 2013-02-08 16:08 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/9e2da96f9976 Merge ! src/share/vm/runtime/arguments.cpp Changeset: 6c2da81297c5 Author: kvn Date: 2013-02-12 09:54 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/6c2da81297c5 Merge ! src/share/vm/runtime/arguments.cpp Changeset: 84a926fe53d0 Author: bpittore Date: 2013-01-24 13:27 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/84a926fe53d0 8005722: Assert in c1_LIR.hpp incorrect wrt to number of register operands Summary: In LIR_OpVisitState::visit() the receiver operand is processed twice Reviewed-by: roland, vladidan ! src/share/vm/c1/c1_LIR.cpp Changeset: cf9a2071eeac Author: jprovino Date: 2013-02-14 11:07 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/cf9a2071eeac 8006878: Some non-existent GC source files are in the minimalVM exclude list. Summary: cmsPermGen.cpp, psPermGen.cpp have been removed. yieldWorkingGroup.cpp typo is fixed. immutableSpace.cpp was in the list twice. Reviewed-by: dholmes, jmasa ! make/excludeSrc.make ! src/share/vm/utilities/yieldingWorkgroup.cpp Changeset: 1605eef8e11e Author: jprovino Date: 2013-02-14 11:08 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/1605eef8e11e 8003581: UseG1GC is not properly accounted for by INCLUDE_ALTERNATE_GCS Summary: Fix warning messages when selected garbage collectors are excluded from the minimal jvm. Reviewed-by: dholmes, cjplummer ! src/share/vm/runtime/arguments.cpp Changeset: 9c7d0948523f Author: jprovino Date: 2013-02-15 14:42 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/9c7d0948523f Merge Changeset: 1ba18258caa4 Author: bpittore Date: 2013-02-15 21:53 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/1ba18258caa4 Merge ! src/share/vm/runtime/arguments.cpp Changeset: abf488c22e09 Author: bpittore Date: 2013-02-20 23:29 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/abf488c22e09 Merge Changeset: 2af22eb04623 Author: vladidan Date: 2013-02-21 09:08 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/2af22eb04623 Merge Changeset: ed96c6015470 Author: vladidan Date: 2013-02-21 11:39 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/ed96c6015470 Merge Changeset: 94478a033036 Author: sspitsyn Date: 2013-02-22 10:16 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/94478a033036 Merge - agent/make/bugspot.bat - agent/src/share/classes/sun/jvm/hotspot/asm/amd64/AMD64FloatRegister.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpot.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpotAgent.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/JavaLineNumberInfo.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/Main.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/PCFinder.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/PackageScanner.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/RegisterPanel.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/StackTraceEntry.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/StackTracePanel.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/ThreadListPanel.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/VariablePanel.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/AddressTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/DoubleTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/EnumTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/FieldTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/FloatTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/LongTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/ObjectTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/BreakpointEvent.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/CIntegerAccessor.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/CStringAccessor.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/Event.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/ExceptionEvent.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/JNIHandleAccessor.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/ServiceabilityAgentJVMDIModule.java - agent/src/share/native/jvmdi/sa.cpp - agent/src/share/native/jvmdi/sa.dsp - agent/src/share/native/jvmdi/sa.dsw - agent/src/share/native/jvmdi/sa.hpp - make/bsd/makefiles/wb.make - make/linux/makefiles/wb.make - make/solaris/makefiles/wb.make - make/windows/makefiles/wb.make - src/share/tools/whitebox/sun/hotspot/WhiteBox.java - src/share/tools/whitebox/sun/hotspot/parser/DiagnosticCommand.java ! src/share/vm/runtime/arguments.cpp From joe.darcy at oracle.com Sat Feb 23 13:32:52 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Sat, 23 Feb 2013 21:32:52 +0000 Subject: hg: jdk8/tl/jdk: 6556996: (ann spec) SuppressWarnings strings should be documented Message-ID: <20130223213315.CE89947D92@hg.openjdk.java.net> Changeset: 6f9b3e216b01 Author: darcy Date: 2013-02-23 13:32 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/6f9b3e216b01 6556996: (ann spec) SuppressWarnings strings should be documented Reviewed-by: mduigou, chegar, abuckley ! src/share/classes/java/lang/Deprecated.java ! src/share/classes/java/lang/Override.java ! src/share/classes/java/lang/SafeVarargs.java ! src/share/classes/java/lang/SuppressWarnings.java ! src/share/classes/java/lang/annotation/Inherited.java ! src/share/classes/java/lang/annotation/Retention.java ! src/share/classes/java/lang/annotation/Target.java From jonathan.gibbons at oracle.com Sun Feb 24 11:38:23 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Sun, 24 Feb 2013 19:38:23 +0000 Subject: hg: jdk8/tl/langtools: 7112427: The doclet needs to be able to generate JavaFX documentation. Message-ID: <20130224193826.A335947DEC@hg.openjdk.java.net> Changeset: ccbe7ffdd867 Author: jjg Date: 2013-02-24 11:36 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/ccbe7ffdd867 7112427: The doclet needs to be able to generate JavaFX documentation. Reviewed-by: jjg Contributed-by: jan.valenta at oracle.com ! src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkInfoImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageFrameWriter.java + src/share/classes/com/sun/tools/doclets/formats/html/PropertyWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/WriterFactoryImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlConstants.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties ! src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java + src/share/classes/com/sun/tools/doclets/internal/toolkit/PropertyWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/WriterFactory.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeRequiredMemberBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/BuilderFactory.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/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/PropertyBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclet.xml ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets.properties + src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BasePropertyTaglet.java + src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ExpertTaglet.java + src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/PropertyGetterTaglet.java + src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/PropertySetterTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletManager.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassTree.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/IndexBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java + test/com/sun/javadoc/testJavaFX/C.java + test/com/sun/javadoc/testJavaFX/D.java + test/com/sun/javadoc/testJavaFX/TestJavaFX.java ! test/com/sun/javadoc/testLambdaFeature/TestLambdaFeature.java From david.holmes at oracle.com Sun Feb 24 15:03:07 2013 From: david.holmes at oracle.com (David Holmes) Date: Mon, 25 Feb 2013 09:03:07 +1000 Subject: RFR: 8007806: Need a Throwables performance counter In-Reply-To: References: <5115316A.8050109@oracle.com>, <51276E2A.40402@oracle.com> Message-ID: <512A9C2B.1000304@oracle.com> I'm getting very confused regarding the different threads on this. But this webrev: http://cr.openjdk.java.net/~nloodin/exception-tracing/webrev.01/ shows the intrusive event tracing that I'm sure we said we would grudgingly accept for 7u but not for JDK 8. David On 23/02/2013 2:16 AM, Jason Mehrens wrote: > From this webrev > http://cr.openjdk.java.net/~nloodin/exception-tracing/webrev.01/ you > are counting the number of throwables constructed. You might want to > change the name to reflect that. I don't think anyone would want to > write a spec for how many throwables are thrown given that a throwable > can be wrapped, suppressed, rethrown, etc. > Jason > > > Date: Fri, 22 Feb 2013 14:10:02 +0100 > > From: nils.loodin at oracle.com > > To: core-libs-dev at openjdk.java.net; serviceability-dev at openjdk.java.net > > Subject: Fwd: RFR: 8007806: Need a Throwables performance counter > > > > Does anyone have anything strongly against this? This is a small change > > just to add a performance counter, the code to increment it and read it > > will live in other parts of the code and be a part of a larger separate > > commit. > > > > Alan Bateman gave the response that the name was inappropriate, but I > > don't really have a better alternative, but neither do I have strong > > opinions, so feedback would be appreciated! > > > > How about > > "sun.throwables.thrownThrowables" ? > > > > Regards, > > Nils Loodin > > > > > > -------- Original Message -------- > > Subject: RFR: 8007806: Need a Throwables performance counter > > Date: Fri, 08 Feb 2013 18:10:02 +0100 > > From: Nils Loodin > > To: core-libs-dev at openjdk.java.net, serviceability_dev_ww_grp > > > > > > It would be interesting to know the number of thrown throwables in the > > JVM, to be able to do some high level application diagnostics / > > statistics. A good way to put this number would be a performance > > counter, since it is accessible both from Java and from the VM. > > > > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007806 > > http://cr.openjdk.java.net/~nloodin/8007806/webrev.00/ > > > > Regards, > > Nils Loodin > > > > > From markus.gronlund at oracle.com Mon Feb 25 00:36:35 2013 From: markus.gronlund at oracle.com (=?iso-8859-1?B?TWFya3VzIEdy9m5sdW5k?=) Date: Mon, 25 Feb 2013 00:36:35 -0800 (PST) Subject: RFR(XXS): 8007147: Trace event ExecuteVMOperation may get dangling pointer In-Reply-To: <98444B54-6472-4CE5-9555-C9D6FB9F55F4@oracle.com> References: <5121A8C1.2040908@oracle.com> <304895d9-73da-4c67-a5b3-a47cbcd01924@default> <5123CAD3.90301@oracle.com> <5123D2DD.9090001@oracle.com> <51243725.9030907@oracle.com> <98444B54-6472-4CE5-9555-C9D6FB9F55F4@oracle.com> Message-ID: <643095e0-ab3a-48bc-bd5c-c1b1ae552893@default> Thank you Staffan. I still need an ok from a (R)eviewer to proceed with this - can I ask for this please? Best regards Markus -----Original Message----- From: Staffan Larsen Sent: den 20 februari 2013 11:42 To: Markus Gr?nlund Cc: David Holmes; Dean Long; Erik Gahlin; serviceability-dev at openjdk.java.net; hotspot-runtime-dev at openjdk.java.net Subject: Re: RFR(XXS): 8007147: Trace event ExecuteVMOperation may get dangling pointer Looks good! /Staffan On 20 feb 2013, at 11:15, Markus Gr?nlund wrote: > Thanks for your input on this one. > > I think I am hearing that we can proceed with assigning a 0 (zero) as the thread id to indicate the thread information is unknown for a non-blocking operation. Risk being of course to have a false "hit" if a 0 is assigned by some OS as a thread id, and even worse if 0 is also re-used across threads. This should be considered low risk. In addition, the occasional wrong info in the caller thread field might not warrant avoiding presenting info about non-blocking operations. > > Resolving this would incorporate a lot of investigation which must be dealt with outside the scope of this bug. > > By adding additional comments about this fact (thread 0 being used to indicate "thread unknown" for non-blocking ops) I think we can proceed with a modified version of the first webrev01, but with additional comments added. > > Updated webrev can be found here: > > http://cr.openjdk.java.net/~mgronlun/8007147/webrev03/ > > Thanks again > Markus > > > > > -----Original Message----- > From: David Holmes > Sent: den 20 februari 2013 03:38 > To: Dean Long > Cc: Staffan Larsen; Markus Gr?nlund; > serviceability-dev at openjdk.java.net; > hotspot-runtime-dev at openjdk.java.net > Subject: Re: RFR(XXS): 8007147: Trace event ExecuteVMOperation may get > dangling pointer > > On 20/02/2013 5:30 AM, Dean Long wrote: >> On 2/19/2013 11:00 AM, Staffan Larsen wrote: >>> >>> On 19 feb 2013, at 19:56, Dean Long >> > wrote: >>> >>>> When the VM_Operation is created, we could take a snapshot of the >>>> thread_id of the caller, then use that later. >>> >>> One problem with that is if the thread_id gets reused for a new >>> thread quickly after the old thread terminates. This is perhps >>> ulikely, but could happen. >>> >>>> Or we could block the creating thread from fully exiting until the >>>> VM op executes. >>> >>> That would introduce a lot more synchronization and state to keep >>> track of. >>> >> I think we could do it with a reference count on the thread, a wait >> in thread exit, and a notify in the VM thread. >> We have a similar dangling pointer problem with JVMTI (7154963), and >> a reference count should solve that problem as well. > > I think that proposal needs a lot more investigation, certainly it is well out of scope for this bug. There are potential dangling thread pointers all over the JVM interfaces. > > David > ----- > >> >> dl >> >>> /Staffan >>> >> From markus.gronlund at oracle.com Mon Feb 25 00:39:31 2013 From: markus.gronlund at oracle.com (=?iso-8859-1?B?TWFya3VzIEdy9m5sdW5k?=) Date: Mon, 25 Feb 2013 00:39:31 -0800 (PST) Subject: RFR(XXS): 8007085: EnableTracing prints garbage for Compilation: [Java Method In-Reply-To: References: <015eed2d-5d5f-46d7-99d9-16e167499095@default> Message-ID: Thanks Staffan, ? I still need an ok from a (R)eviewer to proceed with this. Can I ask for this please? ? Thanks Markus ? From: Staffan Larsen Sent: den 8 februari 2013 14:14 To: Markus Gr?nlund Cc: hotspot-runtime-dev at openjdk.java.net; serviceability-dev at openjdk.java.net Subject: Re: RFR(XXS): 8007085: EnableTracing prints garbage for Compilation: [Java Method ? Looks good! ? /Staffan ? On 8 feb 2013, at 13:39, Markus Gr?nlund wrote: Greetings, ? Kindly asking for reviews and a putback sponsorship for the following change: ? Bugid:?http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007085 Webrev:?http://cr.openjdk.java.net/~mgronlun/8007085/webrev01/ ? Thank you Markus ? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130225/c3576a5f/attachment.html From david.holmes at oracle.com Mon Feb 25 00:38:19 2013 From: david.holmes at oracle.com (David Holmes) Date: Mon, 25 Feb 2013 18:38:19 +1000 Subject: RFR(XXS): 8007147: Trace event ExecuteVMOperation may get dangling pointer In-Reply-To: <643095e0-ab3a-48bc-bd5c-c1b1ae552893@default> References: <5121A8C1.2040908@oracle.com> <304895d9-73da-4c67-a5b3-a47cbcd01924@default> <5123CAD3.90301@oracle.com> <5123D2DD.9090001@oracle.com> <51243725.9030907@oracle.com> <98444B54-6472-4CE5-9555-C9D6FB9F55F4@oracle.com> <643095e0-ab3a-48bc-bd5c-c1b1ae552893@default> Message-ID: <512B22FB.60104@oracle.com> Ok. :) David On 25/02/2013 6:36 PM, Markus Gr?nlund wrote: > Thank you Staffan. > > I still need an ok from a (R)eviewer to proceed with this - can I ask for this please? > > Best regards > Markus > > > -----Original Message----- > From: Staffan Larsen > Sent: den 20 februari 2013 11:42 > To: Markus Gr?nlund > Cc: David Holmes; Dean Long; Erik Gahlin; serviceability-dev at openjdk.java.net; hotspot-runtime-dev at openjdk.java.net > Subject: Re: RFR(XXS): 8007147: Trace event ExecuteVMOperation may get dangling pointer > > Looks good! > > /Staffan > > On 20 feb 2013, at 11:15, Markus Gr?nlund wrote: > >> Thanks for your input on this one. >> >> I think I am hearing that we can proceed with assigning a 0 (zero) as the thread id to indicate the thread information is unknown for a non-blocking operation. Risk being of course to have a false "hit" if a 0 is assigned by some OS as a thread id, and even worse if 0 is also re-used across threads. This should be considered low risk. In addition, the occasional wrong info in the caller thread field might not warrant avoiding presenting info about non-blocking operations. >> >> Resolving this would incorporate a lot of investigation which must be dealt with outside the scope of this bug. >> >> By adding additional comments about this fact (thread 0 being used to indicate "thread unknown" for non-blocking ops) I think we can proceed with a modified version of the first webrev01, but with additional comments added. >> >> Updated webrev can be found here: >> >> http://cr.openjdk.java.net/~mgronlun/8007147/webrev03/ >> >> Thanks again >> Markus >> >> >> >> >> -----Original Message----- >> From: David Holmes >> Sent: den 20 februari 2013 03:38 >> To: Dean Long >> Cc: Staffan Larsen; Markus Gr?nlund; >> serviceability-dev at openjdk.java.net; >> hotspot-runtime-dev at openjdk.java.net >> Subject: Re: RFR(XXS): 8007147: Trace event ExecuteVMOperation may get >> dangling pointer >> >> On 20/02/2013 5:30 AM, Dean Long wrote: >>> On 2/19/2013 11:00 AM, Staffan Larsen wrote: >>>> >>>> On 19 feb 2013, at 19:56, Dean Long >>> > wrote: >>>> >>>>> When the VM_Operation is created, we could take a snapshot of the >>>>> thread_id of the caller, then use that later. >>>> >>>> One problem with that is if the thread_id gets reused for a new >>>> thread quickly after the old thread terminates. This is perhps >>>> ulikely, but could happen. >>>> >>>>> Or we could block the creating thread from fully exiting until the >>>>> VM op executes. >>>> >>>> That would introduce a lot more synchronization and state to keep >>>> track of. >>>> >>> I think we could do it with a reference count on the thread, a wait >>> in thread exit, and a notify in the VM thread. >>> We have a similar dangling pointer problem with JVMTI (7154963), and >>> a reference count should solve that problem as well. >> >> I think that proposal needs a lot more investigation, certainly it is well out of scope for this bug. There are potential dangling thread pointers all over the JVM interfaces. >> >> David >> ----- >> >>> >>> dl >>> >>>> /Staffan >>>> >>> > From nils.loodin at oracle.com Mon Feb 25 01:23:24 2013 From: nils.loodin at oracle.com (Nils Loodin) Date: Mon, 25 Feb 2013 10:23:24 +0100 Subject: RFR: 8007806: Need a Throwables performance counter In-Reply-To: <512A9C2B.1000304@oracle.com> References: <5115316A.8050109@oracle.com>, <51276E2A.40402@oracle.com> <512A9C2B.1000304@oracle.com> Message-ID: <512B2D8C.6010807@oracle.com> On 02/25/2013 12:03 AM, David Holmes wrote: > I'm getting very confused regarding the different threads on this. But > this webrev: > > http://cr.openjdk.java.net/~nloodin/exception-tracing/webrev.01/ > > shows the intrusive event tracing that I'm sure we said we would > grudgingly accept for 7u but not for JDK 8. > David et al: No! That showed the intrusive event tracing that we will not implement ever. It also has nothing to do with this code review, which is only to implement a performance counter. Regards, Nils Loodin From Alan.Bateman at oracle.com Mon Feb 25 02:15:41 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 25 Feb 2013 10:15:41 +0000 Subject: RFR: 8007806: Need a Throwables performance counter In-Reply-To: <512B2D8C.6010807@oracle.com> References: <5115316A.8050109@oracle.com>, <51276E2A.40402@oracle.com> <512A9C2B.1000304@oracle.com> <512B2D8C.6010807@oracle.com> Message-ID: <512B39CD.40706@oracle.com> On 25/02/2013 09:23, Nils Loodin wrote: > > David et al: No! > > That showed the intrusive event tracing that we will not implement ever. > It also has nothing to do with this code review, which is only to > implement a performance counter. Just to confirm, this is the webrev that we should be reviewing: http://cr.openjdk.java.net/~nloodin/8007806/webrev.00/ and the only issue (I think) is the name of the counter where I think sun.* or jdk.* should be fine. -Alan. From yunda.mly at taobao.com Mon Feb 25 02:58:57 2013 From: yunda.mly at taobao.com (=?utf-8?B?5LqR6L6+KFl1bmRhKQ==?=) Date: Mon, 25 Feb 2013 10:58:57 +0000 Subject: Oop.iterateFields() should support CompressedKlassPointers again Message-ID: Hi all, When I used CLHSDB just now I met this error: hsdb> inspect 0x00000000ee255080 instance of "java/io/InputStream" @ 0x00000000ee255080 @ 0x00000000ee255080 (size = 24) Exception in thread "main" java.lang.InternalError: unimplemented at sun.jvm.hotspot.oops.Oop.iterateFields(Oop.java:151) at sun.jvm.hotspot.oops.Instance.iterateFields(Instance.java:66) at sun.jvm.hotspot.oops.Oop.iterate(Oop.java:143) at sun.jvm.hotspot.ui.tree.OopTreeNodeAdapter.getChildCount(OopTreeNodeAdapter.java:65) at sun.jvm.hotspot.CommandProcessor$Command.printNode(CommandProcessor.java:231) at sun.jvm.hotspot.CommandProcessor$24.doit(CommandProcessor.java:1008) at sun.jvm.hotspot.CommandProcessor.executeCommand(CommandProcessor.java:1897) at sun.jvm.hotspot.CommandProcessor.executeCommand(CommandProcessor.java:1867) at sun.jvm.hotspot.CommandProcessor.run(CommandProcessor.java:1747) at sun.jvm.hotspot.CLHSDB.run(CLHSDB.java:91) at sun.jvm.hotspot.CLHSDB.main(CLHSDB.java:35) I found it?s caused by the code of sun.jvm.hotspot.oops.Oop.iterateFields(): void iterateFields(OopVisitor visitor, boolean doVMFields) { if (doVMFields) { visitor.doCInt(mark, true); if (VM.getVM().isCompressedKlassPointersEnabled()) { throw new InternalError("unimplemented"); } else { visitor.doMetadata(klass, true); } } } When compressed oops( which is by default) are used an InternalError of ?unimplemented? will be throwed. But actually it can be implemented easily by just one line of code: visitor.doMetadata(compressedKlass, true); I checked the hotspot-rt repo and I found it was implemented this way before changeset 3601, the main implementation of NPG. Since 3601 changed a whole lot of stuff, the ?compressedKlass? field couldn?t get the right value, as in line 51: // compressedKlass = new CIntField(type.getCIntegerField("_metadata._compressed_klass"), 0); So the code in iterateFields() was changed to throwing an InternalError accordingly. But the ?compressedKlass? field can get the right value now. So I think it?s time to change the code back and here?s the diff against the latest hotspot-rt: diff -r 2f881161d085 agent/src/share/classes/sun/jvm/hotspot/oops/Oop.java --- a/agent/src/share/classes/sun/jvm/hotspot/oops/Oop.java Mon Feb 25 18:25:24 2013 +0800 +++ b/agent/src/share/classes/sun/jvm/hotspot/oops/Oop.java Mon Feb 25 18:47:08 2013 +0800 @@ -148,7 +148,7 @@ if (doVMFields) { visitor.doCInt(mark, true); if (VM.getVM().isCompressedKlassPointersEnabled()) { - throw new InternalError("unimplemented"); + visitor.doMetadata(compressedKlass, true); } else { visitor.doMetadata(klass, true); } Regards, Yunda ________________________________ This email (including any attachments) is confidential and may be legally privileged. If you received this email in error, please delete it immediately and do not copy it or use it for any purpose or disclose its contents to any other person. Thank you. ???(??????)?????????????????????????????????????????????????????????????????????? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130225/6cca59c0/attachment.html From krystal.mo at oracle.com Mon Feb 25 03:19:15 2013 From: krystal.mo at oracle.com (Krystal Mo) Date: Mon, 25 Feb 2013 03:19:15 -0800 Subject: Oop.iterateFields() should support CompressedKlassPointers again In-Reply-To: References: Message-ID: <512B48B3.8090303@oracle.com> Hi Yunda, Thanks for fixing this. I actually have the exact same fix for this problem, along with fixes for some other problems in SA in my local workspace, but haven't come around to sending it out for public review yet. I think this is just a missed change in JDK-7054512. I have created a JIRA issue for you: JDK-8008796: SA: Oop.iterateFields() should support CompressedKlassPointers again. I'll prepare a webrev and send it out for official review later. Thanks, Kris On 2013/2/25 2:58, ??(Yunda) wrote: > > Hi all, > > When I used CLHSDB just now I met this error: > > hsdb> inspect 0x00000000ee255080 > > instance of "java/io/InputStream" @ 0x00000000ee255080 @ > 0x00000000ee255080 (size = 24) > > Exception in thread "main" java.lang.InternalError: unimplemented > > at sun.jvm.hotspot.oops.Oop.iterateFields(Oop.java:151) > > at sun.jvm.hotspot.oops.Instance.iterateFields(Instance.java:66) > > at sun.jvm.hotspot.oops.Oop.iterate(Oop.java:143) > > at > sun.jvm.hotspot.ui.tree.OopTreeNodeAdapter.getChildCount(OopTreeNodeAdapter.java:65) > > at > sun.jvm.hotspot.CommandProcessor$Command.printNode(CommandProcessor.java:231) > > at > sun.jvm.hotspot.CommandProcessor$24.doit(CommandProcessor.java:1008) > > at > sun.jvm.hotspot.CommandProcessor.executeCommand(CommandProcessor.java:1897) > > at > sun.jvm.hotspot.CommandProcessor.executeCommand(CommandProcessor.java:1867) > > at > sun.jvm.hotspot.CommandProcessor.run(CommandProcessor.java:1747) > > at sun.jvm.hotspot.CLHSDB.run(CLHSDB.java:91) > > at sun.jvm.hotspot.CLHSDB.main(CLHSDB.java:35) > > I found it?s caused by the code of > sun.jvm.hotspot.oops.Oop.iterateFields(): > > void iterateFields(OopVisitor visitor, boolean doVMFields) { > > if (doVMFields) { > > visitor.doCInt(mark, true); > > if (VM.getVM().isCompressedKlassPointersEnabled()) { > > *throw new InternalError("unimplemented");* > > } else { > > visitor.doMetadata(klass, true); > > } > > } > > } > > When compressed oops( which is by default) are used an InternalError > of ?unimplemented? will be throwed. But actually it can be implemented > easily by just one line of code: > > visitor.doMetadata(compressedKlass, true); > > I checked the hotspot-rt repo and I found it was implemented this way > before changeset 3601, the main implementation of NPG. Since 3601 > changed a whole lot of stuff, the ?compressedKlass? field couldn?t get > the right value, as in line 51: > > // compressedKlass = new > CIntField(type.getCIntegerField("_metadata._compressed_klass"), 0); > > So the code in iterateFields() was changed to throwing an > InternalError accordingly. > > But the ?compressedKlass? field can get the right value now. So I > think it?s time to change the code back and here?s the diff against > the latest hotspot-rt: > > diff -r 2f881161d085 agent/src/share/classes/sun/jvm/hotspot/oops/Oop.java > > --- a/agent/src/share/classes/sun/jvm/hotspot/oops/Oop.java Mon Feb 25 > 18:25:24 2013 +0800 > > +++ b/agent/src/share/classes/sun/jvm/hotspot/oops/Oop.java Mon Feb 25 > 18:47:08 2013 +0800 > > @@ -148,7 +148,7 @@ > > if (doVMFields) { > > visitor.doCInt(mark, true); > > if (VM.getVM().isCompressedKlassPointersEnabled()) { > > - throw new InternalError("unimplemented"); > > + visitor.doMetadata(compressedKlass, true); > > } else { > > visitor.doMetadata(klass, true); > > } > > Regards, > > Yunda > > > ------------------------------------------------------------------------ > > This email (including any attachments) is confidential and may be > legally privileged. If you received this email in error, please delete > it immediately and do not copy it or use it for any purpose or > disclose its contents to any other person. Thank you. > > ???(??????)???????????????????????? > ????????????????????????????? ????? > ???????????? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130225/03c08a2e/attachment-0001.html From nils.loodin at oracle.com Mon Feb 25 04:36:44 2013 From: nils.loodin at oracle.com (Nils Loodin) Date: Mon, 25 Feb 2013 13:36:44 +0100 Subject: RFR: 8007806: Need a Throwables performance counter In-Reply-To: <512B39CD.40706@oracle.com> References: <5115316A.8050109@oracle.com>, <51276E2A.40402@oracle.com> <512A9C2B.1000304@oracle.com> <512B2D8C.6010807@oracle.com> <512B39CD.40706@oracle.com> Message-ID: <512B5ADC.9050400@oracle.com> On 02/25/2013 11:15 AM, Alan Bateman wrote: > On 25/02/2013 09:23, Nils Loodin wrote: >> >> David et al: No! >> >> That showed the intrusive event tracing that we will not implement ever. >> It also has nothing to do with this code review, which is only to >> implement a performance counter. > Just to confirm, this is the webrev that we should be reviewing: > > http://cr.openjdk.java.net/~nloodin/8007806/webrev.00/ > > and the only issue (I think) is the name of the counter where I think > sun.* or jdk.* should be fine. > > -Alan. Does this mean that you approve of http://cr.openjdk.java.net/~nloodin/8007806/webrev.01/ ? Regards, Nisse From jesper.wilhelmsson at oracle.com Mon Feb 25 04:53:11 2013 From: jesper.wilhelmsson at oracle.com (Jesper Wilhelmsson) Date: Mon, 25 Feb 2013 13:53:11 +0100 Subject: RFR: JDK-8008790 - Promotion failed tracing event for all GCs Message-ID: <512B5EB7.4050107@oracle.com> Hi, I'm looking for a couple of reviews for the promotion failed tracing event, now implemented for ParNew and Serial GC. I have replaced the existing counters and booleans with a PromotionFailedInfo object and uses that throughout, so now promotion failed reporting (through the tracing framework) looks the same and reports the same data for all young collectors. I have added two new fields to the promotion failed event: firstSize as reported by ParNew logging, and smallestSize which is the smallest object size that failed to promote. Webrew: http://cr.openjdk.java.net/~jwilhelm/8008790 Testing: Passes JPRT and the existing promotion failed tests with all collectors. Thanks, /Jesper From erik.gahlin at oracle.com Mon Feb 25 05:10:28 2013 From: erik.gahlin at oracle.com (Erik Gahlin) Date: Mon, 25 Feb 2013 14:10:28 +0100 Subject: RFR: JDK-8008790 - Promotion failed tracing event for all GCs In-Reply-To: <512B5EB7.4050107@oracle.com> References: <512B5EB7.4050107@oracle.com> Message-ID: <512B62C4.4090908@oracle.com> Only reviewed the event metadata (trace.xml), but it look good! I'm not a Reviewer. Erik Jesper Wilhelmsson skrev 2/25/13 1:53 PM: > Hi, > > I'm looking for a couple of reviews for the promotion failed tracing > event, now implemented for ParNew and Serial GC. > > I have replaced the existing counters and booleans with a > PromotionFailedInfo object and uses that throughout, so now promotion > failed reporting (through the tracing framework) looks the same and > reports the same data for all young collectors. > > I have added two new fields to the promotion failed event: firstSize > as reported by ParNew logging, and smallestSize which is the smallest > object size that failed to promote. > > Webrew: http://cr.openjdk.java.net/~jwilhelm/8008790 > > Testing: Passes JPRT and the existing promotion failed tests with all > collectors. > > Thanks, > /Jesper From sundararajan.athijegannathan at oracle.com Mon Feb 25 05:46:47 2013 From: sundararajan.athijegannathan at oracle.com (sundararajan.athijegannathan at oracle.com) Date: Mon, 25 Feb 2013 13:46:47 +0000 Subject: hg: jdk8/tl/nashorn: 119 new changesets Message-ID: <20130225134751.BFF1647E25@hg.openjdk.java.net> Changeset: b8a1b238c77c Author: duke Date: 2007-12-01 00:00 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/b8a1b238c77c Initial load + .hgignore + .jcheck/conf Changeset: 6031a0bc0ae2 Author: jcoomes Date: 2012-12-20 14:16 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/6031a0bc0ae2 8005364: initial hg tags for nashorn repo Reviewed-by: amurillo + .hgtags Changeset: da1e581c933b Author: jlaskey Date: 2012-12-21 16:36 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/da1e581c933b 8005403: Open-source Nashorn Reviewed-by: attila, hannesw, lagergren, sundar Contributed-by: james.laskey at oracle.com, akhil.arora at oracle.com, andreas.woess at jku.at, attila.szegedi at oracle.com, hannes.wallnoefer at oracle.com, henry.jen at oracle.com, marcus.lagergren at oracle.com, pavel.semenov at oracle.com, pavel.stepanov at oracle.com, petr.hejl at oracle.com, petr.pisl at oracle.com, sundararajan.athijegannathan at oracle.com ! .hgignore + ASSEMBLY_EXCEPTION + LICENSE + README + RELEASE_README + THIRD_PARTY_README + bin/checkintest.sh + bin/fixorphantests.sh + bin/fixwhitespace.sh + bin/jjs + bin/jjs.bat + bin/jjssecure + bin/jjssecure.bat + bin/nashorn + bin/nashorn.bat + bin/rm-non-tracked.sh + bin/verbose_octane.bat + bin/verbose_octane.sh + buildtools/nasgen/README + buildtools/nasgen/build.xml + buildtools/nasgen/nasgen.iml + buildtools/nasgen/project.properties + buildtools/nasgen/src/META-INF/MANIFEST.MF + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ClassGenerator.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ConstructorGenerator.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/Main.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/MemberInfo.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/MethodGenerator.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/NullVisitor.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/PrototypeGenerator.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInfo.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInfoCollector.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInstrumentor.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/StringConstants.java + docs/DEVELOPER_README + docs/genshelldoc.js + make/Makefile + make/build-benchmark.xml + make/build-nasgen.xml + make/build.xml + make/nbproject/ide-file-targets.xml + make/nbproject/ide-targets.xml + make/nbproject/jdk.xml + make/nbproject/nbjdk.properties + make/nbproject/nbjdk.xml + make/nbproject/project.xml + make/project.properties + samples/counters.js + samples/letter.js + samples/parser.js + samples/shell.js + samples/test.js + samples/uniq.js + src/META-INF/MANIFEST.MF + src/META-INF/services/javax.script.ScriptEngineFactory + src/jdk/nashorn/api/scripting/NashornException.java + src/jdk/nashorn/api/scripting/NashornScriptEngine.java + src/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java + src/jdk/nashorn/api/scripting/ScriptObjectMirror.java + src/jdk/nashorn/api/scripting/package-info.java + src/jdk/nashorn/api/scripting/resources/engine.js + src/jdk/nashorn/internal/codegen/AccessSpecializer.java + src/jdk/nashorn/internal/codegen/BranchOptimizer.java + src/jdk/nashorn/internal/codegen/ClassEmitter.java + src/jdk/nashorn/internal/codegen/CodeGenerator.java + src/jdk/nashorn/internal/codegen/CompileUnit.java + src/jdk/nashorn/internal/codegen/Compiler.java + src/jdk/nashorn/internal/codegen/CompilerConstants.java + src/jdk/nashorn/internal/codegen/ConstantData.java + src/jdk/nashorn/internal/codegen/Emitter.java + src/jdk/nashorn/internal/codegen/Frame.java + src/jdk/nashorn/internal/codegen/FunctionSignature.java + src/jdk/nashorn/internal/codegen/Lower.java + src/jdk/nashorn/internal/codegen/MethodEmitter.java + src/jdk/nashorn/internal/codegen/Namespace.java + src/jdk/nashorn/internal/codegen/RuntimeCallSite.java + src/jdk/nashorn/internal/codegen/SharedScopeCall.java + src/jdk/nashorn/internal/codegen/Splitter.java + src/jdk/nashorn/internal/codegen/Transform.java + src/jdk/nashorn/internal/codegen/WeighNodes.java + src/jdk/nashorn/internal/codegen/objects/FieldObjectCreator.java + src/jdk/nashorn/internal/codegen/objects/FunctionObjectCreator.java + src/jdk/nashorn/internal/codegen/objects/MapCreator.java + src/jdk/nashorn/internal/codegen/objects/ObjectClassGenerator.java + src/jdk/nashorn/internal/codegen/objects/ObjectCreator.java + src/jdk/nashorn/internal/codegen/objects/ObjectMapCreator.java + src/jdk/nashorn/internal/codegen/types/ArrayType.java + src/jdk/nashorn/internal/codegen/types/BitwiseType.java + src/jdk/nashorn/internal/codegen/types/BooleanType.java + src/jdk/nashorn/internal/codegen/types/BytecodeArrayOps.java + src/jdk/nashorn/internal/codegen/types/BytecodeBitwiseOps.java + src/jdk/nashorn/internal/codegen/types/BytecodeNumericOps.java + src/jdk/nashorn/internal/codegen/types/BytecodeOps.java + src/jdk/nashorn/internal/codegen/types/IntType.java + src/jdk/nashorn/internal/codegen/types/LongType.java + src/jdk/nashorn/internal/codegen/types/NumberType.java + src/jdk/nashorn/internal/codegen/types/NumericType.java + src/jdk/nashorn/internal/codegen/types/ObjectType.java + src/jdk/nashorn/internal/codegen/types/Type.java + src/jdk/nashorn/internal/ir/AccessNode.java + src/jdk/nashorn/internal/ir/Assignment.java + src/jdk/nashorn/internal/ir/BaseNode.java + src/jdk/nashorn/internal/ir/BinaryNode.java + src/jdk/nashorn/internal/ir/Block.java + src/jdk/nashorn/internal/ir/BreakNode.java + src/jdk/nashorn/internal/ir/BreakableNode.java + src/jdk/nashorn/internal/ir/CallNode.java + src/jdk/nashorn/internal/ir/CaseNode.java + src/jdk/nashorn/internal/ir/CatchNode.java + src/jdk/nashorn/internal/ir/ContinueNode.java + src/jdk/nashorn/internal/ir/DoWhileNode.java + src/jdk/nashorn/internal/ir/EmptyNode.java + src/jdk/nashorn/internal/ir/ExecuteNode.java + src/jdk/nashorn/internal/ir/ForNode.java + src/jdk/nashorn/internal/ir/FunctionCall.java + src/jdk/nashorn/internal/ir/FunctionNode.java + src/jdk/nashorn/internal/ir/IdentNode.java + src/jdk/nashorn/internal/ir/IfNode.java + src/jdk/nashorn/internal/ir/IndexNode.java + src/jdk/nashorn/internal/ir/LabelNode.java + src/jdk/nashorn/internal/ir/LabeledNode.java + src/jdk/nashorn/internal/ir/LineNumberNode.java + src/jdk/nashorn/internal/ir/LiteralNode.java + src/jdk/nashorn/internal/ir/Location.java + src/jdk/nashorn/internal/ir/Node.java + src/jdk/nashorn/internal/ir/ObjectNode.java + src/jdk/nashorn/internal/ir/PropertyKey.java + src/jdk/nashorn/internal/ir/PropertyNode.java + src/jdk/nashorn/internal/ir/ReferenceNode.java + src/jdk/nashorn/internal/ir/ReturnNode.java + src/jdk/nashorn/internal/ir/RuntimeNode.java + src/jdk/nashorn/internal/ir/SplitNode.java + src/jdk/nashorn/internal/ir/SwitchNode.java + src/jdk/nashorn/internal/ir/Symbol.java + src/jdk/nashorn/internal/ir/TernaryNode.java + src/jdk/nashorn/internal/ir/ThrowNode.java + src/jdk/nashorn/internal/ir/TryNode.java + src/jdk/nashorn/internal/ir/TypeOverride.java + src/jdk/nashorn/internal/ir/UnaryNode.java + src/jdk/nashorn/internal/ir/VarNode.java + src/jdk/nashorn/internal/ir/WhileNode.java + src/jdk/nashorn/internal/ir/WithNode.java + src/jdk/nashorn/internal/ir/annotations/ChildNode.java + src/jdk/nashorn/internal/ir/annotations/Ignore.java + src/jdk/nashorn/internal/ir/annotations/ParentNode.java + src/jdk/nashorn/internal/ir/annotations/Reference.java + src/jdk/nashorn/internal/ir/debug/ASTWriter.java + src/jdk/nashorn/internal/ir/debug/JSONWriter.java + src/jdk/nashorn/internal/ir/debug/PrintVisitor.java + src/jdk/nashorn/internal/ir/visitor/NodeOperatorVisitor.java + src/jdk/nashorn/internal/ir/visitor/NodeVisitor.java + src/jdk/nashorn/internal/objects/AccessorPropertyDescriptor.java + src/jdk/nashorn/internal/objects/ArrayBufferView.java + src/jdk/nashorn/internal/objects/DataPropertyDescriptor.java + src/jdk/nashorn/internal/objects/DateParser.java + src/jdk/nashorn/internal/objects/GenericPropertyDescriptor.java + src/jdk/nashorn/internal/objects/Global.java + src/jdk/nashorn/internal/objects/NativeArguments.java + src/jdk/nashorn/internal/objects/NativeArray.java + src/jdk/nashorn/internal/objects/NativeArrayBuffer.java + src/jdk/nashorn/internal/objects/NativeBoolean.java + src/jdk/nashorn/internal/objects/NativeDate.java + src/jdk/nashorn/internal/objects/NativeDebug.java + src/jdk/nashorn/internal/objects/NativeError.java + src/jdk/nashorn/internal/objects/NativeEvalError.java + src/jdk/nashorn/internal/objects/NativeFloat32Array.java + src/jdk/nashorn/internal/objects/NativeFloat64Array.java + src/jdk/nashorn/internal/objects/NativeFunction.java + src/jdk/nashorn/internal/objects/NativeInt16Array.java + src/jdk/nashorn/internal/objects/NativeInt32Array.java + src/jdk/nashorn/internal/objects/NativeInt8Array.java + src/jdk/nashorn/internal/objects/NativeJSAdapter.java + src/jdk/nashorn/internal/objects/NativeJSON.java + src/jdk/nashorn/internal/objects/NativeJava.java + src/jdk/nashorn/internal/objects/NativeJavaImporter.java + src/jdk/nashorn/internal/objects/NativeMath.java + src/jdk/nashorn/internal/objects/NativeNumber.java + src/jdk/nashorn/internal/objects/NativeObject.java + src/jdk/nashorn/internal/objects/NativeRangeError.java + src/jdk/nashorn/internal/objects/NativeReferenceError.java + src/jdk/nashorn/internal/objects/NativeRegExp.java + src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java + src/jdk/nashorn/internal/objects/NativeStrictArguments.java + src/jdk/nashorn/internal/objects/NativeString.java + src/jdk/nashorn/internal/objects/NativeSyntaxError.java + src/jdk/nashorn/internal/objects/NativeTypeError.java + src/jdk/nashorn/internal/objects/NativeURIError.java + src/jdk/nashorn/internal/objects/NativeUint16Array.java + src/jdk/nashorn/internal/objects/NativeUint32Array.java + src/jdk/nashorn/internal/objects/NativeUint8Array.java + src/jdk/nashorn/internal/objects/NativeUint8ClampedArray.java + src/jdk/nashorn/internal/objects/PrototypeObject.java + src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java + src/jdk/nashorn/internal/objects/annotations/Attribute.java + src/jdk/nashorn/internal/objects/annotations/Constructor.java + src/jdk/nashorn/internal/objects/annotations/Function.java + src/jdk/nashorn/internal/objects/annotations/Getter.java + src/jdk/nashorn/internal/objects/annotations/Property.java + src/jdk/nashorn/internal/objects/annotations/ScriptClass.java + src/jdk/nashorn/internal/objects/annotations/Setter.java + src/jdk/nashorn/internal/objects/annotations/SpecializedConstructor.java + src/jdk/nashorn/internal/objects/annotations/SpecializedFunction.java + src/jdk/nashorn/internal/objects/annotations/Where.java + src/jdk/nashorn/internal/objects/package-info.java + src/jdk/nashorn/internal/parser/AbstractParser.java + src/jdk/nashorn/internal/parser/JSONParser.java + src/jdk/nashorn/internal/parser/Lexer.java + src/jdk/nashorn/internal/parser/Parser.java + src/jdk/nashorn/internal/parser/RegExp.java + src/jdk/nashorn/internal/parser/RegExpScanner.java + src/jdk/nashorn/internal/parser/Scanner.java + src/jdk/nashorn/internal/parser/Token.java + src/jdk/nashorn/internal/parser/TokenKind.java + src/jdk/nashorn/internal/parser/TokenLookup.java + src/jdk/nashorn/internal/parser/TokenStream.java + src/jdk/nashorn/internal/parser/TokenType.java + src/jdk/nashorn/internal/runtime/AccessorProperty.java + src/jdk/nashorn/internal/runtime/BitVector.java + src/jdk/nashorn/internal/runtime/CodeInstaller.java + src/jdk/nashorn/internal/runtime/ConsString.java + src/jdk/nashorn/internal/runtime/Context.java + src/jdk/nashorn/internal/runtime/Debug.java + src/jdk/nashorn/internal/runtime/DebugLogger.java + src/jdk/nashorn/internal/runtime/DefaultPropertyAccess.java + src/jdk/nashorn/internal/runtime/ECMAErrors.java + src/jdk/nashorn/internal/runtime/ECMAException.java + src/jdk/nashorn/internal/runtime/ErrorManager.java + src/jdk/nashorn/internal/runtime/FindProperty.java + src/jdk/nashorn/internal/runtime/FunctionScope.java + src/jdk/nashorn/internal/runtime/GlobalFunctions.java + src/jdk/nashorn/internal/runtime/GlobalObject.java + src/jdk/nashorn/internal/runtime/JSErrorType.java + src/jdk/nashorn/internal/runtime/JSType.java + src/jdk/nashorn/internal/runtime/Logging.java + src/jdk/nashorn/internal/runtime/NashornLoader.java + src/jdk/nashorn/internal/runtime/NativeJavaPackage.java + src/jdk/nashorn/internal/runtime/NumberToString.java + src/jdk/nashorn/internal/runtime/ParserException.java + src/jdk/nashorn/internal/runtime/Property.java + src/jdk/nashorn/internal/runtime/PropertyAccess.java + src/jdk/nashorn/internal/runtime/PropertyDescriptor.java + src/jdk/nashorn/internal/runtime/PropertyHashMap.java + src/jdk/nashorn/internal/runtime/PropertyListener.java + src/jdk/nashorn/internal/runtime/PropertyListenerManager.java + src/jdk/nashorn/internal/runtime/PropertyMap.java + src/jdk/nashorn/internal/runtime/QuotedStringTokenizer.java + src/jdk/nashorn/internal/runtime/RegExpMatch.java + src/jdk/nashorn/internal/runtime/Scope.java + src/jdk/nashorn/internal/runtime/ScriptFunction.java + src/jdk/nashorn/internal/runtime/ScriptLoader.java + src/jdk/nashorn/internal/runtime/ScriptObject.java + src/jdk/nashorn/internal/runtime/ScriptRuntime.java + src/jdk/nashorn/internal/runtime/ScriptingFunctions.java + src/jdk/nashorn/internal/runtime/Source.java + src/jdk/nashorn/internal/runtime/SpillProperty.java + src/jdk/nashorn/internal/runtime/StructureLoader.java + src/jdk/nashorn/internal/runtime/URIUtils.java + src/jdk/nashorn/internal/runtime/Undefined.java + src/jdk/nashorn/internal/runtime/UserAccessorProperty.java + src/jdk/nashorn/internal/runtime/Version.java + src/jdk/nashorn/internal/runtime/WithObject.java + src/jdk/nashorn/internal/runtime/arrays/ArrayData.java + src/jdk/nashorn/internal/runtime/arrays/ArrayFilter.java + src/jdk/nashorn/internal/runtime/arrays/ArrayIndex.java + src/jdk/nashorn/internal/runtime/arrays/ArrayIterator.java + src/jdk/nashorn/internal/runtime/arrays/ArrayLikeIterator.java + src/jdk/nashorn/internal/runtime/arrays/DeletedArrayFilter.java + src/jdk/nashorn/internal/runtime/arrays/DeletedRangeArrayFilter.java + src/jdk/nashorn/internal/runtime/arrays/EmptyArrayLikeIterator.java + src/jdk/nashorn/internal/runtime/arrays/FrozenArrayFilter.java + src/jdk/nashorn/internal/runtime/arrays/IntArrayData.java + src/jdk/nashorn/internal/runtime/arrays/InvalidArrayIndexException.java + src/jdk/nashorn/internal/runtime/arrays/IteratorAction.java + src/jdk/nashorn/internal/runtime/arrays/LongArrayData.java + src/jdk/nashorn/internal/runtime/arrays/MapIterator.java + src/jdk/nashorn/internal/runtime/arrays/NoTypeArrayData.java + src/jdk/nashorn/internal/runtime/arrays/NumberArrayData.java + src/jdk/nashorn/internal/runtime/arrays/ObjectArrayData.java + src/jdk/nashorn/internal/runtime/arrays/ReverseArrayIterator.java + src/jdk/nashorn/internal/runtime/arrays/ReverseMapIterator.java + src/jdk/nashorn/internal/runtime/arrays/SealedArrayFilter.java + src/jdk/nashorn/internal/runtime/arrays/SparseArrayData.java + src/jdk/nashorn/internal/runtime/arrays/UndefinedArrayFilter.java + src/jdk/nashorn/internal/runtime/linker/Bootstrap.java + src/jdk/nashorn/internal/runtime/linker/InvokeByName.java + src/jdk/nashorn/internal/runtime/linker/JSObjectLinker.java + src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java + src/jdk/nashorn/internal/runtime/linker/JavaArgumentConverters.java + src/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java + src/jdk/nashorn/internal/runtime/linker/Lookup.java + src/jdk/nashorn/internal/runtime/linker/Mangler.java + src/jdk/nashorn/internal/runtime/linker/MethodHandleFactory.java + src/jdk/nashorn/internal/runtime/linker/MethodHandleFunctionality.java + src/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java + src/jdk/nashorn/internal/runtime/linker/NashornCallSiteDescriptor.java + src/jdk/nashorn/internal/runtime/linker/NashornGuardedInvocation.java + src/jdk/nashorn/internal/runtime/linker/NashornGuards.java + src/jdk/nashorn/internal/runtime/linker/NashornLinker.java + src/jdk/nashorn/internal/runtime/linker/NashornPrimitiveLinker.java + src/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java + src/jdk/nashorn/internal/runtime/options/KeyValueOption.java + src/jdk/nashorn/internal/runtime/options/Option.java + src/jdk/nashorn/internal/runtime/options/OptionTemplate.java + src/jdk/nashorn/internal/runtime/options/Options.java + src/jdk/nashorn/internal/runtime/options/ValueOption.java + src/jdk/nashorn/internal/runtime/resources/Messages.properties + src/jdk/nashorn/internal/runtime/resources/Options.properties + src/jdk/nashorn/internal/runtime/resources/mozilla_compat.js + src/jdk/nashorn/internal/runtime/resources/parser.js + src/jdk/nashorn/internal/runtime/resources/version.properties-template + src/jdk/nashorn/internal/scripts/JO$.java + src/jdk/nashorn/internal/scripts/JS$.java + src/jdk/nashorn/tools/Shell.java + src/jdk/nashorn/tools/resources/Shell.properties + src/jdk/nashorn/tools/resources/shell.js + src/netscape/javascript/JSObject.java + src/overview.html + test/README + test/examples/dual-fields-micro.js + test/examples/innerbench.js + test/examples/typechain.js + test/lib/benchmark.js + test/opt/add.js + test/opt/add_constant.js + test/opt/add_reuse_callsite.js + test/opt/add_revert2.js + test/opt/cascade_specialize.js + test/script/assert.js + test/script/basic/NASHORN-100.js + test/script/basic/NASHORN-100.js.EXPECTED + test/script/basic/NASHORN-101.js + test/script/basic/NASHORN-101.js.EXPECTED + test/script/basic/NASHORN-102.js + test/script/basic/NASHORN-102.js.EXPECTED + test/script/basic/NASHORN-103.js + test/script/basic/NASHORN-104.js + test/script/basic/NASHORN-104.js.EXPECTED + test/script/basic/NASHORN-105.js + test/script/basic/NASHORN-105.js.EXPECTED + test/script/basic/NASHORN-106.js + test/script/basic/NASHORN-106.js.EXPECTED + test/script/basic/NASHORN-107.js + test/script/basic/NASHORN-108.js + test/script/basic/NASHORN-108.js.EXPECTED + test/script/basic/NASHORN-109.js + test/script/basic/NASHORN-109.js.EXPECTED + test/script/basic/NASHORN-11.js + test/script/basic/NASHORN-11.js.EXPECTED + test/script/basic/NASHORN-111.js + test/script/basic/NASHORN-111.js.EXPECTED + test/script/basic/NASHORN-113.js + test/script/basic/NASHORN-113.js.EXPECTED + test/script/basic/NASHORN-114.js + test/script/basic/NASHORN-115.js + test/script/basic/NASHORN-115.js.EXPECTED + test/script/basic/NASHORN-117.js + test/script/basic/NASHORN-118.js + test/script/basic/NASHORN-118.js.EXPECTED + test/script/basic/NASHORN-119.js + test/script/basic/NASHORN-119.js.EXPECTED + test/script/basic/NASHORN-12.js + test/script/basic/NASHORN-120.js + test/script/basic/NASHORN-122.js + test/script/basic/NASHORN-122.js.EXPECTED + test/script/basic/NASHORN-126.js + test/script/basic/NASHORN-126.js.EXPECTED + test/script/basic/NASHORN-127.js + test/script/basic/NASHORN-127.js.EXPECTED + test/script/basic/NASHORN-130.js + test/script/basic/NASHORN-132.js + test/script/basic/NASHORN-132.js.EXPECTED + test/script/basic/NASHORN-133.js + test/script/basic/NASHORN-133.js.EXPECTED + test/script/basic/NASHORN-135.js + test/script/basic/NASHORN-136.js + test/script/basic/NASHORN-136.js.EXPECTED + test/script/basic/NASHORN-14.js + test/script/basic/NASHORN-14.js.EXPECTED + test/script/basic/NASHORN-148.js + test/script/basic/NASHORN-148.js.EXPECTED + test/script/basic/NASHORN-15.js + test/script/basic/NASHORN-15.js.EXPECTED + test/script/basic/NASHORN-153.js + test/script/basic/NASHORN-156.js + test/script/basic/NASHORN-157.js + test/script/basic/NASHORN-163.js + test/script/basic/NASHORN-163.js.EXPECTED + test/script/basic/NASHORN-164.js + test/script/basic/NASHORN-165.js + test/script/basic/NASHORN-166.js + test/script/basic/NASHORN-168.js + test/script/basic/NASHORN-168.js.EXPECTED + test/script/basic/NASHORN-169.js + test/script/basic/NASHORN-172.js + test/script/basic/NASHORN-173.js + test/script/basic/NASHORN-173.js.EXPECTED + test/script/basic/NASHORN-174.js + test/script/basic/NASHORN-175.js + test/script/basic/NASHORN-176.js + test/script/basic/NASHORN-177.js + test/script/basic/NASHORN-177.js.EXPECTED + test/script/basic/NASHORN-178.js + test/script/basic/NASHORN-178.js.EXPECTED + test/script/basic/NASHORN-179.js + test/script/basic/NASHORN-18.js + test/script/basic/NASHORN-18.js.EXPECTED + test/script/basic/NASHORN-181.js + test/script/basic/NASHORN-182.js + test/script/basic/NASHORN-183.js + test/script/basic/NASHORN-184.js + test/script/basic/NASHORN-184.js.EXPECTED + test/script/basic/NASHORN-185.js + test/script/basic/NASHORN-185.js.EXPECTED + test/script/basic/NASHORN-187.js + test/script/basic/NASHORN-188.js + test/script/basic/NASHORN-188.js.EXPECTED + test/script/basic/NASHORN-19.js + test/script/basic/NASHORN-19.js.EXPECTED + test/script/basic/NASHORN-190.js + test/script/basic/NASHORN-192.js + test/script/basic/NASHORN-194.js + test/script/basic/NASHORN-196.js + test/script/basic/NASHORN-198.js + test/script/basic/NASHORN-20.js + test/script/basic/NASHORN-20.js.EXPECTED + test/script/basic/NASHORN-201.js + test/script/basic/NASHORN-202.js + test/script/basic/NASHORN-203.js + test/script/basic/NASHORN-204.js + test/script/basic/NASHORN-205.js + test/script/basic/NASHORN-206.js + test/script/basic/NASHORN-207.js + test/script/basic/NASHORN-207_2.js + test/script/basic/NASHORN-208.js + test/script/basic/NASHORN-208.js.EXPECTED + test/script/basic/NASHORN-209.js + test/script/basic/NASHORN-209.js.EXPECTED + test/script/basic/NASHORN-21.js + test/script/basic/NASHORN-21.js.EXPECTED + test/script/basic/NASHORN-211.js + test/script/basic/NASHORN-212.js + test/script/basic/NASHORN-213.js + test/script/basic/NASHORN-215.js + test/script/basic/NASHORN-215.js.EXPECTED + test/script/basic/NASHORN-216.js + test/script/basic/NASHORN-217.js + test/script/basic/NASHORN-217.js.EXPECTED + test/script/basic/NASHORN-219.js + test/script/basic/NASHORN-219.js.EXPECTED + test/script/basic/NASHORN-22.js + test/script/basic/NASHORN-22.js.EXPECTED + test/script/basic/NASHORN-221.js + test/script/basic/NASHORN-222.js + test/script/basic/NASHORN-223.js + test/script/basic/NASHORN-225.js + test/script/basic/NASHORN-226.js + test/script/basic/NASHORN-227.js + test/script/basic/NASHORN-228.js + test/script/basic/NASHORN-229.js + test/script/basic/NASHORN-229_subtest.js + test/script/basic/NASHORN-23.js + test/script/basic/NASHORN-23.js.EXPECTED + test/script/basic/NASHORN-232.js + test/script/basic/NASHORN-234.js + test/script/basic/NASHORN-235.js + test/script/basic/NASHORN-236.js + test/script/basic/NASHORN-237.js + test/script/basic/NASHORN-239.js + test/script/basic/NASHORN-24.js + test/script/basic/NASHORN-24.js.EXPECTED + test/script/basic/NASHORN-241.js + test/script/basic/NASHORN-242.js + test/script/basic/NASHORN-245.js + test/script/basic/NASHORN-247.js + test/script/basic/NASHORN-25.js + test/script/basic/NASHORN-25.js.EXPECTED + test/script/basic/NASHORN-251.js + test/script/basic/NASHORN-252.js + test/script/basic/NASHORN-253.js + test/script/basic/NASHORN-256.js + test/script/basic/NASHORN-258.js + test/script/basic/NASHORN-258.js.EXPECTED + test/script/basic/NASHORN-26.js + test/script/basic/NASHORN-26.js.EXPECTED + test/script/basic/NASHORN-260.js + test/script/basic/NASHORN-261.js + test/script/basic/NASHORN-262.js + test/script/basic/NASHORN-263.js + test/script/basic/NASHORN-264.js + test/script/basic/NASHORN-265.js + test/script/basic/NASHORN-265.js.EXPECTED + test/script/basic/NASHORN-266.js + test/script/basic/NASHORN-269.js + test/script/basic/NASHORN-27.js + test/script/basic/NASHORN-27.js.EXPECTED + test/script/basic/NASHORN-270.js + test/script/basic/NASHORN-271.js + test/script/basic/NASHORN-275.js + test/script/basic/NASHORN-276.js + test/script/basic/NASHORN-277.js + test/script/basic/NASHORN-278.js + test/script/basic/NASHORN-28.js + test/script/basic/NASHORN-28.js.EXPECTED + test/script/basic/NASHORN-281.js + test/script/basic/NASHORN-284.js + test/script/basic/NASHORN-284.js.EXPECTED + test/script/basic/NASHORN-285.js + test/script/basic/NASHORN-285.js.EXPECTED + test/script/basic/NASHORN-288.js + test/script/basic/NASHORN-29.js + test/script/basic/NASHORN-29.js.EXPECTED + test/script/basic/NASHORN-293.js + test/script/basic/NASHORN-293.js.EXPECTED + test/script/basic/NASHORN-294.js + test/script/basic/NASHORN-296.js + test/script/basic/NASHORN-297.js + test/script/basic/NASHORN-30.js + test/script/basic/NASHORN-30.js.EXPECTED + test/script/basic/NASHORN-300.js + test/script/basic/NASHORN-301.js + test/script/basic/NASHORN-301.js.EXPECTED + test/script/basic/NASHORN-304.js + test/script/basic/NASHORN-310.js + test/script/basic/NASHORN-310.js.EXPECTED + test/script/basic/NASHORN-318.js + test/script/basic/NASHORN-318.js.EXPECTED + test/script/basic/NASHORN-32.js + test/script/basic/NASHORN-32.js.EXPECTED + test/script/basic/NASHORN-321.js + test/script/basic/NASHORN-321.js.EXPECTED + test/script/basic/NASHORN-323.js + test/script/basic/NASHORN-323.js.EXPECTED + test/script/basic/NASHORN-324.js + test/script/basic/NASHORN-33.js + test/script/basic/NASHORN-33.js.EXPECTED + test/script/basic/NASHORN-331.js + test/script/basic/NASHORN-331.js.EXPECTED + test/script/basic/NASHORN-337.js + test/script/basic/NASHORN-337.js.EXPECTED + test/script/basic/NASHORN-34.js + test/script/basic/NASHORN-34.js.EXPECTED + test/script/basic/NASHORN-340.js + test/script/basic/NASHORN-340.js.EXPECTED + test/script/basic/NASHORN-349.js + test/script/basic/NASHORN-354.js + test/script/basic/NASHORN-354.js.EXPECTED + test/script/basic/NASHORN-355.js + test/script/basic/NASHORN-355.js.EXPECTED + test/script/basic/NASHORN-36.js + test/script/basic/NASHORN-36.js.EXPECTED + test/script/basic/NASHORN-365.js + test/script/basic/NASHORN-366.js + test/script/basic/NASHORN-366.js.EXPECTED + test/script/basic/NASHORN-368.js + test/script/basic/NASHORN-368.js.EXPECTED + test/script/basic/NASHORN-37.js + test/script/basic/NASHORN-37.js.EXPECTED + test/script/basic/NASHORN-375.js + test/script/basic/NASHORN-376.js + test/script/basic/NASHORN-377.js + test/script/basic/NASHORN-377.js.EXPECTED + test/script/basic/NASHORN-378.js + test/script/basic/NASHORN-38.js + test/script/basic/NASHORN-38.js.EXPECTED + test/script/basic/NASHORN-380.js + test/script/basic/NASHORN-380.js.EXPECTED + test/script/basic/NASHORN-381.js + test/script/basic/NASHORN-382.js + test/script/basic/NASHORN-383.js + test/script/basic/NASHORN-384.js + test/script/basic/NASHORN-384.js.EXPECTED + test/script/basic/NASHORN-385.js + test/script/basic/NASHORN-385.js.EXPECTED + test/script/basic/NASHORN-389.js + test/script/basic/NASHORN-389.js.EXPECTED + test/script/basic/NASHORN-393.js + test/script/basic/NASHORN-393.js.EXPECTED + test/script/basic/NASHORN-394.js + test/script/basic/NASHORN-394.js.EXPECTED + test/script/basic/NASHORN-396.js + test/script/basic/NASHORN-397.js + test/script/basic/NASHORN-398.js + test/script/basic/NASHORN-40.js + test/script/basic/NASHORN-40.js.EXPECTED + test/script/basic/NASHORN-400.js + test/script/basic/NASHORN-400.js.EXPECTED + test/script/basic/NASHORN-401.js + test/script/basic/NASHORN-401.js.EXPECTED + test/script/basic/NASHORN-402.js + test/script/basic/NASHORN-402.js.EXPECTED + test/script/basic/NASHORN-404.js + test/script/basic/NASHORN-405.js + test/script/basic/NASHORN-405.js.EXPECTED + test/script/basic/NASHORN-406.js + test/script/basic/NASHORN-408.js + test/script/basic/NASHORN-408.js.EXPECTED + test/script/basic/NASHORN-415.js + test/script/basic/NASHORN-415.js.EXPECTED + test/script/basic/NASHORN-416.js + test/script/basic/NASHORN-417.js + test/script/basic/NASHORN-418.js + test/script/basic/NASHORN-420.js + test/script/basic/NASHORN-421.js + test/script/basic/NASHORN-423.js + test/script/basic/NASHORN-423.js.EXPECTED + test/script/basic/NASHORN-423a.js + test/script/basic/NASHORN-424.js + test/script/basic/NASHORN-424.js.EXPECTED + test/script/basic/NASHORN-425.js + test/script/basic/NASHORN-425.js.EXPECTED + test/script/basic/NASHORN-426.js + test/script/basic/NASHORN-427.js + test/script/basic/NASHORN-428.js + test/script/basic/NASHORN-429.js + test/script/basic/NASHORN-432.js + test/script/basic/NASHORN-433.js + test/script/basic/NASHORN-434.js + test/script/basic/NASHORN-435.js + test/script/basic/NASHORN-437.js + test/script/basic/NASHORN-44.js + test/script/basic/NASHORN-44.js.EXPECTED + test/script/basic/NASHORN-441.js + test/script/basic/NASHORN-441.js.EXPECTED + test/script/basic/NASHORN-442.js + test/script/basic/NASHORN-443.js + test/script/basic/NASHORN-444.js + test/script/basic/NASHORN-444.js.EXPECTED + test/script/basic/NASHORN-445.js + test/script/basic/NASHORN-446.js + test/script/basic/NASHORN-447.js + test/script/basic/NASHORN-448.js + test/script/basic/NASHORN-449.js + test/script/basic/NASHORN-449.js.EXPECTED + test/script/basic/NASHORN-45.js + test/script/basic/NASHORN-45.js.EXPECTED + test/script/basic/NASHORN-450.js + test/script/basic/NASHORN-452.js + test/script/basic/NASHORN-459.js + test/script/basic/NASHORN-46.js + test/script/basic/NASHORN-46.js.EXPECTED + test/script/basic/NASHORN-462.js + test/script/basic/NASHORN-463.js + test/script/basic/NASHORN-468.js + test/script/basic/NASHORN-47.js + test/script/basic/NASHORN-473.js + test/script/basic/NASHORN-473.js.EXPECTED + test/script/basic/NASHORN-474.js + test/script/basic/NASHORN-474.js.EXPECTED + test/script/basic/NASHORN-478.js + test/script/basic/NASHORN-48.js + test/script/basic/NASHORN-48.js.EXPECTED + test/script/basic/NASHORN-481.js + test/script/basic/NASHORN-481.js.EXPECTED + test/script/basic/NASHORN-482.js + test/script/basic/NASHORN-484.js + test/script/basic/NASHORN-484.js.EXPECTED + test/script/basic/NASHORN-486.js + test/script/basic/NASHORN-487.js + test/script/basic/NASHORN-488.js + test/script/basic/NASHORN-49.js + test/script/basic/NASHORN-49.js.EXPECTED + test/script/basic/NASHORN-490.js + test/script/basic/NASHORN-494.js + test/script/basic/NASHORN-497.js + test/script/basic/NASHORN-498.js + test/script/basic/NASHORN-499.js + test/script/basic/NASHORN-50.js + test/script/basic/NASHORN-50.js.EXPECTED + test/script/basic/NASHORN-500.js + test/script/basic/NASHORN-503.js + test/script/basic/NASHORN-503.js.EXPECTED + test/script/basic/NASHORN-51.js + test/script/basic/NASHORN-51.js.EXPECTED + test/script/basic/NASHORN-511.js + test/script/basic/NASHORN-515.js + test/script/basic/NASHORN-515.js.EXPECTED + test/script/basic/NASHORN-516.js + test/script/basic/NASHORN-52.js + test/script/basic/NASHORN-534.js + test/script/basic/NASHORN-534.js.EXPECTED + test/script/basic/NASHORN-535.js + test/script/basic/NASHORN-535.js.EXPECTED + test/script/basic/NASHORN-544.js + test/script/basic/NASHORN-55.js + test/script/basic/NASHORN-554.js + test/script/basic/NASHORN-554.js.EXPECTED + test/script/basic/NASHORN-556.js + test/script/basic/NASHORN-556.js.EXPECTED + test/script/basic/NASHORN-56.js + test/script/basic/NASHORN-56.js.EXPECTED + test/script/basic/NASHORN-562.js + test/script/basic/NASHORN-565.js + test/script/basic/NASHORN-565.js.EXPECTED + test/script/basic/NASHORN-575.js + test/script/basic/NASHORN-575.js.EXPECTED + test/script/basic/NASHORN-58.js + test/script/basic/NASHORN-58.js.EXPECTED + test/script/basic/NASHORN-59.js + test/script/basic/NASHORN-59.js.EXPECTED + test/script/basic/NASHORN-592.js + test/script/basic/NASHORN-592.js.EXPECTED + test/script/basic/NASHORN-597.js + test/script/basic/NASHORN-597.js.EXPECTED + test/script/basic/NASHORN-60.js + test/script/basic/NASHORN-60.js.EXPECTED + test/script/basic/NASHORN-609.js + test/script/basic/NASHORN-609.js.EXPECTED + test/script/basic/NASHORN-61.js + test/script/basic/NASHORN-61.js.EXPECTED + test/script/basic/NASHORN-62.js + test/script/basic/NASHORN-62.js.EXPECTED + test/script/basic/NASHORN-620.js + test/script/basic/NASHORN-620.js.EXPECTED + test/script/basic/NASHORN-623.js + test/script/basic/NASHORN-623.js.EXPECTED + test/script/basic/NASHORN-627.js + test/script/basic/NASHORN-627.js.EXPECTED + test/script/basic/NASHORN-63.js + test/script/basic/NASHORN-631.js.EXPECTED + test/script/basic/NASHORN-637.js + test/script/basic/NASHORN-637.js.EXPECTED + test/script/basic/NASHORN-638.js + test/script/basic/NASHORN-638.js.EXPECTED + test/script/basic/NASHORN-639.js + test/script/basic/NASHORN-64.js + test/script/basic/NASHORN-642.js + test/script/basic/NASHORN-642.js.EXPECTED + test/script/basic/NASHORN-646.js + test/script/basic/NASHORN-653.js + test/script/basic/NASHORN-658.js + test/script/basic/NASHORN-659.js + test/script/basic/NASHORN-66.js + test/script/basic/NASHORN-66.js.EXPECTED + test/script/basic/NASHORN-664.js + test/script/basic/NASHORN-665.js + test/script/basic/NASHORN-67.js + test/script/basic/NASHORN-67.js.EXPECTED + test/script/basic/NASHORN-678.js + test/script/basic/NASHORN-68.js + test/script/basic/NASHORN-68.js.EXPECTED + test/script/basic/NASHORN-689.js + test/script/basic/NASHORN-689.js.EXPECTED + test/script/basic/NASHORN-69.js + test/script/basic/NASHORN-69.js.EXPECTED + test/script/basic/NASHORN-691.js + test/script/basic/NASHORN-691.js.EXPECTED + test/script/basic/NASHORN-694.js + test/script/basic/NASHORN-694.js.EXPECTED + test/script/basic/NASHORN-697.js + test/script/basic/NASHORN-703.js + test/script/basic/NASHORN-703.js.EXPECTED + test/script/basic/NASHORN-703a.js + test/script/basic/NASHORN-703a.js.EXPECTED + test/script/basic/NASHORN-705.js + test/script/basic/NASHORN-71.js + test/script/basic/NASHORN-71.js.EXPECTED + test/script/basic/NASHORN-710.js + test/script/basic/NASHORN-711.js + test/script/basic/NASHORN-711.js.EXPECTED + test/script/basic/NASHORN-72.js + test/script/basic/NASHORN-72.js.EXPECTED + test/script/basic/NASHORN-722.js + test/script/basic/NASHORN-73.js + test/script/basic/NASHORN-73.js.EXPECTED + test/script/basic/NASHORN-737.js + test/script/basic/NASHORN-737.js.EXPECTED + test/script/basic/NASHORN-74.js + test/script/basic/NASHORN-74.js.EXPECTED + test/script/basic/NASHORN-740.js + test/script/basic/NASHORN-740.js.EXPECTED + test/script/basic/NASHORN-75.js + test/script/basic/NASHORN-75.js.EXPECTED + test/script/basic/NASHORN-758.js + test/script/basic/NASHORN-759.js + test/script/basic/NASHORN-759.js.EXPECTED + test/script/basic/NASHORN-760.js + test/script/basic/NASHORN-768.js + test/script/basic/NASHORN-778.js + test/script/basic/NASHORN-78.js + test/script/basic/NASHORN-79.js + test/script/basic/NASHORN-79.js.EXPECTED + test/script/basic/NASHORN-792.js + test/script/basic/NASHORN-792.js.EXPECTED + test/script/basic/NASHORN-80.js + test/script/basic/NASHORN-80.js.EXPECTED + test/script/basic/NASHORN-81.js + test/script/basic/NASHORN-833.js + test/script/basic/NASHORN-833.js.EXPECTED + test/script/basic/NASHORN-85.js + test/script/basic/NASHORN-85.js.EXPECTED + test/script/basic/NASHORN-86.js + test/script/basic/NASHORN-87.js + test/script/basic/NASHORN-89.js + test/script/basic/NASHORN-90.js + test/script/basic/NASHORN-90.js.EXPECTED + test/script/basic/NASHORN-91.js + test/script/basic/NASHORN-91.js.EXPECTED + test/script/basic/NASHORN-92.js + test/script/basic/NASHORN-92.js.EXPECTED + test/script/basic/NASHORN-93.js + test/script/basic/NASHORN-95.js + test/script/basic/NASHORN-95.js.EXPECTED + test/script/basic/NASHORN-96.js + test/script/basic/NASHORN-96.js.EXPECTED + test/script/basic/NASHORN-97.js + test/script/basic/NASHORN-98.js + test/script/basic/NASHORN-98.js.EXPECTED + test/script/basic/NASHORN-99.js + test/script/basic/addition.js + test/script/basic/addition.js.EXPECTED + test/script/basic/allgettersetters.js + test/script/basic/andor.js + test/script/basic/andor.js.EXPECTED + test/script/basic/anonrecur.js + test/script/basic/anonrecur.js.EXPECTED + test/script/basic/applycall.js + test/script/basic/applycall.js.EXPECTED + test/script/basic/args.js + test/script/basic/args.js.EXPECTED + test/script/basic/arity.js + test/script/basic/arity.js.EXPECTED + test/script/basic/arrayprotoclass.js + test/script/basic/arrayprotoclass.js.EXPECTED + test/script/basic/arrays.js + test/script/basic/arrays.js.EXPECTED + test/script/basic/arrays2.js + test/script/basic/arrays2.js.EXPECTED + test/script/basic/arraysIntKey.js + test/script/basic/arraysIntKey.js.EXPECTED + test/script/basic/arrayset.js + test/script/basic/arrayset.js.EXPECTED + test/script/basic/arrayundefined.js + test/script/basic/arrayundefined.js.EXPECTED + test/script/basic/assign.js + test/script/basic/assign.js.EXPECTED + test/script/basic/bitwise_and.js + test/script/basic/bitwise_and.js.EXPECTED + test/script/basic/booleangetter.js + test/script/basic/booleangetter.js.EXPECTED + test/script/basic/builtin.js + test/script/basic/builtin.js.EXPECTED + test/script/basic/builtin_assign.js + test/script/basic/builtin_assign.js.EXPECTED + test/script/basic/builtinchain.js + test/script/basic/builtinchain.js.EXPECTED + test/script/basic/calllink.js + test/script/basic/calllink.js.EXPECTED + test/script/basic/closure.js + test/script/basic/closure.js.EXPECTED + test/script/basic/commandargs.js + test/script/basic/commandargs.js.EXPECTED + test/script/basic/compile-octane.js + test/script/basic/compile-octane.js.EXPECTED + test/script/basic/condassign.js + test/script/basic/condassign.js.EXPECTED + test/script/basic/construct.js + test/script/basic/construct.js.EXPECTED + test/script/basic/constructorname.js + test/script/basic/constructorname.js.EXPECTED + test/script/basic/date.js + test/script/basic/date.js.EXPECTED + test/script/basic/dateparse.js + test/script/basic/dateparse.js.EXPECTED + test/script/basic/decinc.js + test/script/basic/decinc.js.EXPECTED + test/script/basic/delete.js + test/script/basic/delete.js.EXPECTED + test/script/basic/delete2.js + test/script/basic/delete2.js.EXPECTED + test/script/basic/dotpropname.js + test/script/basic/dotpropname.js.EXPECTED + test/script/basic/doublecache.js + test/script/basic/doublecache.js.EXPECTED + test/script/basic/enumeration.js + test/script/basic/enumeration.js.EXPECTED + test/script/basic/errors.js + test/script/basic/errors.js.EXPECTED + test/script/basic/errorstack.js + test/script/basic/errorstack.js.EXPECTED + test/script/basic/eval.js + test/script/basic/eval.js.EXPECTED + test/script/basic/evalreturn.js + test/script/basic/evalreturn.js.EXPECTED + test/script/basic/exprclosure.js + test/script/basic/exprclosure.js.EXPECTED + test/script/basic/extensibility.js + test/script/basic/extensibility.js.EXPECTED + test/script/basic/fileline.js + test/script/basic/fileline.js.EXPECTED + test/script/basic/finally-catchalls.js + test/script/basic/finally-catchalls.js.EXPECTED + test/script/basic/finallyreturn.js + test/script/basic/finallyreturn.js.EXPECTED + test/script/basic/forin.js + test/script/basic/forin.js.EXPECTED + test/script/basic/forin2.js + test/script/basic/forin2.js.EXPECTED + test/script/basic/funcarray.js + test/script/basic/funcarray.js.EXPECTED + test/script/basic/funcbind.js + test/script/basic/funcbind.js.EXPECTED + test/script/basic/funcconstructor.js + test/script/basic/funcconstructor.js.EXPECTED + test/script/basic/getclassname.js + test/script/basic/getenv.js + test/script/basic/getenv.js.EXPECTED + test/script/basic/getter_callsite.js + test/script/basic/getter_callsite.js.EXPECTED + test/script/basic/gettercalls.js + test/script/basic/gettercalls.js.EXPECTED + test/script/basic/getterfunc.js + test/script/basic/getterfunc.js.EXPECTED + test/script/basic/gettersetter.js + test/script/basic/gettersetter.js.EXPECTED + test/script/basic/globalaccess.js + test/script/basic/globalaccess.js.EXPECTED + test/script/basic/globals.js + test/script/basic/globals.js.EXPECTED + test/script/basic/globalscope.js + test/script/basic/globalscope.js.EXPECTED + test/script/basic/hello.js + test/script/basic/hello.js.EXPECTED + test/script/basic/herestr_operator.js + test/script/basic/herestr_operator.js.EXPECTED + test/script/basic/illegaljavaname.js + test/script/basic/illegaljavaname.js.EXPECTED + test/script/basic/incheck.js + test/script/basic/incheck.js.EXPECTED + test/script/basic/indexedcall.js + test/script/basic/indexedcall.js.EXPECTED + test/script/basic/info.js + test/script/basic/info.js.EXPECTED + test/script/basic/inherited_nonwritable.js + test/script/basic/instanceof.js + test/script/basic/instanceof.js.EXPECTED + test/script/basic/instanceof2.js + test/script/basic/instanceof2.js.EXPECTED + test/script/basic/interfaces.js + test/script/basic/interfaces.js.EXPECTED + test/script/basic/iterator.js + test/script/basic/iterator.js.EXPECTED + test/script/basic/java.js + test/script/basic/java.js.EXPECTED + test/script/basic/javaarray.js + test/script/basic/javaarray.js.EXPECTED + test/script/basic/javaarrayconversion.js + test/script/basic/javaarrayconversion.js.EXPECTED + test/script/basic/javaexceptions.js + test/script/basic/javaexceptions.js.EXPECTED + test/script/basic/javaimporter.js + test/script/basic/javaimporter.js.EXPECTED + test/script/basic/javainnerclasses.js + test/script/basic/javainnerclasses.js.EXPECTED + test/script/basic/javasigcall.js + test/script/basic/javasigcall.js.EXPECTED + test/script/basic/jquery.js + test/script/basic/jquery.js.EXPECTED + test/script/basic/jsadapter.js + test/script/basic/jsadapter.js.EXPECTED + test/script/basic/jsadapterlink.js + test/script/basic/jsadapterlink.js.EXPECTED + test/script/basic/json.js + test/script/basic/json.js.EXPECTED + test/script/basic/list.js + test/script/basic/list.js.EXPECTED + test/script/basic/literal.js + test/script/basic/literal.js.EXPECTED + test/script/basic/load.js + test/script/basic/load.js.EXPECTED + test/script/basic/loadedfile.js + test/script/basic/localundef.js + test/script/basic/localundef.js.EXPECTED + test/script/basic/map.js + test/script/basic/map.js.EXPECTED + test/script/basic/math.js + test/script/basic/math.js.EXPECTED + test/script/basic/minuszero.js + test/script/basic/minuszero.js.EXPECTED + test/script/basic/module.js + test/script/basic/moduleload.js + test/script/basic/moduleload.js.EXPECTED + test/script/basic/nashorn2.js + test/script/basic/nashorn2.js.EXPECTED + test/script/basic/natives.js + test/script/basic/natives.js.EXPECTED + test/script/basic/new.js + test/script/basic/new.js.EXPECTED + test/script/basic/newexpr.js + test/script/basic/newexpr.js.EXPECTED + test/script/basic/newnew.js + test/script/basic/newnew.js.EXPECTED + test/script/basic/nonconstructors.js + test/script/basic/nonconstructors.js.EXPECTED + test/script/basic/nosuchmethod.js + test/script/basic/nosuchmethod.js.EXPECTED + test/script/basic/nosuchproperty.js + test/script/basic/nosuchproperty.js.EXPECTED + test/script/basic/number.js + test/script/basic/number.js.EXPECTED + test/script/basic/numberstring.js + test/script/basic/numberstring.js.EXPECTED + test/script/basic/objectprops.js + test/script/basic/objectprops.js.EXPECTED + test/script/basic/objects.js + test/script/basic/objects.js.EXPECTED + test/script/basic/options.js + test/script/basic/options.js.EXPECTED + test/script/basic/propchange.js + test/script/basic/propchange.js.EXPECTED + test/script/basic/propertycheck.js + test/script/basic/propertycheck.js.EXPECTED + test/script/basic/proto.js.EXPECTED + test/script/basic/prototype.js + test/script/basic/prototype.js.EXPECTED + test/script/basic/pushpull.js + test/script/basic/pushpull.js.EXPECTED + test/script/basic/regex.js + test/script/basic/regex.js.EXPECTED + test/script/basic/regexp_flags.js + test/script/basic/run-octane.js + test/script/basic/runsunspider.js + test/script/basic/runsunspider.js.EXPECTED + test/script/basic/samfunc.js + test/script/basic/samfunc.js.EXPECTED + test/script/basic/scripting.js + test/script/basic/scripting.js.EXPECTED + test/script/basic/sealfreeze.js + test/script/basic/sealfreeze.js.EXPECTED + test/script/basic/setlength.js + test/script/basic/setlength.js.EXPECTED + test/script/basic/stdin.js + test/script/basic/stdin.js.EXPECTED + test/script/basic/strings.js + test/script/basic/strings.js.EXPECTED + test/script/basic/throws.js + test/script/basic/throws.js.EXPECTED + test/script/basic/tosource.js + test/script/basic/tosource.js.EXPECTED + test/script/basic/tostring.js + test/script/basic/tostring.js.EXPECTED + test/script/basic/try.js + test/script/basic/try.js.EXPECTED + test/script/basic/trybreakcont.js + test/script/basic/trybreakcont.js.EXPECTED + test/script/basic/trycatch.js + test/script/basic/trycatch.js.EXPECTED + test/script/basic/trycatchfor.js + test/script/basic/trycatchfor.js.EXPECTED + test/script/basic/tryfinallyreturn.js + test/script/basic/tryfinallyreturn.js.EXPECTED + test/script/basic/tryforbreak.js + test/script/basic/tryforbreak.js.EXPECTED + test/script/basic/typechange.js + test/script/basic/typechange.js.EXPECTED + test/script/basic/typeof.js + test/script/basic/typeof.js.EXPECTED + test/script/basic/typeof2.js + test/script/basic/typeof2.js.EXPECTED + test/script/basic/undefined.js + test/script/basic/undefined.js.EXPECTED + test/script/basic/underscore.js + test/script/basic/underscore.js.EXPECTED + test/script/basic/varargs.js + test/script/basic/varargs.js.EXPECTED + test/script/basic/void.js + test/script/basic/void.js.EXPECTED + test/script/basic/with.js + test/script/basic/with.js.EXPECTED + test/script/basic/withprimitive.js + test/script/basic/withprimitive.js.EXPECTED + test/script/basic/writable_relink.js + test/script/basic/writable_relink.js.EXPECTED + test/script/basic/xmlStrings.js.EXPECTED + test/script/basic/xorassign.js + test/script/basic/xorassign.js.EXPECTED + test/script/basic/yui.js + test/script/basic/yui.js.EXPECTED + test/script/error/NASHORN-154/README + test/script/error/NASHORN-154/function_mult_params_in_strict.js + test/script/error/NASHORN-154/function_mult_params_in_strict.js.EXPECTED + test/script/error/NASHORN-154/improper_return_break_continue.js + test/script/error/NASHORN-154/improper_return_break_continue.js.EXPECTED + test/script/error/NASHORN-154/invalid_lvalue.js + test/script/error/NASHORN-154/invalid_lvalue.js.EXPECTED + test/script/error/NASHORN-154/literal_data_and_accessor.js + test/script/error/NASHORN-154/literal_data_and_accessor.js.EXPECTED + test/script/error/NASHORN-154/literal_mult_getters.js + test/script/error/NASHORN-154/literal_mult_getters.js.EXPECTED + test/script/error/NASHORN-154/literal_mult_prop_in_strict.js + test/script/error/NASHORN-154/literal_mult_prop_in_strict.js.EXPECTED + test/script/error/NASHORN-154/with_in_strict.js + test/script/error/NASHORN-154/with_in_strict.js.EXPECTED + test/script/error/NASHORN-214.js + test/script/error/NASHORN-214.js.EXPECTED + test/script/error/NASHORN-35.js + test/script/error/NASHORN-35.js.EXPECTED + test/script/error/NASHORN-39.js + test/script/error/NASHORN-39.js.EXPECTED + test/script/error/NASHORN-568.js + test/script/error/NASHORN-568.js.EXPECTED + test/script/error/NASHORN-57.js + test/script/error/NASHORN-57.js.EXPECTED + test/script/error/NASHORN-668.js + test/script/error/NASHORN-668.js.EXPECTED + test/script/error/quotemissing.js + test/script/error/quotemissing.js.EXPECTED + test/script/error/strictmode.js + test/script/error/strictmode.js.EXPECTED + test/script/representations/NASHORN-592a.js + test/script/sandbox/NASHORN-525.js + test/script/sandbox/README + test/script/sandbox/classloader.js + test/script/sandbox/classloader.js.EXPECTED + test/script/sandbox/doprivileged.js + test/script/sandbox/doprivileged.js.EXPECTED + test/script/sandbox/exit.js + test/script/sandbox/exit.js.EXPECTED + test/script/sandbox/file.js + test/script/sandbox/file.js.EXPECTED + test/script/sandbox/javaextend.js + test/script/sandbox/javaextend.js.EXPECTED + test/script/sandbox/loadLibrary.js + test/script/sandbox/net.js + test/script/sandbox/net.js.EXPECTED + test/script/sandbox/property.js + test/script/sandbox/property.js.EXPECTED + test/script/sandbox/reflection.js + test/script/sandbox/reflection.js.EXPECTED + test/script/sandbox/runnable.js + test/script/sandbox/runnable.js.EXPECTED + test/script/sandbox/unsafe.js + test/script/sandbox/unsafe.js.EXPECTED + test/script/test262.js + test/script/test262_single.js + test/src/UnnamedPackageTestCallback.java + test/src/jdk/nashorn/api/scripting/MultipleEngineTest.java + test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java + test/src/jdk/nashorn/api/scripting/Window.java + test/src/jdk/nashorn/api/scripting/WindowEventHandler.java + test/src/jdk/nashorn/internal/access/BooleanAccessTest.java + test/src/jdk/nashorn/internal/access/MethodAccessTest.java + test/src/jdk/nashorn/internal/access/NumberAccessTest.java + test/src/jdk/nashorn/internal/access/NumberBoxingTest.java + test/src/jdk/nashorn/internal/access/ObjectAccessTest.java + test/src/jdk/nashorn/internal/access/Person.java + test/src/jdk/nashorn/internal/access/SharedObject.java + test/src/jdk/nashorn/internal/access/StringAccessTest.java + test/src/jdk/nashorn/internal/codegen/CompilerTest.java + test/src/jdk/nashorn/internal/parser/ParserTest.java + test/src/jdk/nashorn/internal/performance/AuroraWrapper.java + test/src/jdk/nashorn/internal/performance/OctaneTest.java + test/src/jdk/nashorn/internal/performance/PerformanceWrapper.java + test/src/jdk/nashorn/internal/performance/SplayTest.java + test/src/jdk/nashorn/internal/runtime/ContextTest.java + test/src/jdk/nashorn/internal/runtime/JSTypeTest.java + test/src/jdk/nashorn/internal/runtime/Nashorn401TestSubject.java + test/src/jdk/nashorn/internal/test/framework/AbstractScriptRunnable.java + test/src/jdk/nashorn/internal/test/framework/JSJUnitReportReporter.java + test/src/jdk/nashorn/internal/test/framework/OrphanTestFinder.java + test/src/jdk/nashorn/internal/test/framework/ParallelTestRunner.java + test/src/jdk/nashorn/internal/test/framework/ScriptEvaluator.java + test/src/jdk/nashorn/internal/test/framework/ScriptRunnable.java + test/src/jdk/nashorn/internal/test/framework/ScriptTest.java + test/src/jdk/nashorn/internal/test/framework/SeparateContextEvaluator.java + test/src/jdk/nashorn/internal/test/framework/SharedContextEvaluator.java + test/src/jdk/nashorn/internal/test/framework/TestConfig.java + test/src/jdk/nashorn/internal/test/framework/TestFinder.java + test/src/jdk/nashorn/internal/test/framework/TestHelper.java + test/src/jdk/nashorn/internal/test/framework/TestReorderInterceptor.java + test/src/jdk/nashorn/internal/test/models/ConstructorWithArgument.java + test/src/jdk/nashorn/internal/test/models/FinalClass.java + test/src/jdk/nashorn/internal/test/models/NoAccessibleConstructorClass.java + test/src/jdk/nashorn/internal/test/models/NonPublicClass.java + test/src/jdk/nashorn/internal/test/models/OuterClass.java + test/src/jdk/nashorn/internal/test/models/OverloadedSam.java + test/src/jdk/nashorn/internal/test/models/OverrideObject.java Changeset: b4b05457b8b2 Author: jlaskey Date: 2012-12-22 08:49 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/b4b05457b8b2 8005440: Improve .hgignore filtering for Nashorn repo Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! .hgignore Changeset: 3a7e1580bc0a Author: jlaskey Date: 2013-01-04 09:58 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/3a7e1580bc0a 8005666: Add webrev to .hgignore Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! .hgignore Changeset: c6e194450af7 Author: jlaskey Date: 2013-01-04 09:58 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/c6e194450af7 8005665: JavaDoc should only display public interfaces Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! make/build.xml Changeset: 5a1b0714df0e Author: jlaskey Date: 2013-01-04 09:58 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/5a1b0714df0e 8005663: Update copyright year to 2013 Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! bin/checkintest.sh ! bin/fixorphantests.sh ! bin/fixwhitespace.sh ! bin/jjs ! bin/jjs.bat ! bin/jjssecure ! bin/jjssecure.bat ! bin/nashorn ! bin/nashorn.bat ! bin/rm-non-tracked.sh ! bin/verbose_octane.bat ! bin/verbose_octane.sh ! buildtools/nasgen/build.xml ! buildtools/nasgen/nasgen.iml ! buildtools/nasgen/project.properties ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ClassGenerator.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ConstructorGenerator.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/Main.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/MemberInfo.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/MethodGenerator.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/NullVisitor.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/PrototypeGenerator.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInfo.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInfoCollector.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInstrumentor.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/StringConstants.java ! docs/genshelldoc.js ! make/Makefile ! make/build-benchmark.xml ! make/build-nasgen.xml ! make/build.xml ! make/nbproject/ide-file-targets.xml ! make/nbproject/ide-targets.xml ! make/nbproject/jdk.xml ! make/nbproject/nbjdk.properties ! make/nbproject/nbjdk.xml ! make/nbproject/project.xml ! make/project.properties ! samples/counters.js ! samples/letter.js ! samples/parser.js ! samples/shell.js ! samples/test.js ! samples/uniq.js ! src/META-INF/services/javax.script.ScriptEngineFactory ! src/jdk/nashorn/api/scripting/NashornException.java ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! src/jdk/nashorn/api/scripting/package-info.java ! src/jdk/nashorn/api/scripting/resources/engine.js ! src/jdk/nashorn/internal/codegen/AccessSpecializer.java ! src/jdk/nashorn/internal/codegen/BranchOptimizer.java ! src/jdk/nashorn/internal/codegen/ClassEmitter.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/CompileUnit.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/CompilerConstants.java ! src/jdk/nashorn/internal/codegen/ConstantData.java ! src/jdk/nashorn/internal/codegen/Emitter.java ! src/jdk/nashorn/internal/codegen/Frame.java ! src/jdk/nashorn/internal/codegen/FunctionSignature.java ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/Namespace.java ! src/jdk/nashorn/internal/codegen/RuntimeCallSite.java ! src/jdk/nashorn/internal/codegen/SharedScopeCall.java ! src/jdk/nashorn/internal/codegen/Splitter.java ! src/jdk/nashorn/internal/codegen/Transform.java ! src/jdk/nashorn/internal/codegen/WeighNodes.java ! src/jdk/nashorn/internal/codegen/objects/FieldObjectCreator.java ! src/jdk/nashorn/internal/codegen/objects/FunctionObjectCreator.java ! src/jdk/nashorn/internal/codegen/objects/MapCreator.java ! src/jdk/nashorn/internal/codegen/objects/ObjectClassGenerator.java ! src/jdk/nashorn/internal/codegen/objects/ObjectCreator.java ! src/jdk/nashorn/internal/codegen/objects/ObjectMapCreator.java ! src/jdk/nashorn/internal/codegen/types/ArrayType.java ! src/jdk/nashorn/internal/codegen/types/BitwiseType.java ! src/jdk/nashorn/internal/codegen/types/BooleanType.java ! src/jdk/nashorn/internal/codegen/types/BytecodeArrayOps.java ! src/jdk/nashorn/internal/codegen/types/BytecodeBitwiseOps.java ! src/jdk/nashorn/internal/codegen/types/BytecodeNumericOps.java ! src/jdk/nashorn/internal/codegen/types/BytecodeOps.java ! src/jdk/nashorn/internal/codegen/types/IntType.java ! src/jdk/nashorn/internal/codegen/types/LongType.java ! src/jdk/nashorn/internal/codegen/types/NumberType.java ! src/jdk/nashorn/internal/codegen/types/NumericType.java ! src/jdk/nashorn/internal/codegen/types/ObjectType.java ! src/jdk/nashorn/internal/codegen/types/Type.java ! src/jdk/nashorn/internal/ir/AccessNode.java ! src/jdk/nashorn/internal/ir/Assignment.java ! src/jdk/nashorn/internal/ir/BaseNode.java ! src/jdk/nashorn/internal/ir/BinaryNode.java ! src/jdk/nashorn/internal/ir/Block.java ! src/jdk/nashorn/internal/ir/BreakNode.java ! src/jdk/nashorn/internal/ir/BreakableNode.java ! src/jdk/nashorn/internal/ir/CallNode.java ! src/jdk/nashorn/internal/ir/CaseNode.java ! src/jdk/nashorn/internal/ir/CatchNode.java ! src/jdk/nashorn/internal/ir/ContinueNode.java ! src/jdk/nashorn/internal/ir/DoWhileNode.java ! src/jdk/nashorn/internal/ir/EmptyNode.java ! src/jdk/nashorn/internal/ir/ExecuteNode.java ! src/jdk/nashorn/internal/ir/ForNode.java ! src/jdk/nashorn/internal/ir/FunctionCall.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/IdentNode.java ! src/jdk/nashorn/internal/ir/IfNode.java ! src/jdk/nashorn/internal/ir/IndexNode.java ! src/jdk/nashorn/internal/ir/LabelNode.java ! src/jdk/nashorn/internal/ir/LabeledNode.java ! src/jdk/nashorn/internal/ir/LineNumberNode.java ! src/jdk/nashorn/internal/ir/LiteralNode.java ! src/jdk/nashorn/internal/ir/Location.java ! src/jdk/nashorn/internal/ir/Node.java ! src/jdk/nashorn/internal/ir/ObjectNode.java ! src/jdk/nashorn/internal/ir/PropertyKey.java ! src/jdk/nashorn/internal/ir/PropertyNode.java ! src/jdk/nashorn/internal/ir/ReferenceNode.java ! src/jdk/nashorn/internal/ir/ReturnNode.java ! src/jdk/nashorn/internal/ir/RuntimeNode.java ! src/jdk/nashorn/internal/ir/SplitNode.java ! src/jdk/nashorn/internal/ir/SwitchNode.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/ir/TernaryNode.java ! src/jdk/nashorn/internal/ir/ThrowNode.java ! src/jdk/nashorn/internal/ir/TryNode.java ! src/jdk/nashorn/internal/ir/TypeOverride.java ! src/jdk/nashorn/internal/ir/UnaryNode.java ! src/jdk/nashorn/internal/ir/VarNode.java ! src/jdk/nashorn/internal/ir/WhileNode.java ! src/jdk/nashorn/internal/ir/WithNode.java ! src/jdk/nashorn/internal/ir/annotations/ChildNode.java ! src/jdk/nashorn/internal/ir/annotations/Ignore.java ! src/jdk/nashorn/internal/ir/annotations/ParentNode.java ! src/jdk/nashorn/internal/ir/annotations/Reference.java ! src/jdk/nashorn/internal/ir/debug/ASTWriter.java ! src/jdk/nashorn/internal/ir/debug/JSONWriter.java ! src/jdk/nashorn/internal/ir/debug/PrintVisitor.java ! src/jdk/nashorn/internal/ir/visitor/NodeOperatorVisitor.java ! src/jdk/nashorn/internal/ir/visitor/NodeVisitor.java ! src/jdk/nashorn/internal/objects/AccessorPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/ArrayBufferView.java ! src/jdk/nashorn/internal/objects/DataPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/DateParser.java ! src/jdk/nashorn/internal/objects/GenericPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArguments.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/objects/NativeArrayBuffer.java ! src/jdk/nashorn/internal/objects/NativeBoolean.java ! src/jdk/nashorn/internal/objects/NativeDate.java ! src/jdk/nashorn/internal/objects/NativeDebug.java ! src/jdk/nashorn/internal/objects/NativeError.java ! src/jdk/nashorn/internal/objects/NativeEvalError.java ! src/jdk/nashorn/internal/objects/NativeFloat32Array.java ! src/jdk/nashorn/internal/objects/NativeFloat64Array.java ! src/jdk/nashorn/internal/objects/NativeFunction.java ! src/jdk/nashorn/internal/objects/NativeInt16Array.java ! src/jdk/nashorn/internal/objects/NativeInt32Array.java ! src/jdk/nashorn/internal/objects/NativeInt8Array.java ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk/nashorn/internal/objects/NativeJSON.java ! src/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk/nashorn/internal/objects/NativeJavaImporter.java ! src/jdk/nashorn/internal/objects/NativeMath.java ! src/jdk/nashorn/internal/objects/NativeNumber.java ! src/jdk/nashorn/internal/objects/NativeObject.java ! src/jdk/nashorn/internal/objects/NativeRangeError.java ! src/jdk/nashorn/internal/objects/NativeReferenceError.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java ! src/jdk/nashorn/internal/objects/NativeStrictArguments.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/objects/NativeSyntaxError.java ! src/jdk/nashorn/internal/objects/NativeTypeError.java ! src/jdk/nashorn/internal/objects/NativeURIError.java ! src/jdk/nashorn/internal/objects/NativeUint16Array.java ! src/jdk/nashorn/internal/objects/NativeUint32Array.java ! src/jdk/nashorn/internal/objects/NativeUint8Array.java ! src/jdk/nashorn/internal/objects/NativeUint8ClampedArray.java ! src/jdk/nashorn/internal/objects/PrototypeObject.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/objects/annotations/Attribute.java ! src/jdk/nashorn/internal/objects/annotations/Constructor.java ! src/jdk/nashorn/internal/objects/annotations/Function.java ! src/jdk/nashorn/internal/objects/annotations/Getter.java ! src/jdk/nashorn/internal/objects/annotations/Property.java ! src/jdk/nashorn/internal/objects/annotations/ScriptClass.java ! src/jdk/nashorn/internal/objects/annotations/Setter.java ! src/jdk/nashorn/internal/objects/annotations/SpecializedConstructor.java ! src/jdk/nashorn/internal/objects/annotations/SpecializedFunction.java ! src/jdk/nashorn/internal/objects/annotations/Where.java ! src/jdk/nashorn/internal/objects/package-info.java ! src/jdk/nashorn/internal/parser/AbstractParser.java ! src/jdk/nashorn/internal/parser/JSONParser.java ! src/jdk/nashorn/internal/parser/Lexer.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/parser/RegExp.java ! src/jdk/nashorn/internal/parser/RegExpScanner.java ! src/jdk/nashorn/internal/parser/Scanner.java ! src/jdk/nashorn/internal/parser/Token.java ! src/jdk/nashorn/internal/parser/TokenKind.java ! src/jdk/nashorn/internal/parser/TokenLookup.java ! src/jdk/nashorn/internal/parser/TokenStream.java ! src/jdk/nashorn/internal/parser/TokenType.java ! src/jdk/nashorn/internal/runtime/AccessorProperty.java ! src/jdk/nashorn/internal/runtime/BitVector.java ! src/jdk/nashorn/internal/runtime/CodeInstaller.java ! src/jdk/nashorn/internal/runtime/ConsString.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/Debug.java ! src/jdk/nashorn/internal/runtime/DebugLogger.java ! src/jdk/nashorn/internal/runtime/DefaultPropertyAccess.java ! src/jdk/nashorn/internal/runtime/ECMAErrors.java ! src/jdk/nashorn/internal/runtime/ECMAException.java ! src/jdk/nashorn/internal/runtime/ErrorManager.java ! src/jdk/nashorn/internal/runtime/FindProperty.java ! src/jdk/nashorn/internal/runtime/FunctionScope.java ! src/jdk/nashorn/internal/runtime/GlobalFunctions.java ! src/jdk/nashorn/internal/runtime/GlobalObject.java ! src/jdk/nashorn/internal/runtime/JSErrorType.java ! src/jdk/nashorn/internal/runtime/JSType.java ! src/jdk/nashorn/internal/runtime/Logging.java ! src/jdk/nashorn/internal/runtime/NashornLoader.java ! src/jdk/nashorn/internal/runtime/NativeJavaPackage.java ! src/jdk/nashorn/internal/runtime/NumberToString.java ! src/jdk/nashorn/internal/runtime/ParserException.java ! src/jdk/nashorn/internal/runtime/Property.java ! src/jdk/nashorn/internal/runtime/PropertyAccess.java ! src/jdk/nashorn/internal/runtime/PropertyDescriptor.java ! src/jdk/nashorn/internal/runtime/PropertyHashMap.java ! src/jdk/nashorn/internal/runtime/PropertyListener.java ! src/jdk/nashorn/internal/runtime/PropertyListenerManager.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java ! src/jdk/nashorn/internal/runtime/QuotedStringTokenizer.java ! src/jdk/nashorn/internal/runtime/RegExpMatch.java ! src/jdk/nashorn/internal/runtime/Scope.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptLoader.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/internal/runtime/Source.java ! src/jdk/nashorn/internal/runtime/SpillProperty.java ! src/jdk/nashorn/internal/runtime/StructureLoader.java ! src/jdk/nashorn/internal/runtime/URIUtils.java ! src/jdk/nashorn/internal/runtime/Undefined.java ! src/jdk/nashorn/internal/runtime/UserAccessorProperty.java ! src/jdk/nashorn/internal/runtime/Version.java ! src/jdk/nashorn/internal/runtime/WithObject.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayIndex.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayIterator.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayLikeIterator.java ! src/jdk/nashorn/internal/runtime/arrays/DeletedArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/DeletedRangeArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/EmptyArrayLikeIterator.java ! src/jdk/nashorn/internal/runtime/arrays/FrozenArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/IntArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/InvalidArrayIndexException.java ! src/jdk/nashorn/internal/runtime/arrays/IteratorAction.java ! src/jdk/nashorn/internal/runtime/arrays/LongArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/MapIterator.java ! src/jdk/nashorn/internal/runtime/arrays/NoTypeArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/NumberArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/ObjectArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/ReverseArrayIterator.java ! src/jdk/nashorn/internal/runtime/arrays/ReverseMapIterator.java ! src/jdk/nashorn/internal/runtime/arrays/SealedArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/SparseArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/UndefinedArrayFilter.java ! src/jdk/nashorn/internal/runtime/linker/Bootstrap.java ! src/jdk/nashorn/internal/runtime/linker/InvokeByName.java ! src/jdk/nashorn/internal/runtime/linker/JSObjectLinker.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java ! src/jdk/nashorn/internal/runtime/linker/JavaArgumentConverters.java ! src/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java ! src/jdk/nashorn/internal/runtime/linker/Lookup.java ! src/jdk/nashorn/internal/runtime/linker/Mangler.java ! src/jdk/nashorn/internal/runtime/linker/MethodHandleFactory.java ! src/jdk/nashorn/internal/runtime/linker/MethodHandleFunctionality.java ! src/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornCallSiteDescriptor.java ! src/jdk/nashorn/internal/runtime/linker/NashornGuardedInvocation.java ! src/jdk/nashorn/internal/runtime/linker/NashornGuards.java ! src/jdk/nashorn/internal/runtime/linker/NashornLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornPrimitiveLinker.java ! src/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java ! src/jdk/nashorn/internal/runtime/options/KeyValueOption.java ! src/jdk/nashorn/internal/runtime/options/Option.java ! src/jdk/nashorn/internal/runtime/options/OptionTemplate.java ! src/jdk/nashorn/internal/runtime/options/Options.java ! src/jdk/nashorn/internal/runtime/options/ValueOption.java ! src/jdk/nashorn/internal/runtime/resources/Messages.properties ! src/jdk/nashorn/internal/runtime/resources/Options.properties ! src/jdk/nashorn/internal/runtime/resources/mozilla_compat.js ! src/jdk/nashorn/internal/runtime/resources/parser.js ! src/jdk/nashorn/internal/runtime/resources/version.properties-template ! src/jdk/nashorn/internal/scripts/JO$.java ! src/jdk/nashorn/internal/scripts/JS$.java ! src/jdk/nashorn/tools/Shell.java ! src/jdk/nashorn/tools/resources/Shell.properties ! src/jdk/nashorn/tools/resources/shell.js ! src/netscape/javascript/JSObject.java ! src/overview.html ! test/examples/dual-fields-micro.js ! test/examples/innerbench.js ! test/examples/typechain.js ! test/lib/benchmark.js ! test/opt/add.js ! test/opt/add_constant.js ! test/opt/add_reuse_callsite.js ! test/opt/add_revert2.js ! test/opt/cascade_specialize.js ! test/script/assert.js ! test/script/basic/NASHORN-100.js ! test/script/basic/NASHORN-101.js ! test/script/basic/NASHORN-102.js ! test/script/basic/NASHORN-103.js ! test/script/basic/NASHORN-104.js ! test/script/basic/NASHORN-105.js ! test/script/basic/NASHORN-106.js ! test/script/basic/NASHORN-107.js ! test/script/basic/NASHORN-108.js ! test/script/basic/NASHORN-109.js ! test/script/basic/NASHORN-11.js ! test/script/basic/NASHORN-111.js ! test/script/basic/NASHORN-113.js ! test/script/basic/NASHORN-114.js ! test/script/basic/NASHORN-115.js ! test/script/basic/NASHORN-117.js ! test/script/basic/NASHORN-118.js ! test/script/basic/NASHORN-119.js ! test/script/basic/NASHORN-12.js ! test/script/basic/NASHORN-120.js ! test/script/basic/NASHORN-122.js ! test/script/basic/NASHORN-126.js ! test/script/basic/NASHORN-127.js ! test/script/basic/NASHORN-130.js ! test/script/basic/NASHORN-132.js ! test/script/basic/NASHORN-133.js ! test/script/basic/NASHORN-135.js ! test/script/basic/NASHORN-136.js ! test/script/basic/NASHORN-14.js ! test/script/basic/NASHORN-148.js ! test/script/basic/NASHORN-15.js ! test/script/basic/NASHORN-153.js ! test/script/basic/NASHORN-156.js ! test/script/basic/NASHORN-157.js ! test/script/basic/NASHORN-163.js ! test/script/basic/NASHORN-164.js ! test/script/basic/NASHORN-165.js ! test/script/basic/NASHORN-166.js ! test/script/basic/NASHORN-168.js ! test/script/basic/NASHORN-169.js ! test/script/basic/NASHORN-172.js ! test/script/basic/NASHORN-173.js ! test/script/basic/NASHORN-174.js ! test/script/basic/NASHORN-175.js ! test/script/basic/NASHORN-176.js ! test/script/basic/NASHORN-177.js ! test/script/basic/NASHORN-178.js ! test/script/basic/NASHORN-179.js ! test/script/basic/NASHORN-18.js ! test/script/basic/NASHORN-181.js ! test/script/basic/NASHORN-182.js ! test/script/basic/NASHORN-183.js ! test/script/basic/NASHORN-184.js ! test/script/basic/NASHORN-185.js ! test/script/basic/NASHORN-187.js ! test/script/basic/NASHORN-188.js ! test/script/basic/NASHORN-19.js ! test/script/basic/NASHORN-190.js ! test/script/basic/NASHORN-192.js ! test/script/basic/NASHORN-194.js ! test/script/basic/NASHORN-196.js ! test/script/basic/NASHORN-198.js ! test/script/basic/NASHORN-20.js ! test/script/basic/NASHORN-201.js ! test/script/basic/NASHORN-202.js ! test/script/basic/NASHORN-203.js ! test/script/basic/NASHORN-204.js ! test/script/basic/NASHORN-205.js ! test/script/basic/NASHORN-206.js ! test/script/basic/NASHORN-207.js ! test/script/basic/NASHORN-207_2.js ! test/script/basic/NASHORN-208.js ! test/script/basic/NASHORN-209.js ! test/script/basic/NASHORN-21.js ! test/script/basic/NASHORN-211.js ! test/script/basic/NASHORN-212.js ! test/script/basic/NASHORN-213.js ! test/script/basic/NASHORN-215.js ! test/script/basic/NASHORN-216.js ! test/script/basic/NASHORN-217.js ! test/script/basic/NASHORN-219.js ! test/script/basic/NASHORN-22.js ! test/script/basic/NASHORN-221.js ! test/script/basic/NASHORN-222.js ! test/script/basic/NASHORN-223.js ! test/script/basic/NASHORN-225.js ! test/script/basic/NASHORN-226.js ! test/script/basic/NASHORN-227.js ! test/script/basic/NASHORN-228.js ! test/script/basic/NASHORN-229.js ! test/script/basic/NASHORN-229_subtest.js ! test/script/basic/NASHORN-23.js ! test/script/basic/NASHORN-232.js ! test/script/basic/NASHORN-234.js ! test/script/basic/NASHORN-235.js ! test/script/basic/NASHORN-236.js ! test/script/basic/NASHORN-237.js ! test/script/basic/NASHORN-239.js ! test/script/basic/NASHORN-24.js ! test/script/basic/NASHORN-241.js ! test/script/basic/NASHORN-242.js ! test/script/basic/NASHORN-245.js ! test/script/basic/NASHORN-247.js ! test/script/basic/NASHORN-25.js ! test/script/basic/NASHORN-251.js ! test/script/basic/NASHORN-252.js ! test/script/basic/NASHORN-253.js ! test/script/basic/NASHORN-256.js ! test/script/basic/NASHORN-258.js ! test/script/basic/NASHORN-26.js ! test/script/basic/NASHORN-260.js ! test/script/basic/NASHORN-261.js ! test/script/basic/NASHORN-262.js ! test/script/basic/NASHORN-263.js ! test/script/basic/NASHORN-264.js ! test/script/basic/NASHORN-265.js ! test/script/basic/NASHORN-266.js ! test/script/basic/NASHORN-269.js ! test/script/basic/NASHORN-27.js ! test/script/basic/NASHORN-270.js ! test/script/basic/NASHORN-271.js ! test/script/basic/NASHORN-275.js ! test/script/basic/NASHORN-276.js ! test/script/basic/NASHORN-277.js ! test/script/basic/NASHORN-278.js ! test/script/basic/NASHORN-28.js ! test/script/basic/NASHORN-281.js ! test/script/basic/NASHORN-284.js ! test/script/basic/NASHORN-285.js ! test/script/basic/NASHORN-288.js ! test/script/basic/NASHORN-29.js ! test/script/basic/NASHORN-293.js ! test/script/basic/NASHORN-294.js ! test/script/basic/NASHORN-296.js ! test/script/basic/NASHORN-297.js ! test/script/basic/NASHORN-30.js ! test/script/basic/NASHORN-300.js ! test/script/basic/NASHORN-301.js ! test/script/basic/NASHORN-304.js ! test/script/basic/NASHORN-310.js ! test/script/basic/NASHORN-318.js ! test/script/basic/NASHORN-32.js ! test/script/basic/NASHORN-321.js ! test/script/basic/NASHORN-323.js ! test/script/basic/NASHORN-324.js ! test/script/basic/NASHORN-33.js ! test/script/basic/NASHORN-331.js ! test/script/basic/NASHORN-337.js ! test/script/basic/NASHORN-34.js ! test/script/basic/NASHORN-340.js ! test/script/basic/NASHORN-349.js ! test/script/basic/NASHORN-354.js ! test/script/basic/NASHORN-355.js ! test/script/basic/NASHORN-36.js ! test/script/basic/NASHORN-365.js ! test/script/basic/NASHORN-366.js ! test/script/basic/NASHORN-368.js ! test/script/basic/NASHORN-37.js ! test/script/basic/NASHORN-375.js ! test/script/basic/NASHORN-376.js ! test/script/basic/NASHORN-377.js ! test/script/basic/NASHORN-378.js ! test/script/basic/NASHORN-38.js ! test/script/basic/NASHORN-380.js ! test/script/basic/NASHORN-381.js ! test/script/basic/NASHORN-382.js ! test/script/basic/NASHORN-383.js ! test/script/basic/NASHORN-384.js ! test/script/basic/NASHORN-385.js ! test/script/basic/NASHORN-389.js ! test/script/basic/NASHORN-393.js ! test/script/basic/NASHORN-394.js ! test/script/basic/NASHORN-396.js ! test/script/basic/NASHORN-397.js ! test/script/basic/NASHORN-398.js ! test/script/basic/NASHORN-40.js ! test/script/basic/NASHORN-400.js ! test/script/basic/NASHORN-401.js ! test/script/basic/NASHORN-402.js ! test/script/basic/NASHORN-404.js ! test/script/basic/NASHORN-405.js ! test/script/basic/NASHORN-406.js ! test/script/basic/NASHORN-408.js ! test/script/basic/NASHORN-415.js ! test/script/basic/NASHORN-416.js ! test/script/basic/NASHORN-417.js ! test/script/basic/NASHORN-418.js ! test/script/basic/NASHORN-420.js ! test/script/basic/NASHORN-421.js ! test/script/basic/NASHORN-423.js ! test/script/basic/NASHORN-423a.js ! test/script/basic/NASHORN-424.js ! test/script/basic/NASHORN-425.js ! test/script/basic/NASHORN-426.js ! test/script/basic/NASHORN-427.js ! test/script/basic/NASHORN-428.js ! test/script/basic/NASHORN-429.js ! test/script/basic/NASHORN-432.js ! test/script/basic/NASHORN-433.js ! test/script/basic/NASHORN-434.js ! test/script/basic/NASHORN-435.js ! test/script/basic/NASHORN-437.js ! test/script/basic/NASHORN-44.js ! test/script/basic/NASHORN-441.js ! test/script/basic/NASHORN-442.js ! test/script/basic/NASHORN-443.js ! test/script/basic/NASHORN-444.js ! test/script/basic/NASHORN-445.js ! test/script/basic/NASHORN-446.js ! test/script/basic/NASHORN-447.js ! test/script/basic/NASHORN-448.js ! test/script/basic/NASHORN-449.js ! test/script/basic/NASHORN-45.js ! test/script/basic/NASHORN-450.js ! test/script/basic/NASHORN-452.js ! test/script/basic/NASHORN-459.js ! test/script/basic/NASHORN-46.js ! test/script/basic/NASHORN-462.js ! test/script/basic/NASHORN-463.js ! test/script/basic/NASHORN-468.js ! test/script/basic/NASHORN-47.js ! test/script/basic/NASHORN-473.js ! test/script/basic/NASHORN-474.js ! test/script/basic/NASHORN-478.js ! test/script/basic/NASHORN-48.js ! test/script/basic/NASHORN-481.js ! test/script/basic/NASHORN-482.js ! test/script/basic/NASHORN-484.js ! test/script/basic/NASHORN-486.js ! test/script/basic/NASHORN-487.js ! test/script/basic/NASHORN-488.js ! test/script/basic/NASHORN-49.js ! test/script/basic/NASHORN-490.js ! test/script/basic/NASHORN-494.js ! test/script/basic/NASHORN-497.js ! test/script/basic/NASHORN-498.js ! test/script/basic/NASHORN-499.js ! test/script/basic/NASHORN-50.js ! test/script/basic/NASHORN-500.js ! test/script/basic/NASHORN-503.js ! test/script/basic/NASHORN-51.js ! test/script/basic/NASHORN-511.js ! test/script/basic/NASHORN-515.js ! test/script/basic/NASHORN-516.js ! test/script/basic/NASHORN-52.js ! test/script/basic/NASHORN-534.js ! test/script/basic/NASHORN-535.js ! test/script/basic/NASHORN-544.js ! test/script/basic/NASHORN-55.js ! test/script/basic/NASHORN-554.js ! test/script/basic/NASHORN-556.js ! test/script/basic/NASHORN-56.js ! test/script/basic/NASHORN-562.js ! test/script/basic/NASHORN-565.js ! test/script/basic/NASHORN-575.js ! test/script/basic/NASHORN-58.js ! test/script/basic/NASHORN-59.js ! test/script/basic/NASHORN-592.js ! test/script/basic/NASHORN-597.js ! test/script/basic/NASHORN-60.js ! test/script/basic/NASHORN-609.js ! test/script/basic/NASHORN-61.js ! test/script/basic/NASHORN-62.js ! test/script/basic/NASHORN-620.js ! test/script/basic/NASHORN-623.js ! test/script/basic/NASHORN-627.js ! test/script/basic/NASHORN-63.js ! test/script/basic/NASHORN-637.js ! test/script/basic/NASHORN-638.js ! test/script/basic/NASHORN-639.js ! test/script/basic/NASHORN-64.js ! test/script/basic/NASHORN-642.js ! test/script/basic/NASHORN-646.js ! test/script/basic/NASHORN-653.js ! test/script/basic/NASHORN-658.js ! test/script/basic/NASHORN-659.js ! test/script/basic/NASHORN-66.js ! test/script/basic/NASHORN-664.js ! test/script/basic/NASHORN-665.js ! test/script/basic/NASHORN-67.js ! test/script/basic/NASHORN-678.js ! test/script/basic/NASHORN-68.js ! test/script/basic/NASHORN-689.js ! test/script/basic/NASHORN-69.js ! test/script/basic/NASHORN-691.js ! test/script/basic/NASHORN-694.js ! test/script/basic/NASHORN-697.js ! test/script/basic/NASHORN-703.js ! test/script/basic/NASHORN-703a.js ! test/script/basic/NASHORN-705.js ! test/script/basic/NASHORN-71.js ! test/script/basic/NASHORN-710.js ! test/script/basic/NASHORN-711.js ! test/script/basic/NASHORN-72.js ! test/script/basic/NASHORN-722.js ! test/script/basic/NASHORN-73.js ! test/script/basic/NASHORN-737.js ! test/script/basic/NASHORN-74.js ! test/script/basic/NASHORN-740.js ! test/script/basic/NASHORN-75.js ! test/script/basic/NASHORN-758.js ! test/script/basic/NASHORN-759.js ! test/script/basic/NASHORN-760.js ! test/script/basic/NASHORN-768.js ! test/script/basic/NASHORN-778.js ! test/script/basic/NASHORN-78.js ! test/script/basic/NASHORN-79.js ! test/script/basic/NASHORN-792.js ! test/script/basic/NASHORN-80.js ! test/script/basic/NASHORN-81.js ! test/script/basic/NASHORN-833.js ! test/script/basic/NASHORN-85.js ! test/script/basic/NASHORN-86.js ! test/script/basic/NASHORN-87.js ! test/script/basic/NASHORN-89.js ! test/script/basic/NASHORN-90.js ! test/script/basic/NASHORN-91.js ! test/script/basic/NASHORN-92.js ! test/script/basic/NASHORN-93.js ! test/script/basic/NASHORN-95.js ! test/script/basic/NASHORN-96.js ! test/script/basic/NASHORN-97.js ! test/script/basic/NASHORN-98.js ! test/script/basic/NASHORN-99.js ! test/script/basic/addition.js ! test/script/basic/allgettersetters.js ! test/script/basic/andor.js ! test/script/basic/anonrecur.js ! test/script/basic/applycall.js ! test/script/basic/args.js ! test/script/basic/arity.js ! test/script/basic/arrayprotoclass.js ! test/script/basic/arrays.js ! test/script/basic/arrays2.js ! test/script/basic/arraysIntKey.js ! test/script/basic/arrayset.js ! test/script/basic/arrayundefined.js ! test/script/basic/assign.js ! test/script/basic/bitwise_and.js ! test/script/basic/booleangetter.js ! test/script/basic/builtin.js ! test/script/basic/builtin_assign.js ! test/script/basic/builtinchain.js ! test/script/basic/calllink.js ! test/script/basic/closure.js ! test/script/basic/commandargs.js ! test/script/basic/compile-octane.js ! test/script/basic/condassign.js ! test/script/basic/construct.js ! test/script/basic/constructorname.js ! test/script/basic/date.js ! test/script/basic/dateparse.js ! test/script/basic/decinc.js ! test/script/basic/delete.js ! test/script/basic/delete2.js ! test/script/basic/dotpropname.js ! test/script/basic/doublecache.js ! test/script/basic/enumeration.js ! test/script/basic/errors.js ! test/script/basic/errorstack.js ! test/script/basic/eval.js ! test/script/basic/evalreturn.js ! test/script/basic/exprclosure.js ! test/script/basic/extensibility.js ! test/script/basic/fileline.js ! test/script/basic/finally-catchalls.js ! test/script/basic/finallyreturn.js ! test/script/basic/forin.js ! test/script/basic/forin2.js ! test/script/basic/funcarray.js ! test/script/basic/funcbind.js ! test/script/basic/funcconstructor.js ! test/script/basic/getclassname.js ! test/script/basic/getenv.js ! test/script/basic/getter_callsite.js ! test/script/basic/gettercalls.js ! test/script/basic/getterfunc.js ! test/script/basic/gettersetter.js ! test/script/basic/globalaccess.js ! test/script/basic/globals.js ! test/script/basic/globalscope.js ! test/script/basic/hello.js ! test/script/basic/herestr_operator.js ! test/script/basic/illegaljavaname.js ! test/script/basic/incheck.js ! test/script/basic/indexedcall.js ! test/script/basic/info.js ! test/script/basic/inherited_nonwritable.js ! test/script/basic/instanceof.js ! test/script/basic/instanceof2.js ! test/script/basic/interfaces.js ! test/script/basic/iterator.js ! test/script/basic/java.js ! test/script/basic/javaarray.js ! test/script/basic/javaarrayconversion.js ! test/script/basic/javaexceptions.js ! test/script/basic/javaimporter.js ! test/script/basic/javainnerclasses.js ! test/script/basic/javasigcall.js ! test/script/basic/jquery.js ! test/script/basic/jsadapter.js ! test/script/basic/jsadapterlink.js ! test/script/basic/json.js ! test/script/basic/list.js ! test/script/basic/literal.js ! test/script/basic/load.js ! test/script/basic/loadedfile.js ! test/script/basic/localundef.js ! test/script/basic/map.js ! test/script/basic/math.js ! test/script/basic/minuszero.js ! test/script/basic/module.js ! test/script/basic/moduleload.js ! test/script/basic/nashorn2.js ! test/script/basic/natives.js ! test/script/basic/new.js ! test/script/basic/newexpr.js ! test/script/basic/newnew.js ! test/script/basic/nonconstructors.js ! test/script/basic/nosuchmethod.js ! test/script/basic/nosuchproperty.js ! test/script/basic/number.js ! test/script/basic/numberstring.js ! test/script/basic/objectprops.js ! test/script/basic/objects.js ! test/script/basic/options.js ! test/script/basic/propchange.js ! test/script/basic/propertycheck.js ! test/script/basic/prototype.js ! test/script/basic/pushpull.js ! test/script/basic/regex.js ! test/script/basic/regexp_flags.js ! test/script/basic/run-octane.js ! test/script/basic/runsunspider.js ! test/script/basic/samfunc.js ! test/script/basic/scripting.js ! test/script/basic/scripting.js.EXPECTED ! test/script/basic/sealfreeze.js ! test/script/basic/setlength.js ! test/script/basic/stdin.js ! test/script/basic/strings.js ! test/script/basic/throws.js ! test/script/basic/tosource.js ! test/script/basic/tostring.js ! test/script/basic/try.js ! test/script/basic/trybreakcont.js ! test/script/basic/trycatch.js ! test/script/basic/trycatchfor.js ! test/script/basic/tryfinallyreturn.js ! test/script/basic/tryforbreak.js ! test/script/basic/typechange.js ! test/script/basic/typeof.js ! test/script/basic/typeof2.js ! test/script/basic/undefined.js ! test/script/basic/underscore.js ! test/script/basic/varargs.js ! test/script/basic/void.js ! test/script/basic/with.js ! test/script/basic/withprimitive.js ! test/script/basic/writable_relink.js ! test/script/basic/xorassign.js ! test/script/basic/yui.js ! test/script/error/NASHORN-154/function_mult_params_in_strict.js ! test/script/error/NASHORN-154/improper_return_break_continue.js ! test/script/error/NASHORN-154/invalid_lvalue.js ! test/script/error/NASHORN-154/literal_data_and_accessor.js ! test/script/error/NASHORN-154/literal_mult_getters.js ! test/script/error/NASHORN-154/literal_mult_prop_in_strict.js ! test/script/error/NASHORN-154/with_in_strict.js ! test/script/error/NASHORN-214.js ! test/script/error/NASHORN-35.js ! test/script/error/NASHORN-39.js ! test/script/error/NASHORN-568.js ! test/script/error/NASHORN-57.js ! test/script/error/NASHORN-668.js ! test/script/error/quotemissing.js ! test/script/error/strictmode.js ! test/script/representations/NASHORN-592a.js ! test/script/sandbox/NASHORN-525.js ! test/script/sandbox/classloader.js ! test/script/sandbox/doprivileged.js ! test/script/sandbox/exit.js ! test/script/sandbox/file.js ! test/script/sandbox/javaextend.js ! test/script/sandbox/loadLibrary.js ! test/script/sandbox/net.js ! test/script/sandbox/property.js ! test/script/sandbox/reflection.js ! test/script/sandbox/runnable.js ! test/script/sandbox/unsafe.js ! test/script/test262.js ! test/script/test262_single.js ! test/src/UnnamedPackageTestCallback.java ! test/src/jdk/nashorn/api/scripting/MultipleEngineTest.java ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java ! test/src/jdk/nashorn/api/scripting/Window.java ! test/src/jdk/nashorn/api/scripting/WindowEventHandler.java ! test/src/jdk/nashorn/internal/access/BooleanAccessTest.java ! test/src/jdk/nashorn/internal/access/MethodAccessTest.java ! test/src/jdk/nashorn/internal/access/NumberAccessTest.java ! test/src/jdk/nashorn/internal/access/NumberBoxingTest.java ! test/src/jdk/nashorn/internal/access/ObjectAccessTest.java ! test/src/jdk/nashorn/internal/access/Person.java ! test/src/jdk/nashorn/internal/access/SharedObject.java ! test/src/jdk/nashorn/internal/access/StringAccessTest.java ! test/src/jdk/nashorn/internal/codegen/CompilerTest.java ! test/src/jdk/nashorn/internal/parser/ParserTest.java ! test/src/jdk/nashorn/internal/performance/AuroraWrapper.java ! test/src/jdk/nashorn/internal/performance/OctaneTest.java ! test/src/jdk/nashorn/internal/performance/PerformanceWrapper.java ! test/src/jdk/nashorn/internal/performance/SplayTest.java ! test/src/jdk/nashorn/internal/runtime/ContextTest.java ! test/src/jdk/nashorn/internal/runtime/JSTypeTest.java ! test/src/jdk/nashorn/internal/runtime/Nashorn401TestSubject.java ! test/src/jdk/nashorn/internal/test/framework/AbstractScriptRunnable.java ! test/src/jdk/nashorn/internal/test/framework/JSJUnitReportReporter.java ! test/src/jdk/nashorn/internal/test/framework/OrphanTestFinder.java ! test/src/jdk/nashorn/internal/test/framework/ParallelTestRunner.java ! test/src/jdk/nashorn/internal/test/framework/ScriptEvaluator.java ! test/src/jdk/nashorn/internal/test/framework/ScriptRunnable.java ! test/src/jdk/nashorn/internal/test/framework/ScriptTest.java ! test/src/jdk/nashorn/internal/test/framework/SeparateContextEvaluator.java ! test/src/jdk/nashorn/internal/test/framework/SharedContextEvaluator.java ! test/src/jdk/nashorn/internal/test/framework/TestConfig.java ! test/src/jdk/nashorn/internal/test/framework/TestFinder.java ! test/src/jdk/nashorn/internal/test/framework/TestHelper.java ! test/src/jdk/nashorn/internal/test/framework/TestReorderInterceptor.java ! test/src/jdk/nashorn/internal/test/models/ConstructorWithArgument.java ! test/src/jdk/nashorn/internal/test/models/FinalClass.java ! test/src/jdk/nashorn/internal/test/models/NoAccessibleConstructorClass.java ! test/src/jdk/nashorn/internal/test/models/NonPublicClass.java ! test/src/jdk/nashorn/internal/test/models/OuterClass.java ! test/src/jdk/nashorn/internal/test/models/OverloadedSam.java ! test/src/jdk/nashorn/internal/test/models/OverrideObject.java Changeset: 1e3f411f47bf Author: lagergren Date: 2013-01-07 19:31 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/1e3f411f47bf 8005789: Forgot to document -Dnashorn.unstable.relink.threshold Summary: Added documentation to DEVELOPER_README, fixed code convention warnings Reviewed-by: attila ! docs/DEVELOPER_README ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/Splitter.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java ! src/jdk/nashorn/internal/runtime/options/Options.java Changeset: 41c7093477ae Author: jlaskey Date: 2013-01-07 14:41 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/41c7093477ae 8005703: Offsets miscalculated for blocks Reviewed-by: lagergren Contributed-by: petr.hejl at oracle.com ! src/jdk/nashorn/internal/ir/Block.java ! src/jdk/nashorn/internal/parser/AbstractParser.java ! src/jdk/nashorn/internal/parser/Parser.java Changeset: d14da0d0c577 Author: sundar Date: 2013-01-08 08:51 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/d14da0d0c577 8005782: get rid of javadoc errors, warnings in nashorn build Reviewed-by: lagergren ! make/build.xml ! make/project.properties ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/runtime/ECMAErrors.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java Changeset: 0e7da548ef6a Author: lagergren Date: 2013-01-08 09:59 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/0e7da548ef6a 8005788: Loggers and their corresponding system properties not working correctly Summary: 1-1 mapping now maintained. Used Context err instead of System.err in several places (after bootstrapping Context). Problematic closing of err stream replaced by @SuppressWarnings("resource") Reviewed-by: jlaskey, sundar ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/objects/NativeDebug.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/DebugLogger.java ! src/jdk/nashorn/internal/runtime/ECMAException.java ! src/jdk/nashorn/internal/runtime/ErrorManager.java ! src/jdk/nashorn/internal/runtime/Logging.java ! src/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java ! src/jdk/nashorn/internal/runtime/linker/MethodHandleFactory.java ! src/jdk/nashorn/internal/runtime/options/Options.java ! src/jdk/nashorn/tools/Shell.java Changeset: 5f2db2d8a7fa Author: sundar Date: 2013-01-08 15:02 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/5f2db2d8a7fa 8005835: NASHORN-668 output fails to compare with the corresponding .EXPECTED file Reviewed-by: lagergren, hannesw ! test/script/error/NASHORN-668.js.EXPECTED Changeset: d8e4d66f1a06 Author: lagergren Date: 2013-01-08 10:52 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/d8e4d66f1a06 8005843: refSymbols lookup of unbound variable could cause NullPointerException in Lower Reviewed-by: hannesw, attila ! src/jdk/nashorn/internal/codegen/Lower.java + test/script/basic/NASHORN-837.js Changeset: c5a321205f49 Author: attila Date: 2013-01-08 13:50 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/c5a321205f49 8005846: Remove Mangler in favor of Dynalink's NameCodec Reviewed-by: jlaskey, sundar ! src/jdk/nashorn/internal/codegen/Compiler.java Changeset: 4620ac94e7dc Author: attila Date: 2013-01-08 14:14 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/4620ac94e7dc 8005801: Refactor findSetMethod Summary: findSetMethod() was a very large single method, very unreadable and unmaintainable. It was broken into easy-to-understand pieces. The refactoring required introduction of a comand-object like entity, SetMethodCreator, to contain the nontrivial transient state of the algorithm that made the original big method so resistant to refactoring in the first place. Reviewed-by: lagergren, sundar ! src/jdk/nashorn/internal/runtime/ScriptObject.java + src/jdk/nashorn/internal/runtime/SetMethodCreator.java ! src/jdk/nashorn/internal/runtime/SpillProperty.java - src/jdk/nashorn/internal/runtime/linker/Mangler.java Changeset: 69a4f0363d0f Author: lagergren Date: 2013-01-08 15:20 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/69a4f0363d0f 8005842: Loops in ASTWriter. Corrected @Reference and @Ignore node annotation for IR nodes Reviewed-by: hannesw, sundar ! src/jdk/nashorn/internal/ir/Block.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/LabelNode.java ! src/jdk/nashorn/internal/ir/LabeledNode.java ! src/jdk/nashorn/internal/ir/ObjectNode.java ! src/jdk/nashorn/internal/ir/ReferenceNode.java ! src/jdk/nashorn/internal/ir/ReturnNode.java ! src/jdk/nashorn/internal/ir/SplitNode.java ! src/jdk/nashorn/internal/ir/SwitchNode.java ! src/jdk/nashorn/internal/ir/ThrowNode.java ! src/jdk/nashorn/internal/ir/TryNode.java ! src/jdk/nashorn/internal/ir/debug/ASTWriter.java Changeset: 548587cfb065 Author: sundar Date: 2013-01-08 21:16 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/548587cfb065 8005848: assigning to global toString variable affects Object.prototype.toString Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/runtime/ScriptObject.java + test/script/basic/JDK_8005848.js Changeset: 812b9963b1c7 Author: attila Date: 2013-01-09 15:02 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/812b9963b1c7 8005777: Bug in the FacetIntrospector of Dynalink - non-public class should search super Reviewed-by: lagergren, sundar ! make/project.properties Changeset: 4cd65798ec70 Author: sundar Date: 2013-01-09 22:32 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/4cd65798ec70 8005940: provide ant targets to get and update external test scripts Reviewed-by: jlaskey, lagergren ! bin/verbose_octane.bat ! bin/verbose_octane.sh ! make/Makefile ! make/build-benchmark.xml ! make/build.xml ! make/project.properties ! test/script/basic/run-octane.js ! test/script/basic/runsunspider.js ! test/src/jdk/nashorn/internal/codegen/CompilerTest.java ! test/src/jdk/nashorn/internal/parser/ParserTest.java Changeset: 9f59ba5090f2 Author: lagergren Date: 2013-01-10 10:28 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/9f59ba5090f2 8005971: runsunspider.js should check results of benchmarks Reviewed-by: attila, hannesw ! test/script/basic/runsunspider.js Changeset: a7f177d6639c Author: sundar Date: 2013-01-10 19:03 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/a7f177d6639c 8005987: ant octane tries to run non-benchmark scripts Reviewed-by: lagergren, attila, jlaskey ! make/build-benchmark.xml ! make/project.properties Changeset: 0362d36d3dd6 Author: sundar Date: 2013-01-10 19:55 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/0362d36d3dd6 8005982: NASHORN-71.js failing in nightlys Reviewed-by: attila, lagergren, jlaskey ! test/script/basic/NASHORN-71.js - test/script/basic/NASHORN-71.js.EXPECTED Changeset: 2a5c2258827b Author: attila Date: 2013-01-10 15:28 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/2a5c2258827b 8005983: JavaAdapterFactory generated proxy classes should take extra constructor arguments at the end Reviewed-by: lagergren, sundar ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java ! src/jdk/nashorn/internal/runtime/linker/NashornLinker.java ! test/script/sandbox/javaextend.js ! test/script/sandbox/javaextend.js.EXPECTED Changeset: 2a4769fcd13f Author: lagergren Date: 2013-01-11 10:40 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/2a4769fcd13f 8005976: Break out AccessSpecializer into one pass before CodeGenerator instead of iterative applications from CodeGenerator Summary: Now scope and slot information is guaranteed to be fixed AND NOT CHANGE before CodeGeneration. We want to keep it that way to build future type specializations and bring all type work out of CodeGenerator. Reviewed-by: attila, hannesw + bin/dump_octane_code.sh ! bin/verbose_octane.sh ! docs/DEVELOPER_README ! src/jdk/nashorn/internal/codegen/AccessSpecializer.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/codegen/Splitter.java - src/jdk/nashorn/internal/codegen/Transform.java ! src/jdk/nashorn/internal/ir/Block.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java Changeset: f67bf56495ca Author: sundar Date: 2013-01-11 18:26 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/f67bf56495ca 8006082: Provide option to run octane benchmarks in separate processes Reviewed-by: lagergren, jlaskey ! make/build-benchmark.xml ! make/project.properties Changeset: 8a5922638ff0 Author: sundar Date: 2013-01-11 20:34 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/8a5922638ff0 8006093: Add a makefile target to run all tests (test, test262, perf tests) Reviewed-by: attila, hannesw ! make/Makefile ! make/build.xml Changeset: eda69555239a Author: attila Date: 2013-01-14 16:00 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/eda69555239a 8006168: ability to generate multi-type Java adapters Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java ! src/jdk/nashorn/internal/runtime/linker/NashornPrimitiveLinker.java ! src/jdk/nashorn/internal/runtime/resources/Messages.properties ! test/script/sandbox/javaextend.js ! test/script/sandbox/javaextend.js.EXPECTED + test/src/jdk/nashorn/internal/test/models/DessertTopping.java + test/src/jdk/nashorn/internal/test/models/DessertToppingFloorWaxDriver.java + test/src/jdk/nashorn/internal/test/models/FloorWax.java + test/src/jdk/nashorn/internal/test/models/Toothpaste.java Changeset: 3c6db5ea0ecc Author: sundar Date: 2013-01-14 21:30 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/3c6db5ea0ecc 8006181: nashorn script engine does not run jrunscript's initialization script Reviewed-by: lagergren, jlaskey Contributed-by: rieberandreas at gmail.com + src/jdk/nashorn/api/scripting/Formatter.java ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/resources/engine.js + src/jdk/nashorn/api/scripting/resources/init.js Changeset: 1d0307c2bb4c Author: attila Date: 2013-01-15 13:10 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/1d0307c2bb4c 8006293: Reduce ScriptObject.findCallMethodMethod Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/WithObject.java ! src/jdk/nashorn/internal/runtime/linker/Bootstrap.java ! src/jdk/nashorn/internal/runtime/linker/MethodHandleFactory.java ! src/jdk/nashorn/internal/runtime/linker/MethodHandleFunctionality.java Changeset: ee73d7378e3e Author: attila Date: 2013-01-15 17:09 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/ee73d7378e3e 8005958: invoking a function through INVOKESTATIC with more arguments than it declares resulted in malformed bytecode being generated Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/codegen/CodeGenerator.java + test/script/basic/JDK-8005958.js Changeset: 9088170e68df Author: attila Date: 2013-01-15 18:08 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/9088170e68df 8006337: Discarded arguments for INVOKESTATIC must still be evaluated for side effects Reviewed-by: hannesw, jlaskey, sundar ! src/jdk/nashorn/internal/codegen/CodeGenerator.java + test/script/basic/JDK-8006337.js + test/script/basic/JDK-8006337.js.EXPECTED Changeset: 617313881c55 Author: jlaskey Date: 2013-01-16 07:06 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/617313881c55 8006304: Remove pre-population of maps for constructor produced maps Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! .hgignore ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/objects/FunctionObjectCreator.java + test/script/basic/JDK-8006304.js + test/script/basic/JDK-8006304.js.EXPECTED Changeset: 80447df16322 Author: sundar Date: 2013-01-16 17:58 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/80447df16322 8006412: Improve toString method of ScriptObjectMirror class Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java Changeset: cd5b684ce7b2 Author: sundar Date: 2013-01-16 21:26 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/cd5b684ce7b2 8006424: Passing null or undefined to adapter class constructors results in NPE or ClassCastException Reviewed-by: attila, hannesw, jlaskey ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java + test/script/basic/JDK-8006424.js Changeset: 4acebfe9e504 Author: jlaskey Date: 2013-01-17 10:33 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/4acebfe9e504 8006517: PropertyHashMap.Element.equals() compares to Property Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/runtime/PropertyHashMap.java Changeset: f8136c060914 Author: sundar Date: 2013-01-18 08:45 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/f8136c060914 8006527: nashorn jsr223 engine does not work in sandbox Reviewed-by: jlaskey, attila, lagergren + bin/nashornsecure + bin/nashornsecure.bat ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/resources/init.js ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java + test/script/sandbox/engine.js + test/script/sandbox/engine.js.EXPECTED + test/script/sandbox/jsadapter.js Changeset: 4361e8cd6a02 Author: sundar Date: 2013-01-18 17:55 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/4361e8cd6a02 8006562: findOwnMH in nashorn "objects" package should be cleaned up Reviewed-by: jlaskey, lagergren ! make/project.properties ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArguments.java ! src/jdk/nashorn/internal/objects/NativeBoolean.java ! src/jdk/nashorn/internal/objects/NativeError.java ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk/nashorn/internal/objects/NativeNumber.java ! src/jdk/nashorn/internal/objects/NativeStrictArguments.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/objects/PrototypeObject.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java Changeset: c887baec012a Author: sundar Date: 2013-01-19 09:14 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/c887baec012a 8006584: improve variable handling in NashornScriptEngine Reviewed-by: jlaskey, hannesw ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java Changeset: a8966074d4e9 Author: sundar Date: 2013-01-19 22:35 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/a8966074d4e9 8006557: JDK8/Lambda build clashes on Map.replace() Reviewed-by: jlaskey ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! test/src/jdk/nashorn/internal/runtime/ContextTest.java Changeset: 0cee498b330d Author: attila Date: 2013-01-21 11:03 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/0cee498b330d 8006525: Give StaticClass objects their own linker Reviewed-by: hannesw, lagergren ! src/jdk/nashorn/internal/runtime/linker/Bootstrap.java ! src/jdk/nashorn/internal/runtime/linker/NashornPrimitiveLinker.java + src/jdk/nashorn/internal/runtime/linker/NashornStaticClassLinker.java Changeset: 8b3cc4ad1810 Author: sundar Date: 2013-01-21 21:17 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/8b3cc4ad1810 8006635: Reduce access levels as much as possible Reviewed-by: jlaskey, lagergren, attila ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/ir/debug/JSONWriter.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/objects/NativeDebug.java ! src/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/DebugLogger.java ! src/jdk/nashorn/internal/runtime/ECMAException.java + src/jdk/nashorn/internal/runtime/OptionsObject.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/StructureLoader.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayIterator.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java ! src/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java ! src/jdk/nashorn/tools/Shell.java ! test/src/jdk/nashorn/internal/access/BooleanAccessTest.java ! test/src/jdk/nashorn/internal/codegen/CompilerTest.java ! test/src/jdk/nashorn/internal/parser/ParserTest.java ! test/src/jdk/nashorn/internal/runtime/ContextTest.java ! test/src/jdk/nashorn/internal/runtime/JSTypeTest.java ! test/src/jdk/nashorn/internal/test/framework/SharedContextEvaluator.java Changeset: 935dcec38e9a Author: hannesw Date: 2013-01-22 14:14 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/935dcec38e9a 8006570: This-value for non-strict functions should be converted to object Reviewed-by: jlaskey, lagergren, attila ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeBoolean.java ! src/jdk/nashorn/internal/objects/NativeFunction.java ! src/jdk/nashorn/internal/objects/NativeNumber.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/runtime/GlobalObject.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/SetMethodCreator.java ! src/jdk/nashorn/internal/runtime/linker/NashornGuardedInvocation.java ! src/jdk/nashorn/internal/runtime/linker/NashornLinker.java ! src/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java + test/script/basic/JDK-8006570.js + test/script/basic/JDK-8006570.js.EXPECTED Changeset: e43d1013d871 Author: attila Date: 2013-01-22 14:36 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/e43d1013d871 8006677: Remove unused FunctionNode flags Reviewed-by: hannesw, jlaskey ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/parser/Parser.java Changeset: e62dba3ce52b Author: sundar Date: 2013-01-22 22:07 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/e62dba3ce52b 8006678: Avoid too many Context.getGlobal() calls Reviewed-by: lagergren, jlaskey ! make/project.properties ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/ir/debug/JSONWriter.java ! src/jdk/nashorn/internal/objects/AccessorPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArguments.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/objects/NativeBoolean.java ! src/jdk/nashorn/internal/objects/NativeDate.java ! src/jdk/nashorn/internal/objects/NativeFunction.java ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk/nashorn/internal/objects/NativeJSON.java ! src/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk/nashorn/internal/objects/NativeNumber.java ! src/jdk/nashorn/internal/objects/NativeObject.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/ECMAErrors.java ! src/jdk/nashorn/internal/runtime/ErrorManager.java ! src/jdk/nashorn/internal/runtime/JSType.java ! src/jdk/nashorn/internal/runtime/ParserException.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/internal/runtime/SetMethodCreator.java ! src/jdk/nashorn/internal/runtime/URIUtils.java ! src/jdk/nashorn/internal/runtime/Undefined.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayLikeIterator.java ! src/jdk/nashorn/internal/runtime/arrays/FrozenArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/IteratorAction.java ! src/jdk/nashorn/internal/runtime/arrays/SealedArrayFilter.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java ! src/jdk/nashorn/internal/runtime/linker/JavaArgumentConverters.java ! src/jdk/nashorn/internal/runtime/linker/Lookup.java ! src/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornStaticClassLinker.java Changeset: 0dbcb7350595 Author: sundar Date: 2013-01-23 17:04 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/0dbcb7350595 8006736: nashorn script engine should support the usage multiple global objects with same engine instance Reviewed-by: lagergren, jlaskey, hannesw ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java Changeset: d4a968ca8953 Author: sundar Date: 2013-01-24 16:21 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/d4a968ca8953 8006575: Error in codegen for element access on primitive value Reviewed-by: hannesw, lagergren ! src/jdk/nashorn/internal/codegen/CodeGenerator.java + test/script/basic/JDK-8006575.js Changeset: 3f528769aee1 Author: sundar Date: 2013-01-24 17:49 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/3f528769aee1 8006755: Functions inside with statements dont get correct scope Reviewed-by: lagergren, attila ! src/jdk/nashorn/internal/parser/Parser.java + test/script/basic/JDK-8006755.js Changeset: edfa73d9fde7 Author: hannesw Date: 2013-01-24 14:55 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/edfa73d9fde7 8006408: Clean up and specialize NativeString Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/objects/NativeString.java + test/examples/string-micro.js Changeset: f336aee22e85 Author: jlaskey Date: 2013-01-24 12:15 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/f336aee22e85 8006852: Move tests from JIRA for prepopulated map failures Reviewed-by: sundar Contributed-by: james.laskey at oracle.com + test/script/basic/JDK-8006852a.js + test/script/basic/JDK-8006852a.js.EXPECTED + test/script/basic/JDK-8006852b.js Changeset: bff7087396d7 Author: sundar Date: 2013-01-24 22:38 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/bff7087396d7 8006857: ClassCastException when interface implementing function uses arguments object Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/runtime/ScriptObject.java + test/script/basic/JDK-8006857.js + test/script/basic/JDK-8006857.js.EXPECTED Changeset: f52d7294536f Author: hannesw Date: 2013-01-25 17:35 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/f52d7294536f 8006766: Array-like access to characters of a string is slow Reviewed-by: lagergren, attila ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeBoolean.java ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk/nashorn/internal/objects/NativeJavaImporter.java ! src/jdk/nashorn/internal/objects/NativeNumber.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/runtime/GlobalObject.java ! src/jdk/nashorn/internal/runtime/NativeJavaPackage.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/WithObject.java ! src/jdk/nashorn/internal/runtime/linker/NashornLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornPrimitiveLinker.java ! src/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java Changeset: 8f7a86f82376 Author: sundar Date: 2013-01-28 18:10 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/8f7a86f82376 8006983: Introduce a command line option to switch off syntactic extensions of nashorn Reviewed-by: lagergren, attila ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/internal/runtime/resources/Options.properties + test/script/basic/JDK-8006983.js ! test/script/basic/scripting.js ! test/script/basic/scripting.js.EXPECTED Changeset: 265c46dbcf43 Author: sundar Date: 2013-01-28 21:29 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/265c46dbcf43 8007004: nashorn script engine should not use thread context class loader as script 'application loader' Reviewed-by: attila, hannesw ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java Changeset: b6c69beebde6 Author: jlaskey Date: 2013-01-28 16:22 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/b6c69beebde6 8006676: Integrate Nashorn into new build system Reviewed-by: jlaskey Contributed-by: james.laskey at oracle.com ! make/Makefile + makefiles/BuildNashorn.gmk + makefiles/Makefile Changeset: 333748665588 Author: sundar Date: 2013-01-29 19:57 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/333748665588 8007091: Provide private API to pass application class loader for nashorn script engine Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java Changeset: 755404d7d189 Author: jlaskey Date: 2013-01-29 14:25 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/755404d7d189 8007094: Apply version to nashorn.jar manifest Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! makefiles/BuildNashorn.gmk Changeset: 59970b70ebb5 Author: lagergren Date: 2013-01-30 12:26 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/59970b70ebb5 8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes. Summary: Lower suffered from being a "God class" trying to do everything at once. As Nashorn code generation has grown, so has Lower. It does several post processing passes, tries to do several things at once even though all type information isn't in place, adjusting state afterwards and so on. It also performs control flow analysis, type attribution and constant folding, and everything else code generation related before byte code emission. I have now separated the compilation process into Lower (create low level nodes from high level ones, copy code such as finally block inlining etc), Attr (assign types and symbols to all nodes - freeze slot and scope information) and FinalizeTypes (insert explicit casts, specialize invoke dynamic types for scope accesses). I've removed the kludgy AccessSpecializer, as this now integrates naturally with typing. Everything is now much easier to read and each module performs only one thing. I have added separate loggers for the separate ti ers. In the process I have also fixed: (1) problems with type coercion (see test/script/basic/typecoercion.js, basically our coercion was too late and our symbol inference was erroneous. This only manifested itself in very rare occasions where toNumber coercion has side effects, such as for example when valueOf is overridden) (2) copying literal nodes (literal copy did not use the superclass copy, which made all the Node specific fields not to be copied (3) erroneous literal tokenization (literals shouldn't always just inherit token information from whatever node that creates them) (4) splitter weighnodes - unary nodes were considered weightless (4) removed the hateful and kludgy "VarNode.shouldAppend", which really isn't needed when we have an attribution phase that determines self reference symbols (the only thing it was used for) (5) duplicate line number issues in the parser (6) convert bug in CodeGenerator for intermediate results of scope accesses (see test/script/b asic/access-specializer.js) ... Several of these things just stopped being problems with the new architecture "can't happen anymore" and are not bug fixes per se. All tests run. No performance regressions exist that I've been able to measure. Some increases in performance were measured, but in the statistical margin of error (which is very wide as HotSpot currently has warmup issues with LambdaForms/invoke dynamic). Compile speed has not measurably increased. Reviewed-by: jlaskey, attila ! docs/DEVELOPER_README ! src/jdk/nashorn/api/scripting/Formatter.java ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java - src/jdk/nashorn/internal/codegen/AccessSpecializer.java + src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/Compiler.java + src/jdk/nashorn/internal/codegen/FinalizeTypes.java + src/jdk/nashorn/internal/codegen/FoldConstants.java ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/SharedScopeCall.java ! src/jdk/nashorn/internal/codegen/WeighNodes.java ! src/jdk/nashorn/internal/codegen/objects/FunctionObjectCreator.java ! src/jdk/nashorn/internal/ir/Block.java ! src/jdk/nashorn/internal/ir/CallNode.java ! src/jdk/nashorn/internal/ir/CatchNode.java ! src/jdk/nashorn/internal/ir/ExecuteNode.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/LiteralNode.java ! src/jdk/nashorn/internal/ir/Node.java ! src/jdk/nashorn/internal/ir/RuntimeNode.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/ir/TryNode.java ! src/jdk/nashorn/internal/ir/VarNode.java ! src/jdk/nashorn/internal/ir/debug/ASTWriter.java ! src/jdk/nashorn/internal/objects/NativeJSON.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/parser/AbstractParser.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/parser/TokenType.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/DebugLogger.java ! src/jdk/nashorn/internal/runtime/OptionsObject.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayIterator.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayLikeIterator.java ! src/jdk/nashorn/internal/runtime/arrays/FrozenArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/SealedArrayFilter.java ! src/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java ! src/jdk/nashorn/internal/runtime/options/Options.java ! src/jdk/nashorn/tools/Shell.java + test/script/basic/access-specializer.js ! test/script/basic/compile-octane.js.EXPECTED ! test/script/basic/run-octane.js + test/script/basic/typecoerce.js + test/script/basic/typecoerce.js.EXPECTED Changeset: ca6d5e4b8170 Author: sundar Date: 2013-01-30 17:52 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/ca6d5e4b8170 8007132: Java objects returned from constructor functions are lost Reviewed-by: hannesw, lagergren, attila ! src/jdk/nashorn/internal/runtime/ScriptFunction.java + test/script/basic/JDK-8007132.js Changeset: 9f913c1843c8 Author: hannesw Date: 2013-01-30 14:57 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/9f913c1843c8 8007109: Regression: String(ConsString) does not flatten argument to String Reviewed-by: sundar, lagergren ! src/jdk/nashorn/internal/objects/NativeString.java + test/script/basic/consstring.js + test/src/jdk/nashorn/internal/test/models/StringArgs.java Changeset: c04f54d5b672 Author: sundar Date: 2013-01-30 21:15 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/c04f54d5b672 8007140: Java.extend crashes when attempting to extend java.lang.Object Reviewed-by: lagergren, hannesw ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java ! test/script/basic/JDK-8006424.js + test/script/basic/JDK-8007140.js Changeset: 9c1e7ae975db Author: sundar Date: 2013-01-31 20:07 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/9c1e7ae975db 8007286: Add JavaAdapter and importPackage to compatibility script Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/api/scripting/NashornException.java ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/resources/engine.js ! src/jdk/nashorn/internal/parser/TokenLookup.java ! src/jdk/nashorn/internal/parser/TokenType.java ! src/jdk/nashorn/internal/runtime/ECMAException.java ! src/jdk/nashorn/internal/runtime/PropertyHashMap.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/resources/mozilla_compat.js + test/script/basic/importpackage.js + test/script/basic/javaadapter.js Changeset: f7825c1a11d3 Author: attila Date: 2013-01-31 18:34 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/f7825c1a11d3 8006529: Methods always get callee - it should be conditional Summary: This commit streamlines the bytecode function signatures, prologue, local variable use, scope creation, and invocation. It started out quite innocently when we noticed that we always emit __callee__ parameters for all functions even when they are not needed, but it turned out to be quite a deep rabbit hole. In the end, I identified exact conditions when functions need to have a callee parameter, when they need to receive parent scope, when they need to create their own scope, when they need to have variable arity signature, and when they need to have an "arguments" object, and made sure that callee parameters in signatures only show up when they are needed, that parent function's scope is only passed to a child function when it is needed, that the function only creates its own scope when it is needed. In crypto.js, the number of scopes dropped from 446 to 244, and the number of callees dropped from 315 to 145. Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/FinalizeTypes.java ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/objects/FieldObjectCreator.java ! src/jdk/nashorn/internal/codegen/objects/FunctionObjectCreator.java ! src/jdk/nashorn/internal/codegen/types/Type.java ! src/jdk/nashorn/internal/ir/Block.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArguments.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/parser/Parser.java + src/jdk/nashorn/internal/runtime/ArgumentSetter.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java + test/script/basic/JDK-8006529-b.js + test/script/basic/JDK-8006529-b.js.EXPECTED + test/script/basic/JDK-8006529.js + test/src/jdk/nashorn/internal/codegen/CompilerAccess.java Changeset: 697f700d90c0 Author: hannesw Date: 2013-02-01 02:24 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/697f700d90c0 8007060: Primitive wrap filter throws ClassCastException in test262parallel Reviewed-by: sundar, jlaskey, lagergren ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeFunction.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/runtime/GlobalObject.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/SetMethodCreator.java - src/jdk/nashorn/internal/runtime/linker/NashornGuardedInvocation.java ! src/jdk/nashorn/internal/runtime/linker/NashornGuards.java ! src/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java + test/script/basic/JDK-8007060.js + test/script/basic/JDK-8007060.js.EXPECTED Changeset: a704700470fb Author: jlaskey Date: 2013-02-04 08:13 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/a704700470fb 8007455: Extraneous $(ECHO) in make/Makefile Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! make/Makefile Changeset: bb86bf840f9f Author: attila Date: 2013-02-04 15:59 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/bb86bf840f9f 8007460: var assignment to a parameter in a varargs method causes compilation error Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java + test/script/basic/JDK-8007460.js + test/script/basic/JDK-8007460.js.EXPECTED Changeset: bee7c8a45a04 Author: lagergren Date: 2013-02-04 16:20 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/bee7c8a45a04 8007215: Varargs broken for the case of passing more than the arg limit arguments. Reviewed-by: jlaskey, attila ! src/jdk/nashorn/api/scripting/NashornException.java ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/FunctionSignature.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/RuntimeCallSite.java ! src/jdk/nashorn/internal/codegen/SharedScopeCall.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/runtime/ECMAException.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java + test/script/basic/JDK-8007215.js + test/script/basic/JDK-8007215.js.EXPECTED Changeset: 6f58c28c4faa Author: jlaskey Date: 2013-02-04 14:48 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/6f58c28c4faa 8006191: `cmd` -> exec("cmd") in script mode Reviewed-by: sundar, lagergren, hannesw Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/parser/Lexer.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/parser/TokenType.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/OptionsObject.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/internal/runtime/resources/Messages.properties + test/script/basic/JDK-8006191.js + test/script/basic/JDK-8006191.js.EXPECTED Changeset: 5c2ed5d89524 Author: sundar Date: 2013-02-05 09:11 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/5c2ed5d89524 8007452: add scripting programmers doc changes for nashorn Reviewed-by: jlaskey, hannesw + docs/JavaScriptingProgrammersGuide.html + docs/source/EvalFile.java + docs/source/EvalScript.java + docs/source/InvokeScriptFunction.java + docs/source/InvokeScriptMethod.java + docs/source/MultiScopes.java + docs/source/RunnableImpl.java + docs/source/RunnableImplObject.java + docs/source/ScriptVars.java + docs/source/importpackageclass.js + docs/source/javaarray.js + docs/source/javaextend.js + docs/source/javaimporter.js + docs/source/javatypes.js + docs/source/overload.js + docs/source/runnable.js + docs/source/samfunc.js + docs/source/test.js ! src/jdk/nashorn/internal/objects/NativeJava.java Changeset: c48e8a28da90 Author: sundar Date: 2013-02-05 18:44 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/c48e8a28da90 8007521: $ENV should be undefined when security manager is present Reviewed-by: hannesw, jlaskey ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java - test/script/basic/JDK-8006191.js - test/script/basic/JDK-8006191.js.EXPECTED + test/script/currently-failing/JDK-8006191.js + test/script/currently-failing/JDK-8006191.js.EXPECTED + test/script/sandbox/env.js + test/script/sandbox/exec.js Changeset: 819b5485949d Author: sundar Date: 2013-02-05 21:00 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/819b5485949d 8007522: IllegalStateException thrown from String.prototype.search function Reviewed-by: jlaskey ! src/jdk/nashorn/internal/objects/NativeRegExp.java + test/script/basic/JDK-8007522.js Changeset: f05d4dae30f7 Author: sundar Date: 2013-02-05 22:07 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/f05d4dae30f7 8007523: VerifyError on script that uses regular expression literals with ternary operator Reviewed-by: lagergren ! src/jdk/nashorn/internal/ir/LiteralNode.java ! test/script/basic/JDK-8007522.js + test/script/basic/JDK-8007523.js Changeset: f6fae6de6f4f Author: hannesw Date: 2013-02-06 10:31 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/f6fae6de6f4f 8007273: Creation of ScriptFunctions can be refactored Reviewed-by: lagergren, attila ! src/jdk/nashorn/internal/codegen/objects/FunctionObjectCreator.java ! src/jdk/nashorn/internal/codegen/objects/ObjectCreator.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java + src/jdk/nashorn/internal/runtime/ScriptFunctionData.java Changeset: fcf541418304 Author: sundar Date: 2013-02-06 17:56 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/fcf541418304 8007619: Add support for deprecated properties of RegExp constructor Reviewed-by: lagergren, hannesw ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java + test/script/basic/JDK-8007619.js + test/script/basic/JDK-8007619.js.EXPECTED Changeset: ec4d59c9b8d2 Author: jlaskey Date: 2013-02-06 08:42 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/ec4d59c9b8d2 8007545: jjs input evalinput need to be NOT_ENUMERABLE Reviewed-by: sundar, lagergren Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/tools/resources/shell.js Changeset: 2ca25bf25d0c Author: jlaskey Date: 2013-02-06 11:57 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/2ca25bf25d0c 8007629: Remove extraneous quit from shell.js Reviewed-by: sundar, hannesw Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/api/scripting/resources/init.js ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/tools/resources/shell.js Changeset: 02f810c26ff9 Author: jlaskey Date: 2013-02-06 12:51 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/02f810c26ff9 8007643: Add testing for quit and exit Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! test/script/sandbox/exit.js ! test/script/sandbox/exit.js.EXPECTED Changeset: d7e83be6e7aa Author: sundar Date: 2013-02-07 17:17 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/d7e83be6e7aa 8007715: Make sure that not all tests run with AllPermission Reviewed-by: lagergren, attila ! make/build.xml ! make/project.properties ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java + test/script/README - test/script/basic/JDK-8006424.js - test/script/basic/JDK-8006529.js - test/script/basic/NASHORN-638.js - test/script/basic/NASHORN-638.js.EXPECTED - test/script/basic/NASHORN-653.js ! test/script/basic/NASHORN-758.js - test/script/basic/getenv.js - test/script/basic/getenv.js.EXPECTED ! test/script/basic/javaexceptions.js ! test/script/basic/newexpr.js + test/script/sandbox/interfaceimpl.js + test/script/sandbox/loadcompat.js + test/script/trusted/JDK-8006424.js + test/script/trusted/JDK-8006529.js + test/script/trusted/NASHORN-638.js + test/script/trusted/NASHORN-638.js.EXPECTED + test/script/trusted/NASHORN-653.js + test/script/trusted/README + test/script/trusted/getenv.js + test/script/trusted/getenv.js.EXPECTED ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java ! test/src/jdk/nashorn/internal/runtime/ContextTest.java Changeset: bca3a64a4a82 Author: hannesw Date: 2013-02-07 14:58 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/bca3a64a4a82 8007627: Support @Getter annotation on constructor Reviewed-by: attila, lagergren ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ConstructorGenerator.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/PrototypeGenerator.java Changeset: d5130a5803d1 Author: hannesw Date: 2013-02-07 15:33 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/d5130a5803d1 8007718: Make static RegExp properties fully compatible to other engines Reviewed-by: lagergren, sundar ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/runtime/RegExpMatch.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java + test/script/basic/JDK-8007718.js + test/script/basic/JDK-8007718.js.EXPECTED Changeset: 8742be332c8a Author: jlaskey Date: 2013-02-08 09:19 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/8742be332c8a 8006222: Move slot from SpillProperty to Property Reviewed-by: hannesw, lagergren Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/codegen/objects/FieldObjectCreator.java ! src/jdk/nashorn/internal/codegen/objects/MapCreator.java ! src/jdk/nashorn/internal/codegen/objects/ObjectCreator.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/runtime/AccessorProperty.java ! src/jdk/nashorn/internal/runtime/FindProperty.java ! src/jdk/nashorn/internal/runtime/Property.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/SpillProperty.java ! src/jdk/nashorn/internal/runtime/UserAccessorProperty.java ! src/jdk/nashorn/internal/runtime/linker/Lookup.java Changeset: 5ead5333fa59 Author: attila Date: 2013-02-09 16:58 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/5ead5333fa59 8006943: Fix order of function method arguments to be (callee, thisObject) Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/CompilerConstants.java ! src/jdk/nashorn/internal/codegen/FunctionSignature.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/objects/ObjectClassGenerator.java ! src/jdk/nashorn/internal/codegen/types/ObjectType.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptFunctionData.java Changeset: abea4ba28901 Author: sundar Date: 2013-02-11 21:26 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/abea4ba28901 8007915: Nashorn IR, codegen, parser packages and Context instance should be inaccessible to user code Reviewed-by: lagergren, jlaskey, attila ! bin/jjssecure ! bin/jjssecure.bat ! bin/nashornsecure ! bin/nashornsecure.bat ! make/Makefile ! make/build.xml + make/java.security.override ! make/project.properties ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/RuntimeCallSite.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/ir/debug/JSONWriter.java ! src/jdk/nashorn/internal/objects/AccessorPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/DataPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/GenericPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/objects/NativeArrayBuffer.java ! src/jdk/nashorn/internal/objects/NativeDebug.java ! src/jdk/nashorn/internal/objects/NativeError.java ! src/jdk/nashorn/internal/objects/NativeEvalError.java ! src/jdk/nashorn/internal/objects/NativeFloat32Array.java ! src/jdk/nashorn/internal/objects/NativeFloat64Array.java ! src/jdk/nashorn/internal/objects/NativeFunction.java ! src/jdk/nashorn/internal/objects/NativeInt16Array.java ! src/jdk/nashorn/internal/objects/NativeInt32Array.java ! src/jdk/nashorn/internal/objects/NativeInt8Array.java ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk/nashorn/internal/objects/NativeJSON.java ! src/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk/nashorn/internal/objects/NativeJavaImporter.java ! src/jdk/nashorn/internal/objects/NativeRangeError.java ! src/jdk/nashorn/internal/objects/NativeReferenceError.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/objects/NativeSyntaxError.java ! src/jdk/nashorn/internal/objects/NativeTypeError.java ! src/jdk/nashorn/internal/objects/NativeURIError.java ! src/jdk/nashorn/internal/objects/NativeUint16Array.java ! src/jdk/nashorn/internal/objects/NativeUint32Array.java ! src/jdk/nashorn/internal/objects/NativeUint8Array.java ! src/jdk/nashorn/internal/objects/NativeUint8ClampedArray.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/parser/AbstractParser.java ! src/jdk/nashorn/internal/parser/Lexer.java - src/jdk/nashorn/internal/parser/RegExp.java - src/jdk/nashorn/internal/parser/RegExpScanner.java ! src/jdk/nashorn/internal/runtime/ArgumentSetter.java ! src/jdk/nashorn/internal/runtime/BitVector.java ! src/jdk/nashorn/internal/runtime/ConsString.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/Debug.java ! src/jdk/nashorn/internal/runtime/DebugLogger.java ! src/jdk/nashorn/internal/runtime/GlobalFunctions.java + src/jdk/nashorn/internal/runtime/JSONFunctions.java ! src/jdk/nashorn/internal/runtime/Logging.java ! src/jdk/nashorn/internal/runtime/NashornLoader.java ! src/jdk/nashorn/internal/runtime/NativeJavaPackage.java + src/jdk/nashorn/internal/runtime/RegExp.java + src/jdk/nashorn/internal/runtime/RegExpScanner.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/ScriptLoader.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/internal/runtime/SetMethodCreator.java ! src/jdk/nashorn/internal/runtime/StructureLoader.java ! src/jdk/nashorn/internal/runtime/WithObject.java ! src/jdk/nashorn/internal/runtime/arrays/EmptyArrayLikeIterator.java ! src/jdk/nashorn/internal/runtime/arrays/MapIterator.java ! src/jdk/nashorn/internal/runtime/linker/Bootstrap.java ! src/jdk/nashorn/internal/runtime/resources/parser.js + test/script/sandbox/nashorninternals.js ! test/script/trusted/JDK-8006529.js + test/src/jdk/nashorn/api/javaaccess/BooleanAccessTest.java + test/src/jdk/nashorn/api/javaaccess/MethodAccessTest.java + test/src/jdk/nashorn/api/javaaccess/NumberAccessTest.java + test/src/jdk/nashorn/api/javaaccess/NumberBoxingTest.java + test/src/jdk/nashorn/api/javaaccess/ObjectAccessTest.java + test/src/jdk/nashorn/api/javaaccess/Person.java + test/src/jdk/nashorn/api/javaaccess/SharedObject.java + test/src/jdk/nashorn/api/javaaccess/StringAccessTest.java - test/src/jdk/nashorn/internal/access/BooleanAccessTest.java - test/src/jdk/nashorn/internal/access/MethodAccessTest.java - test/src/jdk/nashorn/internal/access/NumberAccessTest.java - test/src/jdk/nashorn/internal/access/NumberBoxingTest.java - test/src/jdk/nashorn/internal/access/ObjectAccessTest.java - test/src/jdk/nashorn/internal/access/Person.java - test/src/jdk/nashorn/internal/access/SharedObject.java - test/src/jdk/nashorn/internal/access/StringAccessTest.java - test/src/jdk/nashorn/internal/codegen/CompilerAccess.java Changeset: 774a0f349cc0 Author: hannesw Date: 2013-02-12 13:55 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/774a0f349cc0 8007956: Wrong or obsolete system properties in docs/DEVELOPER_README Reviewed-by: attila, jlaskey ! docs/DEVELOPER_README Changeset: d50e1752f59b Author: attila Date: 2013-02-12 12:47 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/d50e1752f59b 8007900: Function binding is inefficient Reviewed-by: jlaskey, lagergren + src/jdk/nashorn/internal/objects/BoundScriptFunctionImpl.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeStrictArguments.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/runtime/ArgumentSetter.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java + src/jdk/nashorn/internal/runtime/SpecializedMethodChooser.java + test/script/basic/funcbind2.js + test/script/basic/funcbind2.js.EXPECTED + test/script/basic/funcbind3.js + test/script/basic/funcbind3.js.EXPECTED Changeset: a3dc1b180ce7 Author: hannesw Date: 2013-02-13 13:30 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/a3dc1b180ce7 8008096: TokenStream buffer should grow exponentially Reviewed-by: attila, lagergren, sundar ! src/jdk/nashorn/internal/parser/TokenStream.java Changeset: 38c44687e4bd Author: sundar Date: 2013-02-13 19:59 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/38c44687e4bd 8008103: Source object should maintain URL of the script source as a private field Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/Source.java ! src/jdk/nashorn/tools/Shell.java ! test/src/jdk/nashorn/internal/codegen/CompilerTest.java ! test/src/jdk/nashorn/internal/runtime/ContextTest.java ! test/src/jdk/nashorn/internal/test/framework/SharedContextEvaluator.java Changeset: 222b9f32b674 Author: sundar Date: 2013-02-14 09:14 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/222b9f32b674 8008193: test262 tests should be run with security manager enabled Reviewed-by: jlaskey ! make/build.xml Changeset: 8c72a2bec1be Author: sundar Date: 2013-02-14 14:16 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/8c72a2bec1be 8008197: Cross script engine function calls do not work as expected Reviewed-by: lagergren, hannesw ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java + test/script/basic/JDK-8008197.js ! test/script/basic/jquery.js Changeset: 43e32b36153c Author: lagergren Date: 2013-02-14 13:01 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/43e32b36153c 8008199: Lazy compilation and trampoline implementation Summary: The code pipeline now supports lazy compilation, which can be used to only compile certain FunctionNodes and leave others be, saving startup time. When these uncompiled nodes are hit, a trampoline will force them to be recompiled. This can also be used to specialize compilation fixing parameter types and return types to a callsite specific compilation. This will give performance. Reviewed-by: attila, sundar ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/ClassEmitter.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java + src/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk/nashorn/internal/codegen/CompileUnit.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/ConstantData.java ! src/jdk/nashorn/internal/codegen/FinalizeTypes.java ! src/jdk/nashorn/internal/codegen/FoldConstants.java ! src/jdk/nashorn/internal/codegen/FunctionSignature.java ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/codegen/SharedScopeCall.java ! src/jdk/nashorn/internal/codegen/Splitter.java ! src/jdk/nashorn/internal/codegen/WeighNodes.java - src/jdk/nashorn/internal/codegen/objects/FunctionObjectCreator.java ! src/jdk/nashorn/internal/codegen/objects/ObjectClassGenerator.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/debug/JSONWriter.java ! src/jdk/nashorn/internal/ir/visitor/NodeVisitor.java ! src/jdk/nashorn/internal/objects/BoundScriptFunctionImpl.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java + src/jdk/nashorn/internal/objects/ScriptFunctionTrampolineImpl.java ! src/jdk/nashorn/internal/parser/Lexer.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/CodeInstaller.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/DebugLogger.java ! src/jdk/nashorn/internal/runtime/FindProperty.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/tools/Shell.java ! test/script/trusted/JDK-8006529.js ! test/src/jdk/nashorn/internal/parser/ParserTest.java ! test/src/jdk/nashorn/internal/test/framework/SharedContextEvaluator.java Changeset: 5a820fb11814 Author: attila Date: 2013-02-14 13:22 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/5a820fb11814 8008085: Integrate Dynalink source code into Nashorn codebase Reviewed-by: jlaskey, lagergren, sundar ! THIRD_PARTY_README ! make/build.xml ! make/nbproject/project.xml ! make/project.properties + src/jdk/internal/dynalink/CallSiteDescriptor.java + src/jdk/internal/dynalink/ChainedCallSite.java + src/jdk/internal/dynalink/DefaultBootstrapper.java + src/jdk/internal/dynalink/DynamicLinker.java + src/jdk/internal/dynalink/DynamicLinkerFactory.java + src/jdk/internal/dynalink/MonomorphicCallSite.java + src/jdk/internal/dynalink/NoSuchDynamicMethodException.java + src/jdk/internal/dynalink/RelinkableCallSite.java + src/jdk/internal/dynalink/beans/AbstractJavaLinker.java + src/jdk/internal/dynalink/beans/AccessibleMembersLookup.java + src/jdk/internal/dynalink/beans/ApplicableOverloadedMethods.java + src/jdk/internal/dynalink/beans/BeanIntrospector.java + src/jdk/internal/dynalink/beans/BeanLinker.java + src/jdk/internal/dynalink/beans/BeansLinker.java + src/jdk/internal/dynalink/beans/CheckRestrictedPackage.java + src/jdk/internal/dynalink/beans/CheckRestrictedPackageInternal.java + src/jdk/internal/dynalink/beans/ClassLinker.java + src/jdk/internal/dynalink/beans/ClassString.java + src/jdk/internal/dynalink/beans/DynamicMethod.java + src/jdk/internal/dynalink/beans/DynamicMethodLinker.java + src/jdk/internal/dynalink/beans/FacetIntrospector.java + src/jdk/internal/dynalink/beans/GuardedInvocationComponent.java + src/jdk/internal/dynalink/beans/MaximallySpecific.java + src/jdk/internal/dynalink/beans/OverloadedDynamicMethod.java + src/jdk/internal/dynalink/beans/OverloadedMethod.java + src/jdk/internal/dynalink/beans/RestrictedPackageTester.java + src/jdk/internal/dynalink/beans/SimpleDynamicMethod.java + src/jdk/internal/dynalink/beans/StaticClass.java + src/jdk/internal/dynalink/beans/StaticClassIntrospector.java + src/jdk/internal/dynalink/beans/StaticClassLinker.java + src/jdk/internal/dynalink/beans/messages.properties + src/jdk/internal/dynalink/beans/package.html + src/jdk/internal/dynalink/linker/ConversionComparator.java + src/jdk/internal/dynalink/linker/GuardedInvocation.java + src/jdk/internal/dynalink/linker/GuardingDynamicLinker.java + src/jdk/internal/dynalink/linker/GuardingTypeConverterFactory.java + src/jdk/internal/dynalink/linker/LinkRequest.java + src/jdk/internal/dynalink/linker/LinkerServices.java + src/jdk/internal/dynalink/linker/TypeBasedGuardingDynamicLinker.java + src/jdk/internal/dynalink/linker/package.html + src/jdk/internal/dynalink/package.html + src/jdk/internal/dynalink/support/AbstractCallSiteDescriptor.java + src/jdk/internal/dynalink/support/AbstractRelinkableCallSite.java + src/jdk/internal/dynalink/support/AutoDiscovery.java + src/jdk/internal/dynalink/support/Backport.java + src/jdk/internal/dynalink/support/BottomGuardingDynamicLinker.java + src/jdk/internal/dynalink/support/CallSiteDescriptorFactory.java + src/jdk/internal/dynalink/support/ClassMap.java + src/jdk/internal/dynalink/support/CompositeGuardingDynamicLinker.java + src/jdk/internal/dynalink/support/CompositeTypeBasedGuardingDynamicLinker.java + src/jdk/internal/dynalink/support/DefaultCallSiteDescriptor.java + src/jdk/internal/dynalink/support/Guards.java + src/jdk/internal/dynalink/support/LinkRequestImpl.java + src/jdk/internal/dynalink/support/LinkerServicesImpl.java + src/jdk/internal/dynalink/support/Lookup.java + src/jdk/internal/dynalink/support/LookupCallSiteDescriptor.java + src/jdk/internal/dynalink/support/NameCodec.java + src/jdk/internal/dynalink/support/NamedDynCallSiteDescriptor.java + src/jdk/internal/dynalink/support/RuntimeContextLinkRequestImpl.java + src/jdk/internal/dynalink/support/TypeConverterFactory.java + src/jdk/internal/dynalink/support/TypeUtilities.java + src/jdk/internal/dynalink/support/UnnamedDynCallSiteDescriptor.java + src/jdk/internal/dynalink/support/messages.properties + src/jdk/internal/dynalink/support/package.html ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/WeighNodes.java ! src/jdk/nashorn/internal/ir/Block.java ! src/jdk/nashorn/internal/ir/CallNode.java ! src/jdk/nashorn/internal/ir/Node.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeBoolean.java ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk/nashorn/internal/objects/NativeJavaImporter.java ! src/jdk/nashorn/internal/objects/NativeNumber.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/parser/Lexer.java ! src/jdk/nashorn/internal/runtime/GlobalObject.java ! src/jdk/nashorn/internal/runtime/JSType.java ! src/jdk/nashorn/internal/runtime/NativeJavaPackage.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptLoader.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java ! src/jdk/nashorn/internal/runtime/SetMethodCreator.java ! src/jdk/nashorn/internal/runtime/StructureLoader.java ! src/jdk/nashorn/internal/runtime/Undefined.java ! src/jdk/nashorn/internal/runtime/WithObject.java ! src/jdk/nashorn/internal/runtime/linker/Bootstrap.java ! src/jdk/nashorn/internal/runtime/linker/JSObjectLinker.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java ! src/jdk/nashorn/internal/runtime/linker/JavaArgumentConverters.java ! src/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java ! src/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornCallSiteDescriptor.java ! src/jdk/nashorn/internal/runtime/linker/NashornLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornPrimitiveLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornStaticClassLinker.java ! src/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java ! src/jdk/nashorn/internal/runtime/options/Options.java ! test/script/sandbox/nashorninternals.js ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java ! test/src/jdk/nashorn/internal/runtime/ContextTest.java ! test/src/jdk/nashorn/internal/runtime/JSTypeTest.java Changeset: d086c3eead6b Author: lagergren Date: 2013-02-14 13:52 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/d086c3eead6b 8008206: The allInteger case for SwitchNode generation in CodeGenerator assumes integer LITERALS only. Reviewed-by: sundar, jlaskey ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java + test/script/basic/JDK-8008206.js + test/script/basic/JDK-8008206.js.EXPECTED Changeset: 3df0a0d62d60 Author: attila Date: 2013-02-14 13:51 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/3df0a0d62d60 8007990: No access to interface methods on a restricted class Reviewed-by: jlaskey, lagergren, sundar ! make/build.xml + test/script/basic/JDK-8007990.js + test/script/basic/JDK-8007990.js.EXPECTED Changeset: d1ce4e09e4ba Author: hannesw Date: 2013-02-14 14:07 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/d1ce4e09e4ba 8008198: java.lang.AssertionError: Invalid break target class jdk.nashorn.internal.ir.TryNode Reviewed-by: attila, jlaskey ! src/jdk/nashorn/internal/ir/LabelNode.java ! src/jdk/nashorn/internal/parser/Parser.java + test/script/basic/JDK-8008198.js + test/script/basic/JDK-8008198.js.EXPECTED Changeset: d41d7cf9ab8b Author: jlaskey Date: 2013-02-14 11:32 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/d41d7cf9ab8b 8008231: Fix build system to accommodate integration of dynalink Reviewed-by: jlaskey Contributed-by: james.laskey at oracle.com ! makefiles/BuildNashorn.gmk Changeset: 36065e5ea3d1 Author: hannesw Date: 2013-02-15 09:18 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/36065e5ea3d1 8008215: break in catch clause causes java.lang.VerifyError: Inconsistent stackmap Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/parser/Parser.java + test/script/basic/JDK-8008215.js + test/script/basic/JDK-8008215.js.EXPECTED Changeset: e478708faa22 Author: lagergren Date: 2013-02-15 09:44 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/e478708faa22 8008239: Unpublicized parts of the code generator package that were only package internal. Reviewed-by: hannesw, attila ! src/jdk/nashorn/internal/codegen/BranchOptimizer.java ! src/jdk/nashorn/internal/codegen/ClassEmitter.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk/nashorn/internal/codegen/CompilerConstants.java + src/jdk/nashorn/internal/codegen/Condition.java + src/jdk/nashorn/internal/codegen/FieldObjectCreator.java ! src/jdk/nashorn/internal/codegen/FunctionSignature.java + src/jdk/nashorn/internal/codegen/Label.java + src/jdk/nashorn/internal/codegen/MapCreator.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java + src/jdk/nashorn/internal/codegen/ObjectClassGenerator.java + src/jdk/nashorn/internal/codegen/ObjectCreator.java ! src/jdk/nashorn/internal/codegen/SharedScopeCall.java ! src/jdk/nashorn/internal/codegen/Splitter.java - src/jdk/nashorn/internal/codegen/objects/FieldObjectCreator.java - src/jdk/nashorn/internal/codegen/objects/MapCreator.java - src/jdk/nashorn/internal/codegen/objects/ObjectClassGenerator.java - src/jdk/nashorn/internal/codegen/objects/ObjectCreator.java - src/jdk/nashorn/internal/codegen/objects/ObjectMapCreator.java ! src/jdk/nashorn/internal/codegen/types/BooleanType.java ! src/jdk/nashorn/internal/codegen/types/IntType.java ! src/jdk/nashorn/internal/codegen/types/LongType.java ! src/jdk/nashorn/internal/codegen/types/NumberType.java ! src/jdk/nashorn/internal/ir/AccessNode.java ! src/jdk/nashorn/internal/ir/BaseNode.java ! src/jdk/nashorn/internal/ir/Block.java ! src/jdk/nashorn/internal/ir/BreakNode.java ! src/jdk/nashorn/internal/ir/BreakableNode.java ! src/jdk/nashorn/internal/ir/CallNode.java ! src/jdk/nashorn/internal/ir/CaseNode.java ! src/jdk/nashorn/internal/ir/CatchNode.java ! src/jdk/nashorn/internal/ir/ContinueNode.java ! src/jdk/nashorn/internal/ir/IdentNode.java ! src/jdk/nashorn/internal/ir/IndexNode.java ! src/jdk/nashorn/internal/ir/LabelNode.java ! src/jdk/nashorn/internal/ir/LineNumberNode.java ! src/jdk/nashorn/internal/ir/ObjectNode.java ! src/jdk/nashorn/internal/ir/ReturnNode.java ! src/jdk/nashorn/internal/ir/SplitNode.java ! src/jdk/nashorn/internal/ir/SwitchNode.java ! src/jdk/nashorn/internal/ir/ThrowNode.java ! src/jdk/nashorn/internal/ir/TryNode.java ! src/jdk/nashorn/internal/ir/UnaryNode.java ! src/jdk/nashorn/internal/ir/WhileNode.java ! src/jdk/nashorn/internal/ir/WithNode.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/runtime/AccessorProperty.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/ECMAException.java ! src/jdk/nashorn/internal/runtime/FindProperty.java ! src/jdk/nashorn/internal/runtime/Property.java ! src/jdk/nashorn/internal/runtime/Scope.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java ! src/jdk/nashorn/internal/runtime/SetMethodCreator.java ! src/jdk/nashorn/internal/runtime/StructureLoader.java Changeset: 757a49aaad02 Author: sundar Date: 2013-02-15 18:30 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/757a49aaad02 8008291: Add more tests for better coverage of objects, scripting and parser packages Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/parser/AbstractParser.java ! src/jdk/nashorn/internal/parser/Scanner.java ! src/jdk/nashorn/internal/runtime/BitVector.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/QuotedStringTokenizer.java ! src/jdk/nashorn/internal/runtime/RegExpScanner.java ! src/jdk/nashorn/internal/runtime/Source.java ! src/jdk/nashorn/tools/Shell.java ! test/script/basic/NASHORN-401.js ! test/script/basic/NASHORN-401.js.EXPECTED + test/script/basic/assign_builtin_func_props.js + test/script/basic/debugger.js + test/script/basic/yield.js ! test/src/jdk/nashorn/api/scripting/MultipleEngineTest.java ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java ! test/src/jdk/nashorn/api/scripting/Window.java ! test/src/jdk/nashorn/internal/parser/ParserTest.java Changeset: 5851c5dac260 Author: sundar Date: 2013-02-15 20:40 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/5851c5dac260 8008298: Add tests to cover specialized versions of Math functions. Reviewed-by: jlaskey, lagergren + test/script/basic/JDK-8008298.js Changeset: d5f74bd2dc20 Author: sundar Date: 2013-02-18 14:41 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/d5f74bd2dc20 8008305: ScriptEngine.eval should offer the ability to provide a codebase Reviewed-by: lagergren, hannesw, attila ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java + src/jdk/nashorn/api/scripting/URLReader.java + test/script/trusted/JDK-8008305.js + test/script/trusted/JDK-8008305_subtest.js + test/script/trusted/urlreader.js Changeset: 3245e174fe3a Author: hannesw Date: 2013-02-18 10:36 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/3245e174fe3a 8008351: Avoid using String.replace(String, String) in codegen Reviewed-by: sundar, attila ! src/jdk/nashorn/internal/codegen/Condition.java ! src/jdk/nashorn/internal/codegen/RuntimeCallSite.java ! src/jdk/nashorn/internal/ir/RuntimeNode.java Changeset: f8221ce53c2e Author: attila Date: 2013-02-18 16:00 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/f8221ce53c2e 8008371: Fix Dynalink compiler warnings and whitespace Reviewed-by: jlaskey, sundar ! src/jdk/internal/dynalink/CallSiteDescriptor.java ! src/jdk/internal/dynalink/ChainedCallSite.java ! src/jdk/internal/dynalink/DefaultBootstrapper.java ! src/jdk/internal/dynalink/DynamicLinker.java ! src/jdk/internal/dynalink/DynamicLinkerFactory.java ! src/jdk/internal/dynalink/MonomorphicCallSite.java ! src/jdk/internal/dynalink/NoSuchDynamicMethodException.java ! src/jdk/internal/dynalink/RelinkableCallSite.java ! src/jdk/internal/dynalink/beans/AbstractJavaLinker.java ! src/jdk/internal/dynalink/beans/ApplicableOverloadedMethods.java ! src/jdk/internal/dynalink/beans/BeanLinker.java ! src/jdk/internal/dynalink/beans/BeansLinker.java ! src/jdk/internal/dynalink/beans/CheckRestrictedPackageInternal.java ! src/jdk/internal/dynalink/beans/ClassLinker.java ! src/jdk/internal/dynalink/beans/ClassString.java ! src/jdk/internal/dynalink/beans/DynamicMethod.java ! src/jdk/internal/dynalink/beans/DynamicMethodLinker.java ! src/jdk/internal/dynalink/beans/FacetIntrospector.java ! src/jdk/internal/dynalink/beans/GuardedInvocationComponent.java ! src/jdk/internal/dynalink/beans/MaximallySpecific.java ! src/jdk/internal/dynalink/beans/OverloadedDynamicMethod.java ! src/jdk/internal/dynalink/beans/OverloadedMethod.java ! src/jdk/internal/dynalink/beans/SimpleDynamicMethod.java ! src/jdk/internal/dynalink/beans/StaticClass.java ! src/jdk/internal/dynalink/beans/StaticClassLinker.java ! src/jdk/internal/dynalink/linker/GuardedInvocation.java ! src/jdk/internal/dynalink/linker/GuardingDynamicLinker.java ! src/jdk/internal/dynalink/linker/GuardingTypeConverterFactory.java ! src/jdk/internal/dynalink/linker/LinkRequest.java ! src/jdk/internal/dynalink/linker/LinkerServices.java ! src/jdk/internal/dynalink/support/AbstractCallSiteDescriptor.java ! src/jdk/internal/dynalink/support/AbstractRelinkableCallSite.java ! src/jdk/internal/dynalink/support/AutoDiscovery.java ! src/jdk/internal/dynalink/support/BottomGuardingDynamicLinker.java ! src/jdk/internal/dynalink/support/CallSiteDescriptorFactory.java ! src/jdk/internal/dynalink/support/CompositeGuardingDynamicLinker.java ! src/jdk/internal/dynalink/support/CompositeTypeBasedGuardingDynamicLinker.java ! src/jdk/internal/dynalink/support/DefaultCallSiteDescriptor.java ! src/jdk/internal/dynalink/support/Guards.java ! src/jdk/internal/dynalink/support/LinkRequestImpl.java ! src/jdk/internal/dynalink/support/LinkerServicesImpl.java ! src/jdk/internal/dynalink/support/Lookup.java ! src/jdk/internal/dynalink/support/LookupCallSiteDescriptor.java ! src/jdk/internal/dynalink/support/NamedDynCallSiteDescriptor.java ! src/jdk/internal/dynalink/support/RuntimeContextLinkRequestImpl.java ! src/jdk/internal/dynalink/support/TypeConverterFactory.java ! src/jdk/internal/dynalink/support/TypeUtilities.java ! src/jdk/internal/dynalink/support/UnnamedDynCallSiteDescriptor.java ! src/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk/nashorn/internal/codegen/FunctionSignature.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/objects/ScriptFunctionTrampolineImpl.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/Context.java Changeset: 4738de1bd57f Author: sundar Date: 2013-02-18 20:41 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/4738de1bd57f 8008387: Improve code coverage tests for JSObjectLinker and NashornBottomLinker Reviewed-by: lagergren, jlaskey, hannesw ! src/jdk/internal/dynalink/beans/BeansLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java + test/script/basic/javamethodcallerrors.js + test/script/basic/jsobject.js Changeset: b6798a83dbd4 Author: jlaskey Date: 2013-02-19 09:46 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/b6798a83dbd4 8008420: Tweaks to make all NEWBUILD=false round 2 Reviewed-by: jjh Contributed-by: james.laskey at oracle.com ! make/Makefile Changeset: b228e3cdbfc3 Author: jlaskey Date: 2013-02-19 09:47 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/b228e3cdbfc3 Merge Changeset: b632446ba138 Author: sundar Date: 2013-02-19 20:33 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/b632446ba138 8008448: Add coverage test for jdk.nashorn.internal.ir.debug.JSONWriter Reviewed-by: jlaskey, attila ! src/jdk/nashorn/internal/ir/debug/JSONWriter.java + test/script/basic/JDK-8008448.js Changeset: 58eea0e8f369 Author: sundar Date: 2013-02-20 17:08 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/58eea0e8f369 8008207: Make constants array and source fields private Reviewed-by: hannesw, lagergren ! src/jdk/nashorn/internal/codegen/ClassEmitter.java ! src/jdk/nashorn/internal/codegen/Compiler.java Changeset: 671852e35ced Author: lagergren Date: 2013-02-20 16:43 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/671852e35ced 8008166: URL handling was broken on windows, causing "load" to malfunction Reviewed-by: attila, jlaskey Contributed-by: klara.ward at oracle.com ! make/build.xml ! src/jdk/nashorn/internal/runtime/Context.java Changeset: a971adb68f38 Author: lagergren Date: 2013-02-21 16:57 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/a971adb68f38 8008648: Lazy JIT scope and callee semantics bugfixes. Broke out wallclock timer. Reviewed-by: attila, hannesw ! src/jdk/internal/dynalink/beans/BeansLinker.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java + src/jdk/nashorn/internal/codegen/CompilationException.java ! src/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/FinalizeTypes.java ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/Splitter.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/TernaryNode.java ! src/jdk/nashorn/internal/objects/ScriptFunctionTrampolineImpl.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/NashornLoader.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java + src/jdk/nashorn/internal/runtime/Timing.java ! test/script/trusted/JDK-8006529.js Changeset: ae1c9716685b Author: jlaskey Date: 2013-02-21 15:24 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/ae1c9716685b 8008447: Tweaks to make all NEWBUILD=false round 3 Reviewed-by: jjh, sundar Contributed-by: james.laskey at oracle.com ! make/Makefile Changeset: 678da59a29b3 Author: lagergren Date: 2013-02-22 08:57 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/678da59a29b3 8008554: load was broken for URLs Reviewed-by: attila, sundar ! src/jdk/nashorn/internal/runtime/Context.java + test/script/basic/JDK-8008554.js Changeset: 230a711062c1 Author: lagergren Date: 2013-02-22 11:27 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/230a711062c1 8008575: Re-integrate code coverage Reviewed-by: attila, hannesw Contributed-by: eugene.drobitko at oracle.com, ilya.dergalin at oracle.com ! make/build.xml + make/code_coverage.xml ! make/project.properties Changeset: 267cc4c85160 Author: lagergren Date: 2013-02-22 12:22 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/267cc4c85160 8007002: Replace implicit exception throwing methods with explicit throws - simplify control flow and remove useless code Reviewed-by: attila, hannesw ! src/jdk/nashorn/api/scripting/NashornException.java ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/URLReader.java ! src/jdk/nashorn/internal/objects/AccessorPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArguments.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/objects/NativeBoolean.java ! src/jdk/nashorn/internal/objects/NativeDate.java ! src/jdk/nashorn/internal/objects/NativeError.java ! src/jdk/nashorn/internal/objects/NativeFunction.java ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk/nashorn/internal/objects/NativeJSON.java ! src/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk/nashorn/internal/objects/NativeNumber.java ! src/jdk/nashorn/internal/objects/NativeObject.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/parser/AbstractParser.java ! src/jdk/nashorn/internal/parser/Lexer.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/ECMAErrors.java ! src/jdk/nashorn/internal/runtime/ECMAException.java ! src/jdk/nashorn/internal/runtime/ErrorManager.java ! src/jdk/nashorn/internal/runtime/JSONFunctions.java ! src/jdk/nashorn/internal/runtime/JSType.java ! src/jdk/nashorn/internal/runtime/ParserException.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/internal/runtime/SetMethodCreator.java ! src/jdk/nashorn/internal/runtime/URIUtils.java ! src/jdk/nashorn/internal/runtime/Undefined.java ! src/jdk/nashorn/internal/runtime/arrays/FrozenArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/IteratorAction.java ! src/jdk/nashorn/internal/runtime/arrays/SealedArrayFilter.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java ! src/jdk/nashorn/internal/runtime/linker/JavaArgumentConverters.java ! src/jdk/nashorn/internal/runtime/linker/Lookup.java ! src/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornStaticClassLinker.java Changeset: 3f0ff84aaf36 Author: jlaskey Date: 2013-02-22 10:39 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/3f0ff84aaf36 8008721: Tweaks to make all NEWBUILD=false round 4 Reviewed-by: jjh Contributed-by: james.laskey at oracle.com ! makefiles/BuildNashorn.gmk Changeset: 508da3c7fc3a Author: hannesw Date: 2013-02-22 16:31 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/508da3c7fc3a 8008093: Make RegExp engine pluggable Reviewed-by: lagergren, attila ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/parser/AbstractParser.java - src/jdk/nashorn/internal/runtime/RegExp.java - src/jdk/nashorn/internal/runtime/RegExpMatch.java - src/jdk/nashorn/internal/runtime/RegExpScanner.java + src/jdk/nashorn/internal/runtime/regexp/DefaultRegExp.java + src/jdk/nashorn/internal/runtime/regexp/RegExp.java + src/jdk/nashorn/internal/runtime/regexp/RegExpFactory.java + src/jdk/nashorn/internal/runtime/regexp/RegExpMatcher.java + src/jdk/nashorn/internal/runtime/regexp/RegExpResult.java + src/jdk/nashorn/internal/runtime/regexp/RegExpScanner.java Changeset: e42fd1640ff9 Author: hannesw Date: 2013-02-22 17:00 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/e42fd1640ff9 8006028: Integrate Joni regexp engine with Nashorn Reviewed-by: lagergren, attila ! THIRD_PARTY_README ! docs/DEVELOPER_README + src/jdk/nashorn/internal/runtime/regexp/JoniRegExp.java ! src/jdk/nashorn/internal/runtime/regexp/RegExpFactory.java + src/jdk/nashorn/internal/runtime/regexp/joni/Analyser.java + src/jdk/nashorn/internal/runtime/regexp/joni/ApplyCaseFold.java + src/jdk/nashorn/internal/runtime/regexp/joni/ApplyCaseFoldArg.java + src/jdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler.java + src/jdk/nashorn/internal/runtime/regexp/joni/AsmCompiler.java + src/jdk/nashorn/internal/runtime/regexp/joni/AsmCompilerSupport.java + src/jdk/nashorn/internal/runtime/regexp/joni/BitSet.java + src/jdk/nashorn/internal/runtime/regexp/joni/BitStatus.java + src/jdk/nashorn/internal/runtime/regexp/joni/ByteCodeMachine.java + src/jdk/nashorn/internal/runtime/regexp/joni/ByteCodePrinter.java + src/jdk/nashorn/internal/runtime/regexp/joni/CaptureTreeNode.java + src/jdk/nashorn/internal/runtime/regexp/joni/CodeRangeBuffer.java + src/jdk/nashorn/internal/runtime/regexp/joni/Compiler.java + src/jdk/nashorn/internal/runtime/regexp/joni/Config.java + src/jdk/nashorn/internal/runtime/regexp/joni/EncodingHelper.java + src/jdk/nashorn/internal/runtime/regexp/joni/Lexer.java + src/jdk/nashorn/internal/runtime/regexp/joni/Matcher.java + src/jdk/nashorn/internal/runtime/regexp/joni/MatcherFactory.java + src/jdk/nashorn/internal/runtime/regexp/joni/MinMaxLen.java + src/jdk/nashorn/internal/runtime/regexp/joni/NameEntry.java + src/jdk/nashorn/internal/runtime/regexp/joni/NativeMachine.java + src/jdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo.java + src/jdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo.java + src/jdk/nashorn/internal/runtime/regexp/joni/OptEnvironment.java + src/jdk/nashorn/internal/runtime/regexp/joni/OptExactInfo.java + src/jdk/nashorn/internal/runtime/regexp/joni/OptMapInfo.java + src/jdk/nashorn/internal/runtime/regexp/joni/Option.java + src/jdk/nashorn/internal/runtime/regexp/joni/Parser.java + src/jdk/nashorn/internal/runtime/regexp/joni/Regex.java + src/jdk/nashorn/internal/runtime/regexp/joni/Region.java + src/jdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment.java + src/jdk/nashorn/internal/runtime/regexp/joni/ScannerSupport.java + src/jdk/nashorn/internal/runtime/regexp/joni/SearchAlgorithm.java + src/jdk/nashorn/internal/runtime/regexp/joni/StackEntry.java + src/jdk/nashorn/internal/runtime/regexp/joni/StackMachine.java + src/jdk/nashorn/internal/runtime/regexp/joni/Syntax.java + src/jdk/nashorn/internal/runtime/regexp/joni/Token.java + src/jdk/nashorn/internal/runtime/regexp/joni/UnsetAddrList.java + src/jdk/nashorn/internal/runtime/regexp/joni/WarnCallback.java + src/jdk/nashorn/internal/runtime/regexp/joni/Warnings.java + src/jdk/nashorn/internal/runtime/regexp/joni/ast/AnchorNode.java + src/jdk/nashorn/internal/runtime/regexp/joni/ast/AnyCharNode.java + src/jdk/nashorn/internal/runtime/regexp/joni/ast/BackRefNode.java + src/jdk/nashorn/internal/runtime/regexp/joni/ast/CClassNode.java + src/jdk/nashorn/internal/runtime/regexp/joni/ast/CTypeNode.java + src/jdk/nashorn/internal/runtime/regexp/joni/ast/CallNode.java + src/jdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode.java + src/jdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode.java + src/jdk/nashorn/internal/runtime/regexp/joni/ast/Node.java + src/jdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode.java + src/jdk/nashorn/internal/runtime/regexp/joni/ast/StateNode.java + src/jdk/nashorn/internal/runtime/regexp/joni/ast/StringNode.java + src/jdk/nashorn/internal/runtime/regexp/joni/bench/AbstractBench.java + src/jdk/nashorn/internal/runtime/regexp/joni/bench/BenchGreedyBacktrack.java + src/jdk/nashorn/internal/runtime/regexp/joni/bench/BenchRailsRegs.java + src/jdk/nashorn/internal/runtime/regexp/joni/bench/BenchSeveralRegexps.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/AnchorType.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/Arguments.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/AsmConstants.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/CCSTATE.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/CCVALTYPE.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/EncloseType.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/MetaChar.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/NodeStatus.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/NodeType.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/OPCode.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/OPSize.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/Reduce.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/RegexState.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/StackPopLevel.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/StackType.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/StringType.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/SyntaxProperties.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/TargetInfo.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/TokenType.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/Traverse.java + src/jdk/nashorn/internal/runtime/regexp/joni/encoding/AsciiTables.java + src/jdk/nashorn/internal/runtime/regexp/joni/encoding/CharacterType.java + src/jdk/nashorn/internal/runtime/regexp/joni/encoding/IntHolder.java + src/jdk/nashorn/internal/runtime/regexp/joni/encoding/ObjPtr.java + src/jdk/nashorn/internal/runtime/regexp/joni/encoding/PosixBracket.java + src/jdk/nashorn/internal/runtime/regexp/joni/encoding/Ptr.java + src/jdk/nashorn/internal/runtime/regexp/joni/exception/ErrorMessages.java + src/jdk/nashorn/internal/runtime/regexp/joni/exception/InternalException.java + src/jdk/nashorn/internal/runtime/regexp/joni/exception/JOniException.java + src/jdk/nashorn/internal/runtime/regexp/joni/exception/SyntaxException.java + src/jdk/nashorn/internal/runtime/regexp/joni/exception/ValueException.java Changeset: 7f5b7c6859d7 Author: sundar Date: 2013-02-22 22:39 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/7f5b7c6859d7 8008729: Make sure that we can run basic jsr223 tests using jtreg Reviewed-by: jlaskey, hannesw, lagergren + test/TEST.ROOT ! test/src/jdk/nashorn/api/scripting/MultipleEngineTest.java + test/src/jdk/nashorn/api/scripting/ScriptEngineSecurityTest.java ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java Changeset: 5452f82eb2ce Author: jlaskey Date: 2013-02-22 23:33 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/5452f82eb2ce 8008776: Revise BuildNashorn.gmk for changes in new build system Reviewed-by: jjh Contributed-by: james.laskey at oracle.com ! makefiles/BuildNashorn.gmk Changeset: 927fba6785b0 Author: sundar Date: 2013-02-25 16:58 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/927fba6785b0 8008731: Separate configuration environment (options, error/output writer etc.) from Context Reviewed-by: hannesw, lagergren ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/ClassEmitter.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/ObjectClassGenerator.java ! src/jdk/nashorn/internal/ir/debug/JSONWriter.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeDate.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/objects/ScriptFunctionTrampolineImpl.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/CodeInstaller.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/JSONFunctions.java - src/jdk/nashorn/internal/runtime/OptionsObject.java + src/jdk/nashorn/internal/runtime/ScriptEnvironment.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java ! src/jdk/nashorn/tools/Shell.java ! test/script/trusted/JDK-8006529.js ! test/src/jdk/nashorn/internal/parser/ParserTest.java ! test/src/jdk/nashorn/internal/test/framework/SharedContextEvaluator.java Changeset: 5610ac25d8ff Author: sundar Date: 2013-02-25 18:13 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/5610ac25d8ff 8008789: Enable java access and nashorn runtime tests for jtreg Reviewed-by: lagergren, jlaskey, hannesw ! make/build.xml ! test/TEST.ROOT ! test/src/jdk/nashorn/api/javaaccess/BooleanAccessTest.java ! test/src/jdk/nashorn/api/javaaccess/MethodAccessTest.java ! test/src/jdk/nashorn/api/javaaccess/NumberAccessTest.java ! test/src/jdk/nashorn/api/javaaccess/NumberBoxingTest.java ! test/src/jdk/nashorn/api/javaaccess/ObjectAccessTest.java ! test/src/jdk/nashorn/api/javaaccess/StringAccessTest.java ! test/src/jdk/nashorn/internal/runtime/ContextTest.java ! test/src/jdk/nashorn/internal/runtime/JSTypeTest.java + test/src/jdk/nashorn/internal/runtime/TrustedScriptEngineTest.java From alan.bateman at oracle.com Mon Feb 25 09:19:22 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Mon, 25 Feb 2013 17:19:22 +0000 Subject: hg: jdk8/tl/jdk: 8008808: Allowed dependencies added by JDK-8008481 no longer required Message-ID: <20130225171953.F389247E38@hg.openjdk.java.net> Changeset: 155095c245b4 Author: alanb Date: 2013-02-25 17:17 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/155095c245b4 8008808: Allowed dependencies added by JDK-8008481 no longer required Reviewed-by: tbell, chegar ! make/tools/src/build/tools/deps/refs.allowed From kevin.walls at oracle.com Mon Feb 25 10:21:08 2013 From: kevin.walls at oracle.com (Kevin Walls) Date: Mon, 25 Feb 2013 18:21:08 +0000 Subject: RR(S): 8008807: SA: jstack crash when target has mismatched bitness (Linux) Message-ID: <512BAB94.8020202@oracle.com> Hi, This is a crash I stumbled upon: jstack -m will crash when it doesn't match the bitness of its target. On Solaris we check and give an exception message, Linux should do similarly. http://cr.openjdk.java.net/~kevinw/8008807/webrev.00/ Here I've gone with checking and denying the attach attempt as early as possible. Thanks Kevin From kumar.x.srinivasan at oracle.com Mon Feb 25 14:40:28 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Mon, 25 Feb 2013 22:40:28 +0000 Subject: hg: jdk8/tl/jdk: 8006039: test/tools/launcher/I18NJarTest.java fails on Mac w/ LANG=C, LC_ALL=C Message-ID: <20130225224051.93CE247E99@hg.openjdk.java.net> Changeset: 58f829566fe3 Author: bchristi Date: 2013-02-25 14:19 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/58f829566fe3 8006039: test/tools/launcher/I18NJarTest.java fails on Mac w/ LANG=C, LC_ALL=C Summary: Avoid automated test failure by just exiting when in 'C' locale Reviewed-by: naoto, ksrini ! test/ProblemList.txt ! test/tools/launcher/I18NJarTest.java From jonathan.gibbons at oracle.com Mon Feb 25 15:09:15 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Mon, 25 Feb 2013 23:09:15 +0000 Subject: hg: jdk8/tl: 8008914: Add nashorn to the tl build Message-ID: <20130225230915.4782747E9C@hg.openjdk.java.net> Changeset: 5b0b6ef58dbf Author: jjg Date: 2013-02-25 15:08 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/5b0b6ef58dbf 8008914: Add nashorn to the tl build Reviewed-by: mr, tbell, jjh Contributed-by: erik.joelsson at oracle.com, james.laskey at oracle.com ! Makefile ! common/autoconf/generated-configure.sh ! common/autoconf/source-dirs.m4 ! common/autoconf/spec.gmk.in ! common/bin/hgforest.sh ! common/makefiles/Main.gmk ! common/makefiles/MakeBase.gmk ! make/Defs-internal.gmk ! make/jdk-rules.gmk ! make/sanity-rules.gmk ! make/scripts/hgforest.sh From jonathan.gibbons at oracle.com Mon Feb 25 15:09:21 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Mon, 25 Feb 2013 23:09:21 +0000 Subject: hg: jdk8/tl/jdk: 8008914: Add nashorn to the tl build Message-ID: <20130225230933.273A747E9F@hg.openjdk.java.net> Changeset: 4cf4403c9bf2 Author: jjg Date: 2013-02-25 15:08 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/4cf4403c9bf2 8008914: Add nashorn to the tl build Reviewed-by: mr, tbell, jjh Contributed-by: erik.joelsson at oracle.com, james.laskey at oracle.com ! make/launchers/Makefile ! makefiles/CompileLaunchers.gmk ! makefiles/CreateJars.gmk ! test/tools/launcher/VersionCheck.java From yunda.mly at taobao.com Mon Feb 25 17:14:55 2013 From: yunda.mly at taobao.com (=?utf-8?B?5LqR6L6+KFl1bmRhKQ==?=) Date: Tue, 26 Feb 2013 01:14:55 +0000 Subject: Oop.iterateFields() should support CompressedKlassPointers again In-Reply-To: <512B48B3.8090303@oracle.com> References: <512B48B3.8090303@oracle.com> Message-ID: Kris, Thanks a lot! Regards, Yunda From: serviceability-dev-bounces at openjdk.java.net [mailto:serviceability-dev-bounces at openjdk.java.net] On Behalf Of Krystal Mo Sent: Monday, February 25, 2013 7:19 PM To: serviceability-dev at openjdk.java.net Subject: Re: Oop.iterateFields() should support CompressedKlassPointers again Hi Yunda, Thanks for fixing this. I actually have the exact same fix for this problem, along with fixes for some other problems in SA in my local workspace, but haven't come around to sending it out for public review yet. I think this is just a missed change in JDK-7054512. I have created a JIRA issue for you: JDK-8008796: SA: Oop.iterateFields() should support CompressedKlassPointers again. I'll prepare a webrev and send it out for official review later. Thanks, Kris On 2013/2/25 2:58, ??(Yunda) wrote: Hi all, When I used CLHSDB just now I met this error: hsdb> inspect 0x00000000ee255080 instance of "java/io/InputStream" @ 0x00000000ee255080 @ 0x00000000ee255080 (size = 24) Exception in thread "main" java.lang.InternalError: unimplemented at sun.jvm.hotspot.oops.Oop.iterateFields(Oop.java:151) at sun.jvm.hotspot.oops.Instance.iterateFields(Instance.java:66) at sun.jvm.hotspot.oops.Oop.iterate(Oop.java:143) at sun.jvm.hotspot.ui.tree.OopTreeNodeAdapter.getChildCount(OopTreeNodeAdapter.java:65) at sun.jvm.hotspot.CommandProcessor$Command.printNode(CommandProcessor.java:231) at sun.jvm.hotspot.CommandProcessor$24.doit(CommandProcessor.java:1008) at sun.jvm.hotspot.CommandProcessor.executeCommand(CommandProcessor.java:1897) at sun.jvm.hotspot.CommandProcessor.executeCommand(CommandProcessor.java:1867) at sun.jvm.hotspot.CommandProcessor.run(CommandProcessor.java:1747) at sun.jvm.hotspot.CLHSDB.run(CLHSDB.java:91) at sun.jvm.hotspot.CLHSDB.main(CLHSDB.java:35) I found it?s caused by the code of sun.jvm.hotspot.oops.Oop.iterateFields(): void iterateFields(OopVisitor visitor, boolean doVMFields) { if (doVMFields) { visitor.doCInt(mark, true); if (VM.getVM().isCompressedKlassPointersEnabled()) { throw new InternalError("unimplemented"); } else { visitor.doMetadata(klass, true); } } } When compressed oops( which is by default) are used an InternalError of ?unimplemented? will be throwed. But actually it can be implemented easily by just one line of code: visitor.doMetadata(compressedKlass, true); I checked the hotspot-rt repo and I found it was implemented this way before changeset 3601, the main implementation of NPG. Since 3601 changed a whole lot of stuff, the ?compressedKlass? field couldn?t get the right value, as in line 51: // compressedKlass = new CIntField(type.getCIntegerField("_metadata._compressed_klass"), 0); So the code in iterateFields() was changed to throwing an InternalError accordingly. But the ?compressedKlass? field can get the right value now. So I think it?s time to change the code back and here?s the diff against the latest hotspot-rt: diff -r 2f881161d085 agent/src/share/classes/sun/jvm/hotspot/oops/Oop.java --- a/agent/src/share/classes/sun/jvm/hotspot/oops/Oop.java Mon Feb 25 18:25:24 2013 +0800 +++ b/agent/src/share/classes/sun/jvm/hotspot/oops/Oop.java Mon Feb 25 18:47:08 2013 +0800 @@ -148,7 +148,7 @@ if (doVMFields) { visitor.doCInt(mark, true); if (VM.getVM().isCompressedKlassPointersEnabled()) { - throw new InternalError("unimplemented"); + visitor.doMetadata(compressedKlass, true); } else { visitor.doMetadata(klass, true); } Regards, Yunda ________________________________ This email (including any attachments) is confidential and may be legally privileged. If you received this email in error, please delete it immediately and do not copy it or use it for any purpose or disclose its contents to any other person. Thank you. ???(??????)????????????????????????????????????????????????????? ????????????????? ________________________________ This email (including any attachments) is confidential and may be legally privileged. If you received this email in error, please delete it immediately and do not copy it or use it for any purpose or disclose its contents to any other person. Thank you. ???(??????)?????????????????????????????????????????????????????????????????????? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130226/51fd71f0/attachment-0001.html From krystal.mo at oracle.com Mon Feb 25 18:03:20 2013 From: krystal.mo at oracle.com (Krystal Mo) Date: Mon, 25 Feb 2013 18:03:20 -0800 Subject: Request for Review: JDK-8008796: SA: Oop.iterateFields() should support CompressedKlassPointers again In-Reply-To: References: <512B48B3.8090303@oracle.com> Message-ID: <512C17E8.9030702@oracle.com> Hi all, Could I have a review for this small change, please? Webrev: http://cr.openjdk.java.net/~kmo/8008796/webrev.00/ CR: http://bugs.sun.com/view_bug.do?bug_id=8008796 (should be available externally soon) 8008796: SA: Oop.iterateFields() should support CompressedKlassPointers again Summary: add a missing change from JDK-7054512 so that Oop.iterateFields() works with UseCompressedKlassPointers Reviewed-by: ? Contributed-by: yunda.mly at taobao.com Thanks, Kris On 2013/2/25 17:14, ??(Yunda) wrote: > > Kris, > > Thanks a lot! > > Regards, > > Yunda > > *From:*serviceability-dev-bounces at openjdk.java.net > [mailto:serviceability-dev-bounces at openjdk.java.net] *On Behalf Of > *Krystal Mo > *Sent:* Monday, February 25, 2013 7:19 PM > *To:* serviceability-dev at openjdk.java.net > *Subject:* Re: Oop.iterateFields() should support > CompressedKlassPointers again > > Hi Yunda, > > Thanks for fixing this. I actually have the exact same fix for this > problem, along with fixes for some other problems in SA in my local > workspace, but haven't come around to sending it out for public review > yet. > > I think this is just a missed change in JDK-7054512. I have created a > JIRA issue for you: JDK-8008796: SA: Oop.iterateFields() should > support CompressedKlassPointers again. I'll prepare a webrev and send > it out for official review later. > > Thanks, > Kris > > On 2013/2/25 2:58, ??(Yunda) wrote: > > Hi all, > > When I used CLHSDB just now I met this error: > > hsdb> inspect 0x00000000ee255080 > > instance of "java/io/InputStream" @ 0x00000000ee255080 @ > 0x00000000ee255080 (size = 24) > > Exception in thread "main" java.lang.InternalError: unimplemented > > at sun.jvm.hotspot.oops.Oop.iterateFields(Oop.java:151) > > at > sun.jvm.hotspot.oops.Instance.iterateFields(Instance.java:66) > > at sun.jvm.hotspot.oops.Oop.iterate(Oop.java:143) > > at > sun.jvm.hotspot.ui.tree.OopTreeNodeAdapter.getChildCount(OopTreeNodeAdapter.java:65) > > at > sun.jvm.hotspot.CommandProcessor$Command.printNode(CommandProcessor.java:231) > > at > sun.jvm.hotspot.CommandProcessor$24.doit(CommandProcessor.java:1008) > > at > sun.jvm.hotspot.CommandProcessor.executeCommand(CommandProcessor.java:1897) > > at > sun.jvm.hotspot.CommandProcessor.executeCommand(CommandProcessor.java:1867) > > at > sun.jvm.hotspot.CommandProcessor.run(CommandProcessor.java:1747) > > at sun.jvm.hotspot.CLHSDB.run(CLHSDB.java:91) > > at sun.jvm.hotspot.CLHSDB.main(CLHSDB.java:35) > > I found it?s caused by the code of > sun.jvm.hotspot.oops.Oop.iterateFields(): > > void iterateFields(OopVisitor visitor, boolean doVMFields) { > > if (doVMFields) { > > visitor.doCInt(mark, true); > > if (VM.getVM().isCompressedKlassPointersEnabled()) { > > *throw new InternalError("unimplemented");* > > } else { > > visitor.doMetadata(klass, true); > > } > > } > > } > > When compressed oops( which is by default) are used an > InternalError of ?unimplemented? will be throwed. But actually it > can be implemented easily by just one line of code: > > visitor.doMetadata(compressedKlass, true); > > I checked the hotspot-rt repo and I found it was implemented this > way before changeset 3601, the main implementation of NPG. Since > 3601 changed a whole lot of stuff, the ?compressedKlass? field > couldn?t get the right value, as in line 51: > > // compressedKlass = new > CIntField(type.getCIntegerField("_metadata._compressed_klass"), 0); > > So the code in iterateFields() was changed to throwing an > InternalError accordingly. > > But the ?compressedKlass? field can get the right value now. So I > think it?s time to change the code back and here?s the diff > against the latest hotspot-rt: > > diff -r 2f881161d085 > agent/src/share/classes/sun/jvm/hotspot/oops/Oop.java > > --- a/agent/src/share/classes/sun/jvm/hotspot/oops/Oop.java Mon > Feb 25 18:25:24 2013 +0800 > > +++ b/agent/src/share/classes/sun/jvm/hotspot/oops/Oop.java Mon > Feb 25 18:47:08 2013 +0800 > > @@ -148,7 +148,7 @@ > > if (doVMFields) { > > visitor.doCInt(mark, true); > > if (VM.getVM().isCompressedKlassPointersEnabled()) { > > - throw new InternalError("unimplemented"); > > + visitor.doMetadata(compressedKlass, true); > > } else { > > visitor.doMetadata(klass, true); > > } > > Regards, > > Yunda > > ------------------------------------------------------------------------ > > > This email (including any attachments) is confidential and may be > legally privileged. If you received this email in error, please > delete it immediately and do not copy it or use it for any purpose > or disclose its contents to any other person. Thank you. > > ???(???? ??)???? ?????????????????? > ????????????????????????????????? > ??????????????? > > > ------------------------------------------------------------------------ > > This email (including any attachments) is confidential and may be > legally privileged. If you received this email in error, please delete > it immediately and do not copy it or use it for any purpose or > disclose its contents to any other person. Thank you. > > ???(??????)???????????????????????? > ????????????????????????????? ????? > ???????????? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130225/d3759b5b/attachment.html From rickard.backman at oracle.com Mon Feb 25 22:38:03 2013 From: rickard.backman at oracle.com (=?iso-8859-1?Q?Rickard_B=E4ckman?=) Date: Tue, 26 Feb 2013 07:38:03 +0100 Subject: RR(S): 8008807: SA: jstack crash when target has mismatched bitness (Linux) In-Reply-To: <512BAB94.8020202@oracle.com> References: <512BAB94.8020202@oracle.com> Message-ID: Kevin, looks good to me. (Not a Reviewer). /R On Feb 25, 2013, at 7:21 PM, Kevin Walls wrote: > > Hi, > > This is a crash I stumbled upon: jstack -m will crash when it doesn't match the bitness of its target. On Solaris we check and give an exception message, Linux should do similarly. > > http://cr.openjdk.java.net/~kevinw/8008807/webrev.00/ > > Here I've gone with checking and denying the attach attempt as early as possible. > > Thanks > Kevin > From john.r.rose at oracle.com Mon Feb 25 22:51:44 2013 From: john.r.rose at oracle.com (John Rose) Date: Mon, 25 Feb 2013 22:51:44 -0800 Subject: Request for review: 8000797: NPG: is_pseudo_string_at() doesn't work In-Reply-To: <5126FD9D.2000302@oracle.com> References: <51157551.4040000@oracle.com> <512513F6.3020404@oracle.com> <51259E61.4060706@oracle.com> <50E59DA5-1F3E-4A7E-8F83-A6AF970DF6C2@oracle.com> <5126FD9D.2000302@oracle.com> Message-ID: On Feb 21, 2013, at 9:09 PM, Coleen Phillimore wrote: > I'm sorry about this but I need one more review. I omitted one instance of JVM_CONSTANT_Object in templateTable_sparc.cpp and I forgot that you can't make any edit to the VM without making a duplicate edit to the serviceability agent. > > open webrev at http://cr.openjdk.java.net/~coleenp/8000797_3/ Good. (I looked only at the files you called out, sa + tT_sparc.) ? John -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130225/0d3986a7/attachment-0001.html From markus.gronlund at oracle.com Mon Feb 25 23:53:24 2013 From: markus.gronlund at oracle.com (=?iso-8859-1?B?TWFya3VzIEdy9m5sdW5k?=) Date: Mon, 25 Feb 2013 23:53:24 -0800 (PST) Subject: RFR(S): 8005572: fatal error: acquiring lock JfrBuffer_lock/19 out of order with lock MethodData_lock/19 -- possible deadlock In-Reply-To: <21B2FFE7-AC80-4FE8-9704-ECDC33D5F889@oracle.com> References: <21B2FFE7-AC80-4FE8-9704-ECDC33D5F889@oracle.com> Message-ID: Looks good Staffan (not a Reviewer). Thanks Markus -----Original Message----- From: Staffan Larsen Sent: den 18 februari 2013 11:16 To: serviceability-dev at openjdk.java.net serviceability-dev at openjdk.java.net Subject: RFR(S): 8005572: fatal error: acquiring lock JfrBuffer_lock/19 out of order with lock MethodData_lock/19 -- possible deadlock Please review this change for hs24 / jdku. webrev: http://cr.openjdk.java.net/~sla/8005572/webrev.00/ The problem lies with the order of the newly introduced JfrBuffer_lock and JfrStream_lock compared to the MethodData_lock. There are cases where we need to take the Jfr* locks while holding the MethodData_lock. Ths solution is simply to increase the lock order for the Jfr* locks. This change has baked for a while in internal testing and showed no regressions. Thanks, /Staffan From staffan.larsen at oracle.com Tue Feb 26 00:16:14 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Tue, 26 Feb 2013 09:16:14 +0100 Subject: Request for Review: JDK-8008796: SA: Oop.iterateFields() should support CompressedKlassPointers again In-Reply-To: <512C17E8.9030702@oracle.com> References: <512B48B3.8090303@oracle.com> <512C17E8.9030702@oracle.com> Message-ID: <8F10CF15-4456-42AF-8782-A9DAB571F68B@oracle.com> Looks good. (Not a Reviewer). /Staffan On 26 feb 2013, at 03:03, Krystal Mo wrote: > Hi all, > > Could I have a review for this small change, please? > > Webrev: http://cr.openjdk.java.net/~kmo/8008796/webrev.00/ > CR: http://bugs.sun.com/view_bug.do?bug_id=8008796 (should be available externally soon) > > 8008796: SA: Oop.iterateFields() should support CompressedKlassPointers again > Summary: add a missing change from JDK-7054512 so that Oop.iterateFields() works with UseCompressedKlassPointers > Reviewed-by: ? > Contributed-by: yunda.mly at taobao.com > > Thanks, > Kris > > On 2013/2/25 17:14, ??(Yunda) wrote: >> Kris, >> >> Thanks a lot! >> >> Regards, >> Yunda >> >> From: serviceability-dev-bounces at openjdk.java.net [mailto:serviceability-dev-bounces at openjdk.java.net] On Behalf Of Krystal Mo >> Sent: Monday, February 25, 2013 7:19 PM >> To: serviceability-dev at openjdk.java.net >> Subject: Re: Oop.iterateFields() should support CompressedKlassPointers again >> >> Hi Yunda, >> >> Thanks for fixing this. I actually have the exact same fix for this problem, along with fixes for some other problems in SA in my local workspace, but haven't come around to sending it out for public review yet. >> >> I think this is just a missed change in JDK-7054512. I have created a JIRA issue for you: JDK-8008796: SA: Oop.iterateFields() should support CompressedKlassPointers again. I'll prepare a webrev and send it out for official review later. >> >> Thanks, >> Kris >> >> >> On 2013/2/25 2:58, ??(Yunda) wrote: >> Hi all, >> >> When I used CLHSDB just now I met this error: >> hsdb> inspect 0x00000000ee255080 >> instance of "java/io/InputStream" @ 0x00000000ee255080 @ 0x00000000ee255080 (size = 24) >> Exception in thread "main" java.lang.InternalError: unimplemented >> at sun.jvm.hotspot.oops.Oop.iterateFields(Oop.java:151) >> at sun.jvm.hotspot.oops.Instance.iterateFields(Instance.java:66) >> at sun.jvm.hotspot.oops.Oop.iterate(Oop.java:143) >> at sun.jvm.hotspot.ui.tree.OopTreeNodeAdapter.getChildCount(OopTreeNodeAdapter.java:65) >> at sun.jvm.hotspot.CommandProcessor$Command.printNode(CommandProcessor.java:231) >> at sun.jvm.hotspot.CommandProcessor$24.doit(CommandProcessor.java:1008) >> at sun.jvm.hotspot.CommandProcessor.executeCommand(CommandProcessor.java:1897) >> at sun.jvm.hotspot.CommandProcessor.executeCommand(CommandProcessor.java:1867) >> at sun.jvm.hotspot.CommandProcessor.run(CommandProcessor.java:1747) >> at sun.jvm.hotspot.CLHSDB.run(CLHSDB.java:91) >> at sun.jvm.hotspot.CLHSDB.main(CLHSDB.java:35) >> >> I found it?s caused by the code of sun.jvm.hotspot.oops.Oop.iterateFields(): >> void iterateFields(OopVisitor visitor, boolean doVMFields) { >> if (doVMFields) { >> visitor.doCInt(mark, true); >> if (VM.getVM().isCompressedKlassPointersEnabled()) { >> throw new InternalError("unimplemented"); >> } else { >> visitor.doMetadata(klass, true); >> } >> } >> } >> >> When compressed oops( which is by default) are used an InternalError of ?unimplemented? will be throwed. But actually it can be implemented easily by just one line of code: >> visitor.doMetadata(compressedKlass, true); >> >> I checked the hotspot-rt repo and I found it was implemented this way before changeset 3601, the main implementation of NPG. Since 3601 changed a whole lot of stuff, the ?compressedKlass? field couldn?t get the right value, as in line 51: >> // compressedKlass = new CIntField(type.getCIntegerField("_metadata._compressed_klass"), 0); >> So the code in iterateFields() was changed to throwing an InternalError accordingly. >> >> But the ?compressedKlass? field can get the right value now. So I think it?s time to change the code back and here?s the diff against the latest hotspot-rt: >> diff -r 2f881161d085 agent/src/share/classes/sun/jvm/hotspot/oops/Oop.java >> --- a/agent/src/share/classes/sun/jvm/hotspot/oops/Oop.java Mon Feb 25 18:25:24 2013 +0800 >> +++ b/agent/src/share/classes/sun/jvm/hotspot/oops/Oop.java Mon Feb 25 18:47:08 2013 +0800 >> @@ -148,7 +148,7 @@ >> if (doVMFields) { >> visitor.doCInt(mark, true); >> if (VM.getVM().isCompressedKlassPointersEnabled()) { >> - throw new InternalError("unimplemented"); >> + visitor.doMetadata(compressedKlass, true); >> } else { >> visitor.doMetadata(klass, true); >> } >> >> >> Regards, >> Yunda >> >> >> >> This email (including any attachments) is confidential and may be legally privileged. If you received this email in error, please delete it immediately and do not copy it or use it for any purpose or disclose its contents to any other person. Thank you. >> >> ???(???? ??)???? ????????????????????????????????????????????????? ????????????????? >> >> >> >> This email (including any attachments) is confidential and may be legally privileged. If you received this email in error, please delete it immediately and do not copy it or use it for any purpose or disclose its contents to any other person. Thank you. >> >> ???(??????)????????????????????????????????????????????????????? ????????????????? > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130226/3a3afd65/attachment-0001.html From staffan.larsen at oracle.com Tue Feb 26 00:18:15 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Tue, 26 Feb 2013 09:18:15 +0100 Subject: RR(S): 8008807: SA: jstack crash when target has mismatched bitness (Linux) In-Reply-To: References: <512BAB94.8020202@oracle.com> Message-ID: <3D0C5588-E561-4051-A9C0-2FE94CCF05A1@oracle.com> Looks good (not a Reviewer). /Staffan On 26 feb 2013, at 07:38, Rickard B?ckman wrote: > Kevin, > > looks good to me. (Not a Reviewer). > > /R > > On Feb 25, 2013, at 7:21 PM, Kevin Walls wrote: > >> >> Hi, >> >> This is a crash I stumbled upon: jstack -m will crash when it doesn't match the bitness of its target. On Solaris we check and give an exception message, Linux should do similarly. >> >> http://cr.openjdk.java.net/~kevinw/8008807/webrev.00/ >> >> Here I've gone with checking and denying the attach attempt as early as possible. >> >> Thanks >> Kevin >> > From kevin.walls at oracle.com Tue Feb 26 01:16:12 2013 From: kevin.walls at oracle.com (Kevin Walls) Date: Tue, 26 Feb 2013 09:16:12 +0000 Subject: RFR (S) 7178741: SA: jstack -m produce UnalignedAddressException in output (Linux) In-Reply-To: <51264670.30305@oracle.com> References: <51263C6A.5090208@oracle.com> <51264670.30305@oracle.com> Message-ID: <512C7D5C.3080809@oracle.com> Thanks Staffan, thanks Poonam, ... On 21/02/13 16:08, Poonam Bajaj wrote: > Hi Kevin, > > The changes look good. > > Thanks, > Poonam > > On 2/21/2013 8:55 PM, Kevin Walls wrote: >> Hi, >> >> I'd like to get reviews on this small SA fix: >> >> http://cr.openjdk.java.net/~kevinw/7178741/webrev_8.00/ >> >> jstack -m follows native frames, and gets confused if it can't follow >> from frame pointer to saved frame pointer. Additional sanity checks >> on the register values avoid lengthy exception messages in the middle >> of jstack -m output. >> >> This kind of check has been in JDK6 for a while, so we want to get >> latest hs25 providing the same readable output. >> >> There's another bug 6313816 for the same problem on Windows, but the >> change isn't the same there so I'm leaving the bugs separate. >> >> Thanks >> Kevin >> From kevin.walls at oracle.com Tue Feb 26 01:36:42 2013 From: kevin.walls at oracle.com (Kevin Walls) Date: Tue, 26 Feb 2013 09:36:42 +0000 Subject: RR(S): 8008807: SA: jstack crash when target has mismatched bitness (Linux) In-Reply-To: References: <512BAB94.8020202@oracle.com> Message-ID: <512C822A.1020503@oracle.com> Hej Rickard, thanks. Staffan, thanks also! On 26/02/13 06:38, Rickard B?ckman wrote: > Kevin, > > looks good to me. (Not a Reviewer). > > /R > > On Feb 25, 2013, at 7:21 PM, Kevin Walls wrote: > >> Hi, >> >> This is a crash I stumbled upon: jstack -m will crash when it doesn't match the bitness of its target. On Solaris we check and give an exception message, Linux should do similarly. >> >> http://cr.openjdk.java.net/~kevinw/8008807/webrev.00/ >> >> Here I've gone with checking and denying the attach attempt as early as possible. >> >> Thanks >> Kevin >> From poonam.bajaj at oracle.com Tue Feb 26 01:39:59 2013 From: poonam.bajaj at oracle.com (Poonam Bajaj) Date: Tue, 26 Feb 2013 15:09:59 +0530 Subject: RR(S): 8008807: SA: jstack crash when target has mismatched bitness (Linux) In-Reply-To: <512BAB94.8020202@oracle.com> References: <512BAB94.8020202@oracle.com> Message-ID: <512C82EF.4000805@oracle.com> Hi Kevin, The fix looks good. Thanks, Poonam On 2/25/2013 11:51 PM, Kevin Walls wrote: > > Hi, > > This is a crash I stumbled upon: jstack -m will crash when it doesn't > match the bitness of its target. On Solaris we check and give an > exception message, Linux should do similarly. > > http://cr.openjdk.java.net/~kevinw/8008807/webrev.00/ > > Here I've gone with checking and denying the attach attempt as early > as possible. > > Thanks > Kevin > From chris.hegarty at oracle.com Tue Feb 26 03:20:13 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Tue, 26 Feb 2013 11:20:13 +0000 Subject: hg: jdk8/tl/jdk: 3 new changesets Message-ID: <20130226112307.08DE647412@hg.openjdk.java.net> Changeset: bc92e4b044e2 Author: kmo Date: 2013-02-26 11:05 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/bc92e4b044e2 7087570: java.lang.invoke.MemberName information wrong for method handles created with findConstructor Summary: REF_invokeSpecial DMHs (which are unusual) get marked explicitly; tweak the MHI to use this bit Reviewed-by: jrose, twisti ! src/share/classes/java/lang/invoke/DirectMethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/share/classes/java/lang/invoke/MethodHandleInfo.java ! src/share/classes/java/lang/invoke/MethodHandles.java + test/java/lang/invoke/7087570/Test7087570.java Changeset: 5fcecbcefb71 Author: chegar Date: 2013-02-26 11:06 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5fcecbcefb71 Merge Changeset: 77447981db73 Author: chegar Date: 2013-02-26 11:18 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/77447981db73 Merge From vicente.romero at oracle.com Tue Feb 26 04:39:22 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Tue, 26 Feb 2013 12:39:22 +0000 Subject: hg: jdk8/tl/langtools: 8008436: javac should not issue a warning for overriding equals without hasCode if hashCode has been overriden by a superclass Message-ID: <20130226123930.27B6247414@hg.openjdk.java.net> Changeset: bd49e0304281 Author: vromero Date: 2013-02-26 09:04 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/bd49e0304281 8008436: javac should not issue a warning for overriding equals without hasCode if hashCode has been overriden by a superclass Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/javac/code/Symbol.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/resources/compiler.properties ! test/tools/javac/6563143/OverridesEqualsButNotHashCodeTest.java ! test/tools/javac/6563143/OverridesEqualsButNotHashCodeTest.out From alan.bateman at oracle.com Tue Feb 26 06:11:27 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Tue, 26 Feb 2013 14:11:27 +0000 Subject: hg: jdk8/tl: 8008978: nashorn-rules.gmk missing Message-ID: <20130226141127.EAE4947417@hg.openjdk.java.net> Changeset: e065107437b9 Author: alanb Date: 2013-02-26 14:08 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/rev/e065107437b9 8008978: nashorn-rules.gmk missing Reviewed-by: alanb Contributed-by: erik.joelsson at oracle.com, james.laskey at oracle.com + make/nashorn-rules.gmk From alan.bateman at oracle.com Tue Feb 26 06:19:11 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Tue, 26 Feb 2013 14:19:11 +0000 Subject: hg: jdk8/tl/jdk: 8008977: profiles build broken by Nashorn build changes Message-ID: <20130226141937.1898847419@hg.openjdk.java.net> Changeset: 022cd5adc0fa Author: alanb Date: 2013-02-26 14:16 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/022cd5adc0fa 8008977: profiles build broken by Nashorn build changes Reviewed-by: chegar ! makefiles/profile-rtjar-includes.txt From jesper.wilhelmsson at oracle.com Tue Feb 26 07:54:04 2013 From: jesper.wilhelmsson at oracle.com (Jesper Wilhelmsson) Date: Tue, 26 Feb 2013 16:54:04 +0100 Subject: RFR: JDK-8008790 - Promotion failed tracing event for all GCs In-Reply-To: <512B5EB7.4050107@oracle.com> References: <512B5EB7.4050107@oracle.com> Message-ID: <512CDA9C.3050607@oracle.com> Hi, After some internal feedback a new version of the webrev is available at: http://cr.openjdk.java.net/~jwilhelm/8008790/webrev.hsx24.2/ The biggest change is that the promotion failed event now is sent once per thread instead of merging the info into one event. Thanks, /Jesper On 25/2/13 1:53 PM, Jesper Wilhelmsson wrote: > Hi, > > I'm looking for a couple of reviews for the promotion failed tracing event, now > implemented for ParNew and Serial GC. > > I have replaced the existing counters and booleans with a PromotionFailedInfo > object and uses that throughout, so now promotion failed reporting (through the > tracing framework) looks the same and reports the same data for all young > collectors. > > I have added two new fields to the promotion failed event: firstSize as reported > by ParNew logging, and smallestSize which is the smallest object size that > failed to promote. > > Webrew: http://cr.openjdk.java.net/~jwilhelm/8008790 > > Testing: Passes JPRT and the existing promotion failed tests with all collectors. > > Thanks, > /Jesper From tim.bell at oracle.com Tue Feb 26 09:29:55 2013 From: tim.bell at oracle.com (tim.bell at oracle.com) Date: Tue, 26 Feb 2013 17:29:55 +0000 Subject: hg: jdk8/tl: 8009019: Updates to generated-configure.sh required for 8008914 Message-ID: <20130226172955.1AECA47420@hg.openjdk.java.net> Changeset: cb0ac8979caa Author: tbell Date: 2013-02-26 09:25 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/cb0ac8979caa 8009019: Updates to generated-configure.sh required for 8008914 Reviewed-by: sundar, jlaskey, jjg ! common/autoconf/generated-configure.sh From sundararajan.athijegannathan at oracle.com Tue Feb 26 10:39:55 2013 From: sundararajan.athijegannathan at oracle.com (sundararajan.athijegannathan at oracle.com) Date: Tue, 26 Feb 2013 18:39:55 +0000 Subject: hg: jdk8/tl/nashorn: 2 new changesets Message-ID: <20130226183956.6A44F47424@hg.openjdk.java.net> Changeset: 1654918e0612 Author: attila Date: 2013-02-25 16:51 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/1654918e0612 8006984: Introducing local into a function inside with statement confuses its scope Reviewed-by: jlaskey, lagergren, sundar ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/WithObject.java + test/script/basic/JDK-8006984.js + test/script/basic/JDK-8006984.js.EXPECTED Changeset: a90094ae5be3 Author: sundar Date: 2013-02-26 22:57 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/a90094ae5be3 8009021: nasgen should be run on boot jdk rather than currenly built jdk Reviewed-by: jlaskey ! makefiles/BuildNashorn.gmk From robert.field at oracle.com Tue Feb 26 10:44:48 2013 From: robert.field at oracle.com (robert.field at oracle.com) Date: Tue, 26 Feb 2013 18:44:48 +0000 Subject: hg: jdk8/tl/jdk: 8008770: SerializedLambda incorrect class loader for lambda deserializing class Message-ID: <20130226184510.A901D47425@hg.openjdk.java.net> Changeset: 5ebc62421717 Author: rfield Date: 2013-02-26 10:38 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5ebc62421717 8008770: SerializedLambda incorrect class loader for lambda deserializing class Summary: current thread's context ClassLoader was used to load class by name, pass class not name in serialization (Thank you Peter Levart for test and prototype. Thank you Sundar and Peter for unofficial reviews) Reviewed-by: forax ! src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java ! src/share/classes/java/lang/invoke/SerializedLambda.java + test/java/lang/invoke/lambda/LambdaClassLoaderSerialization.java ! test/java/lang/invoke/lambda/LambdaSerialization.java From rickard.backman at oracle.com Tue Feb 26 12:03:16 2013 From: rickard.backman at oracle.com (rickard.backman at oracle.com) Date: Tue, 26 Feb 2013 20:03:16 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8008340: [sampling] assert(upper->pc_offset() >= pc_offset) failed: sanity Message-ID: <20130226200324.A70FB47433@hg.openjdk.java.net> Changeset: ec2eddfed950 Author: rbackman Date: 2013-02-26 14:09 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/ec2eddfed950 8008340: [sampling] assert(upper->pc_offset() >= pc_offset) failed: sanity Reviewed-by: kvn, sla ! src/cpu/sparc/vm/frame_sparc.cpp ! src/cpu/x86/vm/frame_x86.cpp From alan.bateman at oracle.com Tue Feb 26 14:41:57 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Tue, 26 Feb 2013 22:41:57 +0000 Subject: hg: jdk8/tl/jdk: 8009029: SunEC provider classes ending up in rt.jar after Nashorn build changes Message-ID: <20130226224220.A988947445@hg.openjdk.java.net> Changeset: ecd33c6ab12f Author: alanb Date: 2013-02-26 22:39 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ecd33c6ab12f 8009029: SunEC provider classes ending up in rt.jar after Nashorn build changes Reviewed-by: mduigou ! makefiles/CreateJars.gmk From daniel.daugherty at oracle.com Tue Feb 26 15:54:39 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Tue, 26 Feb 2013 16:54:39 -0700 Subject: code review request for deadlock detection fix (8007476) Message-ID: <512D4B3F.5070000@oracle.com> Greetings, I have a fix to make deadlock detection a little more robust in the case of being unable to find the JavaThread associated with an object lock: 8007476 assert(the_owner != NULL) failed: Did not find owning Java thread for lock word address http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007476 https://jbs.oracle.com/bugs/browse/JDK-8007476 Yes, I know that's not supposed to happen, but if and when it does happen, it would be good to be able to diagnose the VM to try and figure out what the heck happened. Here is the webrev URL: http://cr.openjdk.java.net/~dcubed/8007476-webrev/0-hsx25/ There is some sample output in the bug report that shows both regular deadlock detection output and the proposed modified deadlock detection output. Thanks, in advance, for any comments, suggestions or questions. Dan P.S. Yes, I've included a bit of tweaking to JVM/TI code to deal with invalid assertion failures that are discussed in the following bug: 6786879 Race in jvmti GetObjectMonitorUsage could lead to crashes http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6786879 https://jbs.oracle.com/bugs/browse/JDK-6786879 However, I haven't tried to address all the races that are discussed in that bug including the race in the call to JvmtiEnv::is_thread_fully_suspended() where the underlying call to JavaThread::wait_for_ext_suspend_completion() can crash on lock exit. Yikes, that one is nasty. From joe.darcy at oracle.com Tue Feb 26 17:01:23 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Wed, 27 Feb 2013 01:01:23 +0000 Subject: hg: jdk8/tl/jdk: 8009102: Several docs warnings in Project Lambda APIs Message-ID: <20130227010146.5DE3047448@hg.openjdk.java.net> Changeset: 543be9488e50 Author: darcy Date: 2013-02-26 17:01 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/543be9488e50 8009102: Several docs warnings in Project Lambda APIs Reviewed-by: mduigou ! src/share/classes/java/lang/invoke/LambdaMetafactory.java ! src/share/classes/java/util/function/BinaryOperator.java ! src/share/classes/java/util/function/ToDoubleBiFunction.java From joe.darcy at oracle.com Tue Feb 26 17:38:42 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Wed, 27 Feb 2013 01:38:42 +0000 Subject: hg: jdk8/tl/jdk: 8008279: Remove InvalidContainerAnnotationError.java Message-ID: <20130227013902.8F1684744B@hg.openjdk.java.net> Changeset: d623f520557b Author: darcy Date: 2013-02-26 17:38 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/d623f520557b 8008279: Remove InvalidContainerAnnotationError.java Reviewed-by: jfranck - src/share/classes/java/lang/annotation/InvalidContainerAnnotationError.java ! src/share/classes/java/lang/reflect/AnnotatedElement.java ! src/share/classes/sun/reflect/annotation/AnnotationSupport.java From staffan.larsen at oracle.com Wed Feb 27 01:30:20 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Wed, 27 Feb 2013 10:30:20 +0100 Subject: code review request for deadlock detection fix (8007476) In-Reply-To: <512D4B3F.5070000@oracle.com> References: <512D4B3F.5070000@oracle.com> Message-ID: <54379750-9266-41E0-A3EC-ABB565B3AE21@oracle.com> Looks good! Thanks, /Staffan On 27 feb 2013, at 00:54, Daniel D. Daugherty wrote: > Greetings, > > I have a fix to make deadlock detection a little more robust in the case > of being unable to find the JavaThread associated with an object lock: > > 8007476 assert(the_owner != NULL) failed: Did not find owning Java > thread for lock word address > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007476 > https://jbs.oracle.com/bugs/browse/JDK-8007476 > > Yes, I know that's not supposed to happen, but if and when it does happen, > it would be good to be able to diagnose the VM to try and figure out what > the heck happened. > > Here is the webrev URL: > > http://cr.openjdk.java.net/~dcubed/8007476-webrev/0-hsx25/ > > There is some sample output in the bug report that shows both regular > deadlock detection output and the proposed modified deadlock detection > output. > > Thanks, in advance, for any comments, suggestions or questions. > > Dan > > P.S. > Yes, I've included a bit of tweaking to JVM/TI code to deal with > invalid assertion failures that are discussed in the following bug: > > 6786879 Race in jvmti GetObjectMonitorUsage could lead to crashes > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6786879 > https://jbs.oracle.com/bugs/browse/JDK-6786879 > > However, I haven't tried to address all the races that are discussed > in that bug including the race in the call to > JvmtiEnv::is_thread_fully_suspended() where the underlying call to > JavaThread::wait_for_ext_suspend_completion() can crash on lock exit. > Yikes, that one is nasty. From stefan.karlsson at oracle.com Wed Feb 27 01:55:47 2013 From: stefan.karlsson at oracle.com (stefan.karlsson at oracle.com) Date: Wed, 27 Feb 2013 09:55:47 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8008549: NPG: SystemDictionary::find(...) unnecessarily keeps class loaders alive Message-ID: <20130227095549.A9D8B4745C@hg.openjdk.java.net> Changeset: 1f9994892f89 Author: stefank Date: 2013-02-21 17:22 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/1f9994892f89 8008549: NPG: SystemDictionary::find(...) unnecessarily keeps class loaders alive Summary: SystemDictionary::find(...) should not create and register ClassLoaderData objects for class loaders. Reviewed-by: coleenp, acorn Contributed-by: Stefan Karlsson , Erik Helin ! src/share/vm/classfile/classLoaderData.hpp ! src/share/vm/classfile/classLoaderData.inline.hpp ! src/share/vm/classfile/dictionary.cpp ! src/share/vm/classfile/systemDictionary.cpp From sundararajan.athijegannathan at oracle.com Wed Feb 27 03:55:34 2013 From: sundararajan.athijegannathan at oracle.com (sundararajan.athijegannathan at oracle.com) Date: Wed, 27 Feb 2013 11:55:34 +0000 Subject: hg: jdk8/tl/jdk: 8009115: jtreg tests under jdk/test/javax/script should use nashorn as script engine Message-ID: <20130227115602.B096C4745F@hg.openjdk.java.net> Changeset: f5416026cdf5 Author: sundar Date: 2013-02-27 17:22 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f5416026cdf5 8009115: jtreg tests under jdk/test/javax/script should use nashorn as script engine Reviewed-by: alanb ! test/javax/script/CauseExceptionTest.java + test/javax/script/ExceptionTest.java ! test/javax/script/GetInterfaceTest.java ! test/javax/script/Helper.java - test/javax/script/RhinoExceptionTest.java ! test/javax/script/StringWriterPrintTest.java ! test/javax/script/Test3.js ! test/javax/script/Test5.java ! test/javax/script/Test5.js ! test/javax/script/Test6.java ! test/javax/script/Test7.js ! test/javax/script/UnescapedBracketRegExTest.java ! test/javax/script/VersionTest.java From alan.bateman at oracle.com Wed Feb 27 06:15:17 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Wed, 27 Feb 2013 14:15:17 +0000 Subject: hg: jdk8/tl/nashorn: 8008950: jdk8/tl failing with SetupJavaCompilation BUILD_NASGEN contains missing directory -c on Windows Message-ID: <20130227141518.B525F47463@hg.openjdk.java.net> Changeset: 1d3dca059b3e Author: alanb Date: 2013-02-27 14:12 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/1d3dca059b3e 8008950: jdk8/tl failing with SetupJavaCompilation BUILD_NASGEN contains missing directory -c on Windows Reviewed-by: chegar, sundar ! makefiles/BuildNashorn.gmk From daniel.daugherty at oracle.com Wed Feb 27 06:18:33 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 27 Feb 2013 07:18:33 -0700 Subject: code review request for deadlock detection fix (8007476) In-Reply-To: <54379750-9266-41E0-A3EC-ABB565B3AE21@oracle.com> References: <512D4B3F.5070000@oracle.com> <54379750-9266-41E0-A3EC-ABB565B3AE21@oracle.com> Message-ID: <512E15B9.2050409@oracle.com> Staffan, Thanks for the review! Runtime team, I need a review from someone... Dan On 2/27/13 2:30 AM, Staffan Larsen wrote: > Looks good! > > Thanks, > /Staffan > > On 27 feb 2013, at 00:54, Daniel D. Daugherty wrote: > >> Greetings, >> >> I have a fix to make deadlock detection a little more robust in the case >> of being unable to find the JavaThread associated with an object lock: >> >> 8007476 assert(the_owner != NULL) failed: Did not find owning Java >> thread for lock word address >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007476 >> https://jbs.oracle.com/bugs/browse/JDK-8007476 >> >> Yes, I know that's not supposed to happen, but if and when it does happen, >> it would be good to be able to diagnose the VM to try and figure out what >> the heck happened. >> >> Here is the webrev URL: >> >> http://cr.openjdk.java.net/~dcubed/8007476-webrev/0-hsx25/ >> >> There is some sample output in the bug report that shows both regular >> deadlock detection output and the proposed modified deadlock detection >> output. >> >> Thanks, in advance, for any comments, suggestions or questions. >> >> Dan >> >> P.S. >> Yes, I've included a bit of tweaking to JVM/TI code to deal with >> invalid assertion failures that are discussed in the following bug: >> >> 6786879 Race in jvmti GetObjectMonitorUsage could lead to crashes >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6786879 >> https://jbs.oracle.com/bugs/browse/JDK-6786879 >> >> However, I haven't tried to address all the races that are discussed >> in that bug including the race in the call to >> JvmtiEnv::is_thread_fully_suspended() where the underlying call to >> JavaThread::wait_for_ext_suspend_completion() can crash on lock exit. >> Yikes, that one is nasty. From alan.bateman at oracle.com Wed Feb 27 06:28:50 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Wed, 27 Feb 2013 14:28:50 +0000 Subject: hg: jdk8/tl/jdk: 8008793: SecurityManager.checkXXX behavior not specified for methods that check AWTPermission and AWT not present Message-ID: <20130227142911.1D25047465@hg.openjdk.java.net> Changeset: 13013dedcdfd Author: alanb Date: 2013-02-27 14:24 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/13013dedcdfd 8008793: SecurityManager.checkXXX behavior not specified for methods that check AWTPermission and AWT not present Reviewed-by: hawtin, mullan, dsamersoff, mchung ! src/share/classes/java/lang/SecurityManager.java ! src/share/classes/sun/security/util/SecurityConstants.java ! test/java/lang/SecurityManager/NoAWT.java From karen.kinnear at oracle.com Wed Feb 27 06:52:06 2013 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Wed, 27 Feb 2013 09:52:06 -0500 Subject: code review request for deadlock detection fix (8007476) In-Reply-To: <512D4B3F.5070000@oracle.com> References: <512D4B3F.5070000@oracle.com> Message-ID: Code looks good. I did not study the details (again) for the monitor owner, but my memory is that there are other cases in which the monitor owner can be temporarily null, so this is will help there also. thanks, Karen On Feb 26, 2013, at 6:54 PM, Daniel D. Daugherty wrote: > Greetings, > > I have a fix to make deadlock detection a little more robust in the case > of being unable to find the JavaThread associated with an object lock: > > 8007476 assert(the_owner != NULL) failed: Did not find owning Java > thread for lock word address > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007476 > https://jbs.oracle.com/bugs/browse/JDK-8007476 > > Yes, I know that's not supposed to happen, but if and when it does happen, > it would be good to be able to diagnose the VM to try and figure out what > the heck happened. > > Here is the webrev URL: > > http://cr.openjdk.java.net/~dcubed/8007476-webrev/0-hsx25/ > > There is some sample output in the bug report that shows both regular > deadlock detection output and the proposed modified deadlock detection > output. > > Thanks, in advance, for any comments, suggestions or questions. > > Dan > > P.S. > Yes, I've included a bit of tweaking to JVM/TI code to deal with > invalid assertion failures that are discussed in the following bug: > > 6786879 Race in jvmti GetObjectMonitorUsage could lead to crashes > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6786879 > https://jbs.oracle.com/bugs/browse/JDK-6786879 > > However, I haven't tried to address all the races that are discussed > in that bug including the race in the call to > JvmtiEnv::is_thread_fully_suspended() where the underlying call to > JavaThread::wait_for_ext_suspend_completion() can crash on lock exit. > Yikes, that one is nasty. From staffan.larsen at oracle.com Wed Feb 27 06:59:28 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Wed, 27 Feb 2013 15:59:28 +0100 Subject: RFR(S): 8006637 Failure to filter out native frame events on Solaris Message-ID: Please review the following test fix. webrev: http://cr.openjdk.java.net/~sla/8006637/webrev.00/ bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8006637 The problem is that the test assumes that no other threads call String.intern() while the tests is running. This is normally ok, but when running with JFR there are other threads calling String.intern() in the background and the test fails. The solution is to add a thread filter to the method exit requests so that only calls to String.inter() in the main thread are reported. Thanks, /Staffan From daniel.daugherty at oracle.com Wed Feb 27 06:59:42 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 27 Feb 2013 07:59:42 -0700 Subject: code review request for deadlock detection fix (8007476) In-Reply-To: References: <512D4B3F.5070000@oracle.com> Message-ID: <512E1F5E.5090009@oracle.com> Thanks for the review! Dam On 2/27/13 7:52 AM, Karen Kinnear wrote: > Code looks good. I did not study the details (again) for the monitor owner, but > my memory is that there are other cases in which the monitor owner can be > temporarily null, so this is will help there also. > > thanks, > Karen > > On Feb 26, 2013, at 6:54 PM, Daniel D. Daugherty wrote: > >> Greetings, >> >> I have a fix to make deadlock detection a little more robust in the case >> of being unable to find the JavaThread associated with an object lock: >> >> 8007476 assert(the_owner != NULL) failed: Did not find owning Java >> thread for lock word address >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007476 >> https://jbs.oracle.com/bugs/browse/JDK-8007476 >> >> Yes, I know that's not supposed to happen, but if and when it does happen, >> it would be good to be able to diagnose the VM to try and figure out what >> the heck happened. >> >> Here is the webrev URL: >> >> http://cr.openjdk.java.net/~dcubed/8007476-webrev/0-hsx25/ >> >> There is some sample output in the bug report that shows both regular >> deadlock detection output and the proposed modified deadlock detection >> output. >> >> Thanks, in advance, for any comments, suggestions or questions. >> >> Dan >> >> P.S. >> Yes, I've included a bit of tweaking to JVM/TI code to deal with >> invalid assertion failures that are discussed in the following bug: >> >> 6786879 Race in jvmti GetObjectMonitorUsage could lead to crashes >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6786879 >> https://jbs.oracle.com/bugs/browse/JDK-6786879 >> >> However, I haven't tried to address all the races that are discussed >> in that bug including the race in the call to >> JvmtiEnv::is_thread_fully_suspended() where the underlying call to >> JavaThread::wait_for_ext_suspend_completion() can crash on lock exit. >> Yikes, that one is nasty. From sundararajan.athijegannathan at oracle.com Wed Feb 27 07:05:21 2013 From: sundararajan.athijegannathan at oracle.com (sundararajan.athijegannathan at oracle.com) Date: Wed, 27 Feb 2013 15:05:21 +0000 Subject: hg: jdk8/tl/jdk: 8009140: jtreg tests under sun/tools/jrunscript should use nashorn engine Message-ID: <20130227150543.C4F8B47469@hg.openjdk.java.net> Changeset: 1b3173c326e6 Author: sundar Date: 2013-02-27 20:34 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1b3173c326e6 8009140: jtreg tests under sun/tools/jrunscript should use nashorn engine Reviewed-by: alanb ! test/sun/tools/jrunscript/CheckEngine.java ! test/sun/tools/jrunscript/jrunscript-DTest.sh ! test/sun/tools/jrunscript/jrunscript-argsTest.sh ! test/sun/tools/jrunscript/jrunscript-cpTest.sh ! test/sun/tools/jrunscript/jrunscript-eTest.sh ! test/sun/tools/jrunscript/jrunscript-fTest.sh ! test/sun/tools/jrunscript/jrunscriptTest.sh ! test/sun/tools/jrunscript/repl.out From vladimir.danushevsky at oracle.com Wed Feb 27 08:23:11 2013 From: vladimir.danushevsky at oracle.com (vladimir.danushevsky at oracle.com) Date: Wed, 27 Feb 2013 16:23:11 +0000 Subject: hg: jdk8/tl/jdk: 8005545: Add System property to identify ARCH specific details such as ARM hard-float binaries Message-ID: <20130227162334.B24894746D@hg.openjdk.java.net> Changeset: 093fdf8937bd Author: vladidan Date: 2013-02-22 17:12 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/093fdf8937bd 8005545: Add System property to identify ARCH specific details such as ARM hard-float binaries Summary: Adding sun.os.abi Java Property support Reviewed-by: bobv, alanb, dholmes ! makefiles/Images.gmk ! src/share/native/java/lang/System.c ! src/share/native/java/lang/java_props.h ! src/solaris/native/java/lang/java_props_md.c From david.holmes at oracle.com Wed Feb 27 08:30:16 2013 From: david.holmes at oracle.com (david.holmes at oracle.com) Date: Wed, 27 Feb 2013 16:30:16 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 2 new changesets Message-ID: <20130227163022.9E8E14746E@hg.openjdk.java.net> Changeset: 3c9db54c2660 Author: mikael Date: 2013-02-26 08:54 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/3c9db54c2660 8008081: Print outs do not have matching arguments Summary: Corrected formatted prints to have matching arguments, removed dead print_frame_layout function Reviewed-by: sla, dholmes ! src/share/vm/c1/c1_FrameMap.cpp ! src/share/vm/c1/c1_FrameMap.hpp ! src/share/vm/gc_implementation/parNew/parCardTableModRefBS.cpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableRS.cpp ! src/share/vm/prims/jvmtiEnter.xsl ! src/share/vm/services/memReporter.cpp ! src/share/vm/utilities/numberSeq.cpp Changeset: 05f2fc6b4ea7 Author: dholmes Date: 2013-02-27 04:58 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/05f2fc6b4ea7 Merge From mike.duigou at oracle.com Wed Feb 27 11:00:45 2013 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Wed, 27 Feb 2013 19:00:45 +0000 Subject: hg: jdk8/tl/jdk: 8008785: IdentityHashMap.values().toArray(V[]) broken by JDK-8008167 Message-ID: <20130227190108.3E2634747B@hg.openjdk.java.net> Changeset: f4b01f4e8f35 Author: mduigou Date: 2013-02-27 11:00 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f4b01f4e8f35 8008785: IdentityHashMap.values().toArray(V[]) broken by JDK-8008167 Reviewed-by: alanb ! src/share/classes/java/util/IdentityHashMap.java + test/java/util/Map/ToArray.java From kevin.walls at oracle.com Wed Feb 27 14:12:39 2013 From: kevin.walls at oracle.com (kevin.walls at oracle.com) Date: Wed, 27 Feb 2013 22:12:39 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 2 new changesets Message-ID: <20130227221246.7D68D47482@hg.openjdk.java.net> Changeset: 96bd4772ec62 Author: kevinw Date: 2013-02-27 14:02 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/96bd4772ec62 8008807: SA: jstack crash when target has mismatched bitness (Linux) Reviewed-by: rbackman, sla, poonam ! agent/src/os/linux/LinuxDebuggerLocal.c Changeset: 698b615a1cde Author: kevinw Date: 2013-02-27 16:40 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/698b615a1cde Merge From david.holmes at oracle.com Wed Feb 27 17:40:39 2013 From: david.holmes at oracle.com (David Holmes) Date: Thu, 28 Feb 2013 11:40:39 +1000 Subject: code review request for deadlock detection fix (8007476) In-Reply-To: References: <512D4B3F.5070000@oracle.com> Message-ID: <512EB597.8010103@oracle.com> Hi Dan, This looks fine to me. I'm a little nervous the removal of the asserts as we should detect when an owning thread disappears as it is a major problem. But if those asserts are only in the diagnostic paths then it is better to let the diagnostics complete as you have done. On 28/02/2013 12:52 AM, Karen Kinnear wrote: > Code looks good. I did not study the details (again) for the monitor owner, but > my memory is that there are other cases in which the monitor owner can be > temporarily null, so this is will help there also. Karen, it isn't that the monitor owner is temporarily null, but that the thread associated with an owned monitor can not be found. That should never happen. Whenever a monitor has an owner the "owner" information should lead to a live thread. David ----- > > thanks, > Karen > > On Feb 26, 2013, at 6:54 PM, Daniel D. Daugherty wrote: > >> Greetings, >> >> I have a fix to make deadlock detection a little more robust in the case >> of being unable to find the JavaThread associated with an object lock: >> >> 8007476 assert(the_owner != NULL) failed: Did not find owning Java >> thread for lock word address >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007476 >> https://jbs.oracle.com/bugs/browse/JDK-8007476 >> >> Yes, I know that's not supposed to happen, but if and when it does happen, >> it would be good to be able to diagnose the VM to try and figure out what >> the heck happened. >> >> Here is the webrev URL: >> >> http://cr.openjdk.java.net/~dcubed/8007476-webrev/0-hsx25/ >> >> There is some sample output in the bug report that shows both regular >> deadlock detection output and the proposed modified deadlock detection >> output. >> >> Thanks, in advance, for any comments, suggestions or questions. >> >> Dan >> >> P.S. >> Yes, I've included a bit of tweaking to JVM/TI code to deal with >> invalid assertion failures that are discussed in the following bug: >> >> 6786879 Race in jvmti GetObjectMonitorUsage could lead to crashes >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6786879 >> https://jbs.oracle.com/bugs/browse/JDK-6786879 >> >> However, I haven't tried to address all the races that are discussed >> in that bug including the race in the call to >> JvmtiEnv::is_thread_fully_suspended() where the underlying call to >> JavaThread::wait_for_ext_suspend_completion() can crash on lock exit. >> Yikes, that one is nasty. > From daniel.daugherty at oracle.com Wed Feb 27 19:09:47 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 27 Feb 2013 20:09:47 -0700 Subject: code review request for deadlock detection fix (8007476) In-Reply-To: <512EB597.8010103@oracle.com> References: <512D4B3F.5070000@oracle.com> <512EB597.8010103@oracle.com> Message-ID: <512ECA7B.8060901@oracle.com> David, Thanks for the review. I suspect that I'll have to resubmit the JPRT job due to a conflicting job in another queue and I'll update the reviewer list if I do so. Dan On 2/27/13 6:40 PM, David Holmes wrote: > Hi Dan, > > This looks fine to me. I'm a little nervous the removal of the asserts > as we should detect when an owning thread disappears as it is a major > problem. But if those asserts are only in the diagnostic paths then it > is better to let the diagnostics complete as you have done. > > On 28/02/2013 12:52 AM, Karen Kinnear wrote: >> Code looks good. I did not study the details (again) for the monitor >> owner, but >> my memory is that there are other cases in which the monitor owner >> can be >> temporarily null, so this is will help there also. > > Karen, it isn't that the monitor owner is temporarily null, but that > the thread associated with an owned monitor can not be found. That > should never happen. Whenever a monitor has an owner the "owner" > information should lead to a live thread. > > David > ----- > >> >> thanks, >> Karen >> >> On Feb 26, 2013, at 6:54 PM, Daniel D. Daugherty wrote: >> >>> Greetings, >>> >>> I have a fix to make deadlock detection a little more robust in the >>> case >>> of being unable to find the JavaThread associated with an object lock: >>> >>> 8007476 assert(the_owner != NULL) failed: Did not find owning Java >>> thread for lock word address >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007476 >>> https://jbs.oracle.com/bugs/browse/JDK-8007476 >>> >>> Yes, I know that's not supposed to happen, but if and when it does >>> happen, >>> it would be good to be able to diagnose the VM to try and figure out >>> what >>> the heck happened. >>> >>> Here is the webrev URL: >>> >>> http://cr.openjdk.java.net/~dcubed/8007476-webrev/0-hsx25/ >>> >>> There is some sample output in the bug report that shows both regular >>> deadlock detection output and the proposed modified deadlock detection >>> output. >>> >>> Thanks, in advance, for any comments, suggestions or questions. >>> >>> Dan >>> >>> P.S. >>> Yes, I've included a bit of tweaking to JVM/TI code to deal with >>> invalid assertion failures that are discussed in the following bug: >>> >>> 6786879 Race in jvmti GetObjectMonitorUsage could lead to crashes >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6786879 >>> https://jbs.oracle.com/bugs/browse/JDK-6786879 >>> >>> However, I haven't tried to address all the races that are discussed >>> in that bug including the race in the call to >>> JvmtiEnv::is_thread_fully_suspended() where the underlying call to >>> JavaThread::wait_for_ext_suspend_completion() can crash on lock exit. >>> Yikes, that one is nasty. >> From yunda.mly at taobao.com Wed Feb 27 19:59:37 2013 From: yunda.mly at taobao.com (=?utf-8?B?5LqR6L6+KFl1bmRhKQ==?=) Date: Thu, 28 Feb 2013 03:59:37 +0000 Subject: [PATCH] typeToVtbl of BasicTypeDataBase should not be static Message-ID: Hi all, I found that when I detached a java process and attached another java process, the ?universe? command of CLHSDB didn?t show the right information. But when I restarted CLHSDB and attached to the same process the problem disappeared: hsdb> attach 29211 Attaching to process 29211, please wait... hsdb> universe Heap Parameters: ParallelScavengeHeap [ PSYoungGen [ eden = [0x00000000ee200000,0x00000000ee289aa8,0x00000000eef70000] , from = [0x00000000ef1a0000,0x00000000ef1a0000,0x00000000ef3d0000] , to = [0x00000000eef70000,0x00000000eef70000,0x00000000ef1a0000] ] PSOldGen [ [0x00000000ca600000,0x00000000ca600000,0x00000000cc9c0000] ] ] hsdb> hsdb> detach hsdb> attach 29887 Attaching to process 29887, please wait... hsdb> universe Heap Parameters: unknown subtype of CollectedHeap @ 0x0000000000d56fb0 (0x00000000ca600000,0x0000000100000000) hsdb> quit [~]$ java -cp .:$JAVA_HOME/lib/sa-jdi.jar sun.jvm.hotspot.CLHSDB hsdb> attach 29887 Attaching to process 29887, please wait... hsdb> universe Heap Parameters: ParallelScavengeHeap [ PSYoungGen [ eden = [0x00000000ee200000,0x00000000ee289a68,0x00000000eef70000] , from = [0x00000000ef1a0000,0x00000000ef1a0000,0x00000000ef3d0000] , to = [0x00000000eef70000,0x00000000eef70000,0x00000000ef1a0000] ] PSOldGen [ [0x00000000ca600000,0x00000000ca600000,0x00000000cc9c0000] ] ] hsdb> I think it?s caused by the wrong definition of ?typeToVtbl? field of BasicTypeDataBase. Since typeToVtbl should be recreated every time SA attaches to a new process, it should not be static. So I made a small patch fo fix it: diff -r ec2eddfed950 agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicTypeDataBase.java --- a/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicTypeDataBase.java Tue Feb 26 14:09:52 2013 +0100 +++ b/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicTypeDataBase.java Thu Feb 28 11:57:55 2013 +0800 @@ -150,7 +150,7 @@ return VM.getVM().getOopSize(); } - static HashMap typeToVtbl = new HashMap(); + private HashMap typeToVtbl = new HashMap(); private Address vtblForType(Type type) { Address vtblAddr = (Address)typeToVtbl.get(type); After applying this patch, the problem I mentioned above disappeared. Regards, Yunda ________________________________ This email (including any attachments) is confidential and may be legally privileged. If you received this email in error, please delete it immediately and do not copy it or use it for any purpose or disclose its contents to any other person. Thank you. ???(??????)?????????????????????????????????????????????????????????????????????? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130228/3af34c12/attachment.html From chris.hegarty at oracle.com Thu Feb 28 04:40:37 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Thu, 28 Feb 2013 12:40:37 +0000 Subject: hg: jdk8/tl/jdk: 8006409: ThreadLocalRandom should dropping padding fields from its serialized form Message-ID: <20130228124055.A25F8474AC@hg.openjdk.java.net> Changeset: 7d272e524768 Author: chegar Date: 2013-02-28 12:39 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/7d272e524768 8006409: ThreadLocalRandom should dropping padding fields from its serialized form Reviewed-by: dl, martin, alanb, shade ! src/share/classes/java/util/concurrent/ThreadLocalRandom.java From kevin.walls at oracle.com Thu Feb 28 05:49:52 2013 From: kevin.walls at oracle.com (kevin.walls at oracle.com) Date: Thu, 28 Feb 2013 13:49:52 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 7178741: SA: jstack -m produce UnalignedAddressException in output (Linux) Message-ID: <20130228135000.3CF21474AF@hg.openjdk.java.net> Changeset: 651919d134f7 Author: kevinw Date: 2013-02-27 22:40 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/651919d134f7 7178741: SA: jstack -m produce UnalignedAddressException in output (Linux) Reviewed-by: poonam, sla ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/x86/LinuxX86CFrame.java From maurizio.cimadamore at oracle.com Thu Feb 28 06:08:40 2013 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 28 Feb 2013 14:08:40 +0000 Subject: hg: jdk8/tl/langtools: 3 new changesets Message-ID: <20130228140850.94A29474B0@hg.openjdk.java.net> Changeset: 133a0a0c2cbc Author: mcimadamore Date: 2013-02-28 14:00 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/133a0a0c2cbc 8008723: Graph Inference: bad graph calculation leads to assertion error Summary: Dependencies are not propagated correctly through merged nodes during inference graph initialization Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Infer.java + test/tools/javac/lambda/TargetType65.java Changeset: 332f23993353 Author: mcimadamore Date: 2013-02-28 14:05 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/332f23993353 8008813: Structural most specific fails when method reference is passed to overloaded method Summary: Bad logic for checking most specific method reference type Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Resolve.java + test/tools/javac/lambda/MostSpecific08.java Changeset: 08782b8b03ce Author: mcimadamore Date: 2013-02-28 14:05 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/08782b8b03ce 8008537: Missing method reference lookup error when unbound search finds a static method Summary: Static-ness check should be applied after member reference resolution Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/tools/javac/diags/examples/NonStaticCantBeRefFragment.java + test/tools/javac/diags/examples/StaticMethodInUnboundLookup.java ! test/tools/javac/lambda/MethodReference22.java ! test/tools/javac/lambda/MethodReference22.out ! test/tools/javac/lambda/MethodReference28.out ! test/tools/javac/lambda/MethodReference51.out ! test/tools/javac/lambda/TargetType60.java ! test/tools/javac/lambda/TargetType60.out From daniel.daugherty at oracle.com Thu Feb 28 08:26:14 2013 From: daniel.daugherty at oracle.com (daniel.daugherty at oracle.com) Date: Thu, 28 Feb 2013 16:26:14 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 2 new changesets Message-ID: <20130228162621.D4E12474B6@hg.openjdk.java.net> Changeset: 5ee250974db9 Author: dcubed Date: 2013-02-27 15:00 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/5ee250974db9 8007476: assert(the_owner != NULL) failed: Did not find owning Java thread for lock word address Summary: Make deadlock detection a little more robust in the case of being unable to find the JavaThread associated with an object lock. Reviewed-by: sla, acorn ! src/share/vm/prims/jvmtiEnvBase.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/services/threadService.cpp Changeset: a140cd925462 Author: dcubed Date: 2013-02-28 05:55 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/a140cd925462 Merge From john.coomes at oracle.com Thu Feb 28 21:01:23 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 01 Mar 2013 05:01:23 +0000 Subject: hg: hsx/hotspot-rt: Added tag jdk8-b79 for changeset 91d35211e744 Message-ID: <20130301050123.9CB1047501@hg.openjdk.java.net> Changeset: 85b5b4cc388c Author: katleman Date: 2013-02-28 10:41 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/85b5b4cc388c Added tag jdk8-b79 for changeset 91d35211e744 ! .hgtags From john.coomes at oracle.com Thu Feb 28 21:01:28 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 01 Mar 2013 05:01:28 +0000 Subject: hg: hsx/hotspot-rt/corba: Added tag jdk8-b79 for changeset e41fb1aa0329 Message-ID: <20130301050131.56D0D47502@hg.openjdk.java.net> Changeset: 5f3d4a6bdd02 Author: katleman Date: 2013-02-28 10:41 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/corba/rev/5f3d4a6bdd02 Added tag jdk8-b79 for changeset e41fb1aa0329 ! .hgtags From john.coomes at oracle.com Thu Feb 28 21:01:51 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 01 Mar 2013 05:01:51 +0000 Subject: hg: hsx/hotspot-rt/jaxws: Added tag jdk8-b79 for changeset 70d8658d2a30 Message-ID: <20130301050155.B779347504@hg.openjdk.java.net> Changeset: b0224010e2f0 Author: katleman Date: 2013-02-28 10:42 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxws/rev/b0224010e2f0 Added tag jdk8-b79 for changeset 70d8658d2a30 ! .hgtags From john.coomes at oracle.com Thu Feb 28 21:01:36 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 01 Mar 2013 05:01:36 +0000 Subject: hg: hsx/hotspot-rt/jaxp: Added tag jdk8-b79 for changeset 58fa065dd5d6 Message-ID: <20130301050146.0F18047503@hg.openjdk.java.net> Changeset: 4873a0499bc3 Author: katleman Date: 2013-02-28 10:42 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/4873a0499bc3 Added tag jdk8-b79 for changeset 58fa065dd5d6 ! .hgtags From john.coomes at oracle.com Thu Feb 28 21:02:11 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 01 Mar 2013 05:02:11 +0000 Subject: hg: hsx/hotspot-rt/jdk: 3 new changesets Message-ID: <20130301050356.C1E6A47505@hg.openjdk.java.net> Changeset: 5245b2f1c53d Author: ngthomas Date: 2013-02-21 17:55 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/5245b2f1c53d 8008691: Build failure (NEWBUILD=false) on Mac Reviewed-by: art, anthony ! make/sun/lwawt/FILES_export_macosx.gmk Changeset: c933505d75c2 Author: dcherepanov Date: 2013-02-26 12:54 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c933505d75c2 Merge Changeset: d967dd39a5ca Author: katleman Date: 2013-02-28 10:42 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/d967dd39a5ca Added tag jdk8-b79 for changeset c933505d75c2 ! .hgtags From john.coomes at oracle.com Thu Feb 28 21:05:16 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 01 Mar 2013 05:05:16 +0000 Subject: hg: hsx/hotspot-rt/langtools: Added tag jdk8-b79 for changeset 56dfafbb9e1a Message-ID: <20130301050527.A073B47506@hg.openjdk.java.net> Changeset: a8227c617684 Author: katleman Date: 2013-02-28 10:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/a8227c617684 Added tag jdk8-b79 for changeset 56dfafbb9e1a ! .hgtags From jason.uh at oracle.com Thu Feb 28 16:37:54 2013 From: jason.uh at oracle.com (jason.uh at oracle.com) Date: Fri, 01 Mar 2013 00:37:54 +0000 Subject: hg: jdk8/tl/jdk: 8006853: OCSP timeout set to wrong value if com.sun.security.ocsp.timeout < 0 Message-ID: <20130301003818.CFA9E474D9@hg.openjdk.java.net> Changeset: 7246a6e4dd5a Author: juh Date: 2013-02-28 16:36 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/7246a6e4dd5a 8006853: OCSP timeout set to wrong value if com.sun.security.ocsp.timeout < 0 Reviewed-by: mullan ! src/share/classes/sun/security/provider/certpath/OCSP.java