From vladimir.danushevsky at oracle.com Sun Dec 1 21:40:35 2013 From: vladimir.danushevsky at oracle.com (vladimir.danushevsky at oracle.com) Date: Mon, 02 Dec 2013 05:40:35 +0000 Subject: hg: hsx/hotspot-main/hotspot: 2 new changesets Message-ID: <20131202054040.3C03162969@hg.openjdk.java.net> Changeset: 77b028ba548c Author: jprovino Date: 2013-11-19 16:26 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/77b028ba548c 8028396: Minimal VM: undefined symbol: _ZN23JvmtiCurrentBreakpoints11metadata_doEPFvP8MetadataE Summary: Minimal VM doesn't run Reviewed-by: coleenp, dholmes ! src/share/vm/prims/jvmtiImpl.hpp Changeset: 3fbb71fdc6e5 Author: vladidan Date: 2013-12-01 22:35 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/3fbb71fdc6e5 Merge From goetz.lindenmaier at sap.com Mon Dec 2 00:33:16 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Mon, 2 Dec 2013 08:33:16 +0000 Subject: RFR(M): 8029101: PPC64 (part 211): ordering of Independent Reads of Independent Writes In-Reply-To: <52968167.4050906@oracle.com> References: <4295855A5C1DE049A61835A1887419CC2CE6883E@DEWDFEMB12A.global.corp.sap> <5293F087.2080700@oracle.com> <5293FE15.9050100@oracle.com> <4295855A5C1DE049A61835A1887419CC2CE6C4C5@DEWDFEMB12A.global.corp.sap> <52948FF1.5080300@oracle.com> <4295855A5C1DE049A61835A1887419CC2CE6C554@DEWDFEMB12A.global.corp.sap> <5295DD0B.3030604@oracle.com> <4295855A5C1DE049A61835A1887419CC2CE6CE61@DEWDFEMB12A.global.corp.sap> <52968167.4050906@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC2CE6D7CA@DEWDFEMB12A.global.corp.sap> Hi, ok, I understand the tests are wrong. It's good this issue is settled. Thanks Aleksey and Andreas for going into the details of the proof! About our change: David, the causality is the other way round. The change is about IRIW. 1. To pass IRIW, we must use sync instructions before loads. 2. If we do syncs before loads, we don't need to do them after stores. 3. If we don't do them after stores, we fail the volatile constructor tests. 4. So finally we added them again at the end of the constructor after stores to pass the volatile constructor tests. We originally passed the constructor tests because the ppc memory order instructions are not as find-granular as the operations in the IR. MemBarVolatile is specified as StoreLoad. The only instruction on PPC that does StoreLoad is sync. But sync also does StoreStore, therefore the MemBarVolatile after the store fixes the constructor tests. The proper representation of the fix in the IR would be adding a MemBarStoreStore. But now it's pointless anyways. > I'm not happy with the ifdef approach but I won't block it. I'd be happy to add a property OrderAccess::cpu_is_multiple_copy_atomic() or the like to guard the customization. I'd like that much better. Or also OrderAccess::needs_support_iriw_ordering() VM_Version::needs_support_iriw_ordering() Best regards, Goetz. -----Original Message----- From: David Holmes [mailto:david.holmes at oracle.com] Sent: Donnerstag, 28. November 2013 00:34 To: Lindenmaier, Goetz Cc: 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' Subject: Re: RFR(M): 8029101: PPC64 (part 211): ordering of Independent Reads of Independent Writes TL;DR version: Discussion on the c-i list has now confirmed that a constructor-barrier for volatiles is not required as part of the JMM specification. It *may* be required in an implementation that doesn't pre-zero memory to ensure you can't see uninitialized fields. So the tests for this are invalid and this part of the patch is not needed in general (ppc64 may need it due to other factors). Re: "multiple copy atomicity" - first thanks for correcting the term :) Second thanks for the reference to that paper! For reference: "The memory system (perhaps involving a hierarchy of buffers and a complex interconnect) does not guarantee that a write becomes visible to all other hardware threads at the same time point; these architectures are not multiple-copy atomic." This is the visibility issue that I referred to and affects both ARM and PPC. But of course it is normally handled by using suitable barriers after the stores that need to be visible. I think the crux of the current issue is what you wrote below: > The fixes for the constructor issue are only needed because we > remove the sync instruction from behind stores (parse3.cpp:320) > and place it before loads. I hadn't grasped this part. Obviously if you fail to do the sync after the store then you have to do something around the loads to get the same results! I still don't know what lead you to the conclusion that the only way to fix the IRIW issue was to put the fence before the load - maybe when I get the chance to read that paper in full it will be clearer. So ... the basic problem is that the current structure in the VM has hard-wired one choice of how to get the right semantics for volatile variables. You now want to customize that but not all the requisite hooks are present. It would be better if volatile_load and volatile_store were factored out so that they could be implemented as desired per-platform. Alternatively there could be pre- and post- hooks that could then be customized per platform. Otherwise you need platform-specific ifdef's to handle it as per your patch. I'm not happy with the ifdef approach but I won't block it. I think this is an area where a lot of clean up is needed in the VM. The barrier abstractions are a confused mess in my opinion. Thanks, David ----- On 28/11/2013 3:15 AM, Lindenmaier, Goetz wrote: > Hi, > > I updated the webrev to fix the issues mentioned by Vladimir: > http://cr.openjdk.java.net/~goetz/webrevs/8029101-0-raw/ > > I did not yet add the > OrderAccess::needs_support_iriw_ordering() > VM_Version::needs_support_iriw_ordering() > or > OrderAccess::cpu_is_multiple_copy_atomic() > to reduce #defined, as I got no further comment on that. > > > WRT to the validity of the tests and the interpretation of the JMM > I feel not in the position to contribute substantially. > > But we would like to pass the torture test suite as we consider > this a substantial task in implementing a PPC port. Also we think > both tests show behavior a programmer would expect. It's bad if > Java code runs fine on the more common x86 platform, and then > fails on ppc. This will always first be blamed on the VM. > > The fixes for the constructor issue are only needed because we > remove the sync instruction from behind stores (parse3.cpp:320) > and place it before loads. Then there is no sync between volatile store > and publishing the object. So we add it again in this one case > (volatile store in constructor). > > > @David >>> Sure. There also is no solution as you require for the taskqueue problem yet, >>> and that's being discussed now for almost a year. >> It may have started a year ago but work on it has hardly been continuous. > That's not true, we did a lot of investigation and testing on this issue. > And we came up with a solution we consider the best possible. If you > have objections, you should at least give the draft of a better solution, > we would volunteer to implement and test it. > Similarly, we invested time in fixing the concurrency torture issues. > > @David >> What is "multiple-read-atomicity"? I'm not familiar with the term and >> can't find any reference to it. > We learned about this reading "A Tutorial Introduction to the ARM and > POWER Relaxed Memory Models" by Luc Maranget, Susmit Sarkar and > Peter Sewell, which is cited in "Correct and Efficient Work-Stealing for > Weak Memory Models" by Nhat Minh L?, Antoniu Pop, Albert Cohen > and Francesco Zappa Nardelli (PPoPP `13) when analysing the taskqueue problem. > http://www.cl.cam.ac.uk/~pes20/ppc-supplemental/test7.pdf > > I was wrong in one thing, it's called multiple copy atomicity, I used 'read' > instead. Sorry for that. (I also fixed that in the method name above). > > Best regards and thanks for all your involvements, > Goetz. > > > > -----Original Message----- > From: David Holmes [mailto:david.holmes at oracle.com] > Sent: Mittwoch, 27. November 2013 12:53 > To: Lindenmaier, Goetz > Cc: 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' > Subject: Re: RFR(M): 8029101: PPC64 (part 211): ordering of Independent Reads of Independent Writes > > Hi Goetz, > > On 26/11/2013 10:51 PM, Lindenmaier, Goetz wrote: >> Hi David, >> >> -- Volatile in constuctor >>> AFAIK we have not seen those tests fail due to a >>> missing constructor barrier. >> We see them on PPC64. Our test machines have typically 8-32 processors >> and are Power 5-7. But see also Aleksey's mail. (Thanks Aleksey!) > > And see follow ups - the tests are invalid. > >> -- IRIW issue >>> I can not possibly answer to the necessary level of detail with a few >>> moments thought. >> Sure. There also is no solution as you require for the taskqueue problem yet, >> and that's being discussed now for almost a year. > > It may have started a year ago but work on it has hardly been continuous. > >>> You are implying there is a problem here that will >>> impact numerous platforms (unless you can tell me why ppc is so different?) >> No, only PPC does not have 'multiple-read-atomicity'. Therefore I contributed a >> solution with the #defines, and that's correct for all, but not nice, I admit. >> (I don't really know about ARM, though). >> So if I can write down a nicer solution testing for methods that are evaluated >> by the C-compiler I'm happy. >> >> The problem is not that IRIW is not handled by the JMM, the problem >> is that >> store >> sync >> does not assure multiple-read-atomicity, >> only >> sync >> load >> does so on PPC. And you require multiple-read-atomicity to >> pass that test. > > What is "multiple-read-atomicity"? I'm not familiar with the term and > can't find any reference to it. > > Thanks, > David > > The JMM is fine. And >> store >> MemBarVolatile >> is fine on x86, sparc etc. as there exist assembler instructions that >> do what is required. >> >> So if you are off soon, please let's come to a solution that >> might be improvable in the way it's implemented, but that >> allows us to implement a correct PPC64 port. >> >> Best regards, >> Goetz. >> >> >> >> >> >> >> >> -----Original Message----- >> From: David Holmes [mailto:david.holmes at oracle.com] >> Sent: Tuesday, November 26, 2013 1:11 PM >> To: Lindenmaier, Goetz >> Cc: 'Vladimir Kozlov'; 'Vitaly Davidovich'; 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' >> Subject: Re: RFR(M): 8029101: PPC64 (part 211): ordering of Independent Reads of Independent Writes >> >> Hi Goetz, >> >> On 26/11/2013 9:22 PM, Lindenmaier, Goetz wrote: >>> Hi everybody, >>> >>> thanks a lot for the detailed reviews! >>> I'll try to answer to all in one mail. >>> >>>> Volatile fields written in constructor aren't guaranteed by JMM to occur before the reference is assigned; >>> We don't think it's correct if we omit the barrier after initializing >>> a volatile field. Previously, we discussed this with Aleksey Shipilev >>> and Doug Lea, and they agreed. >>> Also, concurrency torture tests >>> LongVolatileTest >>> AtomicIntegerInitialValueTest >>> will fail. >>> (In addition, observing 0 instead of the inital value of a volatile field would be >>> very counter-intuitive for Java programmers, especially in AtomicInteger.) >> >> The affects of unsafe publication are always surprising - volatiles do >> not add anything special here. AFAIK there is nothing in the JMM that >> requires the constructor barrier - discussions with Doug and Aleksey >> notwithstanding. AFAIK we have not seen those tests fail due to a >> missing constructor barrier. >> >>>> proposed for PPC64 is to make volatile reads extremely heavyweight >>> Yes, it costs measurable performance. But else it is wrong. We don't >>> see a way to implement this cheaper. >>> >>>> - these algorithms should be expressed using the correct OrderAccess operations >>> Basically, I agree on this. But you also have to take into account >>> that due to the different memory ordering instructions on different platforms >>> just implementing something empty is not sufficient. >>> An example: >>> MemBarRelease // means LoadStore, StoreStore barrier >>> MemBarVolatile // means StoreLoad barrier >>> If these are consecutively in the code, sparc code looks like this: >>> MemBarRelease --> membar(Assembler::LoadStore | Assembler::StoreStore) >>> MemBarVolatile --> membar(Assembler::StoreLoad) >>> Just doing what is required. >>> On Power, we get suboptimal code, as there are no comparable, >>> fine grained operations: >>> MemBarRelease --> lwsync // Doing LoadStore, StoreStore, LoadLoad >>> MemBarVolatile --> sync // // Doing LoadStore, StoreStore, LoadLoad, StoreLoad >>> obviously, the lwsync is superfluous. Thus, as PPC operations are more (too) powerful, >>> I need an additional optimization that removes the lwsync. I can not implement >>> MemBarRelease empty, as it is also used independently. >>> >>> Back to the IRIW problem. I think here we have a comparable issue. >>> Doing the MemBarVolatile or the OrderAccess::fence() before the read >>> is inefficient on platforms that have multiple-read-atomicity. >>> >>> I would propose to guard the code by >>> VM_Version::cpu_is_multiple_read_atomic() or even better >>> OrderAccess::cpu_is_multiple_read_atomic() >>> Else, David, how would you propose to implement this platform independent? >>> (Maybe we can also use above method in taskqueue.hpp.) >> >> I can not possibly answer to the necessary level of detail with a few >> moments thought. You are implying there is a problem here that will >> impact numerous platforms (unless you can tell me why ppc is so >> different?) and I can not take that on face value at the moment. The >> only reason I can see IRIW not being handled by the JMM requirements for >> volatile accesses is if there are global visibility issues that are not >> addressed - but even then I would expect heavy barriers at the store >> would deal with that, not at the load. (This situation reminds me of the >> need for read-barriers on Alpha architecture due to the use of software >> cache-coherency rather than hardware cache-coherency - but we don't have >> that on ppc!) >> >> Sorry - There is no quick resolution here and in a couple of days I will >> be heading out on vacation for two weeks. >> >> David >> ----- >> >>> Best regards, >>> Goetz. >>> >>> -- Other ports: >>> The IRIW issue requires at least 3 processors to be relevant, so it might >>> not happen on small machines. But I can use PPC_ONLY instead >>> of PPC64_ONLY if you request so (and if we don't get rid of them). >>> >>> -- MemBarStoreStore after initialization >>> I agree we should not change it in the ppc port. If you wish, I can >>> prepare an extra webrev for hotspot-comp. >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> -----Original Message----- >>> From: David Holmes [mailto:david.holmes at oracle.com] >>> Sent: Tuesday, November 26, 2013 2:49 AM >>> To: Vladimir Kozlov >>> Cc: Lindenmaier, Goetz; 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' >>> Subject: Re: RFR(M): 8029101: PPC64 (part 211): ordering of Independent Reads of Independent Writes >>> >>> Okay this is my second attempt at answering this in a reasonable way :) >>> >>> On 26/11/2013 10:51 AM, Vladimir Kozlov wrote: >>>> I have to ask David to do correctness evaluation. >>> >>> From what I understand what we see here is an attempt to fix an >>> existing issue with the implementation of volatiles so that the IRIW >>> problem is addressed. The solution proposed for PPC64 is to make >>> volatile reads extremely heavyweight by adding a fence() when doing the >>> load. >>> >>> Now if this was purely handled in ppc64 source code then I would be >>> happy to let them do whatever they like (surely this kills performance >>> though!). But I do not agree with the changes to the shared code that >>> allow this solution to be implemented - even with PPC64_ONLY this is >>> polluting the shared code. My concern is similar to what I said with the >>> taskQueue changes - these algorithms should be expressed using the >>> correct OrderAccess operations to guarantee the desired properties >>> independent of architecture. If such a "barrier" is not needed on a >>> given architecture then the implementation in OrderAccess should reduce >>> to a no-op. >>> >>> And as Vitaly points out the constructor barriers are not needed under >>> the JMM. >>> >>>> I am fine with suggested changes because you did not change our current >>>> code for our platforms (please, do not change do_exits() now). >>>> But may be it should be done using more general query which is set >>>> depending on platform: >>>> >>>> OrderAccess::needs_support_iriw_ordering() >>>> >>>> or similar to what we use now: >>>> >>>> VM_Version::needs_support_iriw_ordering() >>> >>> Every platform has to support IRIW this is simply part of the Java >>> Memory Model, there should not be any need to call this out explicitly >>> like this. >>> >>> Is there some subtlety of the hardware I am missing here? Are there >>> visibility issues beyond the ordering constraints that the JMM defines? >>>> From what I understand our ppc port is also affected. David? >>> >>> We can not discuss that on an OpenJDK mailing list - sorry. >>> >>> David >>> ----- >>> >>>> In library_call.cpp can you add {}? New comment should be inside else {}. >>>> >>>> I think you should make _wrote_volatile field not ppc64 specific which >>>> will be set to 'true' only on ppc64. Then you will not need PPC64_ONLY() >>>> except in do_put_xxx() where it is set to true. Too many #ifdefs. >>>> >>>> In do_put_xxx() can you combine your changes: >>>> >>>> if (is_vol) { >>>> // See comment in do_get_xxx(). >>>> #ifndef PPC64 >>>> insert_mem_bar(Op_MemBarVolatile); // Use fat membar >>>> #else >>>> if (is_field) { >>>> // Add MemBarRelease for constructors which write volatile field >>>> (PPC64). >>>> set_wrote_volatile(true); >>>> } >>>> #endif >>>> } >>>> >>>> Thanks, >>>> Vladimir >>>> >>>> On 11/25/13 8:16 AM, Lindenmaier, Goetz wrote: >>>>> Hi, >>>>> >>>>> I preprared a webrev with fixes for PPC for the VolatileIRIWTest of >>>>> the torture test suite: >>>>> http://cr.openjdk.java.net/~goetz/webrevs/8029101-0-raw/ >>>>> >>>>> Example: >>>>> volatile x=0, y=0 >>>>> __________ __________ __________ __________ >>>>> | Thread 0 | | Thread 1 | | Thread 2 | | Thread 3 | >>>>> >>>>> write(x=1) read(x) write(y=1) read(y) >>>>> read(y) read(x) >>>>> >>>>> Disallowed: x=1, y=0 y=1, x=0 >>>>> >>>>> >>>>> Solution: This example requires multiple-copy-atomicity. This is only >>>>> assured by the sync instruction and if it is executed in the threads >>>>> doing the loads. Thus we implement volatile read as sync-load-acquire >>>>> and omit the sync/MemBarVolatile after the volatile store. >>>>> MemBarVolatile happens to be implemented by sync. >>>>> We fix this in C2 and the cpp interpreter. >>>>> >>>>> This addresses a similar issue as fix "8012144: multiple SIGSEGVs >>>>> fails on staxf" for taskqueue.hpp. >>>>> >>>>> Further this change contains a fix that assures that volatile fields >>>>> written in constructors are visible before the reference gets >>>>> published. >>>>> >>>>> >>>>> Looking at the code, we found a MemBarRelease that to us, seems too >>>>> strong. >>>>> We think in parse1.cpp do_exits() a MemBarStoreStore should suffice. >>>>> What do you think? >>>>> >>>>> Please review and test this change. >>>>> >>>>> Best regards, >>>>> Goetz. >>>>> From roland.westrelin at oracle.com Mon Dec 2 00:34:57 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Mon, 2 Dec 2013 09:34:57 +0100 Subject: Result: New HSX Committer: Albert Noll Message-ID: Voting for Albert Noll [1] is now closed. Yes: 14 Veto: 0 Abstain: 0 According to the Bylaws definition of Lazy Consensus [2], this is sufficient to approve the nomination. Best regards, Roland Westrelin [1] http://mail.openjdk.java.net/pipermail/hotspot-dev/2013-November/011619.html [2] http://openjdk.java.net/bylaws#lazy-consensus From stefan.johansson at oracle.com Mon Dec 2 06:54:55 2013 From: stefan.johansson at oracle.com (Stefan Johansson) Date: Mon, 02 Dec 2013 15:54:55 +0100 Subject: RFR: 8029329: tmtools tests fail with NPE (in the tool) when run with G1 and FlightRecorder In-Reply-To: <529895F2.5090205@oracle.com> References: <529895F2.5090205@oracle.com> Message-ID: <529C9F3F.3090003@oracle.com> Hi again, After discussions with Bengt I realized that the limit I actually want to use is the currently committed number of regions. Here is an updated webrev: http://cr.openjdk.java.net/~sjohanss/8029329/webrev.01/ Stefan On 2013-11-29 14:26, Stefan Johansson wrote: > Hi, > > Please review this fix for: > https://bugs.openjdk.java.net/browse/JDK-8029329 > > Webrev: > http://cr.openjdk.java.net/~sjohanss/8029329/webrev.00/ > > Summary: > The iterator used by the SA for walking through G1s heap regions used > the total number of regions as the limit for hasNext. This caused a > NullPointerException when reaching the first unallocated region. > Updated the SA to initialize the iterator with the currently allocated > number of regions as limit instead. > > Testing: > * Tested builds through JPRT > * Ran vm.tmtools.testlist throught Aurora and observed no failures on > the test I expected to pass. > > Thanks, > Stefan From dmitry.samersoff at oracle.com Mon Dec 2 07:37:59 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Mon, 02 Dec 2013 19:37:59 +0400 Subject: RFR: 8029329: tmtools tests fail with NPE (in the tool) when run with G1 and FlightRecorder In-Reply-To: <529C9F3F.3090003@oracle.com> References: <529895F2.5090205@oracle.com> <529C9F3F.3090003@oracle.com> Message-ID: <529CA957.60502@oracle.com> Stefan, Looks good for me! -Dmitry On 2013-12-02 18:54, Stefan Johansson wrote: > Hi again, > > After discussions with Bengt I realized that the limit I actually want > to use is the currently committed number of regions. Here is an updated > webrev: > http://cr.openjdk.java.net/~sjohanss/8029329/webrev.01/ > > Stefan > > On 2013-11-29 14:26, Stefan Johansson wrote: >> Hi, >> >> Please review this fix for: >> https://bugs.openjdk.java.net/browse/JDK-8029329 >> >> Webrev: >> http://cr.openjdk.java.net/~sjohanss/8029329/webrev.00/ >> >> Summary: >> The iterator used by the SA for walking through G1s heap regions used >> the total number of regions as the limit for hasNext. This caused a >> NullPointerException when reaching the first unallocated region. >> Updated the SA to initialize the iterator with the currently allocated >> number of regions as limit instead. >> >> Testing: >> * Tested builds through JPRT >> * Ran vm.tmtools.testlist throught Aurora and observed no failures on >> the test I expected to pass. >> >> Thanks, >> Stefan > -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * I would love to change the world, but they won't give me the sources. From volker.simonis at gmail.com Mon Dec 2 07:44:19 2013 From: volker.simonis at gmail.com (Volker Simonis) Date: Mon, 2 Dec 2013 16:44:19 +0100 Subject: RFR(S): 8029190 : VM_Version::determine_features() asserts on Fujitsu Sparc64 CPUs Message-ID: Hi, currently, the whole CPU detection for SPARC CPUs seems to be biased towards Sun/Oracle SPARC CPUs. This leads to some problems when running on new Fujitsu Sparc64-X CPUs. The following small webrev tries to address this problem: http://cr.openjdk.java.net/~simonis/webrevs/8029190/ The first problem is that the helper function is_niagara(int) assumes that machine hardare name (i.e. 'uname -m' or 'sysinfo(SI_MACHINE)') can be used to determine the CPU family. However, this is not true any more since the Fujitsu Sparc64-X CPU implements the same hardware class (i.e. sparc4v) like the CPUs which belong to the Sun/Oracle "UltraSparc T family". We therefore change is_niagara(int) to only return true if we are not running on a Sparc64 CPU. The second problem is the consistency check which warns if the option UseMemSetInBOT is activated while running with the G1 or CuncurrentMarkAndSweep GC on a new "T family" CPU. This check was initially done in Arguments::check_vm_args_consistency. But that's too early, because later on the GC may be changed to UseConcMarkSweepGC in Arguments::set_ergonomics_flags in which case the VM wouldn't issue any warning. Following the output of a various Java invocations which should all print the warning because the VM is running with UseConcMarkSweepGC and UseMemSetInBOT, but only the first one really does so: $ java -XX:+UseConcMarkSweepGC -XX:+UnlockExperimentalVMOptions -XX:+UseMemSetInBOT -version Java HotSpot(TM) Server VM warning: Experimental flag -XX:+UseMemSetInBOT is known to cause instability on sun4v; please understand that you are using at your own risk! java version "1.7.0_45" Java(TM) SE Runtime Environment (build 1.7.0_45-b18) Java HotSpot(TM) Server VM (build 24.45-b08, mixed mode) $ java -XX:+UseAutoGCSelectPolicy -XX:MaxGCPauseMillis=1000 -XX:+UnlockExperimentalVMOptions -XX:+UseMemSetInBOT -version java version "1.7.0_45" Java(TM) SE Runtime Environment (build 1.7.0_45-b18) Java HotSpot(TM) Server VM (build 24.45-b08, mixed mode) $java -XX:+UseAutoGCSelectPolicy -XX:MaxGCPauseMillis=1000 -XX:+UnlockExperimentalVMOptions -XX:+UseMemSetInBOT -XX:+PrintFlagsFinal -version 2>&1 | egrep "UseConcMarkSweep|UseMemSetInBOT" bool UseConcMarkSweepGC := true {product} bool UseMemSetInBOT := true {experimental} Even worse, after the change "8008407: remove SPARC V8 support" has removed the call to VM_Version_init() from Arguments::check_vm_args_consistency, the check for is_sun4v() always fails and the VM won't issue this warning at all. So current builds of jdk8, won't show any warning for the following java invocation (which is clearly a regression compared to jdk7): $ java -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:+UseMemSetInBOT -version openjdk version "1.8.0-internal" OpenJDK Runtime Environment (build 1.8.0-internal-_2013_12_01_22_33-b00) OpenJDK 64-Bit Server VM (build 25.0-b59, mixed mode) So I propose the following two changes: - Automatically reset UseMemSetInBOT if the CPU supports has_blk_init() (instead of just checking for is_niagara()) until we can be sure that memset() is implemented correctly on Fujitsu Sparc64-X CPUs - Warn if we detect the has_blk_init() CPU feature instead of checking for is_sun4v() which may be too generic. - Move the consistency check out of Arguments::check_vm_args_consistency into VM_Version::initialize() in vm_version_sparc.cpp. Besides the fact that all the GC flags have their final value already at that point this also has the nice effect of removing yet another #ifdef SPARC from shared code in arguments.cpp As always, I need a reviewer and a sponsor for pushing. Thank you and best regards, Volker From stefan.johansson at oracle.com Mon Dec 2 07:49:46 2013 From: stefan.johansson at oracle.com (Stefan Johansson) Date: Mon, 02 Dec 2013 16:49:46 +0100 Subject: RFR: 8029329: tmtools tests fail with NPE (in the tool) when run with G1 and FlightRecorder In-Reply-To: <529CA957.60502@oracle.com> References: <529895F2.5090205@oracle.com> <529C9F3F.3090003@oracle.com> <529CA957.60502@oracle.com> Message-ID: <529CAC1A.7060705@oracle.com> Thanks for reviewing Dmitry. Stefan On 2013-12-02 16:37, Dmitry Samersoff wrote: > Stefan, > > Looks good for me! > > -Dmitry > > On 2013-12-02 18:54, Stefan Johansson wrote: >> Hi again, >> >> After discussions with Bengt I realized that the limit I actually want >> to use is the currently committed number of regions. Here is an updated >> webrev: >> http://cr.openjdk.java.net/~sjohanss/8029329/webrev.01/ >> >> Stefan >> >> On 2013-11-29 14:26, Stefan Johansson wrote: >>> Hi, >>> >>> Please review this fix for: >>> https://bugs.openjdk.java.net/browse/JDK-8029329 >>> >>> Webrev: >>> http://cr.openjdk.java.net/~sjohanss/8029329/webrev.00/ >>> >>> Summary: >>> The iterator used by the SA for walking through G1s heap regions used >>> the total number of regions as the limit for hasNext. This caused a >>> NullPointerException when reaching the first unallocated region. >>> Updated the SA to initialize the iterator with the currently allocated >>> number of regions as limit instead. >>> >>> Testing: >>> * Tested builds through JPRT >>> * Ran vm.tmtools.testlist throught Aurora and observed no failures on >>> the test I expected to pass. >>> >>> Thanks, >>> Stefan > From mikael.gerdin at oracle.com Mon Dec 2 08:31:25 2013 From: mikael.gerdin at oracle.com (Mikael Gerdin) Date: Mon, 02 Dec 2013 17:31:25 +0100 Subject: RFR: 8029329: tmtools tests fail with NPE (in the tool) when run with G1 and FlightRecorder In-Reply-To: <529C9F3F.3090003@oracle.com> References: <529895F2.5090205@oracle.com> <529C9F3F.3090003@oracle.com> Message-ID: <12968245.lFGbpryLaD@mgerdin03> Stefan, On Monday 02 December 2013 15.54.55 Stefan Johansson wrote: > Hi again, > > After discussions with Bengt I realized that the limit I actually want > to use is the currently committed number of regions. Here is an updated > webrev: > http://cr.openjdk.java.net/~sjohanss/8029329/webrev.01/ Still looks good to me. /Mikael > > Stefan > > On 2013-11-29 14:26, Stefan Johansson wrote: > > Hi, > > > > Please review this fix for: > > https://bugs.openjdk.java.net/browse/JDK-8029329 > > > > Webrev: > > http://cr.openjdk.java.net/~sjohanss/8029329/webrev.00/ > > > > Summary: > > The iterator used by the SA for walking through G1s heap regions used > > the total number of regions as the limit for hasNext. This caused a > > NullPointerException when reaching the first unallocated region. > > Updated the SA to initialize the iterator with the currently allocated > > number of regions as limit instead. > > > > Testing: > > * Tested builds through JPRT > > * Ran vm.tmtools.testlist throught Aurora and observed no failures on > > the test I expected to pass. > > > > Thanks, > > Stefan From goetz.lindenmaier at sap.com Mon Dec 2 08:51:49 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Mon, 2 Dec 2013 16:51:49 +0000 Subject: RFR (M): 8029396: PPC64 (part 212): Several memory ordering fixes in C-code. Message-ID: <4295855A5C1DE049A61835A1887419CC2CE6DA2E@DEWDFEMB12A.global.corp.sap> Hi, This change contains a row of fixes to the memory ordering in runtime, GC etc. http://cr.openjdk.java.net/~goetz/webrevs/8029396-0-memo/ These are: - Accessing arrays in CMS (compactibleFreeListSpace.cpp) - CMS: Do release when marking a card dirty. The release must only be done if GC is running. (several files) - Method counter initialization (method.hpp). - Order accessing f1/f2 in constant pool cache. - Release stores in OopMapCache constructor (instanceKLass.cpp). - BiasedLocking: Release setting object header to displaced mark. - Release state of nmethod sweeper (sweeper.cpp). - Do barriers when writing the thread state (thread.hpp). Please review and test this change. If requested, I can part this into smaller changes. But for now I wanted to put them all into one change as they all address the problems with the PPC memory model. Best regards, Goetz. From vladimir.kozlov at oracle.com Mon Dec 2 13:42:12 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 02 Dec 2013 13:42:12 -0800 Subject: RFR (M): 8029396: PPC64 (part 212): Several memory ordering fixes in C-code. In-Reply-To: <4295855A5C1DE049A61835A1887419CC2CE6DA2E@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC2CE6DA2E@DEWDFEMB12A.global.corp.sap> Message-ID: <529CFEB4.4000905@oracle.com> These changes need to be reviewed by GC and Runtime group. Especially first 2 changes (CMS). The rest 6 changes are less performance critical and, I think they are fine. Thanks, Vlaidmir On 12/2/13 8:51 AM, Lindenmaier, Goetz wrote: > Hi, > > This change contains a row of fixes to the memory ordering in runtime, GC etc. > http://cr.openjdk.java.net/~goetz/webrevs/8029396-0-memo/ > > These are: > - Accessing arrays in CMS (compactibleFreeListSpace.cpp) > - CMS: Do release when marking a card dirty. The release must only be done if GC is running. (several files) > - Method counter initialization (method.hpp). > - Order accessing f1/f2 in constant pool cache. > - Release stores in OopMapCache constructor (instanceKLass.cpp). > - BiasedLocking: Release setting object header to displaced mark. > - Release state of nmethod sweeper (sweeper.cpp). > - Do barriers when writing the thread state (thread.hpp). > > Please review and test this change. > > If requested, I can part this into smaller changes. But for now > I wanted to put them all into one change as they all address the > problems with the PPC memory model. > > Best regards, > Goetz. > From sebastian.sickelmann at gmx.de Mon Dec 2 13:42:44 2013 From: sebastian.sickelmann at gmx.de (Sebastian Sickelmann) Date: Mon, 02 Dec 2013 22:42:44 +0100 Subject: RFR: MethodHandles.Lookup. Wrong access verification Message-ID: <529CFED4.7040008@gmx.de> Hi, some days ago i had written[0] that i maybe found a bug in access verification in MethodHandles.Lookup. Now i produces webrev's for the two repos jdk and hotspot. In the jdk webrev [1] I implemented some additional tests. In the hotspot webrev [2] I tried to fix the wrong behavior. I am not sure if it is the right place to fix this. It is more an proof-of-concept--like--reverse-engineering*//* -fix that fixes the symptom, and i do not fully understand all the things in the patched source. In fact i think that we can move line 187 to 182 instead of chaning line 245 in methodHandles.cpp. But as i said i do not fully understand init_method_MemberName and all those CallInfo::vtable_call / CallInfo::itable_call / CallInfo::direct_call differences. Hope my works helps solving this issue. And i hope it is an issue. And i hope my fix isn't breaking anything else so that it was enough to test my fix against my new testcase in MethodHandlesTest.testFindPrivate Kind regards Sebastian [0] http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/2013-November/010228.html [1] https://dl.dropboxusercontent.com/u/43692695/oss-patches/openjdk8/MethodHandles.Lookup/webrev_jdk/index.html [2] https://dl.dropboxusercontent.com/u/43692695/oss-patches/openjdk8/MethodHandles.Lookup/webrev_hotspot/index.html From vladimir.kozlov at oracle.com Mon Dec 2 14:13:17 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 02 Dec 2013 14:13:17 -0800 Subject: RFR(S): 8029190 : VM_Version::determine_features() asserts on Fujitsu Sparc64 CPUs In-Reply-To: References: Message-ID: <529D05FD.2040600@oracle.com> Looks good. I will take over this bug because Runtime group is very busy. Thanks, Vladimir On 12/2/13 7:44 AM, Volker Simonis wrote: > Hi, > > currently, the whole CPU detection for SPARC CPUs seems to be biased > towards Sun/Oracle SPARC CPUs. This leads to some problems when > running on new Fujitsu Sparc64-X CPUs. The following small webrev > tries to address this problem: > > http://cr.openjdk.java.net/~simonis/webrevs/8029190/ > > The first problem is that the helper function is_niagara(int) assumes > that machine hardare name (i.e. 'uname -m' or 'sysinfo(SI_MACHINE)') > can be used to determine the CPU family. However, this is not true any > more since the Fujitsu Sparc64-X CPU implements the same hardware > class (i.e. sparc4v) like the CPUs which belong to the Sun/Oracle > "UltraSparc T family". We therefore change is_niagara(int) to only > return true if we are not running on a Sparc64 CPU. > > The second problem is the consistency check which warns if the option > UseMemSetInBOT is activated while running with the G1 or > CuncurrentMarkAndSweep GC on a new "T family" CPU. This check was > initially done in Arguments::check_vm_args_consistency. But that's too > early, because later on the GC may be changed to UseConcMarkSweepGC in > Arguments::set_ergonomics_flags in which case the VM wouldn't issue > any warning. Following the output of a various Java invocations which > should all print the warning because the VM is running with > UseConcMarkSweepGC and UseMemSetInBOT, but only the first one really > does so: > > $ java -XX:+UseConcMarkSweepGC -XX:+UnlockExperimentalVMOptions > -XX:+UseMemSetInBOT -version > Java HotSpot(TM) Server VM warning: Experimental flag > -XX:+UseMemSetInBOT is known to cause instability on sun4v; please > understand that you are using at your own risk! > java version "1.7.0_45" > Java(TM) SE Runtime Environment (build 1.7.0_45-b18) > Java HotSpot(TM) Server VM (build 24.45-b08, mixed mode) > > $ java -XX:+UseAutoGCSelectPolicy -XX:MaxGCPauseMillis=1000 > -XX:+UnlockExperimentalVMOptions -XX:+UseMemSetInBOT -version > java version "1.7.0_45" > Java(TM) SE Runtime Environment (build 1.7.0_45-b18) > Java HotSpot(TM) Server VM (build 24.45-b08, mixed mode) > > $java -XX:+UseAutoGCSelectPolicy -XX:MaxGCPauseMillis=1000 > -XX:+UnlockExperimentalVMOptions -XX:+UseMemSetInBOT > -XX:+PrintFlagsFinal -version 2>&1 | egrep > "UseConcMarkSweep|UseMemSetInBOT" > bool UseConcMarkSweepGC := true > {product} > bool UseMemSetInBOT := true > {experimental} > > Even worse, after the change "8008407: remove SPARC V8 support" has > removed the call to VM_Version_init() from > Arguments::check_vm_args_consistency, the check for is_sun4v() always > fails and the VM won't issue this warning at all. So current builds of > jdk8, won't show any warning for the following java invocation (which > is clearly a regression compared to jdk7): > > $ java -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions > -XX:+UseMemSetInBOT -version > openjdk version "1.8.0-internal" > OpenJDK Runtime Environment (build 1.8.0-internal-_2013_12_01_22_33-b00) > OpenJDK 64-Bit Server VM (build 25.0-b59, mixed mode) > > So I propose the following two changes: > > - Automatically reset UseMemSetInBOT if the CPU supports > has_blk_init() (instead of just checking for is_niagara()) until we > can be sure that memset() is implemented correctly on Fujitsu > Sparc64-X CPUs > - Warn if we detect the has_blk_init() CPU feature instead of > checking for is_sun4v() which may be too generic. > - Move the consistency check out of > Arguments::check_vm_args_consistency into VM_Version::initialize() in > vm_version_sparc.cpp. Besides the fact that all the GC flags have > their final value already at that point this also has the nice effect > of removing yet another #ifdef SPARC from shared code in arguments.cpp > > As always, I need a reviewer and a sponsor for pushing. > > Thank you and best regards, > Volker > From john.r.rose at oracle.com Mon Dec 2 16:08:32 2013 From: john.r.rose at oracle.com (John Rose) Date: Mon, 2 Dec 2013 16:08:32 -0800 Subject: RFR: MethodHandles.Lookup. Wrong access verification In-Reply-To: <529CFED4.7040008@gmx.de> References: <529CFED4.7040008@gmx.de> Message-ID: I appreciate the report and the proposed fixes. We are looking at this seriously. ? John P.S. The root issue may be an accidental inheritance of private methods. I have been thinking for a while that, in the name of compatibility, the JVMS allows an "invokevirtual" invocation to reach a private method, but that this is unfortunate, since "invokespecial" already supplies a more specific way to get to the method. Likewise, an "invokeinterface" instruction can reach a virtual method of Object, while "invokevirtual" gives a more specific way. There are a number of odd pathways through the linkResolver, to support these extra combinations, that I would like to regularize or remove. I think we should investigate tightening up the JVM linkage rules to avoid the extra corner cases. That will probably have the effect of removing surprise effects like this one, as we continue to extend the JVM linkage rules. On Dec 2, 2013, at 1:42 PM, Sebastian Sickelmann wrote: > Hi, > > some days ago i had written[0] that i maybe found a bug in access verification in MethodHandles.Lookup. > > Now i produces webrev's for the two repos jdk and hotspot. > > In the jdk webrev [1] I implemented some additional tests. > > In the hotspot webrev [2] I tried to fix the wrong behavior. I am not sure if it is the right place to fix this. > It is more an proof-of-concept--like--reverse-engineering-fix that fixes the symptom, and i do not fully > understand all the things in the patched source. In fact i think that we can move line 187 to 182 instead > of chaning line 245 in methodHandles.cpp. But as i said i do not fully understand init_method_MemberName > and all those CallInfo::vtable_call / CallInfo::itable_call / CallInfo::direct_call differences. > > Hope my works helps solving this issue. And i hope it is an issue. And i hope my fix isn't breaking anything else > so that it was enough to test my fix against my new testcase in MethodHandlesTest.testFindPrivate > > Kind regards > Sebastian > > [0] http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/2013-November/010228.html > [1] https://dl.dropboxusercontent.com/u/43692695/oss-patches/openjdk8/MethodHandles.Lookup/webrev_jdk/index.html > [2] https://dl.dropboxusercontent.com/u/43692695/oss-patches/openjdk8/MethodHandles.Lookup/webrev_hotspot/index.html From bengt.rutisson at oracle.com Tue Dec 3 02:55:20 2013 From: bengt.rutisson at oracle.com (Bengt Rutisson) Date: Tue, 03 Dec 2013 11:55:20 +0100 Subject: RFR: 8029329: tmtools tests fail with NPE (in the tool) when run with G1 and FlightRecorder In-Reply-To: <529C9F3F.3090003@oracle.com> References: <529895F2.5090205@oracle.com> <529C9F3F.3090003@oracle.com> Message-ID: <529DB898.3050506@oracle.com> Hi Stefan, Looks good. Bengt On 2013-12-02 15:54, Stefan Johansson wrote: > Hi again, > > After discussions with Bengt I realized that the limit I actually want > to use is the currently committed number of regions. Here is an > updated webrev: > http://cr.openjdk.java.net/~sjohanss/8029329/webrev.01/ > > Stefan > > On 2013-11-29 14:26, Stefan Johansson wrote: >> Hi, >> >> Please review this fix for: >> https://bugs.openjdk.java.net/browse/JDK-8029329 >> >> Webrev: >> http://cr.openjdk.java.net/~sjohanss/8029329/webrev.00/ >> >> Summary: >> The iterator used by the SA for walking through G1s heap regions used >> the total number of regions as the limit for hasNext. This caused a >> NullPointerException when reaching the first unallocated region. >> Updated the SA to initialize the iterator with the currently >> allocated number of regions as limit instead. >> >> Testing: >> * Tested builds through JPRT >> * Ran vm.tmtools.testlist throught Aurora and observed no failures on >> the test I expected to pass. >> >> Thanks, >> Stefan > From stefan.johansson at oracle.com Tue Dec 3 03:00:58 2013 From: stefan.johansson at oracle.com (Stefan Johansson) Date: Tue, 03 Dec 2013 12:00:58 +0100 Subject: RFR: 8029329: tmtools tests fail with NPE (in the tool) when run with G1 and FlightRecorder In-Reply-To: <529DB898.3050506@oracle.com> References: <529895F2.5090205@oracle.com> <529C9F3F.3090003@oracle.com> <529DB898.3050506@oracle.com> Message-ID: <529DB9EA.6070204@oracle.com> Thanks Bengt. On 2013-12-03 11:55, Bengt Rutisson wrote: > > Hi Stefan, > > Looks good. > > Bengt > > > On 2013-12-02 15:54, Stefan Johansson wrote: >> Hi again, >> >> After discussions with Bengt I realized that the limit I actually >> want to use is the currently committed number of regions. Here is an >> updated webrev: >> http://cr.openjdk.java.net/~sjohanss/8029329/webrev.01/ >> >> Stefan >> >> On 2013-11-29 14:26, Stefan Johansson wrote: >>> Hi, >>> >>> Please review this fix for: >>> https://bugs.openjdk.java.net/browse/JDK-8029329 >>> >>> Webrev: >>> http://cr.openjdk.java.net/~sjohanss/8029329/webrev.00/ >>> >>> Summary: >>> The iterator used by the SA for walking through G1s heap regions >>> used the total number of regions as the limit for hasNext. This >>> caused a NullPointerException when reaching the first unallocated >>> region. Updated the SA to initialize the iterator with the currently >>> allocated number of regions as limit instead. >>> >>> Testing: >>> * Tested builds through JPRT >>> * Ran vm.tmtools.testlist throught Aurora and observed no failures >>> on the test I expected to pass. >>> >>> Thanks, >>> Stefan >> > From goetz.lindenmaier at sap.com Tue Dec 3 09:09:06 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Tue, 3 Dec 2013 17:09:06 +0000 Subject: RFR (M): 8029396: PPC64 (part 212): Several memory ordering fixes in C-code. In-Reply-To: <529CFEB4.4000905@oracle.com> References: <4295855A5C1DE049A61835A1887419CC2CE6DA2E@DEWDFEMB12A.global.corp.sap> <529CFEB4.4000905@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC2CE6DC53@DEWDFEMB12A.global.corp.sap> Hi, could somebody of rt and gc please have a look at the following change? It contains memory ordering fixes as required by the PPC64 port, see also below. http://cr.openjdk.java.net/~goetz/webrevs/8029396-0-memo/ Thanks and best regards, Goetz. -----Original Message----- From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] Sent: Montag, 2. Dezember 2013 22:42 To: Lindenmaier, Goetz; 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' Subject: Re: RFR (M): 8029396: PPC64 (part 212): Several memory ordering fixes in C-code. These changes need to be reviewed by GC and Runtime group. Especially first 2 changes (CMS). The rest 6 changes are less performance critical and, I think they are fine. Thanks, Vlaidmir On 12/2/13 8:51 AM, Lindenmaier, Goetz wrote: > Hi, > > This change contains a row of fixes to the memory ordering in runtime, GC etc. > http://cr.openjdk.java.net/~goetz/webrevs/8029396-0-memo/ > > These are: > - Accessing arrays in CMS (compactibleFreeListSpace.cpp) > - CMS: Do release when marking a card dirty. The release must only be done if GC is running. (several files) > - Method counter initialization (method.hpp). > - Order accessing f1/f2 in constant pool cache. > - Release stores in OopMapCache constructor (instanceKLass.cpp). > - BiasedLocking: Release setting object header to displaced mark. > - Release state of nmethod sweeper (sweeper.cpp). > - Do barriers when writing the thread state (thread.hpp). > > Please review and test this change. > > If requested, I can part this into smaller changes. But for now > I wanted to put them all into one change as they all address the > problems with the PPC memory model. > > Best regards, > Goetz. > From volker.simonis at gmail.com Tue Dec 3 09:39:41 2013 From: volker.simonis at gmail.com (Volker Simonis) Date: Tue, 3 Dec 2013 18:39:41 +0100 Subject: RFR(S): 8019929: PPC64 (part 107): Extend ELF-decoder to support PPC64 function descriptor tables Message-ID: On PowerPC-64 (and other architectures like for example IA64) a pointer to a function is not just a plain code address, but a pointer to a so called function descriptor (see http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi-1.9.html#FUNC-DES). This fact is also reflected in the ELF ABI for PowerPC-64. This small changes adds support for ELF function descriptor tables to the current ELF decoder: http://cr.openjdk.java.net/~simonis/webrevs/8019929/ On architectures like x86 or SPARC, the ELF symbol table contains the start address and size of an object. So for example for a function object (i.e. type FUNC) the symbol table's value field directly represents the starting address and the size field the size of a function. On PPC64 however, the symbol table's value field only contains an index into a PPC64 specific .opd (official procedure descriptors) section, while the size field still holds the size of the corresponding function. In order to get the actual start address of a function, it is necessary to read the corresponding function descriptor entry in the .opd section at the corresponding index and extract the start address from there. This change extends the current HotSpot ELF utilities to support the .opd (official procedure descriptors) section on PPC64 platforms. It does this by adding a new field m_funcDesc_table of type ElfFuncDescTable to the ElfFile class. The m_funcDesc_table is initialized in the ElfFile::load_tables() in the same way like the symbol table members by parsing the corresponding .opd section if it is available. The ElfSymbolTable::lookup() method is changed on PPC64 to take an extra ElfFuncDescTable argument. If running on PPC64, this argument is used to do the extra level of indirection through the function description table to get the real start address associated with a symbol. This change also slightly improves the implementation of ElfSymbolTable::lookup(). Before, the method always iterated over all symbols in the symbol table and returned the one with the highest address below the requested addr argument. This not only could take a significant amount of time for big libraries, it could also return bogus symbols for addresses which were not really covered by that symbol table at all. The new versions additionally uses the symbol table's st_size field to verify that the requested addr argument is indeed within the range covered by the corresponding symbol table entry. If so, the search is stopped and the symbol is returned immediately. Thank you and best regards, Volker From jon.masamitsu at oracle.com Tue Dec 3 10:46:44 2013 From: jon.masamitsu at oracle.com (Jon Masamitsu) Date: Tue, 03 Dec 2013 10:46:44 -0800 Subject: RFR: 8029329: tmtools tests fail with NPE (in the tool) when run with G1 and FlightRecorder In-Reply-To: <529C9F3F.3090003@oracle.com> References: <529895F2.5090205@oracle.com> <529C9F3F.3090003@oracle.com> Message-ID: <529E2714.7050509@oracle.com> On 12/2/13 6:54 AM, Stefan Johansson wrote: > Hi again, > > After discussions with Bengt I realized that the limit I actually want > to use is the currently committed number of regions. Here is an > updated webrev: > http://cr.openjdk.java.net/~sjohanss/8029329/webrev.01/ Why committed instead of allocated? I had thought either would be sufficient but that the committed regions that were not allocated would be empty (and uninteresting). Jon > > Stefan > > On 2013-11-29 14:26, Stefan Johansson wrote: >> Hi, >> >> Please review this fix for: >> https://bugs.openjdk.java.net/browse/JDK-8029329 >> >> Webrev: >> http://cr.openjdk.java.net/~sjohanss/8029329/webrev.00/ >> >> Summary: >> The iterator used by the SA for walking through G1s heap regions used >> the total number of regions as the limit for hasNext. This caused a >> NullPointerException when reaching the first unallocated region. >> Updated the SA to initialize the iterator with the currently >> allocated number of regions as limit instead. >> >> Testing: >> * Tested builds through JPRT >> * Ran vm.tmtools.testlist throught Aurora and observed no failures on >> the test I expected to pass. >> >> Thanks, >> Stefan > From vladimir.kozlov at oracle.com Tue Dec 3 11:25:05 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 03 Dec 2013 11:25:05 -0800 Subject: RFR(S): 8019929: PPC64 (part 107): Extend ELF-decoder to support PPC64 function descriptor tables In-Reply-To: References: Message-ID: <529E3011.9080403@oracle.com> Volker, It looks fine to me except #ifdef pollution. I think ElfSymbolTable::lookup() should always take ElfFuncDescTable argument and you need ElfFuncDescTable always defined. In ElfSymbolTable::lookup() you can check funcDescTable for null instead of ifdefs. The only place we can keep #ifdef is m_funcDesc_table setting in ElfFile::load_tables(). ElfFuncDescTable class's methods are not so big to ifdef them. But others may have different opinion. Thanks, Vladimir On 12/3/13 9:39 AM, Volker Simonis wrote: > On PowerPC-64 (and other architectures like for example IA64) a > pointer to a function is not just a plain code address, but a pointer > to a so called function descriptor (see > http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi-1.9.html#FUNC-DES). > This fact is also reflected in the ELF ABI for PowerPC-64. This small > changes adds support for ELF function descriptor tables to the current > ELF decoder: > > http://cr.openjdk.java.net/~simonis/webrevs/8019929/ > > On architectures like x86 or SPARC, the ELF symbol table contains the > start address and size of an object. So for example for a function > object (i.e. type FUNC) the symbol table's value field directly > represents the starting address and the size field the size of a > function. On PPC64 however, the symbol table's value field only > contains an index into a PPC64 specific .opd (official procedure > descriptors) section, while the size field still holds the size of the > corresponding function. In order to get the actual start address of a > function, it is necessary to read the corresponding function > descriptor entry in the .opd section at the corresponding index and > extract the start address from there. > > This change extends the current HotSpot ELF utilities to support the > .opd (official procedure descriptors) section on PPC64 platforms. It > does this by adding a new field m_funcDesc_table of type > ElfFuncDescTable to the ElfFile class. The m_funcDesc_table is > initialized in the ElfFile::load_tables() in the same way like the > symbol table members by parsing the corresponding .opd section if it > is available. > > The ElfSymbolTable::lookup() method is changed on PPC64 to take an > extra ElfFuncDescTable argument. If running on PPC64, this argument is > used to do the extra level of indirection through the function > description table to get the real start address associated with a > symbol. > > This change also slightly improves the implementation of > ElfSymbolTable::lookup(). Before, the method always iterated over all > symbols in the symbol table and returned the one with the highest > address below the requested addr argument. This not only could take a > significant amount of time for big libraries, it could also return > bogus symbols for addresses which were not really covered by that > symbol table at all. The new versions additionally uses the symbol > table's st_size field to verify that the requested addr argument is > indeed within the range covered by the corresponding symbol table > entry. If so, the search is stopped and the symbol is returned > immediately. > > Thank you and best regards, > Volker > From stefan.johansson at oracle.com Tue Dec 3 12:02:43 2013 From: stefan.johansson at oracle.com (Stefan Johansson) Date: Tue, 03 Dec 2013 21:02:43 +0100 Subject: RFR: 8029329: tmtools tests fail with NPE (in the tool) when run with G1 and FlightRecorder In-Reply-To: <529E2714.7050509@oracle.com> References: <529895F2.5090205@oracle.com> <529C9F3F.3090003@oracle.com> <529E2714.7050509@oracle.com> Message-ID: <529E38E3.3010300@oracle.com> On 2013-12-03 19:46, Jon Masamitsu wrote: > > On 12/2/13 6:54 AM, Stefan Johansson wrote: >> Hi again, >> >> After discussions with Bengt I realized that the limit I actually >> want to use is the currently committed number of regions. Here is an >> updated webrev: >> http://cr.openjdk.java.net/~sjohanss/8029329/webrev.01/ > > Why committed instead of allocated? I had thought either would > be sufficient but that the committed regions that were not > allocated would be empty (and uninteresting). > Both seems to work equally well, since the regions that are allocated but not committed will be seen as empty. As I understand it committed length is the number of regions we currently have committed memory for and allocated is the length for which we have allocated HeapRegions. Currently we never de-allocate these and therefor we can have an allocated length of 128 but currently only have 64 committed. When requesting an iterator for such a heap I would expect only to iterate over the regions that are currently in use, not over every region that has ever been used. That is why I change the code, do you think this makes sense Jon? Thanks, Stefan > Jon > >> >> Stefan >> >> On 2013-11-29 14:26, Stefan Johansson wrote: >>> Hi, >>> >>> Please review this fix for: >>> https://bugs.openjdk.java.net/browse/JDK-8029329 >>> >>> Webrev: >>> http://cr.openjdk.java.net/~sjohanss/8029329/webrev.00/ >>> >>> Summary: >>> The iterator used by the SA for walking through G1s heap regions >>> used the total number of regions as the limit for hasNext. This >>> caused a NullPointerException when reaching the first unallocated >>> region. Updated the SA to initialize the iterator with the currently >>> allocated number of regions as limit instead. >>> >>> Testing: >>> * Tested builds through JPRT >>> * Ran vm.tmtools.testlist throught Aurora and observed no failures >>> on the test I expected to pass. >>> >>> Thanks, >>> Stefan >> > From volker.simonis at gmail.com Tue Dec 3 14:41:49 2013 From: volker.simonis at gmail.com (Volker Simonis) Date: Tue, 3 Dec 2013 23:41:49 +0100 Subject: RFR(S): 8019929: PPC64 (part 107): Extend ELF-decoder to support PPC64 function descriptor tables In-Reply-To: <529E3011.9080403@oracle.com> References: <529E3011.9080403@oracle.com> Message-ID: Hi Vladimir, thanks for looking at the change. I initially did it this way to keep changes to the existing platforms as small as possible but I'll be happy to change in the way you suggested if nobody objects. Regards, Volker On Tuesday, December 3, 2013, Vladimir Kozlov wrote: > Volker, > > It looks fine to me except #ifdef pollution. > > I think ElfSymbolTable::lookup() should always take ElfFuncDescTable > argument and you need ElfFuncDescTable always defined. > In ElfSymbolTable::lookup() you can check funcDescTable for null instead > of ifdefs. > The only place we can keep #ifdef is m_funcDesc_table setting in > ElfFile::load_tables(). > ElfFuncDescTable class's methods are not so big to ifdef them. > > But others may have different opinion. > > Thanks, > Vladimir > > On 12/3/13 9:39 AM, Volker Simonis wrote: > >> On PowerPC-64 (and other architectures like for example IA64) a >> pointer to a function is not just a plain code address, but a pointer >> to a so called function descriptor (see >> http://refspecs.linuxfoundation.org/ELF/ppc64/ >> PPC-elf64abi-1.9.html#FUNC-DES). >> This fact is also reflected in the ELF ABI for PowerPC-64. This small >> changes adds support for ELF function descriptor tables to the current >> ELF decoder: >> >> http://cr.openjdk.java.net/~simonis/webrevs/8019929/ >> >> On architectures like x86 or SPARC, the ELF symbol table contains the >> start address and size of an object. So for example for a function >> object (i.e. type FUNC) the symbol table's value field directly >> represents the starting address and the size field the size of a >> function. On PPC64 however, the symbol table's value field only >> contains an index into a PPC64 specific .opd (official procedure >> descriptors) section, while the size field still holds the size of the >> corresponding function. In order to get the actual start address of a >> function, it is necessary to read the corresponding function >> descriptor entry in the .opd section at the corresponding index and >> extract the start address from there. >> >> This change extends the current HotSpot ELF utilities to support the >> .opd (official procedure descriptors) section on PPC64 platforms. It >> does this by adding a new field m_funcDesc_table of type >> ElfFuncDescTable to the ElfFile class. The m_funcDesc_table is >> initialized in the ElfFile::load_tables() in the same way like the >> symbol table members by parsing the corresponding .opd section if it >> is available. >> >> The ElfSymbolTable::lookup() method is changed on PPC64 to take an >> extra ElfFuncDescTable argument. If running on PPC64, this argument is >> used to do the extra level of indirection through the function >> description table to get the real start address associated with a >> symbol. >> >> This change also slightly improves the implementation of >> ElfSymbolTable::lookup(). Before, the method always iterated over all >> symbols in the symbol table and returned the one with the highest >> address below the requested addr argument. This not only could take a >> significant amount of time for big libraries, it could also return >> bogus symbols for addresses which were not really covered by that >> symbol table at all. The new versions additionally uses the symbol >> table's st_size field to verify that the requested addr argument is >> indeed within the range covered by the corresponding symbol table >> entry. If so, the search is stopped and the symbol is returned >> immediately. >> >> Thank you and best regards, >> Volker >> >> From vitalyd at gmail.com Tue Dec 3 18:39:13 2013 From: vitalyd at gmail.com (Vitaly Davidovich) Date: Tue, 3 Dec 2013 21:39:13 -0500 Subject: RFR(S): 8019929: PPC64 (part 107): Extend ELF-decoder to support PPC64 function descriptor tables In-Reply-To: References: <529E3011.9080403@oracle.com> Message-ID: Hi Volker, Would it be cleaner if you were to extend ElfSymbolTable for PPC and embed the funcDesc in there, keeping the lookup() signature the same? It seems like the funcDesc should be a hidden indirection as part of lookup() rather than a parameter. Just a thought ... Sent from my phone On Dec 3, 2013 5:43 PM, "Volker Simonis" wrote: > Hi Vladimir, > > thanks for looking at the change. I initially did it this way to > keep changes to the existing platforms as small as possible but I'll be > happy to change in the way you suggested if nobody objects. > > Regards, > Volker > > On Tuesday, December 3, 2013, Vladimir Kozlov wrote: > > > Volker, > > > > It looks fine to me except #ifdef pollution. > > > > I think ElfSymbolTable::lookup() should always take ElfFuncDescTable > > argument and you need ElfFuncDescTable always defined. > > In ElfSymbolTable::lookup() you can check funcDescTable for null instead > > of ifdefs. > > The only place we can keep #ifdef is m_funcDesc_table setting in > > ElfFile::load_tables(). > > ElfFuncDescTable class's methods are not so big to ifdef them. > > > > But others may have different opinion. > > > > Thanks, > > Vladimir > > > > On 12/3/13 9:39 AM, Volker Simonis wrote: > > > >> On PowerPC-64 (and other architectures like for example IA64) a > >> pointer to a function is not just a plain code address, but a pointer > >> to a so called function descriptor (see > >> http://refspecs.linuxfoundation.org/ELF/ppc64/ > >> PPC-elf64abi-1.9.html#FUNC-DES). > >> This fact is also reflected in the ELF ABI for PowerPC-64. This small > >> changes adds support for ELF function descriptor tables to the current > >> ELF decoder: > >> > >> http://cr.openjdk.java.net/~simonis/webrevs/8019929/ > >> > >> On architectures like x86 or SPARC, the ELF symbol table contains the > >> start address and size of an object. So for example for a function > >> object (i.e. type FUNC) the symbol table's value field directly > >> represents the starting address and the size field the size of a > >> function. On PPC64 however, the symbol table's value field only > >> contains an index into a PPC64 specific .opd (official procedure > >> descriptors) section, while the size field still holds the size of the > >> corresponding function. In order to get the actual start address of a > >> function, it is necessary to read the corresponding function > >> descriptor entry in the .opd section at the corresponding index and > >> extract the start address from there. > >> > >> This change extends the current HotSpot ELF utilities to support the > >> .opd (official procedure descriptors) section on PPC64 platforms. It > >> does this by adding a new field m_funcDesc_table of type > >> ElfFuncDescTable to the ElfFile class. The m_funcDesc_table is > >> initialized in the ElfFile::load_tables() in the same way like the > >> symbol table members by parsing the corresponding .opd section if it > >> is available. > >> > >> The ElfSymbolTable::lookup() method is changed on PPC64 to take an > >> extra ElfFuncDescTable argument. If running on PPC64, this argument is > >> used to do the extra level of indirection through the function > >> description table to get the real start address associated with a > >> symbol. > >> > >> This change also slightly improves the implementation of > >> ElfSymbolTable::lookup(). Before, the method always iterated over all > >> symbols in the symbol table and returned the one with the highest > >> address below the requested addr argument. This not only could take a > >> significant amount of time for big libraries, it could also return > >> bogus symbols for addresses which were not really covered by that > >> symbol table at all. The new versions additionally uses the symbol > >> table's st_size field to verify that the requested addr argument is > >> indeed within the range covered by the corresponding symbol table > >> entry. If so, the search is stopped and the symbol is returned > >> immediately. > >> > >> Thank you and best regards, > >> Volker > >> > >> > From john.coomes at oracle.com Tue Dec 3 22:17:05 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Wed, 04 Dec 2013 06:17:05 +0000 Subject: hg: hsx/jdk7u/corba: 2 new changesets Message-ID: <20131204061711.914A262A30@hg.openjdk.java.net> Changeset: a531112cc6d0 Author: coffeys Date: 2013-11-11 15:52 +0000 URL: http://hg.openjdk.java.net/hsx/jdk7u/corba/rev/a531112cc6d0 8027837: JDK-8021257 causes CORBA build failure on emdedded platforms Reviewed-by: dholmes ! make/Makefile Changeset: e04ea8157df1 Author: asaha Date: 2013-11-27 14:57 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/corba/rev/e04ea8157df1 Added tag jdk7u60-b01 for changeset a531112cc6d0 ! .hgtags From john.coomes at oracle.com Tue Dec 3 22:17:23 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Wed, 04 Dec 2013 06:17:23 +0000 Subject: hg: hsx/jdk7u/jaxp: 2 new changesets Message-ID: <20131204061734.DCCB262A31@hg.openjdk.java.net> Changeset: ad39e88c5039 Author: joehw Date: 2013-10-31 20:43 -0700 URL: http://hg.openjdk.java.net/hsx/jdk7u/jaxp/rev/ad39e88c5039 8004476: XSLT Extension Functions Don't Work in WebStart Reviewed-by: dfuchs, lancea, alanb ! src/com/sun/org/apache/xalan/internal/XalanConstants.java + src/com/sun/org/apache/xalan/internal/utils/FeatureManager.java + src/com/sun/org/apache/xalan/internal/utils/FeaturePropertyBase.java ! src/com/sun/org/apache/xalan/internal/utils/XMLSecurityManager.java ! src/com/sun/org/apache/xalan/internal/utils/XMLSecurityPropertyManager.java ! src/com/sun/org/apache/xalan/internal/xsltc/cmdline/Compile.java ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/FunctionCall.java ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/XSLTC.java ! src/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesHandlerImpl.java ! src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerFactoryImpl.java ! src/com/sun/org/apache/xerces/internal/utils/SecuritySupport.java ! src/com/sun/org/apache/xpath/internal/jaxp/JAXPExtensionsProvider.java ! src/com/sun/org/apache/xpath/internal/jaxp/XPathExpressionImpl.java ! src/com/sun/org/apache/xpath/internal/jaxp/XPathFactoryImpl.java ! src/com/sun/org/apache/xpath/internal/jaxp/XPathImpl.java Changeset: 050986fd54e3 Author: asaha Date: 2013-11-27 14:57 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/jaxp/rev/050986fd54e3 Added tag jdk7u60-b01 for changeset ad39e88c5039 ! .hgtags From john.coomes at oracle.com Tue Dec 3 22:17:49 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Wed, 04 Dec 2013 06:17:49 +0000 Subject: hg: hsx/jdk7u/jaxws: Added tag jdk7u60-b01 for changeset f675dfce1e61 Message-ID: <20131204061756.9999162A32@hg.openjdk.java.net> Changeset: 8a3b9e8492a5 Author: asaha Date: 2013-11-27 14:58 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/jaxws/rev/8a3b9e8492a5 Added tag jdk7u60-b01 for changeset f675dfce1e61 ! .hgtags From john.coomes at oracle.com Tue Dec 3 22:18:23 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Wed, 04 Dec 2013 06:18:23 +0000 Subject: hg: hsx/jdk7u/jdk: 10 new changesets Message-ID: <20131204062130.89AC662A33@hg.openjdk.java.net> Changeset: c45d0b1afbeb Author: joehw Date: 2013-10-31 20:36 -0700 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/c45d0b1afbeb 8024876: [TEST_BUG] javax/xml/jaxp/parsers/8022548/XOMParserTest.java failed when testbase dir has read only permissions Reviewed-by: chegar ! test/javax/xml/jaxp/parsers/8022548/XOMParserTest.java Changeset: bcf1da5504d1 Author: joehw Date: 2013-10-31 20:45 -0700 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/bcf1da5504d1 8004476: XSLT Extension Functions Don't Work in WebStart Reviewed-by: dfuchs, lancea, alanb + test/javax/xml/jaxp/transform/jdk8004476/SecureProcessingTest.xml + test/javax/xml/jaxp/transform/jdk8004476/TestBase.java + test/javax/xml/jaxp/transform/jdk8004476/XPathExFuncTest.java + test/javax/xml/jaxp/transform/jdk8004476/XSLTExFuncTest.java + test/javax/xml/jaxp/transform/jdk8004476/tokenize.xml + test/javax/xml/jaxp/transform/jdk8004476/tokenize.xsl Changeset: ae26ea897101 Author: joehw Date: 2013-11-05 13:25 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/ae26ea897101 8027860: [TEST_BUG] File not closed in javax/xml/jaxp/parsers/8022548/XOMParserTest.java Reviewed-by: alanb ! test/javax/xml/jaxp/parsers/8022548/XOMParserTest.java Changeset: 4c8b79d3200a Author: art Date: 2013-11-07 15:36 +0400 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/4c8b79d3200a 8021943: FileDialog getFile returns corrupted string after previous setFile Reviewed-by: anthony, serb Contributed-by: alexander.zvegintsev at oracle.com ! src/windows/native/sun/windows/awt_FileDialog.cpp Changeset: 06aa743f86e2 Author: jzavgren Date: 2013-04-11 12:33 -0400 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/06aa743f86e2 8008118: (process) Possible null pointer dereference in jdk/src/solaris/native/java/lang/UNIXProcess_md.c Summary: Modified the path processing code so that it detects and handles out of memory errors. Reviewed-by: chegar, martin, christos, alanb, msheppar Contributed-by: john.zavgren at oracle.com ! make/java/java/mapfile-vers ! src/solaris/classes/java/lang/UNIXProcess.java.bsd ! src/solaris/classes/java/lang/UNIXProcess.java.linux ! src/solaris/classes/java/lang/UNIXProcess.java.solaris ! src/solaris/native/java/lang/ProcessEnvironment_md.c ! src/solaris/native/java/lang/UNIXProcess_md.c Changeset: 03b2a7de5c2e Author: robm Date: 2013-11-13 17:51 +0000 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/03b2a7de5c2e 5049299: (process) Use posix_spawn, not fork, on S10 to avoid swap exhaustion Reviewed-by: alanb, dholmes ! make/java/java/Exportedfiles.gmk ! make/java/java/Makefile ! src/solaris/classes/java/lang/UNIXProcess.java.bsd ! src/solaris/classes/java/lang/UNIXProcess.java.linux ! src/solaris/classes/java/lang/UNIXProcess.java.solaris ! src/solaris/native/java/lang/UNIXProcess_md.c + src/solaris/native/java/lang/childproc.c + src/solaris/native/java/lang/childproc.h + src/solaris/native/java/lang/jspawnhelper.c ! test/java/lang/ProcessBuilder/Basic.java + test/java/lang/ProcessBuilder/BasicLauncher.java Changeset: 7383847ce180 Author: ksrini Date: 2013-10-19 15:19 -0700 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/7383847ce180 8026794: Test tools/pack200/TimeStamp.java fails while opening golden.jar.native.IST on linux-ppc(v2) Reviewed-by: dholmes ! src/share/native/com/sun/java/util/jar/pack/zip.cpp Changeset: 837746b32b81 Author: pchelko Date: 2013-11-15 14:04 +0400 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/837746b32b81 7173464: Clipboard.getAvailableDataFlavors: Comparison method violates contract Reviewed-by: anthony, art, serb ! src/share/classes/sun/awt/datatransfer/ClipboardTransferable.java ! src/share/classes/sun/awt/datatransfer/DataTransferer.java + test/sun/awt/datatransfer/DataFlavorComparatorTest.java Changeset: def34c4a7986 Author: igerasim Date: 2013-11-18 10:42 +0400 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/def34c4a7986 8024521: (process) Async close issues with Process InputStream Reviewed-by: psandoz, martin, alanb, robm ! src/solaris/classes/java/lang/UNIXProcess.java.bsd ! src/solaris/classes/java/lang/UNIXProcess.java.linux + test/java/lang/Runtime/exec/CloseRace.java Changeset: d00ac65fc4c5 Author: asaha Date: 2013-11-27 14:58 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/d00ac65fc4c5 Added tag jdk7u60-b01 for changeset def34c4a7986 ! .hgtags From john.coomes at oracle.com Tue Dec 3 22:21:51 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Wed, 04 Dec 2013 06:21:51 +0000 Subject: hg: hsx/jdk7u/langtools: Added tag jdk7u60-b01 for changeset b19e375d9829 Message-ID: <20131204062202.4D9B462A34@hg.openjdk.java.net> Changeset: 954e1616449a Author: asaha Date: 2013-11-27 14:59 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/langtools/rev/954e1616449a Added tag jdk7u60-b01 for changeset b19e375d9829 ! .hgtags From john.coomes at oracle.com Tue Dec 3 22:16:40 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Wed, 04 Dec 2013 06:16:40 +0000 Subject: hg: hsx/jdk7u: Added tag jdk7u60-b01 for changeset 88113cabda38 Message-ID: <20131204061640.74F5B62A2E@hg.openjdk.java.net> Changeset: 6bdacebbc97f Author: asaha Date: 2013-11-27 14:57 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/rev/6bdacebbc97f Added tag jdk7u60-b01 for changeset 88113cabda38 ! .hgtags From karen.kinnear at oracle.com Wed Dec 4 05:05:26 2013 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Wed, 4 Dec 2013 08:05:26 -0500 Subject: Result: New hsx Committer: Eric McCorkle In-Reply-To: <20936.39237.235202.191252@oracle.com> References: <20918.1511.548877.879954@oracle.com> <20936.39237.235202.191252@oracle.com> Message-ID: <22C3A871-1E77-421A-B1C2-7C584D016BE5@oracle.com> > Voting for Eric McCorkle [1] is now closed. > > Yes: 16 > Veto: 0 > Abstain: 0 > > According to the Bylaws definition of Lazy Consensus, this is > sufficient to approve the nomination. > > Karen Kinnear > > [1] http://mail.openjdk.java.net/pipermail/hotspot-dev/2013-November/011716.html From stefan.johansson at oracle.com Wed Dec 4 08:48:35 2013 From: stefan.johansson at oracle.com (Stefan Johansson) Date: Wed, 04 Dec 2013 17:48:35 +0100 Subject: RFR: 8028993: Full collections with ParallelScavenge slower in JDK 8 compared to 7u40 Message-ID: <529F5CE3.5020301@oracle.com> Hi, Can I have some reviews for this change to fix: https://bugs.openjdk.java.net/browse/JDK-8028993 Webrev: http://cr.openjdk.java.net/~sjohanss/8028993/webrev.00/ Summary: While fixing JDK-8027675 we realized that we should have a similar regression with ParallelGC. The regression is not as big as with serial but the logic changes are the same and I've been able to measure a significant improvement with this fix, taking us on par with 7u40. The theory behind the fix is the same as when fixing serial: --- To improve the mark phase: * Enabled the calls to follow_klass to be inlined. * Reduce the extensive amount of calls to follow_class_loader in follow_klass and instead just mark the klass holder (the class loader or the java mirror) for the given klass. To improve the adjust phase: * All calls to adjust_klass have been removed since this is already handled by processing the ClassLoaderDataGraph. --- Testing: * Building and basic testing through JPRT * Some manual testing running Nashorn tests * Performance testing with SPECjbb2005 Thanks, Stefan From markus.gronlund at oracle.com Wed Dec 4 09:32:53 2013 From: markus.gronlund at oracle.com (markus.gronlund at oracle.com) Date: Wed, 04 Dec 2013 17:32:53 +0000 Subject: hg: hsx/hotspot-main/hotspot: 6 new changesets Message-ID: <20131204173316.F381B62A5E@hg.openjdk.java.net> Changeset: 8a42e81e2f9d Author: dsamersoff Date: 2013-11-27 14:26 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/8a42e81e2f9d 7050685: jsdbproc64.sh has a typo in the package name Summary: fixed typeo Reviewed-by: sla, kmo, sspitsyn ! agent/make/jsdbproc64.sh Changeset: 6ce6a0d23467 Author: mgronlun Date: 2013-12-02 11:42 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/6ce6a0d23467 Merge - test/compiler/jsr292/methodHandleExceptions/C.java - test/compiler/jsr292/methodHandleExceptions/I.java Changeset: 7a58803b5069 Author: acorn Date: 2013-12-03 08:36 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/7a58803b5069 8026066: ICCE for invokeinterface static Reviewed-by: coleenp, lfoltan, hseigel ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/interpreter/linkResolver.hpp ! test/TEST.groups ! test/runtime/8024804/RegisterNatives.java Changeset: 379f11bc04fc Author: acorn Date: 2013-12-03 11:13 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/379f11bc04fc 8028438: static superclass method masks default methods Reviewed-by: hseigel, lfoltan, coleenp ! src/share/vm/classfile/defaultMethods.cpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klassVtable.cpp Changeset: c8c2d6b82499 Author: sspitsyn Date: 2013-12-03 15:41 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/c8c2d6b82499 8028126: nsk/jvmti/scenarios/hotswap/HS101/hs101t006 Crashed the vm on Solaris-sparc64 fastdebug builds: only current thread can flush its registers Summary: Fix a race between VMOp_GetCurrentLocation reaching a safepoint and arget thread exiting from Java execution Reviewed-by: sla, dholmes, dsamersoff Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/prims/jvmtiEnvThreadState.cpp Changeset: e84d2afb2fb0 Author: sspitsyn Date: 2013-12-03 13:56 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/e84d2afb2fb0 Merge From volker.simonis at gmail.com Wed Dec 4 11:17:31 2013 From: volker.simonis at gmail.com (Volker Simonis) Date: Wed, 4 Dec 2013 20:17:31 +0100 Subject: RFR(S): 8019929: PPC64 (part 107): Extend ELF-decoder to support PPC64 function descriptor tables In-Reply-To: References: <529E3011.9080403@oracle.com> Message-ID: Hi, thanks for the comments. I think the function descriptor table logically belongs to the ELF-file itself and not to symbol table. An ELF file can have several symbol tables but just one function descriptor table. Also, the function descriptor table is read in when the ELF file is opened (i.e. in the ElfFile constructor). So after Vladimirs suggestion to remove most of the "#ifdef PPC64" there was no reason to keep the ElfFuncDescTable class in elfSymbolTable.{hpp,cpp} so I created two new files elfFuncDescTable.{hpp, cpp} for it. Now the only remaining "#ifdef PPC64" is in ElfFile::load_tables() when the function descriptor table is loaded (as requested by Vladimir). But actually, the corresponding '.opd' section is only available on PPC64 (see http://refspecs.linuxfoundation.org/LSB_3.1.1/LSB-Core-PPC64/LSB-Core-PPC64/specialsections.html) and I don't think the code will do any harm if it would be executed on a non-PPC64 system - the '.opd' section would just not be found. I also think the corresponding performance impact would be minimal compared to the loading of the symbol and string tables. So I tend to remove the last "#ifdef PPC64" as well. So what do you think - I'm OK with both solutions? Below is a webrev with the described changes (and still with the last "#ifdef PPC64" in ElfFile::load_tables()): http://cr.openjdk.java.net/~simonis/webrevs/8019929.v2/ If you agree with it, I would appreciate if you could push it trough JPRT. Thank you and best regards, Volker PS: the little change in make/aix/makefiles/vm.make was necessarx to exlude the new file from the AIX-build because AIX uses XCOFF instead of ELF. On Wed, Dec 4, 2013 at 3:39 AM, Vitaly Davidovich wrote: > Hi Volker, > > Would it be cleaner if you were to extend ElfSymbolTable for PPC and embed > the funcDesc in there, keeping the lookup() signature the same? It seems > like the funcDesc should be a hidden indirection as part of lookup() rather > than a parameter. > > Just a thought ... > > Sent from my phone > > On Dec 3, 2013 5:43 PM, "Volker Simonis" wrote: >> >> Hi Vladimir, >> >> thanks for looking at the change. I initially did it this way to >> keep changes to the existing platforms as small as possible but I'll be >> happy to change in the way you suggested if nobody objects. >> >> Regards, >> Volker >> >> On Tuesday, December 3, 2013, Vladimir Kozlov wrote: >> >> > Volker, >> > >> > It looks fine to me except #ifdef pollution. >> > >> > I think ElfSymbolTable::lookup() should always take ElfFuncDescTable >> > argument and you need ElfFuncDescTable always defined. >> > In ElfSymbolTable::lookup() you can check funcDescTable for null instead >> > of ifdefs. >> > The only place we can keep #ifdef is m_funcDesc_table setting in >> > ElfFile::load_tables(). >> > ElfFuncDescTable class's methods are not so big to ifdef them. >> > >> > But others may have different opinion. >> > >> > Thanks, >> > Vladimir >> > >> > On 12/3/13 9:39 AM, Volker Simonis wrote: >> > >> >> On PowerPC-64 (and other architectures like for example IA64) a >> >> pointer to a function is not just a plain code address, but a pointer >> >> to a so called function descriptor (see >> >> http://refspecs.linuxfoundation.org/ELF/ppc64/ >> >> PPC-elf64abi-1.9.html#FUNC-DES). >> >> This fact is also reflected in the ELF ABI for PowerPC-64. This small >> >> changes adds support for ELF function descriptor tables to the current >> >> ELF decoder: >> >> >> >> http://cr.openjdk.java.net/~simonis/webrevs/8019929/ >> >> >> >> On architectures like x86 or SPARC, the ELF symbol table contains the >> >> start address and size of an object. So for example for a function >> >> object (i.e. type FUNC) the symbol table's value field directly >> >> represents the starting address and the size field the size of a >> >> function. On PPC64 however, the symbol table's value field only >> >> contains an index into a PPC64 specific .opd (official procedure >> >> descriptors) section, while the size field still holds the size of the >> >> corresponding function. In order to get the actual start address of a >> >> function, it is necessary to read the corresponding function >> >> descriptor entry in the .opd section at the corresponding index and >> >> extract the start address from there. >> >> >> >> This change extends the current HotSpot ELF utilities to support the >> >> .opd (official procedure descriptors) section on PPC64 platforms. It >> >> does this by adding a new field m_funcDesc_table of type >> >> ElfFuncDescTable to the ElfFile class. The m_funcDesc_table is >> >> initialized in the ElfFile::load_tables() in the same way like the >> >> symbol table members by parsing the corresponding .opd section if it >> >> is available. >> >> >> >> The ElfSymbolTable::lookup() method is changed on PPC64 to take an >> >> extra ElfFuncDescTable argument. If running on PPC64, this argument is >> >> used to do the extra level of indirection through the function >> >> description table to get the real start address associated with a >> >> symbol. >> >> >> >> This change also slightly improves the implementation of >> >> ElfSymbolTable::lookup(). Before, the method always iterated over all >> >> symbols in the symbol table and returned the one with the highest >> >> address below the requested addr argument. This not only could take a >> >> significant amount of time for big libraries, it could also return >> >> bogus symbols for addresses which were not really covered by that >> >> symbol table at all. The new versions additionally uses the symbol >> >> table's st_size field to verify that the requested addr argument is >> >> indeed within the range covered by the corresponding symbol table >> >> entry. If so, the search is stopped and the symbol is returned >> >> immediately. >> >> >> >> Thank you and best regards, >> >> Volker >> >> >> >> From vladimir.kozlov at oracle.com Wed Dec 4 12:41:59 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 04 Dec 2013 12:41:59 -0800 Subject: RFR(S): 8019929: PPC64 (part 107): Extend ELF-decoder to support PPC64 function descriptor tables In-Reply-To: References: <529E3011.9080403@oracle.com> Message-ID: <529F9397.8080603@oracle.com> I would keep "#ifdef PPC64" in ElfFile::load_tables()) to be safe because someone can create .opd file for different purpose on other platforms. Few nitpicks. In our coding style we don't put 'else' and 'else if' on separate line: } else if () { I see you put 'else' on separate line in elfSymbolTable.cpp and elfFile.cpp. In elfFuncDescTable.cpp missed _APPLE in #endif comment. Thanks, Vladimir On 12/4/13 11:17 AM, Volker Simonis wrote: > Hi, > > thanks for the comments. > > I think the function descriptor table logically belongs to the > ELF-file itself and not to symbol table. An ELF file can have several > symbol tables but just one function descriptor table. Also, the > function descriptor table is read in when the ELF file is opened (i.e. > in the ElfFile constructor). > > So after Vladimirs suggestion to remove most of the "#ifdef PPC64" > there was no reason to keep the ElfFuncDescTable class in > elfSymbolTable.{hpp,cpp} so I created two new files > elfFuncDescTable.{hpp, cpp} for it. Now the only remaining "#ifdef > PPC64" is in ElfFile::load_tables() when the function descriptor table > is loaded (as requested by Vladimir). > > But actually, the corresponding '.opd' section is only available on > PPC64 (see http://refspecs.linuxfoundation.org/LSB_3.1.1/LSB-Core-PPC64/LSB-Core-PPC64/specialsections.html) > and I don't think the code will do any harm if it would be executed on > a non-PPC64 system - the '.opd' section would just not be found. I > also think the corresponding performance impact would be minimal > compared to the loading of the symbol and string tables. So I tend to > remove the last "#ifdef PPC64" as well. So what do you think - I'm OK > with both solutions? > > Below is a webrev with the described changes (and still with the last > "#ifdef PPC64" in ElfFile::load_tables()): > > http://cr.openjdk.java.net/~simonis/webrevs/8019929.v2/ > > If you agree with it, I would appreciate if you could push it trough JPRT. > > Thank you and best regards, > Volker > > PS: the little change in make/aix/makefiles/vm.make was necessarx to > exlude the new file from the AIX-build because AIX uses XCOFF instead > of ELF. > > > On Wed, Dec 4, 2013 at 3:39 AM, Vitaly Davidovich wrote: >> Hi Volker, >> >> Would it be cleaner if you were to extend ElfSymbolTable for PPC and embed >> the funcDesc in there, keeping the lookup() signature the same? It seems >> like the funcDesc should be a hidden indirection as part of lookup() rather >> than a parameter. >> >> Just a thought ... >> >> Sent from my phone >> >> On Dec 3, 2013 5:43 PM, "Volker Simonis" wrote: >>> >>> Hi Vladimir, >>> >>> thanks for looking at the change. I initially did it this way to >>> keep changes to the existing platforms as small as possible but I'll be >>> happy to change in the way you suggested if nobody objects. >>> >>> Regards, >>> Volker >>> >>> On Tuesday, December 3, 2013, Vladimir Kozlov wrote: >>> >>>> Volker, >>>> >>>> It looks fine to me except #ifdef pollution. >>>> >>>> I think ElfSymbolTable::lookup() should always take ElfFuncDescTable >>>> argument and you need ElfFuncDescTable always defined. >>>> In ElfSymbolTable::lookup() you can check funcDescTable for null instead >>>> of ifdefs. >>>> The only place we can keep #ifdef is m_funcDesc_table setting in >>>> ElfFile::load_tables(). >>>> ElfFuncDescTable class's methods are not so big to ifdef them. >>>> >>>> But others may have different opinion. >>>> >>>> Thanks, >>>> Vladimir >>>> >>>> On 12/3/13 9:39 AM, Volker Simonis wrote: >>>> >>>>> On PowerPC-64 (and other architectures like for example IA64) a >>>>> pointer to a function is not just a plain code address, but a pointer >>>>> to a so called function descriptor (see >>>>> http://refspecs.linuxfoundation.org/ELF/ppc64/ >>>>> PPC-elf64abi-1.9.html#FUNC-DES). >>>>> This fact is also reflected in the ELF ABI for PowerPC-64. This small >>>>> changes adds support for ELF function descriptor tables to the current >>>>> ELF decoder: >>>>> >>>>> http://cr.openjdk.java.net/~simonis/webrevs/8019929/ >>>>> >>>>> On architectures like x86 or SPARC, the ELF symbol table contains the >>>>> start address and size of an object. So for example for a function >>>>> object (i.e. type FUNC) the symbol table's value field directly >>>>> represents the starting address and the size field the size of a >>>>> function. On PPC64 however, the symbol table's value field only >>>>> contains an index into a PPC64 specific .opd (official procedure >>>>> descriptors) section, while the size field still holds the size of the >>>>> corresponding function. In order to get the actual start address of a >>>>> function, it is necessary to read the corresponding function >>>>> descriptor entry in the .opd section at the corresponding index and >>>>> extract the start address from there. >>>>> >>>>> This change extends the current HotSpot ELF utilities to support the >>>>> .opd (official procedure descriptors) section on PPC64 platforms. It >>>>> does this by adding a new field m_funcDesc_table of type >>>>> ElfFuncDescTable to the ElfFile class. The m_funcDesc_table is >>>>> initialized in the ElfFile::load_tables() in the same way like the >>>>> symbol table members by parsing the corresponding .opd section if it >>>>> is available. >>>>> >>>>> The ElfSymbolTable::lookup() method is changed on PPC64 to take an >>>>> extra ElfFuncDescTable argument. If running on PPC64, this argument is >>>>> used to do the extra level of indirection through the function >>>>> description table to get the real start address associated with a >>>>> symbol. >>>>> >>>>> This change also slightly improves the implementation of >>>>> ElfSymbolTable::lookup(). Before, the method always iterated over all >>>>> symbols in the symbol table and returned the one with the highest >>>>> address below the requested addr argument. This not only could take a >>>>> significant amount of time for big libraries, it could also return >>>>> bogus symbols for addresses which were not really covered by that >>>>> symbol table at all. The new versions additionally uses the symbol >>>>> table's st_size field to verify that the requested addr argument is >>>>> indeed within the range covered by the corresponding symbol table >>>>> entry. If so, the search is stopped and the symbol is returned >>>>> immediately. >>>>> >>>>> Thank you and best regards, >>>>> Volker >>>>> >>>>> From volker.simonis at gmail.com Wed Dec 4 14:44:34 2013 From: volker.simonis at gmail.com (Volker Simonis) Date: Wed, 4 Dec 2013 23:44:34 +0100 Subject: RFR(S): 8019929: PPC64 (part 107): Extend ELF-decoder to support PPC64 function descriptor tables In-Reply-To: <529F9397.8080603@oracle.com> References: <529E3011.9080403@oracle.com> <529F9397.8080603@oracle.com> Message-ID: On Wednesday, December 4, 2013, Vladimir Kozlov wrote: > I would keep "#ifdef PPC64" in ElfFile::load_tables()) to be safe because > someone can create .opd file for different purpose on other platforms. > > OK, no problem. > Few nitpicks. In our coding style we don't put 'else' and 'else if' on > separate line: > > } else if () { > > I see you put 'else' on separate line in elfSymbolTable.cpp and > elfFile.cpp. > > OK, I'll fix that. > In elfFuncDescTable.cpp missed _APPLE in #endif comment. > > That's because I copied it from elfFile.{hpp,cpp}. Do you want me to fix that as well? Thanks, > Vladimir > > On 12/4/13 11:17 AM, Volker Simonis wrote: > > Hi, > > thanks for the comments. > > I think the function descriptor table logically belongs to the > ELF-file itself and not to symbol table. An ELF file can have several > symbol tables but just one function descriptor table. Also, the > function descriptor table is read in when the ELF file is opened (i.e. > in the ElfFile constructor). > > So after Vladimirs suggestion to remove most of the "#ifdef PPC64" > there was no reason to keep the ElfFuncDescTable class in > elfSymbolTable.{hpp,cpp} so I created two new files > elfFuncDescTable.{hpp, cpp} for it. Now the only remaining "#ifdef > PPC64" is in ElfFile::load_tables() when the function descriptor table > is loaded (as requested by Vladimir). > > But actually, the corresponding '.opd' section is only available on > PPC64 (see http://refspecs.linuxfoundation.org/LSB_3.1.1/ > LSB-Core-PPC64/LSB-Core-PPC64/specialsections.html) > and I don't think the code will do any harm if it would be executed on > a non-PPC64 system - the '.opd' section would just not be found. I > also think the corresponding performance impact would be minimal > compared to the loading of the symbol and string tables. So I tend to > remove the last "#ifdef PPC64" as well. So what do you think - I'm OK > with both solutions? > > Below is a webrev with the described changes (and still with the last > "#ifdef PPC64" in ElfFile::load_tables()): > > http://cr.openjdk.java.net/~simonis/webrevs/8019929.v2/ > > If you agree with it, I would appreciate if you could push it trough JPRT. > > Thank you and best regards, > Volker > > PS: the little change in make/aix/makefiles/vm.make was necessarx to > exlude the new file from the AIX-build because AIX uses XCOFF instead > of ELF. > > > On Wed, Dec 4, 2013 at 3:39 AM, Vitaly Davidovich > wrote: > > Hi Volker, > > Would it be cleaner if you were to extend ElfSymbolTable for PPC and embed > the funcDesc in there, keeping the lookup() signature the same? It seems > like the funcDesc should be a hidden indirection as part of lookup() rather > than a parameter. > > Just a thought ... > > Sent from my phone > > On Dec 3, 2013 5:43 PM, "Volker Simonis" wrote: > > > Hi Vladimir, > > thanks for looking at the change. I initially did it this way to > keep changes to the existing platforms as small as possible but I'll be > happy to change in the way you suggested if nobody objects. > > Regards, > Volker > > On Tuesday, December 3, 2013, Vladimir Kozlov wrote: > > Volker, > > It looks fine to me except #ifdef pollution. > > I think ElfSymbolTable::lookup() should always take ElfFuncDescTable > argument and you need ElfFuncDescTable always defined. > In ElfSymbolTable::lookup() you can check funcDescTable for null instead > of ifdefs. > The only place we can keep #ifdef is m_funcDesc_table setting in > ElfFile::load_tables(). > ElfFuncDescTable class's methods are not so big to ifdef them. > > But others may have different opinion. > > Thanks, > Vladimir > > On 12/3/13 9:39 AM, Volker Simonis wrote: > > On PowerPC-64 (and other architectures like for example IA64) a > pointer to a function is not just a plain code address, but a pointer > to a so called function descriptor (see > http://refspecs.linuxfoundation.org/ELF/ppc64/ > PPC-elf64abi-1.9.html#FUNC-DES). > This fact is also reflected in the ELF ABI for PowerPC-64. This small > changes adds support for ELF function descriptor tables to the current > ELF decoder: > > http://cr.openjdk.java.net/~simonis/webrevs/8019929/ > > On architectures like x86 or SPARC, the ELF symbol table contains the > start address and size of an object. So for example for a function > object (i.e. type FUNC) the symbol table's value field directly > represents the > > From vladimir.kozlov at oracle.com Wed Dec 4 14:57:14 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 04 Dec 2013 14:57:14 -0800 Subject: RFR(S): 8019929: PPC64 (part 107): Extend ELF-decoder to support PPC64 function descriptor tables In-Reply-To: References: <529E3011.9080403@oracle.com> <529F9397.8080603@oracle.com> Message-ID: <529FB34A.7060006@oracle.com> On 12/4/13 2:44 PM, Volker Simonis wrote: > > On Wednesday, December 4, 2013, Vladimir Kozlov wrote: > > I would keep "#ifdef PPC64" in ElfFile::load_tables()) to be safe > because someone can create .opd file for different purpose on other > platforms. > > OK, no problem. > > Few nitpicks. In our coding style we don't put 'else' and 'else if' > on separate line: > > } else if () { > > I see you put 'else' on separate line in elfSymbolTable.cpp and > elfFile.cpp. > > OK, I'll fix that. > > In elfFuncDescTable.cpp missed _APPLE in #endif comment. > > That's because I copied it from elfFile.{hpp,cpp}. Do you want me to fix > that as well? Yes, please. I think it should be also have '!' negation: #endif // !_WINDOWS and !_APPLE Thanks, Vladimir > > Thanks, > Vladimir > > On 12/4/13 11:17 AM, Volker Simonis wrote: > > Hi, > > thanks for the comments. > > I think the function descriptor table logically belongs to the > ELF-file itself and not to symbol table. An ELF file can have > several > symbol tables but just one function descriptor table. Also, the > function descriptor table is read in when the ELF file is opened > (i.e. > in the ElfFile constructor). > > So after Vladimirs suggestion to remove most of the "#ifdef PPC64" > there was no reason to keep the ElfFuncDescTable class in > elfSymbolTable.{hpp,cpp} so I created two new files > elfFuncDescTable.{hpp, cpp} for it. Now the only remaining "#ifdef > PPC64" is in ElfFile::load_tables() when the function descriptor > table > is loaded (as requested by Vladimir). > > But actually, the corresponding '.opd' section is only available on > PPC64 (see > http://refspecs.__linuxfoundation.org/LSB_3.1.1/__LSB-Core-PPC64/LSB-Core-PPC64/__specialsections.html > ) > and I don't think the code will do any harm if it would be > executed on > a non-PPC64 system - the '.opd' section would just not be found. I > also think the corresponding performance impact would be minimal > compared to the loading of the symbol and string tables. So I > tend to > remove the last "#ifdef PPC64" as well. So what do you think - > I'm OK > with both solutions? > > Below is a webrev with the described changes (and still with the > last > "#ifdef PPC64" in ElfFile::load_tables()): > > http://cr.openjdk.java.net/~__simonis/webrevs/8019929.v2/ > > > If you agree with it, I would appreciate if you could push it > trough JPRT. > > Thank you and best regards, > Volker > > PS: the little change in make/aix/makefiles/vm.make was necessarx to > exlude the new file from the AIX-build because AIX uses XCOFF > instead > of ELF. > > > On Wed, Dec 4, 2013 at 3:39 AM, Vitaly Davidovich > wrote: > > Hi Volker, > > Would it be cleaner if you were to extend ElfSymbolTable for > PPC and embed > the funcDesc in there, keeping the lookup() signature the > same? It seems > like the funcDesc should be a hidden indirection as part of > lookup() rather > than a parameter. > > Just a thought ... > > Sent from my phone > > On Dec 3, 2013 5:43 PM, "Volker Simonis" > wrote: > > > Hi Vladimir, > > thanks for looking at the change. I initially did it > this way to > keep changes to the existing platforms as small as > possible but I'll be > happy to change in the way you suggested if nobody objects. > > Regards, > Volker > > On Tuesday, December 3, 2013, Vladimir Kozlov wrote: > > Volker, > > It looks fine to me except #ifdef pollution. > > I think ElfSymbolTable::lookup() should always take > ElfFuncDescTable > argument and you need ElfFuncDescTable always defined. > In ElfSymbolTable::lookup() you can check > funcDescTable for null instead > of ifdefs. > The only place we can keep #ifdef is > m_funcDesc_table setting in > ElfFile::load_tables(). > ElfFuncDescTable class's methods are not so big to > ifdef them. > > But others may have different opinion. > > Thanks, > Vladimir > > On 12/3/13 9:39 AM, Volker Simonis wrote: > > On PowerPC-64 (and other architectures like for > example IA64) a > pointer to a function is not just a plain code > address, but a pointer > to a so called function descriptor (see > http://refspecs.__linuxfoundation.org/ELF/ppc64/ > > PPC-elf64abi-1.9.html#FUNC-__DES). > This fact is also reflected in the ELF ABI for > PowerPC-64. This small > changes adds support for ELF function descriptor > tables to the current > ELF decoder: > > http://cr.openjdk.java.net/~__simonis/webrevs/8019929/ > > > On architectures like x86 or SPARC, the ELF > symbol table contains the > start address and size of an object. So for > example for a function > object (i.e. type FUNC) the symbol table's value > field directly > represents the > From vitalyd at gmail.com Wed Dec 4 17:15:29 2013 From: vitalyd at gmail.com (Vitaly Davidovich) Date: Wed, 4 Dec 2013 20:15:29 -0500 Subject: RFR(S): 8019929: PPC64 (part 107): Extend ELF-decoder to support PPC64 function descriptor tables In-Reply-To: References: <529E3011.9080403@oracle.com> Message-ID: Ok. 171 if (string_table->string_at(shdr.sh_name, buf, sizeof(buf)) && !strncmp(".opd", buf, 4)) { 172 m_funcDesc_table = new (std::nothrow) ElfFuncDescTable(m_file, shdr); 173 break; So if that alloc fails, I see that code handles a null m_funcDesc_table where it's used. But is that what you want for PPC64? Won't you get wrong symbol info? Code reading other tables does this for OOM cases: m_status = NullDecoder::out_of_memory; return false; Sent from my phone On Dec 4, 2013 2:17 PM, "Volker Simonis" wrote: > Hi, > > thanks for the comments. > > I think the function descriptor table logically belongs to the > ELF-file itself and not to symbol table. An ELF file can have several > symbol tables but just one function descriptor table. Also, the > function descriptor table is read in when the ELF file is opened (i.e. > in the ElfFile constructor). > > So after Vladimirs suggestion to remove most of the "#ifdef PPC64" > there was no reason to keep the ElfFuncDescTable class in > elfSymbolTable.{hpp,cpp} so I created two new files > elfFuncDescTable.{hpp, cpp} for it. Now the only remaining "#ifdef > PPC64" is in ElfFile::load_tables() when the function descriptor table > is loaded (as requested by Vladimir). > > But actually, the corresponding '.opd' section is only available on > PPC64 (see > http://refspecs.linuxfoundation.org/LSB_3.1.1/LSB-Core-PPC64/LSB-Core-PPC64/specialsections.html > ) > and I don't think the code will do any harm if it would be executed on > a non-PPC64 system - the '.opd' section would just not be found. I > also think the corresponding performance impact would be minimal > compared to the loading of the symbol and string tables. So I tend to > remove the last "#ifdef PPC64" as well. So what do you think - I'm OK > with both solutions? > > Below is a webrev with the described changes (and still with the last > "#ifdef PPC64" in ElfFile::load_tables()): > > http://cr.openjdk.java.net/~simonis/webrevs/8019929.v2/ > > If you agree with it, I would appreciate if you could push it trough JPRT. > > Thank you and best regards, > Volker > > PS: the little change in make/aix/makefiles/vm.make was necessarx to > exlude the new file from the AIX-build because AIX uses XCOFF instead > of ELF. > > > On Wed, Dec 4, 2013 at 3:39 AM, Vitaly Davidovich > wrote: > > Hi Volker, > > > > Would it be cleaner if you were to extend ElfSymbolTable for PPC and > embed > > the funcDesc in there, keeping the lookup() signature the same? It seems > > like the funcDesc should be a hidden indirection as part of lookup() > rather > > than a parameter. > > > > Just a thought ... > > > > Sent from my phone > > > > On Dec 3, 2013 5:43 PM, "Volker Simonis" > wrote: > >> > >> Hi Vladimir, > >> > >> thanks for looking at the change. I initially did it this way to > >> keep changes to the existing platforms as small as possible but I'll be > >> happy to change in the way you suggested if nobody objects. > >> > >> Regards, > >> Volker > >> > >> On Tuesday, December 3, 2013, Vladimir Kozlov wrote: > >> > >> > Volker, > >> > > >> > It looks fine to me except #ifdef pollution. > >> > > >> > I think ElfSymbolTable::lookup() should always take ElfFuncDescTable > >> > argument and you need ElfFuncDescTable always defined. > >> > In ElfSymbolTable::lookup() you can check funcDescTable for null > instead > >> > of ifdefs. > >> > The only place we can keep #ifdef is m_funcDesc_table setting in > >> > ElfFile::load_tables(). > >> > ElfFuncDescTable class's methods are not so big to ifdef them. > >> > > >> > But others may have different opinion. > >> > > >> > Thanks, > >> > Vladimir > >> > > >> > On 12/3/13 9:39 AM, Volker Simonis wrote: > >> > > >> >> On PowerPC-64 (and other architectures like for example IA64) a > >> >> pointer to a function is not just a plain code address, but a pointer > >> >> to a so called function descriptor (see > >> >> http://refspecs.linuxfoundation.org/ELF/ppc64/ > >> >> PPC-elf64abi-1.9.html#FUNC-DES). > >> >> This fact is also reflected in the ELF ABI for PowerPC-64. This small > >> >> changes adds support for ELF function descriptor tables to the > current > >> >> ELF decoder: > >> >> > >> >> http://cr.openjdk.java.net/~simonis/webrevs/8019929/ > >> >> > >> >> On architectures like x86 or SPARC, the ELF symbol table contains the > >> >> start address and size of an object. So for example for a function > >> >> object (i.e. type FUNC) the symbol table's value field directly > >> >> represents the starting address and the size field the size of a > >> >> function. On PPC64 however, the symbol table's value field only > >> >> contains an index into a PPC64 specific .opd (official procedure > >> >> descriptors) section, while the size field still holds the size of > the > >> >> corresponding function. In order to get the actual start address of a > >> >> function, it is necessary to read the corresponding function > >> >> descriptor entry in the .opd section at the corresponding index and > >> >> extract the start address from there. > >> >> > >> >> This change extends the current HotSpot ELF utilities to support the > >> >> .opd (official procedure descriptors) section on PPC64 platforms. It > >> >> does this by adding a new field m_funcDesc_table of type > >> >> ElfFuncDescTable to the ElfFile class. The m_funcDesc_table is > >> >> initialized in the ElfFile::load_tables() in the same way like the > >> >> symbol table members by parsing the corresponding .opd section if it > >> >> is available. > >> >> > >> >> The ElfSymbolTable::lookup() method is changed on PPC64 to take an > >> >> extra ElfFuncDescTable argument. If running on PPC64, this argument > is > >> >> used to do the extra level of indirection through the function > >> >> description table to get the real start address associated with a > >> >> symbol. > >> >> > >> >> This change also slightly improves the implementation of > >> >> ElfSymbolTable::lookup(). Before, the method always iterated over all > >> >> symbols in the symbol table and returned the one with the highest > >> >> address below the requested addr argument. This not only could take a > >> >> significant amount of time for big libraries, it could also return > >> >> bogus symbols for addresses which were not really covered by that > >> >> symbol table at all. The new versions additionally uses the symbol > >> >> table's st_size field to verify that the requested addr argument is > >> >> indeed within the range covered by the corresponding symbol table > >> >> entry. If so, the search is stopped and the symbol is returned > >> >> immediately. > >> >> > >> >> Thank you and best regards, > >> >> Volker > >> >> > >> >> > From volker.simonis at gmail.com Thu Dec 5 00:22:16 2013 From: volker.simonis at gmail.com (Volker Simonis) Date: Thu, 5 Dec 2013 09:22:16 +0100 Subject: RFR(S): 8019929: PPC64 (part 107): Extend ELF-decoder to support PPC64 function descriptor tables In-Reply-To: References: <529E3011.9080403@oracle.com> Message-ID: Hi Vitaly, you're right - I'll fix it. Thanks, Volker On Thu, Dec 5, 2013 at 2:15 AM, Vitaly Davidovich wrote: > Ok. > > 171 if (string_table->string_at(shdr.sh_name, buf, sizeof(buf)) && > !strncmp(".opd", buf, 4)) { > 172 m_funcDesc_table = new (std::nothrow) ElfFuncDescTable(m_file, > shdr); > 173 break; > > So if that alloc fails, I see that code handles a null m_funcDesc_table > where it's used. But is that what you want for PPC64? Won't you get wrong > symbol info? Code reading other tables does this for OOM cases: > > m_status = NullDecoder::out_of_memory; > return false; > > Sent from my phone > > On Dec 4, 2013 2:17 PM, "Volker Simonis" wrote: >> >> Hi, >> >> thanks for the comments. >> >> I think the function descriptor table logically belongs to the >> ELF-file itself and not to symbol table. An ELF file can have several >> symbol tables but just one function descriptor table. Also, the >> function descriptor table is read in when the ELF file is opened (i.e. >> in the ElfFile constructor). >> >> So after Vladimirs suggestion to remove most of the "#ifdef PPC64" >> there was no reason to keep the ElfFuncDescTable class in >> elfSymbolTable.{hpp,cpp} so I created two new files >> elfFuncDescTable.{hpp, cpp} for it. Now the only remaining "#ifdef >> PPC64" is in ElfFile::load_tables() when the function descriptor table >> is loaded (as requested by Vladimir). >> >> But actually, the corresponding '.opd' section is only available on >> PPC64 (see >> http://refspecs.linuxfoundation.org/LSB_3.1.1/LSB-Core-PPC64/LSB-Core-PPC64/specialsections.html) >> and I don't think the code will do any harm if it would be executed on >> a non-PPC64 system - the '.opd' section would just not be found. I >> also think the corresponding performance impact would be minimal >> compared to the loading of the symbol and string tables. So I tend to >> remove the last "#ifdef PPC64" as well. So what do you think - I'm OK >> with both solutions? >> >> Below is a webrev with the described changes (and still with the last >> "#ifdef PPC64" in ElfFile::load_tables()): >> >> http://cr.openjdk.java.net/~simonis/webrevs/8019929.v2/ >> >> If you agree with it, I would appreciate if you could push it trough JPRT. >> >> Thank you and best regards, >> Volker >> >> PS: the little change in make/aix/makefiles/vm.make was necessarx to >> exlude the new file from the AIX-build because AIX uses XCOFF instead >> of ELF. >> >> >> On Wed, Dec 4, 2013 at 3:39 AM, Vitaly Davidovich >> wrote: >> > Hi Volker, >> > >> > Would it be cleaner if you were to extend ElfSymbolTable for PPC and >> > embed >> > the funcDesc in there, keeping the lookup() signature the same? It seems >> > like the funcDesc should be a hidden indirection as part of lookup() >> > rather >> > than a parameter. >> > >> > Just a thought ... >> > >> > Sent from my phone >> > >> > On Dec 3, 2013 5:43 PM, "Volker Simonis" >> > wrote: >> >> >> >> Hi Vladimir, >> >> >> >> thanks for looking at the change. I initially did it this way to >> >> keep changes to the existing platforms as small as possible but I'll be >> >> happy to change in the way you suggested if nobody objects. >> >> >> >> Regards, >> >> Volker >> >> >> >> On Tuesday, December 3, 2013, Vladimir Kozlov wrote: >> >> >> >> > Volker, >> >> > >> >> > It looks fine to me except #ifdef pollution. >> >> > >> >> > I think ElfSymbolTable::lookup() should always take ElfFuncDescTable >> >> > argument and you need ElfFuncDescTable always defined. >> >> > In ElfSymbolTable::lookup() you can check funcDescTable for null >> >> > instead >> >> > of ifdefs. >> >> > The only place we can keep #ifdef is m_funcDesc_table setting in >> >> > ElfFile::load_tables(). >> >> > ElfFuncDescTable class's methods are not so big to ifdef them. >> >> > >> >> > But others may have different opinion. >> >> > >> >> > Thanks, >> >> > Vladimir >> >> > >> >> > On 12/3/13 9:39 AM, Volker Simonis wrote: >> >> > >> >> >> On PowerPC-64 (and other architectures like for example IA64) a >> >> >> pointer to a function is not just a plain code address, but a >> >> >> pointer >> >> >> to a so called function descriptor (see >> >> >> http://refspecs.linuxfoundation.org/ELF/ppc64/ >> >> >> PPC-elf64abi-1.9.html#FUNC-DES). >> >> >> This fact is also reflected in the ELF ABI for PowerPC-64. This >> >> >> small >> >> >> changes adds support for ELF function descriptor tables to the >> >> >> current >> >> >> ELF decoder: >> >> >> >> >> >> http://cr.openjdk.java.net/~simonis/webrevs/8019929/ >> >> >> >> >> >> On architectures like x86 or SPARC, the ELF symbol table contains >> >> >> the >> >> >> start address and size of an object. So for example for a function >> >> >> object (i.e. type FUNC) the symbol table's value field directly >> >> >> represents the starting address and the size field the size of a >> >> >> function. On PPC64 however, the symbol table's value field only >> >> >> contains an index into a PPC64 specific .opd (official procedure >> >> >> descriptors) section, while the size field still holds the size of >> >> >> the >> >> >> corresponding function. In order to get the actual start address of >> >> >> a >> >> >> function, it is necessary to read the corresponding function >> >> >> descriptor entry in the .opd section at the corresponding index and >> >> >> extract the start address from there. >> >> >> >> >> >> This change extends the current HotSpot ELF utilities to support the >> >> >> .opd (official procedure descriptors) section on PPC64 platforms. It >> >> >> does this by adding a new field m_funcDesc_table of type >> >> >> ElfFuncDescTable to the ElfFile class. The m_funcDesc_table is >> >> >> initialized in the ElfFile::load_tables() in the same way like the >> >> >> symbol table members by parsing the corresponding .opd section if it >> >> >> is available. >> >> >> >> >> >> The ElfSymbolTable::lookup() method is changed on PPC64 to take an >> >> >> extra ElfFuncDescTable argument. If running on PPC64, this argument >> >> >> is >> >> >> used to do the extra level of indirection through the function >> >> >> description table to get the real start address associated with a >> >> >> symbol. >> >> >> >> >> >> This change also slightly improves the implementation of >> >> >> ElfSymbolTable::lookup(). Before, the method always iterated over >> >> >> all >> >> >> symbols in the symbol table and returned the one with the highest >> >> >> address below the requested addr argument. This not only could take >> >> >> a >> >> >> significant amount of time for big libraries, it could also return >> >> >> bogus symbols for addresses which were not really covered by that >> >> >> symbol table at all. The new versions additionally uses the symbol >> >> >> table's st_size field to verify that the requested addr argument is >> >> >> indeed within the range covered by the corresponding symbol table >> >> >> entry. If so, the search is stopped and the symbol is returned >> >> >> immediately. >> >> >> >> >> >> Thank you and best regards, >> >> >> Volker >> >> >> >> >> >> From erik.helin at oracle.com Thu Dec 5 09:59:45 2013 From: erik.helin at oracle.com (erik.helin at oracle.com) Date: Thu, 05 Dec 2013 17:59:45 +0000 Subject: hg: hsx/hotspot-main/hotspot: 4 new changesets Message-ID: <20131205180004.47C2662ACC@hg.openjdk.java.net> Changeset: 55a0da3d420b Author: sjohanss Date: 2013-11-26 14:35 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/55a0da3d420b 8027675: Full collections with Serial slower in JDK 8 compared to 7u40 Summary: Reduced the number of calls to follow_class_loader and instead marked and pushed the klass holder directly. Also removed unneeded calls to adjust_klass. Reviewed-by: coleenp, jmasa, mgerdin, tschatzl ! src/share/vm/gc_implementation/shared/markSweep.cpp ! src/share/vm/gc_implementation/shared/markSweep.hpp ! src/share/vm/gc_implementation/shared/markSweep.inline.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceMirrorKlass.cpp ! src/share/vm/oops/objArrayKlass.cpp Changeset: 9fc985481d78 Author: ehelin Date: 2013-12-02 15:43 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/9fc985481d78 Merge ! src/share/vm/oops/instanceKlass.cpp - test/compiler/jsr292/methodHandleExceptions/C.java - test/compiler/jsr292/methodHandleExceptions/I.java Changeset: 50287b659eb8 Author: sjohanss Date: 2013-12-03 12:01 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/50287b659eb8 8029329: tmtools tests fail with NPE (in the tool) when run with G1 and FlightRecorder Summary: Now iterating over all committed (used) G1 regions instead of all reserved. Reviewed-by: brutisso, dsamersoff, mgerdin ! agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/G1HeapRegionTable.java ! agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/HeapRegionSeq.java Changeset: 816c89d5957d Author: ehelin Date: 2013-12-05 17:49 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/816c89d5957d Merge ! src/share/vm/oops/instanceKlass.cpp From john.coomes at oracle.com Thu Dec 5 10:31:52 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Thu, 05 Dec 2013 18:31:52 +0000 Subject: hg: hsx/hotspot-main/corba: 5 new changesets Message-ID: <20131205183158.A86CE62ACF@hg.openjdk.java.net> Changeset: 9729f9862eb4 Author: ihse Date: 2013-11-04 11:09 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/corba/rev/9729f9862eb4 8027566: Remove the old build system Reviewed-by: erikj, tbell + make/BuildCorba.gmk ! make/Makefile - make/com/Makefile - make/com/sun/Makefile - make/com/sun/corba/Makefile - make/com/sun/corba/minclude/com_sun_corba_se_PortableActivationIDL.jmk - make/com/sun/corba/minclude/com_sun_corba_se_impl_activation.jmk - make/com/sun/corba/minclude/com_sun_corba_se_impl_corba.jmk - make/com/sun/corba/minclude/com_sun_corba_se_impl_core.jmk - make/com/sun/corba/minclude/com_sun_corba_se_impl_dynamicany.jmk - make/com/sun/corba/minclude/com_sun_corba_se_impl_encoding.jmk - make/com/sun/corba/minclude/com_sun_corba_se_impl_interceptors.jmk - make/com/sun/corba/minclude/com_sun_corba_se_impl_io.jmk - make/com/sun/corba/minclude/com_sun_corba_se_impl_ior.jmk - make/com/sun/corba/minclude/com_sun_corba_se_impl_legacy.jmk - make/com/sun/corba/minclude/com_sun_corba_se_impl_logging.jmk - make/com/sun/corba/minclude/com_sun_corba_se_impl_monitoring.jmk - make/com/sun/corba/minclude/com_sun_corba_se_impl_naming_cosnaming.jmk - make/com/sun/corba/minclude/com_sun_corba_se_impl_naming_namingutil.jmk - make/com/sun/corba/minclude/com_sun_corba_se_impl_naming_pcosnaming.jmk - make/com/sun/corba/minclude/com_sun_corba_se_impl_oa_poa.jmk - make/com/sun/corba/minclude/com_sun_corba_se_impl_oa_toa.jmk - make/com/sun/corba/minclude/com_sun_corba_se_impl_orb.jmk - make/com/sun/corba/minclude/com_sun_corba_se_impl_orbutil.jmk - make/com/sun/corba/minclude/com_sun_corba_se_impl_presentation_rmi.jmk - make/com/sun/corba/minclude/com_sun_corba_se_impl_protocol.jmk - make/com/sun/corba/minclude/com_sun_corba_se_impl_resolver.jmk - make/com/sun/corba/minclude/com_sun_corba_se_impl_transport.jmk - make/com/sun/corba/minclude/com_sun_corba_se_impl_util.jmk - make/com/sun/corba/minclude/com_sun_corba_se_internal_LegacyFiles.jmk - make/com/sun/corba/minclude/com_sun_corba_se_pept.jmk - make/com/sun/corba/minclude/com_sun_corba_se_spi_activation.jmk - make/com/sun/corba/minclude/com_sun_corba_se_spi_copyobject.jmk - make/com/sun/corba/minclude/com_sun_corba_se_spi_encoding.jmk - make/com/sun/corba/minclude/com_sun_corba_se_spi_extension.jmk - make/com/sun/corba/minclude/com_sun_corba_se_spi_ior.jmk - make/com/sun/corba/minclude/com_sun_corba_se_spi_legacy_connection.jmk - make/com/sun/corba/minclude/com_sun_corba_se_spi_legacy_interceptor.jmk - make/com/sun/corba/minclude/com_sun_corba_se_spi_logging.jmk - make/com/sun/corba/minclude/com_sun_corba_se_spi_monitoring.jmk - make/com/sun/corba/minclude/com_sun_corba_se_spi_oa.jmk - make/com/sun/corba/minclude/com_sun_corba_se_spi_orb.jmk - make/com/sun/corba/minclude/com_sun_corba_se_spi_orbutil.jmk - make/com/sun/corba/minclude/com_sun_corba_se_spi_presentation_rmi.jmk - make/com/sun/corba/minclude/com_sun_corba_se_spi_protocol.jmk - make/com/sun/corba/minclude/com_sun_corba_se_spi_resolver.jmk - make/com/sun/corba/minclude/com_sun_corba_se_spi_servicecontext.jmk - make/com/sun/corba/minclude/com_sun_corba_se_spi_transport.jmk - make/com/sun/corba/minclude/com_sun_tools_corba_se_idl_toJavaPortable.jmk - make/com/sun/corba/minclude/javax_activity.jmk - make/com/sun/corba/minclude/javax_rmi.jmk - make/com/sun/corba/minclude/javax_rmi_CORBA.jmk - make/com/sun/corba/minclude/javax_transaction.jmk - make/com/sun/corba/minclude/org_omg_CORBA.jmk - make/com/sun/corba/minclude/org_omg_CORBAX.jmk - make/com/sun/corba/minclude/org_omg_CORBA_2_3.jmk - make/com/sun/corba/minclude/org_omg_CosNaming.jmk - make/com/sun/corba/minclude/org_omg_DynamicAny.jmk - make/com/sun/corba/minclude/org_omg_IOP.jmk - make/com/sun/corba/minclude/org_omg_Messaging.jmk - make/com/sun/corba/minclude/org_omg_PortableInterceptor.jmk - make/com/sun/corba/minclude/org_omg_PortableServer.jmk - make/com/sun/corba/minclude/org_omg_SendingContext.jmk - make/com/sun/corba/minclude/sun_corba.jmk - make/com/sun/corba/se/Makefile - make/com/sun/corba/se/PortableActivationIDL/Makefile - make/com/sun/corba/se/connection/FILES_java.gmk - make/com/sun/corba/se/connection/Makefile - make/com/sun/corba/se/core/Makefile - make/com/sun/corba/se/corespi/Makefile - make/com/sun/corba/se/impl/Makefile - make/com/sun/corba/se/impl/activation/Makefile - make/com/sun/corba/se/impl/activation/orbd/Makefile - make/com/sun/corba/se/impl/activation/servertool/Makefile - make/com/sun/corba/se/impl/interceptors/Makefile - make/com/sun/corba/se/impl/logging/Makefile - make/com/sun/corba/se/impl/monitoring/Makefile - make/com/sun/corba/se/impl/naming/Makefile - make/com/sun/corba/se/impl/naming/cosnaming/Makefile - make/com/sun/corba/se/impl/naming/namingutil/Makefile - make/com/sun/corba/se/impl/naming/pcosnaming/Makefile - make/com/sun/corba/se/impl/oa/Makefile - make/com/sun/corba/se/impl/oa/poa/Makefile - make/com/sun/corba/se/impl/oa/toa/Makefile - make/com/sun/corba/se/interceptor/FILES_java.gmk - make/com/sun/corba/se/interceptor/Makefile - make/com/sun/corba/se/pept/Makefile - make/com/sun/corba/se/rmi/Makefile - make/com/sun/corba/se/rmi/rmic/Makefile - make/com/sun/corba/se/rmi/rmic/SUN_RMI_RMIC_IIOP_java.gmk - make/com/sun/corba/se/sources/Makefile - make/com/sun/corba/se/spi/Makefile - make/com/sun/corba/se/spi/activation/Makefile - make/com/sun/corba/se/spi/copyobject/Makefile - make/com/sun/corba/se/spi/encoding/Makefile - make/com/sun/corba/se/spi/extension/Makefile - make/com/sun/corba/se/spi/legacy/Makefile - make/com/sun/corba/se/spi/legacy/connection/Makefile - make/com/sun/corba/se/spi/legacy/interceptor/Makefile - make/com/sun/corba/se/spi/logging/Makefile - make/com/sun/corba/se/spi/monitoring/Makefile - make/common/BuildToolJar.gmk - make/common/CancelImplicits.gmk - make/common/Classes.gmk - make/common/Defs-bsd.gmk - make/common/Defs-linux.gmk - make/common/Defs-solaris.gmk - make/common/Defs-windows.gmk - make/common/Defs.gmk - make/common/Rules.gmk - make/common/internal/Resources.gmk - make/common/shared/Defs-bsd.gmk - make/common/shared/Defs-java.gmk - make/common/shared/Defs-linux.gmk - make/common/shared/Defs-solaris.gmk - make/common/shared/Defs-utils.gmk - make/common/shared/Defs-windows.gmk - make/common/shared/Defs.gmk - make/common/shared/Platform.gmk - make/javax/Makefile - make/javax/xa/Makefile - make/jprt.properties - make/org/Makefile - make/org/omg/CORBA/Makefile - make/org/omg/CORBAX_java.gmk - make/org/omg/CosNaming/Makefile - make/org/omg/DynamicAny/Makefile - make/org/omg/Makefile - make/org/omg/PortableInterceptor/Makefile - make/org/omg/PortableServer/Makefile - make/org/omg/idl/FILES_java.gmk - make/org/omg/idl/Makefile - make/org/omg/sources/Makefile - make/sun/Makefile - make/sun/corba/Makefile - make/sun/corba/core/Makefile - make/sun/corba/org/Makefile - make/sun/corba/org/omg/FILES_java.gmk - make/sun/corba/org/omg/Makefile - make/sun/rmi/Makefile - make/sun/rmi/corbalogcompile/Makefile - make/sun/rmi/corbalogsources/Makefile - make/sun/rmi/rmic/FILES.gmk - make/sun/rmi/rmic/Makefile - make/tools/Makefile - make/tools/idlj/Makefile - make/tools/logutil/Makefile - make/tools/strip_properties/Makefile - makefiles/BuildCorba.gmk - makefiles/Makefile Changeset: fe781b3badd6 Author: msheppar Date: 2013-11-21 11:30 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/corba/rev/fe781b3badd6 8028215: ORB.init fails with SecurityException if properties select the JDK default ORB Summary: check for default ORBImpl and ORBSingleton set via properties or System properties Reviewed-by: alanb, coffeys, mchung ! src/share/classes/org/omg/CORBA/ORB.java Changeset: e648df60c8a2 Author: lana Date: 2013-11-25 09:27 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/corba/rev/e648df60c8a2 Merge Changeset: 379fc7609beb Author: lana Date: 2013-12-03 10:46 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/corba/rev/379fc7609beb Merge Changeset: 53fd772d28c8 Author: katleman Date: 2013-12-04 23:10 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/corba/rev/53fd772d28c8 Added tag jdk8-b119 for changeset 379fc7609beb ! .hgtags From john.coomes at oracle.com Thu Dec 5 10:32:09 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Thu, 05 Dec 2013 18:32:09 +0000 Subject: hg: hsx/hotspot-main/jaxp: 6 new changesets Message-ID: <20131205183232.ACFB562AD0@hg.openjdk.java.net> Changeset: 80acb8151797 Author: ihse Date: 2013-11-04 11:09 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jaxp/rev/80acb8151797 8027566: Remove the old build system Reviewed-by: erikj, tbell + make/BuildJaxp.gmk ! make/Makefile - make/jprt.properties - make/scripts/update_src.sh - makefiles/BuildJaxp.gmk - makefiles/Makefile Changeset: 7ce7e38868d3 Author: lana Date: 2013-11-25 09:28 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jaxp/rev/7ce7e38868d3 Merge Changeset: abd44ea60dbe Author: mfang Date: 2013-11-21 15:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jaxp/rev/abd44ea60dbe 8028803: jdk8 l10n resource file translation update 5 - jaxp repo Reviewed-by: joehw, yhuang ! src/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_zh_CN.java ! src/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_zh_CN.java ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_it.properties ! src/com/sun/org/apache/xml/internal/res/XMLErrorResources_zh_CN.java ! src/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_zh_CN.java Changeset: e65463c785ed Author: mfang Date: 2013-11-25 14:14 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jaxp/rev/e65463c785ed Merge Changeset: 69a930376c70 Author: lana Date: 2013-12-03 10:46 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jaxp/rev/69a930376c70 Merge Changeset: 9b4fac40124d Author: katleman Date: 2013-12-04 23:11 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jaxp/rev/9b4fac40124d Added tag jdk8-b119 for changeset 69a930376c70 ! .hgtags From john.coomes at oracle.com Thu Dec 5 10:32:41 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Thu, 05 Dec 2013 18:32:41 +0000 Subject: hg: hsx/hotspot-main/jaxws: 4 new changesets Message-ID: <20131205183255.F32AE62AD1@hg.openjdk.java.net> Changeset: 1d1af4ce8eeb Author: ihse Date: 2013-11-04 11:10 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jaxws/rev/1d1af4ce8eeb 8027566: Remove the old build system Reviewed-by: erikj, tbell + make/BuildJaxws.gmk ! make/Makefile - make/jprt.properties - make/scripts/update_src.sh - makefiles/BuildJaxws.gmk - makefiles/Makefile Changeset: 4900fcaae498 Author: lana Date: 2013-11-25 09:28 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jaxws/rev/4900fcaae498 Merge Changeset: 172b8e056ff2 Author: lana Date: 2013-12-03 10:46 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jaxws/rev/172b8e056ff2 Merge Changeset: 6c152deb600d Author: katleman Date: 2013-12-04 23:11 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jaxws/rev/6c152deb600d Added tag jdk8-b119 for changeset 172b8e056ff2 ! .hgtags From john.coomes at oracle.com Thu Dec 5 10:31:41 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Thu, 05 Dec 2013 18:31:41 +0000 Subject: hg: hsx/hotspot-main: 5 new changesets Message-ID: <20131205183141.8D3D362ACE@hg.openjdk.java.net> Changeset: a667caba1e84 Author: ihse Date: 2013-11-14 10:53 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/rev/a667caba1e84 8027566: Remove the old build system Reviewed-by: erikj, tbell ! Makefile - NewMakefile.gmk ! common/autoconf/Makefile.in ! common/autoconf/basics.m4 ! common/autoconf/generated-configure.sh ! common/autoconf/hotspot-spec.gmk.in ! common/autoconf/source-dirs.m4 ! common/autoconf/spec.gmk.in ! common/bin/compare.sh - common/makefiles/HotspotWrapper.gmk - common/makefiles/IdlCompilation.gmk - common/makefiles/JavaCompilation.gmk - common/makefiles/Jprt.gmk - common/makefiles/Main.gmk - common/makefiles/MakeBase.gmk - common/makefiles/MakeHelpers.gmk - common/makefiles/Makefile - common/makefiles/NativeCompilation.gmk - common/makefiles/RMICompilation.gmk - common/makefiles/devkit/Makefile - common/makefiles/devkit/Tools.gmk - common/makefiles/javadoc/CORE_PKGS.gmk - common/makefiles/javadoc/Javadoc.gmk - common/makefiles/javadoc/NON_CORE_PKGS.gmk - common/makefiles/javadoc/Notes.html - common/makefiles/support/ListPathsSafely-post-compress.incl - common/makefiles/support/ListPathsSafely-pre-compress.incl - common/makefiles/support/ListPathsSafely-uncompress.sed - common/makefiles/support/unicode2x.sed ! common/nb_native/nbproject/configurations.xml - make/Defs-internal.gmk + make/HotspotWrapper.gmk + make/Javadoc.gmk + make/Jprt.gmk + make/Main.gmk + make/MakeHelpers.gmk - make/README.pre-components + make/common/CORE_PKGS.gmk + make/common/IdlCompilation.gmk + make/common/JavaCompilation.gmk + make/common/MakeBase.gmk + make/common/NON_CORE_PKGS.gmk + make/common/NativeCompilation.gmk + make/common/RMICompilation.gmk + make/common/support/ListPathsSafely-post-compress.incl + make/common/support/ListPathsSafely-pre-compress.incl + make/common/support/ListPathsSafely-uncompress.sed + make/common/support/unicode2x.sed - make/corba-rules.gmk - make/deploy-rules.gmk + make/devkit/Makefile + make/devkit/Tools.gmk - make/hotspot-rules.gmk - make/install-rules.gmk - make/jaxp-rules.gmk - make/jaxws-rules.gmk - make/jdk-rules.gmk - make/jprt.gmk - make/langtools-rules.gmk - make/nashorn-rules.gmk - make/sanity-rules.gmk - make/scripts/fixpath.pl - make/scripts/vsvars.sh - make/sponsors-rules.gmk Changeset: 9937f406e27e Author: alanb Date: 2013-11-19 14:11 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/rev/9937f406e27e 8028478: Re-visit JPRT testsets to make it easier to run subsets of the tests Reviewed-by: dholmes, sla, tbell ! make/jprt.properties ! test/Makefile Changeset: 24847bd96465 Author: lana Date: 2013-11-25 09:27 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/rev/24847bd96465 Merge Changeset: 9e90215673be Author: lana Date: 2013-12-03 10:46 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/rev/9e90215673be Merge Changeset: 6c9cfee19264 Author: katleman Date: 2013-12-04 23:10 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/rev/6c9cfee19264 Added tag jdk8-b119 for changeset 9e90215673be ! .hgtags From volker.simonis at gmail.com Thu Dec 5 10:37:36 2013 From: volker.simonis at gmail.com (Volker Simonis) Date: Thu, 5 Dec 2013 19:37:36 +0100 Subject: RFR(S): 8019929: PPC64 (part 107): Extend ELF-decoder to support PPC64 function descriptor tables In-Reply-To: References: <529E3011.9080403@oracle.com> Message-ID: Hi, so here it comes, the hopefully final webrev of this change:) http://cr.openjdk.java.net/~simonis/webrevs/8019929.v3/ I've: - fixed the comments for the ifdefs as requested by Vladimir - fixed the "else if" indentation as requested by Vladimir - fixed the out-of-memory situation detected by Vitaly I' also added a detailed description of why we need all this on PPC64 to elfFuncDescTable.hpp and fixed a small problem for old-style PPC64 objects with additional 'dot'-symbols (see description below). The correct handling of these old-style files also required another small '#ifdef PPC64' section in decoder_linux.cpp (for a detailed description why this is necessary see below). I hope that's OK. Thank you and best regards, Volker Detailed change description: On PowerPC-64 (and other architectures like for example IA64) a pointer to a function is not just a plain code address, but instead a pointer to a so called function descriptor (which is simply a structure containing 3 pointers). This fact is also reflected in the ELF ABI for PowerPC-64. On architectures like x86 or SPARC, the ELF symbol table contains the start address and size of an object. So for example for a function object (i.e. type 'STT_FUNC') the symbol table's 'st_value' and 'st_size' fields directly represent the starting address and size of that function. On PPC64 however, the symbol table's 'st_value' field only contains an index into another, PPC64 specific '.opd' (official procedure descriptors) section, while the 'st_size' field still holds the size of the corresponding function. In order to get the actual start address of a function, it is necessary to read the corresponding function descriptor entry in the '.opd' section at the corresponding index and extract the start address from there. That's exactly what this 'ElfFuncDescTable' class is used for. If the HotSpot runs on a PPC64 machine, and the corresponding ELF files contains an '.opd' section (which is actually mandatory on PPC64) it will be read into an object of type 'ElfFuncDescTable' just like the string and symbol table sections. Later on, during symbol lookup in 'ElfSymbolTable::lookup()' this function descriptor table will be used if available to find the real function address. All this is how things work today (2013) on contemporary Linux distributions (i.e. SLES 10) and new version of GCC (i.e. > 4.0). However there is a history, and it goes like this: In SLES 9 times (sometimes before GCC 3.4) gcc/ld on PPC64 generated two entries in the symbol table for every function. The value of the symbol with the name of the function was the address of the function descriptor while the dot '.' prefixed name was reserved to hold the actual address of that function ( http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi-1.9.html#FUNC-DES). For a C-function 'foo' this resulted in two symbol table entries like this (extracted from the output of 'readelf -a '): Section Headers: [ 9] .text PROGBITS 0000000000000a20 00000a20 00000000000005a0 0000000000000000 AX 0 0 16 [21] .opd PROGBITS 00000000000113b8 000013b8 0000000000000138 0000000000000000 WA 0 0 8 Symbol table '.symtab' contains 86 entries: Num: Value Size Type Bind Vis Ndx Name 76: 00000000000114c0 24 FUNC GLOBAL DEFAULT 21 foo 78: 0000000000000bb0 76 FUNC GLOBAL DEFAULT 9 .foo You can see now that the '.foo' entry actually points into the '.text' segment ('Ndx'=9) and its value and size fields represent the functions actual address and size. On the other hand, the entry for plain 'foo' points into the '.opd' section ('Ndx'=21) and its value and size fields are the index into the '.opd' section and the size of the corresponding '.opd' section entry (3 pointers on PPC64). These so called 'dot symbols' were dropped around gcc 3.4 from GCC and BINUTILS, see http://gcc.gnu.org/ml/gcc-patches/2004-08/msg00557.html. But nevertheless it may still be necessary to support both formats because we either run on an old system or because it is possible at any time that functions appear in the stack trace which come from old-style libraries. Therefore we not only have to check for the presence of the function descriptor table during symbol lookup in 'ElfSymbolTable::lookup()'. We additionally have to check that the symbol table entry references the '.opd' section. Only in that case we can resolve the actual function address from there. Otherwise we use the plain 'st_value' field from the symbol table as function address. This way we can also lookup the symbols in old-style ELF libraries (although we get the 'dotted' versions in that case). However, if present, the 'dot' will be conditionally removed on PPC64 from the symbol in 'ElfDecoder::demangle()' in decoder_linux.cpp. Notice that we can not reliably get the function address from old-style libraries because the 'st_value' field of the symbol table entries which point into the '.opd' section denote the size of the corresponding '.opd' entry and not that of the corresponding function. This has changed for the symbol table entries in new-style libraries as described at the beginning of this documentation. This change also slightly improves the implementation of ElfSymbolTable::lookup(). Before, the method always iterated over all symbols in the symbol table and returned the one with the highest address below the requested addr argument. This not only could take a significant amount of time for big libraries, it could also return bogus symbols for addresses which were not really covered by that symbol table at all. The new versions additionally uses the symbol table's st_size field to verify that the requested addr argument is indeed within the range covered by the corresponding symbol table entry. If so, the search is stopped and the symbol is returned immediately. On Thu, Dec 5, 2013 at 9:22 AM, Volker Simonis wrote: > Hi Vitaly, > > you're right - I'll fix it. > > Thanks, > Volker > > > On Thu, Dec 5, 2013 at 2:15 AM, Vitaly Davidovich > wrote: > > Ok. > > > > 171 if (string_table->string_at(shdr.sh_name, buf, sizeof(buf)) > && > > !strncmp(".opd", buf, 4)) { > > 172 m_funcDesc_table = new (std::nothrow) > ElfFuncDescTable(m_file, > > shdr); > > 173 break; > > > > So if that alloc fails, I see that code handles a null m_funcDesc_table > > where it's used. But is that what you want for PPC64? Won't you get > wrong > > symbol info? Code reading other tables does this for OOM cases: > > > > m_status = NullDecoder::out_of_memory; > > return false; > > > > Sent from my phone > > > > On Dec 4, 2013 2:17 PM, "Volker Simonis" > wrote: > >> > >> Hi, > >> > >> thanks for the comments. > >> > >> I think the function descriptor table logically belongs to the > >> ELF-file itself and not to symbol table. An ELF file can have several > >> symbol tables but just one function descriptor table. Also, the > >> function descriptor table is read in when the ELF file is opened (i.e. > >> in the ElfFile constructor). > >> > >> So after Vladimirs suggestion to remove most of the "#ifdef PPC64" > >> there was no reason to keep the ElfFuncDescTable class in > >> elfSymbolTable.{hpp,cpp} so I created two new files > >> elfFuncDescTable.{hpp, cpp} for it. Now the only remaining "#ifdef > >> PPC64" is in ElfFile::load_tables() when the function descriptor table > >> is loaded (as requested by Vladimir). > >> > >> But actually, the corresponding '.opd' section is only available on > >> PPC64 (see > >> > http://refspecs.linuxfoundation.org/LSB_3.1.1/LSB-Core-PPC64/LSB-Core-PPC64/specialsections.html > ) > >> and I don't think the code will do any harm if it would be executed on > >> a non-PPC64 system - the '.opd' section would just not be found. I > >> also think the corresponding performance impact would be minimal > >> compared to the loading of the symbol and string tables. So I tend to > >> remove the last "#ifdef PPC64" as well. So what do you think - I'm OK > >> with both solutions? > >> > >> Below is a webrev with the described changes (and still with the last > >> "#ifdef PPC64" in ElfFile::load_tables()): > >> > >> http://cr.openjdk.java.net/~simonis/webrevs/8019929.v2/ > >> > >> If you agree with it, I would appreciate if you could push it trough > JPRT. > >> > >> Thank you and best regards, > >> Volker > >> > >> PS: the little change in make/aix/makefiles/vm.make was necessarx to > >> exlude the new file from the AIX-build because AIX uses XCOFF instead > >> of ELF. > >> > >> > >> On Wed, Dec 4, 2013 at 3:39 AM, Vitaly Davidovich > >> wrote: > >> > Hi Volker, > >> > > >> > Would it be cleaner if you were to extend ElfSymbolTable for PPC and > >> > embed > >> > the funcDesc in there, keeping the lookup() signature the same? It > seems > >> > like the funcDesc should be a hidden indirection as part of lookup() > >> > rather > >> > than a parameter. > >> > > >> > Just a thought ... > >> > > >> > Sent from my phone > >> > > >> > On Dec 3, 2013 5:43 PM, "Volker Simonis" > >> > wrote: > >> >> > >> >> Hi Vladimir, > >> >> > >> >> thanks for looking at the change. I initially did it this way to > >> >> keep changes to the existing platforms as small as possible but I'll > be > >> >> happy to change in the way you suggested if nobody objects. > >> >> > >> >> Regards, > >> >> Volker > >> >> > >> >> On Tuesday, December 3, 2013, Vladimir Kozlov wrote: > >> >> > >> >> > Volker, > >> >> > > >> >> > It looks fine to me except #ifdef pollution. > >> >> > > >> >> > I think ElfSymbolTable::lookup() should always take > ElfFuncDescTable > >> >> > argument and you need ElfFuncDescTable always defined. > >> >> > In ElfSymbolTable::lookup() you can check funcDescTable for null > >> >> > instead > >> >> > of ifdefs. > >> >> > The only place we can keep #ifdef is m_funcDesc_table setting in > >> >> > ElfFile::load_tables(). > >> >> > ElfFuncDescTable class's methods are not so big to ifdef them. > >> >> > > >> >> > But others may have different opinion. > >> >> > > >> >> > Thanks, > >> >> > Vladimir > >> >> > > >> >> > On 12/3/13 9:39 AM, Volker Simonis wrote: > >> >> > > >> >> >> On PowerPC-64 (and other architectures like for example IA64) a > >> >> >> pointer to a function is not just a plain code address, but a > >> >> >> pointer > >> >> >> to a so called function descriptor (see > >> >> >> http://refspecs.linuxfoundation.org/ELF/ppc64/ > >> >> >> PPC-elf64abi-1.9.html#FUNC-DES). > >> >> >> This fact is also reflected in the ELF ABI for PowerPC-64. This > >> >> >> small > >> >> >> changes adds support for ELF function descriptor tables to the > >> >> >> current > >> >> >> ELF decoder: > >> >> >> > >> >> >> http://cr.openjdk.java.net/~simonis/webrevs/8019929/ > >> >> >> > >> >> >> On architectures like x86 or SPARC, the ELF symbol table contains > >> >> >> the > >> >> >> start address and size of an object. So for example for a function > >> >> >> object (i.e. type FUNC) the symbol table's value field directly > >> >> >> represents the starting address and the size field the size of a > >> >> >> function. On PPC64 however, the symbol table's value field only > >> >> >> contains an index into a PPC64 specific .opd (official procedure > >> >> >> descriptors) section, while the size field still holds the size of > >> >> >> the > >> >> >> corresponding function. In order to get the actual start address > of > >> >> >> a > >> >> >> function, it is necessary to read the corresponding function > >> >> >> descriptor entry in the .opd section at the corresponding index > and > >> >> >> extract the start address from there. > >> >> >> > >> >> >> This change extends the current HotSpot ELF utilities to support > the > >> >> >> .opd (official procedure descriptors) section on PPC64 platforms. > It > >> >> >> does this by adding a new field m_funcDesc_table of type > >> >> >> ElfFuncDescTable to the ElfFile class. The m_funcDesc_table is > >> >> >> initialized in the ElfFile::load_tables() in the same way like the > >> >> >> symbol table members by parsing the corresponding .opd section if > it > >> >> >> is available. > >> >> >> > >> >> >> The ElfSymbolTable::lookup() method is changed on PPC64 to take an > >> >> >> extra ElfFuncDescTable argument. If running on PPC64, this > argument > >> >> >> is > >> >> >> used to do the extra level of indirection through the function > >> >> >> description table to get the real start address associated with a > >> >> >> symbol. > >> >> >> > >> >> >> This change also slightly improves the implementation of > >> >> >> ElfSymbolTable::lookup(). Before, the method always iterated over > >> >> >> all > >> >> >> symbols in the symbol table and returned the one with the highest > >> >> >> address below the requested addr argument. This not only could > take > >> >> >> a > >> >> >> significant amount of time for big libraries, it could also return > >> >> >> bogus symbols for addresses which were not really covered by that > >> >> >> symbol table at all. The new versions additionally uses the symbol > >> >> >> table's st_size field to verify that the requested addr argument > is > >> >> >> indeed within the range covered by the corresponding symbol table > >> >> >> entry. If so, the search is stopped and the symbol is returned > >> >> >> immediately. > >> >> >> > >> >> >> Thank you and best regards, > >> >> >> Volker > >> >> >> > >> >> >> > From vladimir.kozlov at oracle.com Thu Dec 5 10:49:35 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 05 Dec 2013 10:49:35 -0800 Subject: RFR(S): 8019929: PPC64 (part 107): Extend ELF-decoder to support PPC64 function descriptor tables In-Reply-To: References: <529E3011.9080403@oracle.com> Message-ID: <52A0CABF.1060209@oracle.com> Looks good to me. I will wait others to look on new changes and push after that. Thanks, Vladimir On 12/5/13 10:37 AM, Volker Simonis wrote: > Hi, > > so here it comes, the hopefully final webrev of this change:) > > http://cr.openjdk.java.net/~simonis/webrevs/8019929.v3/ > > I've: > - fixed the comments for the ifdefs as requested by Vladimir > - fixed the "else if" indentation as requested by Vladimir > - fixed the out-of-memory situation detected by Vitaly > > I' also added a detailed description of why we need all this on PPC64 to > elfFuncDescTable.hpp and fixed a small problem for old-style PPC64 objects > with additional 'dot'-symbols (see description below). The correct handling > of these old-style files also required another small '#ifdef PPC64' section > in decoder_linux.cpp (for a detailed description why this is necessary see > below). I hope that's OK. > > Thank you and best regards, > Volker > > Detailed change description: > > On PowerPC-64 (and other architectures like for example IA64) a pointer to > a function is not just a plain code address, but instead a pointer to a so > called function descriptor (which is simply a structure containing 3 > pointers). This fact is also reflected in the ELF ABI for PowerPC-64. > > On architectures like x86 or SPARC, the ELF symbol table contains the start > address and size of an object. So for example for a function object (i.e. > type 'STT_FUNC') the symbol table's 'st_value' and 'st_size' fields > directly represent the starting address and size of that function. On PPC64 > however, the symbol table's 'st_value' field only contains an index into > another, PPC64 specific '.opd' (official procedure descriptors) section, > while the 'st_size' field still holds the size of the corresponding > function. In order to get the actual start address of a function, it is > necessary to read the corresponding function descriptor entry in the '.opd' > section at the corresponding index and extract the start address from > there. > > That's exactly what this 'ElfFuncDescTable' class is used for. If the > HotSpot runs on a PPC64 machine, and the corresponding ELF files contains > an '.opd' section (which is actually mandatory on PPC64) it will be read > into an object of type 'ElfFuncDescTable' just like the string and symbol > table sections. Later on, during symbol lookup in > 'ElfSymbolTable::lookup()' this function descriptor table will be used if > available to find the real function address. > > All this is how things work today (2013) on contemporary Linux > distributions (i.e. SLES 10) and new version of GCC (i.e. > 4.0). However > there is a history, and it goes like this: > > In SLES 9 times (sometimes before GCC 3.4) gcc/ld on PPC64 generated two > entries in the symbol table for every function. The value of the symbol > with the name of the function was the address of the function descriptor > while the dot '.' prefixed name was reserved to hold the actual address of > that function ( > http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi-1.9.html#FUNC-DES). > > > For a C-function 'foo' this resulted in two symbol table entries like this > (extracted from the output of 'readelf -a '): > > Section Headers: > [ 9] .text PROGBITS 0000000000000a20 00000a20 > 00000000000005a0 0000000000000000 AX 0 0 16 > [21] .opd PROGBITS 00000000000113b8 000013b8 > 0000000000000138 0000000000000000 WA 0 0 8 > > Symbol table '.symtab' contains 86 entries: > Num: Value Size Type Bind Vis Ndx Name > 76: 00000000000114c0 24 FUNC GLOBAL DEFAULT 21 foo > 78: 0000000000000bb0 76 FUNC GLOBAL DEFAULT 9 .foo > > You can see now that the '.foo' entry actually points into the '.text' > segment ('Ndx'=9) and its value and size fields represent the functions > actual address and size. On the other hand, the entry for plain 'foo' > points into the '.opd' section ('Ndx'=21) and its value and size fields are > the index into the '.opd' section and the size of the corresponding '.opd' > section entry (3 pointers on PPC64). > > These so called 'dot symbols' were dropped around gcc 3.4 from GCC and > BINUTILS, see http://gcc.gnu.org/ml/gcc-patches/2004-08/msg00557.html. But > nevertheless it may still be necessary to support both formats because we > either run on an old system or because it is possible at any time that > functions appear in the stack trace which come from old-style libraries. > > Therefore we not only have to check for the presence of the function > descriptor table during symbol lookup in 'ElfSymbolTable::lookup()'. We > additionally have to check that the symbol table entry references the > '.opd' section. Only in that case we can resolve the actual function > address from there. Otherwise we use the plain 'st_value' field from the > symbol table as function address. This way we can also lookup the symbols > in old-style ELF libraries (although we get the 'dotted' versions in that > case). However, if present, the 'dot' will be conditionally removed on > PPC64 from the symbol in 'ElfDecoder::demangle()' in decoder_linux.cpp. > > Notice that we can not reliably get the function address from old-style > libraries because the 'st_value' field of the symbol table entries which > point into the '.opd' section denote the size of the corresponding '.opd' > entry and not that of the corresponding function. This has changed for the > symbol table entries in new-style libraries as described at the beginning > of this documentation. > > This change also slightly improves the implementation of > ElfSymbolTable::lookup(). Before, the method always iterated over all > symbols in the symbol table and returned the one with the highest address > below the requested addr argument. This not only could take a significant > amount of time for big libraries, it could also return bogus symbols for > addresses which were not really covered by that symbol table at all. The > new versions additionally uses the symbol table's st_size field to verify > that the requested addr argument is indeed within the range covered by the > corresponding symbol table entry. If so, the search is stopped and the > symbol is returned immediately. > > > > > On Thu, Dec 5, 2013 at 9:22 AM, Volker Simonis wrote: > >> Hi Vitaly, >> >> you're right - I'll fix it. >> >> Thanks, >> Volker >> >> >> On Thu, Dec 5, 2013 at 2:15 AM, Vitaly Davidovich >> wrote: >>> Ok. >>> >>> 171 if (string_table->string_at(shdr.sh_name, buf, sizeof(buf)) >> && >>> !strncmp(".opd", buf, 4)) { >>> 172 m_funcDesc_table = new (std::nothrow) >> ElfFuncDescTable(m_file, >>> shdr); >>> 173 break; >>> >>> So if that alloc fails, I see that code handles a null m_funcDesc_table >>> where it's used. But is that what you want for PPC64? Won't you get >> wrong >>> symbol info? Code reading other tables does this for OOM cases: >>> >>> m_status = NullDecoder::out_of_memory; >>> return false; >>> >>> Sent from my phone >>> >>> On Dec 4, 2013 2:17 PM, "Volker Simonis" >> wrote: >>>> >>>> Hi, >>>> >>>> thanks for the comments. >>>> >>>> I think the function descriptor table logically belongs to the >>>> ELF-file itself and not to symbol table. An ELF file can have several >>>> symbol tables but just one function descriptor table. Also, the >>>> function descriptor table is read in when the ELF file is opened (i.e. >>>> in the ElfFile constructor). >>>> >>>> So after Vladimirs suggestion to remove most of the "#ifdef PPC64" >>>> there was no reason to keep the ElfFuncDescTable class in >>>> elfSymbolTable.{hpp,cpp} so I created two new files >>>> elfFuncDescTable.{hpp, cpp} for it. Now the only remaining "#ifdef >>>> PPC64" is in ElfFile::load_tables() when the function descriptor table >>>> is loaded (as requested by Vladimir). >>>> >>>> But actually, the corresponding '.opd' section is only available on >>>> PPC64 (see >>>> >> http://refspecs.linuxfoundation.org/LSB_3.1.1/LSB-Core-PPC64/LSB-Core-PPC64/specialsections.html >> ) >>>> and I don't think the code will do any harm if it would be executed on >>>> a non-PPC64 system - the '.opd' section would just not be found. I >>>> also think the corresponding performance impact would be minimal >>>> compared to the loading of the symbol and string tables. So I tend to >>>> remove the last "#ifdef PPC64" as well. So what do you think - I'm OK >>>> with both solutions? >>>> >>>> Below is a webrev with the described changes (and still with the last >>>> "#ifdef PPC64" in ElfFile::load_tables()): >>>> >>>> http://cr.openjdk.java.net/~simonis/webrevs/8019929.v2/ >>>> >>>> If you agree with it, I would appreciate if you could push it trough >> JPRT. >>>> >>>> Thank you and best regards, >>>> Volker >>>> >>>> PS: the little change in make/aix/makefiles/vm.make was necessarx to >>>> exlude the new file from the AIX-build because AIX uses XCOFF instead >>>> of ELF. >>>> >>>> >>>> On Wed, Dec 4, 2013 at 3:39 AM, Vitaly Davidovich >>>> wrote: >>>>> Hi Volker, >>>>> >>>>> Would it be cleaner if you were to extend ElfSymbolTable for PPC and >>>>> embed >>>>> the funcDesc in there, keeping the lookup() signature the same? It >> seems >>>>> like the funcDesc should be a hidden indirection as part of lookup() >>>>> rather >>>>> than a parameter. >>>>> >>>>> Just a thought ... >>>>> >>>>> Sent from my phone >>>>> >>>>> On Dec 3, 2013 5:43 PM, "Volker Simonis" >>>>> wrote: >>>>>> >>>>>> Hi Vladimir, >>>>>> >>>>>> thanks for looking at the change. I initially did it this way to >>>>>> keep changes to the existing platforms as small as possible but I'll >> be >>>>>> happy to change in the way you suggested if nobody objects. >>>>>> >>>>>> Regards, >>>>>> Volker >>>>>> >>>>>> On Tuesday, December 3, 2013, Vladimir Kozlov wrote: >>>>>> >>>>>>> Volker, >>>>>>> >>>>>>> It looks fine to me except #ifdef pollution. >>>>>>> >>>>>>> I think ElfSymbolTable::lookup() should always take >> ElfFuncDescTable >>>>>>> argument and you need ElfFuncDescTable always defined. >>>>>>> In ElfSymbolTable::lookup() you can check funcDescTable for null >>>>>>> instead >>>>>>> of ifdefs. >>>>>>> The only place we can keep #ifdef is m_funcDesc_table setting in >>>>>>> ElfFile::load_tables(). >>>>>>> ElfFuncDescTable class's methods are not so big to ifdef them. >>>>>>> >>>>>>> But others may have different opinion. >>>>>>> >>>>>>> Thanks, >>>>>>> Vladimir >>>>>>> >>>>>>> On 12/3/13 9:39 AM, Volker Simonis wrote: >>>>>>> >>>>>>>> On PowerPC-64 (and other architectures like for example IA64) a >>>>>>>> pointer to a function is not just a plain code address, but a >>>>>>>> pointer >>>>>>>> to a so called function descriptor (see >>>>>>>> http://refspecs.linuxfoundation.org/ELF/ppc64/ >>>>>>>> PPC-elf64abi-1.9.html#FUNC-DES). >>>>>>>> This fact is also reflected in the ELF ABI for PowerPC-64. This >>>>>>>> small >>>>>>>> changes adds support for ELF function descriptor tables to the >>>>>>>> current >>>>>>>> ELF decoder: >>>>>>>> >>>>>>>> http://cr.openjdk.java.net/~simonis/webrevs/8019929/ >>>>>>>> >>>>>>>> On architectures like x86 or SPARC, the ELF symbol table contains >>>>>>>> the >>>>>>>> start address and size of an object. So for example for a function >>>>>>>> object (i.e. type FUNC) the symbol table's value field directly >>>>>>>> represents the starting address and the size field the size of a >>>>>>>> function. On PPC64 however, the symbol table's value field only >>>>>>>> contains an index into a PPC64 specific .opd (official procedure >>>>>>>> descriptors) section, while the size field still holds the size of >>>>>>>> the >>>>>>>> corresponding function. In order to get the actual start address >> of >>>>>>>> a >>>>>>>> function, it is necessary to read the corresponding function >>>>>>>> descriptor entry in the .opd section at the corresponding index >> and >>>>>>>> extract the start address from there. >>>>>>>> >>>>>>>> This change extends the current HotSpot ELF utilities to support >> the >>>>>>>> .opd (official procedure descriptors) section on PPC64 platforms. >> It >>>>>>>> does this by adding a new field m_funcDesc_table of type >>>>>>>> ElfFuncDescTable to the ElfFile class. The m_funcDesc_table is >>>>>>>> initialized in the ElfFile::load_tables() in the same way like the >>>>>>>> symbol table members by parsing the corresponding .opd section if >> it >>>>>>>> is available. >>>>>>>> >>>>>>>> The ElfSymbolTable::lookup() method is changed on PPC64 to take an >>>>>>>> extra ElfFuncDescTable argument. If running on PPC64, this >> argument >>>>>>>> is >>>>>>>> used to do the extra level of indirection through the function >>>>>>>> description table to get the real start address associated with a >>>>>>>> symbol. >>>>>>>> >>>>>>>> This change also slightly improves the implementation of >>>>>>>> ElfSymbolTable::lookup(). Before, the method always iterated over >>>>>>>> all >>>>>>>> symbols in the symbol table and returned the one with the highest >>>>>>>> address below the requested addr argument. This not only could >> take >>>>>>>> a >>>>>>>> significant amount of time for big libraries, it could also return >>>>>>>> bogus symbols for addresses which were not really covered by that >>>>>>>> symbol table at all. The new versions additionally uses the symbol >>>>>>>> table's st_size field to verify that the requested addr argument >> is >>>>>>>> indeed within the range covered by the corresponding symbol table >>>>>>>> entry. If so, the search is stopped and the symbol is returned >>>>>>>> immediately. >>>>>>>> >>>>>>>> Thank you and best regards, >>>>>>>> Volker >>>>>>>> >>>>>>>> >> From john.coomes at oracle.com Thu Dec 5 10:35:15 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Thu, 05 Dec 2013 18:35:15 +0000 Subject: hg: hsx/hotspot-main/jdk: 82 new changesets Message-ID: <20131205185419.A87BC62AD2@hg.openjdk.java.net> Changeset: e5eb65043d31 Author: prr Date: 2013-11-19 10:36 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/e5eb65043d31 8027541: ully transparent jframe becomes black. Reviewed-by: bae, ceisserer ! src/solaris/classes/sun/java2d/xr/XRSurfaceData.java Changeset: 4592f0985e78 Author: yan Date: 2013-11-20 12:23 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/4592f0985e78 8025235: [javadoc] fix some errors in 2D Reviewed-by: prr, yan Contributed-by: Dmitry Ginzburg ! src/share/classes/java/awt/Font.java ! src/share/classes/java/awt/Graphics2D.java ! src/share/classes/java/awt/GraphicsConfiguration.java ! src/share/classes/java/awt/GraphicsDevice.java ! src/share/classes/java/awt/Image.java ! src/share/classes/java/awt/MediaTracker.java ! src/share/classes/java/awt/PageAttributes.java ! src/share/classes/java/awt/Rectangle.java ! src/share/classes/java/awt/RenderingHints.java ! src/share/classes/java/awt/font/NumericShaper.java ! src/share/classes/java/awt/font/TextAttribute.java ! src/share/classes/java/awt/geom/FlatteningPathIterator.java ! src/share/classes/java/awt/geom/Path2D.java ! src/share/classes/java/awt/image/MultiPixelPackedSampleModel.java ! src/share/classes/java/awt/print/Book.java ! src/share/classes/java/awt/print/PageFormat.java ! src/share/classes/java/awt/print/Printable.java ! src/share/classes/java/awt/print/PrinterJob.java Changeset: c7b0f01e2268 Author: ceisserer Date: 2013-11-25 09:38 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/c7b0f01e2268 8028722: Render: Drawing strings with exactly 254 glyphs causes hangs Reviewed-by: prr, bae ! src/solaris/classes/sun/font/XRTextRenderer.java + test/java/awt/Graphics2D/DrawString/XRenderElt254TextTest.java Changeset: f8104b663f58 Author: lana Date: 2013-11-25 12:29 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/f8104b663f58 Merge ! src/share/classes/java/awt/GraphicsDevice.java - src/share/classes/sun/management/OperatingSystemImpl.java - src/share/native/java/lang/ref/Finalizer.c - src/solaris/classes/com/sun/management/OSMBeanFactory.java - src/solaris/classes/com/sun/management/UnixOperatingSystem.java - src/solaris/native/com/sun/management/LinuxOperatingSystem.c - src/solaris/native/com/sun/management/MacosxOperatingSystem.c - src/solaris/native/com/sun/management/SolarisOperatingSystem.c - src/solaris/native/com/sun/management/UnixOperatingSystem_md.c - src/windows/classes/com/sun/management/OSMBeanFactory.java - src/windows/classes/com/sun/management/OperatingSystem.java - src/windows/native/com/sun/management/OperatingSystem_md.c - test/java/lang/management/ThreadMXBean/ThreadStateTest.java - test/java/lang/reflect/Method/DefaultMethodModeling.java - test/java/net/URLPermission/nstest/policy - test/lib/testlibrary/jdk/testlibrary/JdkFinder.java Changeset: 723bcc68738b Author: jgodinez Date: 2013-11-26 10:24 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/723bcc68738b 8028584: sun.net.www.protocol.file.FileURLConnection cannot be cast to java.net.HttpURLConnection Reviewed-by: bae, prr ! src/solaris/classes/sun/print/IPPPrintService.java ! src/solaris/classes/sun/print/UnixPrintServiceLookup.java ! test/java/awt/print/PageFormat/PageFormatFromAttributes.java Changeset: 76171168e894 Author: bae Date: 2013-11-27 15:15 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/76171168e894 8024767: [TEST] need test to cover JDK-7189452 Reviewed-by: ceisserer, bae Contributed-by: alexander.v.stepanov at oracle.com + test/java/awt/Graphics2D/DrawString/TextRenderingTest.java Changeset: d98e37b8209d Author: lana Date: 2013-11-27 10:42 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/d98e37b8209d Merge Changeset: 0d5cc1f305c6 Author: alexsch Date: 2013-11-15 14:05 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/0d5cc1f305c6 8025126: [macosx] Invalid calls to setValueAt() within JTable in Java 7 on Mac OS X Reviewed-by: serb ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! test/java/awt/event/KeyEvent/ExtendedKeyCode/ExtendedKeyCodeTest.java Changeset: d3acc0e0ca3d Author: pchelko Date: 2013-11-15 17:40 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/d3acc0e0ca3d 7124253: [macosx] Flavor change notification not coming Reviewed-by: anthony, serb ! src/macosx/classes/sun/lwawt/macosx/CClipboard.java ! src/macosx/native/sun/awt/CClipboard.h ! src/macosx/native/sun/awt/CClipboard.m Changeset: 919562e54af8 Author: pchelko Date: 2013-11-18 19:22 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/919562e54af8 8027992: FileInputStream and BufferedInputStream should be closed in sun.applet.* Reviewed-by: anthony, serb ! src/share/classes/sun/applet/AppletPanel.java ! src/share/classes/sun/applet/AppletViewer.java ! src/share/classes/sun/applet/Main.java Changeset: 3ee121726c17 Author: bagiras Date: 2013-11-18 23:24 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/3ee121726c17 8027628: JWindow jumps to (0, 0) after mouse clicked Reviewed-by: anthony, serb ! src/solaris/classes/sun/awt/X11/XDecoratedPeer.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java + test/java/awt/Window/TopLevelLocation/TopLevelLocation.java Changeset: 0e1e52166f70 Author: serb Date: 2013-11-19 18:16 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/0e1e52166f70 8027913: drop target notifications are sent out of order during DnD Reviewed-by: anthony, art ! src/share/classes/java/awt/Container.java + test/java/awt/dnd/MissingDragExitEventTest/MissingDragExitEventTest.java Changeset: 91279a4a41f3 Author: pchelko Date: 2013-11-22 10:48 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/91279a4a41f3 8028485: [macosx] java/awt/Mouse/EnterExitEvents/FullscreenEnterEventTest.java fails Reviewed-by: anthony, serb ! src/macosx/native/sun/awt/AWTWindow.m ! test/java/awt/Mouse/EnterExitEvents/FullscreenEnterEventTest.java Changeset: 876c81f7f44c Author: serb Date: 2013-11-22 15:48 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/876c81f7f44c 8027479: [macosx] Appletviewer is broken after 8014718 Reviewed-by: anthony, leonidr ! src/macosx/classes/sun/lwawt/LWComponentPeer.java Changeset: c1bbf2d0bc80 Author: serb Date: 2013-11-22 17:02 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/c1bbf2d0bc80 8028512: [macosx] Crash in full screen api if incorrect display mode is used Reviewed-by: anthony, leonidr ! src/macosx/classes/sun/awt/CGraphicsDevice.java ! src/macosx/native/sun/awt/AWTWindow.m Changeset: e3df535c613f Author: bagiras Date: 2013-11-25 14:05 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/e3df535c613f 8028995: Write regression test for JDK-8016356 Reviewed-by: serb, anthony + test/javax/swing/JFrame/8016356/bug8016356.java Changeset: bee2cc6941bb Author: lana Date: 2013-11-25 13:24 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/bee2cc6941bb Merge - src/share/classes/sun/management/OperatingSystemImpl.java - src/share/native/java/lang/ref/Finalizer.c - src/solaris/classes/com/sun/management/OSMBeanFactory.java - src/solaris/classes/com/sun/management/UnixOperatingSystem.java - src/solaris/native/com/sun/management/LinuxOperatingSystem.c - src/solaris/native/com/sun/management/MacosxOperatingSystem.c - src/solaris/native/com/sun/management/SolarisOperatingSystem.c - src/solaris/native/com/sun/management/UnixOperatingSystem_md.c - src/windows/classes/com/sun/management/OSMBeanFactory.java - src/windows/classes/com/sun/management/OperatingSystem.java - src/windows/native/com/sun/management/OperatingSystem_md.c - test/java/lang/management/ThreadMXBean/ThreadStateTest.java - test/java/lang/reflect/Method/DefaultMethodModeling.java - test/java/net/URLPermission/nstest/policy - test/lib/testlibrary/jdk/testlibrary/JdkFinder.java Changeset: 6829d28b3da5 Author: malenkov Date: 2013-11-26 13:30 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/6829d28b3da5 8028054: com.sun.beans.finder.MethodFinder has unsynchronized access to a static Map Reviewed-by: alexsch, serb ! src/share/classes/com/sun/beans/finder/ConstructorFinder.java ! src/share/classes/com/sun/beans/finder/MethodFinder.java ! src/share/classes/com/sun/beans/finder/Signature.java + src/share/classes/com/sun/beans/finder/SignatureException.java + src/share/classes/com/sun/beans/util/Cache.java + test/java/beans/XMLDecoder/8028054/Task.java + test/java/beans/XMLDecoder/8028054/TestConstructorFinder.java + test/java/beans/XMLDecoder/8028054/TestMethodFinder.java Changeset: 610da7dcd1be Author: bagiras Date: 2013-11-26 15:57 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/610da7dcd1be 7160604: Using non-opaque windows - popups are initially not painted correctly Reviewed-by: serb, alexsch ! src/share/classes/javax/swing/JPopupMenu.java + test/javax/swing/JPopupMenu/7160604/bug7160604.html + test/javax/swing/JPopupMenu/7160604/bug7160604.java Changeset: ab933b508274 Author: mcherkas Date: 2013-11-26 17:16 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/ab933b508274 8028271: Wrong alt processing during switching between windows. Reviewed-by: serb, alexsch ! test/javax/swing/plaf/windows/WindowsRootPaneUI/WrongAltProcessing/WrongAltProcessing.java Changeset: 7d33bca26091 Author: pchelko Date: 2013-11-26 18:50 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/7d33bca26091 8024161: [TEST_BUG] [macosx] java/awt/Menu/OpensWithNoGrab/OpensWithNoGrab.java failed "menu was opened by first click after opened Choice" Reviewed-by: anthony, serb ! test/java/awt/Menu/OpensWithNoGrab/OpensWithNoGrab.java Changeset: f99277913d40 Author: pchelko Date: 2013-11-27 11:41 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/f99277913d40 8011142: [TEST_BUG] 2 AppContext regression tests failed since 7u25b03 with NullPointerException Reviewed-by: anthony, serb ! test/java/awt/EventQueue/MainAppContext/MainAppContext.java Changeset: 85dc748aa403 Author: serb Date: 2013-11-27 20:45 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/85dc748aa403 8029024: [TEST_BUG] java/awt/Modal/ModalDialogOrderingTest/ModalDialogOrderingTest.java fails Reviewed-by: malenkov, alexsch ! test/java/awt/Modal/ModalDialogOrderingTest/ModalDialogOrderingTest.java Changeset: 2bcdf1e05642 Author: lana Date: 2013-11-27 10:44 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/2bcdf1e05642 Merge Changeset: 64a492bc0ba7 Author: sla Date: 2013-11-14 12:35 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/64a492bc0ba7 8023138: [TEST_BUG] java/lang/instrument/PremainClass/NoPremainAgent.sh fails intermittently Summary: Port tests for java/lang/instrument/PremainClass from script to java Reviewed-by: sla Contributed-by: mattias.tobiasson at oracle.com - test/java/lang/instrument/PremainClass/NoPremainAgent.sh + test/java/lang/instrument/PremainClass/NoPremainAgentTest.java + test/java/lang/instrument/PremainClass/PremainClassTest.java - test/java/lang/instrument/PremainClass/PremainClassTest.sh - test/java/lang/instrument/PremainClass/ZeroArgPremainAgent.sh + test/java/lang/instrument/PremainClass/ZeroArgPremainAgentTest.java ! test/lib/testlibrary/jdk/testlibrary/Utils.java Changeset: 19ff80da8283 Author: yan Date: 2013-11-18 17:00 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/19ff80da8283 8028049: Tidy warnings cleanup for packages java.nio/java.io Reviewed-by: alanb, darcy Contributed-by: Sergey Lugovoy ! src/share/classes/java/io/EOFException.java ! src/share/classes/java/io/FilePermission.java ! src/share/classes/java/nio/channels/AsynchronousChannelGroup.java ! src/share/classes/java/nio/channels/AsynchronousFileChannel.java ! src/share/classes/java/nio/channels/FileChannel.java ! src/share/classes/java/nio/charset/Charset.java ! src/share/classes/java/nio/file/FileSystem.java ! src/share/classes/java/nio/file/Files.java ! src/share/classes/java/nio/package.html Changeset: d842131d12d8 Author: jbachorik Date: 2013-11-18 15:25 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/d842131d12d8 8027163: sun/management/jmxremote/bootstrap/CustomLauncherTest.java should be updated for jdk8 removal of solaris-32bit support Reviewed-by: sla ! test/lib/testlibrary/jdk/testlibrary/ProcessTools.java ! test/sun/management/jmxremote/bootstrap/CustomLauncherTest.java ! test/sun/management/jmxremote/bootstrap/LocalManagementTest.java + test/sun/management/jmxremote/bootstrap/solaris-amd64/launcher - test/sun/management/jmxremote/bootstrap/solaris-i586/launcher - test/sun/management/jmxremote/bootstrap/solaris-sparc/launcher + test/sun/management/jmxremote/bootstrap/solaris-sparcv9/launcher Changeset: 0298ebbaf3b8 Author: jbachorik Date: 2013-11-18 16:20 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/0298ebbaf3b8 8028433: [TESTBUG] add -XX:+UsePerfData to some sun.management tests Reviewed-by: sla, egahlin ! test/sun/management/HotspotClassLoadingMBean/GetClassLoadingTime.java ! test/sun/management/HotspotClassLoadingMBean/GetInitializedClassCount.java ! test/sun/management/HotspotClassLoadingMBean/GetLoadedClassSize.java ! test/sun/management/HotspotClassLoadingMBean/GetMethodDataSize.java ! test/sun/management/HotspotClassLoadingMBean/GetUnloadedClassSize.java ! test/sun/management/HotspotRuntimeMBean/GetSafepointCount.java Changeset: c2b56fe61626 Author: kizune Date: 2013-11-18 20:22 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/c2b56fe61626 8028197: tools/launcher/DiacriticTest.java failed on MacOSX: Input length = 1 Reviewed-by: ksrini ! test/tools/launcher/DiacriticTest.java Changeset: 4be14673b9bf Author: ihse Date: 2013-11-14 11:19 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/4be14673b9bf 8027566: Remove the old build system Reviewed-by: erikj, tbell + make/BuildJdk.gmk + make/Bundles.gmk + make/CompileDemos.gmk + make/CompileJavaClasses.gmk + make/CompileLaunchers.gmk + make/CompileNativeLibraries.gmk + make/CopyFiles.gmk + make/CopyIntoClasses.gmk + make/CopySamples.gmk + make/CreateJars.gmk + make/CreateSecurityJars.gmk + make/GenerateClasses.gmk + make/GenerateData.gmk + make/GenerateSources.gmk + make/Images.gmk + make/Import.gmk ! make/Makefile - make/PatchList.solaris + make/ProfileNames.gmk + make/Profiles.gmk + make/Setup.gmk + make/SignJars.gmk + make/Tools.gmk - make/altclasses/Makefile - make/apple/Makefile - make/apple/applescript/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 - make/com/Makefile - make/com/apple/Makefile - make/com/apple/osx/Makefile - make/com/apple/osxui/Makefile - make/com/oracle/Makefile - make/com/oracle/jfr/Makefile - make/com/oracle/net/Makefile - make/com/oracle/nio/Makefile - make/com/oracle/security/ucrypto/FILES_c.gmk - make/com/oracle/security/ucrypto/Makefile - make/com/oracle/security/ucrypto/mapfile-vers - make/com/oracle/util/Makefile - make/com/sun/Makefile - make/com/sun/crypto/provider/Makefile - make/com/sun/demo/Makefile - make/com/sun/demo/jvmti/Makefile - make/com/sun/demo/jvmti/hprof/Makefile - make/com/sun/image/Makefile - make/com/sun/jarsigner/Makefile - make/com/sun/java/Makefile - make/com/sun/java/browser/Makefile - make/com/sun/java/browser/dom/Makefile - make/com/sun/java/browser/net/Makefile - make/com/sun/java/pack/FILES_cpp.gmk - make/com/sun/java/pack/Makefile - make/com/sun/java/pack/mapfile-vers - make/com/sun/java/pack/mapfile-vers-unpack200 - make/com/sun/java/pack/prop/Makefile - make/com/sun/jmx/Makefile - make/com/sun/jmx/snmp/Makefile - make/com/sun/jndi/Makefile - make/com/sun/jndi/cosnaming/Makefile - make/com/sun/jndi/dns/Makefile - make/com/sun/jndi/ldap/Makefile - make/com/sun/jndi/rmi/Makefile - make/com/sun/jndi/rmi/registry/Makefile - make/com/sun/jndi/toolkit/Makefile - make/com/sun/net/httpserver/Makefile - make/com/sun/net/ssl/Makefile - make/com/sun/nio/Makefile - make/com/sun/nio/sctp/Exportedfiles.gmk - make/com/sun/nio/sctp/FILES_c.gmk - make/com/sun/nio/sctp/FILES_java.gmk - make/com/sun/nio/sctp/Makefile - make/com/sun/nio/sctp/mapfile-vers - make/com/sun/org/Makefile - make/com/sun/org/apache/Makefile - make/com/sun/org/apache/xml/Makefile - make/com/sun/rowset/Makefile - make/com/sun/security/Makefile - make/com/sun/security/auth/FILES_java.gmk - make/com/sun/security/auth/Makefile - make/com/sun/security/auth/module/FILES_c_solaris.gmk - make/com/sun/security/auth/module/FILES_c_unix.gmk - make/com/sun/security/auth/module/FILES_c_windows.gmk - make/com/sun/security/auth/module/FILES_export_solaris.gmk - make/com/sun/security/auth/module/FILES_export_unix.gmk - make/com/sun/security/auth/module/FILES_export_windows.gmk - make/com/sun/security/auth/module/FILES_java.gmk - make/com/sun/security/auth/module/Makefile - make/com/sun/security/auth/module/mapfile-vers - make/com/sun/security/jgss/Makefile - make/com/sun/security/ntlm/Makefile - make/com/sun/security/sasl/Makefile - make/com/sun/sql/FILES_java.gmk - make/com/sun/sql/Makefile - make/com/sun/tools/Makefile - make/com/sun/tools/attach/Exportedfiles.gmk - make/com/sun/tools/attach/FILES_c.gmk - make/com/sun/tools/attach/FILES_java.gmk - make/com/sun/tools/attach/Makefile - make/com/sun/tools/attach/mapfile-bsd - make/com/sun/tools/attach/mapfile-linux - make/com/sun/tools/attach/mapfile-solaris - make/com/sun/tracing/Makefile - make/com/sun/tracing/dtrace/Makefile - make/common/BuildToolJar.gmk - make/common/CancelImplicits.gmk - make/common/Classes.gmk - make/common/Cscope.gmk - make/common/Defs-linux.gmk - make/common/Defs-macosx.gmk - make/common/Defs-solaris.gmk - make/common/Defs-windows.gmk - make/common/Defs.gmk - make/common/Demo.gmk - make/common/Library.gmk - make/common/Mapfile-vers.gmk - make/common/Program.gmk - make/common/Release-macosx.gmk - make/common/Release.gmk - make/common/Rules.gmk - make/common/Sanity.gmk - make/common/Subdirs.gmk - make/common/internal/Defs-corba.gmk - make/common/internal/Defs-jaxp.gmk - make/common/internal/Defs-jaxws.gmk - make/common/internal/Defs-langtools.gmk - make/common/internal/ImportComponents.gmk - make/common/internal/NativeCompileRules.gmk - make/common/internal/Resources.gmk - make/common/shared/Compiler-gcc.gmk - make/common/shared/Compiler-llvm.gmk - make/common/shared/Compiler-msvc.gmk - make/common/shared/Compiler-sun.gmk - make/common/shared/Defs-control.gmk - make/common/shared/Defs-java.gmk - make/common/shared/Defs-javadoc.gmk - make/common/shared/Defs-linux.gmk - make/common/shared/Defs-macosx.gmk - make/common/shared/Defs-solaris.gmk - make/common/shared/Defs-utils.gmk - make/common/shared/Defs-versions.gmk - make/common/shared/Defs-windows.gmk - make/common/shared/Defs.gmk - make/common/shared/Platform.gmk - make/common/shared/PrivateDefs.gmk-example - make/common/shared/Sanity-Settings.gmk - make/common/shared/Sanity.gmk + make/data/characterdata/CharacterData00.java.template + make/data/characterdata/CharacterData01.java.template + make/data/characterdata/CharacterData02.java.template + make/data/characterdata/CharacterData0E.java.template + make/data/characterdata/CharacterDataLatin1.java.template + make/data/characterdata/CharacterDataPrivateUse.java.template + make/data/characterdata/CharacterDataUndefined.java.template + make/data/charsetmapping/Big5.map + make/data/charsetmapping/Big5.nr + make/data/charsetmapping/DoubleByte-X.java.template + make/data/charsetmapping/EUC_CN.map + make/data/charsetmapping/EUC_KR.map + make/data/charsetmapping/GBK.map + make/data/charsetmapping/HKSCS2001.c2b + make/data/charsetmapping/HKSCS2001.map + make/data/charsetmapping/HKSCS2008.c2b + make/data/charsetmapping/HKSCS2008.map + make/data/charsetmapping/HKSCS_XP.c2b + make/data/charsetmapping/HKSCS_XP.map + make/data/charsetmapping/IBM037.c2b + make/data/charsetmapping/IBM037.map + make/data/charsetmapping/IBM037.nr + make/data/charsetmapping/IBM1006.map + make/data/charsetmapping/IBM1025.c2b + make/data/charsetmapping/IBM1025.map + make/data/charsetmapping/IBM1025.nr + make/data/charsetmapping/IBM1026.c2b + make/data/charsetmapping/IBM1026.map + make/data/charsetmapping/IBM1026.nr + make/data/charsetmapping/IBM1046.map + make/data/charsetmapping/IBM1047.map + make/data/charsetmapping/IBM1097.map + make/data/charsetmapping/IBM1098.map + make/data/charsetmapping/IBM1112.c2b + make/data/charsetmapping/IBM1112.map + make/data/charsetmapping/IBM1112.nr + make/data/charsetmapping/IBM1122.c2b + make/data/charsetmapping/IBM1122.map + make/data/charsetmapping/IBM1122.nr + make/data/charsetmapping/IBM1123.c2b + make/data/charsetmapping/IBM1123.map + make/data/charsetmapping/IBM1123.nr + make/data/charsetmapping/IBM1124.map + make/data/charsetmapping/IBM1140.c2b + make/data/charsetmapping/IBM1140.map + make/data/charsetmapping/IBM1141.c2b + make/data/charsetmapping/IBM1141.map + make/data/charsetmapping/IBM1142.c2b + make/data/charsetmapping/IBM1142.map + make/data/charsetmapping/IBM1143.c2b + make/data/charsetmapping/IBM1143.map + make/data/charsetmapping/IBM1144.c2b + make/data/charsetmapping/IBM1144.map + make/data/charsetmapping/IBM1145.c2b + make/data/charsetmapping/IBM1145.map + make/data/charsetmapping/IBM1146.c2b + make/data/charsetmapping/IBM1146.map + make/data/charsetmapping/IBM1147.c2b + make/data/charsetmapping/IBM1147.map + make/data/charsetmapping/IBM1148.c2b + make/data/charsetmapping/IBM1148.map + make/data/charsetmapping/IBM1149.c2b + make/data/charsetmapping/IBM1149.map + make/data/charsetmapping/IBM1364.c2b + make/data/charsetmapping/IBM1364.map + make/data/charsetmapping/IBM1381.c2b + make/data/charsetmapping/IBM1381.map + make/data/charsetmapping/IBM1383.c2b + make/data/charsetmapping/IBM1383.map + make/data/charsetmapping/IBM1383.nr + make/data/charsetmapping/IBM273.c2b + make/data/charsetmapping/IBM273.map + make/data/charsetmapping/IBM273.nr + make/data/charsetmapping/IBM277.c2b + make/data/charsetmapping/IBM277.map + make/data/charsetmapping/IBM277.nr + make/data/charsetmapping/IBM278.c2b + make/data/charsetmapping/IBM278.map + make/data/charsetmapping/IBM278.nr + make/data/charsetmapping/IBM280.c2b + make/data/charsetmapping/IBM280.map + make/data/charsetmapping/IBM280.nr + make/data/charsetmapping/IBM284.c2b + make/data/charsetmapping/IBM284.map + make/data/charsetmapping/IBM284.nr + make/data/charsetmapping/IBM285.c2b + make/data/charsetmapping/IBM285.map + make/data/charsetmapping/IBM285.nr + make/data/charsetmapping/IBM290.c2b + make/data/charsetmapping/IBM290.map + make/data/charsetmapping/IBM297.c2b + make/data/charsetmapping/IBM297.map + make/data/charsetmapping/IBM297.nr + make/data/charsetmapping/IBM300.c2b + make/data/charsetmapping/IBM300.map + make/data/charsetmapping/IBM420.c2b + make/data/charsetmapping/IBM420.map + make/data/charsetmapping/IBM420.nr + make/data/charsetmapping/IBM424.c2b + make/data/charsetmapping/IBM424.map + make/data/charsetmapping/IBM424.nr + make/data/charsetmapping/IBM437.map + make/data/charsetmapping/IBM500.c2b + make/data/charsetmapping/IBM500.map + make/data/charsetmapping/IBM500.nr + make/data/charsetmapping/IBM737.map + make/data/charsetmapping/IBM775.map + make/data/charsetmapping/IBM833.c2b + make/data/charsetmapping/IBM833.map + make/data/charsetmapping/IBM838.c2b + make/data/charsetmapping/IBM838.map + make/data/charsetmapping/IBM838.nr + make/data/charsetmapping/IBM850.map + make/data/charsetmapping/IBM852.map + make/data/charsetmapping/IBM855.map + make/data/charsetmapping/IBM856.map + make/data/charsetmapping/IBM857.map + make/data/charsetmapping/IBM858.map + make/data/charsetmapping/IBM860.map + make/data/charsetmapping/IBM861.map + make/data/charsetmapping/IBM862.map + make/data/charsetmapping/IBM863.map + make/data/charsetmapping/IBM864.map + make/data/charsetmapping/IBM865.map + make/data/charsetmapping/IBM866.map + make/data/charsetmapping/IBM868.map + make/data/charsetmapping/IBM869.map + make/data/charsetmapping/IBM870.c2b + make/data/charsetmapping/IBM870.map + make/data/charsetmapping/IBM870.nr + make/data/charsetmapping/IBM871.c2b + make/data/charsetmapping/IBM871.map + make/data/charsetmapping/IBM871.nr + make/data/charsetmapping/IBM874.map + make/data/charsetmapping/IBM874.nr + make/data/charsetmapping/IBM875.c2b + make/data/charsetmapping/IBM875.map + make/data/charsetmapping/IBM875.nr + make/data/charsetmapping/IBM918.c2b + make/data/charsetmapping/IBM918.map + make/data/charsetmapping/IBM918.nr + make/data/charsetmapping/IBM921.map + make/data/charsetmapping/IBM922.map + make/data/charsetmapping/IBM930.c2b + make/data/charsetmapping/IBM930.map + make/data/charsetmapping/IBM930.nr + make/data/charsetmapping/IBM933.c2b + make/data/charsetmapping/IBM933.map + make/data/charsetmapping/IBM935.c2b + make/data/charsetmapping/IBM935.map + make/data/charsetmapping/IBM935.nr + make/data/charsetmapping/IBM937.c2b + make/data/charsetmapping/IBM937.map + make/data/charsetmapping/IBM937.nr + make/data/charsetmapping/IBM939.c2b + make/data/charsetmapping/IBM939.map + make/data/charsetmapping/IBM939.nr + make/data/charsetmapping/IBM942.c2b + make/data/charsetmapping/IBM942.map + make/data/charsetmapping/IBM943.map + make/data/charsetmapping/IBM943.nr + make/data/charsetmapping/IBM948.c2b + make/data/charsetmapping/IBM948.map + make/data/charsetmapping/IBM949.map + make/data/charsetmapping/IBM950.c2b + make/data/charsetmapping/IBM950.map + make/data/charsetmapping/IBM970.c2b + make/data/charsetmapping/IBM970.map + make/data/charsetmapping/ISO_8859_11.map + make/data/charsetmapping/ISO_8859_13.map + make/data/charsetmapping/ISO_8859_15.map + make/data/charsetmapping/ISO_8859_2.map + make/data/charsetmapping/ISO_8859_3.map + make/data/charsetmapping/ISO_8859_4.map + make/data/charsetmapping/ISO_8859_5.map + make/data/charsetmapping/ISO_8859_6.map + make/data/charsetmapping/ISO_8859_7.map + make/data/charsetmapping/ISO_8859_8.map + make/data/charsetmapping/ISO_8859_9.map + make/data/charsetmapping/JIS_X_0201.c2b + make/data/charsetmapping/JIS_X_0201.map + make/data/charsetmapping/JIS_X_0208.map + make/data/charsetmapping/JIS_X_0208_MS5022X.c2b + make/data/charsetmapping/JIS_X_0208_MS5022X.map + make/data/charsetmapping/JIS_X_0208_MS932.map + make/data/charsetmapping/JIS_X_0208_MS932.nr + make/data/charsetmapping/JIS_X_0208_Solaris.map + make/data/charsetmapping/JIS_X_0208_Solaris.nr + make/data/charsetmapping/JIS_X_0212.map + make/data/charsetmapping/JIS_X_0212_MS5022X.map + make/data/charsetmapping/JIS_X_0212_Solaris.map + make/data/charsetmapping/JIS_X_0212_Solaris.nr + make/data/charsetmapping/Johab.map + make/data/charsetmapping/KOI8_R.map + make/data/charsetmapping/KOI8_U.map + make/data/charsetmapping/MS1250.map + make/data/charsetmapping/MS1251.map + make/data/charsetmapping/MS1252.map + make/data/charsetmapping/MS1253.map + make/data/charsetmapping/MS1254.map + make/data/charsetmapping/MS1255.map + make/data/charsetmapping/MS1256.map + make/data/charsetmapping/MS1257.map + make/data/charsetmapping/MS1258.map + make/data/charsetmapping/MS874.map + make/data/charsetmapping/MS932.c2b + make/data/charsetmapping/MS932.map + make/data/charsetmapping/MS932.nr + make/data/charsetmapping/MS936.map + make/data/charsetmapping/MS949.map + make/data/charsetmapping/MS950.map + make/data/charsetmapping/MS950.nr + make/data/charsetmapping/MacArabic.map + make/data/charsetmapping/MacCentralEurope.map + make/data/charsetmapping/MacCroatian.map + make/data/charsetmapping/MacCyrillic.map + make/data/charsetmapping/MacDingbat.map + make/data/charsetmapping/MacGreek.map + make/data/charsetmapping/MacHebrew.map + make/data/charsetmapping/MacIceland.map + make/data/charsetmapping/MacRoman.map + make/data/charsetmapping/MacRomania.map + make/data/charsetmapping/MacSymbol.map + make/data/charsetmapping/MacThai.map + make/data/charsetmapping/MacTurkish.map + make/data/charsetmapping/MacUkraine.map + make/data/charsetmapping/PCK.c2b + make/data/charsetmapping/PCK.map + make/data/charsetmapping/PCK.nr + make/data/charsetmapping/SJIS.c2b + make/data/charsetmapping/SJIS.map + make/data/charsetmapping/SingleByte-X.java.template + make/data/charsetmapping/TIS_620.map + make/data/charsetmapping/dbcs + make/data/charsetmapping/euc_tw.map + make/data/charsetmapping/extsbcs + make/data/charsetmapping/sbcs + make/data/charsetmapping/sjis0213.map + make/data/checkdeps/refs.allowed + make/data/classlist/classlist.linux + make/data/classlist/classlist.macosx + make/data/classlist/classlist.solaris + make/data/classlist/classlist.windows + make/data/cryptopolicy/limited/LIMITED + make/data/cryptopolicy/limited/default_local.policy + make/data/cryptopolicy/limited/exempt_local.policy + make/data/cryptopolicy/unlimited/UNLIMITED + make/data/cryptopolicy/unlimited/default_US_export.policy + make/data/cryptopolicy/unlimited/default_local.policy + make/data/dtdbuilder/HTMLlat1.sgml + make/data/dtdbuilder/HTMLspecial.sgml + make/data/dtdbuilder/HTMLsymbol.sgml + make/data/dtdbuilder/html32.dtd + make/data/dtdbuilder/public.map + make/data/jdwp/jdwp.spec + make/data/mainmanifest/manifest.mf + make/data/swingbeaninfo/SwingBeanInfo.template + make/data/swingbeaninfo/images/AbstractButtonColor16.gif + make/data/swingbeaninfo/images/BorderColor16.gif + make/data/swingbeaninfo/images/BoxColor16.gif + make/data/swingbeaninfo/images/BoxColor32.gif + make/data/swingbeaninfo/images/BoxMono16.gif + make/data/swingbeaninfo/images/BoxMono32.gif + make/data/swingbeaninfo/images/JAppletColor16.gif + make/data/swingbeaninfo/images/JAppletColor32.gif + make/data/swingbeaninfo/images/JAppletMono16.gif + make/data/swingbeaninfo/images/JAppletMono32.gif + make/data/swingbeaninfo/images/JButtonColor16.gif + make/data/swingbeaninfo/images/JButtonColor32.gif + make/data/swingbeaninfo/images/JButtonMono16.gif + make/data/swingbeaninfo/images/JButtonMono32.gif + make/data/swingbeaninfo/images/JCheckBoxColor16.gif + make/data/swingbeaninfo/images/JCheckBoxColor32.gif + make/data/swingbeaninfo/images/JCheckBoxMenuItemColor16.gif + make/data/swingbeaninfo/images/JCheckBoxMenuItemColor32.gif + make/data/swingbeaninfo/images/JCheckBoxMenuItemMono16.gif + make/data/swingbeaninfo/images/JCheckBoxMenuItemMono32.gif + make/data/swingbeaninfo/images/JCheckBoxMono16.gif + make/data/swingbeaninfo/images/JCheckBoxMono32.gif + make/data/swingbeaninfo/images/JColorChooserColor16.gif + make/data/swingbeaninfo/images/JColorChooserColor32.gif + make/data/swingbeaninfo/images/JColorChooserMono16.gif + make/data/swingbeaninfo/images/JColorChooserMono32.gif + make/data/swingbeaninfo/images/JComboBoxColor16.gif + make/data/swingbeaninfo/images/JComboBoxColor32.gif + make/data/swingbeaninfo/images/JComboBoxMono16.gif + make/data/swingbeaninfo/images/JComboBoxMono32.gif + make/data/swingbeaninfo/images/JComponentColor16.gif + make/data/swingbeaninfo/images/JDesktopPaneColor16.gif + make/data/swingbeaninfo/images/JDesktopPaneColor32.gif + make/data/swingbeaninfo/images/JDesktopPaneMono16.gif + make/data/swingbeaninfo/images/JDesktopPaneMono32.gif + make/data/swingbeaninfo/images/JDialogColor16.gif + make/data/swingbeaninfo/images/JDialogColor32.gif + make/data/swingbeaninfo/images/JDialogMono16.gif + make/data/swingbeaninfo/images/JDialogMono32.gif + make/data/swingbeaninfo/images/JEditorPaneColor16.gif + make/data/swingbeaninfo/images/JEditorPaneColor32.gif + make/data/swingbeaninfo/images/JEditorPaneMono16.gif + make/data/swingbeaninfo/images/JEditorPaneMono32.gif + make/data/swingbeaninfo/images/JFileChooserColor16.gif + make/data/swingbeaninfo/images/JFileChooserColor32.gif + make/data/swingbeaninfo/images/JFileChooserMono16.gif + make/data/swingbeaninfo/images/JFileChooserMono32.gif + make/data/swingbeaninfo/images/JFormattedTextFieldColor16.gif + make/data/swingbeaninfo/images/JFormattedTextFieldColor32.gif + make/data/swingbeaninfo/images/JFormattedTextFieldMono16.gif + make/data/swingbeaninfo/images/JFormattedTextFieldMono32.gif + make/data/swingbeaninfo/images/JFrameColor16.gif + make/data/swingbeaninfo/images/JFrameColor32.gif + make/data/swingbeaninfo/images/JFrameMono16.gif + make/data/swingbeaninfo/images/JFrameMono32.gif + make/data/swingbeaninfo/images/JInternalFrameColor16.gif + make/data/swingbeaninfo/images/JInternalFrameColor32.gif + make/data/swingbeaninfo/images/JInternalFrameMono16.gif + make/data/swingbeaninfo/images/JInternalFrameMono32.gif + make/data/swingbeaninfo/images/JLabelColor16.gif + make/data/swingbeaninfo/images/JLabelColor32.gif + make/data/swingbeaninfo/images/JLabelMono16.gif + make/data/swingbeaninfo/images/JLabelMono32.gif + make/data/swingbeaninfo/images/JLayeredPaneColor16.gif + make/data/swingbeaninfo/images/JLayeredPaneColor32.gif + make/data/swingbeaninfo/images/JLayeredPaneMono16.gif + make/data/swingbeaninfo/images/JLayeredPaneMono32.gif + make/data/swingbeaninfo/images/JListColor16.gif + make/data/swingbeaninfo/images/JListColor32.gif + make/data/swingbeaninfo/images/JListMono16.gif + make/data/swingbeaninfo/images/JListMono32.gif + make/data/swingbeaninfo/images/JMenuBarColor16.gif + make/data/swingbeaninfo/images/JMenuBarColor32.gif + make/data/swingbeaninfo/images/JMenuBarMono16.gif + make/data/swingbeaninfo/images/JMenuBarMono32.gif + make/data/swingbeaninfo/images/JMenuColor16.gif + make/data/swingbeaninfo/images/JMenuColor32.gif + make/data/swingbeaninfo/images/JMenuItemColor16.gif + make/data/swingbeaninfo/images/JMenuItemColor32.gif + make/data/swingbeaninfo/images/JMenuItemMono16.gif + make/data/swingbeaninfo/images/JMenuItemMono32.gif + make/data/swingbeaninfo/images/JMenuMono16.gif + make/data/swingbeaninfo/images/JMenuMono32.gif + make/data/swingbeaninfo/images/JOptionPaneColor16.gif + make/data/swingbeaninfo/images/JOptionPaneColor32.gif + make/data/swingbeaninfo/images/JOptionPaneMono16.gif + make/data/swingbeaninfo/images/JOptionPaneMono32.gif + make/data/swingbeaninfo/images/JPanelColor16.gif + make/data/swingbeaninfo/images/JPanelColor32.gif + make/data/swingbeaninfo/images/JPanelMono16.gif + make/data/swingbeaninfo/images/JPanelMono32.gif + make/data/swingbeaninfo/images/JPasswordFieldColor16.gif + make/data/swingbeaninfo/images/JPasswordFieldColor32.gif + make/data/swingbeaninfo/images/JPasswordFieldMono16.gif + make/data/swingbeaninfo/images/JPasswordFieldMono32.gif + make/data/swingbeaninfo/images/JPopupMenuColor16.gif + make/data/swingbeaninfo/images/JPopupMenuColor32.gif + make/data/swingbeaninfo/images/JPopupMenuMono16.gif + make/data/swingbeaninfo/images/JPopupMenuMono32.gif + make/data/swingbeaninfo/images/JProgressBarColor16.gif + make/data/swingbeaninfo/images/JProgressBarColor32.gif + make/data/swingbeaninfo/images/JProgressBarMono16.gif + make/data/swingbeaninfo/images/JProgressBarMono32.gif + make/data/swingbeaninfo/images/JRadioButtonColor16.gif + make/data/swingbeaninfo/images/JRadioButtonColor32.gif + make/data/swingbeaninfo/images/JRadioButtonMenuItemColor16.gif + make/data/swingbeaninfo/images/JRadioButtonMenuItemColor32.gif + make/data/swingbeaninfo/images/JRadioButtonMenuItemMono16.gif + make/data/swingbeaninfo/images/JRadioButtonMenuItemMono32.gif + make/data/swingbeaninfo/images/JRadioButtonMono16.gif + make/data/swingbeaninfo/images/JRadioButtonMono32.gif + make/data/swingbeaninfo/images/JRootPaneColor16.gif + make/data/swingbeaninfo/images/JRootPaneColor32.gif + make/data/swingbeaninfo/images/JRootPaneMono16.gif + make/data/swingbeaninfo/images/JRootPaneMono32.gif + make/data/swingbeaninfo/images/JScrollBarColor16.gif + make/data/swingbeaninfo/images/JScrollBarColor32.gif + make/data/swingbeaninfo/images/JScrollBarMono16.gif + make/data/swingbeaninfo/images/JScrollBarMono32.gif + make/data/swingbeaninfo/images/JScrollPaneColor16.gif + make/data/swingbeaninfo/images/JScrollPaneColor32.gif + make/data/swingbeaninfo/images/JScrollPaneMono16.gif + make/data/swingbeaninfo/images/JScrollPaneMono32.gif + make/data/swingbeaninfo/images/JSeparatorColor16.gif + make/data/swingbeaninfo/images/JSeparatorColor32.gif + make/data/swingbeaninfo/images/JSeparatorMono16.gif + make/data/swingbeaninfo/images/JSeparatorMono32.gif + make/data/swingbeaninfo/images/JSliderColor16.gif + make/data/swingbeaninfo/images/JSliderColor32.gif + make/data/swingbeaninfo/images/JSliderMono16.gif + make/data/swingbeaninfo/images/JSliderMono32.gif + make/data/swingbeaninfo/images/JSpinnerColor16.gif + make/data/swingbeaninfo/images/JSpinnerColor32.gif + make/data/swingbeaninfo/images/JSpinnerMono16.gif + make/data/swingbeaninfo/images/JSpinnerMono32.gif + make/data/swingbeaninfo/images/JSplitPaneColor16.gif + make/data/swingbeaninfo/images/JSplitPaneColor32.gif + make/data/swingbeaninfo/images/JSplitPaneMono16.gif + make/data/swingbeaninfo/images/JSplitPaneMono32.gif + make/data/swingbeaninfo/images/JTabbedPaneColor16.gif + make/data/swingbeaninfo/images/JTabbedPaneColor32.gif + make/data/swingbeaninfo/images/JTabbedPaneMono16.gif + make/data/swingbeaninfo/images/JTabbedPaneMono32.gif + make/data/swingbeaninfo/images/JTableColor16.gif + make/data/swingbeaninfo/images/JTableColor32.gif + make/data/swingbeaninfo/images/JTableMono16.gif + make/data/swingbeaninfo/images/JTableMono32.gif + make/data/swingbeaninfo/images/JTextAreaColor16.gif + make/data/swingbeaninfo/images/JTextAreaColor32.gif + make/data/swingbeaninfo/images/JTextAreaMono16.gif + make/data/swingbeaninfo/images/JTextAreaMono32.gif + make/data/swingbeaninfo/images/JTextFieldColor16.gif + make/data/swingbeaninfo/images/JTextFieldColor32.gif + make/data/swingbeaninfo/images/JTextFieldMono16.gif + make/data/swingbeaninfo/images/JTextFieldMono32.gif + make/data/swingbeaninfo/images/JTextPaneColor16.gif + make/data/swingbeaninfo/images/JTextPaneColor32.gif + make/data/swingbeaninfo/images/JTextPaneMono16.gif + make/data/swingbeaninfo/images/JTextPaneMono32.gif + make/data/swingbeaninfo/images/JToggleButtonColor16.gif + make/data/swingbeaninfo/images/JToggleButtonColor32.gif + make/data/swingbeaninfo/images/JToggleButtonMono16.gif + make/data/swingbeaninfo/images/JToggleButtonMono32.gif + make/data/swingbeaninfo/images/JToolBarColor16.gif + make/data/swingbeaninfo/images/JToolBarColor32.gif + make/data/swingbeaninfo/images/JToolBarMono16.gif + make/data/swingbeaninfo/images/JToolBarMono32.gif + make/data/swingbeaninfo/images/JTreeColor16.gif + make/data/swingbeaninfo/images/JTreeColor32.gif + make/data/swingbeaninfo/images/JTreeMono16.gif + make/data/swingbeaninfo/images/JTreeMono32.gif + make/data/swingbeaninfo/images/JViewportColor16.gif + make/data/swingbeaninfo/images/JViewportColor32.gif + make/data/swingbeaninfo/images/JViewportMono16.gif + make/data/swingbeaninfo/images/JViewportMono32.gif + make/data/swingbeaninfo/images/JWindowColor16.gif + make/data/swingbeaninfo/images/JWindowColor32.gif + make/data/swingbeaninfo/images/JWindowMono16.gif + make/data/swingbeaninfo/images/JWindowMono32.gif + make/data/swingbeaninfo/javax/swing/SwingBeanInfoBase.java + make/data/swingbeaninfo/manifest.mf + make/data/swingbeaninfo/sun/swing/BeanInfoUtils.java + make/data/tzdata/VERSION + make/data/tzdata/africa + make/data/tzdata/antarctica + make/data/tzdata/asia + make/data/tzdata/australasia + make/data/tzdata/backward + make/data/tzdata/etcetera + make/data/tzdata/europe + make/data/tzdata/factory + make/data/tzdata/gmt + make/data/tzdata/iso3166.tab + make/data/tzdata/jdk11_backward + make/data/tzdata/leapseconds + make/data/tzdata/northamerica + make/data/tzdata/pacificnew + make/data/tzdata/solar87 + make/data/tzdata/solar88 + make/data/tzdata/solar89 + make/data/tzdata/southamerica + make/data/tzdata/systemv + make/data/tzdata/zone.tab + make/data/unicodedata/PropList.txt + make/data/unicodedata/Scripts.txt + make/data/unicodedata/SpecialCasing.txt + make/data/unicodedata/UnicodeData.txt + make/data/unicodedata/VERSION - make/docs/CORE_PKGS.gmk - make/docs/Makefile - make/docs/NON_CORE_PKGS.gmk - make/docs/Notes.html + make/gendata/GendataBreakIterator.gmk + make/gendata/GendataFontConfig.gmk + make/gendata/GendataHtml32dtd.gmk + make/gendata/GendataTZDB.gmk + make/gensrc/GensrcBuffer.gmk + make/gensrc/GensrcCLDR.gmk + make/gensrc/GensrcCharacterData.gmk + make/gensrc/GensrcCharsetCoder.gmk + make/gensrc/GensrcCharsetMapping.gmk + make/gensrc/GensrcExceptions.gmk + make/gensrc/GensrcIcons.gmk + make/gensrc/GensrcJDWP.gmk + make/gensrc/GensrcJObjC.gmk + make/gensrc/GensrcLocaleDataMetaInfo.gmk + make/gensrc/GensrcMisc.gmk + make/gensrc/GensrcProperties.gmk + make/gensrc/GensrcSwing.gmk + make/gensrc/GensrcX11Wrappers.gmk - make/java/Makefile - make/java/applet/Makefile - make/java/awt/Makefile - make/java/beans/Makefile - make/java/fdlibm/FILES_c.gmk - make/java/fdlibm/Makefile - make/java/instrument/Makefile - make/java/instrument/mapfile-vers - make/java/invoke/Makefile - make/java/jar/Makefile - make/java/java/Exportedfiles.gmk - make/java/java/FILES_c.gmk - make/java/java/FILES_java.gmk - make/java/java/Makefile - make/java/java/genlocales.gmk - make/java/java/localegen.sh - make/java/java/localelist.sh - make/java/java/mapfile-vers - make/java/java/reflect/Makefile - make/java/java/reorder-i586 - make/java/java/reorder-sparc - make/java/java/reorder-sparcv9 - make/java/java_crw_demo/Makefile - make/java/java_crw_demo/mapfile-vers - make/java/java_hprof_demo/Makefile - make/java/java_hprof_demo/mapfile-vers - make/java/jexec/Makefile - make/java/jli/Makefile - make/java/jli/mapfile-vers - make/java/jobjc/Makefile - make/java/jvm/Makefile - make/java/logging/Makefile - make/java/main/Makefile - make/java/main/java/Makefile - make/java/main/java/mapfile-amd64 - make/java/main/java/mapfile-i586 - make/java/main/java/mapfile-sparc - make/java/main/java/mapfile-sparcv9 - make/java/main/javaw/Makefile - make/java/management/Exportedfiles.gmk - make/java/management/FILES_c.gmk - make/java/management/Makefile - make/java/management/mapfile-vers - make/java/math/Makefile - make/java/net/FILES_c.gmk - make/java/net/Makefile - make/java/net/mapfile-vers - make/java/nio/Exportedfiles.gmk - make/java/nio/FILES_c.gmk - make/java/nio/FILES_java.gmk - make/java/nio/Makefile - make/java/nio/addNotices.sh - make/java/nio/genBuffer.sh - make/java/nio/genCharsetProvider.sh - make/java/nio/genCoder.sh - make/java/nio/genExceptions.sh - make/java/nio/mapfile-bsd - make/java/nio/mapfile-linux - make/java/nio/mapfile-solaris - make/java/nio/reorder-i586 - make/java/nio/reorder-sparc - make/java/nio/reorder-sparcv9 - make/java/npt/Makefile - make/java/npt/mapfile-vers - make/java/redist/Makefile - make/java/redist/fonts/Makefile - make/java/redist/sajdi/Makefile - make/java/rmi/Makefile - make/java/security/Makefile - make/java/sql/Makefile - make/java/sun_nio/FILES_java.gmk - make/java/sun_nio/Makefile - make/java/text/Makefile - make/java/text/base/FILES_java.gmk - make/java/text/base/Makefile - make/java/text/bidi/Makefile - make/java/time/Makefile - make/java/util/FILES_java.gmk - make/java/util/FILES_properties.gmk - make/java/util/Makefile - make/java/verify/Makefile - make/java/verify/mapfile-vers - make/java/verify/reorder-i586 - make/java/verify/reorder-sparc - make/java/verify/reorder-sparcv9 - make/java/version/Makefile - make/java/zip/FILES_c.gmk - make/java/zip/FILES_java.gmk - make/java/zip/Makefile - make/java/zip/mapfile-vers - make/java/zip/reorder-i586 - make/java/zip/reorder-sparc - make/java/zip/reorder-sparcv9 - make/javax/Makefile - make/javax/accessibility/Makefile - make/javax/crypto/Defs-jce.gmk - make/javax/crypto/Makefile - make/javax/crypto/policy/limited/LIMITED - make/javax/crypto/policy/limited/default_local.policy - make/javax/crypto/policy/limited/exempt_local.policy - make/javax/crypto/policy/unlimited/UNLIMITED - make/javax/crypto/policy/unlimited/default_US_export.policy - make/javax/crypto/policy/unlimited/default_local.policy - make/javax/imageio/Makefile - make/javax/management/Makefile - make/javax/others/Makefile - make/javax/print/Makefile - make/javax/rmi/Makefile - make/javax/rmi/ssl/Makefile - make/javax/security/Makefile - make/javax/sound/FILES_c.gmk - make/javax/sound/Makefile - make/javax/sound/SoundDefs.gmk - make/javax/sound/jsoundalsa/Makefile - make/javax/sound/jsoundalsa/mapfile-vers - make/javax/sound/jsoundds/Makefile - make/javax/sound/mapfile-vers - make/javax/sql/Makefile - make/javax/swing/FILES.gmk - make/javax/swing/Makefile - make/javax/swing/beaninfo/FILES.gmk - make/javax/swing/beaninfo/Makefile - make/javax/swing/beaninfo/SwingBeans.gmk - make/javax/swing/beaninfo/manifest - make/javax/swing/html32dtd/Makefile - make/javax/swing/plaf/FILES.gmk - make/javax/swing/plaf/Makefile - make/jdk/Makefile - make/jdk_generic_profile.sh - make/jpda/Makefile - make/jpda/back/Makefile - make/jpda/back/mapfile-vers - make/jpda/bdi/Makefile - make/jpda/expr/Makefile - make/jpda/front/Makefile - make/jpda/gui/Makefile - make/jpda/jdwp/Makefile - make/jpda/jdwp/jdwp.spec - make/jpda/transport/Makefile - make/jpda/transport/shmem/Makefile - make/jpda/transport/shmem/mapfile-vers - make/jpda/transport/socket/Makefile - make/jpda/transport/socket/mapfile-vers - make/jpda/tty/Makefile - make/jprt.gmk - make/jprt.properties - make/launchers/Makefile - make/launchers/Makefile.launcher + make/lib/Awt2dLibraries.gmk + make/lib/CoreLibraries.gmk + make/lib/NetworkingLibraries.gmk + make/lib/NioLibraries.gmk + make/lib/PlatformLibraries.gmk + make/lib/SecurityLibraries.gmk + make/lib/ServiceabilityLibraries.gmk + make/lib/SoundLibraries.gmk + make/mapfiles/launchers/mapfile-sparc + make/mapfiles/launchers/mapfile-sparcv9 + make/mapfiles/launchers/mapfile-x86 + make/mapfiles/launchers/mapfile-x86_64 + make/mapfiles/libattach/mapfile-linux + make/mapfiles/libattach/mapfile-solaris + make/mapfiles/libattach/reorder-windows-x86 + make/mapfiles/libattach/reorder-windows-x86_64 + make/mapfiles/libawt/mapfile-mawt-vers + make/mapfiles/libawt/mapfile-vers + make/mapfiles/libawt/mapfile-vers-linux + make/mapfiles/libawt_headless/mapfile-vers + make/mapfiles/libawt_headless/reorder-sparc + make/mapfiles/libawt_headless/reorder-sparcv9 + make/mapfiles/libawt_headless/reorder-x86 + make/mapfiles/libawt_xawt/mapfile-vers + make/mapfiles/libdcpr/mapfile-vers + make/mapfiles/libdt_socket/mapfile-vers + make/mapfiles/libfontmanager/mapfile-vers + make/mapfiles/libfontmanager/mapfile-vers.openjdk + make/mapfiles/libhprof/mapfile-vers + make/mapfiles/libinstrument/mapfile-vers + make/mapfiles/libj2gss/mapfile-vers + make/mapfiles/libj2pcsc/mapfile-vers + make/mapfiles/libj2pkcs11/mapfile-vers + make/mapfiles/libj2ucrypto/mapfile-vers + make/mapfiles/libjaas/mapfile-vers + make/mapfiles/libjava/mapfile-vers + make/mapfiles/libjava/reorder-sparc + make/mapfiles/libjava/reorder-sparcv9 + make/mapfiles/libjava/reorder-x86 + make/mapfiles/libjava_crw_demo/mapfile-vers + make/mapfiles/libjawt/mapfile-vers + make/mapfiles/libjdga/mapfile-vers + make/mapfiles/libjdwp/mapfile-vers + make/mapfiles/libjfr/mapfile-vers + make/mapfiles/libjli/mapfile-vers + make/mapfiles/libjpeg/mapfile-vers + make/mapfiles/libjpeg/mapfile-vers-closed + make/mapfiles/libjpeg/reorder-sparc + make/mapfiles/libjpeg/reorder-sparcv9 + make/mapfiles/libjpeg/reorder-x86 + make/mapfiles/libjsdt/mapfile-vers + make/mapfiles/libjsound/mapfile-vers + make/mapfiles/libjsoundalsa/mapfile-vers + make/mapfiles/libkcms/mapfile-vers + make/mapfiles/liblcms/mapfile-vers + make/mapfiles/libmanagement/mapfile-vers + make/mapfiles/libmlib_image/mapfile-vers + make/mapfiles/libnet/mapfile-vers + make/mapfiles/libnio/mapfile-linux + make/mapfiles/libnio/mapfile-macosx + make/mapfiles/libnio/mapfile-solaris + make/mapfiles/libnio/reorder-sparc + make/mapfiles/libnio/reorder-sparcv9 + make/mapfiles/libnio/reorder-x86 + make/mapfiles/libnpt/mapfile-vers + make/mapfiles/libsctp/mapfile-vers + make/mapfiles/libsplashscreen/mapfile-vers + make/mapfiles/libsunec/mapfile-vers + make/mapfiles/libt2k/mapfile-vers + make/mapfiles/libunpack/mapfile-vers + make/mapfiles/libunpack/mapfile-vers-unpack200 + make/mapfiles/libverify/mapfile-vers + make/mapfiles/libverify/reorder-sparc + make/mapfiles/libverify/reorder-sparcv9 + make/mapfiles/libverify/reorder-x86 + make/mapfiles/libzip/mapfile-vers + make/mapfiles/libzip/reorder-sparc + make/mapfiles/libzip/reorder-sparcv9 + make/mapfiles/libzip/reorder-x86 - make/mkdemo/Makefile - make/mkdemo/applets/Animator/Makefile - make/mkdemo/applets/ArcTest/Makefile - make/mkdemo/applets/BarChart/Makefile - make/mkdemo/applets/Blink/Makefile - make/mkdemo/applets/CardTest/Makefile - make/mkdemo/applets/Clock/Makefile - make/mkdemo/applets/DitherTest/Makefile - make/mkdemo/applets/DrawTest/Makefile - make/mkdemo/applets/Fractal/Makefile - make/mkdemo/applets/GraphLayout/Makefile - make/mkdemo/applets/GraphicsTest/Makefile - make/mkdemo/applets/JumpingBox/Makefile - make/mkdemo/applets/Makefile - make/mkdemo/applets/MoleculeViewer/Makefile - make/mkdemo/applets/NervousText/Makefile - make/mkdemo/applets/SimpleGraph/Makefile - make/mkdemo/applets/SortDemo/Makefile - make/mkdemo/applets/SpreadSheet/Makefile - make/mkdemo/applets/TicTacToe/Makefile - make/mkdemo/applets/WireFrame/Makefile - make/mkdemo/jfc/CodePointIM/Makefile - make/mkdemo/jfc/FileChooserDemo/Makefile - make/mkdemo/jfc/Font2DTest/Makefile - make/mkdemo/jfc/Java2D/Makefile - make/mkdemo/jfc/Laffy/Makefile - make/mkdemo/jfc/Makefile - make/mkdemo/jfc/Metalworks/Makefile - make/mkdemo/jfc/Notepad/Makefile - make/mkdemo/jfc/SampleTree/Makefile - make/mkdemo/jfc/Stylepad/Makefile - make/mkdemo/jfc/SwingApplet/Makefile - make/mkdemo/jfc/SwingSet2/Makefile - make/mkdemo/jfc/SwingSet3/Makefile - make/mkdemo/jfc/TableExample/Makefile - make/mkdemo/jfc/TransparentRuler/Makefile - make/mkdemo/jni/Makefile - make/mkdemo/jni/Poller/Makefile - make/mkdemo/jpda/Makefile - make/mkdemo/jvmti/Makefile - make/mkdemo/jvmti/README.txt - make/mkdemo/jvmti/compiledMethodLoad/Makefile - make/mkdemo/jvmti/gctest/Makefile - make/mkdemo/jvmti/heapTracker/Makefile - make/mkdemo/jvmti/heapViewer/Makefile - make/mkdemo/jvmti/hprof/Makefile - make/mkdemo/jvmti/mapfile-vers - make/mkdemo/jvmti/minst/Makefile - make/mkdemo/jvmti/mtrace/Makefile - make/mkdemo/jvmti/versionCheck/Makefile - make/mkdemo/jvmti/waiters/Makefile - make/mkdemo/management/FullThreadDump/Makefile - make/mkdemo/management/JTop/Makefile - make/mkdemo/management/Makefile - make/mkdemo/management/MemoryMonitor/Makefile - make/mkdemo/management/README.txt - make/mkdemo/management/VerboseGC/Makefile - make/mkdemo/nio/Makefile - make/mkdemo/nio/zipfs/Makefile - make/mkdemo/scripting/Makefile - make/mkdemo/scripting/jconsole-plugin/Makefile - make/mksample/Makefile - make/mksample/dtrace/Makefile - make/mksample/forkjoin/Makefile - make/mksample/forkjoin/mergesort/Makefile - make/mksample/jmx/Makefile - make/mksample/jmx/jmx-scandir/Makefile - make/mksample/nbproject/Makefile - make/mksample/nio/Makefile - make/mksample/nio/chatserver/Makefile - make/mksample/nio/file/Makefile - make/mksample/nio/multicast/Makefile - make/mksample/nio/server/Makefile - make/mksample/scripting/Makefile - make/mksample/scripting/scriptpad/Makefile - make/mksample/webservices/EbayClient/Makefile - make/mksample/webservices/EbayServer/Makefile - make/mksample/webservices/Makefile ! make/netbeans/jdwpgen/nbproject/project.properties + make/non-build-utils/reorder/Makefile + make/non-build-utils/reorder/tests/Exit.java + make/non-build-utils/reorder/tests/Hello.java + make/non-build-utils/reorder/tests/IntToString.java + make/non-build-utils/reorder/tests/JHello.java + make/non-build-utils/reorder/tests/LoadFrame.java + make/non-build-utils/reorder/tests/LoadJFrame.java + make/non-build-utils/reorder/tests/LoadToolkit.java + make/non-build-utils/reorder/tests/Null.java + make/non-build-utils/reorder/tests/Sleep.java + make/non-build-utils/reorder/tools/Combine.java + make/non-build-utils/reorder/tools/MaxTime.java + make/non-build-utils/reorder/tools/mcount.c + make/non-build-utils/reorder/tools/remove_mcount.c + make/non-build-utils/reorder/tools/util-i586.il + make/non-build-utils/reorder/tools/util-sparc.il + make/non-build-utils/reorder/tools/util-sparcv9.il + make/non-build-utils/sharing/README.txt + make/non-build-utils/sharing/tests/GHello.java + make/non-build-utils/sharing/tests/Hello.java + make/non-build-utils/sharing/tests/JHello.java + make/non-build-utils/src/build/tools/commentchecker/CommentChecker.java + make/non-build-utils/src/build/tools/dirdiff/DirDiff.java + make/non-build-utils/src/build/tools/makeclasslist/MakeClasslist.java - make/org/Makefile - make/org/ietf/Makefile - make/org/ietf/jgss/FILES_java.gmk - make/org/ietf/jgss/Makefile - make/org/jcp/Makefile + make/profile-includes.txt + make/profile-rtjar-includes.txt + make/scripts/addNotices.sh + make/scripts/genCharsetProvider.sh + make/scripts/genExceptions.sh + make/scripts/localelist.sh + make/src/classes/build/tools/addjsum/AddJsum.java + make/src/classes/build/tools/addtorestrictedpkgs/AddToRestrictedPkgs.java + make/src/classes/build/tools/buildmetaindex/BuildMetaIndex.java + make/src/classes/build/tools/charsetmapping/DBCS.java + make/src/classes/build/tools/charsetmapping/EUC_TW.java + make/src/classes/build/tools/charsetmapping/HKSCS.java + make/src/classes/build/tools/charsetmapping/JIS0213.java + make/src/classes/build/tools/charsetmapping/Main.java + make/src/classes/build/tools/charsetmapping/SBCS.java + make/src/classes/build/tools/charsetmapping/Utils.java + make/src/classes/build/tools/classfile/RemoveMethods.java + make/src/classes/build/tools/cldrconverter/AbstractLDMLHandler.java + make/src/classes/build/tools/cldrconverter/Bundle.java + make/src/classes/build/tools/cldrconverter/BundleGenerator.java + make/src/classes/build/tools/cldrconverter/CLDRConverter.java + make/src/classes/build/tools/cldrconverter/CalendarType.java + make/src/classes/build/tools/cldrconverter/Container.java + make/src/classes/build/tools/cldrconverter/CopyrightHeaders.java + make/src/classes/build/tools/cldrconverter/Entry.java + make/src/classes/build/tools/cldrconverter/IgnoredContainer.java + make/src/classes/build/tools/cldrconverter/KeyContainer.java + make/src/classes/build/tools/cldrconverter/LDMLParseHandler.java + make/src/classes/build/tools/cldrconverter/MetaZonesParseHandler.java + make/src/classes/build/tools/cldrconverter/NumberingSystemsParseHandler.java + make/src/classes/build/tools/cldrconverter/ResourceBundleGenerator.java + make/src/classes/build/tools/cldrconverter/StringArrayElement.java + make/src/classes/build/tools/cldrconverter/StringArrayEntry.java + make/src/classes/build/tools/cldrconverter/StringEntry.java + make/src/classes/build/tools/cldrconverter/SupplementDataParseHandler.java + make/src/classes/build/tools/compilefontconfig/CompileFontConfig.java + make/src/classes/build/tools/compileproperties/CompileProperties.java + make/src/classes/build/tools/deps/CheckDeps.java + make/src/classes/build/tools/dtdbuilder/DTDBuilder.java + make/src/classes/build/tools/dtdbuilder/DTDInputStream.java + make/src/classes/build/tools/dtdbuilder/DTDParser.java + make/src/classes/build/tools/dtdbuilder/PublicMapping.java + make/src/classes/build/tools/dtdbuilder/README.txt + make/src/classes/build/tools/generatebreakiteratordata/BreakIteratorRBControl.java + make/src/classes/build/tools/generatebreakiteratordata/CharSet.java + make/src/classes/build/tools/generatebreakiteratordata/CharacterCategory.java + make/src/classes/build/tools/generatebreakiteratordata/DictionaryBasedBreakIteratorBuilder.java + make/src/classes/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java + make/src/classes/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java + make/src/classes/build/tools/generatebreakiteratordata/SupplementaryCharacterData.java + make/src/classes/build/tools/generatecharacter/CharacterName.java + make/src/classes/build/tools/generatecharacter/CharacterScript.java + make/src/classes/build/tools/generatecharacter/GenerateCharacter.java + make/src/classes/build/tools/generatecharacter/PrintCharacterRanges.java + make/src/classes/build/tools/generatecharacter/PropList.java + make/src/classes/build/tools/generatecharacter/SpecialCaseMap.java + make/src/classes/build/tools/generatecharacter/UnicodeSpec.java + make/src/classes/build/tools/generatecharacter/Utility.java + make/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java + make/src/classes/build/tools/generatenimbus/AbstractGradient.java + make/src/classes/build/tools/generatenimbus/Border.java + make/src/classes/build/tools/generatenimbus/Canvas.java + make/src/classes/build/tools/generatenimbus/ComponentColor.java + make/src/classes/build/tools/generatenimbus/Dimension.java + make/src/classes/build/tools/generatenimbus/Ellipse.java + make/src/classes/build/tools/generatenimbus/Generator.java + make/src/classes/build/tools/generatenimbus/Gradient.java + make/src/classes/build/tools/generatenimbus/GradientStop.java + make/src/classes/build/tools/generatenimbus/Insets.java + make/src/classes/build/tools/generatenimbus/Layer.java + make/src/classes/build/tools/generatenimbus/Matte.java + make/src/classes/build/tools/generatenimbus/ObjectFactory.java + make/src/classes/build/tools/generatenimbus/Paint.java + make/src/classes/build/tools/generatenimbus/PainterGenerator.java + make/src/classes/build/tools/generatenimbus/Path.java + make/src/classes/build/tools/generatenimbus/Point.java + make/src/classes/build/tools/generatenimbus/RadialGradient.java + make/src/classes/build/tools/generatenimbus/Rectangle.java + make/src/classes/build/tools/generatenimbus/Shape.java + make/src/classes/build/tools/generatenimbus/SynthModel.java + make/src/classes/build/tools/generatenimbus/Typeface.java + make/src/classes/build/tools/generatenimbus/UIColor.java + make/src/classes/build/tools/generatenimbus/UIComponent.java + make/src/classes/build/tools/generatenimbus/UIDefault.java + make/src/classes/build/tools/generatenimbus/UIFont.java + make/src/classes/build/tools/generatenimbus/UIIconRegion.java + make/src/classes/build/tools/generatenimbus/UIProperty.java + make/src/classes/build/tools/generatenimbus/UIRegion.java + make/src/classes/build/tools/generatenimbus/UIState.java + make/src/classes/build/tools/generatenimbus/UIStateType.java + make/src/classes/build/tools/generatenimbus/UIStyle.java + make/src/classes/build/tools/generatenimbus/Utils.java + make/src/classes/build/tools/hasher/Hasher.java + make/src/classes/build/tools/icondata/awt/ToBin.java + make/src/classes/build/tools/icondata/osxapp/ToBin.java + make/src/classes/build/tools/jarreorder/JarReorder.java + make/src/classes/build/tools/jdwpgen/AbstractCommandNode.java + make/src/classes/build/tools/jdwpgen/AbstractGroupNode.java + make/src/classes/build/tools/jdwpgen/AbstractNamedNode.java + make/src/classes/build/tools/jdwpgen/AbstractSimpleNode.java + make/src/classes/build/tools/jdwpgen/AbstractSimpleTypeNode.java + make/src/classes/build/tools/jdwpgen/AbstractTypeListNode.java + make/src/classes/build/tools/jdwpgen/AbstractTypeNode.java + make/src/classes/build/tools/jdwpgen/AltNode.java + make/src/classes/build/tools/jdwpgen/ArrayObjectTypeNode.java + make/src/classes/build/tools/jdwpgen/ArrayRegionTypeNode.java + make/src/classes/build/tools/jdwpgen/ArrayTypeNode.java + make/src/classes/build/tools/jdwpgen/BooleanTypeNode.java + make/src/classes/build/tools/jdwpgen/ByteTypeNode.java + make/src/classes/build/tools/jdwpgen/ClassLoaderObjectTypeNode.java + make/src/classes/build/tools/jdwpgen/ClassObjectTypeNode.java + make/src/classes/build/tools/jdwpgen/ClassTypeNode.java + make/src/classes/build/tools/jdwpgen/CommandNode.java + make/src/classes/build/tools/jdwpgen/CommandSetNode.java + make/src/classes/build/tools/jdwpgen/CommentNode.java + make/src/classes/build/tools/jdwpgen/ConstantNode.java + make/src/classes/build/tools/jdwpgen/ConstantSetNode.java + make/src/classes/build/tools/jdwpgen/Context.java + make/src/classes/build/tools/jdwpgen/ErrorNode.java + make/src/classes/build/tools/jdwpgen/ErrorSetNode.java + make/src/classes/build/tools/jdwpgen/EventNode.java + make/src/classes/build/tools/jdwpgen/FieldTypeNode.java + make/src/classes/build/tools/jdwpgen/FrameTypeNode.java + make/src/classes/build/tools/jdwpgen/GroupNode.java + make/src/classes/build/tools/jdwpgen/IntTypeNode.java + make/src/classes/build/tools/jdwpgen/InterfaceTypeNode.java + make/src/classes/build/tools/jdwpgen/LocationTypeNode.java + make/src/classes/build/tools/jdwpgen/LongTypeNode.java + make/src/classes/build/tools/jdwpgen/Main.java + make/src/classes/build/tools/jdwpgen/MethodTypeNode.java + make/src/classes/build/tools/jdwpgen/NameNode.java + make/src/classes/build/tools/jdwpgen/NameValueNode.java + make/src/classes/build/tools/jdwpgen/Node.java + make/src/classes/build/tools/jdwpgen/ObjectTypeNode.java + make/src/classes/build/tools/jdwpgen/OutNode.java + make/src/classes/build/tools/jdwpgen/Parse.java + make/src/classes/build/tools/jdwpgen/ReferenceIDTypeNode.java + make/src/classes/build/tools/jdwpgen/ReferenceTypeNode.java + make/src/classes/build/tools/jdwpgen/RepeatNode.java + make/src/classes/build/tools/jdwpgen/ReplyNode.java + make/src/classes/build/tools/jdwpgen/RootNode.java + make/src/classes/build/tools/jdwpgen/SelectNode.java + make/src/classes/build/tools/jdwpgen/StringObjectTypeNode.java + make/src/classes/build/tools/jdwpgen/StringTypeNode.java + make/src/classes/build/tools/jdwpgen/TaggedObjectTypeNode.java + make/src/classes/build/tools/jdwpgen/ThreadGroupObjectTypeNode.java + make/src/classes/build/tools/jdwpgen/ThreadObjectTypeNode.java + make/src/classes/build/tools/jdwpgen/TypeNode.java + make/src/classes/build/tools/jdwpgen/UntaggedValueTypeNode.java + make/src/classes/build/tools/jdwpgen/ValueTypeNode.java + make/src/classes/build/tools/spp/Spp.java + make/src/classes/build/tools/stripproperties/StripProperties.java + make/src/classes/build/tools/swingbeaninfo/DocBeanInfo.java + make/src/classes/build/tools/swingbeaninfo/GenDocletBeanInfo.java + make/src/classes/build/tools/swingbeaninfo/GenSwingBeanInfo.java + make/src/classes/build/tools/tzdb/ChronoField.java + make/src/classes/build/tools/tzdb/DateTimeException.java + make/src/classes/build/tools/tzdb/LocalDate.java + make/src/classes/build/tools/tzdb/LocalDateTime.java + make/src/classes/build/tools/tzdb/LocalTime.java + make/src/classes/build/tools/tzdb/TimeDefinition.java + make/src/classes/build/tools/tzdb/TzdbZoneRulesCompiler.java + make/src/classes/build/tools/tzdb/Utils.java + make/src/classes/build/tools/tzdb/ZoneOffset.java + make/src/classes/build/tools/tzdb/ZoneOffsetTransition.java + make/src/classes/build/tools/tzdb/ZoneOffsetTransitionRule.java + make/src/classes/build/tools/tzdb/ZoneRules.java + make/src/classes/build/tools/tzdb/ZoneRulesBuilder.java + make/src/native/add_gnu_debuglink/add_gnu_debuglink.c + make/src/native/fix_empty_sec_hdr_flags/fix_empty_sec_hdr_flags.c - make/sun/Makefile - make/sun/applet/Makefile - make/sun/audio/Makefile - make/sun/awt/CondenseRules.awk - make/sun/awt/Depend.mak - make/sun/awt/Depend.sed - make/sun/awt/FILES_c_unix.gmk - make/sun/awt/FILES_c_windows.gmk - make/sun/awt/FILES_export_unix.gmk - make/sun/awt/FILES_export_windows.gmk - make/sun/awt/Makefile - make/sun/awt/README - make/sun/awt/ToBin.java - make/sun/awt/make.depend - make/sun/awt/mapfile-mawt-vers - make/sun/awt/mapfile-vers - make/sun/awt/mapfile-vers-bsd - make/sun/awt/mapfile-vers-linux - make/sun/awt/mawt.gmk - make/sun/cldr/Makefile - make/sun/cmm/Makefile - make/sun/cmm/kcms/FILES_c_unix.gmk - make/sun/cmm/kcms/FILES_c_windows.gmk - make/sun/cmm/kcms/Makefile - make/sun/cmm/kcms/mapfile-vers - make/sun/cmm/lcms/FILES_c_unix.gmk - make/sun/cmm/lcms/FILES_c_windows.gmk - make/sun/cmm/lcms/Makefile - make/sun/cmm/lcms/mapfile-vers - make/sun/dcpr/FILES_c.gmk - make/sun/dcpr/Makefile - make/sun/dcpr/mapfile-vers - make/sun/font/FILES_c.gmk - make/sun/font/Makefile - make/sun/font/mapfile-vers - make/sun/font/mapfile-vers.openjdk - make/sun/font/reorder-i586 - make/sun/font/reorder-sparc - make/sun/font/reorder-sparcv9 - make/sun/font/t2k/FILES_c.gmk - make/sun/font/t2k/Makefile - make/sun/font/t2k/mapfile-vers - make/sun/headless/Makefile - make/sun/headless/mapfile-vers - make/sun/headless/reorder-i586 - make/sun/headless/reorder-sparc - make/sun/headless/reorder-sparcv9 - make/sun/image/Makefile - make/sun/image/generic/FILES_c.gmk - make/sun/image/generic/Makefile - make/sun/image/generic/mapfile-vers - make/sun/image/vis/FILES_c.gmk - make/sun/image/vis/Makefile - make/sun/jar/Makefile - make/sun/javazic/Makefile - make/sun/javazic/javatz/fullset.txt - make/sun/javazic/javatz/java_11_ids.txt - make/sun/javazic/javatz/java_us_ids.txt - make/sun/javazic/javatz/java_win_ids.txt - make/sun/javazic/javatz/java_zone_ids.txt - make/sun/javazic/javatz/jdk1.1.x_zone_ids.txt - make/sun/javazic/tzdata/VERSION - make/sun/javazic/tzdata/africa - make/sun/javazic/tzdata/antarctica - make/sun/javazic/tzdata/asia - make/sun/javazic/tzdata/australasia - make/sun/javazic/tzdata/backward - make/sun/javazic/tzdata/etcetera - make/sun/javazic/tzdata/europe - make/sun/javazic/tzdata/factory - make/sun/javazic/tzdata/gmt - make/sun/javazic/tzdata/iso3166.tab - make/sun/javazic/tzdata/jdk11_backward - make/sun/javazic/tzdata/leapseconds - make/sun/javazic/tzdata/northamerica - make/sun/javazic/tzdata/pacificnew - make/sun/javazic/tzdata/solar87 - make/sun/javazic/tzdata/solar88 - make/sun/javazic/tzdata/solar89 - make/sun/javazic/tzdata/southamerica - make/sun/javazic/tzdata/systemv - make/sun/javazic/tzdata/zone.tab - make/sun/javazic/tzdata_jdk/gmt - make/sun/javazic/tzdata_jdk/jdk11_backward - make/sun/javazic/tzdata_jdk/jdk11_full_backward - make/sun/jawt/Depend.mak - make/sun/jawt/Depend.sed - make/sun/jawt/Makefile - make/sun/jawt/make.depend - make/sun/jawt/mapfile-vers - make/sun/jconsole/FILES.gmk - make/sun/jconsole/Makefile - make/sun/jdga/Makefile - make/sun/jdga/mapfile-vers - make/sun/jpeg/FILES_c.gmk - make/sun/jpeg/Makefile - make/sun/jpeg/mapfile-vers - make/sun/jpeg/mapfile-vers-closed - make/sun/jpeg/reorder-i586 - make/sun/jpeg/reorder-sparc - make/sun/jpeg/reorder-sparcv9 - make/sun/launcher/Makefile - make/sun/lwawt/FILES_c_macosx.gmk - make/sun/lwawt/FILES_export_macosx.gmk - make/sun/lwawt/Makefile - make/sun/management/Makefile - make/sun/management/jmxremote/Makefile - make/sun/management/snmp/Makefile - make/sun/misc/Makefile - make/sun/native2ascii/Makefile - make/sun/net/FILES_java.gmk - make/sun/net/Makefile - make/sun/net/others/Makefile - make/sun/net/spi/Makefile - make/sun/net/spi/nameservice/Makefile - make/sun/net/spi/nameservice/dns/Makefile - make/sun/nio/Makefile - make/sun/nio/cs/FILES_java.gmk - make/sun/nio/cs/Makefile - make/sun/osxapp/Makefile - make/sun/osxapp/ToBin.java - make/sun/pisces/Makefile - make/sun/rmi/Makefile - make/sun/rmi/cgi/Makefile - make/sun/rmi/oldtools/FILES_java.gmk - make/sun/rmi/oldtools/Makefile - make/sun/rmi/registry/Makefile - make/sun/rmi/rmi/Makefile - make/sun/rmi/rmi/mapfile-vers - make/sun/rmi/rmic/FILES.gmk - make/sun/rmi/rmic/Makefile - make/sun/rmi/rmid/Makefile - make/sun/security/Makefile - make/sun/security/action/Makefile - make/sun/security/ec/FILES_c.gmk - make/sun/security/ec/Makefile - make/sun/security/ec/mapfile-vers - make/sun/security/jgss/Makefile - make/sun/security/jgss/wrapper/FILES_c.gmk - make/sun/security/jgss/wrapper/Makefile - make/sun/security/jgss/wrapper/mapfile-vers - make/sun/security/krb5/FILES_c_windows.gmk - make/sun/security/krb5/Makefile - make/sun/security/mscapi/FILES_cpp.gmk - make/sun/security/mscapi/Makefile - make/sun/security/other/Makefile - make/sun/security/pkcs11/FILES_c.gmk - make/sun/security/pkcs11/Makefile - make/sun/security/pkcs11/mapfile-vers - make/sun/security/smartcardio/FILES_c.gmk - make/sun/security/smartcardio/Makefile - make/sun/security/smartcardio/mapfile-vers - make/sun/security/tools/Makefile - make/sun/security/util/Makefile - make/sun/serialver/Makefile - make/sun/splashscreen/FILES_c.gmk - make/sun/splashscreen/Makefile - make/sun/splashscreen/mapfile-vers - make/sun/text/FILES_java.gmk - make/sun/text/FILES_properties.gmk - make/sun/text/Makefile - make/sun/tools/Makefile - make/sun/tracing/Makefile - make/sun/tracing/dtrace/Makefile - make/sun/tracing/dtrace/mapfile-vers - make/sun/tzdb/Makefile - make/sun/usagetracker/Makefile - make/sun/util/Makefile - make/sun/xawt/FILES_c_unix.gmk - make/sun/xawt/FILES_export_unix.gmk - make/sun/xawt/Makefile - make/sun/xawt/mapfile-vers - make/templates/bsd-header - make/templates/gpl-cp-header - make/templates/gpl-header - make/tools/CharsetMapping/Big5.map - make/tools/CharsetMapping/Big5.nr - make/tools/CharsetMapping/DoubleByte-X.java.template - make/tools/CharsetMapping/EUC_CN.map - make/tools/CharsetMapping/EUC_KR.map - make/tools/CharsetMapping/GBK.map - make/tools/CharsetMapping/HKSCS2001.c2b - make/tools/CharsetMapping/HKSCS2001.map - make/tools/CharsetMapping/HKSCS2008.c2b - make/tools/CharsetMapping/HKSCS2008.map - make/tools/CharsetMapping/HKSCS_XP.c2b - make/tools/CharsetMapping/HKSCS_XP.map - make/tools/CharsetMapping/IBM037.c2b - make/tools/CharsetMapping/IBM037.map - make/tools/CharsetMapping/IBM037.nr - make/tools/CharsetMapping/IBM1006.map - make/tools/CharsetMapping/IBM1025.c2b - make/tools/CharsetMapping/IBM1025.map - make/tools/CharsetMapping/IBM1025.nr - make/tools/CharsetMapping/IBM1026.c2b - make/tools/CharsetMapping/IBM1026.map - make/tools/CharsetMapping/IBM1026.nr - make/tools/CharsetMapping/IBM1046.map - make/tools/CharsetMapping/IBM1047.map - make/tools/CharsetMapping/IBM1097.map - make/tools/CharsetMapping/IBM1098.map - make/tools/CharsetMapping/IBM1112.c2b - make/tools/CharsetMapping/IBM1112.map - make/tools/CharsetMapping/IBM1112.nr - make/tools/CharsetMapping/IBM1122.c2b - make/tools/CharsetMapping/IBM1122.map - make/tools/CharsetMapping/IBM1122.nr - make/tools/CharsetMapping/IBM1123.c2b - make/tools/CharsetMapping/IBM1123.map - make/tools/CharsetMapping/IBM1123.nr - make/tools/CharsetMapping/IBM1124.map - make/tools/CharsetMapping/IBM1140.c2b - make/tools/CharsetMapping/IBM1140.map - make/tools/CharsetMapping/IBM1141.c2b - make/tools/CharsetMapping/IBM1141.map - make/tools/CharsetMapping/IBM1142.c2b - make/tools/CharsetMapping/IBM1142.map - make/tools/CharsetMapping/IBM1143.c2b - make/tools/CharsetMapping/IBM1143.map - make/tools/CharsetMapping/IBM1144.c2b - make/tools/CharsetMapping/IBM1144.map - make/tools/CharsetMapping/IBM1145.c2b - make/tools/CharsetMapping/IBM1145.map - make/tools/CharsetMapping/IBM1146.c2b - make/tools/CharsetMapping/IBM1146.map - make/tools/CharsetMapping/IBM1147.c2b - make/tools/CharsetMapping/IBM1147.map - make/tools/CharsetMapping/IBM1148.c2b - make/tools/CharsetMapping/IBM1148.map - make/tools/CharsetMapping/IBM1149.c2b - make/tools/CharsetMapping/IBM1149.map - make/tools/CharsetMapping/IBM1364.c2b - make/tools/CharsetMapping/IBM1364.map - make/tools/CharsetMapping/IBM1381.c2b - make/tools/CharsetMapping/IBM1381.map - make/tools/CharsetMapping/IBM1383.c2b - make/tools/CharsetMapping/IBM1383.map - make/tools/CharsetMapping/IBM1383.nr - make/tools/CharsetMapping/IBM273.c2b - make/tools/CharsetMapping/IBM273.map - make/tools/CharsetMapping/IBM273.nr - make/tools/CharsetMapping/IBM277.c2b - make/tools/CharsetMapping/IBM277.map - make/tools/CharsetMapping/IBM277.nr - make/tools/CharsetMapping/IBM278.c2b - make/tools/CharsetMapping/IBM278.map - make/tools/CharsetMapping/IBM278.nr - make/tools/CharsetMapping/IBM280.c2b - make/tools/CharsetMapping/IBM280.map - make/tools/CharsetMapping/IBM280.nr - make/tools/CharsetMapping/IBM284.c2b - make/tools/CharsetMapping/IBM284.map - make/tools/CharsetMapping/IBM284.nr - make/tools/CharsetMapping/IBM285.c2b - make/tools/CharsetMapping/IBM285.map - make/tools/CharsetMapping/IBM285.nr - make/tools/CharsetMapping/IBM290.c2b - make/tools/CharsetMapping/IBM290.map - make/tools/CharsetMapping/IBM297.c2b - make/tools/CharsetMapping/IBM297.map - make/tools/CharsetMapping/IBM297.nr - make/tools/CharsetMapping/IBM300.c2b - make/tools/CharsetMapping/IBM300.map - make/tools/CharsetMapping/IBM420.c2b - make/tools/CharsetMapping/IBM420.map - make/tools/CharsetMapping/IBM420.nr - make/tools/CharsetMapping/IBM424.c2b - make/tools/CharsetMapping/IBM424.map - make/tools/CharsetMapping/IBM424.nr - make/tools/CharsetMapping/IBM437.map - make/tools/CharsetMapping/IBM500.c2b - make/tools/CharsetMapping/IBM500.map - make/tools/CharsetMapping/IBM500.nr - make/tools/CharsetMapping/IBM737.map - make/tools/CharsetMapping/IBM775.map - make/tools/CharsetMapping/IBM833.c2b - make/tools/CharsetMapping/IBM833.map - make/tools/CharsetMapping/IBM838.c2b - make/tools/CharsetMapping/IBM838.map - make/tools/CharsetMapping/IBM838.nr - make/tools/CharsetMapping/IBM850.map - make/tools/CharsetMapping/IBM852.map - make/tools/CharsetMapping/IBM855.map - make/tools/CharsetMapping/IBM856.map - make/tools/CharsetMapping/IBM857.map - make/tools/CharsetMapping/IBM858.map - make/tools/CharsetMapping/IBM860.map - make/tools/CharsetMapping/IBM861.map - make/tools/CharsetMapping/IBM862.map - make/tools/CharsetMapping/IBM863.map - make/tools/CharsetMapping/IBM864.map - make/tools/CharsetMapping/IBM865.map - make/tools/CharsetMapping/IBM866.map - make/tools/CharsetMapping/IBM868.map - make/tools/CharsetMapping/IBM869.map - make/tools/CharsetMapping/IBM870.c2b - make/tools/CharsetMapping/IBM870.map - make/tools/CharsetMapping/IBM870.nr - make/tools/CharsetMapping/IBM871.c2b - make/tools/CharsetMapping/IBM871.map - make/tools/CharsetMapping/IBM871.nr - make/tools/CharsetMapping/IBM874.map - make/tools/CharsetMapping/IBM874.nr - make/tools/CharsetMapping/IBM875.c2b - make/tools/CharsetMapping/IBM875.map - make/tools/CharsetMapping/IBM875.nr - make/tools/CharsetMapping/IBM918.c2b - make/tools/CharsetMapping/IBM918.map - make/tools/CharsetMapping/IBM918.nr - make/tools/CharsetMapping/IBM921.map - make/tools/CharsetMapping/IBM922.map - make/tools/CharsetMapping/IBM930.c2b - make/tools/CharsetMapping/IBM930.map - make/tools/CharsetMapping/IBM930.nr - make/tools/CharsetMapping/IBM933.c2b - make/tools/CharsetMapping/IBM933.map - make/tools/CharsetMapping/IBM935.c2b - make/tools/CharsetMapping/IBM935.map - make/tools/CharsetMapping/IBM935.nr - make/tools/CharsetMapping/IBM937.c2b - make/tools/CharsetMapping/IBM937.map - make/tools/CharsetMapping/IBM937.nr - make/tools/CharsetMapping/IBM939.c2b - make/tools/CharsetMapping/IBM939.map - make/tools/CharsetMapping/IBM939.nr - make/tools/CharsetMapping/IBM942.c2b - make/tools/CharsetMapping/IBM942.map - make/tools/CharsetMapping/IBM943.map - make/tools/CharsetMapping/IBM943.nr - make/tools/CharsetMapping/IBM948.c2b - make/tools/CharsetMapping/IBM948.map - make/tools/CharsetMapping/IBM949.map - make/tools/CharsetMapping/IBM950.c2b - make/tools/CharsetMapping/IBM950.map - make/tools/CharsetMapping/IBM970.c2b - make/tools/CharsetMapping/IBM970.map - make/tools/CharsetMapping/ISO_8859_11.map - make/tools/CharsetMapping/ISO_8859_13.map - make/tools/CharsetMapping/ISO_8859_15.map - make/tools/CharsetMapping/ISO_8859_2.map - make/tools/CharsetMapping/ISO_8859_3.map - make/tools/CharsetMapping/ISO_8859_4.map - make/tools/CharsetMapping/ISO_8859_5.map - make/tools/CharsetMapping/ISO_8859_6.map - make/tools/CharsetMapping/ISO_8859_7.map - make/tools/CharsetMapping/ISO_8859_8.map - make/tools/CharsetMapping/ISO_8859_9.map - make/tools/CharsetMapping/JIS_X_0201.c2b - make/tools/CharsetMapping/JIS_X_0201.map - make/tools/CharsetMapping/JIS_X_0208.map - make/tools/CharsetMapping/JIS_X_0208_MS5022X.c2b - make/tools/CharsetMapping/JIS_X_0208_MS5022X.map - make/tools/CharsetMapping/JIS_X_0208_MS932.map - make/tools/CharsetMapping/JIS_X_0208_MS932.nr - make/tools/CharsetMapping/JIS_X_0208_Solaris.map - make/tools/CharsetMapping/JIS_X_0208_Solaris.nr - make/tools/CharsetMapping/JIS_X_0212.map - make/tools/CharsetMapping/JIS_X_0212_MS5022X.map - make/tools/CharsetMapping/JIS_X_0212_Solaris.map - make/tools/CharsetMapping/JIS_X_0212_Solaris.nr - make/tools/CharsetMapping/Johab.map - make/tools/CharsetMapping/KOI8_R.map - make/tools/CharsetMapping/KOI8_U.map - make/tools/CharsetMapping/MS1250.map - make/tools/CharsetMapping/MS1251.map - make/tools/CharsetMapping/MS1252.map - make/tools/CharsetMapping/MS1253.map - make/tools/CharsetMapping/MS1254.map - make/tools/CharsetMapping/MS1255.map - make/tools/CharsetMapping/MS1256.map - make/tools/CharsetMapping/MS1257.map - make/tools/CharsetMapping/MS1258.map - make/tools/CharsetMapping/MS874.map - make/tools/CharsetMapping/MS932.c2b - make/tools/CharsetMapping/MS932.map - make/tools/CharsetMapping/MS932.nr - make/tools/CharsetMapping/MS936.map - make/tools/CharsetMapping/MS949.map - make/tools/CharsetMapping/MS950.map - make/tools/CharsetMapping/MS950.nr - make/tools/CharsetMapping/MacArabic.map - make/tools/CharsetMapping/MacCentralEurope.map - make/tools/CharsetMapping/MacCroatian.map - make/tools/CharsetMapping/MacCyrillic.map - make/tools/CharsetMapping/MacDingbat.map - make/tools/CharsetMapping/MacGreek.map - make/tools/CharsetMapping/MacHebrew.map - make/tools/CharsetMapping/MacIceland.map - make/tools/CharsetMapping/MacRoman.map - make/tools/CharsetMapping/MacRomania.map - make/tools/CharsetMapping/MacSymbol.map - make/tools/CharsetMapping/MacThai.map - make/tools/CharsetMapping/MacTurkish.map - make/tools/CharsetMapping/MacUkraine.map - make/tools/CharsetMapping/Makefile - make/tools/CharsetMapping/PCK.c2b - make/tools/CharsetMapping/PCK.map - make/tools/CharsetMapping/PCK.nr - make/tools/CharsetMapping/SJIS.c2b - make/tools/CharsetMapping/SJIS.map - make/tools/CharsetMapping/SingleByte-X.java.template - make/tools/CharsetMapping/TIS_620.map - make/tools/CharsetMapping/dbcs - make/tools/CharsetMapping/euc_tw.map - make/tools/CharsetMapping/extsbcs - make/tools/CharsetMapping/sbcs - make/tools/CharsetMapping/sjis0213.map - make/tools/GenerateCharacter/Character.c.template - make/tools/GenerateCharacter/CharacterData00.java.template - make/tools/GenerateCharacter/CharacterData01.java.template - make/tools/GenerateCharacter/CharacterData02.java.template - make/tools/GenerateCharacter/CharacterData0E.java.template - make/tools/GenerateCharacter/CharacterDataLatin1.java.template - make/tools/GenerateCharacter/CharacterDataPrivateUse.java.template - make/tools/GenerateCharacter/CharacterDataUndefined.java.template - make/tools/GenerateCharacter/Makefile - make/tools/GenerateCharacter/check_class.c.template - make/tools/Makefile - make/tools/README.txt - make/tools/UnicodeData/PropList.txt - make/tools/UnicodeData/Scripts.txt - make/tools/UnicodeData/SpecialCasing.txt - make/tools/UnicodeData/UnicodeData.txt - make/tools/UnicodeData/VERSION - make/tools/add_gnu_debuglink/Makefile - make/tools/add_gnu_debuglink/add_gnu_debuglink.c - make/tools/addjsum/Makefile - make/tools/addtorestrictedpkgs/Makefile - make/tools/buildmetaindex/Makefile - make/tools/cldrconverter/Makefile - make/tools/commentchecker/Makefile - make/tools/compile_font_config/Makefile - make/tools/compile_properties/Makefile - make/tools/dir_diff/Makefile - make/tools/dtdbuilder/Makefile - make/tools/dtdbuilder/dtds/HTMLlat1.sgml - make/tools/dtdbuilder/dtds/HTMLspecial.sgml - make/tools/dtdbuilder/dtds/HTMLsymbol.sgml - make/tools/dtdbuilder/dtds/html32.dtd - make/tools/dtdbuilder/dtds/public.map - make/tools/fix_empty_sec_hdr_flags/Makefile - make/tools/fix_empty_sec_hdr_flags/fix_empty_sec_hdr_flags.c - make/tools/freetypecheck/Makefile - make/tools/freetypecheck/freetypecheck.c - make/tools/generate_break_iterator/Makefile - make/tools/generate_nimbus/Makefile - make/tools/generatecurrencydata/Makefile - make/tools/hasher_classes/Makefile - make/tools/jarreorder/Makefile - make/tools/jarsplit/Makefile - make/tools/jdwpgen/Makefile - make/tools/makeclasslist/Makefile - make/tools/manifest.mf - make/tools/msys_build_scripts/dospath.sh - make/tools/msys_build_scripts/dospath.vbs - make/tools/reorder/Makefile - make/tools/reorder/tests/Exit.java - make/tools/reorder/tests/Hello.java - make/tools/reorder/tests/IntToString.java - make/tools/reorder/tests/JHello.java - make/tools/reorder/tests/LoadFrame.java - make/tools/reorder/tests/LoadJFrame.java - make/tools/reorder/tests/LoadToolkit.java - make/tools/reorder/tests/Null.java - make/tools/reorder/tests/Sleep.java - make/tools/reorder/tools/Combine.java - make/tools/reorder/tools/MaxTime.java - make/tools/reorder/tools/mcount.c - make/tools/reorder/tools/remove_mcount.c - make/tools/reorder/tools/util-i586.il - make/tools/reorder/tools/util-sparc.il - make/tools/reorder/tools/util-sparcv9.il - make/tools/sharing/README.txt - make/tools/sharing/classlist.linux - make/tools/sharing/classlist.macosx - make/tools/sharing/classlist.solaris - make/tools/sharing/classlist.windows - make/tools/sharing/tests/GHello.java - make/tools/sharing/tests/Hello.java - make/tools/sharing/tests/JHello.java - make/tools/spp/Makefile - make/tools/src/build/tools/addjsum/AddJsum.java - make/tools/src/build/tools/addtorestrictedpkgs/AddToRestrictedPkgs.java - make/tools/src/build/tools/buildmetaindex/BuildMetaIndex.java - make/tools/src/build/tools/charsetmapping/DBCS.java - make/tools/src/build/tools/charsetmapping/EUC_TW.java - make/tools/src/build/tools/charsetmapping/HKSCS.java - make/tools/src/build/tools/charsetmapping/JIS0213.java - make/tools/src/build/tools/charsetmapping/Main.java - make/tools/src/build/tools/charsetmapping/SBCS.java - make/tools/src/build/tools/charsetmapping/Utils.java - make/tools/src/build/tools/classfile/RemoveMethods.java - make/tools/src/build/tools/cldrconverter/AbstractLDMLHandler.java - make/tools/src/build/tools/cldrconverter/Bundle.java - make/tools/src/build/tools/cldrconverter/BundleGenerator.java - make/tools/src/build/tools/cldrconverter/CLDRConverter.java - make/tools/src/build/tools/cldrconverter/CalendarType.java - make/tools/src/build/tools/cldrconverter/Container.java - make/tools/src/build/tools/cldrconverter/CopyrightHeaders.java - make/tools/src/build/tools/cldrconverter/Entry.java - make/tools/src/build/tools/cldrconverter/IgnoredContainer.java - make/tools/src/build/tools/cldrconverter/KeyContainer.java - make/tools/src/build/tools/cldrconverter/LDMLParseHandler.java - make/tools/src/build/tools/cldrconverter/MetaZonesParseHandler.java - make/tools/src/build/tools/cldrconverter/NumberingSystemsParseHandler.java - make/tools/src/build/tools/cldrconverter/ResourceBundleGenerator.java - make/tools/src/build/tools/cldrconverter/StringArrayElement.java - make/tools/src/build/tools/cldrconverter/StringArrayEntry.java - make/tools/src/build/tools/cldrconverter/StringEntry.java - make/tools/src/build/tools/cldrconverter/SupplementDataParseHandler.java - make/tools/src/build/tools/commentchecker/CommentChecker.java - make/tools/src/build/tools/compilefontconfig/CompileFontConfig.java - make/tools/src/build/tools/compileproperties/CompileProperties.java - make/tools/src/build/tools/deps/CheckDeps.java - make/tools/src/build/tools/deps/refs.allowed - make/tools/src/build/tools/dirdiff/DirDiff.java - make/tools/src/build/tools/dtdbuilder/DTDBuilder.java - make/tools/src/build/tools/dtdbuilder/DTDInputStream.java - make/tools/src/build/tools/dtdbuilder/DTDParser.java - make/tools/src/build/tools/dtdbuilder/PublicMapping.java - make/tools/src/build/tools/dtdbuilder/README.txt - make/tools/src/build/tools/generatebreakiteratordata/BreakIteratorRBControl.java - make/tools/src/build/tools/generatebreakiteratordata/CharSet.java - make/tools/src/build/tools/generatebreakiteratordata/CharacterCategory.java - make/tools/src/build/tools/generatebreakiteratordata/DictionaryBasedBreakIteratorBuilder.java - make/tools/src/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java - make/tools/src/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java - make/tools/src/build/tools/generatebreakiteratordata/SupplementaryCharacterData.java - make/tools/src/build/tools/generatecharacter/CharacterName.java - make/tools/src/build/tools/generatecharacter/CharacterScript.java - make/tools/src/build/tools/generatecharacter/GenerateCharacter.java - make/tools/src/build/tools/generatecharacter/PrintCharacterRanges.java - make/tools/src/build/tools/generatecharacter/PropList.java - make/tools/src/build/tools/generatecharacter/SpecialCaseMap.java - make/tools/src/build/tools/generatecharacter/UnicodeSpec.java - make/tools/src/build/tools/generatecharacter/Utility.java - make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java - make/tools/src/build/tools/generatenimbus/AbstractGradient.java - make/tools/src/build/tools/generatenimbus/Border.java - make/tools/src/build/tools/generatenimbus/Canvas.java - make/tools/src/build/tools/generatenimbus/ComponentColor.java - make/tools/src/build/tools/generatenimbus/Dimension.java - make/tools/src/build/tools/generatenimbus/Ellipse.java - make/tools/src/build/tools/generatenimbus/Generator.java - make/tools/src/build/tools/generatenimbus/Gradient.java - make/tools/src/build/tools/generatenimbus/GradientStop.java - make/tools/src/build/tools/generatenimbus/Insets.java - make/tools/src/build/tools/generatenimbus/Layer.java - make/tools/src/build/tools/generatenimbus/Matte.java - make/tools/src/build/tools/generatenimbus/ObjectFactory.java - make/tools/src/build/tools/generatenimbus/Paint.java - make/tools/src/build/tools/generatenimbus/PainterGenerator.java - make/tools/src/build/tools/generatenimbus/Path.java - make/tools/src/build/tools/generatenimbus/Point.java - make/tools/src/build/tools/generatenimbus/RadialGradient.java - make/tools/src/build/tools/generatenimbus/Rectangle.java - make/tools/src/build/tools/generatenimbus/Shape.java - make/tools/src/build/tools/generatenimbus/SynthModel.java - make/tools/src/build/tools/generatenimbus/Typeface.java - make/tools/src/build/tools/generatenimbus/UIColor.java - make/tools/src/build/tools/generatenimbus/UIComponent.java - make/tools/src/build/tools/generatenimbus/UIDefault.java - make/tools/src/build/tools/generatenimbus/UIFont.java - make/tools/src/build/tools/generatenimbus/UIIconRegion.java - make/tools/src/build/tools/generatenimbus/UIProperty.java - make/tools/src/build/tools/generatenimbus/UIRegion.java - make/tools/src/build/tools/generatenimbus/UIState.java - make/tools/src/build/tools/generatenimbus/UIStateType.java - make/tools/src/build/tools/generatenimbus/UIStyle.java - make/tools/src/build/tools/generatenimbus/Utils.java - make/tools/src/build/tools/hasher/Hasher.java - make/tools/src/build/tools/jarreorder/JarReorder.java - make/tools/src/build/tools/jarsplit/JarSplit.java - make/tools/src/build/tools/jdwpgen/AbstractCommandNode.java - make/tools/src/build/tools/jdwpgen/AbstractGroupNode.java - make/tools/src/build/tools/jdwpgen/AbstractNamedNode.java - make/tools/src/build/tools/jdwpgen/AbstractSimpleNode.java - make/tools/src/build/tools/jdwpgen/AbstractSimpleTypeNode.java - make/tools/src/build/tools/jdwpgen/AbstractTypeListNode.java - make/tools/src/build/tools/jdwpgen/AbstractTypeNode.java - make/tools/src/build/tools/jdwpgen/AltNode.java - make/tools/src/build/tools/jdwpgen/ArrayObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/ArrayRegionTypeNode.java - make/tools/src/build/tools/jdwpgen/ArrayTypeNode.java - make/tools/src/build/tools/jdwpgen/BooleanTypeNode.java - make/tools/src/build/tools/jdwpgen/ByteTypeNode.java - make/tools/src/build/tools/jdwpgen/ClassLoaderObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/ClassObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/ClassTypeNode.java - make/tools/src/build/tools/jdwpgen/CommandNode.java - make/tools/src/build/tools/jdwpgen/CommandSetNode.java - make/tools/src/build/tools/jdwpgen/CommentNode.java - make/tools/src/build/tools/jdwpgen/ConstantNode.java - make/tools/src/build/tools/jdwpgen/ConstantSetNode.java - make/tools/src/build/tools/jdwpgen/Context.java - make/tools/src/build/tools/jdwpgen/ErrorNode.java - make/tools/src/build/tools/jdwpgen/ErrorSetNode.java - make/tools/src/build/tools/jdwpgen/EventNode.java - make/tools/src/build/tools/jdwpgen/FieldTypeNode.java - make/tools/src/build/tools/jdwpgen/FrameTypeNode.java - make/tools/src/build/tools/jdwpgen/GroupNode.java - make/tools/src/build/tools/jdwpgen/IntTypeNode.java - make/tools/src/build/tools/jdwpgen/InterfaceTypeNode.java - make/tools/src/build/tools/jdwpgen/LocationTypeNode.java - make/tools/src/build/tools/jdwpgen/LongTypeNode.java - make/tools/src/build/tools/jdwpgen/Main.java - make/tools/src/build/tools/jdwpgen/MethodTypeNode.java - make/tools/src/build/tools/jdwpgen/NameNode.java - make/tools/src/build/tools/jdwpgen/NameValueNode.java - make/tools/src/build/tools/jdwpgen/Node.java - make/tools/src/build/tools/jdwpgen/ObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/OutNode.java - make/tools/src/build/tools/jdwpgen/Parse.java - make/tools/src/build/tools/jdwpgen/ReferenceIDTypeNode.java - make/tools/src/build/tools/jdwpgen/ReferenceTypeNode.java - make/tools/src/build/tools/jdwpgen/RepeatNode.java - make/tools/src/build/tools/jdwpgen/ReplyNode.java - make/tools/src/build/tools/jdwpgen/RootNode.java - make/tools/src/build/tools/jdwpgen/SelectNode.java - make/tools/src/build/tools/jdwpgen/StringObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/StringTypeNode.java - make/tools/src/build/tools/jdwpgen/TaggedObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/ThreadGroupObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/ThreadObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/TypeNode.java - make/tools/src/build/tools/jdwpgen/UntaggedValueTypeNode.java - make/tools/src/build/tools/jdwpgen/ValueTypeNode.java - make/tools/src/build/tools/makeclasslist/MakeClasslist.java - make/tools/src/build/tools/spp/Spp.java - make/tools/src/build/tools/stripproperties/StripProperties.java - 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/strip_properties/Makefile - make/tools/swing-beans/DocBeanInfo.java - make/tools/swing-beans/GenDocletBeanInfo.java - make/tools/swing-beans/GenSwingBeanInfo.java - make/tools/swing-beans/SwingBeanInfo.template - make/tools/swing-beans/beaninfo/images/AbstractButtonColor16.gif - make/tools/swing-beans/beaninfo/images/BorderColor16.gif - make/tools/swing-beans/beaninfo/images/BoxColor16.gif - make/tools/swing-beans/beaninfo/images/BoxColor32.gif - make/tools/swing-beans/beaninfo/images/BoxMono16.gif - make/tools/swing-beans/beaninfo/images/BoxMono32.gif - make/tools/swing-beans/beaninfo/images/JAppletColor16.gif - make/tools/swing-beans/beaninfo/images/JAppletColor32.gif - make/tools/swing-beans/beaninfo/images/JAppletMono16.gif - make/tools/swing-beans/beaninfo/images/JAppletMono32.gif - make/tools/swing-beans/beaninfo/images/JButtonColor16.gif - make/tools/swing-beans/beaninfo/images/JButtonColor32.gif - make/tools/swing-beans/beaninfo/images/JButtonMono16.gif - make/tools/swing-beans/beaninfo/images/JButtonMono32.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxColor16.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxColor32.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxMenuItemColor16.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxMenuItemColor32.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxMenuItemMono16.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxMenuItemMono32.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxMono16.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxMono32.gif - make/tools/swing-beans/beaninfo/images/JColorChooserColor16.gif - make/tools/swing-beans/beaninfo/images/JColorChooserColor32.gif - make/tools/swing-beans/beaninfo/images/JColorChooserMono16.gif - make/tools/swing-beans/beaninfo/images/JColorChooserMono32.gif - make/tools/swing-beans/beaninfo/images/JComboBoxColor16.gif - make/tools/swing-beans/beaninfo/images/JComboBoxColor32.gif - make/tools/swing-beans/beaninfo/images/JComboBoxMono16.gif - make/tools/swing-beans/beaninfo/images/JComboBoxMono32.gif - make/tools/swing-beans/beaninfo/images/JComponentColor16.gif - make/tools/swing-beans/beaninfo/images/JDesktopPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JDesktopPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JDesktopPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JDesktopPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JDialogColor16.gif - make/tools/swing-beans/beaninfo/images/JDialogColor32.gif - make/tools/swing-beans/beaninfo/images/JDialogMono16.gif - make/tools/swing-beans/beaninfo/images/JDialogMono32.gif - make/tools/swing-beans/beaninfo/images/JEditorPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JEditorPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JEditorPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JEditorPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JFileChooserColor16.gif - make/tools/swing-beans/beaninfo/images/JFileChooserColor32.gif - make/tools/swing-beans/beaninfo/images/JFileChooserMono16.gif - make/tools/swing-beans/beaninfo/images/JFileChooserMono32.gif - make/tools/swing-beans/beaninfo/images/JFormattedTextFieldColor16.gif - make/tools/swing-beans/beaninfo/images/JFormattedTextFieldColor32.gif - make/tools/swing-beans/beaninfo/images/JFormattedTextFieldMono16.gif - make/tools/swing-beans/beaninfo/images/JFormattedTextFieldMono32.gif - make/tools/swing-beans/beaninfo/images/JFrameColor16.gif - make/tools/swing-beans/beaninfo/images/JFrameColor32.gif - make/tools/swing-beans/beaninfo/images/JFrameMono16.gif - make/tools/swing-beans/beaninfo/images/JFrameMono32.gif - make/tools/swing-beans/beaninfo/images/JInternalFrameColor16.gif - make/tools/swing-beans/beaninfo/images/JInternalFrameColor32.gif - make/tools/swing-beans/beaninfo/images/JInternalFrameMono16.gif - make/tools/swing-beans/beaninfo/images/JInternalFrameMono32.gif - make/tools/swing-beans/beaninfo/images/JLabelColor16.gif - make/tools/swing-beans/beaninfo/images/JLabelColor32.gif - make/tools/swing-beans/beaninfo/images/JLabelMono16.gif - make/tools/swing-beans/beaninfo/images/JLabelMono32.gif - make/tools/swing-beans/beaninfo/images/JLayeredPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JLayeredPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JLayeredPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JLayeredPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JListColor16.gif - make/tools/swing-beans/beaninfo/images/JListColor32.gif - make/tools/swing-beans/beaninfo/images/JListMono16.gif - make/tools/swing-beans/beaninfo/images/JListMono32.gif - make/tools/swing-beans/beaninfo/images/JMenuBarColor16.gif - make/tools/swing-beans/beaninfo/images/JMenuBarColor32.gif - make/tools/swing-beans/beaninfo/images/JMenuBarMono16.gif - make/tools/swing-beans/beaninfo/images/JMenuBarMono32.gif - make/tools/swing-beans/beaninfo/images/JMenuColor16.gif - make/tools/swing-beans/beaninfo/images/JMenuColor32.gif - make/tools/swing-beans/beaninfo/images/JMenuItemColor16.gif - make/tools/swing-beans/beaninfo/images/JMenuItemColor32.gif - make/tools/swing-beans/beaninfo/images/JMenuItemMono16.gif - make/tools/swing-beans/beaninfo/images/JMenuItemMono32.gif - make/tools/swing-beans/beaninfo/images/JMenuMono16.gif - make/tools/swing-beans/beaninfo/images/JMenuMono32.gif - make/tools/swing-beans/beaninfo/images/JOptionPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JOptionPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JOptionPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JOptionPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JPanelColor16.gif - make/tools/swing-beans/beaninfo/images/JPanelColor32.gif - make/tools/swing-beans/beaninfo/images/JPanelMono16.gif - make/tools/swing-beans/beaninfo/images/JPanelMono32.gif - make/tools/swing-beans/beaninfo/images/JPasswordFieldColor16.gif - make/tools/swing-beans/beaninfo/images/JPasswordFieldColor32.gif - make/tools/swing-beans/beaninfo/images/JPasswordFieldMono16.gif - make/tools/swing-beans/beaninfo/images/JPasswordFieldMono32.gif - make/tools/swing-beans/beaninfo/images/JPopupMenuColor16.gif - make/tools/swing-beans/beaninfo/images/JPopupMenuColor32.gif - make/tools/swing-beans/beaninfo/images/JPopupMenuMono16.gif - make/tools/swing-beans/beaninfo/images/JPopupMenuMono32.gif - make/tools/swing-beans/beaninfo/images/JProgressBarColor16.gif - make/tools/swing-beans/beaninfo/images/JProgressBarColor32.gif - make/tools/swing-beans/beaninfo/images/JProgressBarMono16.gif - make/tools/swing-beans/beaninfo/images/JProgressBarMono32.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonColor16.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonColor32.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonMenuItemColor16.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonMenuItemColor32.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonMenuItemMono16.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonMenuItemMono32.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonMono16.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonMono32.gif - make/tools/swing-beans/beaninfo/images/JRootPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JRootPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JRootPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JRootPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JScrollBarColor16.gif - make/tools/swing-beans/beaninfo/images/JScrollBarColor32.gif - make/tools/swing-beans/beaninfo/images/JScrollBarMono16.gif - make/tools/swing-beans/beaninfo/images/JScrollBarMono32.gif - make/tools/swing-beans/beaninfo/images/JScrollPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JScrollPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JScrollPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JScrollPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JSeparatorColor16.gif - make/tools/swing-beans/beaninfo/images/JSeparatorColor32.gif - make/tools/swing-beans/beaninfo/images/JSeparatorMono16.gif - make/tools/swing-beans/beaninfo/images/JSeparatorMono32.gif - make/tools/swing-beans/beaninfo/images/JSliderColor16.gif - make/tools/swing-beans/beaninfo/images/JSliderColor32.gif - make/tools/swing-beans/beaninfo/images/JSliderMono16.gif - make/tools/swing-beans/beaninfo/images/JSliderMono32.gif - make/tools/swing-beans/beaninfo/images/JSpinnerColor16.gif - make/tools/swing-beans/beaninfo/images/JSpinnerColor32.gif - make/tools/swing-beans/beaninfo/images/JSpinnerMono16.gif - make/tools/swing-beans/beaninfo/images/JSpinnerMono32.gif - make/tools/swing-beans/beaninfo/images/JSplitPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JSplitPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JSplitPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JSplitPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JTabbedPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JTabbedPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JTabbedPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JTabbedPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JTableColor16.gif - make/tools/swing-beans/beaninfo/images/JTableColor32.gif - make/tools/swing-beans/beaninfo/images/JTableMono16.gif - make/tools/swing-beans/beaninfo/images/JTableMono32.gif - make/tools/swing-beans/beaninfo/images/JTextAreaColor16.gif - make/tools/swing-beans/beaninfo/images/JTextAreaColor32.gif - make/tools/swing-beans/beaninfo/images/JTextAreaMono16.gif - make/tools/swing-beans/beaninfo/images/JTextAreaMono32.gif - make/tools/swing-beans/beaninfo/images/JTextFieldColor16.gif - make/tools/swing-beans/beaninfo/images/JTextFieldColor32.gif - make/tools/swing-beans/beaninfo/images/JTextFieldMono16.gif - make/tools/swing-beans/beaninfo/images/JTextFieldMono32.gif - make/tools/swing-beans/beaninfo/images/JTextPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JTextPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JTextPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JTextPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JToggleButtonColor16.gif - make/tools/swing-beans/beaninfo/images/JToggleButtonColor32.gif - make/tools/swing-beans/beaninfo/images/JToggleButtonMono16.gif - make/tools/swing-beans/beaninfo/images/JToggleButtonMono32.gif - make/tools/swing-beans/beaninfo/images/JToolBarColor16.gif - make/tools/swing-beans/beaninfo/images/JToolBarColor32.gif - make/tools/swing-beans/beaninfo/images/JToolBarMono16.gif - make/tools/swing-beans/beaninfo/images/JToolBarMono32.gif - make/tools/swing-beans/beaninfo/images/JTreeColor16.gif - make/tools/swing-beans/beaninfo/images/JTreeColor32.gif - make/tools/swing-beans/beaninfo/images/JTreeMono16.gif - make/tools/swing-beans/beaninfo/images/JTreeMono32.gif - make/tools/swing-beans/beaninfo/images/JViewportColor16.gif - make/tools/swing-beans/beaninfo/images/JViewportColor32.gif - make/tools/swing-beans/beaninfo/images/JViewportMono16.gif - make/tools/swing-beans/beaninfo/images/JViewportMono32.gif - make/tools/swing-beans/beaninfo/images/JWindowColor16.gif - make/tools/swing-beans/beaninfo/images/JWindowColor32.gif - make/tools/swing-beans/beaninfo/images/JWindowMono16.gif - make/tools/swing-beans/beaninfo/images/JWindowMono32.gif - make/tools/swing-beans/javax/swing/SwingBeanInfoBase.java - make/tools/swing-beans/sun/swing/BeanInfoUtils.java - make/tools/tzdb/Makefile - makefiles/BuildJdk.gmk - makefiles/Bundles.gmk - makefiles/CompileDemos.gmk - makefiles/CompileJavaClasses.gmk - makefiles/CompileLaunchers.gmk - makefiles/CompileNativeLibraries.gmk - makefiles/CopyFiles.gmk - makefiles/CopyIntoClasses.gmk - makefiles/CopySamples.gmk - makefiles/CreateJars.gmk - makefiles/CreateSecurityJars.gmk - makefiles/GenerateClasses.gmk - makefiles/GenerateData.gmk - makefiles/GenerateSources.gmk - makefiles/Images.gmk - makefiles/Import.gmk - makefiles/Makefile - makefiles/PatchList.solaris - makefiles/ProfileNames.gmk - makefiles/Profiles.gmk - makefiles/Setup.gmk - makefiles/SignJars.gmk - makefiles/Tools.gmk - makefiles/gendata/GendataBreakIterator.gmk - makefiles/gendata/GendataFontConfig.gmk - makefiles/gendata/GendataHtml32dtd.gmk - makefiles/gendata/GendataTZDB.gmk - makefiles/gendata/GendataTimeZone.gmk - makefiles/gensrc/GensrcBuffer.gmk - makefiles/gensrc/GensrcCLDR.gmk - makefiles/gensrc/GensrcCharacterData.gmk - makefiles/gensrc/GensrcCharsetCoder.gmk - makefiles/gensrc/GensrcCharsetMapping.gmk - makefiles/gensrc/GensrcExceptions.gmk - makefiles/gensrc/GensrcIcons.gmk - makefiles/gensrc/GensrcJDWP.gmk - makefiles/gensrc/GensrcJObjC.gmk - makefiles/gensrc/GensrcLocaleDataMetaInfo.gmk - makefiles/gensrc/GensrcMisc.gmk - makefiles/gensrc/GensrcProperties.gmk - makefiles/gensrc/GensrcSwing.gmk - makefiles/gensrc/GensrcX11Wrappers.gmk - makefiles/jpda/jdwp/jdwp.spec - makefiles/jprt.gmk - makefiles/jprt.properties - makefiles/lib/Awt2dLibraries.gmk - makefiles/lib/CoreLibraries.gmk - makefiles/lib/NetworkingLibraries.gmk - makefiles/lib/NioLibraries.gmk - makefiles/lib/PlatformLibraries.gmk - makefiles/lib/SecurityLibraries.gmk - makefiles/lib/ServiceabilityLibraries.gmk - makefiles/lib/SoundLibraries.gmk - makefiles/mapfiles/launchers/mapfile-sparc - makefiles/mapfiles/launchers/mapfile-sparcv9 - makefiles/mapfiles/launchers/mapfile-x86 - makefiles/mapfiles/launchers/mapfile-x86_64 - makefiles/mapfiles/libattach/mapfile-linux - makefiles/mapfiles/libattach/mapfile-solaris - makefiles/mapfiles/libattach/reorder-windows-x86 - makefiles/mapfiles/libattach/reorder-windows-x86_64 - makefiles/mapfiles/libawt/mapfile-mawt-vers - makefiles/mapfiles/libawt/mapfile-vers - makefiles/mapfiles/libawt/mapfile-vers-linux - makefiles/mapfiles/libawt_headless/mapfile-vers - makefiles/mapfiles/libawt_headless/reorder-sparc - makefiles/mapfiles/libawt_headless/reorder-sparcv9 - makefiles/mapfiles/libawt_headless/reorder-x86 - makefiles/mapfiles/libawt_xawt/mapfile-vers - makefiles/mapfiles/libdcpr/mapfile-vers - makefiles/mapfiles/libdt_socket/mapfile-vers - makefiles/mapfiles/libfontmanager/mapfile-vers - makefiles/mapfiles/libfontmanager/mapfile-vers.openjdk - makefiles/mapfiles/libhprof/mapfile-vers - makefiles/mapfiles/libinstrument/mapfile-vers - makefiles/mapfiles/libj2gss/mapfile-vers - makefiles/mapfiles/libj2pcsc/mapfile-vers - makefiles/mapfiles/libj2pkcs11/mapfile-vers - makefiles/mapfiles/libj2ucrypto/mapfile-vers - makefiles/mapfiles/libjaas/mapfile-vers - makefiles/mapfiles/libjava/mapfile-vers - makefiles/mapfiles/libjava/reorder-sparc - makefiles/mapfiles/libjava/reorder-sparcv9 - makefiles/mapfiles/libjava/reorder-x86 - makefiles/mapfiles/libjava_crw_demo/mapfile-vers - makefiles/mapfiles/libjawt/mapfile-vers - makefiles/mapfiles/libjdga/mapfile-vers - makefiles/mapfiles/libjdwp/mapfile-vers - makefiles/mapfiles/libjfr/mapfile-vers - makefiles/mapfiles/libjli/mapfile-vers - makefiles/mapfiles/libjpeg/mapfile-vers - makefiles/mapfiles/libjpeg/mapfile-vers-closed - makefiles/mapfiles/libjpeg/reorder-sparc - makefiles/mapfiles/libjpeg/reorder-sparcv9 - makefiles/mapfiles/libjpeg/reorder-x86 - makefiles/mapfiles/libjsdt/mapfile-vers - makefiles/mapfiles/libjsound/mapfile-vers - makefiles/mapfiles/libjsoundalsa/mapfile-vers - makefiles/mapfiles/libkcms/mapfile-vers - makefiles/mapfiles/liblcms/mapfile-vers - makefiles/mapfiles/libmanagement/mapfile-vers - makefiles/mapfiles/libmlib_image/mapfile-vers - makefiles/mapfiles/libnet/mapfile-vers - makefiles/mapfiles/libnio/mapfile-linux - makefiles/mapfiles/libnio/mapfile-macosx - makefiles/mapfiles/libnio/mapfile-solaris - makefiles/mapfiles/libnio/reorder-sparc - makefiles/mapfiles/libnio/reorder-sparcv9 - makefiles/mapfiles/libnio/reorder-x86 - makefiles/mapfiles/libnpt/mapfile-vers - makefiles/mapfiles/libsctp/mapfile-vers - makefiles/mapfiles/libsplashscreen/mapfile-vers - makefiles/mapfiles/libsunec/mapfile-vers - makefiles/mapfiles/libt2k/mapfile-vers - makefiles/mapfiles/libunpack/mapfile-vers - makefiles/mapfiles/libunpack/mapfile-vers-unpack200 - makefiles/mapfiles/libverify/mapfile-vers - makefiles/mapfiles/libverify/reorder-sparc - makefiles/mapfiles/libverify/reorder-sparcv9 - makefiles/mapfiles/libverify/reorder-x86 - makefiles/mapfiles/libzip/mapfile-vers - makefiles/mapfiles/libzip/reorder-sparc - makefiles/mapfiles/libzip/reorder-sparcv9 - makefiles/mapfiles/libzip/reorder-x86 - makefiles/profile-includes.txt - makefiles/profile-rtjar-includes.txt - makefiles/scripts/addNotices.sh - makefiles/scripts/genCharsetProvider.sh - makefiles/scripts/genExceptions.sh - makefiles/scripts/localelist.sh - makefiles/sun/awt/ToBin.java - makefiles/sun/osxapp/ToBin.java Changeset: 7b71e53c6a2b Author: weijun Date: 2013-11-19 14:14 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/7b71e53c6a2b 8028479: runNameEquals still cannot precisely detect if a usable native krb5 is available Reviewed-by: xuelei ! test/sun/security/krb5/runNameEquals.sh Changeset: d6195774dd1f Author: egahlin Date: 2013-11-19 11:47 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/d6195774dd1f 8028505: Put sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.sh on ProblemList.txt Reviewed-by: alanb ! test/ProblemList.txt Changeset: d5ddde25d107 Author: tyan Date: 2013-11-19 13:46 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/d5ddde25d107 7086879: java/net/InetAddress/CheckJNI.java hangs on Linux when IPv6 enabled Reviewed-by: chegar ! test/ProblemList.txt Changeset: 2e574350a2b6 Author: alanb Date: 2013-11-19 14:08 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/2e574350a2b6 8028478: Re-visit JPRT testsets to make it easier to run subsets of the tests Reviewed-by: dholmes, sla, tbell ! test/Makefile Changeset: d1bb85f0a45a Author: coffeys Date: 2013-11-19 14:47 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/d1bb85f0a45a 8028583: Add helper methods to test libraries Reviewed-by: chegar ! test/java/rmi/testlibrary/TestLibrary.java ! test/lib/testlibrary/jdk/testlibrary/FileUtils.java Changeset: 36821ee241a2 Author: alanb Date: 2013-11-19 15:09 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/36821ee241a2 8028589: Instrument tools/jar/JarEntryTime.java to make it easier to diagnose failures Reviewed-by: chegar ! test/tools/jar/JarEntryTime.java Changeset: 40462a41b41b Author: ksrini Date: 2013-11-19 07:10 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/40462a41b41b 8023978: [TEST_BUG] launcher tests must exclude platforms without server vm Reviewed-by: dholmes, mchung ! test/tools/launcher/ExecutionEnvironment.java ! test/tools/launcher/Test7029048.java ! test/tools/launcher/TestHelper.java Changeset: cfbee8ee71bf Author: bvaidya Date: 2013-11-19 15:31 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/cfbee8ee71bf 8028094: TEST_BUG: java/lang/ProcessBuilder/Basic.java leaves "sleep 6666" processes behind Reviewed-by: chegar ! test/java/lang/ProcessBuilder/Basic.java Changeset: e8daf5a83e42 Author: vinnie Date: 2013-11-19 15:39 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/e8daf5a83e42 8028377: test/sun/security/provider/KeyStore/DKSTest.sh attempts to write to ${test.src} Reviewed-by: alanb, weijun ! test/sun/security/provider/KeyStore/DKSTest.java ! test/sun/security/provider/KeyStore/domains.cfg Changeset: bfd4e632eeda Author: vinnie Date: 2013-11-19 15:42 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/bfd4e632eeda Merge Changeset: 63b696dafc8a Author: robm Date: 2013-11-19 15:36 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/63b696dafc8a 8022206: Intermittent test failures in java/lang/ProcessBuilder/Basic.java Reviewed-by: chegar, alanb ! test/java/lang/ProcessBuilder/Basic.java Changeset: f2ccd3530476 Author: coffeys Date: 2013-11-19 16:22 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/f2ccd3530476 8016728: TEST_BUG: test/java/rmi/transport/closeServerSocket/CloseServerSocket.java failing intermittently Reviewed-by: chegar ! test/java/rmi/transport/closeServerSocket/CloseServerSocket.java Changeset: 79e975dfeb8a Author: michaelm Date: 2013-11-19 17:49 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/79e975dfeb8a 8028581: [TESTBUG] java/net/Socket/LingerTest.java failing Reviewed-by: alanb ! test/java/net/Socket/LingerTest.java Changeset: f8b24e1a609e Author: vinnie Date: 2013-11-19 17:55 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/f8b24e1a609e 8015571: OCSP validation fails if ocsp.responderCertSubjectName is set Reviewed-by: mullan, xuelei ! src/share/classes/sun/security/provider/certpath/OCSP.java ! src/share/classes/sun/security/provider/certpath/OCSPRequest.java ! src/share/classes/sun/security/provider/certpath/OCSPResponse.java ! src/share/classes/sun/security/provider/certpath/RevocationChecker.java ! src/share/classes/sun/security/x509/X509CertImpl.java Changeset: 5aa853ca08a8 Author: kizune Date: 2013-11-19 22:05 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/5aa853ca08a8 8027900: pack200 option is broken due to the incorrect makefile definition for its driver Reviewed-by: ksrini, ihse ! make/CompileLaunchers.gmk Changeset: 48c61808374f Author: mchung Date: 2013-11-19 10:19 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/48c61808374f 8028565: Remove java/lang/management/ThreadMXBean/ThreadStateTest.java from ProblemList.txt Reviewed-by: sla ! test/ProblemList.txt Changeset: 3f47e393e1dd Author: rriggs Date: 2013-11-19 13:20 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/3f47e393e1dd 8028141: test/sun/management/jmxremote/bootstrap/LocalManagementTest|CustomLauncherTest.java failing again Summary: Correct to use the test.class.path instead of test.classes Reviewed-by: alanb, chegar ! test/sun/management/jmxremote/bootstrap/CustomLauncherTest.java ! test/sun/management/jmxremote/bootstrap/LocalManagementTest.java Changeset: 67d742c75971 Author: dfuchs Date: 2013-11-19 20:10 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/67d742c75971 8028185: XMLFormatter.format emits incorrect year Summary: Fixes a regression where the year in the date was increased by 1900. Reviewed-by: alanb, mchung ! src/share/classes/java/util/logging/XMLFormatter.java + test/java/util/logging/XMLFormatterDate.java Changeset: f496565c4eec Author: dxu Date: 2013-11-19 13:22 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/f496565c4eec 8028631: Improve the test coverage to the pathname handling on unix-like platforms Summary: Add GeneralSolaris.java testcase and fix the concurrency issue Reviewed-by: lancea, chegar, alanb ! test/java/io/pathNames/General.java + test/java/io/pathNames/GeneralSolaris.java ! test/java/io/pathNames/GeneralWin32.java Changeset: 059530c5ae9a Author: dfuchs Date: 2013-11-19 22:28 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/059530c5ae9a 8005202: java/util/logging/CheckLockLocationTest.java fail on solars_10 Summary: this test has been seen failing on Solaris 10, presumably because it was run as root. The fix will skip the non-writable case if it can't make a non-writable dir. Reviewed-by: mchung ! test/java/util/logging/CheckLockLocationTest.java Changeset: 19d2e9649138 Author: smarks Date: 2013-11-19 15:05 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/19d2e9649138 8028638: java/rmi/activation/Activatable/checkRegisterInLog/CheckRegisterInLog.java fails Reviewed-by: lancea ! test/java/rmi/testlibrary/RMID.java Changeset: 894a4bae9e33 Author: egahlin Date: 2013-11-20 12:32 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/894a4bae9e33 7141544: TEST_BUG: com/sun/jdi/BreakpointWithFullGC.sh fails Reviewed-by: sla ! test/com/sun/jdi/BreakpointWithFullGC.sh Changeset: f39be11835ff Author: jfranck Date: 2013-11-20 13:12 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/f39be11835ff 8027413: Clarify javadoc for j.l.a.Target and j.l.a.ElementType Reviewed-by: darcy ! src/share/classes/java/lang/annotation/ElementType.java ! src/share/classes/java/lang/annotation/Target.java Changeset: 90e27a47ff28 Author: mchung Date: 2013-11-20 10:00 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/90e27a47ff28 8028647: Add instrumentation in GetSafepointSyncTime.java and remove it from ProblemList.txt Reviewed-by: sla, chegar ! test/ProblemList.txt ! test/sun/management/HotspotRuntimeMBean/GetSafepointSyncTime.java Changeset: ecd6c25b54ce Author: alanb Date: 2013-11-20 21:34 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/ecd6c25b54ce 8028734: test/java/util/Locale/InternationalBAT.java changes does not restore the default TimeZone Reviewed-by: naoto ! test/java/util/Locale/InternationalBAT.java Changeset: d5d4b9a63174 Author: msheppar Date: 2013-11-21 11:36 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/d5d4b9a63174 8028215: ORB.init fails with SecurityException if properties select the JDK default ORB Summary: check for default ORBImpl and ORBSingleton set via properties or System properties Reviewed-by: alanb, coffeys, mchung + test/com/sun/corba/se/impl/orb/SetDefaultORBTest.java Changeset: 91ec3bc92793 Author: egahlin Date: 2013-11-21 13:46 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/91ec3bc92793 6402201: ProcessAttachTest.sh needs better synchronization Reviewed-by: alanb ! test/ProblemList.txt ! test/com/sun/jdi/ProcessAttachDebuggee.java ! test/com/sun/jdi/ProcessAttachTest.sh Changeset: fc9f24b9408e Author: sla Date: 2013-11-21 12:57 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/fc9f24b9408e 8028632: Update jdk/test/ProblemList.txt to reflect fix JDK-8024423 Summary: Removed 5 testcases from the ProblemList Reviewed-by: sla Contributed-by: balchandra.vaidya at oracle.com ! test/ProblemList.txt Changeset: 2972241cf7eb Author: tyan Date: 2013-11-21 13:37 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/2972241cf7eb 7036666: test/com/sun/net/httpserver/Test9a.java fails intermittently Summary: Additional stacktrace information is printed on failure Reviewed-by: alanb, dfuchs, chegar ! test/ProblemList.txt ! test/com/sun/net/httpserver/Test9a.java Changeset: ed979f9b40cd Author: tyan Date: 2013-11-21 13:42 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/ed979f9b40cd 8022212: Intermittent test failures in java/net Reviewed-by: chegar ! test/java/net/NetworkInterface/IndexTest.java Changeset: 89fccc5a7469 Author: martin Date: 2013-11-21 16:06 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/89fccc5a7469 6703075: (process) java/lang/ProcessBuilder/Basic.java fails with fastdebug Reviewed-by: alanb ! test/java/lang/ProcessBuilder/Basic.java Changeset: 93826827e8b4 Author: valeriep Date: 2013-11-19 15:29 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/93826827e8b4 8026943: SQE test jce/Global/Cipher/SameBuffer failed Summary: Always use different input/output buffers when calling FeedbackCipher objects Reviewed-by: mullan ! src/share/classes/com/sun/crypto/provider/CipherBlockChaining.java ! src/share/classes/com/sun/crypto/provider/CipherCore.java ! src/share/classes/com/sun/crypto/provider/DESedeWrapCipher.java + test/com/sun/crypto/provider/Cipher/AES/TestCopySafe.java Changeset: 06d155a7c9b0 Author: valeriep Date: 2013-11-21 11:58 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/06d155a7c9b0 Merge Changeset: a74d6aa51654 Author: dxu Date: 2013-11-21 14:16 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/a74d6aa51654 7065902: (file) test/java/nio/file/Files/Misc.java fails on Solaris 11 when run as root Reviewed-by: alanb ! test/java/nio/file/Files/Misc.java Changeset: 81708985c0a2 Author: dxu Date: 2013-11-21 14:23 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/81708985c0a2 8028628: java/nio/channels/FileChannel/Size.java failed once in the same binary run Reviewed-by: alanb, chegar, mchung, lancea ! test/java/nio/channels/FileChannel/Size.java Changeset: 4bc37b6c4133 Author: smarks Date: 2013-11-21 16:02 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/4bc37b6c4133 7174936: several String methods claim to always create new String Reviewed-by: dholmes, bchristi, alanb, lancea ! src/share/classes/java/lang/String.java Changeset: cd56de5896b4 Author: aefimov Date: 2013-11-15 15:06 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/cd56de5896b4 8027848: The ZoneInfoFile doesn't honor future GMT offset changes Reviewed-by: sherman, coffeys ! src/share/classes/sun/util/calendar/ZoneInfoFile.java Changeset: ebd47f6ab172 Author: aefimov Date: 2013-11-21 20:48 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/ebd47f6ab172 8027370: Support tzdata2013h Reviewed-by: sherman, coffeys ! make/data/tzdata/VERSION ! make/data/tzdata/africa ! make/data/tzdata/southamerica ! src/share/classes/sun/util/resources/TimeZoneNames.java ! src/share/classes/sun/util/resources/de/TimeZoneNames_de.java ! src/share/classes/sun/util/resources/es/TimeZoneNames_es.java ! src/share/classes/sun/util/resources/fr/TimeZoneNames_fr.java ! src/share/classes/sun/util/resources/it/TimeZoneNames_it.java ! src/share/classes/sun/util/resources/ja/TimeZoneNames_ja.java ! src/share/classes/sun/util/resources/ko/TimeZoneNames_ko.java ! src/share/classes/sun/util/resources/pt/TimeZoneNames_pt_BR.java ! src/share/classes/sun/util/resources/sv/TimeZoneNames_sv.java ! src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_CN.java ! src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_TW.java ! test/sun/util/calendar/zi/tzdata/VERSION ! test/sun/util/calendar/zi/tzdata/africa ! test/sun/util/calendar/zi/tzdata/southamerica Changeset: 3b50d682e7c1 Author: coffeys Date: 2013-11-22 09:56 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/3b50d682e7c1 Merge Changeset: 0775f4f6532a Author: jfranck Date: 2013-11-22 11:34 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/0775f4f6532a 8023278: Reflection API methods do not throw AnnotationFormatError in case of malformed Runtime[In]VisibleTypeAnnotations attribute Reviewed-by: darcy ! src/share/classes/sun/reflect/annotation/TypeAnnotation.java ! src/share/classes/sun/reflect/annotation/TypeAnnotationParser.java + test/java/lang/annotation/typeAnnotations/BadCPIndex.java Changeset: 1f45b24ffe4b Author: psandoz Date: 2013-11-25 09:55 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/1f45b24ffe4b 8028516: Java doc error in Int/Long/Double/Stream.peek Reviewed-by: chegar ! src/share/classes/java/util/stream/DoubleStream.java ! src/share/classes/java/util/stream/IntStream.java ! src/share/classes/java/util/stream/LongStream.java ! src/share/classes/java/util/stream/Stream.java Changeset: ee3c7ab60373 Author: lana Date: 2013-11-25 09:40 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/ee3c7ab60373 Merge ! make/CompileDemos.gmk ! make/SignJars.gmk ! test/ProblemList.txt ! test/tools/launcher/DiacriticTest.java Changeset: 8d5a9245b9ca Author: valeriep Date: 2013-11-25 11:56 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/8d5a9245b9ca 7200306: SunPKCS11 provider delays the check of DSA key size for SHA1withDSA to sign() instead of init() Summary: Add key length checks to P11Signature class Reviewed-by: mullan ! src/share/classes/sun/security/pkcs11/P11Signature.java ! src/share/classes/sun/security/pkcs11/Token.java + test/sun/security/pkcs11/Signature/TestDSAKeyLength.java Changeset: 0bf3a58a1783 Author: joehw Date: 2013-11-25 16:53 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/0bf3a58a1783 8027973: javax/xml/jaxp/transform/jdk8004476/XSLTExFuncTest.java hangs (win) Reviewed-by: alanb, dfuchs, joehw Contributed-by: patrick.zhang at oracle.com + test/javax/xml/jaxp/transform/8004476/SecureProcessingTest.xml + test/javax/xml/jaxp/transform/8004476/TestBase.java + test/javax/xml/jaxp/transform/8004476/XPathExFuncTest.java + test/javax/xml/jaxp/transform/8004476/XSLTExFuncTest.java + test/javax/xml/jaxp/transform/8004476/tokenize.xml + test/javax/xml/jaxp/transform/8004476/tokenize.xsl - test/javax/xml/jaxp/transform/jdk8004476/SecureProcessingTest.xml - test/javax/xml/jaxp/transform/jdk8004476/TestBase.java - test/javax/xml/jaxp/transform/jdk8004476/XPathExFuncTest.java - test/javax/xml/jaxp/transform/jdk8004476/XSLTExFuncTest.java - test/javax/xml/jaxp/transform/jdk8004476/tokenize.xml - test/javax/xml/jaxp/transform/jdk8004476/tokenize.xsl Changeset: 4d9078b1f25b Author: peytoia Date: 2013-11-26 14:49 +0900 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/4d9078b1f25b 8029057: test/java/text/Bidi/Bug6665028.java can fail with OutOfMemoryError Reviewed-by: okutsu - test/java/text/Bidi/Bug6665028.java Changeset: e822676cd3cd Author: jrose Date: 2013-11-26 17:16 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/e822676cd3cd 8016839: JSR292: AME instead of IAE when calling a method Summary: Catch missing-because-illegal case for itable entries and use an exception-throwing method instead of null. Reviewed-by: acorn, jrose, coleenp Contributed-by: david.r.chase at oracle.com ! src/share/classes/sun/misc/Unsafe.java Changeset: 1738dfb0c52a Author: weijun Date: 2013-11-27 09:56 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/1738dfb0c52a 8029181: ts.sh generates invalid file after JDK-8027026 Reviewed-by: vinnie, mullan ! test/sun/security/tools/jarsigner/TimestampCheck.java Changeset: 2370d285d08b Author: naoto Date: 2013-11-27 10:01 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/2370d285d08b 8028771: regression test java/util/Locale/LocaleProviders.sh failed Reviewed-by: alanb ! test/java/util/Locale/LocaleProviders.java ! test/java/util/Locale/LocaleProviders.sh Changeset: 657a3cccf8a1 Author: lana Date: 2013-11-27 10:47 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/657a3cccf8a1 Merge + make/CompileDemos.gmk - make/PatchList.solaris - make/altclasses/Makefile - make/apple/Makefile - make/apple/applescript/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 - make/com/Makefile - make/com/apple/Makefile - make/com/apple/osx/Makefile - make/com/apple/osxui/Makefile - make/com/oracle/Makefile - make/com/oracle/jfr/Makefile - make/com/oracle/net/Makefile - make/com/oracle/nio/Makefile - make/com/oracle/security/ucrypto/FILES_c.gmk - make/com/oracle/security/ucrypto/Makefile - make/com/oracle/security/ucrypto/mapfile-vers - make/com/oracle/util/Makefile - make/com/sun/Makefile - make/com/sun/crypto/provider/Makefile - make/com/sun/demo/Makefile - make/com/sun/demo/jvmti/Makefile - make/com/sun/demo/jvmti/hprof/Makefile - make/com/sun/image/Makefile - make/com/sun/jarsigner/Makefile - make/com/sun/java/Makefile - make/com/sun/java/browser/Makefile - make/com/sun/java/browser/dom/Makefile - make/com/sun/java/browser/net/Makefile - make/com/sun/java/pack/FILES_cpp.gmk - make/com/sun/java/pack/Makefile - make/com/sun/java/pack/mapfile-vers - make/com/sun/java/pack/mapfile-vers-unpack200 - make/com/sun/java/pack/prop/Makefile - make/com/sun/jmx/Makefile - make/com/sun/jmx/snmp/Makefile - make/com/sun/jndi/Makefile - make/com/sun/jndi/cosnaming/Makefile - make/com/sun/jndi/dns/Makefile - make/com/sun/jndi/ldap/Makefile - make/com/sun/jndi/rmi/Makefile - make/com/sun/jndi/rmi/registry/Makefile - make/com/sun/jndi/toolkit/Makefile - make/com/sun/net/httpserver/Makefile - make/com/sun/net/ssl/Makefile - make/com/sun/nio/Makefile - make/com/sun/nio/sctp/Exportedfiles.gmk - make/com/sun/nio/sctp/FILES_c.gmk - make/com/sun/nio/sctp/FILES_java.gmk - make/com/sun/nio/sctp/Makefile - make/com/sun/nio/sctp/mapfile-vers - make/com/sun/org/Makefile - make/com/sun/org/apache/Makefile - make/com/sun/org/apache/xml/Makefile - make/com/sun/rowset/Makefile - make/com/sun/security/Makefile - make/com/sun/security/auth/FILES_java.gmk - make/com/sun/security/auth/Makefile - make/com/sun/security/auth/module/FILES_c_solaris.gmk - make/com/sun/security/auth/module/FILES_c_unix.gmk - make/com/sun/security/auth/module/FILES_c_windows.gmk - make/com/sun/security/auth/module/FILES_export_solaris.gmk - make/com/sun/security/auth/module/FILES_export_unix.gmk - make/com/sun/security/auth/module/FILES_export_windows.gmk - make/com/sun/security/auth/module/FILES_java.gmk - make/com/sun/security/auth/module/Makefile - make/com/sun/security/auth/module/mapfile-vers - make/com/sun/security/jgss/Makefile - make/com/sun/security/ntlm/Makefile - make/com/sun/security/sasl/Makefile - make/com/sun/sql/FILES_java.gmk - make/com/sun/sql/Makefile - make/com/sun/tools/Makefile - make/com/sun/tools/attach/Exportedfiles.gmk - make/com/sun/tools/attach/FILES_c.gmk - make/com/sun/tools/attach/FILES_java.gmk - make/com/sun/tools/attach/Makefile - make/com/sun/tools/attach/mapfile-bsd - make/com/sun/tools/attach/mapfile-linux - make/com/sun/tools/attach/mapfile-solaris - make/com/sun/tracing/Makefile - make/com/sun/tracing/dtrace/Makefile - make/common/BuildToolJar.gmk - make/common/CancelImplicits.gmk - make/common/Classes.gmk - make/common/Cscope.gmk - make/common/Defs-linux.gmk - make/common/Defs-macosx.gmk - make/common/Defs-solaris.gmk - make/common/Defs-windows.gmk - make/common/Defs.gmk - make/common/Demo.gmk - make/common/Library.gmk - make/common/Mapfile-vers.gmk - make/common/Program.gmk - make/common/Release-macosx.gmk - make/common/Release.gmk - make/common/Rules.gmk - make/common/Sanity.gmk - make/common/Subdirs.gmk - make/common/internal/Defs-corba.gmk - make/common/internal/Defs-jaxp.gmk - make/common/internal/Defs-jaxws.gmk - make/common/internal/Defs-langtools.gmk - make/common/internal/ImportComponents.gmk - make/common/internal/NativeCompileRules.gmk - make/common/internal/Resources.gmk - make/common/shared/Compiler-gcc.gmk - make/common/shared/Compiler-llvm.gmk - make/common/shared/Compiler-msvc.gmk - make/common/shared/Compiler-sun.gmk - make/common/shared/Defs-control.gmk - make/common/shared/Defs-java.gmk - make/common/shared/Defs-javadoc.gmk - make/common/shared/Defs-linux.gmk - make/common/shared/Defs-macosx.gmk - make/common/shared/Defs-solaris.gmk - make/common/shared/Defs-utils.gmk - make/common/shared/Defs-versions.gmk - make/common/shared/Defs-windows.gmk - make/common/shared/Defs.gmk - make/common/shared/Platform.gmk - make/common/shared/PrivateDefs.gmk-example - make/common/shared/Sanity-Settings.gmk - make/common/shared/Sanity.gmk - make/docs/CORE_PKGS.gmk - make/docs/Makefile - make/docs/NON_CORE_PKGS.gmk - make/docs/Notes.html - make/java/Makefile - make/java/applet/Makefile - make/java/awt/Makefile - make/java/beans/Makefile - make/java/fdlibm/FILES_c.gmk - make/java/fdlibm/Makefile - make/java/instrument/Makefile - make/java/instrument/mapfile-vers - make/java/invoke/Makefile - make/java/jar/Makefile - make/java/java/Exportedfiles.gmk - make/java/java/FILES_c.gmk - make/java/java/FILES_java.gmk - make/java/java/Makefile - make/java/java/genlocales.gmk - make/java/java/localegen.sh - make/java/java/localelist.sh - make/java/java/mapfile-vers - make/java/java/reflect/Makefile - make/java/java/reorder-i586 - make/java/java/reorder-sparc - make/java/java/reorder-sparcv9 - make/java/java_crw_demo/Makefile - make/java/java_crw_demo/mapfile-vers - make/java/java_hprof_demo/Makefile - make/java/java_hprof_demo/mapfile-vers - make/java/jexec/Makefile - make/java/jli/Makefile - make/java/jli/mapfile-vers - make/java/jobjc/Makefile - make/java/jvm/Makefile - make/java/logging/Makefile - make/java/main/Makefile - make/java/main/java/Makefile - make/java/main/java/mapfile-amd64 - make/java/main/java/mapfile-i586 - make/java/main/java/mapfile-sparc - make/java/main/java/mapfile-sparcv9 - make/java/main/javaw/Makefile - make/java/management/Exportedfiles.gmk - make/java/management/FILES_c.gmk - make/java/management/Makefile - make/java/management/mapfile-vers - make/java/math/Makefile - make/java/net/FILES_c.gmk - make/java/net/Makefile - make/java/net/mapfile-vers - make/java/nio/Exportedfiles.gmk - make/java/nio/FILES_c.gmk - make/java/nio/FILES_java.gmk - make/java/nio/Makefile - make/java/nio/addNotices.sh - make/java/nio/genBuffer.sh - make/java/nio/genCharsetProvider.sh - make/java/nio/genCoder.sh - make/java/nio/genExceptions.sh - make/java/nio/mapfile-bsd - make/java/nio/mapfile-linux - make/java/nio/mapfile-solaris - make/java/nio/reorder-i586 - make/java/nio/reorder-sparc - make/java/nio/reorder-sparcv9 - make/java/npt/Makefile - make/java/npt/mapfile-vers - make/java/redist/Makefile - make/java/redist/fonts/Makefile - make/java/redist/sajdi/Makefile - make/java/rmi/Makefile - make/java/security/Makefile - make/java/sql/Makefile - make/java/sun_nio/FILES_java.gmk - make/java/sun_nio/Makefile - make/java/text/Makefile - make/java/text/base/FILES_java.gmk - make/java/text/base/Makefile - make/java/text/bidi/Makefile - make/java/time/Makefile - make/java/util/FILES_java.gmk - make/java/util/FILES_properties.gmk - make/java/util/Makefile - make/java/verify/Makefile - make/java/verify/mapfile-vers - make/java/verify/reorder-i586 - make/java/verify/reorder-sparc - make/java/verify/reorder-sparcv9 - make/java/version/Makefile - make/java/zip/FILES_c.gmk - make/java/zip/FILES_java.gmk - make/java/zip/Makefile - make/java/zip/mapfile-vers - make/java/zip/reorder-i586 - make/java/zip/reorder-sparc - make/java/zip/reorder-sparcv9 - make/javax/Makefile - make/javax/accessibility/Makefile - make/javax/crypto/Defs-jce.gmk - make/javax/crypto/Makefile - make/javax/crypto/policy/limited/LIMITED - make/javax/crypto/policy/limited/default_local.policy - make/javax/crypto/policy/limited/exempt_local.policy - make/javax/crypto/policy/unlimited/UNLIMITED - make/javax/crypto/policy/unlimited/default_US_export.policy - make/javax/crypto/policy/unlimited/default_local.policy - make/javax/imageio/Makefile - make/javax/management/Makefile - make/javax/others/Makefile - make/javax/print/Makefile - make/javax/rmi/Makefile - make/javax/rmi/ssl/Makefile - make/javax/security/Makefile - make/javax/sound/FILES_c.gmk - make/javax/sound/Makefile - make/javax/sound/SoundDefs.gmk - make/javax/sound/jsoundalsa/Makefile - make/javax/sound/jsoundalsa/mapfile-vers - make/javax/sound/jsoundds/Makefile - make/javax/sound/mapfile-vers - make/javax/sql/Makefile - make/javax/swing/FILES.gmk - make/javax/swing/Makefile - make/javax/swing/beaninfo/FILES.gmk - make/javax/swing/beaninfo/Makefile - make/javax/swing/beaninfo/SwingBeans.gmk - make/javax/swing/beaninfo/manifest - make/javax/swing/html32dtd/Makefile - make/javax/swing/plaf/FILES.gmk - make/javax/swing/plaf/Makefile - make/jdk/Makefile - make/jdk_generic_profile.sh - make/jpda/Makefile - make/jpda/back/Makefile - make/jpda/back/mapfile-vers - make/jpda/bdi/Makefile - make/jpda/expr/Makefile - make/jpda/front/Makefile - make/jpda/gui/Makefile - make/jpda/jdwp/Makefile - make/jpda/jdwp/jdwp.spec - make/jpda/transport/Makefile - make/jpda/transport/shmem/Makefile - make/jpda/transport/shmem/mapfile-vers - make/jpda/transport/socket/Makefile - make/jpda/transport/socket/mapfile-vers - make/jpda/tty/Makefile - make/jprt.gmk - make/jprt.properties - make/launchers/Makefile - make/launchers/Makefile.launcher - make/mkdemo/Makefile - make/mkdemo/applets/Animator/Makefile - make/mkdemo/applets/ArcTest/Makefile - make/mkdemo/applets/BarChart/Makefile - make/mkdemo/applets/Blink/Makefile - make/mkdemo/applets/CardTest/Makefile - make/mkdemo/applets/Clock/Makefile - make/mkdemo/applets/DitherTest/Makefile - make/mkdemo/applets/DrawTest/Makefile - make/mkdemo/applets/Fractal/Makefile - make/mkdemo/applets/GraphLayout/Makefile - make/mkdemo/applets/GraphicsTest/Makefile - make/mkdemo/applets/JumpingBox/Makefile - make/mkdemo/applets/Makefile - make/mkdemo/applets/MoleculeViewer/Makefile - make/mkdemo/applets/NervousText/Makefile - make/mkdemo/applets/SimpleGraph/Makefile - make/mkdemo/applets/SortDemo/Makefile - make/mkdemo/applets/SpreadSheet/Makefile - make/mkdemo/applets/TicTacToe/Makefile - make/mkdemo/applets/WireFrame/Makefile - make/mkdemo/jfc/CodePointIM/Makefile - make/mkdemo/jfc/FileChooserDemo/Makefile - make/mkdemo/jfc/Font2DTest/Makefile - make/mkdemo/jfc/Java2D/Makefile - make/mkdemo/jfc/Laffy/Makefile - make/mkdemo/jfc/Makefile - make/mkdemo/jfc/Metalworks/Makefile - make/mkdemo/jfc/Notepad/Makefile - make/mkdemo/jfc/SampleTree/Makefile - make/mkdemo/jfc/Stylepad/Makefile - make/mkdemo/jfc/SwingApplet/Makefile - make/mkdemo/jfc/SwingSet2/Makefile - make/mkdemo/jfc/SwingSet3/Makefile - make/mkdemo/jfc/TableExample/Makefile - make/mkdemo/jfc/TransparentRuler/Makefile - make/mkdemo/jni/Makefile - make/mkdemo/jni/Poller/Makefile - make/mkdemo/jpda/Makefile - make/mkdemo/jvmti/Makefile - make/mkdemo/jvmti/README.txt - make/mkdemo/jvmti/compiledMethodLoad/Makefile - make/mkdemo/jvmti/gctest/Makefile - make/mkdemo/jvmti/heapTracker/Makefile - make/mkdemo/jvmti/heapViewer/Makefile - make/mkdemo/jvmti/hprof/Makefile - make/mkdemo/jvmti/mapfile-vers - make/mkdemo/jvmti/minst/Makefile - make/mkdemo/jvmti/mtrace/Makefile - make/mkdemo/jvmti/versionCheck/Makefile - make/mkdemo/jvmti/waiters/Makefile - make/mkdemo/management/FullThreadDump/Makefile - make/mkdemo/management/JTop/Makefile - make/mkdemo/management/Makefile - make/mkdemo/management/MemoryMonitor/Makefile - make/mkdemo/management/README.txt - make/mkdemo/management/VerboseGC/Makefile - make/mkdemo/nio/Makefile - make/mkdemo/nio/zipfs/Makefile - make/mkdemo/scripting/Makefile - make/mkdemo/scripting/jconsole-plugin/Makefile - make/mksample/Makefile - make/mksample/dtrace/Makefile - make/mksample/forkjoin/Makefile - make/mksample/forkjoin/mergesort/Makefile - make/mksample/jmx/Makefile - make/mksample/jmx/jmx-scandir/Makefile - make/mksample/nbproject/Makefile - make/mksample/nio/Makefile - make/mksample/nio/chatserver/Makefile - make/mksample/nio/file/Makefile - make/mksample/nio/multicast/Makefile - make/mksample/nio/server/Makefile - make/mksample/scripting/Makefile - make/mksample/scripting/scriptpad/Makefile - make/mksample/webservices/EbayClient/Makefile - make/mksample/webservices/EbayServer/Makefile - make/mksample/webservices/Makefile - make/org/Makefile - make/org/ietf/Makefile - make/org/ietf/jgss/FILES_java.gmk - make/org/ietf/jgss/Makefile - make/org/jcp/Makefile - make/sun/Makefile - make/sun/applet/Makefile - make/sun/audio/Makefile - make/sun/awt/CondenseRules.awk - make/sun/awt/Depend.mak - make/sun/awt/Depend.sed - make/sun/awt/FILES_c_unix.gmk - make/sun/awt/FILES_c_windows.gmk - make/sun/awt/FILES_export_unix.gmk - make/sun/awt/FILES_export_windows.gmk - make/sun/awt/Makefile - make/sun/awt/README - make/sun/awt/ToBin.java - make/sun/awt/make.depend - make/sun/awt/mapfile-mawt-vers - make/sun/awt/mapfile-vers - make/sun/awt/mapfile-vers-bsd - make/sun/awt/mapfile-vers-linux - make/sun/awt/mawt.gmk - make/sun/cldr/Makefile - make/sun/cmm/Makefile - make/sun/cmm/kcms/FILES_c_unix.gmk - make/sun/cmm/kcms/FILES_c_windows.gmk - make/sun/cmm/kcms/Makefile - make/sun/cmm/kcms/mapfile-vers - make/sun/cmm/lcms/FILES_c_unix.gmk - make/sun/cmm/lcms/FILES_c_windows.gmk - make/sun/cmm/lcms/Makefile - make/sun/cmm/lcms/mapfile-vers - make/sun/dcpr/FILES_c.gmk - make/sun/dcpr/Makefile - make/sun/dcpr/mapfile-vers - make/sun/font/FILES_c.gmk - make/sun/font/Makefile - make/sun/font/mapfile-vers - make/sun/font/mapfile-vers.openjdk - make/sun/font/reorder-i586 - make/sun/font/reorder-sparc - make/sun/font/reorder-sparcv9 - make/sun/font/t2k/FILES_c.gmk - make/sun/font/t2k/Makefile - make/sun/font/t2k/mapfile-vers - make/sun/headless/Makefile - make/sun/headless/mapfile-vers - make/sun/headless/reorder-i586 - make/sun/headless/reorder-sparc - make/sun/headless/reorder-sparcv9 - make/sun/image/Makefile - make/sun/image/generic/FILES_c.gmk - make/sun/image/generic/Makefile - make/sun/image/generic/mapfile-vers - make/sun/image/vis/FILES_c.gmk - make/sun/image/vis/Makefile - make/sun/jar/Makefile - make/sun/javazic/Makefile - make/sun/javazic/javatz/fullset.txt - make/sun/javazic/javatz/java_11_ids.txt - make/sun/javazic/javatz/java_us_ids.txt - make/sun/javazic/javatz/java_win_ids.txt - make/sun/javazic/javatz/java_zone_ids.txt - make/sun/javazic/javatz/jdk1.1.x_zone_ids.txt - make/sun/javazic/tzdata/VERSION - make/sun/javazic/tzdata/africa - make/sun/javazic/tzdata/antarctica - make/sun/javazic/tzdata/asia - make/sun/javazic/tzdata/australasia - make/sun/javazic/tzdata/backward - make/sun/javazic/tzdata/etcetera - make/sun/javazic/tzdata/europe - make/sun/javazic/tzdata/factory - make/sun/javazic/tzdata/gmt - make/sun/javazic/tzdata/iso3166.tab - make/sun/javazic/tzdata/jdk11_backward - make/sun/javazic/tzdata/leapseconds - make/sun/javazic/tzdata/northamerica - make/sun/javazic/tzdata/pacificnew - make/sun/javazic/tzdata/solar87 - make/sun/javazic/tzdata/solar88 - make/sun/javazic/tzdata/solar89 - make/sun/javazic/tzdata/southamerica - make/sun/javazic/tzdata/systemv - make/sun/javazic/tzdata/zone.tab - make/sun/javazic/tzdata_jdk/gmt - make/sun/javazic/tzdata_jdk/jdk11_backward - make/sun/javazic/tzdata_jdk/jdk11_full_backward - make/sun/jawt/Depend.mak - make/sun/jawt/Depend.sed - make/sun/jawt/Makefile - make/sun/jawt/make.depend - make/sun/jawt/mapfile-vers - make/sun/jconsole/FILES.gmk - make/sun/jconsole/Makefile - make/sun/jdga/Makefile - make/sun/jdga/mapfile-vers - make/sun/jpeg/FILES_c.gmk - make/sun/jpeg/Makefile - make/sun/jpeg/mapfile-vers - make/sun/jpeg/mapfile-vers-closed - make/sun/jpeg/reorder-i586 - make/sun/jpeg/reorder-sparc - make/sun/jpeg/reorder-sparcv9 - make/sun/launcher/Makefile - make/sun/lwawt/FILES_c_macosx.gmk - make/sun/lwawt/FILES_export_macosx.gmk - make/sun/lwawt/Makefile - make/sun/management/Makefile - make/sun/management/jmxremote/Makefile - make/sun/management/snmp/Makefile - make/sun/misc/Makefile - make/sun/native2ascii/Makefile - make/sun/net/FILES_java.gmk - make/sun/net/Makefile - make/sun/net/others/Makefile - make/sun/net/spi/Makefile - make/sun/net/spi/nameservice/Makefile - make/sun/net/spi/nameservice/dns/Makefile - make/sun/nio/Makefile - make/sun/nio/cs/FILES_java.gmk - make/sun/nio/cs/Makefile - make/sun/osxapp/Makefile - make/sun/osxapp/ToBin.java - make/sun/pisces/Makefile - make/sun/rmi/Makefile - make/sun/rmi/cgi/Makefile - make/sun/rmi/oldtools/FILES_java.gmk - make/sun/rmi/oldtools/Makefile - make/sun/rmi/registry/Makefile - make/sun/rmi/rmi/Makefile - make/sun/rmi/rmi/mapfile-vers - make/sun/rmi/rmic/FILES.gmk - make/sun/rmi/rmic/Makefile - make/sun/rmi/rmid/Makefile - make/sun/security/Makefile - make/sun/security/action/Makefile - make/sun/security/ec/FILES_c.gmk - make/sun/security/ec/Makefile - make/sun/security/ec/mapfile-vers - make/sun/security/jgss/Makefile - make/sun/security/jgss/wrapper/FILES_c.gmk - make/sun/security/jgss/wrapper/Makefile - make/sun/security/jgss/wrapper/mapfile-vers - make/sun/security/krb5/FILES_c_windows.gmk - make/sun/security/krb5/Makefile - make/sun/security/mscapi/FILES_cpp.gmk - make/sun/security/mscapi/Makefile - make/sun/security/other/Makefile - make/sun/security/pkcs11/FILES_c.gmk - make/sun/security/pkcs11/Makefile - make/sun/security/pkcs11/mapfile-vers - make/sun/security/smartcardio/FILES_c.gmk - make/sun/security/smartcardio/Makefile - make/sun/security/smartcardio/mapfile-vers - make/sun/security/tools/Makefile - make/sun/security/util/Makefile - make/sun/serialver/Makefile - make/sun/splashscreen/FILES_c.gmk - make/sun/splashscreen/Makefile - make/sun/splashscreen/mapfile-vers - make/sun/text/FILES_java.gmk - make/sun/text/FILES_properties.gmk - make/sun/text/Makefile - make/sun/tools/Makefile - make/sun/tracing/Makefile - make/sun/tracing/dtrace/Makefile - make/sun/tracing/dtrace/mapfile-vers - make/sun/tzdb/Makefile - make/sun/usagetracker/Makefile - make/sun/util/Makefile - make/sun/xawt/FILES_c_unix.gmk - make/sun/xawt/FILES_export_unix.gmk - make/sun/xawt/Makefile - make/sun/xawt/mapfile-vers - make/templates/bsd-header - make/templates/gpl-cp-header - make/templates/gpl-header - make/tools/CharsetMapping/Big5.map - make/tools/CharsetMapping/Big5.nr - make/tools/CharsetMapping/DoubleByte-X.java.template - make/tools/CharsetMapping/EUC_CN.map - make/tools/CharsetMapping/EUC_KR.map - make/tools/CharsetMapping/GBK.map - make/tools/CharsetMapping/HKSCS2001.c2b - make/tools/CharsetMapping/HKSCS2001.map - make/tools/CharsetMapping/HKSCS2008.c2b - make/tools/CharsetMapping/HKSCS2008.map - make/tools/CharsetMapping/HKSCS_XP.c2b - make/tools/CharsetMapping/HKSCS_XP.map - make/tools/CharsetMapping/IBM037.c2b - make/tools/CharsetMapping/IBM037.map - make/tools/CharsetMapping/IBM037.nr - make/tools/CharsetMapping/IBM1006.map - make/tools/CharsetMapping/IBM1025.c2b - make/tools/CharsetMapping/IBM1025.map - make/tools/CharsetMapping/IBM1025.nr - make/tools/CharsetMapping/IBM1026.c2b - make/tools/CharsetMapping/IBM1026.map - make/tools/CharsetMapping/IBM1026.nr - make/tools/CharsetMapping/IBM1046.map - make/tools/CharsetMapping/IBM1047.map - make/tools/CharsetMapping/IBM1097.map - make/tools/CharsetMapping/IBM1098.map - make/tools/CharsetMapping/IBM1112.c2b - make/tools/CharsetMapping/IBM1112.map - make/tools/CharsetMapping/IBM1112.nr - make/tools/CharsetMapping/IBM1122.c2b - make/tools/CharsetMapping/IBM1122.map - make/tools/CharsetMapping/IBM1122.nr - make/tools/CharsetMapping/IBM1123.c2b - make/tools/CharsetMapping/IBM1123.map - make/tools/CharsetMapping/IBM1123.nr - make/tools/CharsetMapping/IBM1124.map - make/tools/CharsetMapping/IBM1140.c2b - make/tools/CharsetMapping/IBM1140.map - make/tools/CharsetMapping/IBM1141.c2b - make/tools/CharsetMapping/IBM1141.map - make/tools/CharsetMapping/IBM1142.c2b - make/tools/CharsetMapping/IBM1142.map - make/tools/CharsetMapping/IBM1143.c2b - make/tools/CharsetMapping/IBM1143.map - make/tools/CharsetMapping/IBM1144.c2b - make/tools/CharsetMapping/IBM1144.map - make/tools/CharsetMapping/IBM1145.c2b - make/tools/CharsetMapping/IBM1145.map - make/tools/CharsetMapping/IBM1146.c2b - make/tools/CharsetMapping/IBM1146.map - make/tools/CharsetMapping/IBM1147.c2b - make/tools/CharsetMapping/IBM1147.map - make/tools/CharsetMapping/IBM1148.c2b - make/tools/CharsetMapping/IBM1148.map - make/tools/CharsetMapping/IBM1149.c2b - make/tools/CharsetMapping/IBM1149.map - make/tools/CharsetMapping/IBM1364.c2b - make/tools/CharsetMapping/IBM1364.map - make/tools/CharsetMapping/IBM1381.c2b - make/tools/CharsetMapping/IBM1381.map - make/tools/CharsetMapping/IBM1383.c2b - make/tools/CharsetMapping/IBM1383.map - make/tools/CharsetMapping/IBM1383.nr - make/tools/CharsetMapping/IBM273.c2b - make/tools/CharsetMapping/IBM273.map - make/tools/CharsetMapping/IBM273.nr - make/tools/CharsetMapping/IBM277.c2b - make/tools/CharsetMapping/IBM277.map - make/tools/CharsetMapping/IBM277.nr - make/tools/CharsetMapping/IBM278.c2b - make/tools/CharsetMapping/IBM278.map - make/tools/CharsetMapping/IBM278.nr - make/tools/CharsetMapping/IBM280.c2b - make/tools/CharsetMapping/IBM280.map - make/tools/CharsetMapping/IBM280.nr - make/tools/CharsetMapping/IBM284.c2b - make/tools/CharsetMapping/IBM284.map - make/tools/CharsetMapping/IBM284.nr - make/tools/CharsetMapping/IBM285.c2b - make/tools/CharsetMapping/IBM285.map - make/tools/CharsetMapping/IBM285.nr - make/tools/CharsetMapping/IBM290.c2b - make/tools/CharsetMapping/IBM290.map - make/tools/CharsetMapping/IBM297.c2b - make/tools/CharsetMapping/IBM297.map - make/tools/CharsetMapping/IBM297.nr - make/tools/CharsetMapping/IBM300.c2b - make/tools/CharsetMapping/IBM300.map - make/tools/CharsetMapping/IBM420.c2b - make/tools/CharsetMapping/IBM420.map - make/tools/CharsetMapping/IBM420.nr - make/tools/CharsetMapping/IBM424.c2b - make/tools/CharsetMapping/IBM424.map - make/tools/CharsetMapping/IBM424.nr - make/tools/CharsetMapping/IBM437.map - make/tools/CharsetMapping/IBM500.c2b - make/tools/CharsetMapping/IBM500.map - make/tools/CharsetMapping/IBM500.nr - make/tools/CharsetMapping/IBM737.map - make/tools/CharsetMapping/IBM775.map - make/tools/CharsetMapping/IBM833.c2b - make/tools/CharsetMapping/IBM833.map - make/tools/CharsetMapping/IBM838.c2b - make/tools/CharsetMapping/IBM838.map - make/tools/CharsetMapping/IBM838.nr - make/tools/CharsetMapping/IBM850.map - make/tools/CharsetMapping/IBM852.map - make/tools/CharsetMapping/IBM855.map - make/tools/CharsetMapping/IBM856.map - make/tools/CharsetMapping/IBM857.map - make/tools/CharsetMapping/IBM858.map - make/tools/CharsetMapping/IBM860.map - make/tools/CharsetMapping/IBM861.map - make/tools/CharsetMapping/IBM862.map - make/tools/CharsetMapping/IBM863.map - make/tools/CharsetMapping/IBM864.map - make/tools/CharsetMapping/IBM865.map - make/tools/CharsetMapping/IBM866.map - make/tools/CharsetMapping/IBM868.map - make/tools/CharsetMapping/IBM869.map - make/tools/CharsetMapping/IBM870.c2b - make/tools/CharsetMapping/IBM870.map - make/tools/CharsetMapping/IBM870.nr - make/tools/CharsetMapping/IBM871.c2b - make/tools/CharsetMapping/IBM871.map - make/tools/CharsetMapping/IBM871.nr - make/tools/CharsetMapping/IBM874.map - make/tools/CharsetMapping/IBM874.nr - make/tools/CharsetMapping/IBM875.c2b - make/tools/CharsetMapping/IBM875.map - make/tools/CharsetMapping/IBM875.nr - make/tools/CharsetMapping/IBM918.c2b - make/tools/CharsetMapping/IBM918.map - make/tools/CharsetMapping/IBM918.nr - make/tools/CharsetMapping/IBM921.map - make/tools/CharsetMapping/IBM922.map - make/tools/CharsetMapping/IBM930.c2b - make/tools/CharsetMapping/IBM930.map - make/tools/CharsetMapping/IBM930.nr - make/tools/CharsetMapping/IBM933.c2b - make/tools/CharsetMapping/IBM933.map - make/tools/CharsetMapping/IBM935.c2b - make/tools/CharsetMapping/IBM935.map - make/tools/CharsetMapping/IBM935.nr - make/tools/CharsetMapping/IBM937.c2b - make/tools/CharsetMapping/IBM937.map - make/tools/CharsetMapping/IBM937.nr - make/tools/CharsetMapping/IBM939.c2b - make/tools/CharsetMapping/IBM939.map - make/tools/CharsetMapping/IBM939.nr - make/tools/CharsetMapping/IBM942.c2b - make/tools/CharsetMapping/IBM942.map - make/tools/CharsetMapping/IBM943.map - make/tools/CharsetMapping/IBM943.nr - make/tools/CharsetMapping/IBM948.c2b - make/tools/CharsetMapping/IBM948.map - make/tools/CharsetMapping/IBM949.map - make/tools/CharsetMapping/IBM950.c2b - make/tools/CharsetMapping/IBM950.map - make/tools/CharsetMapping/IBM970.c2b - make/tools/CharsetMapping/IBM970.map - make/tools/CharsetMapping/ISO_8859_11.map - make/tools/CharsetMapping/ISO_8859_13.map - make/tools/CharsetMapping/ISO_8859_15.map - make/tools/CharsetMapping/ISO_8859_2.map - make/tools/CharsetMapping/ISO_8859_3.map - make/tools/CharsetMapping/ISO_8859_4.map - make/tools/CharsetMapping/ISO_8859_5.map - make/tools/CharsetMapping/ISO_8859_6.map - make/tools/CharsetMapping/ISO_8859_7.map - make/tools/CharsetMapping/ISO_8859_8.map - make/tools/CharsetMapping/ISO_8859_9.map - make/tools/CharsetMapping/JIS_X_0201.c2b - make/tools/CharsetMapping/JIS_X_0201.map - make/tools/CharsetMapping/JIS_X_0208.map - make/tools/CharsetMapping/JIS_X_0208_MS5022X.c2b - make/tools/CharsetMapping/JIS_X_0208_MS5022X.map - make/tools/CharsetMapping/JIS_X_0208_MS932.map - make/tools/CharsetMapping/JIS_X_0208_MS932.nr - make/tools/CharsetMapping/JIS_X_0208_Solaris.map - make/tools/CharsetMapping/JIS_X_0208_Solaris.nr - make/tools/CharsetMapping/JIS_X_0212.map - make/tools/CharsetMapping/JIS_X_0212_MS5022X.map - make/tools/CharsetMapping/JIS_X_0212_Solaris.map - make/tools/CharsetMapping/JIS_X_0212_Solaris.nr - make/tools/CharsetMapping/Johab.map - make/tools/CharsetMapping/KOI8_R.map - make/tools/CharsetMapping/KOI8_U.map - make/tools/CharsetMapping/MS1250.map - make/tools/CharsetMapping/MS1251.map - make/tools/CharsetMapping/MS1252.map - make/tools/CharsetMapping/MS1253.map - make/tools/CharsetMapping/MS1254.map - make/tools/CharsetMapping/MS1255.map - make/tools/CharsetMapping/MS1256.map - make/tools/CharsetMapping/MS1257.map - make/tools/CharsetMapping/MS1258.map - make/tools/CharsetMapping/MS874.map - make/tools/CharsetMapping/MS932.c2b - make/tools/CharsetMapping/MS932.map - make/tools/CharsetMapping/MS932.nr - make/tools/CharsetMapping/MS936.map - make/tools/CharsetMapping/MS949.map - make/tools/CharsetMapping/MS950.map - make/tools/CharsetMapping/MS950.nr - make/tools/CharsetMapping/MacArabic.map - make/tools/CharsetMapping/MacCentralEurope.map - make/tools/CharsetMapping/MacCroatian.map - make/tools/CharsetMapping/MacCyrillic.map - make/tools/CharsetMapping/MacDingbat.map - make/tools/CharsetMapping/MacGreek.map - make/tools/CharsetMapping/MacHebrew.map - make/tools/CharsetMapping/MacIceland.map - make/tools/CharsetMapping/MacRoman.map - make/tools/CharsetMapping/MacRomania.map - make/tools/CharsetMapping/MacSymbol.map - make/tools/CharsetMapping/MacThai.map - make/tools/CharsetMapping/MacTurkish.map - make/tools/CharsetMapping/MacUkraine.map - make/tools/CharsetMapping/Makefile - make/tools/CharsetMapping/PCK.c2b - make/tools/CharsetMapping/PCK.map - make/tools/CharsetMapping/PCK.nr - make/tools/CharsetMapping/SJIS.c2b - make/tools/CharsetMapping/SJIS.map - make/tools/CharsetMapping/SingleByte-X.java.template - make/tools/CharsetMapping/TIS_620.map - make/tools/CharsetMapping/dbcs - make/tools/CharsetMapping/euc_tw.map - make/tools/CharsetMapping/extsbcs - make/tools/CharsetMapping/sbcs - make/tools/CharsetMapping/sjis0213.map - make/tools/GenerateCharacter/Character.c.template - make/tools/GenerateCharacter/CharacterData00.java.template - make/tools/GenerateCharacter/CharacterData01.java.template - make/tools/GenerateCharacter/CharacterData02.java.template - make/tools/GenerateCharacter/CharacterData0E.java.template - make/tools/GenerateCharacter/CharacterDataLatin1.java.template - make/tools/GenerateCharacter/CharacterDataPrivateUse.java.template - make/tools/GenerateCharacter/CharacterDataUndefined.java.template - make/tools/GenerateCharacter/Makefile - make/tools/GenerateCharacter/check_class.c.template - make/tools/Makefile - make/tools/README.txt - make/tools/UnicodeData/PropList.txt - make/tools/UnicodeData/Scripts.txt - make/tools/UnicodeData/SpecialCasing.txt - make/tools/UnicodeData/UnicodeData.txt - make/tools/UnicodeData/VERSION - make/tools/add_gnu_debuglink/Makefile - make/tools/add_gnu_debuglink/add_gnu_debuglink.c - make/tools/addjsum/Makefile - make/tools/addtorestrictedpkgs/Makefile - make/tools/buildmetaindex/Makefile - make/tools/cldrconverter/Makefile - make/tools/commentchecker/Makefile - make/tools/compile_font_config/Makefile - make/tools/compile_properties/Makefile - make/tools/dir_diff/Makefile - make/tools/dtdbuilder/Makefile - make/tools/dtdbuilder/dtds/HTMLlat1.sgml - make/tools/dtdbuilder/dtds/HTMLspecial.sgml - make/tools/dtdbuilder/dtds/HTMLsymbol.sgml - make/tools/dtdbuilder/dtds/html32.dtd - make/tools/dtdbuilder/dtds/public.map - make/tools/fix_empty_sec_hdr_flags/Makefile - make/tools/fix_empty_sec_hdr_flags/fix_empty_sec_hdr_flags.c - make/tools/freetypecheck/Makefile - make/tools/freetypecheck/freetypecheck.c - make/tools/generate_break_iterator/Makefile - make/tools/generate_nimbus/Makefile - make/tools/generatecurrencydata/Makefile - make/tools/hasher_classes/Makefile - make/tools/jarreorder/Makefile - make/tools/jarsplit/Makefile - make/tools/jdwpgen/Makefile - make/tools/makeclasslist/Makefile - make/tools/manifest.mf - make/tools/msys_build_scripts/dospath.sh - make/tools/msys_build_scripts/dospath.vbs - make/tools/reorder/Makefile - make/tools/reorder/tests/Exit.java - make/tools/reorder/tests/Hello.java - make/tools/reorder/tests/IntToString.java - make/tools/reorder/tests/JHello.java - make/tools/reorder/tests/LoadFrame.java - make/tools/reorder/tests/LoadJFrame.java - make/tools/reorder/tests/LoadToolkit.java - make/tools/reorder/tests/Null.java - make/tools/reorder/tests/Sleep.java - make/tools/reorder/tools/Combine.java - make/tools/reorder/tools/MaxTime.java - make/tools/reorder/tools/mcount.c - make/tools/reorder/tools/remove_mcount.c - make/tools/reorder/tools/util-i586.il - make/tools/reorder/tools/util-sparc.il - make/tools/reorder/tools/util-sparcv9.il - make/tools/sharing/README.txt - make/tools/sharing/classlist.linux - make/tools/sharing/classlist.macosx - make/tools/sharing/classlist.solaris - make/tools/sharing/classlist.windows - make/tools/sharing/tests/GHello.java - make/tools/sharing/tests/Hello.java - make/tools/sharing/tests/JHello.java - make/tools/spp/Makefile - make/tools/src/build/tools/addjsum/AddJsum.java - make/tools/src/build/tools/addtorestrictedpkgs/AddToRestrictedPkgs.java - make/tools/src/build/tools/buildmetaindex/BuildMetaIndex.java - make/tools/src/build/tools/charsetmapping/DBCS.java - make/tools/src/build/tools/charsetmapping/EUC_TW.java - make/tools/src/build/tools/charsetmapping/HKSCS.java - make/tools/src/build/tools/charsetmapping/JIS0213.java - make/tools/src/build/tools/charsetmapping/Main.java - make/tools/src/build/tools/charsetmapping/SBCS.java - make/tools/src/build/tools/charsetmapping/Utils.java - make/tools/src/build/tools/classfile/RemoveMethods.java - make/tools/src/build/tools/cldrconverter/AbstractLDMLHandler.java - make/tools/src/build/tools/cldrconverter/Bundle.java - make/tools/src/build/tools/cldrconverter/BundleGenerator.java - make/tools/src/build/tools/cldrconverter/CLDRConverter.java - make/tools/src/build/tools/cldrconverter/CalendarType.java - make/tools/src/build/tools/cldrconverter/Container.java - make/tools/src/build/tools/cldrconverter/CopyrightHeaders.java - make/tools/src/build/tools/cldrconverter/Entry.java - make/tools/src/build/tools/cldrconverter/IgnoredContainer.java - make/tools/src/build/tools/cldrconverter/KeyContainer.java - make/tools/src/build/tools/cldrconverter/LDMLParseHandler.java - make/tools/src/build/tools/cldrconverter/MetaZonesParseHandler.java - make/tools/src/build/tools/cldrconverter/NumberingSystemsParseHandler.java - make/tools/src/build/tools/cldrconverter/ResourceBundleGenerator.java - make/tools/src/build/tools/cldrconverter/StringArrayElement.java - make/tools/src/build/tools/cldrconverter/StringArrayEntry.java - make/tools/src/build/tools/cldrconverter/StringEntry.java - make/tools/src/build/tools/cldrconverter/SupplementDataParseHandler.java - make/tools/src/build/tools/commentchecker/CommentChecker.java - make/tools/src/build/tools/compilefontconfig/CompileFontConfig.java - make/tools/src/build/tools/compileproperties/CompileProperties.java - make/tools/src/build/tools/deps/CheckDeps.java - make/tools/src/build/tools/deps/refs.allowed - make/tools/src/build/tools/dirdiff/DirDiff.java - make/tools/src/build/tools/dtdbuilder/DTDBuilder.java - make/tools/src/build/tools/dtdbuilder/DTDInputStream.java - make/tools/src/build/tools/dtdbuilder/DTDParser.java - make/tools/src/build/tools/dtdbuilder/PublicMapping.java - make/tools/src/build/tools/dtdbuilder/README.txt - make/tools/src/build/tools/generatebreakiteratordata/BreakIteratorRBControl.java - make/tools/src/build/tools/generatebreakiteratordata/CharSet.java - make/tools/src/build/tools/generatebreakiteratordata/CharacterCategory.java - make/tools/src/build/tools/generatebreakiteratordata/DictionaryBasedBreakIteratorBuilder.java - make/tools/src/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java - make/tools/src/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java - make/tools/src/build/tools/generatebreakiteratordata/SupplementaryCharacterData.java - make/tools/src/build/tools/generatecharacter/CharacterName.java - make/tools/src/build/tools/generatecharacter/CharacterScript.java - make/tools/src/build/tools/generatecharacter/GenerateCharacter.java - make/tools/src/build/tools/generatecharacter/PrintCharacterRanges.java - make/tools/src/build/tools/generatecharacter/PropList.java - make/tools/src/build/tools/generatecharacter/SpecialCaseMap.java - make/tools/src/build/tools/generatecharacter/UnicodeSpec.java - make/tools/src/build/tools/generatecharacter/Utility.java - make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java - make/tools/src/build/tools/generatenimbus/AbstractGradient.java - make/tools/src/build/tools/generatenimbus/Border.java - make/tools/src/build/tools/generatenimbus/Canvas.java - make/tools/src/build/tools/generatenimbus/ComponentColor.java - make/tools/src/build/tools/generatenimbus/Dimension.java - make/tools/src/build/tools/generatenimbus/Ellipse.java - make/tools/src/build/tools/generatenimbus/Generator.java - make/tools/src/build/tools/generatenimbus/Gradient.java - make/tools/src/build/tools/generatenimbus/GradientStop.java - make/tools/src/build/tools/generatenimbus/Insets.java - make/tools/src/build/tools/generatenimbus/Layer.java - make/tools/src/build/tools/generatenimbus/Matte.java - make/tools/src/build/tools/generatenimbus/ObjectFactory.java - make/tools/src/build/tools/generatenimbus/Paint.java - make/tools/src/build/tools/generatenimbus/PainterGenerator.java - make/tools/src/build/tools/generatenimbus/Path.java - make/tools/src/build/tools/generatenimbus/Point.java - make/tools/src/build/tools/generatenimbus/RadialGradient.java - make/tools/src/build/tools/generatenimbus/Rectangle.java - make/tools/src/build/tools/generatenimbus/Shape.java - make/tools/src/build/tools/generatenimbus/SynthModel.java - make/tools/src/build/tools/generatenimbus/Typeface.java - make/tools/src/build/tools/generatenimbus/UIColor.java - make/tools/src/build/tools/generatenimbus/UIComponent.java - make/tools/src/build/tools/generatenimbus/UIDefault.java - make/tools/src/build/tools/generatenimbus/UIFont.java - make/tools/src/build/tools/generatenimbus/UIIconRegion.java - make/tools/src/build/tools/generatenimbus/UIProperty.java - make/tools/src/build/tools/generatenimbus/UIRegion.java - make/tools/src/build/tools/generatenimbus/UIState.java - make/tools/src/build/tools/generatenimbus/UIStateType.java - make/tools/src/build/tools/generatenimbus/UIStyle.java - make/tools/src/build/tools/generatenimbus/Utils.java - make/tools/src/build/tools/hasher/Hasher.java - make/tools/src/build/tools/jarreorder/JarReorder.java - make/tools/src/build/tools/jarsplit/JarSplit.java - make/tools/src/build/tools/jdwpgen/AbstractCommandNode.java - make/tools/src/build/tools/jdwpgen/AbstractGroupNode.java - make/tools/src/build/tools/jdwpgen/AbstractNamedNode.java - make/tools/src/build/tools/jdwpgen/AbstractSimpleNode.java - make/tools/src/build/tools/jdwpgen/AbstractSimpleTypeNode.java - make/tools/src/build/tools/jdwpgen/AbstractTypeListNode.java - make/tools/src/build/tools/jdwpgen/AbstractTypeNode.java - make/tools/src/build/tools/jdwpgen/AltNode.java - make/tools/src/build/tools/jdwpgen/ArrayObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/ArrayRegionTypeNode.java - make/tools/src/build/tools/jdwpgen/ArrayTypeNode.java - make/tools/src/build/tools/jdwpgen/BooleanTypeNode.java - make/tools/src/build/tools/jdwpgen/ByteTypeNode.java - make/tools/src/build/tools/jdwpgen/ClassLoaderObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/ClassObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/ClassTypeNode.java - make/tools/src/build/tools/jdwpgen/CommandNode.java - make/tools/src/build/tools/jdwpgen/CommandSetNode.java - make/tools/src/build/tools/jdwpgen/CommentNode.java - make/tools/src/build/tools/jdwpgen/ConstantNode.java - make/tools/src/build/tools/jdwpgen/ConstantSetNode.java - make/tools/src/build/tools/jdwpgen/Context.java - make/tools/src/build/tools/jdwpgen/ErrorNode.java - make/tools/src/build/tools/jdwpgen/ErrorSetNode.java - make/tools/src/build/tools/jdwpgen/EventNode.java - make/tools/src/build/tools/jdwpgen/FieldTypeNode.java - make/tools/src/build/tools/jdwpgen/FrameTypeNode.java - make/tools/src/build/tools/jdwpgen/GroupNode.java - make/tools/src/build/tools/jdwpgen/IntTypeNode.java - make/tools/src/build/tools/jdwpgen/InterfaceTypeNode.java - make/tools/src/build/tools/jdwpgen/LocationTypeNode.java - make/tools/src/build/tools/jdwpgen/LongTypeNode.java - make/tools/src/build/tools/jdwpgen/Main.java - make/tools/src/build/tools/jdwpgen/MethodTypeNode.java - make/tools/src/build/tools/jdwpgen/NameNode.java - make/tools/src/build/tools/jdwpgen/NameValueNode.java - make/tools/src/build/tools/jdwpgen/Node.java - make/tools/src/build/tools/jdwpgen/ObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/OutNode.java - make/tools/src/build/tools/jdwpgen/Parse.java - make/tools/src/build/tools/jdwpgen/ReferenceIDTypeNode.java - make/tools/src/build/tools/jdwpgen/ReferenceTypeNode.java - make/tools/src/build/tools/jdwpgen/RepeatNode.java - make/tools/src/build/tools/jdwpgen/ReplyNode.java - make/tools/src/build/tools/jdwpgen/RootNode.java - make/tools/src/build/tools/jdwpgen/SelectNode.java - make/tools/src/build/tools/jdwpgen/StringObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/StringTypeNode.java - make/tools/src/build/tools/jdwpgen/TaggedObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/ThreadGroupObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/ThreadObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/TypeNode.java - make/tools/src/build/tools/jdwpgen/UntaggedValueTypeNode.java - make/tools/src/build/tools/jdwpgen/ValueTypeNode.java - make/tools/src/build/tools/makeclasslist/MakeClasslist.java - make/tools/src/build/tools/spp/Spp.java - make/tools/src/build/tools/stripproperties/StripProperties.java - 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/strip_properties/Makefile - make/tools/swing-beans/DocBeanInfo.java - make/tools/swing-beans/GenDocletBeanInfo.java - make/tools/swing-beans/GenSwingBeanInfo.java - make/tools/swing-beans/SwingBeanInfo.template - make/tools/swing-beans/beaninfo/images/AbstractButtonColor16.gif - make/tools/swing-beans/beaninfo/images/BorderColor16.gif - make/tools/swing-beans/beaninfo/images/BoxColor16.gif - make/tools/swing-beans/beaninfo/images/BoxColor32.gif - make/tools/swing-beans/beaninfo/images/BoxMono16.gif - make/tools/swing-beans/beaninfo/images/BoxMono32.gif - make/tools/swing-beans/beaninfo/images/JAppletColor16.gif - make/tools/swing-beans/beaninfo/images/JAppletColor32.gif - make/tools/swing-beans/beaninfo/images/JAppletMono16.gif - make/tools/swing-beans/beaninfo/images/JAppletMono32.gif - make/tools/swing-beans/beaninfo/images/JButtonColor16.gif - make/tools/swing-beans/beaninfo/images/JButtonColor32.gif - make/tools/swing-beans/beaninfo/images/JButtonMono16.gif - make/tools/swing-beans/beaninfo/images/JButtonMono32.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxColor16.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxColor32.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxMenuItemColor16.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxMenuItemColor32.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxMenuItemMono16.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxMenuItemMono32.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxMono16.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxMono32.gif - make/tools/swing-beans/beaninfo/images/JColorChooserColor16.gif - make/tools/swing-beans/beaninfo/images/JColorChooserColor32.gif - make/tools/swing-beans/beaninfo/images/JColorChooserMono16.gif - make/tools/swing-beans/beaninfo/images/JColorChooserMono32.gif - make/tools/swing-beans/beaninfo/images/JComboBoxColor16.gif - make/tools/swing-beans/beaninfo/images/JComboBoxColor32.gif - make/tools/swing-beans/beaninfo/images/JComboBoxMono16.gif - make/tools/swing-beans/beaninfo/images/JComboBoxMono32.gif - make/tools/swing-beans/beaninfo/images/JComponentColor16.gif - make/tools/swing-beans/beaninfo/images/JDesktopPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JDesktopPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JDesktopPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JDesktopPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JDialogColor16.gif - make/tools/swing-beans/beaninfo/images/JDialogColor32.gif - make/tools/swing-beans/beaninfo/images/JDialogMono16.gif - make/tools/swing-beans/beaninfo/images/JDialogMono32.gif - make/tools/swing-beans/beaninfo/images/JEditorPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JEditorPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JEditorPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JEditorPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JFileChooserColor16.gif - make/tools/swing-beans/beaninfo/images/JFileChooserColor32.gif - make/tools/swing-beans/beaninfo/images/JFileChooserMono16.gif - make/tools/swing-beans/beaninfo/images/JFileChooserMono32.gif - make/tools/swing-beans/beaninfo/images/JFormattedTextFieldColor16.gif - make/tools/swing-beans/beaninfo/images/JFormattedTextFieldColor32.gif - make/tools/swing-beans/beaninfo/images/JFormattedTextFieldMono16.gif - make/tools/swing-beans/beaninfo/images/JFormattedTextFieldMono32.gif - make/tools/swing-beans/beaninfo/images/JFrameColor16.gif - make/tools/swing-beans/beaninfo/images/JFrameColor32.gif - make/tools/swing-beans/beaninfo/images/JFrameMono16.gif - make/tools/swing-beans/beaninfo/images/JFrameMono32.gif - make/tools/swing-beans/beaninfo/images/JInternalFrameColor16.gif - make/tools/swing-beans/beaninfo/images/JInternalFrameColor32.gif - make/tools/swing-beans/beaninfo/images/JInternalFrameMono16.gif - make/tools/swing-beans/beaninfo/images/JInternalFrameMono32.gif - make/tools/swing-beans/beaninfo/images/JLabelColor16.gif - make/tools/swing-beans/beaninfo/images/JLabelColor32.gif - make/tools/swing-beans/beaninfo/images/JLabelMono16.gif - make/tools/swing-beans/beaninfo/images/JLabelMono32.gif - make/tools/swing-beans/beaninfo/images/JLayeredPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JLayeredPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JLayeredPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JLayeredPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JListColor16.gif - make/tools/swing-beans/beaninfo/images/JListColor32.gif - make/tools/swing-beans/beaninfo/images/JListMono16.gif - make/tools/swing-beans/beaninfo/images/JListMono32.gif - make/tools/swing-beans/beaninfo/images/JMenuBarColor16.gif - make/tools/swing-beans/beaninfo/images/JMenuBarColor32.gif - make/tools/swing-beans/beaninfo/images/JMenuBarMono16.gif - make/tools/swing-beans/beaninfo/images/JMenuBarMono32.gif - make/tools/swing-beans/beaninfo/images/JMenuColor16.gif - make/tools/swing-beans/beaninfo/images/JMenuColor32.gif - make/tools/swing-beans/beaninfo/images/JMenuItemColor16.gif - make/tools/swing-beans/beaninfo/images/JMenuItemColor32.gif - make/tools/swing-beans/beaninfo/images/JMenuItemMono16.gif - make/tools/swing-beans/beaninfo/images/JMenuItemMono32.gif - make/tools/swing-beans/beaninfo/images/JMenuMono16.gif - make/tools/swing-beans/beaninfo/images/JMenuMono32.gif - make/tools/swing-beans/beaninfo/images/JOptionPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JOptionPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JOptionPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JOptionPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JPanelColor16.gif - make/tools/swing-beans/beaninfo/images/JPanelColor32.gif - make/tools/swing-beans/beaninfo/images/JPanelMono16.gif - make/tools/swing-beans/beaninfo/images/JPanelMono32.gif - make/tools/swing-beans/beaninfo/images/JPasswordFieldColor16.gif - make/tools/swing-beans/beaninfo/images/JPasswordFieldColor32.gif - make/tools/swing-beans/beaninfo/images/JPasswordFieldMono16.gif - make/tools/swing-beans/beaninfo/images/JPasswordFieldMono32.gif - make/tools/swing-beans/beaninfo/images/JPopupMenuColor16.gif - make/tools/swing-beans/beaninfo/images/JPopupMenuColor32.gif - make/tools/swing-beans/beaninfo/images/JPopupMenuMono16.gif - make/tools/swing-beans/beaninfo/images/JPopupMenuMono32.gif - make/tools/swing-beans/beaninfo/images/JProgressBarColor16.gif - make/tools/swing-beans/beaninfo/images/JProgressBarColor32.gif - make/tools/swing-beans/beaninfo/images/JProgressBarMono16.gif - make/tools/swing-beans/beaninfo/images/JProgressBarMono32.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonColor16.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonColor32.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonMenuItemColor16.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonMenuItemColor32.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonMenuItemMono16.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonMenuItemMono32.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonMono16.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonMono32.gif - make/tools/swing-beans/beaninfo/images/JRootPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JRootPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JRootPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JRootPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JScrollBarColor16.gif - make/tools/swing-beans/beaninfo/images/JScrollBarColor32.gif - make/tools/swing-beans/beaninfo/images/JScrollBarMono16.gif - make/tools/swing-beans/beaninfo/images/JScrollBarMono32.gif - make/tools/swing-beans/beaninfo/images/JScrollPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JScrollPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JScrollPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JScrollPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JSeparatorColor16.gif - make/tools/swing-beans/beaninfo/images/JSeparatorColor32.gif - make/tools/swing-beans/beaninfo/images/JSeparatorMono16.gif - make/tools/swing-beans/beaninfo/images/JSeparatorMono32.gif - make/tools/swing-beans/beaninfo/images/JSliderColor16.gif - make/tools/swing-beans/beaninfo/images/JSliderColor32.gif - make/tools/swing-beans/beaninfo/images/JSliderMono16.gif - make/tools/swing-beans/beaninfo/images/JSliderMono32.gif - make/tools/swing-beans/beaninfo/images/JSpinnerColor16.gif - make/tools/swing-beans/beaninfo/images/JSpinnerColor32.gif - make/tools/swing-beans/beaninfo/images/JSpinnerMono16.gif - make/tools/swing-beans/beaninfo/images/JSpinnerMono32.gif - make/tools/swing-beans/beaninfo/images/JSplitPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JSplitPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JSplitPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JSplitPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JTabbedPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JTabbedPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JTabbedPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JTabbedPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JTableColor16.gif - make/tools/swing-beans/beaninfo/images/JTableColor32.gif - make/tools/swing-beans/beaninfo/images/JTableMono16.gif - make/tools/swing-beans/beaninfo/images/JTableMono32.gif - make/tools/swing-beans/beaninfo/images/JTextAreaColor16.gif - make/tools/swing-beans/beaninfo/images/JTextAreaColor32.gif - make/tools/swing-beans/beaninfo/images/JTextAreaMono16.gif - make/tools/swing-beans/beaninfo/images/JTextAreaMono32.gif - make/tools/swing-beans/beaninfo/images/JTextFieldColor16.gif - make/tools/swing-beans/beaninfo/images/JTextFieldColor32.gif - make/tools/swing-beans/beaninfo/images/JTextFieldMono16.gif - make/tools/swing-beans/beaninfo/images/JTextFieldMono32.gif - make/tools/swing-beans/beaninfo/images/JTextPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JTextPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JTextPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JTextPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JToggleButtonColor16.gif - make/tools/swing-beans/beaninfo/images/JToggleButtonColor32.gif - make/tools/swing-beans/beaninfo/images/JToggleButtonMono16.gif - make/tools/swing-beans/beaninfo/images/JToggleButtonMono32.gif - make/tools/swing-beans/beaninfo/images/JToolBarColor16.gif - make/tools/swing-beans/beaninfo/images/JToolBarColor32.gif - make/tools/swing-beans/beaninfo/images/JToolBarMono16.gif - make/tools/swing-beans/beaninfo/images/JToolBarMono32.gif - make/tools/swing-beans/beaninfo/images/JTreeColor16.gif - make/tools/swing-beans/beaninfo/images/JTreeColor32.gif - make/tools/swing-beans/beaninfo/images/JTreeMono16.gif - make/tools/swing-beans/beaninfo/images/JTreeMono32.gif - make/tools/swing-beans/beaninfo/images/JViewportColor16.gif - make/tools/swing-beans/beaninfo/images/JViewportColor32.gif - make/tools/swing-beans/beaninfo/images/JViewportMono16.gif - make/tools/swing-beans/beaninfo/images/JViewportMono32.gif - make/tools/swing-beans/beaninfo/images/JWindowColor16.gif - make/tools/swing-beans/beaninfo/images/JWindowColor32.gif - make/tools/swing-beans/beaninfo/images/JWindowMono16.gif - make/tools/swing-beans/beaninfo/images/JWindowMono32.gif - make/tools/swing-beans/javax/swing/SwingBeanInfoBase.java - make/tools/swing-beans/sun/swing/BeanInfoUtils.java - make/tools/tzdb/Makefile - makefiles/BuildJdk.gmk - makefiles/Bundles.gmk - makefiles/CompileDemos.gmk - makefiles/CompileJavaClasses.gmk - makefiles/CompileLaunchers.gmk - makefiles/CompileNativeLibraries.gmk - makefiles/CopyFiles.gmk - makefiles/CopyIntoClasses.gmk - makefiles/CopySamples.gmk - makefiles/CreateJars.gmk - makefiles/CreateSecurityJars.gmk - makefiles/GenerateClasses.gmk - makefiles/GenerateData.gmk - makefiles/GenerateSources.gmk - makefiles/Images.gmk - makefiles/Import.gmk - makefiles/Makefile - makefiles/PatchList.solaris - makefiles/ProfileNames.gmk - makefiles/Profiles.gmk - makefiles/Setup.gmk - makefiles/SignJars.gmk - makefiles/Tools.gmk - makefiles/gendata/GendataBreakIterator.gmk - makefiles/gendata/GendataFontConfig.gmk - makefiles/gendata/GendataHtml32dtd.gmk - makefiles/gendata/GendataTZDB.gmk - makefiles/gendata/GendataTimeZone.gmk - makefiles/gensrc/GensrcBuffer.gmk - makefiles/gensrc/GensrcCLDR.gmk - makefiles/gensrc/GensrcCharacterData.gmk - makefiles/gensrc/GensrcCharsetCoder.gmk - makefiles/gensrc/GensrcCharsetMapping.gmk - makefiles/gensrc/GensrcExceptions.gmk - makefiles/gensrc/GensrcIcons.gmk - makefiles/gensrc/GensrcJDWP.gmk - makefiles/gensrc/GensrcJObjC.gmk - makefiles/gensrc/GensrcLocaleDataMetaInfo.gmk - makefiles/gensrc/GensrcMisc.gmk - makefiles/gensrc/GensrcProperties.gmk - makefiles/gensrc/GensrcSwing.gmk - makefiles/gensrc/GensrcX11Wrappers.gmk - makefiles/jpda/jdwp/jdwp.spec - makefiles/jprt.gmk - makefiles/jprt.properties - makefiles/lib/Awt2dLibraries.gmk - makefiles/lib/CoreLibraries.gmk - makefiles/lib/NetworkingLibraries.gmk - makefiles/lib/NioLibraries.gmk - makefiles/lib/PlatformLibraries.gmk - makefiles/lib/SecurityLibraries.gmk - makefiles/lib/ServiceabilityLibraries.gmk - makefiles/lib/SoundLibraries.gmk - makefiles/mapfiles/launchers/mapfile-sparc - makefiles/mapfiles/launchers/mapfile-sparcv9 - makefiles/mapfiles/launchers/mapfile-x86 - makefiles/mapfiles/launchers/mapfile-x86_64 - makefiles/mapfiles/libattach/mapfile-linux - makefiles/mapfiles/libattach/mapfile-solaris - makefiles/mapfiles/libattach/reorder-windows-x86 - makefiles/mapfiles/libattach/reorder-windows-x86_64 - makefiles/mapfiles/libawt/mapfile-mawt-vers - makefiles/mapfiles/libawt/mapfile-vers - makefiles/mapfiles/libawt/mapfile-vers-linux - makefiles/mapfiles/libawt_headless/mapfile-vers - makefiles/mapfiles/libawt_headless/reorder-sparc - makefiles/mapfiles/libawt_headless/reorder-sparcv9 - makefiles/mapfiles/libawt_headless/reorder-x86 - makefiles/mapfiles/libawt_xawt/mapfile-vers - makefiles/mapfiles/libdcpr/mapfile-vers - makefiles/mapfiles/libdt_socket/mapfile-vers - makefiles/mapfiles/libfontmanager/mapfile-vers - makefiles/mapfiles/libfontmanager/mapfile-vers.openjdk - makefiles/mapfiles/libhprof/mapfile-vers - makefiles/mapfiles/libinstrument/mapfile-vers - makefiles/mapfiles/libj2gss/mapfile-vers - makefiles/mapfiles/libj2pcsc/mapfile-vers - makefiles/mapfiles/libj2pkcs11/mapfile-vers - makefiles/mapfiles/libj2ucrypto/mapfile-vers - makefiles/mapfiles/libjaas/mapfile-vers - makefiles/mapfiles/libjava/mapfile-vers - makefiles/mapfiles/libjava/reorder-sparc - makefiles/mapfiles/libjava/reorder-sparcv9 - makefiles/mapfiles/libjava/reorder-x86 - makefiles/mapfiles/libjava_crw_demo/mapfile-vers - makefiles/mapfiles/libjawt/mapfile-vers - makefiles/mapfiles/libjdga/mapfile-vers - makefiles/mapfiles/libjdwp/mapfile-vers - makefiles/mapfiles/libjfr/mapfile-vers - makefiles/mapfiles/libjli/mapfile-vers - makefiles/mapfiles/libjpeg/mapfile-vers - makefiles/mapfiles/libjpeg/mapfile-vers-closed - makefiles/mapfiles/libjpeg/reorder-sparc - makefiles/mapfiles/libjpeg/reorder-sparcv9 - makefiles/mapfiles/libjpeg/reorder-x86 - makefiles/mapfiles/libjsdt/mapfile-vers - makefiles/mapfiles/libjsound/mapfile-vers - makefiles/mapfiles/libjsoundalsa/mapfile-vers - makefiles/mapfiles/libkcms/mapfile-vers - makefiles/mapfiles/liblcms/mapfile-vers - makefiles/mapfiles/libmanagement/mapfile-vers - makefiles/mapfiles/libmlib_image/mapfile-vers - makefiles/mapfiles/libnet/mapfile-vers - makefiles/mapfiles/libnio/mapfile-linux - makefiles/mapfiles/libnio/mapfile-macosx - makefiles/mapfiles/libnio/mapfile-solaris - makefiles/mapfiles/libnio/reorder-sparc - makefiles/mapfiles/libnio/reorder-sparcv9 - makefiles/mapfiles/libnio/reorder-x86 - makefiles/mapfiles/libnpt/mapfile-vers - makefiles/mapfiles/libsctp/mapfile-vers - makefiles/mapfiles/libsplashscreen/mapfile-vers - makefiles/mapfiles/libsunec/mapfile-vers - makefiles/mapfiles/libt2k/mapfile-vers - makefiles/mapfiles/libunpack/mapfile-vers - makefiles/mapfiles/libunpack/mapfile-vers-unpack200 - makefiles/mapfiles/libverify/mapfile-vers - makefiles/mapfiles/libverify/reorder-sparc - makefiles/mapfiles/libverify/reorder-sparcv9 - makefiles/mapfiles/libverify/reorder-x86 - makefiles/mapfiles/libzip/mapfile-vers - makefiles/mapfiles/libzip/reorder-sparc - makefiles/mapfiles/libzip/reorder-sparcv9 - makefiles/mapfiles/libzip/reorder-x86 - makefiles/profile-includes.txt - makefiles/profile-rtjar-includes.txt - makefiles/scripts/addNotices.sh - makefiles/scripts/genCharsetProvider.sh - makefiles/scripts/genExceptions.sh - makefiles/scripts/localelist.sh - makefiles/sun/awt/ToBin.java - makefiles/sun/osxapp/ToBin.java - test/java/lang/instrument/PremainClass/NoPremainAgent.sh - test/java/lang/instrument/PremainClass/PremainClassTest.sh - test/java/lang/instrument/PremainClass/ZeroArgPremainAgent.sh - test/java/text/Bidi/Bug6665028.java - test/javax/xml/jaxp/transform/jdk8004476/SecureProcessingTest.xml - test/javax/xml/jaxp/transform/jdk8004476/TestBase.java - test/javax/xml/jaxp/transform/jdk8004476/XPathExFuncTest.java - test/javax/xml/jaxp/transform/jdk8004476/XSLTExFuncTest.java - test/javax/xml/jaxp/transform/jdk8004476/tokenize.xml - test/javax/xml/jaxp/transform/jdk8004476/tokenize.xsl - test/sun/management/jmxremote/bootstrap/solaris-i586/launcher - test/sun/management/jmxremote/bootstrap/solaris-sparc/launcher Changeset: ad44a8473b3f Author: lana Date: 2013-12-03 10:48 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/ad44a8473b3f Merge Changeset: e4499a6529e8 Author: amurillo Date: 2013-12-03 12:37 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/e4499a6529e8 8029421: Add java/lang/reflect/Method/invoke/TestPrivateInterfaceMethodReflect.java to exclude list Reviewed-by: alanb, jcoomes ! test/ProblemList.txt Changeset: 92ce9338bec4 Author: katleman Date: 2013-12-04 23:11 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/92ce9338bec4 Added tag jdk8-b119 for changeset e4499a6529e8 ! .hgtags From john.coomes at oracle.com Thu Dec 5 10:59:11 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Thu, 05 Dec 2013 18:59:11 +0000 Subject: hg: hsx/hotspot-main/nashorn: 9 new changesets Message-ID: <20131205185924.DD0C562AD5@hg.openjdk.java.net> Changeset: 779e155419b8 Author: ihse Date: 2013-11-04 11:11 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/nashorn/rev/779e155419b8 8027566: Remove the old build system Reviewed-by: erikj, tbell + make/BuildNashorn.gmk ! make/Makefile - makefiles/BuildNashorn.gmk - makefiles/Makefile Changeset: fea9f0f9bbde Author: sundar Date: 2013-11-14 15:53 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-main/nashorn/rev/fea9f0f9bbde 8028161: nashorn: src/jdk/nashorn/api/scripting/ScriptEngineTest.java Reviewed-by: lagergren, hannesw ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java Changeset: a165c0fb5be6 Author: hannesw Date: 2013-11-16 00:23 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/nashorn/rev/a165c0fb5be6 8028210: Missing conversions on array index expression Reviewed-by: attila, jlaskey, lagergren ! src/jdk/nashorn/internal/objects/NativeArguments.java ! src/jdk/nashorn/internal/objects/NativeObject.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayIndex.java + test/script/basic/JDK-8028210.js + test/script/basic/JDK-8028210.js.EXPECTED Changeset: bce2bbfb35ae Author: lagergren Date: 2013-11-18 16:35 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/nashorn/rev/bce2bbfb35ae 8028434: Line number nodes were off for while nodes and do while nodes - the line number of a loop node should be treated as the location of the test expression Reviewed-by: jlaskey, sundar ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/ir/debug/PrintVisitor.java ! src/jdk/nashorn/internal/parser/Parser.java + test/script/basic/JDK-8028434.js + test/script/basic/JDK-8028434.js.EXPECTED Changeset: b375d261e56c Author: lagergren Date: 2013-11-19 10:29 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/nashorn/rev/b375d261e56c 8028573: Line number nodes were off for while nodes and do while nodes - the line number of a loop node should be treated as the location of the test expression Reviewed-by: attila, hannesw ! test/script/basic/JDK-8028434.js Changeset: 73d741231651 Author: sundar Date: 2013-11-22 08:52 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-main/nashorn/rev/73d741231651 Merge Changeset: 44ea3815e414 Author: lana Date: 2013-11-25 09:41 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/nashorn/rev/44ea3815e414 Merge Changeset: c3343930c73c Author: lana Date: 2013-12-03 10:46 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/nashorn/rev/c3343930c73c Merge Changeset: 7fa32e7d755f Author: katleman Date: 2013-12-04 23:11 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/nashorn/rev/7fa32e7d755f Added tag jdk8-b119 for changeset c3343930c73c ! .hgtags From john.coomes at oracle.com Thu Dec 5 10:58:08 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Thu, 05 Dec 2013 18:58:08 +0000 Subject: hg: hsx/hotspot-main/langtools: 13 new changesets Message-ID: <20131205185900.4161262AD3@hg.openjdk.java.net> Changeset: 8043b9cf31ab Author: ihse Date: 2013-11-04 11:08 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/8043b9cf31ab 8027566: Remove the old build system Reviewed-by: erikj, tbell + make/BuildLangtools.gmk ! make/Makefile - make/jprt.properties - makefiles/BuildLangtools.gmk - makefiles/Makefile Changeset: f42a22e2b2cd Author: kizune Date: 2013-11-19 22:14 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/f42a22e2b2cd 6726154: javadoc generated with incorrect version in comment Reviewed-by: jjg, bpatel, erikj, tbell ! make/BuildLangtools.gmk ! src/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java Changeset: 66bcd5d4b3d1 Author: vromero Date: 2013-11-19 23:35 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/66bcd5d4b3d1 8028504: javac generates LocalVariableTable even with -g:none Reviewed-by: jjg, jlahoda ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java + test/tools/javac/T8028504/DontGenerateLVTForGNoneOpTest.java Changeset: 7c89d200781b Author: jlahoda Date: 2013-11-20 13:44 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/7c89d200781b 6557966: Multiple upper bounds of the TypeVariable Summary: Adjusting javax.lang.model javadoc regarding IntersectionType, IntersectionType.accept now calls visitIntersection for all kinds of IntersectionTypes. Reviewed-by: darcy, vromero Contributed-by: joe.darcy at oracle.com, jan.lahoda at oracle.com ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/javax/lang/model/type/DeclaredType.java ! src/share/classes/javax/lang/model/type/IntersectionType.java ! src/share/classes/javax/lang/model/type/TypeVariable.java ! test/tools/javac/processing/model/type/IntersectionPropertiesTest.java Changeset: ef44a2971cb1 Author: bpatel Date: 2013-11-20 10:53 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/ef44a2971cb1 8027977: javadoc dies on NumberFormat/DateFormat subclass Reviewed-by: jjg ! src/share/classes/com/sun/tools/javadoc/DocEnv.java + test/com/sun/javadoc/testCompletionFailure/TestCompletionFailure.java + test/com/sun/javadoc/testCompletionFailure/pkg1/NumberFormatTest.java Changeset: 4fa835472e3c Author: rfield Date: 2013-11-22 17:07 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/4fa835472e3c 8028739: javac generates incorrect descriptor for MethodHandle::invoke Summary: introduce special handling for signature polymorphic methods Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java + test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestMethodHandle.java Changeset: 7ef88faaa16c Author: lana Date: 2013-11-25 09:41 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/7ef88faaa16c Merge Changeset: a78f51d6bd5e Author: jjg Date: 2013-11-25 17:42 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/a78f51d6bd5e 8028318: [doclint] doclint will reject existing user-written doc comments using custom tags that follow the recommended rules Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/parser/DocCommentParser.java ! test/tools/doclint/CustomTagTest.java ! test/tools/doclint/CustomTagTest.out ! test/tools/doclint/CustomTagTestWithOption.out Changeset: 3ea55d523981 Author: jfranck Date: 2013-11-26 13:33 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/3ea55d523981 8028428: strictfp allowed as annotation element modifier Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Flags.java + test/tools/javac/annotations/AnnotationTypeElementModifiers.java + test/tools/javac/annotations/AnnotationTypeElementModifiers.out Changeset: 8acb838c9b79 Author: jlahoda Date: 2013-11-26 15:27 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/8acb838c9b79 8026374: javac accepts void as a method parameter Summary: Changing Check.validate to reject void types. Reviewed-by: jjg, vromero ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/declaration/method/MethodVoidParameter.java + test/tools/javac/declaration/method/MethodVoidParameter.out Changeset: 756ae3791c45 Author: jlahoda Date: 2013-11-26 15:33 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/756ae3791c45 8027789: Access method for Outer.super.m() references indirect superclass Summary: Internally convert the qualified super access to an equivalent of an unqualified super access inside the access method. Reviewed-by: vromero, jjg ! src/share/classes/com/sun/tools/javac/comp/Lower.java ! src/share/classes/com/sun/tools/javac/jvm/Gen.java + test/tools/javac/expression/_super/NonDirectSuper/Base.java + test/tools/javac/expression/_super/NonDirectSuper/NonDirectSuper.java + test/tools/javac/expression/_super/NonDirectSuper/Target11.java Changeset: 43a80d75d06e Author: lana Date: 2013-12-03 10:47 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/43a80d75d06e Merge Changeset: 1670108bec25 Author: katleman Date: 2013-12-04 23:11 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/1670108bec25 Added tag jdk8-b119 for changeset 43a80d75d06e ! .hgtags From joseph.provino at oracle.com Thu Dec 5 11:24:05 2013 From: joseph.provino at oracle.com (Joseph Provino) Date: Thu, 05 Dec 2013 14:24:05 -0500 Subject: Review request for 8029566 Message-ID: <52A0D2D5.10506@oracle.com> http://cr.openjdk.java.net/~jprovino/8029566/webrev.00/ It's a one line change to define julong_cast similar to jlong_cast. thanks. joe From zhengyu.gu at oracle.com Thu Dec 5 11:25:43 2013 From: zhengyu.gu at oracle.com (Zhengyu Gu) Date: Thu, 05 Dec 2013 14:25:43 -0500 Subject: RFR(S): 8019929: PPC64 (part 107): Extend ELF-decoder to support PPC64 function descriptor tables In-Reply-To: References: <529E3011.9080403@oracle.com> Message-ID: <52A0D337.5050807@oracle.com> Hi Volker, elfSymbolTable.cpp: ElfSymbolTable::lookup() line 99 and 127 You added early return true, without restoring file pointer position. I am not sure it will break anything, but it was intended in original code. Thanks, -Zhengyu On 12/5/2013 1:37 PM, Volker Simonis wrote: > Hi, > > so here it comes, the hopefully final webrev of this change:) > > http://cr.openjdk.java.net/~simonis/webrevs/8019929.v3/ > > I've: > - fixed the comments for the ifdefs as requested by Vladimir > - fixed the "else if" indentation as requested by Vladimir > - fixed the out-of-memory situation detected by Vitaly > > I' also added a detailed description of why we need all this on PPC64 to > elfFuncDescTable.hpp and fixed a small problem for old-style PPC64 objects > with additional 'dot'-symbols (see description below). The correct handling > of these old-style files also required another small '#ifdef PPC64' section > in decoder_linux.cpp (for a detailed description why this is necessary see > below). I hope that's OK. > > Thank you and best regards, > Volker > > Detailed change description: > > On PowerPC-64 (and other architectures like for example IA64) a pointer to > a function is not just a plain code address, but instead a pointer to a so > called function descriptor (which is simply a structure containing 3 > pointers). This fact is also reflected in the ELF ABI for PowerPC-64. > > On architectures like x86 or SPARC, the ELF symbol table contains the start > address and size of an object. So for example for a function object (i.e. > type 'STT_FUNC') the symbol table's 'st_value' and 'st_size' fields > directly represent the starting address and size of that function. On PPC64 > however, the symbol table's 'st_value' field only contains an index into > another, PPC64 specific '.opd' (official procedure descriptors) section, > while the 'st_size' field still holds the size of the corresponding > function. In order to get the actual start address of a function, it is > necessary to read the corresponding function descriptor entry in the '.opd' > section at the corresponding index and extract the start address from > there. > > That's exactly what this 'ElfFuncDescTable' class is used for. If the > HotSpot runs on a PPC64 machine, and the corresponding ELF files contains > an '.opd' section (which is actually mandatory on PPC64) it will be read > into an object of type 'ElfFuncDescTable' just like the string and symbol > table sections. Later on, during symbol lookup in > 'ElfSymbolTable::lookup()' this function descriptor table will be used if > available to find the real function address. > > All this is how things work today (2013) on contemporary Linux > distributions (i.e. SLES 10) and new version of GCC (i.e. > 4.0). However > there is a history, and it goes like this: > > In SLES 9 times (sometimes before GCC 3.4) gcc/ld on PPC64 generated two > entries in the symbol table for every function. The value of the symbol > with the name of the function was the address of the function descriptor > while the dot '.' prefixed name was reserved to hold the actual address of > that function ( > http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi-1.9.html#FUNC-DES). > > > For a C-function 'foo' this resulted in two symbol table entries like this > (extracted from the output of 'readelf -a '): > > Section Headers: > [ 9] .text PROGBITS 0000000000000a20 00000a20 > 00000000000005a0 0000000000000000 AX 0 0 16 > [21] .opd PROGBITS 00000000000113b8 000013b8 > 0000000000000138 0000000000000000 WA 0 0 8 > > Symbol table '.symtab' contains 86 entries: > Num: Value Size Type Bind Vis Ndx Name > 76: 00000000000114c0 24 FUNC GLOBAL DEFAULT 21 foo > 78: 0000000000000bb0 76 FUNC GLOBAL DEFAULT 9 .foo > > You can see now that the '.foo' entry actually points into the '.text' > segment ('Ndx'=9) and its value and size fields represent the functions > actual address and size. On the other hand, the entry for plain 'foo' > points into the '.opd' section ('Ndx'=21) and its value and size fields are > the index into the '.opd' section and the size of the corresponding '.opd' > section entry (3 pointers on PPC64). > > These so called 'dot symbols' were dropped around gcc 3.4 from GCC and > BINUTILS, see http://gcc.gnu.org/ml/gcc-patches/2004-08/msg00557.html. But > nevertheless it may still be necessary to support both formats because we > either run on an old system or because it is possible at any time that > functions appear in the stack trace which come from old-style libraries. > > Therefore we not only have to check for the presence of the function > descriptor table during symbol lookup in 'ElfSymbolTable::lookup()'. We > additionally have to check that the symbol table entry references the > '.opd' section. Only in that case we can resolve the actual function > address from there. Otherwise we use the plain 'st_value' field from the > symbol table as function address. This way we can also lookup the symbols > in old-style ELF libraries (although we get the 'dotted' versions in that > case). However, if present, the 'dot' will be conditionally removed on > PPC64 from the symbol in 'ElfDecoder::demangle()' in decoder_linux.cpp. > > Notice that we can not reliably get the function address from old-style > libraries because the 'st_value' field of the symbol table entries which > point into the '.opd' section denote the size of the corresponding '.opd' > entry and not that of the corresponding function. This has changed for the > symbol table entries in new-style libraries as described at the beginning > of this documentation. > > This change also slightly improves the implementation of > ElfSymbolTable::lookup(). Before, the method always iterated over all > symbols in the symbol table and returned the one with the highest address > below the requested addr argument. This not only could take a significant > amount of time for big libraries, it could also return bogus symbols for > addresses which were not really covered by that symbol table at all. The > new versions additionally uses the symbol table's st_size field to verify > that the requested addr argument is indeed within the range covered by the > corresponding symbol table entry. If so, the search is stopped and the > symbol is returned immediately. > > > > > On Thu, Dec 5, 2013 at 9:22 AM, Volker Simonis wrote: > >> Hi Vitaly, >> >> you're right - I'll fix it. >> >> Thanks, >> Volker >> >> >> On Thu, Dec 5, 2013 at 2:15 AM, Vitaly Davidovich >> wrote: >>> Ok. >>> >>> 171 if (string_table->string_at(shdr.sh_name, buf, sizeof(buf)) >> && >>> !strncmp(".opd", buf, 4)) { >>> 172 m_funcDesc_table = new (std::nothrow) >> ElfFuncDescTable(m_file, >>> shdr); >>> 173 break; >>> >>> So if that alloc fails, I see that code handles a null m_funcDesc_table >>> where it's used. But is that what you want for PPC64? Won't you get >> wrong >>> symbol info? Code reading other tables does this for OOM cases: >>> >>> m_status = NullDecoder::out_of_memory; >>> return false; >>> >>> Sent from my phone >>> >>> On Dec 4, 2013 2:17 PM, "Volker Simonis" >> wrote: >>>> Hi, >>>> >>>> thanks for the comments. >>>> >>>> I think the function descriptor table logically belongs to the >>>> ELF-file itself and not to symbol table. An ELF file can have several >>>> symbol tables but just one function descriptor table. Also, the >>>> function descriptor table is read in when the ELF file is opened (i.e. >>>> in the ElfFile constructor). >>>> >>>> So after Vladimirs suggestion to remove most of the "#ifdef PPC64" >>>> there was no reason to keep the ElfFuncDescTable class in >>>> elfSymbolTable.{hpp,cpp} so I created two new files >>>> elfFuncDescTable.{hpp, cpp} for it. Now the only remaining "#ifdef >>>> PPC64" is in ElfFile::load_tables() when the function descriptor table >>>> is loaded (as requested by Vladimir). >>>> >>>> But actually, the corresponding '.opd' section is only available on >>>> PPC64 (see >>>> >> http://refspecs.linuxfoundation.org/LSB_3.1.1/LSB-Core-PPC64/LSB-Core-PPC64/specialsections.html >> ) >>>> and I don't think the code will do any harm if it would be executed on >>>> a non-PPC64 system - the '.opd' section would just not be found. I >>>> also think the corresponding performance impact would be minimal >>>> compared to the loading of the symbol and string tables. So I tend to >>>> remove the last "#ifdef PPC64" as well. So what do you think - I'm OK >>>> with both solutions? >>>> >>>> Below is a webrev with the described changes (and still with the last >>>> "#ifdef PPC64" in ElfFile::load_tables()): >>>> >>>> http://cr.openjdk.java.net/~simonis/webrevs/8019929.v2/ >>>> >>>> If you agree with it, I would appreciate if you could push it trough >> JPRT. >>>> Thank you and best regards, >>>> Volker >>>> >>>> PS: the little change in make/aix/makefiles/vm.make was necessarx to >>>> exlude the new file from the AIX-build because AIX uses XCOFF instead >>>> of ELF. >>>> >>>> >>>> On Wed, Dec 4, 2013 at 3:39 AM, Vitaly Davidovich >>>> wrote: >>>>> Hi Volker, >>>>> >>>>> Would it be cleaner if you were to extend ElfSymbolTable for PPC and >>>>> embed >>>>> the funcDesc in there, keeping the lookup() signature the same? It >> seems >>>>> like the funcDesc should be a hidden indirection as part of lookup() >>>>> rather >>>>> than a parameter. >>>>> >>>>> Just a thought ... >>>>> >>>>> Sent from my phone >>>>> >>>>> On Dec 3, 2013 5:43 PM, "Volker Simonis" >>>>> wrote: >>>>>> Hi Vladimir, >>>>>> >>>>>> thanks for looking at the change. I initially did it this way to >>>>>> keep changes to the existing platforms as small as possible but I'll >> be >>>>>> happy to change in the way you suggested if nobody objects. >>>>>> >>>>>> Regards, >>>>>> Volker >>>>>> >>>>>> On Tuesday, December 3, 2013, Vladimir Kozlov wrote: >>>>>> >>>>>>> Volker, >>>>>>> >>>>>>> It looks fine to me except #ifdef pollution. >>>>>>> >>>>>>> I think ElfSymbolTable::lookup() should always take >> ElfFuncDescTable >>>>>>> argument and you need ElfFuncDescTable always defined. >>>>>>> In ElfSymbolTable::lookup() you can check funcDescTable for null >>>>>>> instead >>>>>>> of ifdefs. >>>>>>> The only place we can keep #ifdef is m_funcDesc_table setting in >>>>>>> ElfFile::load_tables(). >>>>>>> ElfFuncDescTable class's methods are not so big to ifdef them. >>>>>>> >>>>>>> But others may have different opinion. >>>>>>> >>>>>>> Thanks, >>>>>>> Vladimir >>>>>>> >>>>>>> On 12/3/13 9:39 AM, Volker Simonis wrote: >>>>>>> >>>>>>>> On PowerPC-64 (and other architectures like for example IA64) a >>>>>>>> pointer to a function is not just a plain code address, but a >>>>>>>> pointer >>>>>>>> to a so called function descriptor (see >>>>>>>> http://refspecs.linuxfoundation.org/ELF/ppc64/ >>>>>>>> PPC-elf64abi-1.9.html#FUNC-DES). >>>>>>>> This fact is also reflected in the ELF ABI for PowerPC-64. This >>>>>>>> small >>>>>>>> changes adds support for ELF function descriptor tables to the >>>>>>>> current >>>>>>>> ELF decoder: >>>>>>>> >>>>>>>> http://cr.openjdk.java.net/~simonis/webrevs/8019929/ >>>>>>>> >>>>>>>> On architectures like x86 or SPARC, the ELF symbol table contains >>>>>>>> the >>>>>>>> start address and size of an object. So for example for a function >>>>>>>> object (i.e. type FUNC) the symbol table's value field directly >>>>>>>> represents the starting address and the size field the size of a >>>>>>>> function. On PPC64 however, the symbol table's value field only >>>>>>>> contains an index into a PPC64 specific .opd (official procedure >>>>>>>> descriptors) section, while the size field still holds the size of >>>>>>>> the >>>>>>>> corresponding function. In order to get the actual start address >> of >>>>>>>> a >>>>>>>> function, it is necessary to read the corresponding function >>>>>>>> descriptor entry in the .opd section at the corresponding index >> and >>>>>>>> extract the start address from there. >>>>>>>> >>>>>>>> This change extends the current HotSpot ELF utilities to support >> the >>>>>>>> .opd (official procedure descriptors) section on PPC64 platforms. >> It >>>>>>>> does this by adding a new field m_funcDesc_table of type >>>>>>>> ElfFuncDescTable to the ElfFile class. The m_funcDesc_table is >>>>>>>> initialized in the ElfFile::load_tables() in the same way like the >>>>>>>> symbol table members by parsing the corresponding .opd section if >> it >>>>>>>> is available. >>>>>>>> >>>>>>>> The ElfSymbolTable::lookup() method is changed on PPC64 to take an >>>>>>>> extra ElfFuncDescTable argument. If running on PPC64, this >> argument >>>>>>>> is >>>>>>>> used to do the extra level of indirection through the function >>>>>>>> description table to get the real start address associated with a >>>>>>>> symbol. >>>>>>>> >>>>>>>> This change also slightly improves the implementation of >>>>>>>> ElfSymbolTable::lookup(). Before, the method always iterated over >>>>>>>> all >>>>>>>> symbols in the symbol table and returned the one with the highest >>>>>>>> address below the requested addr argument. This not only could >> take >>>>>>>> a >>>>>>>> significant amount of time for big libraries, it could also return >>>>>>>> bogus symbols for addresses which were not really covered by that >>>>>>>> symbol table at all. The new versions additionally uses the symbol >>>>>>>> table's st_size field to verify that the requested addr argument >> is >>>>>>>> indeed within the range covered by the corresponding symbol table >>>>>>>> entry. If so, the search is stopped and the symbol is returned >>>>>>>> immediately. >>>>>>>> >>>>>>>> Thank you and best regards, >>>>>>>> Volker >>>>>>>> >>>>>>>> From volker.simonis at gmail.com Thu Dec 5 12:48:33 2013 From: volker.simonis at gmail.com (Volker Simonis) Date: Thu, 5 Dec 2013 21:48:33 +0100 Subject: RFR(S): 8019929: PPC64 (part 107): Extend ELF-decoder to support PPC64 function descriptor tables In-Reply-To: <52A0D337.5050807@oracle.com> References: <529E3011.9080403@oracle.com> <52A0D337.5050807@oracle.com> Message-ID: Hi Zhengyu, thanks for you comments. The early return in line 99 has no effect on the file pointer position because it's the block where the symbol table is already in memory, so no file operations will take place. And even if ElfFuncDescTable::lookup() will trigger a file operation, it will take care to properly reset the file pointer. The early return in line 127 may indeed change the file position pointer. But that's no problem because every file access in ElfStringTable::string_at(), ElfSymbolTable::lookup() and ElfFunDescTable::lookup() will properly reposition the file position pointer when they are invoked. Maintaining the value of the file position pointer is only important and necessary during the runtime of ElfFile::load_tables() because that method reads from the ELF file in a loop in the body of which the symbol and string tables are loaded. But ElfFile::load_tables is only called once, in the ElfFile constructor. All the other lookup functions can only be called after the constructor is finished. So no problem here as well. Thank you and best regards, Volker On Thursday, December 5, 2013, Zhengyu Gu wrote: > Hi Volker, > > elfSymbolTable.cpp: ElfSymbolTable::lookup() line 99 and 127 > > You added early return true, without restoring file pointer position. I am > not sure it will break anything, but it was intended in original code. > > Thanks, > > -Zhengyu > > > > > > > On 12/5/2013 1:37 PM, Volker Simonis wrote: > > Hi, > > so here it comes, the hopefully final webrev of this change:) > > http://cr.openjdk.java.net/~simonis/webrevs/8019929.v3/ > > I've: > - fixed the comments for the ifdefs as requested by Vladimir > - fixed the "else if" indentation as requested by Vladimir > - fixed the out-of-memory situation detected by Vitaly > > I' also added a detailed description of why we need all this on PPC64 to > elfFuncDescTable.hpp and fixed a small problem for old-style PPC64 objects > with additional 'dot'-symbols (see description below). The correct handling > of these old-style files also required another small '#ifdef PPC64' section > in decoder_linux.cpp (for a detailed description why this is necessary see > below). I hope that's OK. > > Thank you and best regards, > Volker > > Detailed change description: > > On PowerPC-64 (and other architectures like for example IA64) a pointer to > a function is not just a plain code address, but instead a pointer to a so > called function descriptor (which is simply a structure containing 3 > pointers). This fact is also reflected in the ELF ABI for PowerPC-64. > > On architectures like x86 or SPARC, the ELF symbol table contains the start > address and size of an object. So for example for a function object (i.e. > type 'STT_FUNC') the symbol table's 'st_value' and 'st_size' fields > directly represent the starting address and size of that function. On PPC64 > however, the symbol table's 'st_value' field only contains an index into > another, PPC64 specific '.opd' (official procedure descriptors) section, > while the 'st_size' field still holds the size of the corresponding > function. In order to get the actual start address of a function, it is > necessary to read the corresponding function descriptor entry in the '.opd' > section at the corresponding index and extract the start address from > there. > > That's exactly what this 'ElfFuncDescTable' class is used for. If the > HotSpot runs on a PPC64 machine, and the corresponding ELF files contains > an '.opd' section (which is actually mandatory on PPC64) it will be read > into an object of type 'ElfFuncDescTable' just like the string and symbol > table sections. Later on, during symbol lookup in > 'ElfSymbolTable::lookup()' this function descriptor table will be used if > available to find the real function address. > > All this is how things work today (2013) on contemporary Linux > distributions (i.e. SLES 10) and new version of GCC (i.e. > 4.0). However > there is a history, and it goes like this: > > In SLES 9 times (sometimes before GCC 3.4) gcc/ld on PPC64 generated two > entries in the symbol table for every function. The value of the symbol > with the name of the function was the address of the function descriptor > while the dot '.' prefixed name was reserved to hold the actual address of > that function ( > http://refspecs.linuxfoundation.org/ELF/ppc64/ > PPC-elf64abi-1.9.html#FUNC-DES). > > > For a C-function 'foo' this resulted in two symbol table entries like this > (extracted from the output of 'readelf -a '): > > Section Headers: > [ 9] .text PROGBITS 0000000000000a20 00000a20 > 00000000000005a0 0000000000000000 AX 0 0 16 > [21] .opd PROGBITS 00000000000113b8 000013b8 > 0000000000000138 0000000000000000 WA 0 0 8 > > Symbol table '.symtab' contains 86 entries: > Num: Value Size Type Bind Vis Ndx Name > 76: 00000000000114c0 24 FUNC GLOBAL DEFAULT 21 foo > 78: 0000000000000bb0 76 FUNC GLOBAL DEFAULT 9 .foo > > You can see now that the '.foo' entry actually points into the '.text' > segment ('Ndx'=9) and its value and size fields represent the functions > actual address and size. On the other hand, the entry for plain 'foo' > points into the '.opd' section ('Ndx'=21) and its value and size fields are > the index into the '.opd' section and the size of the corresponding '.opd' > section entry (3 pointers on PPC64). > > These so called 'dot symbols' were dropped around gcc 3.4 from GCC and > BINUTILS, see http://gcc.gnu.org/ml/gcc-patches/2004-08/msg00557. > > From zhengyu.gu at oracle.com Thu Dec 5 12:58:32 2013 From: zhengyu.gu at oracle.com (Zhengyu Gu) Date: Thu, 05 Dec 2013 15:58:32 -0500 Subject: RFR(S): 8019929: PPC64 (part 107): Extend ELF-decoder to support PPC64 function descriptor tables In-Reply-To: References: <529E3011.9080403@oracle.com> <52A0D337.5050807@oracle.com> Message-ID: <52A0E8F8.50106@oracle.com> Okay. It looks good to me. Thanks, -Zhengyu On 12/5/2013 3:48 PM, Volker Simonis wrote: > Hi Zhengyu, > > thanks for you comments. > > The early return in line 99 has no effect on the file pointer position > because it's the block where the symbol table is already in memory, so > no file operations will take place. And even if > ElfFuncDescTable::lookup() will trigger a file operation, it will take > care to properly reset the file pointer. > > The early return in line 127 may indeed change the file position > pointer. But that's no problem because every file access in > ElfStringTable::string_at(), ElfSymbolTable::lookup() and > ElfFunDescTable::lookup() will properly reposition the file position > pointer when they are invoked. Maintaining the value of the file > position pointer is only important and necessary during the runtime of > ElfFile::load_tables() because that method reads from the ELF file in > a loop in the body of which the symbol and string tables are loaded. > But ElfFile::load_tables is only called once, in the ElfFile > constructor. All the other lookup functions can only be called after > the constructor is finished. So no problem here as well. > > Thank you and best regards, > Volker > > > On Thursday, December 5, 2013, Zhengyu Gu wrote: > > Hi Volker, > > elfSymbolTable.cpp: ElfSymbolTable::lookup() line 99 and 127 > > You added early return true, without restoring file pointer > position. I am not sure it will break anything, but it was > intended in original code. > > Thanks, > > -Zhengyu > > > > > > > On 12/5/2013 1:37 PM, Volker Simonis wrote: > > Hi, > > so here it comes, the hopefully final webrev of this change:) > > http://cr.openjdk.java.net/~simonis/webrevs/8019929.v3/ > > > I've: > - fixed the comments for the ifdefs as requested by Vladimir > - fixed the "else if" indentation as requested by Vladimir > - fixed the out-of-memory situation detected by Vitaly > > I' also added a detailed description of why we need all this > on PPC64 to > elfFuncDescTable.hpp and fixed a small problem for old-style > PPC64 objects > with additional 'dot'-symbols (see description below). The > correct handling > of these old-style files also required another small '#ifdef > PPC64' section > in decoder_linux.cpp (for a detailed description why this is > necessary see > below). I hope that's OK. > > Thank you and best regards, > Volker > > Detailed change description: > > On PowerPC-64 (and other architectures like for example IA64) > a pointer to > a function is not just a plain code address, but instead a > pointer to a so > called function descriptor (which is simply a structure > containing 3 > pointers). This fact is also reflected in the ELF ABI for > PowerPC-64. > > On architectures like x86 or SPARC, the ELF symbol table > contains the start > address and size of an object. So for example for a function > object (i.e. > type 'STT_FUNC') the symbol table's 'st_value' and 'st_size' > fields > directly represent the starting address and size of that > function. On PPC64 > however, the symbol table's 'st_value' field only contains an > index into > another, PPC64 specific '.opd' (official procedure > descriptors) section, > while the 'st_size' field still holds the size of the > corresponding > function. In order to get the actual start address of a > function, it is > necessary to read the corresponding function descriptor entry > in the '.opd' > section at the corresponding index and extract the start > address from > there. > > That's exactly what this 'ElfFuncDescTable' class is used for. > If the > HotSpot runs on a PPC64 machine, and the corresponding ELF > files contains > an '.opd' section (which is actually mandatory on PPC64) it > will be read > into an object of type 'ElfFuncDescTable' just like the string > and symbol > table sections. Later on, during symbol lookup in > 'ElfSymbolTable::lookup()' this function descriptor table will > be used if > available to find the real function address. > > All this is how things work today (2013) on contemporary Linux > distributions (i.e. SLES 10) and new version of GCC (i.e. > > 4.0). However > there is a history, and it goes like this: > > In SLES 9 times (sometimes before GCC 3.4) gcc/ld on PPC64 > generated two > entries in the symbol table for every function. The value of > the symbol > with the name of the function was the address of the function > descriptor > while the dot '.' prefixed name was reserved to hold the > actual address of > that function ( > http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi-1.9.html#FUNC-DES). > > > For a C-function 'foo' this resulted in two symbol table > entries like this > (extracted from the output of 'readelf -a '): > > Section Headers: > [ 9] .text PROGBITS 0000000000000a20 > 00000a20 > 00000000000005a0 0000000000000000 AX 0 0 > 16 > [21] .opd PROGBITS 00000000000113b8 > 000013b8 > 0000000000000138 0000000000000000 WA 0 0 8 > > Symbol table '.symtab' contains 86 entries: > Num: Value Size Type Bind Vis Ndx Name > 76: 00000000000114c0 24 FUNC GLOBAL DEFAULT 21 foo > 78: 0000000000000bb0 76 FUNC GLOBAL DEFAULT 9 .foo > > You can see now that the '.foo' entry actually points into > the '.text' > segment ('Ndx'=9) and its value and size fields represent the > functions > actual address and size. On the other hand, the entry for > plain 'foo' > points into the '.opd' section ('Ndx'=21) and its value and > size fields are > the index into the '.opd' section and the size of the > corresponding '.opd' > section entry (3 pointers on PPC64). > > These so called 'dot symbols' were dropped around gcc 3.4 from > GCC and > BINUTILS, see > http://gcc.gnu.org/ml/gcc-patches/2004-08/msg00557. > > From vladimir.kozlov at oracle.com Thu Dec 5 13:38:39 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 05 Dec 2013 13:38:39 -0800 Subject: RFR(S): 8019929: PPC64 (part 107): Extend ELF-decoder to support PPC64 function descriptor tables In-Reply-To: <52A0E8F8.50106@oracle.com> References: <529E3011.9080403@oracle.com> <52A0D337.5050807@oracle.com> <52A0E8F8.50106@oracle.com> Message-ID: <52A0F25F.5080808@oracle.com> I am pushing these changes. Thanks, Vladimir On 12/5/13 12:58 PM, Zhengyu Gu wrote: > Okay. It looks good to me. > > Thanks, > > -Zhengyu > > On 12/5/2013 3:48 PM, Volker Simonis wrote: >> Hi Zhengyu, >> >> thanks for you comments. >> >> The early return in line 99 has no effect on the file pointer position >> because it's the block where the symbol table is already in memory, so >> no file operations will take place. And even if >> ElfFuncDescTable::lookup() will trigger a file operation, it will take >> care to properly reset the file pointer. >> >> The early return in line 127 may indeed change the file position >> pointer. But that's no problem because every file access in >> ElfStringTable::string_at(), ElfSymbolTable::lookup() and >> ElfFunDescTable::lookup() will properly reposition the file position >> pointer when they are invoked. Maintaining the value of the file >> position pointer is only important and necessary during the runtime of >> ElfFile::load_tables() because that method reads from the ELF file in >> a loop in the body of which the symbol and string tables are loaded. >> But ElfFile::load_tables is only called once, in the ElfFile >> constructor. All the other lookup functions can only be called after >> the constructor is finished. So no problem here as well. >> >> Thank you and best regards, >> Volker >> >> >> On Thursday, December 5, 2013, Zhengyu Gu wrote: >> >> Hi Volker, >> >> elfSymbolTable.cpp: ElfSymbolTable::lookup() line 99 and 127 >> >> You added early return true, without restoring file pointer >> position. I am not sure it will break anything, but it was >> intended in original code. >> >> Thanks, >> >> -Zhengyu >> >> >> >> >> >> >> On 12/5/2013 1:37 PM, Volker Simonis wrote: >> >> Hi, >> >> so here it comes, the hopefully final webrev of this change:) >> >> http://cr.openjdk.java.net/~simonis/webrevs/8019929.v3/ >> >> >> I've: >> - fixed the comments for the ifdefs as requested by Vladimir >> - fixed the "else if" indentation as requested by Vladimir >> - fixed the out-of-memory situation detected by Vitaly >> >> I' also added a detailed description of why we need all this >> on PPC64 to >> elfFuncDescTable.hpp and fixed a small problem for old-style >> PPC64 objects >> with additional 'dot'-symbols (see description below). The >> correct handling >> of these old-style files also required another small '#ifdef >> PPC64' section >> in decoder_linux.cpp (for a detailed description why this is >> necessary see >> below). I hope that's OK. >> >> Thank you and best regards, >> Volker >> >> Detailed change description: >> >> On PowerPC-64 (and other architectures like for example IA64) >> a pointer to >> a function is not just a plain code address, but instead a >> pointer to a so >> called function descriptor (which is simply a structure >> containing 3 >> pointers). This fact is also reflected in the ELF ABI for >> PowerPC-64. >> >> On architectures like x86 or SPARC, the ELF symbol table >> contains the start >> address and size of an object. So for example for a function >> object (i.e. >> type 'STT_FUNC') the symbol table's 'st_value' and 'st_size' >> fields >> directly represent the starting address and size of that >> function. On PPC64 >> however, the symbol table's 'st_value' field only contains an >> index into >> another, PPC64 specific '.opd' (official procedure >> descriptors) section, >> while the 'st_size' field still holds the size of the >> corresponding >> function. In order to get the actual start address of a >> function, it is >> necessary to read the corresponding function descriptor entry >> in the '.opd' >> section at the corresponding index and extract the start >> address from >> there. >> >> That's exactly what this 'ElfFuncDescTable' class is used for. >> If the >> HotSpot runs on a PPC64 machine, and the corresponding ELF >> files contains >> an '.opd' section (which is actually mandatory on PPC64) it >> will be read >> into an object of type 'ElfFuncDescTable' just like the string >> and symbol >> table sections. Later on, during symbol lookup in >> 'ElfSymbolTable::lookup()' this function descriptor table will >> be used if >> available to find the real function address. >> >> All this is how things work today (2013) on contemporary Linux >> distributions (i.e. SLES 10) and new version of GCC (i.e. > >> 4.0). However >> there is a history, and it goes like this: >> >> In SLES 9 times (sometimes before GCC 3.4) gcc/ld on PPC64 >> generated two >> entries in the symbol table for every function. The value of >> the symbol >> with the name of the function was the address of the function >> descriptor >> while the dot '.' prefixed name was reserved to hold the >> actual address of >> that function ( >> >> http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi-1.9.html#FUNC-DES). >> >> >> >> For a C-function 'foo' this resulted in two symbol table >> entries like this >> (extracted from the output of 'readelf -a '): >> >> Section Headers: >> [ 9] .text PROGBITS 0000000000000a20 >> 00000a20 >> 00000000000005a0 0000000000000000 AX 0 0 >> 16 >> [21] .opd PROGBITS 00000000000113b8 >> 000013b8 >> 0000000000000138 0000000000000000 WA 0 >> 0 8 >> >> Symbol table '.symtab' contains 86 entries: >> Num: Value Size Type Bind Vis Ndx Name >> 76: 00000000000114c0 24 FUNC GLOBAL DEFAULT 21 foo >> 78: 0000000000000bb0 76 FUNC GLOBAL DEFAULT 9 .foo >> >> You can see now that the '.foo' entry actually points into >> the '.text' >> segment ('Ndx'=9) and its value and size fields represent the >> functions >> actual address and size. On the other hand, the entry for >> plain 'foo' >> points into the '.opd' section ('Ndx'=21) and its value and >> size fields are >> the index into the '.opd' section and the size of the >> corresponding '.opd' >> section entry (3 pointers on PPC64). >> >> These so called 'dot symbols' were dropped around gcc 3.4 from >> GCC and >> BINUTILS, see >> http://gcc.gnu.org/ml/gcc-patches/2004-08/msg00557. >> >> > From albert.noll at oracle.com Thu Dec 5 16:14:52 2013 From: albert.noll at oracle.com (albert.noll at oracle.com) Date: Fri, 06 Dec 2013 00:14:52 +0000 Subject: hg: hsx/hotspot-main/hotspot: 5 new changesets Message-ID: <20131206001504.A0E0062B03@hg.openjdk.java.net> Changeset: 9949533a8623 Author: rbackman Date: 2013-11-22 14:14 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/9949533a8623 8028997: mathexact intrinsics are unstable Reviewed-by: iveresov, kvn ! src/share/vm/opto/c2_globals.hpp ! test/compiler/intrinsics/mathexact/AddExactICondTest.java ! test/compiler/intrinsics/mathexact/AddExactIConstantTest.java ! test/compiler/intrinsics/mathexact/AddExactILoadTest.java ! test/compiler/intrinsics/mathexact/AddExactILoopDependentTest.java ! test/compiler/intrinsics/mathexact/AddExactINonConstantTest.java ! test/compiler/intrinsics/mathexact/AddExactIRepeatTest.java ! test/compiler/intrinsics/mathexact/AddExactLConstantTest.java ! test/compiler/intrinsics/mathexact/AddExactLNonConstantTest.java ! test/compiler/intrinsics/mathexact/CompareTest.java ! test/compiler/intrinsics/mathexact/DecExactITest.java ! test/compiler/intrinsics/mathexact/DecExactLTest.java ! test/compiler/intrinsics/mathexact/GVNTest.java ! test/compiler/intrinsics/mathexact/IncExactITest.java ! test/compiler/intrinsics/mathexact/IncExactLTest.java ! test/compiler/intrinsics/mathexact/MulExactICondTest.java ! test/compiler/intrinsics/mathexact/MulExactIConstantTest.java ! test/compiler/intrinsics/mathexact/MulExactILoadTest.java ! test/compiler/intrinsics/mathexact/MulExactILoopDependentTest.java ! test/compiler/intrinsics/mathexact/MulExactINonConstantTest.java ! test/compiler/intrinsics/mathexact/MulExactIRepeatTest.java ! test/compiler/intrinsics/mathexact/MulExactLConstantTest.java ! test/compiler/intrinsics/mathexact/MulExactLNonConstantTest.java ! test/compiler/intrinsics/mathexact/NegExactIConstantTest.java ! test/compiler/intrinsics/mathexact/NegExactILoadTest.java ! test/compiler/intrinsics/mathexact/NegExactILoopDependentTest.java ! test/compiler/intrinsics/mathexact/NegExactINonConstantTest.java ! test/compiler/intrinsics/mathexact/NegExactLConstantTest.java ! test/compiler/intrinsics/mathexact/NegExactLNonConstantTest.java ! test/compiler/intrinsics/mathexact/NestedMathExactTest.java ! test/compiler/intrinsics/mathexact/SplitThruPhiTest.java ! test/compiler/intrinsics/mathexact/SubExactICondTest.java ! test/compiler/intrinsics/mathexact/SubExactIConstantTest.java ! test/compiler/intrinsics/mathexact/SubExactILoadTest.java ! test/compiler/intrinsics/mathexact/SubExactILoopDependentTest.java ! test/compiler/intrinsics/mathexact/SubExactINonConstantTest.java ! test/compiler/intrinsics/mathexact/SubExactIRepeatTest.java ! test/compiler/intrinsics/mathexact/SubExactLConstantTest.java ! test/compiler/intrinsics/mathexact/SubExactLNonConstantTest.java Changeset: 55dd6e77b399 Author: rbackman Date: 2013-11-22 15:26 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/55dd6e77b399 8028624: [TESTBUG] compiler/intrinsics/mathexact/DecExactLTest executes DecExactITest Reviewed-by: kvn, twisti ! test/compiler/intrinsics/mathexact/DecExactLTest.java Changeset: eae426d683f6 Author: simonis Date: 2013-12-02 11:12 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/eae426d683f6 8029190: VM_Version::determine_features() asserts on Fujitsu Sparc64 CPUs Summary: fix code to allow testing on Fujitsu Sparc64 CPUs Reviewed-by: kvn ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.hpp ! src/share/vm/runtime/arguments.cpp Changeset: 61746b5f0ed3 Author: anoll Date: 2013-12-04 09:31 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/61746b5f0ed3 8028109: compiler/codecache/CheckReservedInitialCodeCacheSizeArgOrder.java crashes in RT_Baseline Summary: Use non-relocatable code to load byte_map_base Reviewed-by: kvn, roland ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp Changeset: 6a8941dbd26f Author: anoll Date: 2013-12-05 12:49 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/6a8941dbd26f Merge From staffan.larsen at oracle.com Thu Dec 5 23:47:10 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Fri, 6 Dec 2013 08:47:10 +0100 Subject: Review request for 8029566 In-Reply-To: <52A0D2D5.10506@oracle.com> References: <52A0D2D5.10506@oracle.com> Message-ID: <19BBF116-4B80-4080-B685-F4AF3A1DDD7A@oracle.com> Looks good! Thanks, /Staffan On 5 dec 2013, at 20:24, Joseph Provino wrote: > http://cr.openjdk.java.net/~jprovino/8029566/webrev.00/ > > It's a one line change to define julong_cast similar to jlong_cast. > > thanks. > > joe From mikael.vidstedt at oracle.com Fri Dec 6 01:21:38 2013 From: mikael.vidstedt at oracle.com (Mikael Vidstedt) Date: Fri, 6 Dec 2013 01:21:38 -0800 Subject: Review request for 8029566 In-Reply-To: <19BBF116-4B80-4080-B685-F4AF3A1DDD7A@oracle.com> References: <52A0D2D5.10506@oracle.com> <19BBF116-4B80-4080-B685-F4AF3A1DDD7A@oracle.com> Message-ID: Looks good. (Btw, these conversions should really be done through a union instead of casting.) Cheers, Mikael > On Dec 5, 2013, at 11:47 PM, Staffan Larsen wrote: > > Looks good! > > Thanks, > /Staffan > >> On 5 dec 2013, at 20:24, Joseph Provino wrote: >> >> http://cr.openjdk.java.net/~jprovino/8029566/webrev.00/ >> >> It's a one line change to define julong_cast similar to jlong_cast. >> >> thanks. >> >> joe > From andreas.eriksson at oracle.com Fri Dec 6 07:44:20 2013 From: andreas.eriksson at oracle.com (Andreas Eriksson) Date: Fri, 06 Dec 2013 16:44:20 +0100 Subject: RFR(XS): JDK-8021771: warning: stat64 is deprecated - when building on OSX 10.7.5 Message-ID: <52A1F0D4.5010805@oracle.com> Hi all, Can I have a couple of reviews for this very small backport to JDK7? This problem can prevent building on newer OSX systems. https://bugs.openjdk.java.net/browse/JDK-8021771 http://cr.openjdk.java.net/~aeriksso/8021771/webrev/ I previously did a closed review for this as it was initially targeted for the next cpu release. Thanks, Andreas From dmitry.samersoff at oracle.com Fri Dec 6 08:16:40 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Fri, 06 Dec 2013 20:16:40 +0400 Subject: RFR(XS): JDK-8021771: warning: stat64 is deprecated - when building on OSX 10.7.5 In-Reply-To: <52A1F0D4.5010805@oracle.com> References: <52A1F0D4.5010805@oracle.com> Message-ID: <52A1F868.2050809@oracle.com> Looks good for me. -Dmitry On 2013-12-06 19:44, Andreas Eriksson wrote: > Hi all, > > Can I have a couple of reviews for this very small backport to JDK7? > This problem can prevent building on newer OSX systems. > > https://bugs.openjdk.java.net/browse/JDK-8021771 > > http://cr.openjdk.java.net/~aeriksso/8021771/webrev/ > > I previously did a closed review for this as it was initially targeted > for the next cpu release. > > Thanks, > Andreas -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * I would love to change the world, but they won't give me the sources. From staffan.larsen at oracle.com Fri Dec 6 09:58:20 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Fri, 6 Dec 2013 18:58:20 +0100 Subject: RFR(XS): JDK-8021771: warning: stat64 is deprecated - when building on OSX 10.7.5 In-Reply-To: <52A1F0D4.5010805@oracle.com> References: <52A1F0D4.5010805@oracle.com> Message-ID: Since this is straight back port, your don?t need another round of reviews. Anyway: Reviewed. /Staffan On 6 dec 2013, at 16:44, Andreas Eriksson wrote: > Hi all, > > Can I have a couple of reviews for this very small backport to JDK7? > This problem can prevent building on newer OSX systems. > > https://bugs.openjdk.java.net/browse/JDK-8021771 > > http://cr.openjdk.java.net/~aeriksso/8021771/webrev/ > > I previously did a closed review for this as it was initially targeted for the next cpu release. > > Thanks, > Andreas From alejandro.murillo at oracle.com Fri Dec 6 11:06:57 2013 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Fri, 06 Dec 2013 19:06:57 +0000 Subject: hg: hsx/hsx25/hotspot: 21 new changesets Message-ID: <20131206190744.311C862B45@hg.openjdk.java.net> Changeset: a3dc98dc4d21 Author: katleman Date: 2013-12-04 23:11 -0800 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/a3dc98dc4d21 Added tag jdk8-b119 for changeset ce42d815dd21 ! .hgtags Changeset: b6b9a5d4cda0 Author: amurillo Date: 2013-11-29 11:20 -0800 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/b6b9a5d4cda0 8029367: new hotspot build - hs25-b62 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 77b028ba548c Author: jprovino Date: 2013-11-19 16:26 -0500 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/77b028ba548c 8028396: Minimal VM: undefined symbol: _ZN23JvmtiCurrentBreakpoints11metadata_doEPFvP8MetadataE Summary: Minimal VM doesn't run Reviewed-by: coleenp, dholmes ! src/share/vm/prims/jvmtiImpl.hpp Changeset: 3fbb71fdc6e5 Author: vladidan Date: 2013-12-01 22:35 -0500 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/3fbb71fdc6e5 Merge Changeset: 8a42e81e2f9d Author: dsamersoff Date: 2013-11-27 14:26 +0400 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/8a42e81e2f9d 7050685: jsdbproc64.sh has a typo in the package name Summary: fixed typeo Reviewed-by: sla, kmo, sspitsyn ! agent/make/jsdbproc64.sh Changeset: 6ce6a0d23467 Author: mgronlun Date: 2013-12-02 11:42 +0100 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/6ce6a0d23467 Merge - test/compiler/jsr292/methodHandleExceptions/C.java - test/compiler/jsr292/methodHandleExceptions/I.java Changeset: 7a58803b5069 Author: acorn Date: 2013-12-03 08:36 -0800 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/7a58803b5069 8026066: ICCE for invokeinterface static Reviewed-by: coleenp, lfoltan, hseigel ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/interpreter/linkResolver.hpp ! test/TEST.groups ! test/runtime/8024804/RegisterNatives.java Changeset: 379f11bc04fc Author: acorn Date: 2013-12-03 11:13 -0800 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/379f11bc04fc 8028438: static superclass method masks default methods Reviewed-by: hseigel, lfoltan, coleenp ! src/share/vm/classfile/defaultMethods.cpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klassVtable.cpp Changeset: c8c2d6b82499 Author: sspitsyn Date: 2013-12-03 15:41 -0800 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/c8c2d6b82499 8028126: nsk/jvmti/scenarios/hotswap/HS101/hs101t006 Crashed the vm on Solaris-sparc64 fastdebug builds: only current thread can flush its registers Summary: Fix a race between VMOp_GetCurrentLocation reaching a safepoint and arget thread exiting from Java execution Reviewed-by: sla, dholmes, dsamersoff Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/prims/jvmtiEnvThreadState.cpp Changeset: e84d2afb2fb0 Author: sspitsyn Date: 2013-12-03 13:56 -0800 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/e84d2afb2fb0 Merge Changeset: 55a0da3d420b Author: sjohanss Date: 2013-11-26 14:35 +0100 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/55a0da3d420b 8027675: Full collections with Serial slower in JDK 8 compared to 7u40 Summary: Reduced the number of calls to follow_class_loader and instead marked and pushed the klass holder directly. Also removed unneeded calls to adjust_klass. Reviewed-by: coleenp, jmasa, mgerdin, tschatzl ! src/share/vm/gc_implementation/shared/markSweep.cpp ! src/share/vm/gc_implementation/shared/markSweep.hpp ! src/share/vm/gc_implementation/shared/markSweep.inline.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceMirrorKlass.cpp ! src/share/vm/oops/objArrayKlass.cpp Changeset: 9fc985481d78 Author: ehelin Date: 2013-12-02 15:43 +0100 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/9fc985481d78 Merge ! src/share/vm/oops/instanceKlass.cpp - test/compiler/jsr292/methodHandleExceptions/C.java - test/compiler/jsr292/methodHandleExceptions/I.java Changeset: 50287b659eb8 Author: sjohanss Date: 2013-12-03 12:01 +0100 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/50287b659eb8 8029329: tmtools tests fail with NPE (in the tool) when run with G1 and FlightRecorder Summary: Now iterating over all committed (used) G1 regions instead of all reserved. Reviewed-by: brutisso, dsamersoff, mgerdin ! agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/G1HeapRegionTable.java ! agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/HeapRegionSeq.java Changeset: 816c89d5957d Author: ehelin Date: 2013-12-05 17:49 +0100 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/816c89d5957d Merge ! src/share/vm/oops/instanceKlass.cpp Changeset: 9949533a8623 Author: rbackman Date: 2013-11-22 14:14 +0100 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/9949533a8623 8028997: mathexact intrinsics are unstable Reviewed-by: iveresov, kvn ! src/share/vm/opto/c2_globals.hpp ! test/compiler/intrinsics/mathexact/AddExactICondTest.java ! test/compiler/intrinsics/mathexact/AddExactIConstantTest.java ! test/compiler/intrinsics/mathexact/AddExactILoadTest.java ! test/compiler/intrinsics/mathexact/AddExactILoopDependentTest.java ! test/compiler/intrinsics/mathexact/AddExactINonConstantTest.java ! test/compiler/intrinsics/mathexact/AddExactIRepeatTest.java ! test/compiler/intrinsics/mathexact/AddExactLConstantTest.java ! test/compiler/intrinsics/mathexact/AddExactLNonConstantTest.java ! test/compiler/intrinsics/mathexact/CompareTest.java ! test/compiler/intrinsics/mathexact/DecExactITest.java ! test/compiler/intrinsics/mathexact/DecExactLTest.java ! test/compiler/intrinsics/mathexact/GVNTest.java ! test/compiler/intrinsics/mathexact/IncExactITest.java ! test/compiler/intrinsics/mathexact/IncExactLTest.java ! test/compiler/intrinsics/mathexact/MulExactICondTest.java ! test/compiler/intrinsics/mathexact/MulExactIConstantTest.java ! test/compiler/intrinsics/mathexact/MulExactILoadTest.java ! test/compiler/intrinsics/mathexact/MulExactILoopDependentTest.java ! test/compiler/intrinsics/mathexact/MulExactINonConstantTest.java ! test/compiler/intrinsics/mathexact/MulExactIRepeatTest.java ! test/compiler/intrinsics/mathexact/MulExactLConstantTest.java ! test/compiler/intrinsics/mathexact/MulExactLNonConstantTest.java ! test/compiler/intrinsics/mathexact/NegExactIConstantTest.java ! test/compiler/intrinsics/mathexact/NegExactILoadTest.java ! test/compiler/intrinsics/mathexact/NegExactILoopDependentTest.java ! test/compiler/intrinsics/mathexact/NegExactINonConstantTest.java ! test/compiler/intrinsics/mathexact/NegExactLConstantTest.java ! test/compiler/intrinsics/mathexact/NegExactLNonConstantTest.java ! test/compiler/intrinsics/mathexact/NestedMathExactTest.java ! test/compiler/intrinsics/mathexact/SplitThruPhiTest.java ! test/compiler/intrinsics/mathexact/SubExactICondTest.java ! test/compiler/intrinsics/mathexact/SubExactIConstantTest.java ! test/compiler/intrinsics/mathexact/SubExactILoadTest.java ! test/compiler/intrinsics/mathexact/SubExactILoopDependentTest.java ! test/compiler/intrinsics/mathexact/SubExactINonConstantTest.java ! test/compiler/intrinsics/mathexact/SubExactIRepeatTest.java ! test/compiler/intrinsics/mathexact/SubExactLConstantTest.java ! test/compiler/intrinsics/mathexact/SubExactLNonConstantTest.java Changeset: 55dd6e77b399 Author: rbackman Date: 2013-11-22 15:26 +0100 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/55dd6e77b399 8028624: [TESTBUG] compiler/intrinsics/mathexact/DecExactLTest executes DecExactITest Reviewed-by: kvn, twisti ! test/compiler/intrinsics/mathexact/DecExactLTest.java Changeset: eae426d683f6 Author: simonis Date: 2013-12-02 11:12 +0100 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/eae426d683f6 8029190: VM_Version::determine_features() asserts on Fujitsu Sparc64 CPUs Summary: fix code to allow testing on Fujitsu Sparc64 CPUs Reviewed-by: kvn ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.hpp ! src/share/vm/runtime/arguments.cpp Changeset: 61746b5f0ed3 Author: anoll Date: 2013-12-04 09:31 +0100 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/61746b5f0ed3 8028109: compiler/codecache/CheckReservedInitialCodeCacheSizeArgOrder.java crashes in RT_Baseline Summary: Use non-relocatable code to load byte_map_base Reviewed-by: kvn, roland ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp Changeset: 6a8941dbd26f Author: anoll Date: 2013-12-05 12:49 -0800 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/6a8941dbd26f Merge Changeset: 05fedd51e40d Author: amurillo Date: 2013-12-06 09:29 -0800 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/05fedd51e40d Merge Changeset: fca262db9c43 Author: amurillo Date: 2013-12-06 09:29 -0800 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/fca262db9c43 Added tag hs25-b62 for changeset 05fedd51e40d ! .hgtags From alejandro.murillo at oracle.com Fri Dec 6 12:07:03 2013 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Fri, 06 Dec 2013 20:07:03 +0000 Subject: hg: hsx/hotspot-main/hotspot: 4 new changesets Message-ID: <20131206200714.839C762B4B@hg.openjdk.java.net> Changeset: a3dc98dc4d21 Author: katleman Date: 2013-12-04 23:11 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/a3dc98dc4d21 Added tag jdk8-b119 for changeset ce42d815dd21 ! .hgtags Changeset: 05fedd51e40d Author: amurillo Date: 2013-12-06 09:29 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/05fedd51e40d Merge Changeset: fca262db9c43 Author: amurillo Date: 2013-12-06 09:29 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/fca262db9c43 Added tag hs25-b62 for changeset 05fedd51e40d ! .hgtags Changeset: 3aa20cee331a Author: amurillo Date: 2013-12-06 09:41 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/3aa20cee331a 8029693: new hotspot build - hs25-b63 Reviewed-by: jcoomes ! make/hotspot_version From stefan.karlsson at oracle.com Mon Dec 9 01:23:05 2013 From: stefan.karlsson at oracle.com (Stefan Karlsson) Date: Mon, 09 Dec 2013 10:23:05 +0100 Subject: Review request: 8029106: JVM crashes in Metachunk::Metachunk during parallel class redefinition (PrivateMLetController, anonymous-simple_copy_1) Message-ID: <52A58BF9.10405@oracle.com> http://cr.openjdk.java.net/~stefank/8029106 Please, review this bug fix for: 8029106: JVM crashes in Metachunk::Metachunk during parallel class redefinition (PrivateMLetController, anonymous-simple_copy_1) Summary: Fixed overflow bug in VirtualSpaceNode::is_available thanks, StefanK From stefan.johansson at oracle.com Mon Dec 9 01:33:00 2013 From: stefan.johansson at oracle.com (Stefan Johansson) Date: Mon, 09 Dec 2013 10:33:00 +0100 Subject: RFR: 8028993: Full collections with ParallelScavenge slower in JDK 8 compared to 7u40 In-Reply-To: <529F5CE3.5020301@oracle.com> References: <529F5CE3.5020301@oracle.com> Message-ID: <52A58E4C.6050301@oracle.com> Hi all, Updated one thing in the webrev after an offline comment. The new webrev is at: http://cr.openjdk.java.net/~sjohanss/8028993/webrev.01/ The only change was to move the definition of follow_klass() in psParallelCompact.hpp to be below the definition of mark_and_push(). This might help inlining for some compilers, and it also maps to how the declarations are ordered. Please review this fix, Stefan On 2013-12-04 17:48, Stefan Johansson wrote: > Hi, > > Can I have some reviews for this change to fix: > https://bugs.openjdk.java.net/browse/JDK-8028993 > > Webrev: > http://cr.openjdk.java.net/~sjohanss/8028993/webrev.00/ > > Summary: > While fixing JDK-8027675 we realized that we should have a similar > regression with ParallelGC. The regression is not as big as with > serial but the logic changes are the same and I've been able to > measure a significant improvement with this fix, taking us on par with > 7u40. > > The theory behind the fix is the same as when fixing serial: > --- > To improve the mark phase: > * Enabled the calls to follow_klass to be inlined. > * Reduce the extensive amount of calls to follow_class_loader in > follow_klass and instead just mark the klass holder (the class loader > or the java mirror) for the given klass. > > To improve the adjust phase: > * All calls to adjust_klass have been removed since this is already > handled by processing the ClassLoaderDataGraph. > --- > > Testing: > * Building and basic testing through JPRT > * Some manual testing running Nashorn tests > * Performance testing with SPECjbb2005 > > Thanks, > Stefan From andreas.eriksson at oracle.com Mon Dec 9 02:52:07 2013 From: andreas.eriksson at oracle.com (Andreas Eriksson) Date: Mon, 09 Dec 2013 11:52:07 +0100 Subject: RFR(XS): JDK-8021771: warning: stat64 is deprecated - when building on OSX 10.7.5 In-Reply-To: References: <52A1F0D4.5010805@oracle.com> Message-ID: <52A5A0D7.2020500@oracle.com> Ah, good to know in the future. Thanks! /Andreas On 2013-12-06 18:58, Staffan Larsen wrote: > Since this is straight back port, your don?t need another round of reviews. > > Anyway: Reviewed. > > /Staffan > > On 6 dec 2013, at 16:44, Andreas Eriksson wrote: > >> Hi all, >> >> Can I have a couple of reviews for this very small backport to JDK7? >> This problem can prevent building on newer OSX systems. >> >> https://bugs.openjdk.java.net/browse/JDK-8021771 >> >> http://cr.openjdk.java.net/~aeriksso/8021771/webrev/ >> >> I previously did a closed review for this as it was initially targeted for the next cpu release. >> >> Thanks, >> Andreas From mikael.gerdin at oracle.com Mon Dec 9 03:28:47 2013 From: mikael.gerdin at oracle.com (Mikael Gerdin) Date: Mon, 09 Dec 2013 12:28:47 +0100 Subject: RFR: 8028993: Full collections with ParallelScavenge slower in JDK 8 compared to 7u40 In-Reply-To: <52A58E4C.6050301@oracle.com> References: <529F5CE3.5020301@oracle.com> <52A58E4C.6050301@oracle.com> Message-ID: <1442647.bNETM6LUT7@mgerdin03> Stefan, On Monday 09 December 2013 10.33.00 Stefan Johansson wrote: > Hi all, > > Updated one thing in the webrev after an offline comment. The new webrev > is at: > http://cr.openjdk.java.net/~sjohanss/8028993/webrev.01/ > > The only change was to move the definition of follow_klass() in > psParallelCompact.hpp to be below the definition of mark_and_push(). > This might help inlining for some compilers, and it also maps to how the > declarations are ordered. The change looks good to me. /Mikael > > Please review this fix, > Stefan > > On 2013-12-04 17:48, Stefan Johansson wrote: > > Hi, > > > > Can I have some reviews for this change to fix: > > https://bugs.openjdk.java.net/browse/JDK-8028993 > > > > Webrev: > > http://cr.openjdk.java.net/~sjohanss/8028993/webrev.00/ > > > > Summary: > > While fixing JDK-8027675 we realized that we should have a similar > > regression with ParallelGC. The regression is not as big as with > > serial but the logic changes are the same and I've been able to > > measure a significant improvement with this fix, taking us on par with > > 7u40. > > > > The theory behind the fix is the same as when fixing serial: > > --- > > To improve the mark phase: > > * Enabled the calls to follow_klass to be inlined. > > * Reduce the extensive amount of calls to follow_class_loader in > > follow_klass and instead just mark the klass holder (the class loader > > or the java mirror) for the given klass. > > > > To improve the adjust phase: > > * All calls to adjust_klass have been removed since this is already > > handled by processing the ClassLoaderDataGraph. > > --- > > > > Testing: > > * Building and basic testing through JPRT > > * Some manual testing running Nashorn tests > > * Performance testing with SPECjbb2005 > > > > Thanks, > > Stefan From mikael.gerdin at oracle.com Mon Dec 9 03:41:32 2013 From: mikael.gerdin at oracle.com (Mikael Gerdin) Date: Mon, 09 Dec 2013 12:41:32 +0100 Subject: Review request: 8029106: JVM crashes in Metachunk::Metachunk during parallel class redefinition (PrivateMLetController, anonymous-simple_copy_1) In-Reply-To: <52A58BF9.10405@oracle.com> References: <52A58BF9.10405@oracle.com> Message-ID: <1605223.yWqGE33xeJ@mgerdin03> Stefan, On Monday 09 December 2013 10.23.05 Stefan Karlsson wrote: > http://cr.openjdk.java.net/~stefank/8029106 > > Please, review this bug fix for: > > 8029106: JVM crashes in Metachunk::Metachunk during parallel class > redefinition (PrivateMLetController, anonymous-simple_copy_1) > Summary: Fixed overflow bug in VirtualSpaceNode::is_available The fix looks good. Did you check for other possible over/underflows in metaspace? I had a quick look through the code but didn't find any obvious ones. /Mikael > > thanks, > StefanK From stefan.karlsson at oracle.com Mon Dec 9 04:15:04 2013 From: stefan.karlsson at oracle.com (Stefan Karlsson) Date: Mon, 09 Dec 2013 13:15:04 +0100 Subject: RFR: 8028993: Full collections with ParallelScavenge slower in JDK 8 compared to 7u40 In-Reply-To: <52A58E4C.6050301@oracle.com> References: <529F5CE3.5020301@oracle.com> <52A58E4C.6050301@oracle.com> Message-ID: <52A5B448.4090501@oracle.com> Hi Johansson, On 2013-12-09 10:33, Stefan Johansson wrote: > Hi all, > > Updated one thing in the webrev after an offline comment. The new > webrev is at: > http://cr.openjdk.java.net/~sjohanss/8028993/webrev.01/ I think this looks good. A comment about this comment. http://cr.openjdk.java.net/~sjohanss/8028993/webrev.01/src/share/vm/oops/instanceMirrorKlass.cpp.udiff.html + // For anonymous classes we need to handle the class loader data, + // otherwise it won't be claimed and can be unloaded. + if (klass->oop_is_instance() && InstanceKlass::cast(klass)->is_anonymous()) { + PSParallelCompact::follow_class_loader(cm, klass->class_loader_data()); + } else { PSParallelCompact::follow_klass(cm, klass); + } IMHO, the comment doesn't help with the understanding of this code. All klasses, not only anonymous klasses, "need to handle the class loader data, otherwise it won't be claimed and can be unloaded." Could you explain that: 1) We can't call follow_klass, since that would just try to follow the mirror we're currently processing? 2) That for non-anonymous klasses we call follow_class_loader when the java.lang.ClassLoader of the klass is visited. But for anonymous klasses, which don't have their own java.lang.ClassLoader instance, we instead call follow_class_loader when the mirror is visited? thanks, StefanK > > The only change was to move the definition of follow_klass() in > psParallelCompact.hpp to be below the definition of mark_and_push(). > This might help inlining for some compilers, and it also maps to how > the declarations are ordered. > > Please review this fix, > Stefan > > > On 2013-12-04 17:48, Stefan Johansson wrote: >> Hi, >> >> Can I have some reviews for this change to fix: >> https://bugs.openjdk.java.net/browse/JDK-8028993 >> >> Webrev: >> http://cr.openjdk.java.net/~sjohanss/8028993/webrev.00/ >> >> Summary: >> While fixing JDK-8027675 we realized that we should have a similar >> regression with ParallelGC. The regression is not as big as with >> serial but the logic changes are the same and I've been able to >> measure a significant improvement with this fix, taking us on par >> with 7u40. >> >> The theory behind the fix is the same as when fixing serial: >> --- >> To improve the mark phase: >> * Enabled the calls to follow_klass to be inlined. >> * Reduce the extensive amount of calls to follow_class_loader in >> follow_klass and instead just mark the klass holder (the class loader >> or the java mirror) for the given klass. >> >> To improve the adjust phase: >> * All calls to adjust_klass have been removed since this is already >> handled by processing the ClassLoaderDataGraph. >> --- >> >> Testing: >> * Building and basic testing through JPRT >> * Some manual testing running Nashorn tests >> * Performance testing with SPECjbb2005 >> >> Thanks, >> Stefan > From bengt.rutisson at oracle.com Mon Dec 9 04:30:40 2013 From: bengt.rutisson at oracle.com (Bengt Rutisson) Date: Mon, 09 Dec 2013 13:30:40 +0100 Subject: Review request: 8029106: JVM crashes in Metachunk::Metachunk during parallel class redefinition (PrivateMLetController, anonymous-simple_copy_1) In-Reply-To: <52A58BF9.10405@oracle.com> References: <52A58BF9.10405@oracle.com> Message-ID: <52A5B7F0.2040801@oracle.com> Looks good. Bengt On 2013-12-09 10:23, Stefan Karlsson wrote: > http://cr.openjdk.java.net/~stefank/8029106 > > Please, review this bug fix for: > > 8029106: JVM crashes in Metachunk::Metachunk during parallel class > redefinition (PrivateMLetController, anonymous-simple_copy_1) > Summary: Fixed overflow bug in VirtualSpaceNode::is_available > > thanks, > StefanK From stefan.karlsson at oracle.com Mon Dec 9 05:11:39 2013 From: stefan.karlsson at oracle.com (Stefan Karlsson) Date: Mon, 09 Dec 2013 14:11:39 +0100 Subject: Review request: 8029106: JVM crashes in Metachunk::Metachunk during parallel class redefinition (PrivateMLetController, anonymous-simple_copy_1) In-Reply-To: <52A5B7F0.2040801@oracle.com> References: <52A58BF9.10405@oracle.com> <52A5B7F0.2040801@oracle.com> Message-ID: <52A5C18B.6050505@oracle.com> On 2013-12-09 13:30, Bengt Rutisson wrote: > > Looks good. Thanks, Bengt. StefanK > > Bengt > > On 2013-12-09 10:23, Stefan Karlsson wrote: >> http://cr.openjdk.java.net/~stefank/8029106 >> >> Please, review this bug fix for: >> >> 8029106: JVM crashes in Metachunk::Metachunk during parallel class >> redefinition (PrivateMLetController, anonymous-simple_copy_1) >> Summary: Fixed overflow bug in VirtualSpaceNode::is_available >> >> thanks, >> StefanK > From stefan.karlsson at oracle.com Mon Dec 9 05:45:29 2013 From: stefan.karlsson at oracle.com (Stefan Karlsson) Date: Mon, 09 Dec 2013 14:45:29 +0100 Subject: Review request: 8029106: JVM crashes in Metachunk::Metachunk during parallel class redefinition (PrivateMLetController, anonymous-simple_copy_1) In-Reply-To: <1605223.yWqGE33xeJ@mgerdin03> References: <52A58BF9.10405@oracle.com> <1605223.yWqGE33xeJ@mgerdin03> Message-ID: <52A5C979.1010500@oracle.com> On 2013-12-09 12:41, Mikael Gerdin wrote: > Stefan, > > On Monday 09 December 2013 10.23.05 Stefan Karlsson wrote: >> http://cr.openjdk.java.net/~stefank/8029106 >> >> Please, review this bug fix for: >> >> 8029106: JVM crashes in Metachunk::Metachunk during parallel class >> redefinition (PrivateMLetController, anonymous-simple_copy_1) >> Summary: Fixed overflow bug in VirtualSpaceNode::is_available > The fix looks good. Thanks. > Did you check for other possible over/underflows in metaspace? I had a quick > look through the code but didn't find any obvious ones. I couldn't find anything obvious. thanks, StefanK > > /Mikael > >> thanks, >> StefanK From coleen.phillimore at oracle.com Mon Dec 9 08:11:31 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Mon, 09 Dec 2013 11:11:31 -0500 Subject: Review request: 8029106: JVM crashes in Metachunk::Metachunk during parallel class redefinition (PrivateMLetController, anonymous-simple_copy_1) In-Reply-To: <52A58BF9.10405@oracle.com> References: <52A58BF9.10405@oracle.com> Message-ID: <52A5EBB3.8000002@oracle.com> On 12/9/2013 4:23 AM, Stefan Karlsson wrote: > http://cr.openjdk.java.net/~stefank/8029106 > > Please, review this bug fix for: > > 8029106: JVM crashes in Metachunk::Metachunk during parallel class > redefinition (PrivateMLetController, anonymous-simple_copy_1) > Summary: Fixed overflow bug in VirtualSpaceNode::is_available > > thanks, > StefanK The bug fix looks good. When do these tests run? Do they allocate 3 new virtualspace nodes and leave them around until exit? Is this another leak if the JVM is embedded? What happens if there isn't enough memory to allocate these chunks? thanks, Coleen From markus.gronlund at oracle.com Mon Dec 9 10:22:15 2013 From: markus.gronlund at oracle.com (markus.gronlund at oracle.com) Date: Mon, 09 Dec 2013 18:22:15 +0000 Subject: hg: hsx/jdk7u/hotspot: 8028412: AsyncGetCallTrace() is broken on x86 in JDK 7u40 Message-ID: <20131209182218.2872562B8C@hg.openjdk.java.net> Changeset: 2f8624935bd2 Author: mgronlun Date: 2013-12-09 17:10 +0100 URL: http://hg.openjdk.java.net/hsx/jdk7u/hotspot/rev/2f8624935bd2 8028412: AsyncGetCallTrace() is broken on x86 in JDK 7u40 Reviewed-by: kvn, sspitsyn ! src/cpu/x86/vm/frame_x86.cpp From stefan.johansson at oracle.com Tue Dec 10 01:20:14 2013 From: stefan.johansson at oracle.com (Stefan Johansson) Date: Tue, 10 Dec 2013 10:20:14 +0100 Subject: RFR: 8028993: Full collections with ParallelScavenge slower in JDK 8 compared to 7u40 In-Reply-To: <52A5B448.4090501@oracle.com> References: <529F5CE3.5020301@oracle.com> <52A58E4C.6050301@oracle.com> <52A5B448.4090501@oracle.com> Message-ID: <52A6DCCE.1090605@oracle.com> Hi Karlsson =) On 2013-12-09 13:15, Stefan Karlsson wrote: > Hi Johansson, > > On 2013-12-09 10:33, Stefan Johansson wrote: >> Hi all, >> >> Updated one thing in the webrev after an offline comment. The new >> webrev is at: >> http://cr.openjdk.java.net/~sjohanss/8028993/webrev.01/ > > I think this looks good. > > A comment about this comment. > > http://cr.openjdk.java.net/~sjohanss/8028993/webrev.01/src/share/vm/oops/instanceMirrorKlass.cpp.udiff.html > > > + // For anonymous classes we need to handle the class loader data, > + // otherwise it won't be claimed and can be unloaded. > + if (klass->oop_is_instance() && > InstanceKlass::cast(klass)->is_anonymous()) { > + PSParallelCompact::follow_class_loader(cm, > klass->class_loader_data()); > + } else { > PSParallelCompact::follow_klass(cm, klass); > + } > > > IMHO, the comment doesn't help with the understanding of this code. > All klasses, not only anonymous klasses, "need to handle the class > loader data, otherwise it won't be claimed and can be unloaded." > > Could you explain that: // Anonymous classes doesn't have their > own class loader and the > // the call to follow_klass will mark and push its java mirror > // instead of the class loader. When handling the java mirror for > // an anonymous class we need to make sure its class loader data is > // claimed, this is done by calling follow_class_loader explicitly, > // for non-anonymous classes the call to follow_class_loader is made > // when the class loader itself is handled. > 1) We can't call follow_klass, since that would just try to follow the > mirror we're currently processing? > 2) That for non-anonymous klasses we call follow_class_loader when the > java.lang.ClassLoader of the klass is visited. But for anonymous > klasses, which don't have their own java.lang.ClassLoader instance, we > instead call follow_class_loader when the mirror is visited? > We've spoken about this offline and this is the comment I plan to add, I will also change the comment in the SerialGC version of the code: // Anonymous classes doesn't have their own class loader and the // the call to follow_klass will mark and push its java mirror // instead of the class loader. When handling the java mirror for // an anonymous class we need to make sure its class loader data is // claimed, this is done by calling follow_class_loader explicitly, // for non-anonymous classes the call to follow_class_loader is made // when the class loader itself is handled. Cheers, StefanJ > thanks, > StefanK > >> >> The only change was to move the definition of follow_klass() in >> psParallelCompact.hpp to be below the definition of mark_and_push(). >> This might help inlining for some compilers, and it also maps to how >> the declarations are ordered. >> >> Please review this fix, >> Stefan >> >> >> On 2013-12-04 17:48, Stefan Johansson wrote: >>> Hi, >>> >>> Can I have some reviews for this change to fix: >>> https://bugs.openjdk.java.net/browse/JDK-8028993 >>> >>> Webrev: >>> http://cr.openjdk.java.net/~sjohanss/8028993/webrev.00/ >>> >>> Summary: >>> While fixing JDK-8027675 we realized that we should have a similar >>> regression with ParallelGC. The regression is not as big as with >>> serial but the logic changes are the same and I've been able to >>> measure a significant improvement with this fix, taking us on par >>> with 7u40. >>> >>> The theory behind the fix is the same as when fixing serial: >>> --- >>> To improve the mark phase: >>> * Enabled the calls to follow_klass to be inlined. >>> * Reduce the extensive amount of calls to follow_class_loader in >>> follow_klass and instead just mark the klass holder (the class >>> loader or the java mirror) for the given klass. >>> >>> To improve the adjust phase: >>> * All calls to adjust_klass have been removed since this is already >>> handled by processing the ClassLoaderDataGraph. >>> --- >>> >>> Testing: >>> * Building and basic testing through JPRT >>> * Some manual testing running Nashorn tests >>> * Performance testing with SPECjbb2005 >>> >>> Thanks, >>> Stefan >> > From stefan.karlsson at oracle.com Tue Dec 10 01:43:07 2013 From: stefan.karlsson at oracle.com (Stefan Karlsson) Date: Tue, 10 Dec 2013 10:43:07 +0100 Subject: Review request: 8029106: JVM crashes in Metachunk::Metachunk during parallel class redefinition (PrivateMLetController, anonymous-simple_copy_1) In-Reply-To: <52A5EBB3.8000002@oracle.com> References: <52A58BF9.10405@oracle.com> <52A5EBB3.8000002@oracle.com> Message-ID: <52A6E22B.50004@oracle.com> On 2013-12-09 17:11, Coleen Phillimore wrote: > On 12/9/2013 4:23 AM, Stefan Karlsson wrote: >> http://cr.openjdk.java.net/~stefank/8029106 >> >> Please, review this bug fix for: >> >> 8029106: JVM crashes in Metachunk::Metachunk during parallel class >> redefinition (PrivateMLetController, anonymous-simple_copy_1) >> Summary: Fixed overflow bug in VirtualSpaceNode::is_available >> >> thanks, >> StefanK > > The bug fix looks good. When do these tests run? Your run them by adding -XX:+ExecuteInternalVMTests to the command line of a debug build. JPRT exercises these tests. > Do they allocate 3 new virtualspace nodes and leave them around until > exit? They allocate VirtualSpaceNodes but never link them to the virtual space lists. The memory is released in the VirtualSpaceNode destructor, which is called when vsn goes out of scope. > Is this another leak if the JVM is embedded? What happens if there > isn't enough memory to allocate these chunks? It's very unlikely to happen, but if it does we'll hit this assert: assert(vsn.initialize(), "Failed to setup VirtualSpaceNode"); thanks, StefanK > > thanks, > Coleen From stefan.johansson at oracle.com Tue Dec 10 03:26:22 2013 From: stefan.johansson at oracle.com (Stefan Johansson) Date: Tue, 10 Dec 2013 12:26:22 +0100 Subject: RFR: 8028993: Full collections with ParallelScavenge slower in JDK 8 compared to 7u40 In-Reply-To: <52A6DCCE.1090605@oracle.com> References: <529F5CE3.5020301@oracle.com> <52A58E4C.6050301@oracle.com> <52A5B448.4090501@oracle.com> <52A6DCCE.1090605@oracle.com> Message-ID: <52A6FA5E.6090906@oracle.com> On 2013-12-10 10:20, Stefan Johansson wrote: > Hi Karlsson =) > > On 2013-12-09 13:15, Stefan Karlsson wrote: >> Hi Johansson, >> >> On 2013-12-09 10:33, Stefan Johansson wrote: >>> Hi all, >>> >>> Updated one thing in the webrev after an offline comment. The new >>> webrev is at: >>> http://cr.openjdk.java.net/~sjohanss/8028993/webrev.01/ >> >> I think this looks good. >> >> A comment about this comment. >> >> http://cr.openjdk.java.net/~sjohanss/8028993/webrev.01/src/share/vm/oops/instanceMirrorKlass.cpp.udiff.html >> >> >> + // For anonymous classes we need to handle the class loader data, >> + // otherwise it won't be claimed and can be unloaded. >> + if (klass->oop_is_instance() && >> InstanceKlass::cast(klass)->is_anonymous()) { >> + PSParallelCompact::follow_class_loader(cm, >> klass->class_loader_data()); >> + } else { >> PSParallelCompact::follow_klass(cm, klass); >> + } >> >> >> IMHO, the comment doesn't help with the understanding of this code. >> All klasses, not only anonymous klasses, "need to handle the class >> loader data, otherwise it won't be claimed and can be unloaded." >> >> Could you explain that: // Anonymous classes doesn't have their >> own class loader and the >> // the call to follow_klass will mark and push its java mirror >> // instead of the class loader. When handling the java mirror for >> // an anonymous class we need to make sure its class loader data is >> // claimed, this is done by calling follow_class_loader explicitly, >> // for non-anonymous classes the call to follow_class_loader is made >> // when the class loader itself is handled. >> 1) We can't call follow_klass, since that would just try to follow >> the mirror we're currently processing? >> 2) That for non-anonymous klasses we call follow_class_loader when >> the java.lang.ClassLoader of the klass is visited. But for anonymous >> klasses, which don't have their own java.lang.ClassLoader instance, >> we instead call follow_class_loader when the mirror is visited? >> > We've spoken about this offline and this is the comment I plan to add, > I will also change the comment in the SerialGC version of the code: > // Anonymous classes doesn't have their own class loader and the > // the call to follow_klass will mark and push its java mirror > // instead of the class loader. When handling the java mirror for > // an anonymous class we need to make sure its class loader data is > // claimed, this is done by calling follow_class_loader explicitly, > // for non-anonymous classes the call to follow_class_loader is made > // when the class loader itself is handled. Got some input on the comment and here is the (hopefully) final version: // An anonymous class doesn't have its own class loader, so the call // to follow_klass will mark and push its java mirror instead of the // class loader. When handling the java mirror for an anonymous class // we need to make sure its class loader data is claimed, this is done // by calling follow_class_loader explicitly. For non-anonymous classes // the call to follow_class_loader is made when the class loader itself // is handled. StefanJ > > Cheers, > StefanJ >> thanks, >> StefanK >> >>> >>> The only change was to move the definition of follow_klass() in >>> psParallelCompact.hpp to be below the definition of mark_and_push(). >>> This might help inlining for some compilers, and it also maps to how >>> the declarations are ordered. >>> >>> Please review this fix, >>> Stefan >>> >>> >>> On 2013-12-04 17:48, Stefan Johansson wrote: >>>> Hi, >>>> >>>> Can I have some reviews for this change to fix: >>>> https://bugs.openjdk.java.net/browse/JDK-8028993 >>>> >>>> Webrev: >>>> http://cr.openjdk.java.net/~sjohanss/8028993/webrev.00/ >>>> >>>> Summary: >>>> While fixing JDK-8027675 we realized that we should have a similar >>>> regression with ParallelGC. The regression is not as big as with >>>> serial but the logic changes are the same and I've been able to >>>> measure a significant improvement with this fix, taking us on par >>>> with 7u40. >>>> >>>> The theory behind the fix is the same as when fixing serial: >>>> --- >>>> To improve the mark phase: >>>> * Enabled the calls to follow_klass to be inlined. >>>> * Reduce the extensive amount of calls to follow_class_loader in >>>> follow_klass and instead just mark the klass holder (the class >>>> loader or the java mirror) for the given klass. >>>> >>>> To improve the adjust phase: >>>> * All calls to adjust_klass have been removed since this is already >>>> handled by processing the ClassLoaderDataGraph. >>>> --- >>>> >>>> Testing: >>>> * Building and basic testing through JPRT >>>> * Some manual testing running Nashorn tests >>>> * Performance testing with SPECjbb2005 >>>> >>>> Thanks, >>>> Stefan >>> >> > From aph at redhat.com Tue Dec 10 03:46:47 2013 From: aph at redhat.com (Andrew Haley) Date: Tue, 10 Dec 2013 11:46:47 +0000 Subject: addExact intrinsic Message-ID: <52A6FF27.50800@redhat.com> I've been looking at addExact for AArch64, and I think I've got it right, but it looks rather odd. As far as I can see the output of addExact is fixed to a named register and to the FlagsReg. Matcher uses these functions to match the output of addExact: const RegMask Matcher::mathExactI_result_proj_mask() { return R0_REG_mask(); } const RegMask Matcher::mathExactI_flags_proj_mask() { return INT_FLAGS_mask(); } And these are the instruction patterns: instruct addExactI_reg(iRegIorL2I src1, iRegIorL2I src2, rFlagsReg cr) %{ match(AddExactI src1 src2); effect(DEF cr); format %{ "addsw r0, $src1, $src2\t# addExact int" %} ins_encode %{ __ addsw(r0, as_Register($src1$$reg), as_Register($src2$$reg)); %} ins_pipe(pipe_class_default); %} instruct addExactI_reg_imm(iRegIorL2I src1, immI src2, rFlagsReg cr) %{ match(AddExactI src1 src2); effect(DEF cr); format %{ "addsw r0, $src1, $src2\t# addExact int" %} ins_encode %{ __ addsw(r0, as_Register($src1$$reg), as_Register($src2$$constant)); %} ins_pipe(pipe_class_default); %} Is that reasonable? Thanks, Andrew. From stefan.karlsson at oracle.com Tue Dec 10 04:53:26 2013 From: stefan.karlsson at oracle.com (Stefan Karlsson) Date: Tue, 10 Dec 2013 13:53:26 +0100 Subject: RFR: 8028993: Full collections with ParallelScavenge slower in JDK 8 compared to 7u40 In-Reply-To: <52A6FA5E.6090906@oracle.com> References: <529F5CE3.5020301@oracle.com> <52A58E4C.6050301@oracle.com> <52A5B448.4090501@oracle.com> <52A6DCCE.1090605@oracle.com> <52A6FA5E.6090906@oracle.com> Message-ID: <52A70EC6.6070702@oracle.com> On 2013-12-10 12:26, Stefan Johansson wrote: > On 2013-12-10 10:20, Stefan Johansson wrote: >> Hi Karlsson =) >> >> On 2013-12-09 13:15, Stefan Karlsson wrote: >>> Hi Johansson, >>> >>> On 2013-12-09 10:33, Stefan Johansson wrote: >>>> Hi all, >>>> >>>> Updated one thing in the webrev after an offline comment. The new >>>> webrev is at: >>>> http://cr.openjdk.java.net/~sjohanss/8028993/webrev.01/ >>> >>> I think this looks good. >>> >>> A comment about this comment. >>> >>> http://cr.openjdk.java.net/~sjohanss/8028993/webrev.01/src/share/vm/oops/instanceMirrorKlass.cpp.udiff.html >>> >>> >>> + // For anonymous classes we need to handle the class loader data, >>> + // otherwise it won't be claimed and can be unloaded. >>> + if (klass->oop_is_instance() && >>> InstanceKlass::cast(klass)->is_anonymous()) { >>> + PSParallelCompact::follow_class_loader(cm, >>> klass->class_loader_data()); >>> + } else { >>> PSParallelCompact::follow_klass(cm, klass); >>> + } >>> >>> >>> IMHO, the comment doesn't help with the understanding of this code. >>> All klasses, not only anonymous klasses, "need to handle the class >>> loader data, otherwise it won't be claimed and can be unloaded." >>> >>> Could you explain that: // Anonymous classes doesn't have their >>> own class loader and the >>> // the call to follow_klass will mark and push its java mirror >>> // instead of the class loader. When handling the java mirror for >>> // an anonymous class we need to make sure its class loader data is >>> // claimed, this is done by calling follow_class_loader explicitly, >>> // for non-anonymous classes the call to follow_class_loader is >>> made >>> // when the class loader itself is handled. >>> 1) We can't call follow_klass, since that would just try to follow >>> the mirror we're currently processing? >>> 2) That for non-anonymous klasses we call follow_class_loader when >>> the java.lang.ClassLoader of the klass is visited. But for anonymous >>> klasses, which don't have their own java.lang.ClassLoader instance, >>> we instead call follow_class_loader when the mirror is visited? >>> >> We've spoken about this offline and this is the comment I plan to >> add, I will also change the comment in the SerialGC version of the code: >> // Anonymous classes doesn't have their own class loader and the >> // the call to follow_klass will mark and push its java mirror >> // instead of the class loader. When handling the java mirror for >> // an anonymous class we need to make sure its class loader data is >> // claimed, this is done by calling follow_class_loader explicitly, >> // for non-anonymous classes the call to follow_class_loader is made >> // when the class loader itself is handled. > Got some input on the comment and here is the (hopefully) final version: > // An anonymous class doesn't have its own class loader, so the call > // to follow_klass will mark and push its java mirror instead of the > // class loader. When handling the java mirror for an anonymous class > // we need to make sure its class loader data is claimed, this is > done > // by calling follow_class_loader explicitly. For non-anonymous > classes > // the call to follow_class_loader is made when the class loader > itself > // is handled. Looks good to me. StefanK > > StefanJ >> >> Cheers, >> StefanJ >>> thanks, >>> StefanK >>> >>>> >>>> The only change was to move the definition of follow_klass() in >>>> psParallelCompact.hpp to be below the definition of >>>> mark_and_push(). This might help inlining for some compilers, and >>>> it also maps to how the declarations are ordered. >>>> >>>> Please review this fix, >>>> Stefan >>>> >>>> >>>> On 2013-12-04 17:48, Stefan Johansson wrote: >>>>> Hi, >>>>> >>>>> Can I have some reviews for this change to fix: >>>>> https://bugs.openjdk.java.net/browse/JDK-8028993 >>>>> >>>>> Webrev: >>>>> http://cr.openjdk.java.net/~sjohanss/8028993/webrev.00/ >>>>> >>>>> Summary: >>>>> While fixing JDK-8027675 we realized that we should have a similar >>>>> regression with ParallelGC. The regression is not as big as with >>>>> serial but the logic changes are the same and I've been able to >>>>> measure a significant improvement with this fix, taking us on par >>>>> with 7u40. >>>>> >>>>> The theory behind the fix is the same as when fixing serial: >>>>> --- >>>>> To improve the mark phase: >>>>> * Enabled the calls to follow_klass to be inlined. >>>>> * Reduce the extensive amount of calls to follow_class_loader in >>>>> follow_klass and instead just mark the klass holder (the class >>>>> loader or the java mirror) for the given klass. >>>>> >>>>> To improve the adjust phase: >>>>> * All calls to adjust_klass have been removed since this is >>>>> already handled by processing the ClassLoaderDataGraph. >>>>> --- >>>>> >>>>> Testing: >>>>> * Building and basic testing through JPRT >>>>> * Some manual testing running Nashorn tests >>>>> * Performance testing with SPECjbb2005 >>>>> >>>>> Thanks, >>>>> Stefan >>>> >>> >> > From goetz.lindenmaier at sap.com Tue Dec 10 06:08:55 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Tue, 10 Dec 2013 14:08:55 +0000 Subject: RFR (S): 8029888: PPC64: (part 219): smaller changes needed to build c2 Message-ID: <4295855A5C1DE049A61835A1887419CC2CE70392@DEWDFEMB12A.global.corp.sap> Hi, Recent changes make two other smaller shared adaptions necessary for the ppc port: http://cr.openjdk.java.net/~goetz/webrevs/8029888-0-basic2/ First, introduce replacement variable $$CondRegister in adl. Further, the latest changes to compressed klasses broke an optimization on ppc. This change contains a better way to check for the max size of a compressed klass. I need not mask sign extension bits if compressed klasses are at most 31 bits. Please review and test this change. Best regards, Goetz. From adinn at redhat.com Tue Dec 10 06:57:14 2013 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 10 Dec 2013 14:57:14 +0000 Subject: addExact intrinsic In-Reply-To: <52A6FF27.50800@redhat.com> References: <52A6FF27.50800@redhat.com> Message-ID: <52A72BCA.1040407@redhat.com> On 10/12/13 11:46, Andrew Haley wrote: > I've been looking at addExact for AArch64, and I think I've got it > right, but it looks rather odd. > > As far as I can see the output of addExact is fixed to a named > register and to the FlagsReg. Matcher uses these functions to match > the output of addExact: > > const RegMask Matcher::mathExactI_result_proj_mask() { > return R0_REG_mask(); > } > > const RegMask Matcher::mathExactI_flags_proj_mask() { > return INT_FLAGS_mask(); > } > > And these are the instruction patterns: > > instruct addExactI_reg(iRegIorL2I src1, iRegIorL2I src2, rFlagsReg cr) > %{ > match(AddExactI src1 src2); > effect(DEF cr); > > format %{ "addsw r0, $src1, $src2\t# addExact int" %} > ins_encode %{ > __ addsw(r0, > as_Register($src1$$reg), > as_Register($src2$$reg)); > %} > ins_pipe(pipe_class_default); > %} > > instruct addExactI_reg_imm(iRegIorL2I src1, immI src2, rFlagsReg cr) > %{ > match(AddExactI src1 src2); > effect(DEF cr); > > format %{ "addsw r0, $src1, $src2\t# addExact int" %} > ins_encode %{ > __ addsw(r0, > as_Register($src1$$reg), > as_Register($src2$$constant)); > %} > ins_pipe(pipe_class_default); > %} > > Is that reasonable? Well, it looks correct to me but I think it could probably be improved :-) The ideal graph constructed by LibraryCallKit::inline_math_mathExact makes it clear how this works. That method feeds the output of the AddExactI node through a pair of proj nodes, with projections whose possible output register assignments are defined by the two masks mathExactI_result_proj_mask() and mathExactI_flags_proj_mask() (see method AddExactINode::match in mathexactnode.cpp to identify wher ethe masks are used) Reverting back to inline_math_mathExact, the CR register is projected into a bool test with condition 'overflow' and the result register is projected into the result output. The Bool's IfTrue feeds into a re-executable uncommon_trap with reason Deoptimization::Reason_intrinsic and action none. The IfFalse drives control to set_result (using the value from the AddExactI output projection). The Matcher mask methods defined above ensure that the result can only be allocated as R0 and the CR output as an int flags register. So, with this definition when trying to satisfy the register allocation for the AddExact node the the chaitin code will spill any active value in R0 before the AddExact code executes and only allow R0 to be used to define the allocation for the downstream result node. It would be better for AArch64 if we allowed this result to go into any of the normal (i.e. iRegINoSp) integer registers managed by the allocator. I think we can achieve this if we change the result mask function to const RegMask Matcher::mathExactI_result_proj_mask() { return _NO_SPECIAL_REG32_mask; } and then use the following rules instruct addExactI_reg(iRegINoSp dst, iRegIorL2I src1, iRegIorL2I src2, rFlagsReg cr) %{ match(Set dst (AddExactI src1 src2)); effect(DEF cr); format %{ "addsw $dst, $src1, $src2\t# addExact int" %} ins_encode %{ __ addsw(as_Register($dst$$reg), as_Register($src1$$reg), as_Register($src2$$reg)); %} ins_pipe(pipe_class_default); %} instruct addExactI_reg_imm(iRegIorL2I src1, immI src2, rFlagsReg cr) %{ match(AddExactI src1 src2); effect(DEF cr); format %{ "addsw $dst, $src1, $src2\t# addExact int" %} ins_encode %{ __ addsw(as_Register($dst$$reg), as_Register($src1$$reg), as_Register($src2$$constant)); %} ins_pipe(pipe_class_default); %} This ought to be legitimate but it would be good to hear confirmation from someone else on this list. regards, Andrew Dinn ----------- From goetz.lindenmaier at sap.com Tue Dec 10 07:22:11 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Tue, 10 Dec 2013 15:22:11 +0000 Subject: addExact intrinsic In-Reply-To: <52A72BCA.1040407@redhat.com> References: <52A6FF27.50800@redhat.com> <52A72BCA.1040407@redhat.com> Message-ID: <4295855A5C1DE049A61835A1887419CC2CE70407@DEWDFEMB12A.global.corp.sap> Hi, I think the register mask must contain a single register, as you can not access the register in the Projection when encoding the instruction. So you need to hard-code it in the ins_encode. The register allocation associates the allocated register with the proj. Maybe you could work around this by searching the outs in the ins_encode for the proper proj, and taking the register from there, but I never tried that. One hint: the rule with the immediate seems wrong. Why do you pass the constant into as_Register()? Also, I would use $src1$$Register instead of as_Register($src1$$reg), it's shorter. Best regards, Goetz. -----Original Message----- From: hotspot-dev-bounces at openjdk.java.net [mailto:hotspot-dev-bounces at openjdk.java.net] On Behalf Of Andrew Dinn Sent: Dienstag, 10. Dezember 2013 15:57 To: Andrew Haley Cc: hotspot-dev Source Developers Subject: Re: addExact intrinsic On 10/12/13 11:46, Andrew Haley wrote: > I've been looking at addExact for AArch64, and I think I've got it > right, but it looks rather odd. > > As far as I can see the output of addExact is fixed to a named > register and to the FlagsReg. Matcher uses these functions to match > the output of addExact: > > const RegMask Matcher::mathExactI_result_proj_mask() { > return R0_REG_mask(); > } > > const RegMask Matcher::mathExactI_flags_proj_mask() { > return INT_FLAGS_mask(); > } > > And these are the instruction patterns: > > instruct addExactI_reg(iRegIorL2I src1, iRegIorL2I src2, rFlagsReg cr) > %{ > match(AddExactI src1 src2); > effect(DEF cr); > > format %{ "addsw r0, $src1, $src2\t# addExact int" %} > ins_encode %{ > __ addsw(r0, > as_Register($src1$$reg), > as_Register($src2$$reg)); > %} > ins_pipe(pipe_class_default); > %} > > instruct addExactI_reg_imm(iRegIorL2I src1, immI src2, rFlagsReg cr) > %{ > match(AddExactI src1 src2); > effect(DEF cr); > > format %{ "addsw r0, $src1, $src2\t# addExact int" %} > ins_encode %{ > __ addsw(r0, > as_Register($src1$$reg), > as_Register($src2$$constant)); > %} > ins_pipe(pipe_class_default); > %} > > Is that reasonable? Well, it looks correct to me but I think it could probably be improved :-) The ideal graph constructed by LibraryCallKit::inline_math_mathExact makes it clear how this works. That method feeds the output of the AddExactI node through a pair of proj nodes, with projections whose possible output register assignments are defined by the two masks mathExactI_result_proj_mask() and mathExactI_flags_proj_mask() (see method AddExactINode::match in mathexactnode.cpp to identify wher ethe masks are used) Reverting back to inline_math_mathExact, the CR register is projected into a bool test with condition 'overflow' and the result register is projected into the result output. The Bool's IfTrue feeds into a re-executable uncommon_trap with reason Deoptimization::Reason_intrinsic and action none. The IfFalse drives control to set_result (using the value from the AddExactI output projection). The Matcher mask methods defined above ensure that the result can only be allocated as R0 and the CR output as an int flags register. So, with this definition when trying to satisfy the register allocation for the AddExact node the the chaitin code will spill any active value in R0 before the AddExact code executes and only allow R0 to be used to define the allocation for the downstream result node. It would be better for AArch64 if we allowed this result to go into any of the normal (i.e. iRegINoSp) integer registers managed by the allocator. I think we can achieve this if we change the result mask function to const RegMask Matcher::mathExactI_result_proj_mask() { return _NO_SPECIAL_REG32_mask; } and then use the following rules instruct addExactI_reg(iRegINoSp dst, iRegIorL2I src1, iRegIorL2I src2, rFlagsReg cr) %{ match(Set dst (AddExactI src1 src2)); effect(DEF cr); format %{ "addsw $dst, $src1, $src2\t# addExact int" %} ins_encode %{ __ addsw(as_Register($dst$$reg), as_Register($src1$$reg), as_Register($src2$$reg)); %} ins_pipe(pipe_class_default); %} instruct addExactI_reg_imm(iRegIorL2I src1, immI src2, rFlagsReg cr) %{ match(AddExactI src1 src2); effect(DEF cr); format %{ "addsw $dst, $src1, $src2\t# addExact int" %} ins_encode %{ __ addsw(as_Register($dst$$reg), as_Register($src1$$reg), as_Register($src2$$constant)); %} ins_pipe(pipe_class_default); %} This ought to be legitimate but it would be good to hear confirmation from someone else on this list. regards, Andrew Dinn ----------- From adinn at redhat.com Tue Dec 10 07:31:53 2013 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 10 Dec 2013 15:31:53 +0000 Subject: addExact intrinsic In-Reply-To: <4295855A5C1DE049A61835A1887419CC2CE70407@DEWDFEMB12A.global.corp.sap> References: <52A6FF27.50800@redhat.com> <52A72BCA.1040407@redhat.com> <4295855A5C1DE049A61835A1887419CC2CE70407@DEWDFEMB12A.global.corp.sap> Message-ID: <52A733E9.40500@redhat.com> On 10/12/13 15:22, Lindenmaier, Goetz wrote: > I think the register mask must contain a single register, as you > can not access the register in the Projection when encoding > the instruction. So you need to hard-code it in the ins_encode. > The register allocation associates the allocated register > with the proj. Ah, that is unfortunate. So, does that explain why x86 also has to use a dedicated register? I assumed it was a restriction imposed by the x86 instruction the encoding was using. > One hint: the rule with the immediate seems wrong. Why do you > pass the constant into as_Register()? That is a mistake. The constant needs passing directly. regards, Andrew Dinn ----------- From aph at redhat.com Tue Dec 10 08:07:50 2013 From: aph at redhat.com (Andrew Haley) Date: Tue, 10 Dec 2013 16:07:50 +0000 Subject: addExact intrinsic In-Reply-To: <4295855A5C1DE049A61835A1887419CC2CE70407@DEWDFEMB12A.global.corp.sap> References: <52A6FF27.50800@redhat.com> <52A72BCA.1040407@redhat.com> <4295855A5C1DE049A61835A1887419CC2CE70407@DEWDFEMB12A.global.corp.sap> Message-ID: <52A73C56.2040704@redhat.com> On 12/10/2013 03:22 PM, Lindenmaier, Goetz wrote: > One hint: the rule with the immediate seems wrong. Why do you > pass the constant into as_Register()? Ah, that's just a typo. Thanks. > Also, I would use > $src1$$Register instead of as_Register($src1$$reg), it's shorter. Andrew. From vladimir.kozlov at oracle.com Tue Dec 10 08:52:34 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 10 Dec 2013 08:52:34 -0800 Subject: RFR (S): 8029888: PPC64: (part 219): smaller changes needed to build c2 In-Reply-To: <4295855A5C1DE049A61835A1887419CC2CE70392@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC2CE70392@DEWDFEMB12A.global.corp.sap> Message-ID: <52A746D2.3080806@oracle.com> Goetz, Ther is initialization of compressed class structure: NarrowPtrStruct is useed for both compressed class ptrs and oops. Can you use separate Universe::_narrow_klass_max_val static field instead of including it into NarrowPtrStruct? And you missed initialization. Do you need changes in metaspace.hpp for some ppc64 code? I don't see "public" usage in current code. Thanks, Vladimir On 12/10/13 6:08 AM, Lindenmaier, Goetz wrote: > Hi, > > Recent changes make two other smaller shared adaptions necessary > for the ppc port: > http://cr.openjdk.java.net/~goetz/webrevs/8029888-0-basic2/ > > First, introduce replacement variable $$CondRegister in adl. > > Further, the latest changes to compressed klasses broke an > optimization on ppc. This change contains a better way > to check for the max size of a compressed klass. I need not mask > sign extension bits if compressed klasses are at most 31 bits. > > Please review and test this change. > > Best regards, > Goetz. > From coleen.phillimore at oracle.com Tue Dec 10 10:28:22 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Tue, 10 Dec 2013 13:28:22 -0500 Subject: Review request: 8029106: JVM crashes in Metachunk::Metachunk during parallel class redefinition (PrivateMLetController, anonymous-simple_copy_1) In-Reply-To: <52A6E22B.50004@oracle.com> References: <52A58BF9.10405@oracle.com> <52A5EBB3.8000002@oracle.com> <52A6E22B.50004@oracle.com> Message-ID: <52A75D46.3000502@oracle.com> Okay, thanks. Code looks good. Thanks for fixing this! Coleen On 12/10/2013 04:43 AM, Stefan Karlsson wrote: > > On 2013-12-09 17:11, Coleen Phillimore wrote: >> On 12/9/2013 4:23 AM, Stefan Karlsson wrote: >>> http://cr.openjdk.java.net/~stefank/8029106 >>> >>> Please, review this bug fix for: >>> >>> 8029106: JVM crashes in Metachunk::Metachunk during parallel class >>> redefinition (PrivateMLetController, anonymous-simple_copy_1) >>> Summary: Fixed overflow bug in VirtualSpaceNode::is_available >>> >>> thanks, >>> StefanK >> >> The bug fix looks good. When do these tests run? > > Your run them by adding -XX:+ExecuteInternalVMTests to the command > line of a debug build. JPRT exercises these tests. > >> Do they allocate 3 new virtualspace nodes and leave them around until >> exit? > > They allocate VirtualSpaceNodes but never link them to the virtual > space lists. The memory is released in the VirtualSpaceNode > destructor, which is called when vsn goes out of scope. > >> Is this another leak if the JVM is embedded? What happens if there >> isn't enough memory to allocate these chunks? > > It's very unlikely to happen, but if it does we'll hit this assert: > assert(vsn.initialize(), "Failed to setup VirtualSpaceNode"); > > thanks, > StefanK > >> >> thanks, >> Coleen > From stefan.karlsson at oracle.com Tue Dec 10 11:06:42 2013 From: stefan.karlsson at oracle.com (Stefan Karlsson) Date: Tue, 10 Dec 2013 20:06:42 +0100 Subject: Review request: 8029106: JVM crashes in Metachunk::Metachunk during parallel class redefinition (PrivateMLetController, anonymous-simple_copy_1) In-Reply-To: <52A75D46.3000502@oracle.com> References: <52A58BF9.10405@oracle.com> <52A5EBB3.8000002@oracle.com> <52A6E22B.50004@oracle.com> <52A75D46.3000502@oracle.com> Message-ID: <52A76642.9050006@oracle.com> On 10/12/13 19:28, Coleen Phillimore wrote: > > Okay, thanks. Code looks good. Thanks for fixing this! Thanks for reviewing! StefanK > Coleen > > On 12/10/2013 04:43 AM, Stefan Karlsson wrote: >> >> On 2013-12-09 17:11, Coleen Phillimore wrote: >>> On 12/9/2013 4:23 AM, Stefan Karlsson wrote: >>>> http://cr.openjdk.java.net/~stefank/8029106 >>>> >>>> Please, review this bug fix for: >>>> >>>> 8029106: JVM crashes in Metachunk::Metachunk during parallel class >>>> redefinition (PrivateMLetController, anonymous-simple_copy_1) >>>> Summary: Fixed overflow bug in VirtualSpaceNode::is_available >>>> >>>> thanks, >>>> StefanK >>> >>> The bug fix looks good. When do these tests run? >> >> Your run them by adding -XX:+ExecuteInternalVMTests to the command >> line of a debug build. JPRT exercises these tests. >> >>> Do they allocate 3 new virtualspace nodes and leave them around >>> until exit? >> >> They allocate VirtualSpaceNodes but never link them to the virtual >> space lists. The memory is released in the VirtualSpaceNode >> destructor, which is called when vsn goes out of scope. >> >>> Is this another leak if the JVM is embedded? What happens if >>> there isn't enough memory to allocate these chunks? >> >> It's very unlikely to happen, but if it does we'll hit this assert: >> assert(vsn.initialize(), "Failed to setup VirtualSpaceNode"); >> >> thanks, >> StefanK >> >>> >>> thanks, >>> Coleen >> > From goetz.lindenmaier at sap.com Tue Dec 10 11:47:54 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Tue, 10 Dec 2013 19:47:54 +0000 Subject: RFR (S): 8029888: PPC64: (part 219): smaller changes needed to build c2 In-Reply-To: <52A746D2.3080806@oracle.com> References: <4295855A5C1DE049A61835A1887419CC2CE70392@DEWDFEMB12A.global.corp.sap> <52A746D2.3080806@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC2CE70487@DEWDFEMB12A.global.corp.sap> Hi Vladimir, I just came up with a better idea for this, it even does not need shared changes. I figured loadConNKlass is a real constant, i.e., it's not moved or the like, right? So I can just check the concrete value whether it's 31 bit only: Assembler::is_uimm((jlong)Klass::encode_klass((Klass *)$src$$constant), 31) I'm just running a test and will remove the respective coding from the change. About the public: I added that before and now remove it again, as with the fix currently in the webrev it's not needed. Best regards, Goetz. -----Original Message----- From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] Sent: Tuesday, December 10, 2013 5:53 PM To: Lindenmaier, Goetz; 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' Subject: Re: RFR (S): 8029888: PPC64: (part 219): smaller changes needed to build c2 Goetz, Ther is initialization of compressed class structure: NarrowPtrStruct is useed for both compressed class ptrs and oops. Can you use separate Universe::_narrow_klass_max_val static field instead of including it into NarrowPtrStruct? And you missed initialization. Do you need changes in metaspace.hpp for some ppc64 code? I don't see "public" usage in current code. Thanks, Vladimir On 12/10/13 6:08 AM, Lindenmaier, Goetz wrote: > Hi, > > Recent changes make two other smaller shared adaptions necessary > for the ppc port: > http://cr.openjdk.java.net/~goetz/webrevs/8029888-0-basic2/ > > First, introduce replacement variable $$CondRegister in adl. > > Further, the latest changes to compressed klasses broke an > optimization on ppc. This change contains a better way > to check for the max size of a compressed klass. I need not mask > sign extension bits if compressed klasses are at most 31 bits. > > Please review and test this change. > > Best regards, > Goetz. > From vladimir.kozlov at oracle.com Tue Dec 10 12:36:40 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 10 Dec 2013 12:36:40 -0800 Subject: RFR (S): 8029888: PPC64: (part 219): smaller changes needed to build c2 In-Reply-To: <4295855A5C1DE049A61835A1887419CC2CE70487@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC2CE70392@DEWDFEMB12A.global.corp.sap> <52A746D2.3080806@oracle.com> <4295855A5C1DE049A61835A1887419CC2CE70487@DEWDFEMB12A.global.corp.sap> Message-ID: <52A77B58.50909@oracle.com> On 12/10/13 11:47 AM, Lindenmaier, Goetz wrote: > Hi Vladimir, > > I just came up with a better idea for this, it even does not need > shared changes. > I figured loadConNKlass is a real constant, i.e., it's not moved or the > like, right? So I can just check the concrete value whether it's > 31 bit only: > Assembler::is_uimm((jlong)Klass::encode_klass((Klass *)$src$$constant), 31) Sounds good. You can also define special immN31Klass operand with predicate if you need it in several mach instructions. Thanks, Vladimir > > I'm just running a test and will remove the respective coding from the > change. > > About the public: I added that before and now remove it again, > as with the fix currently in the webrev it's not needed. > > Best regards, > Goetz. > > -----Original Message----- > From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] > Sent: Tuesday, December 10, 2013 5:53 PM > To: Lindenmaier, Goetz; 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' > Subject: Re: RFR (S): 8029888: PPC64: (part 219): smaller changes needed to build c2 > > Goetz, > > Ther is initialization of compressed class structure: > > NarrowPtrStruct is useed for both compressed class ptrs and oops. Can you use separate Universe::_narrow_klass_max_val > static field instead of including it into NarrowPtrStruct? And you missed initialization. > > Do you need changes in metaspace.hpp for some ppc64 code? I don't see "public" usage in current code. > > Thanks, > Vladimir > > On 12/10/13 6:08 AM, Lindenmaier, Goetz wrote: >> Hi, >> >> Recent changes make two other smaller shared adaptions necessary >> for the ppc port: >> http://cr.openjdk.java.net/~goetz/webrevs/8029888-0-basic2/ >> >> First, introduce replacement variable $$CondRegister in adl. >> >> Further, the latest changes to compressed klasses broke an >> optimization on ppc. This change contains a better way >> to check for the max size of a compressed klass. I need not mask >> sign extension bits if compressed klasses are at most 31 bits. >> >> Please review and test this change. >> >> Best regards, >> Goetz. >> From John.Coomes at oracle.com Tue Dec 10 13:02:38 2013 From: John.Coomes at oracle.com (John Coomes) Date: Tue, 10 Dec 2013 13:02:38 -0800 Subject: proposal - dissolve the OpenJDK hsx Project after jdk8 ships Message-ID: <21159.33134.781615.819449@dhcp-santaclara22-3fl-west-10-132-189-151.usdhcp.oraclecorp.com> The hsx Project was created to make hotspot development independent of specific JDK releases, so the same source could then delivered into multiple JDK releases simultaneously. This has worked pretty well for a number of years, allowing us to get significant features and performance improvements into shipping, supported JDK releases much more quickly. However, it has also complicated hotspot development in several ways. We have to maintain compatibility with multiple JDK releases--supporting old operating systems, old tool chains and old JDK APIs. It is also more difficult to make large-scale or behavioral changes, since delivering into update releases requires a high degree of compatibility and allows only a relatively short time for stabilization. And there is also the overhead of a separate OpenJDK Project, separate version tracking in the bug database and the mental overhead of having to map a hotspot version to/from a jdk version. Further, because of compatibility concerns, we have not delivered the same source into multiple JDK releases for more than 18 months, incurring the costs without reaping the benefits. So I propose that the hsx Project be dissolved after jdk8 has shipped, and that hotspot development move to be more closely aligned with future JDK releases. In practical terms this means that: - the general process for delivering hotspot into jdk8 will not change, to avoid disruption late in the release cycle. The remaining critical fixes needed for jdk8 will continue to be made in the existing hsx repos. - as the number of expected jdk8 fixes decreases to a trickle, jdk8 development and testing should move from the hsx group repos (e.g., hotspot-gc, hotspot-rt, etc.) to a single stabilization repo (possibly hsx/hotspot-main). Alejandro Murillo, the hotspot gatekeeper, will coordinate this. - hsx Project Author/Committer/Reviewer status will be transferred to the new jdk9 [1] [2] and jdk8u [3] [4] Projects. - the bulk of hotspot development will take place in new repos that are part of the jdk9 project (e.g., http://hg.openjdk.java.net/jdk9/hotspot-gc, http://hg.openjdk.java.net/jdk9/hotspot-comp, etc.) - bug fixes appropriate for jdk8 update releases will have to be selected and backported individually. I anticipate that a new jdk8 update tree for hotspot will be created (name tbd), so that we can continue to do pre-integration testing and bulk integrations as we have done for jdk7 updates. - hotspot bugs for jdk9 and jdk8 updates will be tracked in JBS using the jdk version number, not a separate hotspot version number (e.g., we'll use '9' or '8u20' instead of 'hs26' or 'hs25.20'). - after the last hotspot bug fix has been delivered to jdk8, the hsx Project repos will become read-only and maintained simply for archival purposes. Apologies for the length of this messages; I'm hoping to answer the obvious questions in advance. Please follow up if you have comments or if there are any I missed. -John [1] http://mail.openjdk.java.net/pipermail/announce/2013-October/000155.html [2] http://mail.openjdk.java.net/pipermail/announce/2013-November/000156.html [3] http://mail.openjdk.java.net/pipermail/announce/2013-December/000157.html [4] http://mail.openjdk.java.net/pipermail/discuss/2013-December/thread.html From vladimir.kozlov at oracle.com Tue Dec 10 13:43:11 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 10 Dec 2013 13:43:11 -0800 Subject: RFR (M): 8029396: PPC64 (part 212): Several memory ordering fixes in C-code. In-Reply-To: <4295855A5C1DE049A61835A1887419CC2CE6DC53@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC2CE6DA2E@DEWDFEMB12A.global.corp.sap> <529CFEB4.4000905@oracle.com> <4295855A5C1DE049A61835A1887419CC2CE6DC53@DEWDFEMB12A.global.corp.sap> Message-ID: <52A78AEF.2020000@oracle.com> Coleen, me and Vitaly reviewed these changes. I did not hear objections from GC group (I additionally asked them directly last week). I am pushing these changes. JDK9 fork is coming (Thursday) so I want to push AMAP to avoid pushing in two places after the fork. thanks, Vladimir On 12/3/13 9:09 AM, Lindenmaier, Goetz wrote: > Hi, > > could somebody of rt and gc please have a look at the following change? > It contains memory ordering fixes as required by the PPC64 port, see also > below. > http://cr.openjdk.java.net/~goetz/webrevs/8029396-0-memo/ > > Thanks and best regards, > Goetz. > > > > -----Original Message----- > From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] > Sent: Montag, 2. Dezember 2013 22:42 > To: Lindenmaier, Goetz; 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' > Subject: Re: RFR (M): 8029396: PPC64 (part 212): Several memory ordering fixes in C-code. > > These changes need to be reviewed by GC and Runtime group. Especially > first 2 changes (CMS). > > The rest 6 changes are less performance critical and, I think they are > fine. > > Thanks, > Vlaidmir > > On 12/2/13 8:51 AM, Lindenmaier, Goetz wrote: >> Hi, >> >> This change contains a row of fixes to the memory ordering in runtime, GC etc. >> http://cr.openjdk.java.net/~goetz/webrevs/8029396-0-memo/ >> >> These are: >> - Accessing arrays in CMS (compactibleFreeListSpace.cpp) >> - CMS: Do release when marking a card dirty. The release must only be done if GC is running. (several files) >> - Method counter initialization (method.hpp). >> - Order accessing f1/f2 in constant pool cache. >> - Release stores in OopMapCache constructor (instanceKLass.cpp). >> - BiasedLocking: Release setting object header to displaced mark. >> - Release state of nmethod sweeper (sweeper.cpp). >> - Do barriers when writing the thread state (thread.hpp). >> >> Please review and test this change. >> >> If requested, I can part this into smaller changes. But for now >> I wanted to put them all into one change as they all address the >> problems with the PPC memory model. >> >> Best regards, >> Goetz. >> From goetz.lindenmaier at sap.com Tue Dec 10 15:21:22 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Tue, 10 Dec 2013 23:21:22 +0000 Subject: RFR (XL): 8029940: PPC64 (part 122): C2 compiler port Message-ID: <4295855A5C1DE049A61835A1887419CC2CE70623@DEWDFEMB12A.global.corp.sap> Hi, this change contains the ppc c2 compiler port. The major contribution is obviously the .ad file. In addition, it contains a row of improvements in ppc code already used, and fixups left over after the ppc_-prefix removal. http://cr.openjdk.java.net/~goetz/webrevs/8029940-0-c2/ The change touches only files of the ppc port. Please review and test this change. Please only push it after 219, as that's required to build this change. (You might like the rules we use for matching StrIndexOf) Best regards, Goetz. From vladimir.kozlov at oracle.com Tue Dec 10 16:01:16 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 10 Dec 2013 16:01:16 -0800 Subject: RFR (XL): 8029940: PPC64 (part 122): C2 compiler port In-Reply-To: <4295855A5C1DE049A61835A1887419CC2CE70623@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC2CE70623@DEWDFEMB12A.global.corp.sap> Message-ID: <52A7AB4C.6020306@oracle.com> I don't see .ad file. Did you do 'hg add'? assembler_ppc.inline.hpp: coding style in Assembler::isel() and Assembler::isel_0(). Put if's body on separate line and use {}. Variables definitions and assignments should be on separate lines. frame_ppc.cpp: three variables are defined under #ifdef CC_INTERP but are used outside it. sharedRuntime_ppc.cpp: has the same problem. interpreter_ppc.cpp: please, confirm that you need #ifdef CC_INTERP in InterpreterGenerator::generate_abstract_entry() - you removed it in other places in this file (except in AbstractInterpreterGenerator::generate_slow_signature_handler()). register_definitions_ppc.cpp: why you need interp_masm_ppc_32.hpp? Just curious. atomic_linux_ppc.inline.hpp and orderAccess_linux_ppc.inline.hpp: empty diffs. Is it only spacing changes? Thanks, Vladimir On 12/10/13 3:21 PM, Lindenmaier, Goetz wrote: > Hi, > > this change contains the ppc c2 compiler port. The major > contribution is obviously the .ad file. > In addition, it contains a row of improvements in ppc > code already used, and fixups left over after the ppc_-prefix > removal. > http://cr.openjdk.java.net/~goetz/webrevs/8029940-0-c2/ > > The change touches only files of the ppc port. > > Please review and test this change. > > Please only push it after 219, as that's required to build > this change. > > (You might like the rules we use for matching StrIndexOf) > > Best regards, > Goetz. > From kirk at kodewerk.com Tue Dec 10 21:44:34 2013 From: kirk at kodewerk.com (Kirk Pepperdine) Date: Wed, 11 Dec 2013 06:44:34 +0100 Subject: proposal - dissolve the OpenJDK hsx Project after jdk8 ships In-Reply-To: <21159.33134.781615.819449@dhcp-santaclara22-3fl-west-10-132-189-151.usdhcp.oraclecorp.com> References: <21159.33134.781615.819449@dhcp-santaclara22-3fl-west-10-132-189-151.usdhcp.oraclecorp.com> Message-ID: Hi John, I don't get to vote but it seems sensible to couple a version of HotSpot to a version of the JDK. ---- Kirk Pepperdine On Dec 10, 2013, at 10:02 PM, John Coomes wrote: > The hsx Project was created to make hotspot development independent of > specific JDK releases, so the same source could then delivered into > multiple JDK releases simultaneously. This has worked pretty well for > a number of years, allowing us to get significant features and > performance improvements into shipping, supported JDK releases much > more quickly. > > However, it has also complicated hotspot development in several ways. > We have to maintain compatibility with multiple JDK > releases--supporting old operating systems, old tool chains and old > JDK APIs. It is also more difficult to make large-scale or behavioral > changes, since delivering into update releases requires a high degree > of compatibility and allows only a relatively short time for > stabilization. And there is also the overhead of a separate OpenJDK > Project, separate version tracking in the bug database and the mental > overhead of having to map a hotspot version to/from a jdk version. > > Further, because of compatibility concerns, we have not delivered the > same source into multiple JDK releases for more than 18 months, > incurring the costs without reaping the benefits. So I propose that > the hsx Project be dissolved after jdk8 has shipped, and that hotspot > development move to be more closely aligned with future JDK releases. > > In practical terms this means that: > > - the general process for delivering hotspot into jdk8 will > not change, to avoid disruption late in the release cycle. > The remaining critical fixes needed for jdk8 will continue to > be made in the existing hsx repos. > > - as the number of expected jdk8 fixes decreases to a trickle, > jdk8 development and testing should move from the hsx group > repos (e.g., hotspot-gc, hotspot-rt, etc.) to a single > stabilization repo (possibly hsx/hotspot-main). Alejandro > Murillo, the hotspot gatekeeper, will coordinate this. > > - hsx Project Author/Committer/Reviewer status will be > transferred to the new jdk9 [1] [2] and jdk8u [3] [4] > Projects. > > - the bulk of hotspot development will take place in new repos > that are part of the jdk9 project (e.g., > http://hg.openjdk.java.net/jdk9/hotspot-gc, > http://hg.openjdk.java.net/jdk9/hotspot-comp, etc.) > > - bug fixes appropriate for jdk8 update releases will have to > be selected and backported individually. I anticipate that a > new jdk8 update tree for hotspot will be created (name tbd), > so that we can continue to do pre-integration testing and bulk > integrations as we have done for jdk7 updates. > > - hotspot bugs for jdk9 and jdk8 updates will be tracked in > JBS using the jdk version number, not a separate hotspot > version number (e.g., we'll use '9' or '8u20' instead of > 'hs26' or 'hs25.20'). > > - after the last hotspot bug fix has been delivered to jdk8, > the hsx Project repos will become read-only and maintained > simply for archival purposes. > > Apologies for the length of this messages; I'm hoping to answer the > obvious questions in advance. Please follow up if you have comments > or if there are any I missed. > > -John > > [1] http://mail.openjdk.java.net/pipermail/announce/2013-October/000155.html > [2] http://mail.openjdk.java.net/pipermail/announce/2013-November/000156.html > [3] http://mail.openjdk.java.net/pipermail/announce/2013-December/000157.html > [4] http://mail.openjdk.java.net/pipermail/discuss/2013-December/thread.html From francis.andre.kampbell at orange.fr Tue Dec 10 22:34:01 2013 From: francis.andre.kampbell at orange.fr (Francis ANDRE) Date: Wed, 11 Dec 2013 07:34:01 +0100 Subject: [8] WXP minor fixes for a cleaner compile of c code In-Reply-To: <52A35FA1.8080802@orange.fr> References: <52A35FA1.8080802@orange.fr> Message-ID: <52A80759.6030305@orange.fr> Hi Below are some warnings produced by the build of jdk8. Z:/JDK/jdk8/jdk/src/share/native/java/lang/Throwable.c(48) : warning C4028: param?tre formel 3 diff?rent de la d?claration Z:/JDK/jdk8/jdk/src/windows/native/java/io/WinNTFileSystem_md.c(363) : warning C4101: 'pathlen': variable locale non r?f?renc?e Z:/JDK/jdk8/jdk/src/windows/native/common/jdk_util_md.c(45) : warning C4101: 'ret': variable locale non r?f?renc?e Z:/JDK/jdk8/jdk/src/share/bin/java.c(1253) : warning C4101: 'result': variable locale nonr?f?renc?e Z:/JDK/jdk8/jdk/src/share/bin/parse_manifest.c(196) : warning C4244: 'fonction': conversion de 'jlong' en 'unsigned int', perte possible de donn?es And here are the fixes diff --git a/src/share/bin/java.c b/src/share/bin/java.c --- a/src/share/bin/java.c +++ b/src/share/bin/java.c @@ -1250,7 +1250,6 @@ GetApplicationClass(JNIEnv *env) { jmethodID mid; - jobject result; jclass cls = GetLauncherHelperClass(env); NULL_CHECK0(cls); NULL_CHECK0(mid = (*env)->GetStaticMethodID(env, cls, diff --git a/src/share/bin/parse_manifest.c b/src/share/bin/parse_manifest.c --- a/src/share/bin/parse_manifest.c +++ b/src/share/bin/parse_manifest.c @@ -193,7 +193,7 @@ return (-1); if ((buffer = malloc(END_MAXLEN)) == NULL) return (-1); - if ((bytes = read(fd, buffer, len)) < 0) { + if ((bytes = read(fd, buffer, (size_t)len)) < 0) { free(buffer); return (-1); } diff --git a/src/share/native/java/lang/Throwable.c b/src/share/native/java/lang/Throwable.c --- a/src/share/native/java/lang/Throwable.c +++ b/src/share/native/java/lang/Throwable.c @@ -44,7 +44,7 @@ * `this' so you can write 'throw e.fillInStackTrace();' */ JNIEXPORT jobject JNICALL -Java_java_lang_Throwable_fillInStackTrace(JNIEnv *env, jobject throwable, int dummy) +Java_java_lang_Throwable_fillInStackTrace(JNIEnv *env, jobject throwable, jint dummy) { JVM_FillInStackTrace(env, throwable); return throwable; diff --git a/src/windows/native/common/jdk_util_md.c b/src/windows/native/common/jdk_util_md.c --- a/src/windows/native/common/jdk_util_md.c +++ b/src/windows/native/common/jdk_util_md.c @@ -42,7 +42,6 @@ JNIEXPORT HMODULE JDK_LoadSystemLibrary(const char* name) { HMODULE handle = NULL; char path[MAX_PATH]; - int ret; if (GetSystemDirectory(path, sizeof(path)) != 0) { strcat(path, "\\"); diff --git a/src/windows/native/java/io/WinNTFileSystem_md.c b/src/windows/native/java/io/WinNTFileSystem_md.c --- a/src/windows/native/java/io/WinNTFileSystem_md.c +++ b/src/windows/native/java/io/WinNTFileSystem_md.c @@ -360,7 +360,6 @@ jobject file) { jint rv = 0; - jint pathlen; WCHAR *pathbuf = fileToNTPath(env, file, ids.path); if (pathbuf == NULL) From staffan.larsen at oracle.com Tue Dec 10 23:21:26 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Wed, 11 Dec 2013 08:21:26 +0100 Subject: proposal - dissolve the OpenJDK hsx Project after jdk8 ships In-Reply-To: <21159.33134.781615.819449@dhcp-santaclara22-3fl-west-10-132-189-151.usdhcp.oraclecorp.com> References: <21159.33134.781615.819449@dhcp-santaclara22-3fl-west-10-132-189-151.usdhcp.oraclecorp.com> Message-ID: <7C167319-D6EB-403F-815B-32474AAF81F5@oracle.com> +1 On 10 dec 2013, at 22:02, John Coomes wrote: > The hsx Project was created to make hotspot development independent of > specific JDK releases, so the same source could then delivered into > multiple JDK releases simultaneously. This has worked pretty well for > a number of years, allowing us to get significant features and > performance improvements into shipping, supported JDK releases much > more quickly. > > However, it has also complicated hotspot development in several ways. > We have to maintain compatibility with multiple JDK > releases--supporting old operating systems, old tool chains and old > JDK APIs. It is also more difficult to make large-scale or behavioral > changes, since delivering into update releases requires a high degree > of compatibility and allows only a relatively short time for > stabilization. And there is also the overhead of a separate OpenJDK > Project, separate version tracking in the bug database and the mental > overhead of having to map a hotspot version to/from a jdk version. > > Further, because of compatibility concerns, we have not delivered the > same source into multiple JDK releases for more than 18 months, > incurring the costs without reaping the benefits. So I propose that > the hsx Project be dissolved after jdk8 has shipped, and that hotspot > development move to be more closely aligned with future JDK releases. > > In practical terms this means that: > > - the general process for delivering hotspot into jdk8 will > not change, to avoid disruption late in the release cycle. > The remaining critical fixes needed for jdk8 will continue to > be made in the existing hsx repos. > > - as the number of expected jdk8 fixes decreases to a trickle, > jdk8 development and testing should move from the hsx group > repos (e.g., hotspot-gc, hotspot-rt, etc.) to a single > stabilization repo (possibly hsx/hotspot-main). Alejandro > Murillo, the hotspot gatekeeper, will coordinate this. > > - hsx Project Author/Committer/Reviewer status will be > transferred to the new jdk9 [1] [2] and jdk8u [3] [4] > Projects. > > - the bulk of hotspot development will take place in new repos > that are part of the jdk9 project (e.g., > http://hg.openjdk.java.net/jdk9/hotspot-gc, > http://hg.openjdk.java.net/jdk9/hotspot-comp, etc.) > > - bug fixes appropriate for jdk8 update releases will have to > be selected and backported individually. I anticipate that a > new jdk8 update tree for hotspot will be created (name tbd), > so that we can continue to do pre-integration testing and bulk > integrations as we have done for jdk7 updates. > > - hotspot bugs for jdk9 and jdk8 updates will be tracked in > JBS using the jdk version number, not a separate hotspot > version number (e.g., we'll use '9' or '8u20' instead of > 'hs26' or 'hs25.20'). > > - after the last hotspot bug fix has been delivered to jdk8, > the hsx Project repos will become read-only and maintained > simply for archival purposes. > > Apologies for the length of this messages; I'm hoping to answer the > obvious questions in advance. Please follow up if you have comments > or if there are any I missed. > > -John > > [1] http://mail.openjdk.java.net/pipermail/announce/2013-October/000155.html > [2] http://mail.openjdk.java.net/pipermail/announce/2013-November/000156.html > [3] http://mail.openjdk.java.net/pipermail/announce/2013-December/000157.html > [4] http://mail.openjdk.java.net/pipermail/discuss/2013-December/thread.html From goetz.lindenmaier at sap.com Wed Dec 11 03:46:19 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Wed, 11 Dec 2013 11:46:19 +0000 Subject: RFR (S): 8029957: PPC64 (part 213): cppInterpreter: memory ordering for object initialization Message-ID: <4295855A5C1DE049A61835A1887419CC2CE707E1@DEWDFEMB12A.global.corp.sap> Hi, this change adds StoreStore barriers after object initialization and after constructor calls in the C++ interpreter. This assures no uninitialized objects or final fields are visible. http://cr.openjdk.java.net/~goetz/webrevs/8029957-0-moci/ Please review and test this change. Best regards, Goetz. From kevin.walls at oracle.com Wed Dec 11 04:29:34 2013 From: kevin.walls at oracle.com (kevin.walls at oracle.com) Date: Wed, 11 Dec 2013 12:29:34 +0000 Subject: hg: hsx/jdk7u/hotspot: 7133122: SA throws sun.jvm.hotspot.debugger.UnmappedAddressException when it should not Message-ID: <20131211122937.483E762BF0@hg.openjdk.java.net> Changeset: ff798ea71518 Author: vkempik Date: 2013-12-10 14:17 +0400 URL: http://hg.openjdk.java.net/hsx/jdk7u/hotspot/rev/ff798ea71518 7133122: SA throws sun.jvm.hotspot.debugger.UnmappedAddressException when it should not Summary: replace PT_LOAD segment with library segment when necessary Reviewed-by: dholmes, sla ! agent/src/os/linux/ps_core.c From markus.gronlund at oracle.com Wed Dec 11 05:07:10 2013 From: markus.gronlund at oracle.com (markus.gronlund at oracle.com) Date: Wed, 11 Dec 2013 13:07:10 +0000 Subject: hg: hsx/hotspot-main/hotspot: 7 new changesets Message-ID: <20131211130734.5B06262BF1@hg.openjdk.java.net> Changeset: 9a60f4ac6a37 Author: hseigel Date: 2013-12-04 08:10 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/9a60f4ac6a37 8027458: VM anonymous classes: wrong context for protected access checks Summary: Use the anonymous class's host class for protected access checks Reviewed-by: acorn, coleenp, lfoltan ! src/share/vm/runtime/reflection.cpp Changeset: a4f036ef52e8 Author: sla Date: 2013-12-04 14:43 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/a4f036ef52e8 8029395: SA: jstack throws WrongTypeException Summary: SA missed some TLABs Reviewed-by: dsamersoff, mgerdin, brutisso ! agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/ThreadLocalAllocBuffer.java Changeset: c586f8a7322f Author: mgronlun Date: 2013-12-05 12:35 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/c586f8a7322f 8028412: AsyncGetCallTrace() is broken on x86 in JDK 7u40 Reviewed-by: kvn, sspitsyn ! src/cpu/x86/vm/frame_x86.cpp Changeset: 769557390c43 Author: hseigel Date: 2013-12-06 11:33 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/769557390c43 8029415: java/lang/reflect/Method/invoke/TestPrivateInterfaceMethodReflect.java fails on all platforms with hs25-b61 Summary: Check first that a class is not a dynamically-generated bytecode associated with 1.4 reflection implementation, to emitting an ICCE of an invokespecial IMR of a method in an indirect superinterface. Reviewed-by: acorn, hseigel Contributed-by: lois.foltan at oracle.com ! src/share/vm/interpreter/linkResolver.cpp Changeset: a150ff9e8efc Author: hseigel Date: 2013-12-06 11:49 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/a150ff9e8efc Merge Changeset: bf15208b72a5 Author: mgronlun Date: 2013-12-08 18:00 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/bf15208b72a5 Merge Changeset: 9fbabcbb875b Author: hseigel Date: 2013-12-10 16:18 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/9fbabcbb875b 8028741: Interface Method Resolution should skip static and non-public methods in j.l.Object Summary: Implementation of JDK 8 JVMS 5.4.3.4 specification change to skip static and non-public methods of java.lang.Object for interface method resolution. Reviewed-by: acorn, coleenp Contributed-by: lois.foltan at oracle.com ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/interpreter/linkResolver.hpp ! test/runtime/8024804/RegisterNatives.java From vladimir.kozlov at oracle.com Wed Dec 11 08:50:42 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 11 Dec 2013 08:50:42 -0800 Subject: RFR (S): 8029957: PPC64 (part 213): cppInterpreter: memory ordering for object initialization In-Reply-To: <4295855A5C1DE049A61835A1887419CC2CE707E1@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC2CE707E1@DEWDFEMB12A.global.corp.sap> Message-ID: <52A897E2.9020806@oracle.com> Looks good. Vladimir On 12/11/13 3:46 AM, Lindenmaier, Goetz wrote: > Hi, > > this change adds StoreStore barriers after object initialization and > after constructor calls in the C++ interpreter. This assures no uninitialized > objects or final fields are visible. > http://cr.openjdk.java.net/~goetz/webrevs/8029957-0-moci/ > > Please review and test this change. > > Best regards, > Goetz. > From vladimir.kozlov at oracle.com Wed Dec 11 09:44:18 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 11 Dec 2013 09:44:18 -0800 Subject: Fwd: Re: RFR (XL): 8029940: PPC64 (part 122): C2 compiler port In-Reply-To: <52A8A3CC.6050508@oracle.com> References: <52A8A3CC.6050508@oracle.com> Message-ID: <52A8A472.5030405@oracle.com> On 12/11/13 2:59 AM, Lindenmaier, Goetz wrote: > Hi Vladimir, > > yes, I missed all relevant files -- It was just too late, sorry. > Now it's in there: > http://cr.openjdk.java.net/~goetz/webrevs/8029940-0-c2/ > > I fixed the isel assembler routines. Thanks. > I know the CC_INTERP stuff is not complete if you > switch it off. That's because my colleagues are working > on the template interpreter port, and I don't want to add > that yet. It's still changing too much. But in some places > I already added the defines, especially where they changed > code used in both cases. > I would appreciate if I could leave it that way. Yes, it is fine. I thought it is already final changes :) > > The atomic files have whitespace fixes. The comments were > no more aligned after the ppc_ prefix removal. Okay. We (Oracle) should fix webrev to show such changes. I had the same problem recently. > > We added _32 includes wherever we use a _64 include. > And we distinguished the two versions wherever it's done > so on x86/sparc. Okay. > > Thanks for pushing the other two changes! Once this one > is in, the compiler works quiet stable and with good performance. I have > two minor compiler fixes in the queue, but I want to test > first to see whether they are still needed. Why you need ppc_64.ad? Will you add code to it later? I looked through ppc.ad file briefly and did not find anything bad. I will not be able to review it in details (12K lines) so I will leave it to your judgement. c2_globals_ppc.hpp - from what you pushed I don't see changes for your Tiered compilation implementation. Do you use different flag? I am asking because I see your ReservedCodeCacheSize is big by default and for Tiered we increase it (in arguments.cpp): FLAG_SET_DEFAULT(ReservedCodeCacheSize, ReservedCodeCacheSize * 5); Is it okay with your tiered code? In general changes are good and you can push it since it does not have shared changes (nothing to test for JPRT). Thanks, Vladimir > > Best regards, > Goetz > > > > -----Original Message----- > From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] > Sent: Wednesday, December 11, 2013 1:01 AM > To: Lindenmaier, Goetz; 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' > Subject: Re: RFR (XL): 8029940: PPC64 (part 122): C2 compiler port > > I don't see .ad file. Did you do 'hg add'? > > assembler_ppc.inline.hpp: coding style in Assembler::isel() and > Assembler::isel_0(). Put if's body on separate line and use {}. > Variables definitions and assignments should be on separate lines. > > frame_ppc.cpp: three variables are defined under #ifdef CC_INTERP but > are used outside it. > sharedRuntime_ppc.cpp: has the same problem. > > interpreter_ppc.cpp: please, confirm that you need #ifdef CC_INTERP in > InterpreterGenerator::generate_abstract_entry() - you removed it in > other places in this file (except in > AbstractInterpreterGenerator::generate_slow_signature_handler()). > > register_definitions_ppc.cpp: why you need interp_masm_ppc_32.hpp? Just > curious. > > atomic_linux_ppc.inline.hpp and orderAccess_linux_ppc.inline.hpp: empty > diffs. Is it only spacing changes? > > Thanks, > Vladimir > > On 12/10/13 3:21 PM, Lindenmaier, Goetz wrote: >> Hi, >> >> this change contains the ppc c2 compiler port. The major >> contribution is obviously the .ad file. >> In addition, it contains a row of improvements in ppc >> code already used, and fixups left over after the ppc_-prefix >> removal. >> http://cr.openjdk.java.net/~goetz/webrevs/8029940-0-c2/ >> >> The change touches only files of the ppc port. >> >> Please review and test this change. >> >> Please only push it after 219, as that's required to build >> this change. >> >> (You might like the rules we use for matching StrIndexOf) >> >> Best regards, >> Goetz. >> From staffan.larsen at oracle.com Tue Dec 10 23:17:01 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Wed, 11 Dec 2013 08:17:01 +0100 Subject: [8] WXP minor fixes for a cleaner compile of c code In-Reply-To: <52A80759.6030305@orange.fr> References: <52A35FA1.8080802@orange.fr> <52A80759.6030305@orange.fr> Message-ID: <0FE6431B-8C3D-4B41-9ED6-63B7590BC575@oracle.com> I see you were directed here from the build-dev list. Unfortunately these are core library fixes, not hotspot fixes. I?ve added core-libs and bcc:d hotspot-dev. Thanks, /Staffan On 11 dec 2013, at 07:34, Francis ANDRE wrote: > > Hi > > Below are some warnings produced by the build of jdk8. > > Z:/JDK/jdk8/jdk/src/share/native/java/lang/Throwable.c(48) : warning C4028: > param?tre formel 3 diff?rent de la d?claration > Z:/JDK/jdk8/jdk/src/windows/native/java/io/WinNTFileSystem_md.c(363) : warning > C4101: 'pathlen': variable locale non r?f?renc?e > Z:/JDK/jdk8/jdk/src/windows/native/common/jdk_util_md.c(45) : warning C4101: > 'ret': variable locale non r?f?renc?e > Z:/JDK/jdk8/jdk/src/share/bin/java.c(1253) : warning C4101: 'result': variable > locale nonr?f?renc?e > Z:/JDK/jdk8/jdk/src/share/bin/parse_manifest.c(196) : warning C4244: 'fonction': > conversion de 'jlong' en 'unsigned int', perte possible de donn?es > > > > And here are the fixes > > diff --git a/src/share/bin/java.c b/src/share/bin/java.c > --- a/src/share/bin/java.c > +++ b/src/share/bin/java.c > @@ -1250,7 +1250,6 @@ > GetApplicationClass(JNIEnv *env) > { > jmethodID mid; > - jobject result; > jclass cls = GetLauncherHelperClass(env); > NULL_CHECK0(cls); > NULL_CHECK0(mid = (*env)->GetStaticMethodID(env, cls, > diff --git a/src/share/bin/parse_manifest.c b/src/share/bin/parse_manifest.c > --- a/src/share/bin/parse_manifest.c > +++ b/src/share/bin/parse_manifest.c > @@ -193,7 +193,7 @@ > return (-1); > if ((buffer = malloc(END_MAXLEN)) == NULL) > return (-1); > - if ((bytes = read(fd, buffer, len)) < 0) { > + if ((bytes = read(fd, buffer, (size_t)len)) < 0) { > free(buffer); > return (-1); > } > diff --git a/src/share/native/java/lang/Throwable.c > b/src/share/native/java/lang/Throwable.c > --- a/src/share/native/java/lang/Throwable.c > +++ b/src/share/native/java/lang/Throwable.c > @@ -44,7 +44,7 @@ > * `this' so you can write 'throw e.fillInStackTrace();' > */ > JNIEXPORT jobject JNICALL > -Java_java_lang_Throwable_fillInStackTrace(JNIEnv *env, jobject throwable, int > dummy) > +Java_java_lang_Throwable_fillInStackTrace(JNIEnv *env, jobject throwable, jint > dummy) > { > JVM_FillInStackTrace(env, throwable); > return throwable; > diff --git a/src/windows/native/common/jdk_util_md.c > b/src/windows/native/common/jdk_util_md.c > --- a/src/windows/native/common/jdk_util_md.c > +++ b/src/windows/native/common/jdk_util_md.c > @@ -42,7 +42,6 @@ > JNIEXPORT HMODULE JDK_LoadSystemLibrary(const char* name) { > HMODULE handle = NULL; > char path[MAX_PATH]; > - int ret; > > if (GetSystemDirectory(path, sizeof(path)) != 0) { > strcat(path, "\\"); > diff --git a/src/windows/native/java/io/WinNTFileSystem_md.c > b/src/windows/native/java/io/WinNTFileSystem_md.c > --- a/src/windows/native/java/io/WinNTFileSystem_md.c > +++ b/src/windows/native/java/io/WinNTFileSystem_md.c > @@ -360,7 +360,6 @@ > jobject file) > { > jint rv = 0; > - jint pathlen; > > WCHAR *pathbuf = fileToNTPath(env, file, ids.path); > if (pathbuf == NULL) > > > From daniel.daugherty at oracle.com Wed Dec 11 06:01:15 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 11 Dec 2013 07:01:15 -0700 Subject: [8] WXP minor fixes for a cleaner compile of c code In-Reply-To: <52A80759.6030305@orange.fr> References: <52A35FA1.8080802@orange.fr> <52A80759.6030305@orange.fr> Message-ID: <52A8702B.3040504@oracle.com> Adding Alan Bateman... Moving hotspot-dev at ... to BCC... These are fixes to the JDK repo... Alan, I'm not sure which JDK alias should get this... Dan On 12/10/13 11:34 PM, Francis ANDRE wrote: > > Hi > > Below are some warnings produced by the build of jdk8. > > Z:/JDK/jdk8/jdk/src/share/native/java/lang/Throwable.c(48) : warning > C4028: > param?tre formel 3 diff?rent de la d?claration > Z:/JDK/jdk8/jdk/src/windows/native/java/io/WinNTFileSystem_md.c(363) : > warning > C4101: 'pathlen': variable locale non r?f?renc?e > Z:/JDK/jdk8/jdk/src/windows/native/common/jdk_util_md.c(45) : warning > C4101: > 'ret': variable locale non r?f?renc?e > Z:/JDK/jdk8/jdk/src/share/bin/java.c(1253) : warning C4101: 'result': > variable > locale nonr?f?renc?e > Z:/JDK/jdk8/jdk/src/share/bin/parse_manifest.c(196) : warning C4244: > 'fonction': > conversion de 'jlong' en 'unsigned int', perte possible de donn?es > > > > And here are the fixes > > diff --git a/src/share/bin/java.c b/src/share/bin/java.c > --- a/src/share/bin/java.c > +++ b/src/share/bin/java.c > @@ -1250,7 +1250,6 @@ > GetApplicationClass(JNIEnv *env) > { > jmethodID mid; > - jobject result; > jclass cls = GetLauncherHelperClass(env); > NULL_CHECK0(cls); > NULL_CHECK0(mid = (*env)->GetStaticMethodID(env, cls, > diff --git a/src/share/bin/parse_manifest.c > b/src/share/bin/parse_manifest.c > --- a/src/share/bin/parse_manifest.c > +++ b/src/share/bin/parse_manifest.c > @@ -193,7 +193,7 @@ > return (-1); > if ((buffer = malloc(END_MAXLEN)) == NULL) > return (-1); > - if ((bytes = read(fd, buffer, len)) < 0) { > + if ((bytes = read(fd, buffer, (size_t)len)) < 0) { > free(buffer); > return (-1); > } > diff --git a/src/share/native/java/lang/Throwable.c > b/src/share/native/java/lang/Throwable.c > --- a/src/share/native/java/lang/Throwable.c > +++ b/src/share/native/java/lang/Throwable.c > @@ -44,7 +44,7 @@ > * `this' so you can write 'throw e.fillInStackTrace();' > */ > JNIEXPORT jobject JNICALL > -Java_java_lang_Throwable_fillInStackTrace(JNIEnv *env, jobject > throwable, int > dummy) > +Java_java_lang_Throwable_fillInStackTrace(JNIEnv *env, jobject > throwable, jint > dummy) > { > JVM_FillInStackTrace(env, throwable); > return throwable; > diff --git a/src/windows/native/common/jdk_util_md.c > b/src/windows/native/common/jdk_util_md.c > --- a/src/windows/native/common/jdk_util_md.c > +++ b/src/windows/native/common/jdk_util_md.c > @@ -42,7 +42,6 @@ > JNIEXPORT HMODULE JDK_LoadSystemLibrary(const char* name) { > HMODULE handle = NULL; > char path[MAX_PATH]; > - int ret; > > if (GetSystemDirectory(path, sizeof(path)) != 0) { > strcat(path, "\\"); > diff --git a/src/windows/native/java/io/WinNTFileSystem_md.c > b/src/windows/native/java/io/WinNTFileSystem_md.c > --- a/src/windows/native/java/io/WinNTFileSystem_md.c > +++ b/src/windows/native/java/io/WinNTFileSystem_md.c > @@ -360,7 +360,6 @@ > jobject file) > { > jint rv = 0; > - jint pathlen; > > WCHAR *pathbuf = fileToNTPath(env, file, ids.path); > if (pathbuf == NULL) > > > From vladimir.kozlov at oracle.com Wed Dec 11 09:41:32 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 11 Dec 2013 09:41:32 -0800 Subject: RFR (XL): 8029940: PPC64 (part 122): C2 compiler port In-Reply-To: <4295855A5C1DE049A61835A1887419CC2CE707C6@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC2CE70623@DEWDFEMB12A.global.corp.sap> <52A7AB4C.6020306@oracle.com> <4295855A5C1DE049A61835A1887419CC2CE707C6@DEWDFEMB12A.global.corp.sap> Message-ID: <52A8A3CC.6050508@oracle.com> On 12/11/13 2:59 AM, Lindenmaier, Goetz wrote: > Hi Vladimir, > > yes, I missed all relevant files -- It was just too late, sorry. > Now it's in there: > http://cr.openjdk.java.net/~goetz/webrevs/8029940-0-c2/ > > I fixed the isel assembler routines. Thanks. > I know the CC_INTERP stuff is not complete if you > switch it off. That's because my colleagues are working > on the template interpreter port, and I don't want to add > that yet. It's still changing too much. But in some places > I already added the defines, especially where they changed > code used in both cases. > I would appreciate if I could leave it that way. Yes, it is fine. I thought it is already final changes :) > > The atomic files have whitespace fixes. The comments were > no more aligned after the ppc_ prefix removal. Okay. We (Oracle) should fix webrev to show such changes. I had the same problem recently. > > We added _32 includes wherever we use a _64 include. > And we distinguished the two versions wherever it's done > so on x86/sparc. Okay. > > Thanks for pushing the other two changes! Once this one > is in, the compiler works quiet stable and with good performance. I have > two minor compiler fixes in the queue, but I want to test > first to see whether they are still needed. Why you need ppc_64.ad? Will you add code to it later? I looked through ppc.ad file briefly and did not find anything bad. I will not be able to review it in details (12K lines) so I will leave it to your judgement. c2_globals_ppc.hpp - from what you pushed I don't see changes for your Tiered compilation implementation. Do you use different flag? I am asking because I see your ReservedCodeCacheSize is big by default and for Tiered we increase it (in arguments.cpp): FLAG_SET_DEFAULT(ReservedCodeCacheSize, ReservedCodeCacheSize * 5); Is it okay with your tiered code? In general changes are good and you can push it since it does not have shared changes (nothing to test for JPRT). Thanks, Vladimir > > Best regards, > Goetz > > > > -----Original Message----- > From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] > Sent: Wednesday, December 11, 2013 1:01 AM > To: Lindenmaier, Goetz; 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' > Subject: Re: RFR (XL): 8029940: PPC64 (part 122): C2 compiler port > > I don't see .ad file. Did you do 'hg add'? > > assembler_ppc.inline.hpp: coding style in Assembler::isel() and > Assembler::isel_0(). Put if's body on separate line and use {}. > Variables definitions and assignments should be on separate lines. > > frame_ppc.cpp: three variables are defined under #ifdef CC_INTERP but > are used outside it. > sharedRuntime_ppc.cpp: has the same problem. > > interpreter_ppc.cpp: please, confirm that you need #ifdef CC_INTERP in > InterpreterGenerator::generate_abstract_entry() - you removed it in > other places in this file (except in > AbstractInterpreterGenerator::generate_slow_signature_handler()). > > register_definitions_ppc.cpp: why you need interp_masm_ppc_32.hpp? Just > curious. > > atomic_linux_ppc.inline.hpp and orderAccess_linux_ppc.inline.hpp: empty > diffs. Is it only spacing changes? > > Thanks, > Vladimir > > On 12/10/13 3:21 PM, Lindenmaier, Goetz wrote: >> Hi, >> >> this change contains the ppc c2 compiler port. The major >> contribution is obviously the .ad file. >> In addition, it contains a row of improvements in ppc >> code already used, and fixups left over after the ppc_-prefix >> removal. >> http://cr.openjdk.java.net/~goetz/webrevs/8029940-0-c2/ >> >> The change touches only files of the ppc port. >> >> Please review and test this change. >> >> Please only push it after 219, as that's required to build >> this change. >> >> (You might like the rules we use for matching StrIndexOf) >> >> Best regards, >> Goetz. >> From yumin.qi at oracle.com Wed Dec 11 15:51:25 2013 From: yumin.qi at oracle.com (yumin.qi at oracle.com) Date: Wed, 11 Dec 2013 23:51:25 +0000 Subject: hg: hsx/jdk7u/hotspot: 8029599: JVM crashes on solaris-i586 with -Xverify:all if stack overflow happens during recursive reflective call Message-ID: <20131211235131.44A5A62C10@hg.openjdk.java.net> Changeset: 032149b2891f Author: minqi Date: 2013-12-11 14:34 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/hotspot/rev/032149b2891f 8029599: JVM crashes on solaris-i586 with -Xverify:all if stack overflow happens during recursive reflective call Summary: More StackShadowPages needed to prevent java thread from crash in case of StackOverflowException happens on solaris x86. Reviewed-by: coleenp Contributed-by: yumin.qi at oracle.com ! src/cpu/x86/vm/globals_x86.hpp From erik.helin at oracle.com Thu Dec 12 08:09:16 2013 From: erik.helin at oracle.com (erik.helin at oracle.com) Date: Thu, 12 Dec 2013 16:09:16 +0000 Subject: hg: hsx/hotspot-main/hotspot: 4 new changesets Message-ID: <20131212160935.E0CF062C30@hg.openjdk.java.net> Changeset: 1de8e5356754 Author: ehelin Date: 2013-12-09 08:20 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/1de8e5356754 8029326: G1 does not check if threads gets created Reviewed-by: brutisso, jmasa, jwilhelm ! src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp Changeset: ad72068ac41e Author: sjohanss Date: 2013-12-10 10:31 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/ad72068ac41e 8028993: Full collections with ParallelScavenge slower in JDK 8 compared to 7u40 Summary: Reducing the number of calls to follow_class_loader to speed up the marking phase. Also removed some unnecessary calls to adjust_klass. Reviewed-by: stefank, jmasa, mgerdin ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp ! src/share/vm/oops/instanceClassLoaderKlass.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceMirrorKlass.cpp ! src/share/vm/oops/objArrayKlass.cpp ! src/share/vm/oops/oop.hpp ! src/share/vm/oops/oop.pcgc.inline.hpp Changeset: fa76dce60db7 Author: stefank Date: 2013-12-09 10:03 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/fa76dce60db7 8029106: JVM crashes in Metachunk::Metachunk during parallel class redefinition (PrivateMLetController, anonymous-simple_copy_1) Summary: Fixed overflow bug in VirtualSpaceNode::is_available Reviewed-by: mgerdin, brutisso, coleenp, jmasa ! src/share/vm/memory/metaspace.cpp Changeset: e3995ab44393 Author: ehelin Date: 2013-12-12 16:13 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/e3995ab44393 Merge From zhengyu.gu at oracle.com Thu Dec 12 08:46:06 2013 From: zhengyu.gu at oracle.com (Zhengyu Gu) Date: Thu, 12 Dec 2013 11:46:06 -0500 Subject: RFR: 7012961 runtime/jni/WindowsExceptionFilter/WindowsExceptionFilter01 crashes on windows-amd64 In-Reply-To: <52A9E412.2020305@oracle.com> References: <52A8A642.3000308@oracle.com> <52A9CE86.3090409@oracle.com> <52A9D762.5050406@oracle.com> <52A9E412.2020305@oracle.com> Message-ID: <52A9E84E.5030700@oracle.com> On 12/12/2013 11:28 AM, Daniel D. Daugherty wrote: > On 12/12/13 8:33 AM, Zhengyu Gu wrote: >> Hi Dan, >> >> I searched mercurial repo and related bugs which dated back jdk5, I >> could not find when it was disabled. The only comment that sheds some >> light, is that in original code: >> >> 2280 If EXCEPTION_FLT_* happened after some native method modified >> 2281 mxcsr - it is not a jvm fault. >> Did we move arithmetic calculations to intrinsic routines at some point? > > Yes. Over time we have added intrinsic versions of various routines > (arithmetic and others) as performance improvements; the Compiler Team > may know of the specific timeline for the various routines... > > So what you're saying here is that all the new code that is now > enabled on Win64 is necessary because you now need to handle > EXCEPTION_FLT_* on Win64 where before we only needed to handle > EXCEPTION_FLT_* on Win32. > > Do I have this right? Thanks for the insights. I can not tell if we see all EXCEPTION_FLT_* on Win64, this test case only confirms that EXCEPTION_FLT_DIVIDE_BY_ZERO is possible. I am not sure if we need to restore whole MxCsr, or only nonvolatile fields. Redirect the thread to hotspot-dev. Hopefully, compiler team can take a look. Thanks, -ZHengyu > > Dan > > >> >> Thanks, >> >> -Zhengyu >> >> >> On 12/12/2013 9:56 AM, Daniel D. Daugherty wrote: >>> Zhengyu, >>> >>> A little more explanation about the code that was previously disabled >>> on Win-64 and is now enabled would be helpful. It's difficult to see >>> your reasons for this change based on just the webrev. >>> >>> Dan >>> >>> >>> On 12/11/13 10:52 AM, Zhengyu Gu wrote: >>>> This is another nightly clean up bug, and it is targeted to JDK9. >>>> >>>> The comment on original code line 2280 - 2281 is not accurate, >>>> since compiled code and intrinsic routines also can cause >>>> EXCEPTION_FLT_*. This particular testcase actually triggers >>>> EXCEPTION_FLT_DIVIDE_BY_ZERO from intrinsic routine. >>>> >>>> >>>> Bug: https://bugs.openjdk.java.net/browse/JDK-7012961 >>>> Webrev: http://cr.openjdk.java.net/~zgu/7012961/webrev.00/ >>>> >>>> >>>> Test: >>>> Tested on Windows 64. >>>> >>>> Thanks, >>>> >>>> -Zhengyu >>> >> > From john.coomes at oracle.com Thu Dec 12 10:31:25 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Thu, 12 Dec 2013 18:31:25 +0000 Subject: hg: hsx/hotspot-main: 4 new changesets Message-ID: <20131212183125.B1A7162C38@hg.openjdk.java.net> Changeset: c009462c1e92 Author: erikj Date: 2013-12-04 12:45 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/rev/c009462c1e92 8027963: Create unlimited policy jars. Reviewed-by: wetmore, ihse ! common/autoconf/spec.gmk.in Changeset: f204455b60cc Author: lana Date: 2013-12-05 10:32 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/rev/f204455b60cc Merge Changeset: cd3825b29830 Author: ihse Date: 2013-12-09 14:43 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/rev/cd3825b29830 8029515: Building multiple configurations fails after removal of old build system Reviewed-by: erikj ! Makefile ! make/MakeHelpers.gmk Changeset: 1e1f86d5d4e2 Author: katleman Date: 2013-12-12 05:20 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/rev/1e1f86d5d4e2 Added tag jdk8-b120 for changeset cd3825b29830 ! .hgtags From john.coomes at oracle.com Thu Dec 12 10:31:33 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Thu, 12 Dec 2013 18:31:33 +0000 Subject: hg: hsx/hotspot-main/corba: Added tag jdk8-b120 for changeset 53fd772d28c8 Message-ID: <20131212183136.BEC7B62C39@hg.openjdk.java.net> Changeset: a7d3638deb2f Author: katleman Date: 2013-12-12 05:20 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/corba/rev/a7d3638deb2f Added tag jdk8-b120 for changeset 53fd772d28c8 ! .hgtags From john.coomes at oracle.com Thu Dec 12 10:31:54 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Thu, 12 Dec 2013 18:31:54 +0000 Subject: hg: hsx/hotspot-main/jaxp: 3 new changesets Message-ID: <20131212183212.9079B62C3A@hg.openjdk.java.net> Changeset: aed9ca4d33ec Author: joehw Date: 2013-12-04 00:17 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jaxp/rev/aed9ca4d33ec 8027973: Error in the documentation for newFactory method of the javax.xml.stream factories Reviewed-by: alanb, dfuchs, lancea, rriggs ! src/javax/xml/stream/FactoryFinder.java ! src/javax/xml/stream/XMLEventFactory.java ! src/javax/xml/stream/XMLInputFactory.java ! src/javax/xml/stream/XMLOutputFactory.java Changeset: 64d8b228a72c Author: lana Date: 2013-12-05 10:32 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jaxp/rev/64d8b228a72c Merge Changeset: 4045edd35e8b Author: katleman Date: 2013-12-12 05:21 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jaxp/rev/4045edd35e8b Added tag jdk8-b120 for changeset 64d8b228a72c ! .hgtags From john.coomes at oracle.com Thu Dec 12 10:32:30 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Thu, 12 Dec 2013 18:32:30 +0000 Subject: hg: hsx/hotspot-main/jaxws: Added tag jdk8-b120 for changeset 6c152deb600d Message-ID: <20131212183238.F1E5062C3B@hg.openjdk.java.net> Changeset: 32050ab53c8a Author: katleman Date: 2013-12-12 05:21 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jaxws/rev/32050ab53c8a Added tag jdk8-b120 for changeset 6c152deb600d ! .hgtags From john.coomes at oracle.com Thu Dec 12 10:34:23 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Thu, 12 Dec 2013 18:34:23 +0000 Subject: hg: hsx/hotspot-main/jdk: 60 new changesets Message-ID: <20131212184827.4DD3562C3C@hg.openjdk.java.net> Changeset: d30a92b7a0b5 Author: prr Date: 2013-12-03 09:35 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/d30a92b7a0b5 8029204: Printing a GlyphVector on Windows ignores position of first glyph Reviewed-by: jgodinez, bae ! src/windows/classes/sun/awt/windows/WPathGraphics.java + test/java/awt/print/PrinterJob/PrintGlyphVectorTest.java Changeset: b6bd334ebc4e Author: lana Date: 2013-12-03 17:58 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/b6bd334ebc4e Merge - make/PatchList.solaris - make/altclasses/Makefile - make/apple/Makefile - make/apple/applescript/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 - make/com/Makefile - make/com/apple/Makefile - make/com/apple/osx/Makefile - make/com/apple/osxui/Makefile - make/com/oracle/Makefile - make/com/oracle/jfr/Makefile - make/com/oracle/net/Makefile - make/com/oracle/nio/Makefile - make/com/oracle/security/ucrypto/FILES_c.gmk - make/com/oracle/security/ucrypto/Makefile - make/com/oracle/security/ucrypto/mapfile-vers - make/com/oracle/util/Makefile - make/com/sun/Makefile - make/com/sun/crypto/provider/Makefile - make/com/sun/demo/Makefile - make/com/sun/demo/jvmti/Makefile - make/com/sun/demo/jvmti/hprof/Makefile - make/com/sun/image/Makefile - make/com/sun/jarsigner/Makefile - make/com/sun/java/Makefile - make/com/sun/java/browser/Makefile - make/com/sun/java/browser/dom/Makefile - make/com/sun/java/browser/net/Makefile - make/com/sun/java/pack/FILES_cpp.gmk - make/com/sun/java/pack/Makefile - make/com/sun/java/pack/mapfile-vers - make/com/sun/java/pack/mapfile-vers-unpack200 - make/com/sun/java/pack/prop/Makefile - make/com/sun/jmx/Makefile - make/com/sun/jmx/snmp/Makefile - make/com/sun/jndi/Makefile - make/com/sun/jndi/cosnaming/Makefile - make/com/sun/jndi/dns/Makefile - make/com/sun/jndi/ldap/Makefile - make/com/sun/jndi/rmi/Makefile - make/com/sun/jndi/rmi/registry/Makefile - make/com/sun/jndi/toolkit/Makefile - make/com/sun/net/httpserver/Makefile - make/com/sun/net/ssl/Makefile - make/com/sun/nio/Makefile - make/com/sun/nio/sctp/Exportedfiles.gmk - make/com/sun/nio/sctp/FILES_c.gmk - make/com/sun/nio/sctp/FILES_java.gmk - make/com/sun/nio/sctp/Makefile - make/com/sun/nio/sctp/mapfile-vers - make/com/sun/org/Makefile - make/com/sun/org/apache/Makefile - make/com/sun/org/apache/xml/Makefile - make/com/sun/rowset/Makefile - make/com/sun/security/Makefile - make/com/sun/security/auth/FILES_java.gmk - make/com/sun/security/auth/Makefile - make/com/sun/security/auth/module/FILES_c_solaris.gmk - make/com/sun/security/auth/module/FILES_c_unix.gmk - make/com/sun/security/auth/module/FILES_c_windows.gmk - make/com/sun/security/auth/module/FILES_export_solaris.gmk - make/com/sun/security/auth/module/FILES_export_unix.gmk - make/com/sun/security/auth/module/FILES_export_windows.gmk - make/com/sun/security/auth/module/FILES_java.gmk - make/com/sun/security/auth/module/Makefile - make/com/sun/security/auth/module/mapfile-vers - make/com/sun/security/jgss/Makefile - make/com/sun/security/ntlm/Makefile - make/com/sun/security/sasl/Makefile - make/com/sun/sql/FILES_java.gmk - make/com/sun/sql/Makefile - make/com/sun/tools/Makefile - make/com/sun/tools/attach/Exportedfiles.gmk - make/com/sun/tools/attach/FILES_c.gmk - make/com/sun/tools/attach/FILES_java.gmk - make/com/sun/tools/attach/Makefile - make/com/sun/tools/attach/mapfile-bsd - make/com/sun/tools/attach/mapfile-linux - make/com/sun/tools/attach/mapfile-solaris - make/com/sun/tracing/Makefile - make/com/sun/tracing/dtrace/Makefile - make/common/BuildToolJar.gmk - make/common/CancelImplicits.gmk - make/common/Classes.gmk - make/common/Cscope.gmk - make/common/Defs-linux.gmk - make/common/Defs-macosx.gmk - make/common/Defs-solaris.gmk - make/common/Defs-windows.gmk - make/common/Defs.gmk - make/common/Demo.gmk - make/common/Library.gmk - make/common/Mapfile-vers.gmk - make/common/Program.gmk - make/common/Release-macosx.gmk - make/common/Release.gmk - make/common/Rules.gmk - make/common/Sanity.gmk - make/common/Subdirs.gmk - make/common/internal/Defs-corba.gmk - make/common/internal/Defs-jaxp.gmk - make/common/internal/Defs-jaxws.gmk - make/common/internal/Defs-langtools.gmk - make/common/internal/ImportComponents.gmk - make/common/internal/NativeCompileRules.gmk - make/common/internal/Resources.gmk - make/common/shared/Compiler-gcc.gmk - make/common/shared/Compiler-llvm.gmk - make/common/shared/Compiler-msvc.gmk - make/common/shared/Compiler-sun.gmk - make/common/shared/Defs-control.gmk - make/common/shared/Defs-java.gmk - make/common/shared/Defs-javadoc.gmk - make/common/shared/Defs-linux.gmk - make/common/shared/Defs-macosx.gmk - make/common/shared/Defs-solaris.gmk - make/common/shared/Defs-utils.gmk - make/common/shared/Defs-versions.gmk - make/common/shared/Defs-windows.gmk - make/common/shared/Defs.gmk - make/common/shared/Platform.gmk - make/common/shared/PrivateDefs.gmk-example - make/common/shared/Sanity-Settings.gmk - make/common/shared/Sanity.gmk - make/docs/CORE_PKGS.gmk - make/docs/Makefile - make/docs/NON_CORE_PKGS.gmk - make/docs/Notes.html - make/java/Makefile - make/java/applet/Makefile - make/java/awt/Makefile - make/java/beans/Makefile - make/java/fdlibm/FILES_c.gmk - make/java/fdlibm/Makefile - make/java/instrument/Makefile - make/java/instrument/mapfile-vers - make/java/invoke/Makefile - make/java/jar/Makefile - make/java/java/Exportedfiles.gmk - make/java/java/FILES_c.gmk - make/java/java/FILES_java.gmk - make/java/java/Makefile - make/java/java/genlocales.gmk - make/java/java/localegen.sh - make/java/java/localelist.sh - make/java/java/mapfile-vers - make/java/java/reflect/Makefile - make/java/java/reorder-i586 - make/java/java/reorder-sparc - make/java/java/reorder-sparcv9 - make/java/java_crw_demo/Makefile - make/java/java_crw_demo/mapfile-vers - make/java/java_hprof_demo/Makefile - make/java/java_hprof_demo/mapfile-vers - make/java/jexec/Makefile - make/java/jli/Makefile - make/java/jli/mapfile-vers - make/java/jobjc/Makefile - make/java/jvm/Makefile - make/java/logging/Makefile - make/java/main/Makefile - make/java/main/java/Makefile - make/java/main/java/mapfile-amd64 - make/java/main/java/mapfile-i586 - make/java/main/java/mapfile-sparc - make/java/main/java/mapfile-sparcv9 - make/java/main/javaw/Makefile - make/java/management/Exportedfiles.gmk - make/java/management/FILES_c.gmk - make/java/management/Makefile - make/java/management/mapfile-vers - make/java/math/Makefile - make/java/net/FILES_c.gmk - make/java/net/Makefile - make/java/net/mapfile-vers - make/java/nio/Exportedfiles.gmk - make/java/nio/FILES_c.gmk - make/java/nio/FILES_java.gmk - make/java/nio/Makefile - make/java/nio/addNotices.sh - make/java/nio/genBuffer.sh - make/java/nio/genCharsetProvider.sh - make/java/nio/genCoder.sh - make/java/nio/genExceptions.sh - make/java/nio/mapfile-bsd - make/java/nio/mapfile-linux - make/java/nio/mapfile-solaris - make/java/nio/reorder-i586 - make/java/nio/reorder-sparc - make/java/nio/reorder-sparcv9 - make/java/npt/Makefile - make/java/npt/mapfile-vers - make/java/redist/Makefile - make/java/redist/fonts/Makefile - make/java/redist/sajdi/Makefile - make/java/rmi/Makefile - make/java/security/Makefile - make/java/sql/Makefile - make/java/sun_nio/FILES_java.gmk - make/java/sun_nio/Makefile - make/java/text/Makefile - make/java/text/base/FILES_java.gmk - make/java/text/base/Makefile - make/java/text/bidi/Makefile - make/java/time/Makefile - make/java/util/FILES_java.gmk - make/java/util/FILES_properties.gmk - make/java/util/Makefile - make/java/verify/Makefile - make/java/verify/mapfile-vers - make/java/verify/reorder-i586 - make/java/verify/reorder-sparc - make/java/verify/reorder-sparcv9 - make/java/version/Makefile - make/java/zip/FILES_c.gmk - make/java/zip/FILES_java.gmk - make/java/zip/Makefile - make/java/zip/mapfile-vers - make/java/zip/reorder-i586 - make/java/zip/reorder-sparc - make/java/zip/reorder-sparcv9 - make/javax/Makefile - make/javax/accessibility/Makefile - make/javax/crypto/Defs-jce.gmk - make/javax/crypto/Makefile - make/javax/crypto/policy/limited/LIMITED - make/javax/crypto/policy/limited/default_local.policy - make/javax/crypto/policy/limited/exempt_local.policy - make/javax/crypto/policy/unlimited/UNLIMITED - make/javax/crypto/policy/unlimited/default_US_export.policy - make/javax/crypto/policy/unlimited/default_local.policy - make/javax/imageio/Makefile - make/javax/management/Makefile - make/javax/others/Makefile - make/javax/print/Makefile - make/javax/rmi/Makefile - make/javax/rmi/ssl/Makefile - make/javax/security/Makefile - make/javax/sound/FILES_c.gmk - make/javax/sound/Makefile - make/javax/sound/SoundDefs.gmk - make/javax/sound/jsoundalsa/Makefile - make/javax/sound/jsoundalsa/mapfile-vers - make/javax/sound/jsoundds/Makefile - make/javax/sound/mapfile-vers - make/javax/sql/Makefile - make/javax/swing/FILES.gmk - make/javax/swing/Makefile - make/javax/swing/beaninfo/FILES.gmk - make/javax/swing/beaninfo/Makefile - make/javax/swing/beaninfo/SwingBeans.gmk - make/javax/swing/beaninfo/manifest - make/javax/swing/html32dtd/Makefile - make/javax/swing/plaf/FILES.gmk - make/javax/swing/plaf/Makefile - make/jdk/Makefile - make/jdk_generic_profile.sh - make/jpda/Makefile - make/jpda/back/Makefile - make/jpda/back/mapfile-vers - make/jpda/bdi/Makefile - make/jpda/expr/Makefile - make/jpda/front/Makefile - make/jpda/gui/Makefile - make/jpda/jdwp/Makefile - make/jpda/jdwp/jdwp.spec - make/jpda/transport/Makefile - make/jpda/transport/shmem/Makefile - make/jpda/transport/shmem/mapfile-vers - make/jpda/transport/socket/Makefile - make/jpda/transport/socket/mapfile-vers - make/jpda/tty/Makefile - make/jprt.gmk - make/jprt.properties - make/launchers/Makefile - make/launchers/Makefile.launcher - make/mkdemo/Makefile - make/mkdemo/applets/Animator/Makefile - make/mkdemo/applets/ArcTest/Makefile - make/mkdemo/applets/BarChart/Makefile - make/mkdemo/applets/Blink/Makefile - make/mkdemo/applets/CardTest/Makefile - make/mkdemo/applets/Clock/Makefile - make/mkdemo/applets/DitherTest/Makefile - make/mkdemo/applets/DrawTest/Makefile - make/mkdemo/applets/Fractal/Makefile - make/mkdemo/applets/GraphLayout/Makefile - make/mkdemo/applets/GraphicsTest/Makefile - make/mkdemo/applets/JumpingBox/Makefile - make/mkdemo/applets/Makefile - make/mkdemo/applets/MoleculeViewer/Makefile - make/mkdemo/applets/NervousText/Makefile - make/mkdemo/applets/SimpleGraph/Makefile - make/mkdemo/applets/SortDemo/Makefile - make/mkdemo/applets/SpreadSheet/Makefile - make/mkdemo/applets/TicTacToe/Makefile - make/mkdemo/applets/WireFrame/Makefile - make/mkdemo/jfc/CodePointIM/Makefile - make/mkdemo/jfc/FileChooserDemo/Makefile - make/mkdemo/jfc/Font2DTest/Makefile - make/mkdemo/jfc/Java2D/Makefile - make/mkdemo/jfc/Laffy/Makefile - make/mkdemo/jfc/Makefile - make/mkdemo/jfc/Metalworks/Makefile - make/mkdemo/jfc/Notepad/Makefile - make/mkdemo/jfc/SampleTree/Makefile - make/mkdemo/jfc/Stylepad/Makefile - make/mkdemo/jfc/SwingApplet/Makefile - make/mkdemo/jfc/SwingSet2/Makefile - make/mkdemo/jfc/SwingSet3/Makefile - make/mkdemo/jfc/TableExample/Makefile - make/mkdemo/jfc/TransparentRuler/Makefile - make/mkdemo/jni/Makefile - make/mkdemo/jni/Poller/Makefile - make/mkdemo/jpda/Makefile - make/mkdemo/jvmti/Makefile - make/mkdemo/jvmti/README.txt - make/mkdemo/jvmti/compiledMethodLoad/Makefile - make/mkdemo/jvmti/gctest/Makefile - make/mkdemo/jvmti/heapTracker/Makefile - make/mkdemo/jvmti/heapViewer/Makefile - make/mkdemo/jvmti/hprof/Makefile - make/mkdemo/jvmti/mapfile-vers - make/mkdemo/jvmti/minst/Makefile - make/mkdemo/jvmti/mtrace/Makefile - make/mkdemo/jvmti/versionCheck/Makefile - make/mkdemo/jvmti/waiters/Makefile - make/mkdemo/management/FullThreadDump/Makefile - make/mkdemo/management/JTop/Makefile - make/mkdemo/management/Makefile - make/mkdemo/management/MemoryMonitor/Makefile - make/mkdemo/management/README.txt - make/mkdemo/management/VerboseGC/Makefile - make/mkdemo/nio/Makefile - make/mkdemo/nio/zipfs/Makefile - make/mkdemo/scripting/Makefile - make/mkdemo/scripting/jconsole-plugin/Makefile - make/mksample/Makefile - make/mksample/dtrace/Makefile - make/mksample/forkjoin/Makefile - make/mksample/forkjoin/mergesort/Makefile - make/mksample/jmx/Makefile - make/mksample/jmx/jmx-scandir/Makefile - make/mksample/nbproject/Makefile - make/mksample/nio/Makefile - make/mksample/nio/chatserver/Makefile - make/mksample/nio/file/Makefile - make/mksample/nio/multicast/Makefile - make/mksample/nio/server/Makefile - make/mksample/scripting/Makefile - make/mksample/scripting/scriptpad/Makefile - make/mksample/webservices/EbayClient/Makefile - make/mksample/webservices/EbayServer/Makefile - make/mksample/webservices/Makefile - make/org/Makefile - make/org/ietf/Makefile - make/org/ietf/jgss/FILES_java.gmk - make/org/ietf/jgss/Makefile - make/org/jcp/Makefile - make/sun/Makefile - make/sun/applet/Makefile - make/sun/audio/Makefile - make/sun/awt/CondenseRules.awk - make/sun/awt/Depend.mak - make/sun/awt/Depend.sed - make/sun/awt/FILES_c_unix.gmk - make/sun/awt/FILES_c_windows.gmk - make/sun/awt/FILES_export_unix.gmk - make/sun/awt/FILES_export_windows.gmk - make/sun/awt/Makefile - make/sun/awt/README - make/sun/awt/ToBin.java - make/sun/awt/make.depend - make/sun/awt/mapfile-mawt-vers - make/sun/awt/mapfile-vers - make/sun/awt/mapfile-vers-bsd - make/sun/awt/mapfile-vers-linux - make/sun/awt/mawt.gmk - make/sun/cldr/Makefile - make/sun/cmm/Makefile - make/sun/cmm/kcms/FILES_c_unix.gmk - make/sun/cmm/kcms/FILES_c_windows.gmk - make/sun/cmm/kcms/Makefile - make/sun/cmm/kcms/mapfile-vers - make/sun/cmm/lcms/FILES_c_unix.gmk - make/sun/cmm/lcms/FILES_c_windows.gmk - make/sun/cmm/lcms/Makefile - make/sun/cmm/lcms/mapfile-vers - make/sun/dcpr/FILES_c.gmk - make/sun/dcpr/Makefile - make/sun/dcpr/mapfile-vers - make/sun/font/FILES_c.gmk - make/sun/font/Makefile - make/sun/font/mapfile-vers - make/sun/font/mapfile-vers.openjdk - make/sun/font/reorder-i586 - make/sun/font/reorder-sparc - make/sun/font/reorder-sparcv9 - make/sun/font/t2k/FILES_c.gmk - make/sun/font/t2k/Makefile - make/sun/font/t2k/mapfile-vers - make/sun/headless/Makefile - make/sun/headless/mapfile-vers - make/sun/headless/reorder-i586 - make/sun/headless/reorder-sparc - make/sun/headless/reorder-sparcv9 - make/sun/image/Makefile - make/sun/image/generic/FILES_c.gmk - make/sun/image/generic/Makefile - make/sun/image/generic/mapfile-vers - make/sun/image/vis/FILES_c.gmk - make/sun/image/vis/Makefile - make/sun/jar/Makefile - make/sun/javazic/Makefile - make/sun/javazic/javatz/fullset.txt - make/sun/javazic/javatz/java_11_ids.txt - make/sun/javazic/javatz/java_us_ids.txt - make/sun/javazic/javatz/java_win_ids.txt - make/sun/javazic/javatz/java_zone_ids.txt - make/sun/javazic/javatz/jdk1.1.x_zone_ids.txt - make/sun/javazic/tzdata/VERSION - make/sun/javazic/tzdata/africa - make/sun/javazic/tzdata/antarctica - make/sun/javazic/tzdata/asia - make/sun/javazic/tzdata/australasia - make/sun/javazic/tzdata/backward - make/sun/javazic/tzdata/etcetera - make/sun/javazic/tzdata/europe - make/sun/javazic/tzdata/factory - make/sun/javazic/tzdata/gmt - make/sun/javazic/tzdata/iso3166.tab - make/sun/javazic/tzdata/jdk11_backward - make/sun/javazic/tzdata/leapseconds - make/sun/javazic/tzdata/northamerica - make/sun/javazic/tzdata/pacificnew - make/sun/javazic/tzdata/solar87 - make/sun/javazic/tzdata/solar88 - make/sun/javazic/tzdata/solar89 - make/sun/javazic/tzdata/southamerica - make/sun/javazic/tzdata/systemv - make/sun/javazic/tzdata/zone.tab - make/sun/javazic/tzdata_jdk/gmt - make/sun/javazic/tzdata_jdk/jdk11_backward - make/sun/javazic/tzdata_jdk/jdk11_full_backward - make/sun/jawt/Depend.mak - make/sun/jawt/Depend.sed - make/sun/jawt/Makefile - make/sun/jawt/make.depend - make/sun/jawt/mapfile-vers - make/sun/jconsole/FILES.gmk - make/sun/jconsole/Makefile - make/sun/jdga/Makefile - make/sun/jdga/mapfile-vers - make/sun/jpeg/FILES_c.gmk - make/sun/jpeg/Makefile - make/sun/jpeg/mapfile-vers - make/sun/jpeg/mapfile-vers-closed - make/sun/jpeg/reorder-i586 - make/sun/jpeg/reorder-sparc - make/sun/jpeg/reorder-sparcv9 - make/sun/launcher/Makefile - make/sun/lwawt/FILES_c_macosx.gmk - make/sun/lwawt/FILES_export_macosx.gmk - make/sun/lwawt/Makefile - make/sun/management/Makefile - make/sun/management/jmxremote/Makefile - make/sun/management/snmp/Makefile - make/sun/misc/Makefile - make/sun/native2ascii/Makefile - make/sun/net/FILES_java.gmk - make/sun/net/Makefile - make/sun/net/others/Makefile - make/sun/net/spi/Makefile - make/sun/net/spi/nameservice/Makefile - make/sun/net/spi/nameservice/dns/Makefile - make/sun/nio/Makefile - make/sun/nio/cs/FILES_java.gmk - make/sun/nio/cs/Makefile - make/sun/osxapp/Makefile - make/sun/osxapp/ToBin.java - make/sun/pisces/Makefile - make/sun/rmi/Makefile - make/sun/rmi/cgi/Makefile - make/sun/rmi/oldtools/FILES_java.gmk - make/sun/rmi/oldtools/Makefile - make/sun/rmi/registry/Makefile - make/sun/rmi/rmi/Makefile - make/sun/rmi/rmi/mapfile-vers - make/sun/rmi/rmic/FILES.gmk - make/sun/rmi/rmic/Makefile - make/sun/rmi/rmid/Makefile - make/sun/security/Makefile - make/sun/security/action/Makefile - make/sun/security/ec/FILES_c.gmk - make/sun/security/ec/Makefile - make/sun/security/ec/mapfile-vers - make/sun/security/jgss/Makefile - make/sun/security/jgss/wrapper/FILES_c.gmk - make/sun/security/jgss/wrapper/Makefile - make/sun/security/jgss/wrapper/mapfile-vers - make/sun/security/krb5/FILES_c_windows.gmk - make/sun/security/krb5/Makefile - make/sun/security/mscapi/FILES_cpp.gmk - make/sun/security/mscapi/Makefile - make/sun/security/other/Makefile - make/sun/security/pkcs11/FILES_c.gmk - make/sun/security/pkcs11/Makefile - make/sun/security/pkcs11/mapfile-vers - make/sun/security/smartcardio/FILES_c.gmk - make/sun/security/smartcardio/Makefile - make/sun/security/smartcardio/mapfile-vers - make/sun/security/tools/Makefile - make/sun/security/util/Makefile - make/sun/serialver/Makefile - make/sun/splashscreen/FILES_c.gmk - make/sun/splashscreen/Makefile - make/sun/splashscreen/mapfile-vers - make/sun/text/FILES_java.gmk - make/sun/text/FILES_properties.gmk - make/sun/text/Makefile - make/sun/tools/Makefile - make/sun/tracing/Makefile - make/sun/tracing/dtrace/Makefile - make/sun/tracing/dtrace/mapfile-vers - make/sun/tzdb/Makefile - make/sun/usagetracker/Makefile - make/sun/util/Makefile - make/sun/xawt/FILES_c_unix.gmk - make/sun/xawt/FILES_export_unix.gmk - make/sun/xawt/Makefile - make/sun/xawt/mapfile-vers - make/templates/bsd-header - make/templates/gpl-cp-header - make/templates/gpl-header - make/tools/CharsetMapping/Big5.map - make/tools/CharsetMapping/Big5.nr - make/tools/CharsetMapping/DoubleByte-X.java.template - make/tools/CharsetMapping/EUC_CN.map - make/tools/CharsetMapping/EUC_KR.map - make/tools/CharsetMapping/GBK.map - make/tools/CharsetMapping/HKSCS2001.c2b - make/tools/CharsetMapping/HKSCS2001.map - make/tools/CharsetMapping/HKSCS2008.c2b - make/tools/CharsetMapping/HKSCS2008.map - make/tools/CharsetMapping/HKSCS_XP.c2b - make/tools/CharsetMapping/HKSCS_XP.map - make/tools/CharsetMapping/IBM037.c2b - make/tools/CharsetMapping/IBM037.map - make/tools/CharsetMapping/IBM037.nr - make/tools/CharsetMapping/IBM1006.map - make/tools/CharsetMapping/IBM1025.c2b - make/tools/CharsetMapping/IBM1025.map - make/tools/CharsetMapping/IBM1025.nr - make/tools/CharsetMapping/IBM1026.c2b - make/tools/CharsetMapping/IBM1026.map - make/tools/CharsetMapping/IBM1026.nr - make/tools/CharsetMapping/IBM1046.map - make/tools/CharsetMapping/IBM1047.map - make/tools/CharsetMapping/IBM1097.map - make/tools/CharsetMapping/IBM1098.map - make/tools/CharsetMapping/IBM1112.c2b - make/tools/CharsetMapping/IBM1112.map - make/tools/CharsetMapping/IBM1112.nr - make/tools/CharsetMapping/IBM1122.c2b - make/tools/CharsetMapping/IBM1122.map - make/tools/CharsetMapping/IBM1122.nr - make/tools/CharsetMapping/IBM1123.c2b - make/tools/CharsetMapping/IBM1123.map - make/tools/CharsetMapping/IBM1123.nr - make/tools/CharsetMapping/IBM1124.map - make/tools/CharsetMapping/IBM1140.c2b - make/tools/CharsetMapping/IBM1140.map - make/tools/CharsetMapping/IBM1141.c2b - make/tools/CharsetMapping/IBM1141.map - make/tools/CharsetMapping/IBM1142.c2b - make/tools/CharsetMapping/IBM1142.map - make/tools/CharsetMapping/IBM1143.c2b - make/tools/CharsetMapping/IBM1143.map - make/tools/CharsetMapping/IBM1144.c2b - make/tools/CharsetMapping/IBM1144.map - make/tools/CharsetMapping/IBM1145.c2b - make/tools/CharsetMapping/IBM1145.map - make/tools/CharsetMapping/IBM1146.c2b - make/tools/CharsetMapping/IBM1146.map - make/tools/CharsetMapping/IBM1147.c2b - make/tools/CharsetMapping/IBM1147.map - make/tools/CharsetMapping/IBM1148.c2b - make/tools/CharsetMapping/IBM1148.map - make/tools/CharsetMapping/IBM1149.c2b - make/tools/CharsetMapping/IBM1149.map - make/tools/CharsetMapping/IBM1364.c2b - make/tools/CharsetMapping/IBM1364.map - make/tools/CharsetMapping/IBM1381.c2b - make/tools/CharsetMapping/IBM1381.map - make/tools/CharsetMapping/IBM1383.c2b - make/tools/CharsetMapping/IBM1383.map - make/tools/CharsetMapping/IBM1383.nr - make/tools/CharsetMapping/IBM273.c2b - make/tools/CharsetMapping/IBM273.map - make/tools/CharsetMapping/IBM273.nr - make/tools/CharsetMapping/IBM277.c2b - make/tools/CharsetMapping/IBM277.map - make/tools/CharsetMapping/IBM277.nr - make/tools/CharsetMapping/IBM278.c2b - make/tools/CharsetMapping/IBM278.map - make/tools/CharsetMapping/IBM278.nr - make/tools/CharsetMapping/IBM280.c2b - make/tools/CharsetMapping/IBM280.map - make/tools/CharsetMapping/IBM280.nr - make/tools/CharsetMapping/IBM284.c2b - make/tools/CharsetMapping/IBM284.map - make/tools/CharsetMapping/IBM284.nr - make/tools/CharsetMapping/IBM285.c2b - make/tools/CharsetMapping/IBM285.map - make/tools/CharsetMapping/IBM285.nr - make/tools/CharsetMapping/IBM290.c2b - make/tools/CharsetMapping/IBM290.map - make/tools/CharsetMapping/IBM297.c2b - make/tools/CharsetMapping/IBM297.map - make/tools/CharsetMapping/IBM297.nr - make/tools/CharsetMapping/IBM300.c2b - make/tools/CharsetMapping/IBM300.map - make/tools/CharsetMapping/IBM420.c2b - make/tools/CharsetMapping/IBM420.map - make/tools/CharsetMapping/IBM420.nr - make/tools/CharsetMapping/IBM424.c2b - make/tools/CharsetMapping/IBM424.map - make/tools/CharsetMapping/IBM424.nr - make/tools/CharsetMapping/IBM437.map - make/tools/CharsetMapping/IBM500.c2b - make/tools/CharsetMapping/IBM500.map - make/tools/CharsetMapping/IBM500.nr - make/tools/CharsetMapping/IBM737.map - make/tools/CharsetMapping/IBM775.map - make/tools/CharsetMapping/IBM833.c2b - make/tools/CharsetMapping/IBM833.map - make/tools/CharsetMapping/IBM838.c2b - make/tools/CharsetMapping/IBM838.map - make/tools/CharsetMapping/IBM838.nr - make/tools/CharsetMapping/IBM850.map - make/tools/CharsetMapping/IBM852.map - make/tools/CharsetMapping/IBM855.map - make/tools/CharsetMapping/IBM856.map - make/tools/CharsetMapping/IBM857.map - make/tools/CharsetMapping/IBM858.map - make/tools/CharsetMapping/IBM860.map - make/tools/CharsetMapping/IBM861.map - make/tools/CharsetMapping/IBM862.map - make/tools/CharsetMapping/IBM863.map - make/tools/CharsetMapping/IBM864.map - make/tools/CharsetMapping/IBM865.map - make/tools/CharsetMapping/IBM866.map - make/tools/CharsetMapping/IBM868.map - make/tools/CharsetMapping/IBM869.map - make/tools/CharsetMapping/IBM870.c2b - make/tools/CharsetMapping/IBM870.map - make/tools/CharsetMapping/IBM870.nr - make/tools/CharsetMapping/IBM871.c2b - make/tools/CharsetMapping/IBM871.map - make/tools/CharsetMapping/IBM871.nr - make/tools/CharsetMapping/IBM874.map - make/tools/CharsetMapping/IBM874.nr - make/tools/CharsetMapping/IBM875.c2b - make/tools/CharsetMapping/IBM875.map - make/tools/CharsetMapping/IBM875.nr - make/tools/CharsetMapping/IBM918.c2b - make/tools/CharsetMapping/IBM918.map - make/tools/CharsetMapping/IBM918.nr - make/tools/CharsetMapping/IBM921.map - make/tools/CharsetMapping/IBM922.map - make/tools/CharsetMapping/IBM930.c2b - make/tools/CharsetMapping/IBM930.map - make/tools/CharsetMapping/IBM930.nr - make/tools/CharsetMapping/IBM933.c2b - make/tools/CharsetMapping/IBM933.map - make/tools/CharsetMapping/IBM935.c2b - make/tools/CharsetMapping/IBM935.map - make/tools/CharsetMapping/IBM935.nr - make/tools/CharsetMapping/IBM937.c2b - make/tools/CharsetMapping/IBM937.map - make/tools/CharsetMapping/IBM937.nr - make/tools/CharsetMapping/IBM939.c2b - make/tools/CharsetMapping/IBM939.map - make/tools/CharsetMapping/IBM939.nr - make/tools/CharsetMapping/IBM942.c2b - make/tools/CharsetMapping/IBM942.map - make/tools/CharsetMapping/IBM943.map - make/tools/CharsetMapping/IBM943.nr - make/tools/CharsetMapping/IBM948.c2b - make/tools/CharsetMapping/IBM948.map - make/tools/CharsetMapping/IBM949.map - make/tools/CharsetMapping/IBM950.c2b - make/tools/CharsetMapping/IBM950.map - make/tools/CharsetMapping/IBM970.c2b - make/tools/CharsetMapping/IBM970.map - make/tools/CharsetMapping/ISO_8859_11.map - make/tools/CharsetMapping/ISO_8859_13.map - make/tools/CharsetMapping/ISO_8859_15.map - make/tools/CharsetMapping/ISO_8859_2.map - make/tools/CharsetMapping/ISO_8859_3.map - make/tools/CharsetMapping/ISO_8859_4.map - make/tools/CharsetMapping/ISO_8859_5.map - make/tools/CharsetMapping/ISO_8859_6.map - make/tools/CharsetMapping/ISO_8859_7.map - make/tools/CharsetMapping/ISO_8859_8.map - make/tools/CharsetMapping/ISO_8859_9.map - make/tools/CharsetMapping/JIS_X_0201.c2b - make/tools/CharsetMapping/JIS_X_0201.map - make/tools/CharsetMapping/JIS_X_0208.map - make/tools/CharsetMapping/JIS_X_0208_MS5022X.c2b - make/tools/CharsetMapping/JIS_X_0208_MS5022X.map - make/tools/CharsetMapping/JIS_X_0208_MS932.map - make/tools/CharsetMapping/JIS_X_0208_MS932.nr - make/tools/CharsetMapping/JIS_X_0208_Solaris.map - make/tools/CharsetMapping/JIS_X_0208_Solaris.nr - make/tools/CharsetMapping/JIS_X_0212.map - make/tools/CharsetMapping/JIS_X_0212_MS5022X.map - make/tools/CharsetMapping/JIS_X_0212_Solaris.map - make/tools/CharsetMapping/JIS_X_0212_Solaris.nr - make/tools/CharsetMapping/Johab.map - make/tools/CharsetMapping/KOI8_R.map - make/tools/CharsetMapping/KOI8_U.map - make/tools/CharsetMapping/MS1250.map - make/tools/CharsetMapping/MS1251.map - make/tools/CharsetMapping/MS1252.map - make/tools/CharsetMapping/MS1253.map - make/tools/CharsetMapping/MS1254.map - make/tools/CharsetMapping/MS1255.map - make/tools/CharsetMapping/MS1256.map - make/tools/CharsetMapping/MS1257.map - make/tools/CharsetMapping/MS1258.map - make/tools/CharsetMapping/MS874.map - make/tools/CharsetMapping/MS932.c2b - make/tools/CharsetMapping/MS932.map - make/tools/CharsetMapping/MS932.nr - make/tools/CharsetMapping/MS936.map - make/tools/CharsetMapping/MS949.map - make/tools/CharsetMapping/MS950.map - make/tools/CharsetMapping/MS950.nr - make/tools/CharsetMapping/MacArabic.map - make/tools/CharsetMapping/MacCentralEurope.map - make/tools/CharsetMapping/MacCroatian.map - make/tools/CharsetMapping/MacCyrillic.map - make/tools/CharsetMapping/MacDingbat.map - make/tools/CharsetMapping/MacGreek.map - make/tools/CharsetMapping/MacHebrew.map - make/tools/CharsetMapping/MacIceland.map - make/tools/CharsetMapping/MacRoman.map - make/tools/CharsetMapping/MacRomania.map - make/tools/CharsetMapping/MacSymbol.map - make/tools/CharsetMapping/MacThai.map - make/tools/CharsetMapping/MacTurkish.map - make/tools/CharsetMapping/MacUkraine.map - make/tools/CharsetMapping/Makefile - make/tools/CharsetMapping/PCK.c2b - make/tools/CharsetMapping/PCK.map - make/tools/CharsetMapping/PCK.nr - make/tools/CharsetMapping/SJIS.c2b - make/tools/CharsetMapping/SJIS.map - make/tools/CharsetMapping/SingleByte-X.java.template - make/tools/CharsetMapping/TIS_620.map - make/tools/CharsetMapping/dbcs - make/tools/CharsetMapping/euc_tw.map - make/tools/CharsetMapping/extsbcs - make/tools/CharsetMapping/sbcs - make/tools/CharsetMapping/sjis0213.map - make/tools/GenerateCharacter/Character.c.template - make/tools/GenerateCharacter/CharacterData00.java.template - make/tools/GenerateCharacter/CharacterData01.java.template - make/tools/GenerateCharacter/CharacterData02.java.template - make/tools/GenerateCharacter/CharacterData0E.java.template - make/tools/GenerateCharacter/CharacterDataLatin1.java.template - make/tools/GenerateCharacter/CharacterDataPrivateUse.java.template - make/tools/GenerateCharacter/CharacterDataUndefined.java.template - make/tools/GenerateCharacter/Makefile - make/tools/GenerateCharacter/check_class.c.template - make/tools/Makefile - make/tools/README.txt - make/tools/UnicodeData/PropList.txt - make/tools/UnicodeData/Scripts.txt - make/tools/UnicodeData/SpecialCasing.txt - make/tools/UnicodeData/UnicodeData.txt - make/tools/UnicodeData/VERSION - make/tools/add_gnu_debuglink/Makefile - make/tools/add_gnu_debuglink/add_gnu_debuglink.c - make/tools/addjsum/Makefile - make/tools/addtorestrictedpkgs/Makefile - make/tools/buildmetaindex/Makefile - make/tools/cldrconverter/Makefile - make/tools/commentchecker/Makefile - make/tools/compile_font_config/Makefile - make/tools/compile_properties/Makefile - make/tools/dir_diff/Makefile - make/tools/dtdbuilder/Makefile - make/tools/dtdbuilder/dtds/HTMLlat1.sgml - make/tools/dtdbuilder/dtds/HTMLspecial.sgml - make/tools/dtdbuilder/dtds/HTMLsymbol.sgml - make/tools/dtdbuilder/dtds/html32.dtd - make/tools/dtdbuilder/dtds/public.map - make/tools/fix_empty_sec_hdr_flags/Makefile - make/tools/fix_empty_sec_hdr_flags/fix_empty_sec_hdr_flags.c - make/tools/freetypecheck/Makefile - make/tools/freetypecheck/freetypecheck.c - make/tools/generate_break_iterator/Makefile - make/tools/generate_nimbus/Makefile - make/tools/generatecurrencydata/Makefile - make/tools/hasher_classes/Makefile - make/tools/jarreorder/Makefile - make/tools/jarsplit/Makefile - make/tools/jdwpgen/Makefile - make/tools/makeclasslist/Makefile - make/tools/manifest.mf - make/tools/msys_build_scripts/dospath.sh - make/tools/msys_build_scripts/dospath.vbs - make/tools/reorder/Makefile - make/tools/reorder/tests/Exit.java - make/tools/reorder/tests/Hello.java - make/tools/reorder/tests/IntToString.java - make/tools/reorder/tests/JHello.java - make/tools/reorder/tests/LoadFrame.java - make/tools/reorder/tests/LoadJFrame.java - make/tools/reorder/tests/LoadToolkit.java - make/tools/reorder/tests/Null.java - make/tools/reorder/tests/Sleep.java - make/tools/reorder/tools/Combine.java - make/tools/reorder/tools/MaxTime.java - make/tools/reorder/tools/mcount.c - make/tools/reorder/tools/remove_mcount.c - make/tools/reorder/tools/util-i586.il - make/tools/reorder/tools/util-sparc.il - make/tools/reorder/tools/util-sparcv9.il - make/tools/sharing/README.txt - make/tools/sharing/classlist.linux - make/tools/sharing/classlist.macosx - make/tools/sharing/classlist.solaris - make/tools/sharing/classlist.windows - make/tools/sharing/tests/GHello.java - make/tools/sharing/tests/Hello.java - make/tools/sharing/tests/JHello.java - make/tools/spp/Makefile - make/tools/src/build/tools/addjsum/AddJsum.java - make/tools/src/build/tools/addtorestrictedpkgs/AddToRestrictedPkgs.java - make/tools/src/build/tools/buildmetaindex/BuildMetaIndex.java - make/tools/src/build/tools/charsetmapping/DBCS.java - make/tools/src/build/tools/charsetmapping/EUC_TW.java - make/tools/src/build/tools/charsetmapping/HKSCS.java - make/tools/src/build/tools/charsetmapping/JIS0213.java - make/tools/src/build/tools/charsetmapping/Main.java - make/tools/src/build/tools/charsetmapping/SBCS.java - make/tools/src/build/tools/charsetmapping/Utils.java - make/tools/src/build/tools/classfile/RemoveMethods.java - make/tools/src/build/tools/cldrconverter/AbstractLDMLHandler.java - make/tools/src/build/tools/cldrconverter/Bundle.java - make/tools/src/build/tools/cldrconverter/BundleGenerator.java - make/tools/src/build/tools/cldrconverter/CLDRConverter.java - make/tools/src/build/tools/cldrconverter/CalendarType.java - make/tools/src/build/tools/cldrconverter/Container.java - make/tools/src/build/tools/cldrconverter/CopyrightHeaders.java - make/tools/src/build/tools/cldrconverter/Entry.java - make/tools/src/build/tools/cldrconverter/IgnoredContainer.java - make/tools/src/build/tools/cldrconverter/KeyContainer.java - make/tools/src/build/tools/cldrconverter/LDMLParseHandler.java - make/tools/src/build/tools/cldrconverter/MetaZonesParseHandler.java - make/tools/src/build/tools/cldrconverter/NumberingSystemsParseHandler.java - make/tools/src/build/tools/cldrconverter/ResourceBundleGenerator.java - make/tools/src/build/tools/cldrconverter/StringArrayElement.java - make/tools/src/build/tools/cldrconverter/StringArrayEntry.java - make/tools/src/build/tools/cldrconverter/StringEntry.java - make/tools/src/build/tools/cldrconverter/SupplementDataParseHandler.java - make/tools/src/build/tools/commentchecker/CommentChecker.java - make/tools/src/build/tools/compilefontconfig/CompileFontConfig.java - make/tools/src/build/tools/compileproperties/CompileProperties.java - make/tools/src/build/tools/deps/CheckDeps.java - make/tools/src/build/tools/deps/refs.allowed - make/tools/src/build/tools/dirdiff/DirDiff.java - make/tools/src/build/tools/dtdbuilder/DTDBuilder.java - make/tools/src/build/tools/dtdbuilder/DTDInputStream.java - make/tools/src/build/tools/dtdbuilder/DTDParser.java - make/tools/src/build/tools/dtdbuilder/PublicMapping.java - make/tools/src/build/tools/dtdbuilder/README.txt - make/tools/src/build/tools/generatebreakiteratordata/BreakIteratorRBControl.java - make/tools/src/build/tools/generatebreakiteratordata/CharSet.java - make/tools/src/build/tools/generatebreakiteratordata/CharacterCategory.java - make/tools/src/build/tools/generatebreakiteratordata/DictionaryBasedBreakIteratorBuilder.java - make/tools/src/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java - make/tools/src/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java - make/tools/src/build/tools/generatebreakiteratordata/SupplementaryCharacterData.java - make/tools/src/build/tools/generatecharacter/CharacterName.java - make/tools/src/build/tools/generatecharacter/CharacterScript.java - make/tools/src/build/tools/generatecharacter/GenerateCharacter.java - make/tools/src/build/tools/generatecharacter/PrintCharacterRanges.java - make/tools/src/build/tools/generatecharacter/PropList.java - make/tools/src/build/tools/generatecharacter/SpecialCaseMap.java - make/tools/src/build/tools/generatecharacter/UnicodeSpec.java - make/tools/src/build/tools/generatecharacter/Utility.java - make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java - make/tools/src/build/tools/generatenimbus/AbstractGradient.java - make/tools/src/build/tools/generatenimbus/Border.java - make/tools/src/build/tools/generatenimbus/Canvas.java - make/tools/src/build/tools/generatenimbus/ComponentColor.java - make/tools/src/build/tools/generatenimbus/Dimension.java - make/tools/src/build/tools/generatenimbus/Ellipse.java - make/tools/src/build/tools/generatenimbus/Generator.java - make/tools/src/build/tools/generatenimbus/Gradient.java - make/tools/src/build/tools/generatenimbus/GradientStop.java - make/tools/src/build/tools/generatenimbus/Insets.java - make/tools/src/build/tools/generatenimbus/Layer.java - make/tools/src/build/tools/generatenimbus/Matte.java - make/tools/src/build/tools/generatenimbus/ObjectFactory.java - make/tools/src/build/tools/generatenimbus/Paint.java - make/tools/src/build/tools/generatenimbus/PainterGenerator.java - make/tools/src/build/tools/generatenimbus/Path.java - make/tools/src/build/tools/generatenimbus/Point.java - make/tools/src/build/tools/generatenimbus/RadialGradient.java - make/tools/src/build/tools/generatenimbus/Rectangle.java - make/tools/src/build/tools/generatenimbus/Shape.java - make/tools/src/build/tools/generatenimbus/SynthModel.java - make/tools/src/build/tools/generatenimbus/Typeface.java - make/tools/src/build/tools/generatenimbus/UIColor.java - make/tools/src/build/tools/generatenimbus/UIComponent.java - make/tools/src/build/tools/generatenimbus/UIDefault.java - make/tools/src/build/tools/generatenimbus/UIFont.java - make/tools/src/build/tools/generatenimbus/UIIconRegion.java - make/tools/src/build/tools/generatenimbus/UIProperty.java - make/tools/src/build/tools/generatenimbus/UIRegion.java - make/tools/src/build/tools/generatenimbus/UIState.java - make/tools/src/build/tools/generatenimbus/UIStateType.java - make/tools/src/build/tools/generatenimbus/UIStyle.java - make/tools/src/build/tools/generatenimbus/Utils.java - make/tools/src/build/tools/hasher/Hasher.java - make/tools/src/build/tools/jarreorder/JarReorder.java - make/tools/src/build/tools/jarsplit/JarSplit.java - make/tools/src/build/tools/jdwpgen/AbstractCommandNode.java - make/tools/src/build/tools/jdwpgen/AbstractGroupNode.java - make/tools/src/build/tools/jdwpgen/AbstractNamedNode.java - make/tools/src/build/tools/jdwpgen/AbstractSimpleNode.java - make/tools/src/build/tools/jdwpgen/AbstractSimpleTypeNode.java - make/tools/src/build/tools/jdwpgen/AbstractTypeListNode.java - make/tools/src/build/tools/jdwpgen/AbstractTypeNode.java - make/tools/src/build/tools/jdwpgen/AltNode.java - make/tools/src/build/tools/jdwpgen/ArrayObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/ArrayRegionTypeNode.java - make/tools/src/build/tools/jdwpgen/ArrayTypeNode.java - make/tools/src/build/tools/jdwpgen/BooleanTypeNode.java - make/tools/src/build/tools/jdwpgen/ByteTypeNode.java - make/tools/src/build/tools/jdwpgen/ClassLoaderObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/ClassObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/ClassTypeNode.java - make/tools/src/build/tools/jdwpgen/CommandNode.java - make/tools/src/build/tools/jdwpgen/CommandSetNode.java - make/tools/src/build/tools/jdwpgen/CommentNode.java - make/tools/src/build/tools/jdwpgen/ConstantNode.java - make/tools/src/build/tools/jdwpgen/ConstantSetNode.java - make/tools/src/build/tools/jdwpgen/Context.java - make/tools/src/build/tools/jdwpgen/ErrorNode.java - make/tools/src/build/tools/jdwpgen/ErrorSetNode.java - make/tools/src/build/tools/jdwpgen/EventNode.java - make/tools/src/build/tools/jdwpgen/FieldTypeNode.java - make/tools/src/build/tools/jdwpgen/FrameTypeNode.java - make/tools/src/build/tools/jdwpgen/GroupNode.java - make/tools/src/build/tools/jdwpgen/IntTypeNode.java - make/tools/src/build/tools/jdwpgen/InterfaceTypeNode.java - make/tools/src/build/tools/jdwpgen/LocationTypeNode.java - make/tools/src/build/tools/jdwpgen/LongTypeNode.java - make/tools/src/build/tools/jdwpgen/Main.java - make/tools/src/build/tools/jdwpgen/MethodTypeNode.java - make/tools/src/build/tools/jdwpgen/NameNode.java - make/tools/src/build/tools/jdwpgen/NameValueNode.java - make/tools/src/build/tools/jdwpgen/Node.java - make/tools/src/build/tools/jdwpgen/ObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/OutNode.java - make/tools/src/build/tools/jdwpgen/Parse.java - make/tools/src/build/tools/jdwpgen/ReferenceIDTypeNode.java - make/tools/src/build/tools/jdwpgen/ReferenceTypeNode.java - make/tools/src/build/tools/jdwpgen/RepeatNode.java - make/tools/src/build/tools/jdwpgen/ReplyNode.java - make/tools/src/build/tools/jdwpgen/RootNode.java - make/tools/src/build/tools/jdwpgen/SelectNode.java - make/tools/src/build/tools/jdwpgen/StringObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/StringTypeNode.java - make/tools/src/build/tools/jdwpgen/TaggedObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/ThreadGroupObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/ThreadObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/TypeNode.java - make/tools/src/build/tools/jdwpgen/UntaggedValueTypeNode.java - make/tools/src/build/tools/jdwpgen/ValueTypeNode.java - make/tools/src/build/tools/makeclasslist/MakeClasslist.java - make/tools/src/build/tools/spp/Spp.java - make/tools/src/build/tools/stripproperties/StripProperties.java - 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/strip_properties/Makefile - make/tools/swing-beans/DocBeanInfo.java - make/tools/swing-beans/GenDocletBeanInfo.java - make/tools/swing-beans/GenSwingBeanInfo.java - make/tools/swing-beans/SwingBeanInfo.template - make/tools/swing-beans/beaninfo/images/AbstractButtonColor16.gif - make/tools/swing-beans/beaninfo/images/BorderColor16.gif - make/tools/swing-beans/beaninfo/images/BoxColor16.gif - make/tools/swing-beans/beaninfo/images/BoxColor32.gif - make/tools/swing-beans/beaninfo/images/BoxMono16.gif - make/tools/swing-beans/beaninfo/images/BoxMono32.gif - make/tools/swing-beans/beaninfo/images/JAppletColor16.gif - make/tools/swing-beans/beaninfo/images/JAppletColor32.gif - make/tools/swing-beans/beaninfo/images/JAppletMono16.gif - make/tools/swing-beans/beaninfo/images/JAppletMono32.gif - make/tools/swing-beans/beaninfo/images/JButtonColor16.gif - make/tools/swing-beans/beaninfo/images/JButtonColor32.gif - make/tools/swing-beans/beaninfo/images/JButtonMono16.gif - make/tools/swing-beans/beaninfo/images/JButtonMono32.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxColor16.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxColor32.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxMenuItemColor16.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxMenuItemColor32.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxMenuItemMono16.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxMenuItemMono32.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxMono16.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxMono32.gif - make/tools/swing-beans/beaninfo/images/JColorChooserColor16.gif - make/tools/swing-beans/beaninfo/images/JColorChooserColor32.gif - make/tools/swing-beans/beaninfo/images/JColorChooserMono16.gif - make/tools/swing-beans/beaninfo/images/JColorChooserMono32.gif - make/tools/swing-beans/beaninfo/images/JComboBoxColor16.gif - make/tools/swing-beans/beaninfo/images/JComboBoxColor32.gif - make/tools/swing-beans/beaninfo/images/JComboBoxMono16.gif - make/tools/swing-beans/beaninfo/images/JComboBoxMono32.gif - make/tools/swing-beans/beaninfo/images/JComponentColor16.gif - make/tools/swing-beans/beaninfo/images/JDesktopPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JDesktopPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JDesktopPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JDesktopPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JDialogColor16.gif - make/tools/swing-beans/beaninfo/images/JDialogColor32.gif - make/tools/swing-beans/beaninfo/images/JDialogMono16.gif - make/tools/swing-beans/beaninfo/images/JDialogMono32.gif - make/tools/swing-beans/beaninfo/images/JEditorPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JEditorPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JEditorPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JEditorPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JFileChooserColor16.gif - make/tools/swing-beans/beaninfo/images/JFileChooserColor32.gif - make/tools/swing-beans/beaninfo/images/JFileChooserMono16.gif - make/tools/swing-beans/beaninfo/images/JFileChooserMono32.gif - make/tools/swing-beans/beaninfo/images/JFormattedTextFieldColor16.gif - make/tools/swing-beans/beaninfo/images/JFormattedTextFieldColor32.gif - make/tools/swing-beans/beaninfo/images/JFormattedTextFieldMono16.gif - make/tools/swing-beans/beaninfo/images/JFormattedTextFieldMono32.gif - make/tools/swing-beans/beaninfo/images/JFrameColor16.gif - make/tools/swing-beans/beaninfo/images/JFrameColor32.gif - make/tools/swing-beans/beaninfo/images/JFrameMono16.gif - make/tools/swing-beans/beaninfo/images/JFrameMono32.gif - make/tools/swing-beans/beaninfo/images/JInternalFrameColor16.gif - make/tools/swing-beans/beaninfo/images/JInternalFrameColor32.gif - make/tools/swing-beans/beaninfo/images/JInternalFrameMono16.gif - make/tools/swing-beans/beaninfo/images/JInternalFrameMono32.gif - make/tools/swing-beans/beaninfo/images/JLabelColor16.gif - make/tools/swing-beans/beaninfo/images/JLabelColor32.gif - make/tools/swing-beans/beaninfo/images/JLabelMono16.gif - make/tools/swing-beans/beaninfo/images/JLabelMono32.gif - make/tools/swing-beans/beaninfo/images/JLayeredPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JLayeredPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JLayeredPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JLayeredPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JListColor16.gif - make/tools/swing-beans/beaninfo/images/JListColor32.gif - make/tools/swing-beans/beaninfo/images/JListMono16.gif - make/tools/swing-beans/beaninfo/images/JListMono32.gif - make/tools/swing-beans/beaninfo/images/JMenuBarColor16.gif - make/tools/swing-beans/beaninfo/images/JMenuBarColor32.gif - make/tools/swing-beans/beaninfo/images/JMenuBarMono16.gif - make/tools/swing-beans/beaninfo/images/JMenuBarMono32.gif - make/tools/swing-beans/beaninfo/images/JMenuColor16.gif - make/tools/swing-beans/beaninfo/images/JMenuColor32.gif - make/tools/swing-beans/beaninfo/images/JMenuItemColor16.gif - make/tools/swing-beans/beaninfo/images/JMenuItemColor32.gif - make/tools/swing-beans/beaninfo/images/JMenuItemMono16.gif - make/tools/swing-beans/beaninfo/images/JMenuItemMono32.gif - make/tools/swing-beans/beaninfo/images/JMenuMono16.gif - make/tools/swing-beans/beaninfo/images/JMenuMono32.gif - make/tools/swing-beans/beaninfo/images/JOptionPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JOptionPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JOptionPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JOptionPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JPanelColor16.gif - make/tools/swing-beans/beaninfo/images/JPanelColor32.gif - make/tools/swing-beans/beaninfo/images/JPanelMono16.gif - make/tools/swing-beans/beaninfo/images/JPanelMono32.gif - make/tools/swing-beans/beaninfo/images/JPasswordFieldColor16.gif - make/tools/swing-beans/beaninfo/images/JPasswordFieldColor32.gif - make/tools/swing-beans/beaninfo/images/JPasswordFieldMono16.gif - make/tools/swing-beans/beaninfo/images/JPasswordFieldMono32.gif - make/tools/swing-beans/beaninfo/images/JPopupMenuColor16.gif - make/tools/swing-beans/beaninfo/images/JPopupMenuColor32.gif - make/tools/swing-beans/beaninfo/images/JPopupMenuMono16.gif - make/tools/swing-beans/beaninfo/images/JPopupMenuMono32.gif - make/tools/swing-beans/beaninfo/images/JProgressBarColor16.gif - make/tools/swing-beans/beaninfo/images/JProgressBarColor32.gif - make/tools/swing-beans/beaninfo/images/JProgressBarMono16.gif - make/tools/swing-beans/beaninfo/images/JProgressBarMono32.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonColor16.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonColor32.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonMenuItemColor16.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonMenuItemColor32.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonMenuItemMono16.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonMenuItemMono32.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonMono16.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonMono32.gif - make/tools/swing-beans/beaninfo/images/JRootPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JRootPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JRootPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JRootPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JScrollBarColor16.gif - make/tools/swing-beans/beaninfo/images/JScrollBarColor32.gif - make/tools/swing-beans/beaninfo/images/JScrollBarMono16.gif - make/tools/swing-beans/beaninfo/images/JScrollBarMono32.gif - make/tools/swing-beans/beaninfo/images/JScrollPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JScrollPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JScrollPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JScrollPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JSeparatorColor16.gif - make/tools/swing-beans/beaninfo/images/JSeparatorColor32.gif - make/tools/swing-beans/beaninfo/images/JSeparatorMono16.gif - make/tools/swing-beans/beaninfo/images/JSeparatorMono32.gif - make/tools/swing-beans/beaninfo/images/JSliderColor16.gif - make/tools/swing-beans/beaninfo/images/JSliderColor32.gif - make/tools/swing-beans/beaninfo/images/JSliderMono16.gif - make/tools/swing-beans/beaninfo/images/JSliderMono32.gif - make/tools/swing-beans/beaninfo/images/JSpinnerColor16.gif - make/tools/swing-beans/beaninfo/images/JSpinnerColor32.gif - make/tools/swing-beans/beaninfo/images/JSpinnerMono16.gif - make/tools/swing-beans/beaninfo/images/JSpinnerMono32.gif - make/tools/swing-beans/beaninfo/images/JSplitPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JSplitPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JSplitPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JSplitPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JTabbedPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JTabbedPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JTabbedPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JTabbedPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JTableColor16.gif - make/tools/swing-beans/beaninfo/images/JTableColor32.gif - make/tools/swing-beans/beaninfo/images/JTableMono16.gif - make/tools/swing-beans/beaninfo/images/JTableMono32.gif - make/tools/swing-beans/beaninfo/images/JTextAreaColor16.gif - make/tools/swing-beans/beaninfo/images/JTextAreaColor32.gif - make/tools/swing-beans/beaninfo/images/JTextAreaMono16.gif - make/tools/swing-beans/beaninfo/images/JTextAreaMono32.gif - make/tools/swing-beans/beaninfo/images/JTextFieldColor16.gif - make/tools/swing-beans/beaninfo/images/JTextFieldColor32.gif - make/tools/swing-beans/beaninfo/images/JTextFieldMono16.gif - make/tools/swing-beans/beaninfo/images/JTextFieldMono32.gif - make/tools/swing-beans/beaninfo/images/JTextPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JTextPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JTextPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JTextPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JToggleButtonColor16.gif - make/tools/swing-beans/beaninfo/images/JToggleButtonColor32.gif - make/tools/swing-beans/beaninfo/images/JToggleButtonMono16.gif - make/tools/swing-beans/beaninfo/images/JToggleButtonMono32.gif - make/tools/swing-beans/beaninfo/images/JToolBarColor16.gif - make/tools/swing-beans/beaninfo/images/JToolBarColor32.gif - make/tools/swing-beans/beaninfo/images/JToolBarMono16.gif - make/tools/swing-beans/beaninfo/images/JToolBarMono32.gif - make/tools/swing-beans/beaninfo/images/JTreeColor16.gif - make/tools/swing-beans/beaninfo/images/JTreeColor32.gif - make/tools/swing-beans/beaninfo/images/JTreeMono16.gif - make/tools/swing-beans/beaninfo/images/JTreeMono32.gif - make/tools/swing-beans/beaninfo/images/JViewportColor16.gif - make/tools/swing-beans/beaninfo/images/JViewportColor32.gif - make/tools/swing-beans/beaninfo/images/JViewportMono16.gif - make/tools/swing-beans/beaninfo/images/JViewportMono32.gif - make/tools/swing-beans/beaninfo/images/JWindowColor16.gif - make/tools/swing-beans/beaninfo/images/JWindowColor32.gif - make/tools/swing-beans/beaninfo/images/JWindowMono16.gif - make/tools/swing-beans/beaninfo/images/JWindowMono32.gif - make/tools/swing-beans/javax/swing/SwingBeanInfoBase.java - make/tools/swing-beans/sun/swing/BeanInfoUtils.java - make/tools/tzdb/Makefile - makefiles/BuildJdk.gmk - makefiles/Bundles.gmk - makefiles/CompileDemos.gmk - makefiles/CompileJavaClasses.gmk - makefiles/CompileLaunchers.gmk - makefiles/CompileNativeLibraries.gmk - makefiles/CopyFiles.gmk - makefiles/CopyIntoClasses.gmk - makefiles/CopySamples.gmk - makefiles/CreateJars.gmk - makefiles/CreateSecurityJars.gmk - makefiles/GenerateClasses.gmk - makefiles/GenerateData.gmk - makefiles/GenerateSources.gmk - makefiles/Images.gmk - makefiles/Import.gmk - makefiles/Makefile - makefiles/PatchList.solaris - makefiles/ProfileNames.gmk - makefiles/Profiles.gmk - makefiles/Setup.gmk - makefiles/SignJars.gmk - makefiles/Tools.gmk - makefiles/gendata/GendataBreakIterator.gmk - makefiles/gendata/GendataFontConfig.gmk - makefiles/gendata/GendataHtml32dtd.gmk - makefiles/gendata/GendataTZDB.gmk - makefiles/gendata/GendataTimeZone.gmk - makefiles/gensrc/GensrcBuffer.gmk - makefiles/gensrc/GensrcCLDR.gmk - makefiles/gensrc/GensrcCharacterData.gmk - makefiles/gensrc/GensrcCharsetCoder.gmk - makefiles/gensrc/GensrcCharsetMapping.gmk - makefiles/gensrc/GensrcExceptions.gmk - makefiles/gensrc/GensrcIcons.gmk - makefiles/gensrc/GensrcJDWP.gmk - makefiles/gensrc/GensrcJObjC.gmk - makefiles/gensrc/GensrcLocaleDataMetaInfo.gmk - makefiles/gensrc/GensrcMisc.gmk - makefiles/gensrc/GensrcProperties.gmk - makefiles/gensrc/GensrcSwing.gmk - makefiles/gensrc/GensrcX11Wrappers.gmk - makefiles/jpda/jdwp/jdwp.spec - makefiles/jprt.gmk - makefiles/jprt.properties - makefiles/lib/Awt2dLibraries.gmk - makefiles/lib/CoreLibraries.gmk - makefiles/lib/NetworkingLibraries.gmk - makefiles/lib/NioLibraries.gmk - makefiles/lib/PlatformLibraries.gmk - makefiles/lib/SecurityLibraries.gmk - makefiles/lib/ServiceabilityLibraries.gmk - makefiles/lib/SoundLibraries.gmk - makefiles/mapfiles/launchers/mapfile-sparc - makefiles/mapfiles/launchers/mapfile-sparcv9 - makefiles/mapfiles/launchers/mapfile-x86 - makefiles/mapfiles/launchers/mapfile-x86_64 - makefiles/mapfiles/libattach/mapfile-linux - makefiles/mapfiles/libattach/mapfile-solaris - makefiles/mapfiles/libattach/reorder-windows-x86 - makefiles/mapfiles/libattach/reorder-windows-x86_64 - makefiles/mapfiles/libawt/mapfile-mawt-vers - makefiles/mapfiles/libawt/mapfile-vers - makefiles/mapfiles/libawt/mapfile-vers-linux - makefiles/mapfiles/libawt_headless/mapfile-vers - makefiles/mapfiles/libawt_headless/reorder-sparc - makefiles/mapfiles/libawt_headless/reorder-sparcv9 - makefiles/mapfiles/libawt_headless/reorder-x86 - makefiles/mapfiles/libawt_xawt/mapfile-vers - makefiles/mapfiles/libdcpr/mapfile-vers - makefiles/mapfiles/libdt_socket/mapfile-vers - makefiles/mapfiles/libfontmanager/mapfile-vers - makefiles/mapfiles/libfontmanager/mapfile-vers.openjdk - makefiles/mapfiles/libhprof/mapfile-vers - makefiles/mapfiles/libinstrument/mapfile-vers - makefiles/mapfiles/libj2gss/mapfile-vers - makefiles/mapfiles/libj2pcsc/mapfile-vers - makefiles/mapfiles/libj2pkcs11/mapfile-vers - makefiles/mapfiles/libj2ucrypto/mapfile-vers - makefiles/mapfiles/libjaas/mapfile-vers - makefiles/mapfiles/libjava/mapfile-vers - makefiles/mapfiles/libjava/reorder-sparc - makefiles/mapfiles/libjava/reorder-sparcv9 - makefiles/mapfiles/libjava/reorder-x86 - makefiles/mapfiles/libjava_crw_demo/mapfile-vers - makefiles/mapfiles/libjawt/mapfile-vers - makefiles/mapfiles/libjdga/mapfile-vers - makefiles/mapfiles/libjdwp/mapfile-vers - makefiles/mapfiles/libjfr/mapfile-vers - makefiles/mapfiles/libjli/mapfile-vers - makefiles/mapfiles/libjpeg/mapfile-vers - makefiles/mapfiles/libjpeg/mapfile-vers-closed - makefiles/mapfiles/libjpeg/reorder-sparc - makefiles/mapfiles/libjpeg/reorder-sparcv9 - makefiles/mapfiles/libjpeg/reorder-x86 - makefiles/mapfiles/libjsdt/mapfile-vers - makefiles/mapfiles/libjsound/mapfile-vers - makefiles/mapfiles/libjsoundalsa/mapfile-vers - makefiles/mapfiles/libkcms/mapfile-vers - makefiles/mapfiles/liblcms/mapfile-vers - makefiles/mapfiles/libmanagement/mapfile-vers - makefiles/mapfiles/libmlib_image/mapfile-vers - makefiles/mapfiles/libnet/mapfile-vers - makefiles/mapfiles/libnio/mapfile-linux - makefiles/mapfiles/libnio/mapfile-macosx - makefiles/mapfiles/libnio/mapfile-solaris - makefiles/mapfiles/libnio/reorder-sparc - makefiles/mapfiles/libnio/reorder-sparcv9 - makefiles/mapfiles/libnio/reorder-x86 - makefiles/mapfiles/libnpt/mapfile-vers - makefiles/mapfiles/libsctp/mapfile-vers - makefiles/mapfiles/libsplashscreen/mapfile-vers - makefiles/mapfiles/libsunec/mapfile-vers - makefiles/mapfiles/libt2k/mapfile-vers - makefiles/mapfiles/libunpack/mapfile-vers - makefiles/mapfiles/libunpack/mapfile-vers-unpack200 - makefiles/mapfiles/libverify/mapfile-vers - makefiles/mapfiles/libverify/reorder-sparc - makefiles/mapfiles/libverify/reorder-sparcv9 - makefiles/mapfiles/libverify/reorder-x86 - makefiles/mapfiles/libzip/mapfile-vers - makefiles/mapfiles/libzip/reorder-sparc - makefiles/mapfiles/libzip/reorder-sparcv9 - makefiles/mapfiles/libzip/reorder-x86 - makefiles/profile-includes.txt - makefiles/profile-rtjar-includes.txt - makefiles/scripts/addNotices.sh - makefiles/scripts/genCharsetProvider.sh - makefiles/scripts/genExceptions.sh - makefiles/scripts/localelist.sh - makefiles/sun/awt/ToBin.java - makefiles/sun/osxapp/ToBin.java - test/java/lang/instrument/PremainClass/NoPremainAgent.sh - test/java/lang/instrument/PremainClass/PremainClassTest.sh - test/java/lang/instrument/PremainClass/ZeroArgPremainAgent.sh - test/java/text/Bidi/Bug6665028.java - test/javax/xml/jaxp/transform/jdk8004476/SecureProcessingTest.xml - test/javax/xml/jaxp/transform/jdk8004476/TestBase.java - test/javax/xml/jaxp/transform/jdk8004476/XPathExFuncTest.java - test/javax/xml/jaxp/transform/jdk8004476/XSLTExFuncTest.java - test/javax/xml/jaxp/transform/jdk8004476/tokenize.xml - test/javax/xml/jaxp/transform/jdk8004476/tokenize.xsl - test/sun/management/jmxremote/bootstrap/solaris-i586/launcher - test/sun/management/jmxremote/bootstrap/solaris-sparc/launcher Changeset: ddf4d1c3385d Author: lana Date: 2013-12-05 10:30 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/ddf4d1c3385d Merge Changeset: 3aab01f03bb7 Author: pchelko Date: 2013-11-29 11:08 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/3aab01f03bb7 7152982: [TEST_BUG][macosx] Extremely unstable mouse modifiers test Reviewed-by: anthony, serb ! test/java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Extra.java Changeset: abfde064573b Author: serb Date: 2013-11-29 16:12 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/abfde064573b 8029010: [macosx] Need test for JDK-7124513 Reviewed-by: pchelko, alexsch + test/javax/swing/JFrame/NSTexturedJFrame/NSTexturedJFrame.java Changeset: 4f6ea4c78627 Author: pchelko Date: 2013-11-29 16:43 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/4f6ea4c78627 7178682: [TEST_BUG][macosx] Mouse Pressed event can't be monitored for DisabledComponentsTest.html. Reviewed-by: anthony, serb + test/java/awt/event/MouseEvent/DisabledComponents/DisabledComponentsTest.java Changeset: e4bdf647215f Author: yan Date: 2013-12-03 15:18 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/e4bdf647215f 8023576: [TEST BUG] Compilation fails for java/awt/Choice/ChoiceMouseWheelTest/ChoiceMouseWheelTest.java Reviewed-by: anthony, serb Contributed-by: Andrei Eremeev ! test/java/awt/Choice/ChoiceMouseWheelTest/ChoiceMouseWheelTest.java Changeset: 776024b3f13d Author: pchelko Date: 2013-12-03 15:31 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/776024b3f13d 8029251: [TEST_BUG][macosx] Use safari browser, the ouput contain information that DataFlavor.allHtmlFlavor is not present in the system clipboard Reviewed-by: anthony, serb ! test/java/awt/datatransfer/HTMLDataFlavors/ManualHTMLDataFlavorTest.java Changeset: 5774800ba1e9 Author: pchelko Date: 2013-12-03 19:33 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/5774800ba1e9 7124391: [TEST_BUG][macosx] MouseEvents are not dispatched when the mouse cursor leaves the component Reviewed-by: anthony, serb + test/java/awt/event/MouseEvent/EnterAsGrabbedEvent/EnterAsGrabbedEvent.java Changeset: e9cd2dfd545f Author: lana Date: 2013-12-03 15:10 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/e9cd2dfd545f Merge - make/PatchList.solaris - make/altclasses/Makefile - make/apple/Makefile - make/apple/applescript/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 - make/com/Makefile - make/com/apple/Makefile - make/com/apple/osx/Makefile - make/com/apple/osxui/Makefile - make/com/oracle/Makefile - make/com/oracle/jfr/Makefile - make/com/oracle/net/Makefile - make/com/oracle/nio/Makefile - make/com/oracle/security/ucrypto/FILES_c.gmk - make/com/oracle/security/ucrypto/Makefile - make/com/oracle/security/ucrypto/mapfile-vers - make/com/oracle/util/Makefile - make/com/sun/Makefile - make/com/sun/crypto/provider/Makefile - make/com/sun/demo/Makefile - make/com/sun/demo/jvmti/Makefile - make/com/sun/demo/jvmti/hprof/Makefile - make/com/sun/image/Makefile - make/com/sun/jarsigner/Makefile - make/com/sun/java/Makefile - make/com/sun/java/browser/Makefile - make/com/sun/java/browser/dom/Makefile - make/com/sun/java/browser/net/Makefile - make/com/sun/java/pack/FILES_cpp.gmk - make/com/sun/java/pack/Makefile - make/com/sun/java/pack/mapfile-vers - make/com/sun/java/pack/mapfile-vers-unpack200 - make/com/sun/java/pack/prop/Makefile - make/com/sun/jmx/Makefile - make/com/sun/jmx/snmp/Makefile - make/com/sun/jndi/Makefile - make/com/sun/jndi/cosnaming/Makefile - make/com/sun/jndi/dns/Makefile - make/com/sun/jndi/ldap/Makefile - make/com/sun/jndi/rmi/Makefile - make/com/sun/jndi/rmi/registry/Makefile - make/com/sun/jndi/toolkit/Makefile - make/com/sun/net/httpserver/Makefile - make/com/sun/net/ssl/Makefile - make/com/sun/nio/Makefile - make/com/sun/nio/sctp/Exportedfiles.gmk - make/com/sun/nio/sctp/FILES_c.gmk - make/com/sun/nio/sctp/FILES_java.gmk - make/com/sun/nio/sctp/Makefile - make/com/sun/nio/sctp/mapfile-vers - make/com/sun/org/Makefile - make/com/sun/org/apache/Makefile - make/com/sun/org/apache/xml/Makefile - make/com/sun/rowset/Makefile - make/com/sun/security/Makefile - make/com/sun/security/auth/FILES_java.gmk - make/com/sun/security/auth/Makefile - make/com/sun/security/auth/module/FILES_c_solaris.gmk - make/com/sun/security/auth/module/FILES_c_unix.gmk - make/com/sun/security/auth/module/FILES_c_windows.gmk - make/com/sun/security/auth/module/FILES_export_solaris.gmk - make/com/sun/security/auth/module/FILES_export_unix.gmk - make/com/sun/security/auth/module/FILES_export_windows.gmk - make/com/sun/security/auth/module/FILES_java.gmk - make/com/sun/security/auth/module/Makefile - make/com/sun/security/auth/module/mapfile-vers - make/com/sun/security/jgss/Makefile - make/com/sun/security/ntlm/Makefile - make/com/sun/security/sasl/Makefile - make/com/sun/sql/FILES_java.gmk - make/com/sun/sql/Makefile - make/com/sun/tools/Makefile - make/com/sun/tools/attach/Exportedfiles.gmk - make/com/sun/tools/attach/FILES_c.gmk - make/com/sun/tools/attach/FILES_java.gmk - make/com/sun/tools/attach/Makefile - make/com/sun/tools/attach/mapfile-bsd - make/com/sun/tools/attach/mapfile-linux - make/com/sun/tools/attach/mapfile-solaris - make/com/sun/tracing/Makefile - make/com/sun/tracing/dtrace/Makefile - make/common/BuildToolJar.gmk - make/common/CancelImplicits.gmk - make/common/Classes.gmk - make/common/Cscope.gmk - make/common/Defs-linux.gmk - make/common/Defs-macosx.gmk - make/common/Defs-solaris.gmk - make/common/Defs-windows.gmk - make/common/Defs.gmk - make/common/Demo.gmk - make/common/Library.gmk - make/common/Mapfile-vers.gmk - make/common/Program.gmk - make/common/Release-macosx.gmk - make/common/Release.gmk - make/common/Rules.gmk - make/common/Sanity.gmk - make/common/Subdirs.gmk - make/common/internal/Defs-corba.gmk - make/common/internal/Defs-jaxp.gmk - make/common/internal/Defs-jaxws.gmk - make/common/internal/Defs-langtools.gmk - make/common/internal/ImportComponents.gmk - make/common/internal/NativeCompileRules.gmk - make/common/internal/Resources.gmk - make/common/shared/Compiler-gcc.gmk - make/common/shared/Compiler-llvm.gmk - make/common/shared/Compiler-msvc.gmk - make/common/shared/Compiler-sun.gmk - make/common/shared/Defs-control.gmk - make/common/shared/Defs-java.gmk - make/common/shared/Defs-javadoc.gmk - make/common/shared/Defs-linux.gmk - make/common/shared/Defs-macosx.gmk - make/common/shared/Defs-solaris.gmk - make/common/shared/Defs-utils.gmk - make/common/shared/Defs-versions.gmk - make/common/shared/Defs-windows.gmk - make/common/shared/Defs.gmk - make/common/shared/Platform.gmk - make/common/shared/PrivateDefs.gmk-example - make/common/shared/Sanity-Settings.gmk - make/common/shared/Sanity.gmk - make/docs/CORE_PKGS.gmk - make/docs/Makefile - make/docs/NON_CORE_PKGS.gmk - make/docs/Notes.html - make/java/Makefile - make/java/applet/Makefile - make/java/awt/Makefile - make/java/beans/Makefile - make/java/fdlibm/FILES_c.gmk - make/java/fdlibm/Makefile - make/java/instrument/Makefile - make/java/instrument/mapfile-vers - make/java/invoke/Makefile - make/java/jar/Makefile - make/java/java/Exportedfiles.gmk - make/java/java/FILES_c.gmk - make/java/java/FILES_java.gmk - make/java/java/Makefile - make/java/java/genlocales.gmk - make/java/java/localegen.sh - make/java/java/localelist.sh - make/java/java/mapfile-vers - make/java/java/reflect/Makefile - make/java/java/reorder-i586 - make/java/java/reorder-sparc - make/java/java/reorder-sparcv9 - make/java/java_crw_demo/Makefile - make/java/java_crw_demo/mapfile-vers - make/java/java_hprof_demo/Makefile - make/java/java_hprof_demo/mapfile-vers - make/java/jexec/Makefile - make/java/jli/Makefile - make/java/jli/mapfile-vers - make/java/jobjc/Makefile - make/java/jvm/Makefile - make/java/logging/Makefile - make/java/main/Makefile - make/java/main/java/Makefile - make/java/main/java/mapfile-amd64 - make/java/main/java/mapfile-i586 - make/java/main/java/mapfile-sparc - make/java/main/java/mapfile-sparcv9 - make/java/main/javaw/Makefile - make/java/management/Exportedfiles.gmk - make/java/management/FILES_c.gmk - make/java/management/Makefile - make/java/management/mapfile-vers - make/java/math/Makefile - make/java/net/FILES_c.gmk - make/java/net/Makefile - make/java/net/mapfile-vers - make/java/nio/Exportedfiles.gmk - make/java/nio/FILES_c.gmk - make/java/nio/FILES_java.gmk - make/java/nio/Makefile - make/java/nio/addNotices.sh - make/java/nio/genBuffer.sh - make/java/nio/genCharsetProvider.sh - make/java/nio/genCoder.sh - make/java/nio/genExceptions.sh - make/java/nio/mapfile-bsd - make/java/nio/mapfile-linux - make/java/nio/mapfile-solaris - make/java/nio/reorder-i586 - make/java/nio/reorder-sparc - make/java/nio/reorder-sparcv9 - make/java/npt/Makefile - make/java/npt/mapfile-vers - make/java/redist/Makefile - make/java/redist/fonts/Makefile - make/java/redist/sajdi/Makefile - make/java/rmi/Makefile - make/java/security/Makefile - make/java/sql/Makefile - make/java/sun_nio/FILES_java.gmk - make/java/sun_nio/Makefile - make/java/text/Makefile - make/java/text/base/FILES_java.gmk - make/java/text/base/Makefile - make/java/text/bidi/Makefile - make/java/time/Makefile - make/java/util/FILES_java.gmk - make/java/util/FILES_properties.gmk - make/java/util/Makefile - make/java/verify/Makefile - make/java/verify/mapfile-vers - make/java/verify/reorder-i586 - make/java/verify/reorder-sparc - make/java/verify/reorder-sparcv9 - make/java/version/Makefile - make/java/zip/FILES_c.gmk - make/java/zip/FILES_java.gmk - make/java/zip/Makefile - make/java/zip/mapfile-vers - make/java/zip/reorder-i586 - make/java/zip/reorder-sparc - make/java/zip/reorder-sparcv9 - make/javax/Makefile - make/javax/accessibility/Makefile - make/javax/crypto/Defs-jce.gmk - make/javax/crypto/Makefile - make/javax/crypto/policy/limited/LIMITED - make/javax/crypto/policy/limited/default_local.policy - make/javax/crypto/policy/limited/exempt_local.policy - make/javax/crypto/policy/unlimited/UNLIMITED - make/javax/crypto/policy/unlimited/default_US_export.policy - make/javax/crypto/policy/unlimited/default_local.policy - make/javax/imageio/Makefile - make/javax/management/Makefile - make/javax/others/Makefile - make/javax/print/Makefile - make/javax/rmi/Makefile - make/javax/rmi/ssl/Makefile - make/javax/security/Makefile - make/javax/sound/FILES_c.gmk - make/javax/sound/Makefile - make/javax/sound/SoundDefs.gmk - make/javax/sound/jsoundalsa/Makefile - make/javax/sound/jsoundalsa/mapfile-vers - make/javax/sound/jsoundds/Makefile - make/javax/sound/mapfile-vers - make/javax/sql/Makefile - make/javax/swing/FILES.gmk - make/javax/swing/Makefile - make/javax/swing/beaninfo/FILES.gmk - make/javax/swing/beaninfo/Makefile - make/javax/swing/beaninfo/SwingBeans.gmk - make/javax/swing/beaninfo/manifest - make/javax/swing/html32dtd/Makefile - make/javax/swing/plaf/FILES.gmk - make/javax/swing/plaf/Makefile - make/jdk/Makefile - make/jdk_generic_profile.sh - make/jpda/Makefile - make/jpda/back/Makefile - make/jpda/back/mapfile-vers - make/jpda/bdi/Makefile - make/jpda/expr/Makefile - make/jpda/front/Makefile - make/jpda/gui/Makefile - make/jpda/jdwp/Makefile - make/jpda/jdwp/jdwp.spec - make/jpda/transport/Makefile - make/jpda/transport/shmem/Makefile - make/jpda/transport/shmem/mapfile-vers - make/jpda/transport/socket/Makefile - make/jpda/transport/socket/mapfile-vers - make/jpda/tty/Makefile - make/jprt.gmk - make/jprt.properties - make/launchers/Makefile - make/launchers/Makefile.launcher - make/mkdemo/Makefile - make/mkdemo/applets/Animator/Makefile - make/mkdemo/applets/ArcTest/Makefile - make/mkdemo/applets/BarChart/Makefile - make/mkdemo/applets/Blink/Makefile - make/mkdemo/applets/CardTest/Makefile - make/mkdemo/applets/Clock/Makefile - make/mkdemo/applets/DitherTest/Makefile - make/mkdemo/applets/DrawTest/Makefile - make/mkdemo/applets/Fractal/Makefile - make/mkdemo/applets/GraphLayout/Makefile - make/mkdemo/applets/GraphicsTest/Makefile - make/mkdemo/applets/JumpingBox/Makefile - make/mkdemo/applets/Makefile - make/mkdemo/applets/MoleculeViewer/Makefile - make/mkdemo/applets/NervousText/Makefile - make/mkdemo/applets/SimpleGraph/Makefile - make/mkdemo/applets/SortDemo/Makefile - make/mkdemo/applets/SpreadSheet/Makefile - make/mkdemo/applets/TicTacToe/Makefile - make/mkdemo/applets/WireFrame/Makefile - make/mkdemo/jfc/CodePointIM/Makefile - make/mkdemo/jfc/FileChooserDemo/Makefile - make/mkdemo/jfc/Font2DTest/Makefile - make/mkdemo/jfc/Java2D/Makefile - make/mkdemo/jfc/Laffy/Makefile - make/mkdemo/jfc/Makefile - make/mkdemo/jfc/Metalworks/Makefile - make/mkdemo/jfc/Notepad/Makefile - make/mkdemo/jfc/SampleTree/Makefile - make/mkdemo/jfc/Stylepad/Makefile - make/mkdemo/jfc/SwingApplet/Makefile - make/mkdemo/jfc/SwingSet2/Makefile - make/mkdemo/jfc/SwingSet3/Makefile - make/mkdemo/jfc/TableExample/Makefile - make/mkdemo/jfc/TransparentRuler/Makefile - make/mkdemo/jni/Makefile - make/mkdemo/jni/Poller/Makefile - make/mkdemo/jpda/Makefile - make/mkdemo/jvmti/Makefile - make/mkdemo/jvmti/README.txt - make/mkdemo/jvmti/compiledMethodLoad/Makefile - make/mkdemo/jvmti/gctest/Makefile - make/mkdemo/jvmti/heapTracker/Makefile - make/mkdemo/jvmti/heapViewer/Makefile - make/mkdemo/jvmti/hprof/Makefile - make/mkdemo/jvmti/mapfile-vers - make/mkdemo/jvmti/minst/Makefile - make/mkdemo/jvmti/mtrace/Makefile - make/mkdemo/jvmti/versionCheck/Makefile - make/mkdemo/jvmti/waiters/Makefile - make/mkdemo/management/FullThreadDump/Makefile - make/mkdemo/management/JTop/Makefile - make/mkdemo/management/Makefile - make/mkdemo/management/MemoryMonitor/Makefile - make/mkdemo/management/README.txt - make/mkdemo/management/VerboseGC/Makefile - make/mkdemo/nio/Makefile - make/mkdemo/nio/zipfs/Makefile - make/mkdemo/scripting/Makefile - make/mkdemo/scripting/jconsole-plugin/Makefile - make/mksample/Makefile - make/mksample/dtrace/Makefile - make/mksample/forkjoin/Makefile - make/mksample/forkjoin/mergesort/Makefile - make/mksample/jmx/Makefile - make/mksample/jmx/jmx-scandir/Makefile - make/mksample/nbproject/Makefile - make/mksample/nio/Makefile - make/mksample/nio/chatserver/Makefile - make/mksample/nio/file/Makefile - make/mksample/nio/multicast/Makefile - make/mksample/nio/server/Makefile - make/mksample/scripting/Makefile - make/mksample/scripting/scriptpad/Makefile - make/mksample/webservices/EbayClient/Makefile - make/mksample/webservices/EbayServer/Makefile - make/mksample/webservices/Makefile - make/org/Makefile - make/org/ietf/Makefile - make/org/ietf/jgss/FILES_java.gmk - make/org/ietf/jgss/Makefile - make/org/jcp/Makefile - make/sun/Makefile - make/sun/applet/Makefile - make/sun/audio/Makefile - make/sun/awt/CondenseRules.awk - make/sun/awt/Depend.mak - make/sun/awt/Depend.sed - make/sun/awt/FILES_c_unix.gmk - make/sun/awt/FILES_c_windows.gmk - make/sun/awt/FILES_export_unix.gmk - make/sun/awt/FILES_export_windows.gmk - make/sun/awt/Makefile - make/sun/awt/README - make/sun/awt/ToBin.java - make/sun/awt/make.depend - make/sun/awt/mapfile-mawt-vers - make/sun/awt/mapfile-vers - make/sun/awt/mapfile-vers-bsd - make/sun/awt/mapfile-vers-linux - make/sun/awt/mawt.gmk - make/sun/cldr/Makefile - make/sun/cmm/Makefile - make/sun/cmm/kcms/FILES_c_unix.gmk - make/sun/cmm/kcms/FILES_c_windows.gmk - make/sun/cmm/kcms/Makefile - make/sun/cmm/kcms/mapfile-vers - make/sun/cmm/lcms/FILES_c_unix.gmk - make/sun/cmm/lcms/FILES_c_windows.gmk - make/sun/cmm/lcms/Makefile - make/sun/cmm/lcms/mapfile-vers - make/sun/dcpr/FILES_c.gmk - make/sun/dcpr/Makefile - make/sun/dcpr/mapfile-vers - make/sun/font/FILES_c.gmk - make/sun/font/Makefile - make/sun/font/mapfile-vers - make/sun/font/mapfile-vers.openjdk - make/sun/font/reorder-i586 - make/sun/font/reorder-sparc - make/sun/font/reorder-sparcv9 - make/sun/font/t2k/FILES_c.gmk - make/sun/font/t2k/Makefile - make/sun/font/t2k/mapfile-vers - make/sun/headless/Makefile - make/sun/headless/mapfile-vers - make/sun/headless/reorder-i586 - make/sun/headless/reorder-sparc - make/sun/headless/reorder-sparcv9 - make/sun/image/Makefile - make/sun/image/generic/FILES_c.gmk - make/sun/image/generic/Makefile - make/sun/image/generic/mapfile-vers - make/sun/image/vis/FILES_c.gmk - make/sun/image/vis/Makefile - make/sun/jar/Makefile - make/sun/javazic/Makefile - make/sun/javazic/javatz/fullset.txt - make/sun/javazic/javatz/java_11_ids.txt - make/sun/javazic/javatz/java_us_ids.txt - make/sun/javazic/javatz/java_win_ids.txt - make/sun/javazic/javatz/java_zone_ids.txt - make/sun/javazic/javatz/jdk1.1.x_zone_ids.txt - make/sun/javazic/tzdata/VERSION - make/sun/javazic/tzdata/africa - make/sun/javazic/tzdata/antarctica - make/sun/javazic/tzdata/asia - make/sun/javazic/tzdata/australasia - make/sun/javazic/tzdata/backward - make/sun/javazic/tzdata/etcetera - make/sun/javazic/tzdata/europe - make/sun/javazic/tzdata/factory - make/sun/javazic/tzdata/gmt - make/sun/javazic/tzdata/iso3166.tab - make/sun/javazic/tzdata/jdk11_backward - make/sun/javazic/tzdata/leapseconds - make/sun/javazic/tzdata/northamerica - make/sun/javazic/tzdata/pacificnew - make/sun/javazic/tzdata/solar87 - make/sun/javazic/tzdata/solar88 - make/sun/javazic/tzdata/solar89 - make/sun/javazic/tzdata/southamerica - make/sun/javazic/tzdata/systemv - make/sun/javazic/tzdata/zone.tab - make/sun/javazic/tzdata_jdk/gmt - make/sun/javazic/tzdata_jdk/jdk11_backward - make/sun/javazic/tzdata_jdk/jdk11_full_backward - make/sun/jawt/Depend.mak - make/sun/jawt/Depend.sed - make/sun/jawt/Makefile - make/sun/jawt/make.depend - make/sun/jawt/mapfile-vers - make/sun/jconsole/FILES.gmk - make/sun/jconsole/Makefile - make/sun/jdga/Makefile - make/sun/jdga/mapfile-vers - make/sun/jpeg/FILES_c.gmk - make/sun/jpeg/Makefile - make/sun/jpeg/mapfile-vers - make/sun/jpeg/mapfile-vers-closed - make/sun/jpeg/reorder-i586 - make/sun/jpeg/reorder-sparc - make/sun/jpeg/reorder-sparcv9 - make/sun/launcher/Makefile - make/sun/lwawt/FILES_c_macosx.gmk - make/sun/lwawt/FILES_export_macosx.gmk - make/sun/lwawt/Makefile - make/sun/management/Makefile - make/sun/management/jmxremote/Makefile - make/sun/management/snmp/Makefile - make/sun/misc/Makefile - make/sun/native2ascii/Makefile - make/sun/net/FILES_java.gmk - make/sun/net/Makefile - make/sun/net/others/Makefile - make/sun/net/spi/Makefile - make/sun/net/spi/nameservice/Makefile - make/sun/net/spi/nameservice/dns/Makefile - make/sun/nio/Makefile - make/sun/nio/cs/FILES_java.gmk - make/sun/nio/cs/Makefile - make/sun/osxapp/Makefile - make/sun/osxapp/ToBin.java - make/sun/pisces/Makefile - make/sun/rmi/Makefile - make/sun/rmi/cgi/Makefile - make/sun/rmi/oldtools/FILES_java.gmk - make/sun/rmi/oldtools/Makefile - make/sun/rmi/registry/Makefile - make/sun/rmi/rmi/Makefile - make/sun/rmi/rmi/mapfile-vers - make/sun/rmi/rmic/FILES.gmk - make/sun/rmi/rmic/Makefile - make/sun/rmi/rmid/Makefile - make/sun/security/Makefile - make/sun/security/action/Makefile - make/sun/security/ec/FILES_c.gmk - make/sun/security/ec/Makefile - make/sun/security/ec/mapfile-vers - make/sun/security/jgss/Makefile - make/sun/security/jgss/wrapper/FILES_c.gmk - make/sun/security/jgss/wrapper/Makefile - make/sun/security/jgss/wrapper/mapfile-vers - make/sun/security/krb5/FILES_c_windows.gmk - make/sun/security/krb5/Makefile - make/sun/security/mscapi/FILES_cpp.gmk - make/sun/security/mscapi/Makefile - make/sun/security/other/Makefile - make/sun/security/pkcs11/FILES_c.gmk - make/sun/security/pkcs11/Makefile - make/sun/security/pkcs11/mapfile-vers - make/sun/security/smartcardio/FILES_c.gmk - make/sun/security/smartcardio/Makefile - make/sun/security/smartcardio/mapfile-vers - make/sun/security/tools/Makefile - make/sun/security/util/Makefile - make/sun/serialver/Makefile - make/sun/splashscreen/FILES_c.gmk - make/sun/splashscreen/Makefile - make/sun/splashscreen/mapfile-vers - make/sun/text/FILES_java.gmk - make/sun/text/FILES_properties.gmk - make/sun/text/Makefile - make/sun/tools/Makefile - make/sun/tracing/Makefile - make/sun/tracing/dtrace/Makefile - make/sun/tracing/dtrace/mapfile-vers - make/sun/tzdb/Makefile - make/sun/usagetracker/Makefile - make/sun/util/Makefile - make/sun/xawt/FILES_c_unix.gmk - make/sun/xawt/FILES_export_unix.gmk - make/sun/xawt/Makefile - make/sun/xawt/mapfile-vers - make/templates/bsd-header - make/templates/gpl-cp-header - make/templates/gpl-header - make/tools/CharsetMapping/Big5.map - make/tools/CharsetMapping/Big5.nr - make/tools/CharsetMapping/DoubleByte-X.java.template - make/tools/CharsetMapping/EUC_CN.map - make/tools/CharsetMapping/EUC_KR.map - make/tools/CharsetMapping/GBK.map - make/tools/CharsetMapping/HKSCS2001.c2b - make/tools/CharsetMapping/HKSCS2001.map - make/tools/CharsetMapping/HKSCS2008.c2b - make/tools/CharsetMapping/HKSCS2008.map - make/tools/CharsetMapping/HKSCS_XP.c2b - make/tools/CharsetMapping/HKSCS_XP.map - make/tools/CharsetMapping/IBM037.c2b - make/tools/CharsetMapping/IBM037.map - make/tools/CharsetMapping/IBM037.nr - make/tools/CharsetMapping/IBM1006.map - make/tools/CharsetMapping/IBM1025.c2b - make/tools/CharsetMapping/IBM1025.map - make/tools/CharsetMapping/IBM1025.nr - make/tools/CharsetMapping/IBM1026.c2b - make/tools/CharsetMapping/IBM1026.map - make/tools/CharsetMapping/IBM1026.nr - make/tools/CharsetMapping/IBM1046.map - make/tools/CharsetMapping/IBM1047.map - make/tools/CharsetMapping/IBM1097.map - make/tools/CharsetMapping/IBM1098.map - make/tools/CharsetMapping/IBM1112.c2b - make/tools/CharsetMapping/IBM1112.map - make/tools/CharsetMapping/IBM1112.nr - make/tools/CharsetMapping/IBM1122.c2b - make/tools/CharsetMapping/IBM1122.map - make/tools/CharsetMapping/IBM1122.nr - make/tools/CharsetMapping/IBM1123.c2b - make/tools/CharsetMapping/IBM1123.map - make/tools/CharsetMapping/IBM1123.nr - make/tools/CharsetMapping/IBM1124.map - make/tools/CharsetMapping/IBM1140.c2b - make/tools/CharsetMapping/IBM1140.map - make/tools/CharsetMapping/IBM1141.c2b - make/tools/CharsetMapping/IBM1141.map - make/tools/CharsetMapping/IBM1142.c2b - make/tools/CharsetMapping/IBM1142.map - make/tools/CharsetMapping/IBM1143.c2b - make/tools/CharsetMapping/IBM1143.map - make/tools/CharsetMapping/IBM1144.c2b - make/tools/CharsetMapping/IBM1144.map - make/tools/CharsetMapping/IBM1145.c2b - make/tools/CharsetMapping/IBM1145.map - make/tools/CharsetMapping/IBM1146.c2b - make/tools/CharsetMapping/IBM1146.map - make/tools/CharsetMapping/IBM1147.c2b - make/tools/CharsetMapping/IBM1147.map - make/tools/CharsetMapping/IBM1148.c2b - make/tools/CharsetMapping/IBM1148.map - make/tools/CharsetMapping/IBM1149.c2b - make/tools/CharsetMapping/IBM1149.map - make/tools/CharsetMapping/IBM1364.c2b - make/tools/CharsetMapping/IBM1364.map - make/tools/CharsetMapping/IBM1381.c2b - make/tools/CharsetMapping/IBM1381.map - make/tools/CharsetMapping/IBM1383.c2b - make/tools/CharsetMapping/IBM1383.map - make/tools/CharsetMapping/IBM1383.nr - make/tools/CharsetMapping/IBM273.c2b - make/tools/CharsetMapping/IBM273.map - make/tools/CharsetMapping/IBM273.nr - make/tools/CharsetMapping/IBM277.c2b - make/tools/CharsetMapping/IBM277.map - make/tools/CharsetMapping/IBM277.nr - make/tools/CharsetMapping/IBM278.c2b - make/tools/CharsetMapping/IBM278.map - make/tools/CharsetMapping/IBM278.nr - make/tools/CharsetMapping/IBM280.c2b - make/tools/CharsetMapping/IBM280.map - make/tools/CharsetMapping/IBM280.nr - make/tools/CharsetMapping/IBM284.c2b - make/tools/CharsetMapping/IBM284.map - make/tools/CharsetMapping/IBM284.nr - make/tools/CharsetMapping/IBM285.c2b - make/tools/CharsetMapping/IBM285.map - make/tools/CharsetMapping/IBM285.nr - make/tools/CharsetMapping/IBM290.c2b - make/tools/CharsetMapping/IBM290.map - make/tools/CharsetMapping/IBM297.c2b - make/tools/CharsetMapping/IBM297.map - make/tools/CharsetMapping/IBM297.nr - make/tools/CharsetMapping/IBM300.c2b - make/tools/CharsetMapping/IBM300.map - make/tools/CharsetMapping/IBM420.c2b - make/tools/CharsetMapping/IBM420.map - make/tools/CharsetMapping/IBM420.nr - make/tools/CharsetMapping/IBM424.c2b - make/tools/CharsetMapping/IBM424.map - make/tools/CharsetMapping/IBM424.nr - make/tools/CharsetMapping/IBM437.map - make/tools/CharsetMapping/IBM500.c2b - make/tools/CharsetMapping/IBM500.map - make/tools/CharsetMapping/IBM500.nr - make/tools/CharsetMapping/IBM737.map - make/tools/CharsetMapping/IBM775.map - make/tools/CharsetMapping/IBM833.c2b - make/tools/CharsetMapping/IBM833.map - make/tools/CharsetMapping/IBM838.c2b - make/tools/CharsetMapping/IBM838.map - make/tools/CharsetMapping/IBM838.nr - make/tools/CharsetMapping/IBM850.map - make/tools/CharsetMapping/IBM852.map - make/tools/CharsetMapping/IBM855.map - make/tools/CharsetMapping/IBM856.map - make/tools/CharsetMapping/IBM857.map - make/tools/CharsetMapping/IBM858.map - make/tools/CharsetMapping/IBM860.map - make/tools/CharsetMapping/IBM861.map - make/tools/CharsetMapping/IBM862.map - make/tools/CharsetMapping/IBM863.map - make/tools/CharsetMapping/IBM864.map - make/tools/CharsetMapping/IBM865.map - make/tools/CharsetMapping/IBM866.map - make/tools/CharsetMapping/IBM868.map - make/tools/CharsetMapping/IBM869.map - make/tools/CharsetMapping/IBM870.c2b - make/tools/CharsetMapping/IBM870.map - make/tools/CharsetMapping/IBM870.nr - make/tools/CharsetMapping/IBM871.c2b - make/tools/CharsetMapping/IBM871.map - make/tools/CharsetMapping/IBM871.nr - make/tools/CharsetMapping/IBM874.map - make/tools/CharsetMapping/IBM874.nr - make/tools/CharsetMapping/IBM875.c2b - make/tools/CharsetMapping/IBM875.map - make/tools/CharsetMapping/IBM875.nr - make/tools/CharsetMapping/IBM918.c2b - make/tools/CharsetMapping/IBM918.map - make/tools/CharsetMapping/IBM918.nr - make/tools/CharsetMapping/IBM921.map - make/tools/CharsetMapping/IBM922.map - make/tools/CharsetMapping/IBM930.c2b - make/tools/CharsetMapping/IBM930.map - make/tools/CharsetMapping/IBM930.nr - make/tools/CharsetMapping/IBM933.c2b - make/tools/CharsetMapping/IBM933.map - make/tools/CharsetMapping/IBM935.c2b - make/tools/CharsetMapping/IBM935.map - make/tools/CharsetMapping/IBM935.nr - make/tools/CharsetMapping/IBM937.c2b - make/tools/CharsetMapping/IBM937.map - make/tools/CharsetMapping/IBM937.nr - make/tools/CharsetMapping/IBM939.c2b - make/tools/CharsetMapping/IBM939.map - make/tools/CharsetMapping/IBM939.nr - make/tools/CharsetMapping/IBM942.c2b - make/tools/CharsetMapping/IBM942.map - make/tools/CharsetMapping/IBM943.map - make/tools/CharsetMapping/IBM943.nr - make/tools/CharsetMapping/IBM948.c2b - make/tools/CharsetMapping/IBM948.map - make/tools/CharsetMapping/IBM949.map - make/tools/CharsetMapping/IBM950.c2b - make/tools/CharsetMapping/IBM950.map - make/tools/CharsetMapping/IBM970.c2b - make/tools/CharsetMapping/IBM970.map - make/tools/CharsetMapping/ISO_8859_11.map - make/tools/CharsetMapping/ISO_8859_13.map - make/tools/CharsetMapping/ISO_8859_15.map - make/tools/CharsetMapping/ISO_8859_2.map - make/tools/CharsetMapping/ISO_8859_3.map - make/tools/CharsetMapping/ISO_8859_4.map - make/tools/CharsetMapping/ISO_8859_5.map - make/tools/CharsetMapping/ISO_8859_6.map - make/tools/CharsetMapping/ISO_8859_7.map - make/tools/CharsetMapping/ISO_8859_8.map - make/tools/CharsetMapping/ISO_8859_9.map - make/tools/CharsetMapping/JIS_X_0201.c2b - make/tools/CharsetMapping/JIS_X_0201.map - make/tools/CharsetMapping/JIS_X_0208.map - make/tools/CharsetMapping/JIS_X_0208_MS5022X.c2b - make/tools/CharsetMapping/JIS_X_0208_MS5022X.map - make/tools/CharsetMapping/JIS_X_0208_MS932.map - make/tools/CharsetMapping/JIS_X_0208_MS932.nr - make/tools/CharsetMapping/JIS_X_0208_Solaris.map - make/tools/CharsetMapping/JIS_X_0208_Solaris.nr - make/tools/CharsetMapping/JIS_X_0212.map - make/tools/CharsetMapping/JIS_X_0212_MS5022X.map - make/tools/CharsetMapping/JIS_X_0212_Solaris.map - make/tools/CharsetMapping/JIS_X_0212_Solaris.nr - make/tools/CharsetMapping/Johab.map - make/tools/CharsetMapping/KOI8_R.map - make/tools/CharsetMapping/KOI8_U.map - make/tools/CharsetMapping/MS1250.map - make/tools/CharsetMapping/MS1251.map - make/tools/CharsetMapping/MS1252.map - make/tools/CharsetMapping/MS1253.map - make/tools/CharsetMapping/MS1254.map - make/tools/CharsetMapping/MS1255.map - make/tools/CharsetMapping/MS1256.map - make/tools/CharsetMapping/MS1257.map - make/tools/CharsetMapping/MS1258.map - make/tools/CharsetMapping/MS874.map - make/tools/CharsetMapping/MS932.c2b - make/tools/CharsetMapping/MS932.map - make/tools/CharsetMapping/MS932.nr - make/tools/CharsetMapping/MS936.map - make/tools/CharsetMapping/MS949.map - make/tools/CharsetMapping/MS950.map - make/tools/CharsetMapping/MS950.nr - make/tools/CharsetMapping/MacArabic.map - make/tools/CharsetMapping/MacCentralEurope.map - make/tools/CharsetMapping/MacCroatian.map - make/tools/CharsetMapping/MacCyrillic.map - make/tools/CharsetMapping/MacDingbat.map - make/tools/CharsetMapping/MacGreek.map - make/tools/CharsetMapping/MacHebrew.map - make/tools/CharsetMapping/MacIceland.map - make/tools/CharsetMapping/MacRoman.map - make/tools/CharsetMapping/MacRomania.map - make/tools/CharsetMapping/MacSymbol.map - make/tools/CharsetMapping/MacThai.map - make/tools/CharsetMapping/MacTurkish.map - make/tools/CharsetMapping/MacUkraine.map - make/tools/CharsetMapping/Makefile - make/tools/CharsetMapping/PCK.c2b - make/tools/CharsetMapping/PCK.map - make/tools/CharsetMapping/PCK.nr - make/tools/CharsetMapping/SJIS.c2b - make/tools/CharsetMapping/SJIS.map - make/tools/CharsetMapping/SingleByte-X.java.template - make/tools/CharsetMapping/TIS_620.map - make/tools/CharsetMapping/dbcs - make/tools/CharsetMapping/euc_tw.map - make/tools/CharsetMapping/extsbcs - make/tools/CharsetMapping/sbcs - make/tools/CharsetMapping/sjis0213.map - make/tools/GenerateCharacter/Character.c.template - make/tools/GenerateCharacter/CharacterData00.java.template - make/tools/GenerateCharacter/CharacterData01.java.template - make/tools/GenerateCharacter/CharacterData02.java.template - make/tools/GenerateCharacter/CharacterData0E.java.template - make/tools/GenerateCharacter/CharacterDataLatin1.java.template - make/tools/GenerateCharacter/CharacterDataPrivateUse.java.template - make/tools/GenerateCharacter/CharacterDataUndefined.java.template - make/tools/GenerateCharacter/Makefile - make/tools/GenerateCharacter/check_class.c.template - make/tools/Makefile - make/tools/README.txt - make/tools/UnicodeData/PropList.txt - make/tools/UnicodeData/Scripts.txt - make/tools/UnicodeData/SpecialCasing.txt - make/tools/UnicodeData/UnicodeData.txt - make/tools/UnicodeData/VERSION - make/tools/add_gnu_debuglink/Makefile - make/tools/add_gnu_debuglink/add_gnu_debuglink.c - make/tools/addjsum/Makefile - make/tools/addtorestrictedpkgs/Makefile - make/tools/buildmetaindex/Makefile - make/tools/cldrconverter/Makefile - make/tools/commentchecker/Makefile - make/tools/compile_font_config/Makefile - make/tools/compile_properties/Makefile - make/tools/dir_diff/Makefile - make/tools/dtdbuilder/Makefile - make/tools/dtdbuilder/dtds/HTMLlat1.sgml - make/tools/dtdbuilder/dtds/HTMLspecial.sgml - make/tools/dtdbuilder/dtds/HTMLsymbol.sgml - make/tools/dtdbuilder/dtds/html32.dtd - make/tools/dtdbuilder/dtds/public.map - make/tools/fix_empty_sec_hdr_flags/Makefile - make/tools/fix_empty_sec_hdr_flags/fix_empty_sec_hdr_flags.c - make/tools/freetypecheck/Makefile - make/tools/freetypecheck/freetypecheck.c - make/tools/generate_break_iterator/Makefile - make/tools/generate_nimbus/Makefile - make/tools/generatecurrencydata/Makefile - make/tools/hasher_classes/Makefile - make/tools/jarreorder/Makefile - make/tools/jarsplit/Makefile - make/tools/jdwpgen/Makefile - make/tools/makeclasslist/Makefile - make/tools/manifest.mf - make/tools/msys_build_scripts/dospath.sh - make/tools/msys_build_scripts/dospath.vbs - make/tools/reorder/Makefile - make/tools/reorder/tests/Exit.java - make/tools/reorder/tests/Hello.java - make/tools/reorder/tests/IntToString.java - make/tools/reorder/tests/JHello.java - make/tools/reorder/tests/LoadFrame.java - make/tools/reorder/tests/LoadJFrame.java - make/tools/reorder/tests/LoadToolkit.java - make/tools/reorder/tests/Null.java - make/tools/reorder/tests/Sleep.java - make/tools/reorder/tools/Combine.java - make/tools/reorder/tools/MaxTime.java - make/tools/reorder/tools/mcount.c - make/tools/reorder/tools/remove_mcount.c - make/tools/reorder/tools/util-i586.il - make/tools/reorder/tools/util-sparc.il - make/tools/reorder/tools/util-sparcv9.il - make/tools/sharing/README.txt - make/tools/sharing/classlist.linux - make/tools/sharing/classlist.macosx - make/tools/sharing/classlist.solaris - make/tools/sharing/classlist.windows - make/tools/sharing/tests/GHello.java - make/tools/sharing/tests/Hello.java - make/tools/sharing/tests/JHello.java - make/tools/spp/Makefile - make/tools/src/build/tools/addjsum/AddJsum.java - make/tools/src/build/tools/addtorestrictedpkgs/AddToRestrictedPkgs.java - make/tools/src/build/tools/buildmetaindex/BuildMetaIndex.java - make/tools/src/build/tools/charsetmapping/DBCS.java - make/tools/src/build/tools/charsetmapping/EUC_TW.java - make/tools/src/build/tools/charsetmapping/HKSCS.java - make/tools/src/build/tools/charsetmapping/JIS0213.java - make/tools/src/build/tools/charsetmapping/Main.java - make/tools/src/build/tools/charsetmapping/SBCS.java - make/tools/src/build/tools/charsetmapping/Utils.java - make/tools/src/build/tools/classfile/RemoveMethods.java - make/tools/src/build/tools/cldrconverter/AbstractLDMLHandler.java - make/tools/src/build/tools/cldrconverter/Bundle.java - make/tools/src/build/tools/cldrconverter/BundleGenerator.java - make/tools/src/build/tools/cldrconverter/CLDRConverter.java - make/tools/src/build/tools/cldrconverter/CalendarType.java - make/tools/src/build/tools/cldrconverter/Container.java - make/tools/src/build/tools/cldrconverter/CopyrightHeaders.java - make/tools/src/build/tools/cldrconverter/Entry.java - make/tools/src/build/tools/cldrconverter/IgnoredContainer.java - make/tools/src/build/tools/cldrconverter/KeyContainer.java - make/tools/src/build/tools/cldrconverter/LDMLParseHandler.java - make/tools/src/build/tools/cldrconverter/MetaZonesParseHandler.java - make/tools/src/build/tools/cldrconverter/NumberingSystemsParseHandler.java - make/tools/src/build/tools/cldrconverter/ResourceBundleGenerator.java - make/tools/src/build/tools/cldrconverter/StringArrayElement.java - make/tools/src/build/tools/cldrconverter/StringArrayEntry.java - make/tools/src/build/tools/cldrconverter/StringEntry.java - make/tools/src/build/tools/cldrconverter/SupplementDataParseHandler.java - make/tools/src/build/tools/commentchecker/CommentChecker.java - make/tools/src/build/tools/compilefontconfig/CompileFontConfig.java - make/tools/src/build/tools/compileproperties/CompileProperties.java - make/tools/src/build/tools/deps/CheckDeps.java - make/tools/src/build/tools/deps/refs.allowed - make/tools/src/build/tools/dirdiff/DirDiff.java - make/tools/src/build/tools/dtdbuilder/DTDBuilder.java - make/tools/src/build/tools/dtdbuilder/DTDInputStream.java - make/tools/src/build/tools/dtdbuilder/DTDParser.java - make/tools/src/build/tools/dtdbuilder/PublicMapping.java - make/tools/src/build/tools/dtdbuilder/README.txt - make/tools/src/build/tools/generatebreakiteratordata/BreakIteratorRBControl.java - make/tools/src/build/tools/generatebreakiteratordata/CharSet.java - make/tools/src/build/tools/generatebreakiteratordata/CharacterCategory.java - make/tools/src/build/tools/generatebreakiteratordata/DictionaryBasedBreakIteratorBuilder.java - make/tools/src/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java - make/tools/src/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java - make/tools/src/build/tools/generatebreakiteratordata/SupplementaryCharacterData.java - make/tools/src/build/tools/generatecharacter/CharacterName.java - make/tools/src/build/tools/generatecharacter/CharacterScript.java - make/tools/src/build/tools/generatecharacter/GenerateCharacter.java - make/tools/src/build/tools/generatecharacter/PrintCharacterRanges.java - make/tools/src/build/tools/generatecharacter/PropList.java - make/tools/src/build/tools/generatecharacter/SpecialCaseMap.java - make/tools/src/build/tools/generatecharacter/UnicodeSpec.java - make/tools/src/build/tools/generatecharacter/Utility.java - make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java - make/tools/src/build/tools/generatenimbus/AbstractGradient.java - make/tools/src/build/tools/generatenimbus/Border.java - make/tools/src/build/tools/generatenimbus/Canvas.java - make/tools/src/build/tools/generatenimbus/ComponentColor.java - make/tools/src/build/tools/generatenimbus/Dimension.java - make/tools/src/build/tools/generatenimbus/Ellipse.java - make/tools/src/build/tools/generatenimbus/Generator.java - make/tools/src/build/tools/generatenimbus/Gradient.java - make/tools/src/build/tools/generatenimbus/GradientStop.java - make/tools/src/build/tools/generatenimbus/Insets.java - make/tools/src/build/tools/generatenimbus/Layer.java - make/tools/src/build/tools/generatenimbus/Matte.java - make/tools/src/build/tools/generatenimbus/ObjectFactory.java - make/tools/src/build/tools/generatenimbus/Paint.java - make/tools/src/build/tools/generatenimbus/PainterGenerator.java - make/tools/src/build/tools/generatenimbus/Path.java - make/tools/src/build/tools/generatenimbus/Point.java - make/tools/src/build/tools/generatenimbus/RadialGradient.java - make/tools/src/build/tools/generatenimbus/Rectangle.java - make/tools/src/build/tools/generatenimbus/Shape.java - make/tools/src/build/tools/generatenimbus/SynthModel.java - make/tools/src/build/tools/generatenimbus/Typeface.java - make/tools/src/build/tools/generatenimbus/UIColor.java - make/tools/src/build/tools/generatenimbus/UIComponent.java - make/tools/src/build/tools/generatenimbus/UIDefault.java - make/tools/src/build/tools/generatenimbus/UIFont.java - make/tools/src/build/tools/generatenimbus/UIIconRegion.java - make/tools/src/build/tools/generatenimbus/UIProperty.java - make/tools/src/build/tools/generatenimbus/UIRegion.java - make/tools/src/build/tools/generatenimbus/UIState.java - make/tools/src/build/tools/generatenimbus/UIStateType.java - make/tools/src/build/tools/generatenimbus/UIStyle.java - make/tools/src/build/tools/generatenimbus/Utils.java - make/tools/src/build/tools/hasher/Hasher.java - make/tools/src/build/tools/jarreorder/JarReorder.java - make/tools/src/build/tools/jarsplit/JarSplit.java - make/tools/src/build/tools/jdwpgen/AbstractCommandNode.java - make/tools/src/build/tools/jdwpgen/AbstractGroupNode.java - make/tools/src/build/tools/jdwpgen/AbstractNamedNode.java - make/tools/src/build/tools/jdwpgen/AbstractSimpleNode.java - make/tools/src/build/tools/jdwpgen/AbstractSimpleTypeNode.java - make/tools/src/build/tools/jdwpgen/AbstractTypeListNode.java - make/tools/src/build/tools/jdwpgen/AbstractTypeNode.java - make/tools/src/build/tools/jdwpgen/AltNode.java - make/tools/src/build/tools/jdwpgen/ArrayObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/ArrayRegionTypeNode.java - make/tools/src/build/tools/jdwpgen/ArrayTypeNode.java - make/tools/src/build/tools/jdwpgen/BooleanTypeNode.java - make/tools/src/build/tools/jdwpgen/ByteTypeNode.java - make/tools/src/build/tools/jdwpgen/ClassLoaderObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/ClassObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/ClassTypeNode.java - make/tools/src/build/tools/jdwpgen/CommandNode.java - make/tools/src/build/tools/jdwpgen/CommandSetNode.java - make/tools/src/build/tools/jdwpgen/CommentNode.java - make/tools/src/build/tools/jdwpgen/ConstantNode.java - make/tools/src/build/tools/jdwpgen/ConstantSetNode.java - make/tools/src/build/tools/jdwpgen/Context.java - make/tools/src/build/tools/jdwpgen/ErrorNode.java - make/tools/src/build/tools/jdwpgen/ErrorSetNode.java - make/tools/src/build/tools/jdwpgen/EventNode.java - make/tools/src/build/tools/jdwpgen/FieldTypeNode.java - make/tools/src/build/tools/jdwpgen/FrameTypeNode.java - make/tools/src/build/tools/jdwpgen/GroupNode.java - make/tools/src/build/tools/jdwpgen/IntTypeNode.java - make/tools/src/build/tools/jdwpgen/InterfaceTypeNode.java - make/tools/src/build/tools/jdwpgen/LocationTypeNode.java - make/tools/src/build/tools/jdwpgen/LongTypeNode.java - make/tools/src/build/tools/jdwpgen/Main.java - make/tools/src/build/tools/jdwpgen/MethodTypeNode.java - make/tools/src/build/tools/jdwpgen/NameNode.java - make/tools/src/build/tools/jdwpgen/NameValueNode.java - make/tools/src/build/tools/jdwpgen/Node.java - make/tools/src/build/tools/jdwpgen/ObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/OutNode.java - make/tools/src/build/tools/jdwpgen/Parse.java - make/tools/src/build/tools/jdwpgen/ReferenceIDTypeNode.java - make/tools/src/build/tools/jdwpgen/ReferenceTypeNode.java - make/tools/src/build/tools/jdwpgen/RepeatNode.java - make/tools/src/build/tools/jdwpgen/ReplyNode.java - make/tools/src/build/tools/jdwpgen/RootNode.java - make/tools/src/build/tools/jdwpgen/SelectNode.java - make/tools/src/build/tools/jdwpgen/StringObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/StringTypeNode.java - make/tools/src/build/tools/jdwpgen/TaggedObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/ThreadGroupObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/ThreadObjectTypeNode.java - make/tools/src/build/tools/jdwpgen/TypeNode.java - make/tools/src/build/tools/jdwpgen/UntaggedValueTypeNode.java - make/tools/src/build/tools/jdwpgen/ValueTypeNode.java - make/tools/src/build/tools/makeclasslist/MakeClasslist.java - make/tools/src/build/tools/spp/Spp.java - make/tools/src/build/tools/stripproperties/StripProperties.java - 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/strip_properties/Makefile - make/tools/swing-beans/DocBeanInfo.java - make/tools/swing-beans/GenDocletBeanInfo.java - make/tools/swing-beans/GenSwingBeanInfo.java - make/tools/swing-beans/SwingBeanInfo.template - make/tools/swing-beans/beaninfo/images/AbstractButtonColor16.gif - make/tools/swing-beans/beaninfo/images/BorderColor16.gif - make/tools/swing-beans/beaninfo/images/BoxColor16.gif - make/tools/swing-beans/beaninfo/images/BoxColor32.gif - make/tools/swing-beans/beaninfo/images/BoxMono16.gif - make/tools/swing-beans/beaninfo/images/BoxMono32.gif - make/tools/swing-beans/beaninfo/images/JAppletColor16.gif - make/tools/swing-beans/beaninfo/images/JAppletColor32.gif - make/tools/swing-beans/beaninfo/images/JAppletMono16.gif - make/tools/swing-beans/beaninfo/images/JAppletMono32.gif - make/tools/swing-beans/beaninfo/images/JButtonColor16.gif - make/tools/swing-beans/beaninfo/images/JButtonColor32.gif - make/tools/swing-beans/beaninfo/images/JButtonMono16.gif - make/tools/swing-beans/beaninfo/images/JButtonMono32.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxColor16.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxColor32.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxMenuItemColor16.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxMenuItemColor32.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxMenuItemMono16.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxMenuItemMono32.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxMono16.gif - make/tools/swing-beans/beaninfo/images/JCheckBoxMono32.gif - make/tools/swing-beans/beaninfo/images/JColorChooserColor16.gif - make/tools/swing-beans/beaninfo/images/JColorChooserColor32.gif - make/tools/swing-beans/beaninfo/images/JColorChooserMono16.gif - make/tools/swing-beans/beaninfo/images/JColorChooserMono32.gif - make/tools/swing-beans/beaninfo/images/JComboBoxColor16.gif - make/tools/swing-beans/beaninfo/images/JComboBoxColor32.gif - make/tools/swing-beans/beaninfo/images/JComboBoxMono16.gif - make/tools/swing-beans/beaninfo/images/JComboBoxMono32.gif - make/tools/swing-beans/beaninfo/images/JComponentColor16.gif - make/tools/swing-beans/beaninfo/images/JDesktopPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JDesktopPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JDesktopPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JDesktopPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JDialogColor16.gif - make/tools/swing-beans/beaninfo/images/JDialogColor32.gif - make/tools/swing-beans/beaninfo/images/JDialogMono16.gif - make/tools/swing-beans/beaninfo/images/JDialogMono32.gif - make/tools/swing-beans/beaninfo/images/JEditorPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JEditorPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JEditorPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JEditorPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JFileChooserColor16.gif - make/tools/swing-beans/beaninfo/images/JFileChooserColor32.gif - make/tools/swing-beans/beaninfo/images/JFileChooserMono16.gif - make/tools/swing-beans/beaninfo/images/JFileChooserMono32.gif - make/tools/swing-beans/beaninfo/images/JFormattedTextFieldColor16.gif - make/tools/swing-beans/beaninfo/images/JFormattedTextFieldColor32.gif - make/tools/swing-beans/beaninfo/images/JFormattedTextFieldMono16.gif - make/tools/swing-beans/beaninfo/images/JFormattedTextFieldMono32.gif - make/tools/swing-beans/beaninfo/images/JFrameColor16.gif - make/tools/swing-beans/beaninfo/images/JFrameColor32.gif - make/tools/swing-beans/beaninfo/images/JFrameMono16.gif - make/tools/swing-beans/beaninfo/images/JFrameMono32.gif - make/tools/swing-beans/beaninfo/images/JInternalFrameColor16.gif - make/tools/swing-beans/beaninfo/images/JInternalFrameColor32.gif - make/tools/swing-beans/beaninfo/images/JInternalFrameMono16.gif - make/tools/swing-beans/beaninfo/images/JInternalFrameMono32.gif - make/tools/swing-beans/beaninfo/images/JLabelColor16.gif - make/tools/swing-beans/beaninfo/images/JLabelColor32.gif - make/tools/swing-beans/beaninfo/images/JLabelMono16.gif - make/tools/swing-beans/beaninfo/images/JLabelMono32.gif - make/tools/swing-beans/beaninfo/images/JLayeredPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JLayeredPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JLayeredPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JLayeredPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JListColor16.gif - make/tools/swing-beans/beaninfo/images/JListColor32.gif - make/tools/swing-beans/beaninfo/images/JListMono16.gif - make/tools/swing-beans/beaninfo/images/JListMono32.gif - make/tools/swing-beans/beaninfo/images/JMenuBarColor16.gif - make/tools/swing-beans/beaninfo/images/JMenuBarColor32.gif - make/tools/swing-beans/beaninfo/images/JMenuBarMono16.gif - make/tools/swing-beans/beaninfo/images/JMenuBarMono32.gif - make/tools/swing-beans/beaninfo/images/JMenuColor16.gif - make/tools/swing-beans/beaninfo/images/JMenuColor32.gif - make/tools/swing-beans/beaninfo/images/JMenuItemColor16.gif - make/tools/swing-beans/beaninfo/images/JMenuItemColor32.gif - make/tools/swing-beans/beaninfo/images/JMenuItemMono16.gif - make/tools/swing-beans/beaninfo/images/JMenuItemMono32.gif - make/tools/swing-beans/beaninfo/images/JMenuMono16.gif - make/tools/swing-beans/beaninfo/images/JMenuMono32.gif - make/tools/swing-beans/beaninfo/images/JOptionPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JOptionPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JOptionPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JOptionPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JPanelColor16.gif - make/tools/swing-beans/beaninfo/images/JPanelColor32.gif - make/tools/swing-beans/beaninfo/images/JPanelMono16.gif - make/tools/swing-beans/beaninfo/images/JPanelMono32.gif - make/tools/swing-beans/beaninfo/images/JPasswordFieldColor16.gif - make/tools/swing-beans/beaninfo/images/JPasswordFieldColor32.gif - make/tools/swing-beans/beaninfo/images/JPasswordFieldMono16.gif - make/tools/swing-beans/beaninfo/images/JPasswordFieldMono32.gif - make/tools/swing-beans/beaninfo/images/JPopupMenuColor16.gif - make/tools/swing-beans/beaninfo/images/JPopupMenuColor32.gif - make/tools/swing-beans/beaninfo/images/JPopupMenuMono16.gif - make/tools/swing-beans/beaninfo/images/JPopupMenuMono32.gif - make/tools/swing-beans/beaninfo/images/JProgressBarColor16.gif - make/tools/swing-beans/beaninfo/images/JProgressBarColor32.gif - make/tools/swing-beans/beaninfo/images/JProgressBarMono16.gif - make/tools/swing-beans/beaninfo/images/JProgressBarMono32.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonColor16.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonColor32.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonMenuItemColor16.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonMenuItemColor32.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonMenuItemMono16.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonMenuItemMono32.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonMono16.gif - make/tools/swing-beans/beaninfo/images/JRadioButtonMono32.gif - make/tools/swing-beans/beaninfo/images/JRootPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JRootPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JRootPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JRootPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JScrollBarColor16.gif - make/tools/swing-beans/beaninfo/images/JScrollBarColor32.gif - make/tools/swing-beans/beaninfo/images/JScrollBarMono16.gif - make/tools/swing-beans/beaninfo/images/JScrollBarMono32.gif - make/tools/swing-beans/beaninfo/images/JScrollPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JScrollPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JScrollPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JScrollPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JSeparatorColor16.gif - make/tools/swing-beans/beaninfo/images/JSeparatorColor32.gif - make/tools/swing-beans/beaninfo/images/JSeparatorMono16.gif - make/tools/swing-beans/beaninfo/images/JSeparatorMono32.gif - make/tools/swing-beans/beaninfo/images/JSliderColor16.gif - make/tools/swing-beans/beaninfo/images/JSliderColor32.gif - make/tools/swing-beans/beaninfo/images/JSliderMono16.gif - make/tools/swing-beans/beaninfo/images/JSliderMono32.gif - make/tools/swing-beans/beaninfo/images/JSpinnerColor16.gif - make/tools/swing-beans/beaninfo/images/JSpinnerColor32.gif - make/tools/swing-beans/beaninfo/images/JSpinnerMono16.gif - make/tools/swing-beans/beaninfo/images/JSpinnerMono32.gif - make/tools/swing-beans/beaninfo/images/JSplitPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JSplitPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JSplitPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JSplitPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JTabbedPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JTabbedPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JTabbedPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JTabbedPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JTableColor16.gif - make/tools/swing-beans/beaninfo/images/JTableColor32.gif - make/tools/swing-beans/beaninfo/images/JTableMono16.gif - make/tools/swing-beans/beaninfo/images/JTableMono32.gif - make/tools/swing-beans/beaninfo/images/JTextAreaColor16.gif - make/tools/swing-beans/beaninfo/images/JTextAreaColor32.gif - make/tools/swing-beans/beaninfo/images/JTextAreaMono16.gif - make/tools/swing-beans/beaninfo/images/JTextAreaMono32.gif - make/tools/swing-beans/beaninfo/images/JTextFieldColor16.gif - make/tools/swing-beans/beaninfo/images/JTextFieldColor32.gif - make/tools/swing-beans/beaninfo/images/JTextFieldMono16.gif - make/tools/swing-beans/beaninfo/images/JTextFieldMono32.gif - make/tools/swing-beans/beaninfo/images/JTextPaneColor16.gif - make/tools/swing-beans/beaninfo/images/JTextPaneColor32.gif - make/tools/swing-beans/beaninfo/images/JTextPaneMono16.gif - make/tools/swing-beans/beaninfo/images/JTextPaneMono32.gif - make/tools/swing-beans/beaninfo/images/JToggleButtonColor16.gif - make/tools/swing-beans/beaninfo/images/JToggleButtonColor32.gif - make/tools/swing-beans/beaninfo/images/JToggleButtonMono16.gif - make/tools/swing-beans/beaninfo/images/JToggleButtonMono32.gif - make/tools/swing-beans/beaninfo/images/JToolBarColor16.gif - make/tools/swing-beans/beaninfo/images/JToolBarColor32.gif - make/tools/swing-beans/beaninfo/images/JToolBarMono16.gif - make/tools/swing-beans/beaninfo/images/JToolBarMono32.gif - make/tools/swing-beans/beaninfo/images/JTreeColor16.gif - make/tools/swing-beans/beaninfo/images/JTreeColor32.gif - make/tools/swing-beans/beaninfo/images/JTreeMono16.gif - make/tools/swing-beans/beaninfo/images/JTreeMono32.gif - make/tools/swing-beans/beaninfo/images/JViewportColor16.gif - make/tools/swing-beans/beaninfo/images/JViewportColor32.gif - make/tools/swing-beans/beaninfo/images/JViewportMono16.gif - make/tools/swing-beans/beaninfo/images/JViewportMono32.gif - make/tools/swing-beans/beaninfo/images/JWindowColor16.gif - make/tools/swing-beans/beaninfo/images/JWindowColor32.gif - make/tools/swing-beans/beaninfo/images/JWindowMono16.gif - make/tools/swing-beans/beaninfo/images/JWindowMono32.gif - make/tools/swing-beans/javax/swing/SwingBeanInfoBase.java - make/tools/swing-beans/sun/swing/BeanInfoUtils.java - make/tools/tzdb/Makefile - makefiles/BuildJdk.gmk - makefiles/Bundles.gmk - makefiles/CompileDemos.gmk - makefiles/CompileJavaClasses.gmk - makefiles/CompileLaunchers.gmk - makefiles/CompileNativeLibraries.gmk - makefiles/CopyFiles.gmk - makefiles/CopyIntoClasses.gmk - makefiles/CopySamples.gmk - makefiles/CreateJars.gmk - makefiles/CreateSecurityJars.gmk - makefiles/GenerateClasses.gmk - makefiles/GenerateData.gmk - makefiles/GenerateSources.gmk - makefiles/Images.gmk - makefiles/Import.gmk - makefiles/Makefile - makefiles/PatchList.solaris - makefiles/ProfileNames.gmk - makefiles/Profiles.gmk - makefiles/Setup.gmk - makefiles/SignJars.gmk - makefiles/Tools.gmk - makefiles/gendata/GendataBreakIterator.gmk - makefiles/gendata/GendataFontConfig.gmk - makefiles/gendata/GendataHtml32dtd.gmk - makefiles/gendata/GendataTZDB.gmk - makefiles/gendata/GendataTimeZone.gmk - makefiles/gensrc/GensrcBuffer.gmk - makefiles/gensrc/GensrcCLDR.gmk - makefiles/gensrc/GensrcCharacterData.gmk - makefiles/gensrc/GensrcCharsetCoder.gmk - makefiles/gensrc/GensrcCharsetMapping.gmk - makefiles/gensrc/GensrcExceptions.gmk - makefiles/gensrc/GensrcIcons.gmk - makefiles/gensrc/GensrcJDWP.gmk - makefiles/gensrc/GensrcJObjC.gmk - makefiles/gensrc/GensrcLocaleDataMetaInfo.gmk - makefiles/gensrc/GensrcMisc.gmk - makefiles/gensrc/GensrcProperties.gmk - makefiles/gensrc/GensrcSwing.gmk - makefiles/gensrc/GensrcX11Wrappers.gmk - makefiles/jpda/jdwp/jdwp.spec - makefiles/jprt.gmk - makefiles/jprt.properties - makefiles/lib/Awt2dLibraries.gmk - makefiles/lib/CoreLibraries.gmk - makefiles/lib/NetworkingLibraries.gmk - makefiles/lib/NioLibraries.gmk - makefiles/lib/PlatformLibraries.gmk - makefiles/lib/SecurityLibraries.gmk - makefiles/lib/ServiceabilityLibraries.gmk - makefiles/lib/SoundLibraries.gmk - makefiles/mapfiles/launchers/mapfile-sparc - makefiles/mapfiles/launchers/mapfile-sparcv9 - makefiles/mapfiles/launchers/mapfile-x86 - makefiles/mapfiles/launchers/mapfile-x86_64 - makefiles/mapfiles/libattach/mapfile-linux - makefiles/mapfiles/libattach/mapfile-solaris - makefiles/mapfiles/libattach/reorder-windows-x86 - makefiles/mapfiles/libattach/reorder-windows-x86_64 - makefiles/mapfiles/libawt/mapfile-mawt-vers - makefiles/mapfiles/libawt/mapfile-vers - makefiles/mapfiles/libawt/mapfile-vers-linux - makefiles/mapfiles/libawt_headless/mapfile-vers - makefiles/mapfiles/libawt_headless/reorder-sparc - makefiles/mapfiles/libawt_headless/reorder-sparcv9 - makefiles/mapfiles/libawt_headless/reorder-x86 - makefiles/mapfiles/libawt_xawt/mapfile-vers - makefiles/mapfiles/libdcpr/mapfile-vers - makefiles/mapfiles/libdt_socket/mapfile-vers - makefiles/mapfiles/libfontmanager/mapfile-vers - makefiles/mapfiles/libfontmanager/mapfile-vers.openjdk - makefiles/mapfiles/libhprof/mapfile-vers - makefiles/mapfiles/libinstrument/mapfile-vers - makefiles/mapfiles/libj2gss/mapfile-vers - makefiles/mapfiles/libj2pcsc/mapfile-vers - makefiles/mapfiles/libj2pkcs11/mapfile-vers - makefiles/mapfiles/libj2ucrypto/mapfile-vers - makefiles/mapfiles/libjaas/mapfile-vers - makefiles/mapfiles/libjava/mapfile-vers - makefiles/mapfiles/libjava/reorder-sparc - makefiles/mapfiles/libjava/reorder-sparcv9 - makefiles/mapfiles/libjava/reorder-x86 - makefiles/mapfiles/libjava_crw_demo/mapfile-vers - makefiles/mapfiles/libjawt/mapfile-vers - makefiles/mapfiles/libjdga/mapfile-vers - makefiles/mapfiles/libjdwp/mapfile-vers - makefiles/mapfiles/libjfr/mapfile-vers - makefiles/mapfiles/libjli/mapfile-vers - makefiles/mapfiles/libjpeg/mapfile-vers - makefiles/mapfiles/libjpeg/mapfile-vers-closed - makefiles/mapfiles/libjpeg/reorder-sparc - makefiles/mapfiles/libjpeg/reorder-sparcv9 - makefiles/mapfiles/libjpeg/reorder-x86 - makefiles/mapfiles/libjsdt/mapfile-vers - makefiles/mapfiles/libjsound/mapfile-vers - makefiles/mapfiles/libjsoundalsa/mapfile-vers - makefiles/mapfiles/libkcms/mapfile-vers - makefiles/mapfiles/liblcms/mapfile-vers - makefiles/mapfiles/libmanagement/mapfile-vers - makefiles/mapfiles/libmlib_image/mapfile-vers - makefiles/mapfiles/libnet/mapfile-vers - makefiles/mapfiles/libnio/mapfile-linux - makefiles/mapfiles/libnio/mapfile-macosx - makefiles/mapfiles/libnio/mapfile-solaris - makefiles/mapfiles/libnio/reorder-sparc - makefiles/mapfiles/libnio/reorder-sparcv9 - makefiles/mapfiles/libnio/reorder-x86 - makefiles/mapfiles/libnpt/mapfile-vers - makefiles/mapfiles/libsctp/mapfile-vers - makefiles/mapfiles/libsplashscreen/mapfile-vers - makefiles/mapfiles/libsunec/mapfile-vers - makefiles/mapfiles/libt2k/mapfile-vers - makefiles/mapfiles/libunpack/mapfile-vers - makefiles/mapfiles/libunpack/mapfile-vers-unpack200 - makefiles/mapfiles/libverify/mapfile-vers - makefiles/mapfiles/libverify/reorder-sparc - makefiles/mapfiles/libverify/reorder-sparcv9 - makefiles/mapfiles/libverify/reorder-x86 - makefiles/mapfiles/libzip/mapfile-vers - makefiles/mapfiles/libzip/reorder-sparc - makefiles/mapfiles/libzip/reorder-sparcv9 - makefiles/mapfiles/libzip/reorder-x86 - makefiles/profile-includes.txt - makefiles/profile-rtjar-includes.txt - makefiles/scripts/addNotices.sh - makefiles/scripts/genCharsetProvider.sh - makefiles/scripts/genExceptions.sh - makefiles/scripts/localelist.sh - makefiles/sun/awt/ToBin.java - makefiles/sun/osxapp/ToBin.java - test/java/lang/instrument/PremainClass/NoPremainAgent.sh - test/java/lang/instrument/PremainClass/PremainClassTest.sh - test/java/lang/instrument/PremainClass/ZeroArgPremainAgent.sh - test/java/text/Bidi/Bug6665028.java - test/javax/xml/jaxp/transform/jdk8004476/SecureProcessingTest.xml - test/javax/xml/jaxp/transform/jdk8004476/TestBase.java - test/javax/xml/jaxp/transform/jdk8004476/XPathExFuncTest.java - test/javax/xml/jaxp/transform/jdk8004476/XSLTExFuncTest.java - test/javax/xml/jaxp/transform/jdk8004476/tokenize.xml - test/javax/xml/jaxp/transform/jdk8004476/tokenize.xsl - test/sun/management/jmxremote/bootstrap/solaris-i586/launcher - test/sun/management/jmxremote/bootstrap/solaris-sparc/launcher Changeset: 233cc95e1a0a Author: alitvinov Date: 2013-12-04 12:29 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/233cc95e1a0a 8025775: JNI warnings in TryXShmAttach Reviewed-by: art, anthony ! src/solaris/classes/sun/awt/X11/XConstants.java ! src/solaris/classes/sun/awt/X11/XErrorHandler.java ! src/solaris/classes/sun/awt/X11/XErrorHandlerUtil.java ! src/solaris/native/sun/awt/awt_GraphicsEnv.c ! src/solaris/native/sun/awt/awt_GraphicsEnv.h ! src/solaris/native/sun/awt/awt_util.c ! src/solaris/native/sun/awt/awt_util.h ! src/solaris/native/sun/java2d/opengl/GLXSurfaceData.c ! src/solaris/native/sun/java2d/x11/X11SurfaceData.c ! src/solaris/native/sun/xawt/XlibWrapper.c Changeset: 1490b2b2af97 Author: pchelko Date: 2013-12-04 15:41 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/1490b2b2af97 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails Reviewed-by: anthony, serb + test/java/awt/MouseInfo/JContainerMousePositionTest.java Changeset: 613fdc6afb2c Author: serb Date: 2013-12-04 15:55 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/613fdc6afb2c 8029382: [macosx] Need test for JDK-7161437 Reviewed-by: pchelko, anthony + test/java/awt/FileDialog/FileDialogForDirectories/FileDialogForDirectories.html + test/java/awt/FileDialog/FileDialogForDirectories/FileDialogForDirectories.java Changeset: 68a64d582d1a Author: lana Date: 2013-12-05 10:32 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/68a64d582d1a Merge Changeset: 5ac7cd164300 Author: juh Date: 2013-11-27 15:25 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/5ac7cd164300 8021418: Intermittent: SSLSocketSSLEngineTemplate.java test fails with timeout Reviewed-by: xuelei, wetmore Contributed-by: rajan.halade at oracle.com ! test/sun/security/ssl/templates/SSLSocketSSLEngineTemplate.java Changeset: 4afe1281c837 Author: jbachorik Date: 2013-11-28 09:10 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/4afe1281c837 6987597: ManagementFactory.getGarbageCollectorMXBeans() returns empty list with CMS Reviewed-by: mchung ! test/com/sun/management/GarbageCollectorMXBean/LastGCInfo.java ! test/java/lang/management/GarbageCollectorMXBean/GcInfoCompositeType.java Changeset: 5bcaf730ceb8 Author: tyan Date: 2013-11-29 09:29 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/5bcaf730ceb8 8029348: ProblemList.txt updates (11/2013) Reviewed-by: chegar ! test/ProblemList.txt Changeset: ca911e383e26 Author: darcy Date: 2013-12-01 23:35 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/ca911e383e26 8006572: DoubleStream.sum() & DoubleSummaryStats implementations that reduce numerical errors Reviewed-by: psandoz, mduigou ! src/share/classes/java/util/DoubleSummaryStatistics.java ! src/share/classes/java/util/stream/Collectors.java ! src/share/classes/java/util/stream/DoublePipeline.java + test/java/util/stream/TestDoubleSumAverage.java Changeset: 39b3b0e77af5 Author: msheppar Date: 2013-12-02 14:01 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/39b3b0e77af5 8025211: Intermittent test failure: java/net/DatagramSocket/PortUnreachable.java Summary: modified test to execute in a single thread to eliminate potential race condition Reviewed-by: alanb, chegar, dfuchs ! test/java/net/DatagramSocket/PortUnreachable.java Changeset: 4ca1027a130a Author: vinnie Date: 2013-12-02 14:19 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/4ca1027a130a 8029369: Shell tests in sun/security/pkcs11/ do not compile PKCS11Test Reviewed-by: mullan ! 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 Changeset: 5b5ee2288306 Author: naoto Date: 2013-12-02 11:29 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/5b5ee2288306 8028368: There is no description whether or not java.util.ResourceBundle is thread-safe Reviewed-by: okutsu ! src/share/classes/java/util/ListResourceBundle.java ! src/share/classes/java/util/PropertyResourceBundle.java ! src/share/classes/java/util/ResourceBundle.java Changeset: bcf5fa5e9509 Author: lancea Date: 2013-12-02 16:06 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/bcf5fa5e9509 8029417: JDBC 4.2 javadoc updates Reviewed-by: darcy ! src/share/classes/java/sql/CallableStatement.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/SQLPermission.java Changeset: c11553506228 Author: sjiang Date: 2013-12-03 08:53 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/c11553506228 8029063: test/com/sun/jmx/snmp/NoInfoLeakTest.java does not compile with OpenJDK builds Reviewed-by: alanb, dfuchs - test/com/sun/jmx/snmp/NoInfoLeakTest.java Changeset: e01c6e0bf8ae Author: michaelm Date: 2013-12-03 17:29 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/e01c6e0bf8ae 8029127: Redirected POST request throws IllegalStateException on HttpURLConnection.getInputStream Reviewed-by: alanb, chegar ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java + test/sun/net/www/protocol/http/RedirectOnPost.java Changeset: 1c3d58caa7da Author: darcy Date: 2013-12-03 10:07 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/1c3d58caa7da 8029478: Fix more doclint issues in javax.script Reviewed-by: chegar, mduigou ! src/share/classes/javax/script/ScriptEngineFactory.java Changeset: 1061f4d085b5 Author: henryjen Date: 2013-12-03 11:37 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/1061f4d085b5 8029483: BufferedReader.lines() javadoc typo should be fixed Reviewed-by: mduigou ! src/share/classes/java/io/BufferedReader.java Changeset: cd4aabc40f72 Author: darcy Date: 2013-12-03 11:52 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/cd4aabc40f72 8029475: Fix more doclint issues in javax.security Reviewed-by: juh ! src/share/classes/javax/crypto/Cipher.java ! src/share/classes/javax/crypto/CipherSpi.java ! src/share/classes/javax/crypto/KeyGenerator.java ! src/share/classes/javax/crypto/SealedObject.java ! src/share/classes/javax/net/ssl/SSLEngine.java ! src/share/classes/javax/net/ssl/SSLPermission.java ! src/share/classes/javax/security/auth/PrivateCredentialPermission.java ! src/share/classes/javax/security/auth/kerberos/DelegationPermission.java ! src/share/classes/javax/security/auth/kerberos/ServicePermission.java ! src/share/classes/javax/security/auth/login/LoginContext.java ! src/share/classes/javax/security/auth/x500/X500Principal.java Changeset: c138b0d33980 Author: bpb Date: 2013-12-03 12:25 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/c138b0d33980 8022181: Tune algorithm crossover thresholds in BigInteger Summary: Change multiplication, squaring, division, and base conversion thresholds to values which retain performance improvement in most cases but with a a lower overall risk of regression. Reviewed-by: darcy ! src/share/classes/java/math/BigInteger.java Changeset: 3e95aadb479f Author: rriggs Date: 2013-12-03 16:20 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/3e95aadb479f 8028019: AWT Doclint warning/error cleanup Summary: Fix numerious javadoc and html errors and warnings Reviewed-by: yan ! src/share/classes/java/applet/Applet.java ! src/share/classes/java/applet/AppletContext.java ! src/share/classes/java/awt/AWTPermission.java ! src/share/classes/java/awt/AlphaComposite.java ! src/share/classes/java/awt/BasicStroke.java ! src/share/classes/java/awt/BorderLayout.java ! src/share/classes/java/awt/Button.java ! src/share/classes/java/awt/Checkbox.java ! src/share/classes/java/awt/CheckboxGroup.java ! src/share/classes/java/awt/CheckboxMenuItem.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/EventFilter.java ! src/share/classes/java/awt/EventQueue.java ! src/share/classes/java/awt/FileDialog.java ! src/share/classes/java/awt/FlowLayout.java ! src/share/classes/java/awt/Font.java ! src/share/classes/java/awt/Graphics.java ! src/share/classes/java/awt/GridBagConstraints.java ! src/share/classes/java/awt/GridBagLayout.java ! src/share/classes/java/awt/GridLayout.java ! src/share/classes/java/awt/Label.java ! src/share/classes/java/awt/LinearGradientPaint.java ! src/share/classes/java/awt/LinearGradientPaintContext.java ! src/share/classes/java/awt/List.java ! src/share/classes/java/awt/MenuItem.java ! src/share/classes/java/awt/RadialGradientPaint.java ! src/share/classes/java/awt/Scrollbar.java ! src/share/classes/java/awt/SystemColor.java ! src/share/classes/java/awt/SystemTray.java ! src/share/classes/java/awt/TextArea.java ! src/share/classes/java/awt/TextField.java ! src/share/classes/java/awt/Toolkit.java ! src/share/classes/java/awt/WaitDispatchSupport.java ! src/share/classes/java/awt/Window.java ! src/share/classes/java/awt/color/CMMException.java ! src/share/classes/java/awt/color/ColorSpace.java ! src/share/classes/java/awt/color/ICC_ColorSpace.java ! src/share/classes/java/awt/color/ICC_Profile.java ! src/share/classes/java/awt/color/ICC_ProfileGray.java ! src/share/classes/java/awt/color/ICC_ProfileRGB.java ! src/share/classes/java/awt/dnd/DnDEventMulticaster.java ! src/share/classes/java/awt/dnd/DragSourceDropEvent.java ! src/share/classes/java/awt/dnd/DropTarget.java ! src/share/classes/java/awt/event/MouseAdapter.java ! src/share/classes/java/awt/font/FontRenderContext.java ! src/share/classes/java/awt/font/StyledParagraph.java ! src/share/classes/java/awt/geom/AffineTransform.java ! src/share/classes/java/awt/geom/QuadCurve2D.java ! src/share/classes/java/awt/image/BufferStrategy.java ! src/share/classes/java/awt/image/BufferedImage.java ! src/share/classes/java/awt/image/ColorConvertOp.java ! src/share/classes/java/awt/peer/CheckboxPeer.java ! src/share/classes/java/awt/peer/DesktopPeer.java Changeset: df819e356901 Author: tyan Date: 2013-12-03 14:36 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/df819e356901 7190106: java/rmi/reliability/benchmark fails intermittently because of use of fixed port Reviewed-by: smarks, mduigou ! test/ProblemList.txt ! test/java/rmi/reliability/benchmark/bench/rmi/Main.java ! test/java/rmi/reliability/benchmark/bench/serial/Main.java - test/java/rmi/reliability/benchmark/runRmiBench.sh - test/java/rmi/reliability/benchmark/runSerialBench.sh Changeset: accd6ffd4b3f Author: smarks Date: 2013-12-03 15:52 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/accd6ffd4b3f 8028757: CharSequence.subSequence improperly requires a "new" CharSequence be returned Reviewed-by: alanb, darcy, mduigou ! src/share/classes/java/lang/CharSequence.java ! src/share/classes/java/lang/String.java Changeset: 9f624e115c6b Author: dfuchs Date: 2013-12-04 01:58 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/9f624e115c6b 8029281: Synchronization issues in Logger and LogManager Summary: Fixes several race conditions in logging which have been at the root cause of intermittent test failures. Reviewed-by: mchung, plevart ! src/share/classes/java/util/logging/LogManager.java ! src/share/classes/java/util/logging/Logger.java + test/java/util/logging/TestLogConfigurationDeadLock.java + test/java/util/logging/TestLoggerBundleSync.java Changeset: e1bc55ddf1ad Author: weijun Date: 2013-12-04 09:14 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/e1bc55ddf1ad 8028351: JWS doesn't get authenticated when using kerberos auth proxy Reviewed-by: xuelei ! src/share/classes/com/sun/security/auth/module/Krb5LoginModule.java ! test/sun/security/krb5/auto/KDC.java + test/sun/security/krb5/auto/LoginNoPass.java Changeset: d922c8aba2f8 Author: valeriep Date: 2013-12-03 17:23 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/d922c8aba2f8 8029158: sun/security/pkcs11/Signature/TestDSAKeyLength.java does not compile (or run) Summary: Add the missing library path and skip testing against NSS 1.14 or later due to known NSS issue Reviewed-by: vinnie, ascarpino ! test/sun/security/pkcs11/Signature/TestDSAKeyLength.java Changeset: 75165f6c1c50 Author: valeriep Date: 2013-12-03 17:25 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/75165f6c1c50 Merge Changeset: 301d76b8cb55 Author: sherman Date: 2013-12-03 17:44 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/301d76b8cb55 8028397: Undo the lenient MIME BASE64 decoder support change (JDK-8025003) and remove methods de/encode(buf, buf) Summary: updated the spec and implementation as requested Reviewed-by: alanb ! src/share/classes/java/util/Base64.java ! test/java/util/Base64/Base64GetEncoderTest.java ! test/java/util/Base64/TestBase64.java ! test/java/util/Base64/TestBase64Golden.java Changeset: c6b6b515cf4f Author: smarks Date: 2013-12-03 18:19 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/c6b6b515cf4f 8029489: StringJoiner spec for setEmptyValue() and length() is malformatted Reviewed-by: darcy, lancea, mduigou ! src/share/classes/java/util/StringJoiner.java Changeset: 2aae624bb833 Author: briangoetz Date: 2013-12-03 21:22 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/2aae624bb833 8028816: Add value-type notice to Optional* classes Reviewed-by: mduigou, smarks Contributed-by: bitterfoxc at gmail.com + src/share/classes/java/lang/doc-files/ValueBased.html ! src/share/classes/java/util/Optional.java ! src/share/classes/java/util/OptionalDouble.java ! src/share/classes/java/util/OptionalInt.java ! src/share/classes/java/util/OptionalLong.java Changeset: a5b8506f418a Author: lana Date: 2013-12-03 23:09 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/a5b8506f418a Merge ! src/share/classes/java/awt/Container.java ! src/share/classes/java/awt/Font.java ! test/ProblemList.txt Changeset: d30f49aa2d01 Author: sla Date: 2013-12-03 17:06 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/d30f49aa2d01 6461635: [TESTBUG] BasicTests.sh test fails intermittently Summary: Transform dummy class instead of BigInteger to avoid complication by -Xshare. Ported from script to java. Reviewed-by: alanb Contributed-by: mattias.tobiasson at oracle.com ! test/ProblemList.txt - test/com/sun/tools/attach/AgentSetup.sh ! test/com/sun/tools/attach/Application.java - test/com/sun/tools/attach/ApplicationSetup.sh ! test/com/sun/tools/attach/BasicTests.java - test/com/sun/tools/attach/BasicTests.sh - test/com/sun/tools/attach/CommonSetup.sh ! test/com/sun/tools/attach/PermissionTest.java - test/com/sun/tools/attach/PermissionTests.sh ! test/com/sun/tools/attach/ProviderTest.java - test/com/sun/tools/attach/ProviderTests.sh ! test/com/sun/tools/attach/RedefineAgent.java + test/com/sun/tools/attach/RedefineDummy.java + test/com/sun/tools/attach/RunnerUtil.java ! test/lib/testlibrary/jdk/testlibrary/ProcessThread.java ! test/lib/testlibrary/jdk/testlibrary/ProcessTools.java ! test/lib/testlibrary/jdk/testlibrary/Utils.java ! test/sun/tools/jstatd/JstatdTest.java Changeset: 2aa455506c49 Author: psandoz Date: 2013-12-04 10:27 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/2aa455506c49 8029164: Race condition in CompletableFuture.thenCompose with asynchronous task Reviewed-by: dl, chegar, mduigou ! src/share/classes/java/util/concurrent/CompletableFuture.java + test/java/util/concurrent/CompletableFuture/ThenComposeAsyncTest.java Changeset: e984e2871bf7 Author: jfranck Date: 2013-12-04 11:04 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/e984e2871bf7 8029117: (reflect) clarify javadoc for getMethod(...) and getMethods() Reviewed-by: darcy ! src/share/classes/java/lang/Class.java Changeset: 6d583b9d99e1 Author: henryjen Date: 2013-12-04 08:12 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/6d583b9d99e1 8029434: Spliterator of Stream returned by BufferedReader.lines() should have NONNULL characteristic Reviewed-by: mduigou ! src/share/classes/java/io/BufferedReader.java ! test/java/io/BufferedReader/Lines.java Changeset: 0f1332dd805c Author: coffeys Date: 2013-12-04 17:03 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/0f1332dd805c 8029347: sun/rmi/runtime/Log/checkLogging/CheckLogging.java fails in nightly intermittently Reviewed-by: alanb ! test/sun/rmi/runtime/Log/checkLogging/CheckLogging.java Changeset: a3b804e3d5f7 Author: mchung Date: 2013-12-04 09:26 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/a3b804e3d5f7 7067973: test/java/lang/management/MemoryMXBean/CollectionUsageThreshold.java hanging intermittently Reviewed-by: mchung Contributed-by: yiming.wang at oracle.com ! test/java/lang/management/MemoryMXBean/CollectionUsageThreshold.java - test/java/lang/management/MemoryMXBean/CollectionUsageThresholdConcMarkSweepGC.sh - test/java/lang/management/MemoryMXBean/CollectionUsageThresholdParallelGC.sh - test/java/lang/management/MemoryMXBean/CollectionUsageThresholdSerialGC.sh Changeset: 6a5a54193118 Author: mfang Date: 2013-12-04 09:29 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/6a5a54193118 8027244: Need to translate new error message and usage information for jar tool Reviewed-by: naoto, yhuang ! src/share/classes/sun/tools/jar/resources/jar_de.properties ! src/share/classes/sun/tools/jar/resources/jar_es.properties ! src/share/classes/sun/tools/jar/resources/jar_fr.properties ! src/share/classes/sun/tools/jar/resources/jar_it.properties ! src/share/classes/sun/tools/jar/resources/jar_ja.properties ! src/share/classes/sun/tools/jar/resources/jar_ko.properties ! src/share/classes/sun/tools/jar/resources/jar_pt_BR.properties ! src/share/classes/sun/tools/jar/resources/jar_sv.properties ! src/share/classes/sun/tools/jar/resources/jar_zh_CN.properties ! src/share/classes/sun/tools/jar/resources/jar_zh_TW.properties Changeset: bfe3a26a2c5e Author: mfang Date: 2013-12-04 09:32 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/bfe3a26a2c5e Merge - test/java/lang/management/MemoryMXBean/CollectionUsageThresholdConcMarkSweepGC.sh - test/java/lang/management/MemoryMXBean/CollectionUsageThresholdParallelGC.sh - test/java/lang/management/MemoryMXBean/CollectionUsageThresholdSerialGC.sh Changeset: 2a6611ebfb6c Author: smarks Date: 2013-12-04 18:02 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/2a6611ebfb6c 8029141: Add @FunctionalInterface annotation to Callable interface Reviewed-by: chegar, alanb ! src/share/classes/java/util/concurrent/Callable.java Changeset: 6deabb82f72b Author: ascarpino Date: 2013-12-04 10:59 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/6deabb82f72b 8027218: TEST_BUG: sun/security/pkcs11/ec tests fail because of ever-changing key size restrictions Reviewed-by: vinnie ! test/sun/security/pkcs11/PKCS11Test.java ! test/sun/security/pkcs11/ec/ReadCertificates.java ! test/sun/security/pkcs11/ec/TestCurves.java Changeset: 4345e3e82c55 Author: mchung Date: 2013-12-04 13:35 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/4345e3e82c55 8029552: Remove java/lang/management/MemoryMXBean/CollectionUsageThreshold.java from ProblemList.txt Reviewed-by: alanb ! test/ProblemList.txt Changeset: 014c04fd7460 Author: ascarpino Date: 2013-12-04 17:37 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/014c04fd7460 8029550: javadoc since tag for recent Hashtable updates Reviewed-by: mullan ! src/share/classes/java/security/Provider.java Changeset: 427c78c88229 Author: erikj Date: 2013-12-05 09:25 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/427c78c88229 8027963: Create unlimited policy jars. Reviewed-by: wetmore, ihse ! make/CreateSecurityJars.gmk ! make/SignJars.gmk - make/data/cryptopolicy/limited/LIMITED - make/data/cryptopolicy/unlimited/UNLIMITED Changeset: dc2f0c40399a Author: psandoz Date: 2013-12-05 09:44 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/dc2f0c40399a 8028564: Concurrent calls to CHM.put can fail to add the key/value to the map Reviewed-by: psandoz, chegar, alanb Contributed-by: Doug Lea
! src/share/classes/java/util/concurrent/ConcurrentHashMap.java + test/java/util/concurrent/ConcurrentHashMap/ConcurrentAssociateTest.java + test/java/util/concurrent/ConcurrentHashMap/ConcurrentContainsKeyTest.java Changeset: 8534e297484d Author: yan Date: 2013-12-05 18:04 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/8534e297484d 8029264: [doclint] more doclint and tidy cleanup Reviewed-by: alexsch, serb, malenkov ! src/share/classes/javax/swing/Action.java ! src/share/classes/javax/swing/DefaultComboBoxModel.java ! src/share/classes/javax/swing/GroupLayout.java ! src/share/classes/javax/swing/InputVerifier.java ! src/share/classes/javax/swing/JComponent.java ! src/share/classes/javax/swing/JDialog.java ! src/share/classes/javax/swing/JFrame.java ! src/share/classes/javax/swing/JInternalFrame.java ! src/share/classes/javax/swing/JLayeredPane.java ! src/share/classes/javax/swing/JList.java ! src/share/classes/javax/swing/JOptionPane.java ! src/share/classes/javax/swing/JScrollBar.java ! src/share/classes/javax/swing/JScrollPane.java ! src/share/classes/javax/swing/JTable.java ! src/share/classes/javax/swing/JTextArea.java ! src/share/classes/javax/swing/JTextPane.java ! src/share/classes/javax/swing/JTree.java ! src/share/classes/javax/swing/LookAndFeel.java ! src/share/classes/javax/swing/Painter.java ! src/share/classes/javax/swing/RowFilter.java ! src/share/classes/javax/swing/SizeSequence.java ! src/share/classes/javax/swing/Spring.java ! src/share/classes/javax/swing/SpringLayout.java ! src/share/classes/javax/swing/SwingWorker.java ! src/share/classes/javax/swing/border/CompoundBorder.java ! src/share/classes/javax/swing/event/TableModelEvent.java ! src/share/classes/javax/swing/event/TreeModelListener.java ! src/share/classes/javax/swing/plaf/basic/BasicOptionPaneUI.java ! src/share/classes/javax/swing/plaf/basic/BasicSplitPaneDivider.java ! src/share/classes/javax/swing/plaf/basic/BasicSplitPaneUI.java ! src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java ! src/share/classes/javax/swing/table/DefaultTableModel.java ! src/share/classes/javax/swing/table/TableModel.java ! src/share/classes/javax/swing/text/AbstractDocument.java ! src/share/classes/javax/swing/text/DefaultEditorKit.java ! src/share/classes/javax/swing/text/Document.java ! src/share/classes/javax/swing/text/JTextComponent.java ! src/share/classes/javax/swing/text/View.java ! src/share/classes/javax/swing/text/html/HTMLDocument.java ! src/share/classes/javax/swing/text/html/HTMLEditorKit.java ! src/share/classes/javax/swing/tree/FixedHeightLayoutCache.java Changeset: d3c4e8fe98c3 Author: bpb Date: 2013-12-05 07:44 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/d3c4e8fe98c3 8029514: java/math/BigInteger/BigIntegerTest.java failing since thresholds adjusted in 8022181 Summary: Ensure the value returned by getLower() is unsigned. Reviewed-by: darcy ! src/share/classes/java/math/BigInteger.java ! test/java/math/BigInteger/BigIntegerTest.java Changeset: 303f4bccfca2 Author: bpb Date: 2013-12-05 07:45 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/303f4bccfca2 8029501: BigInteger division algorithm selection heuristic is incorrect Summary: Change Burnikel-Ziegler division heuristic to require that the dividend int-length exceed that of the divisor by a minimum amount. Reviewed-by: darcy ! src/share/classes/java/math/BigInteger.java ! src/share/classes/java/math/MutableBigInteger.java Changeset: 72ea199e3e1b Author: robm Date: 2013-12-05 16:19 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/72ea199e3e1b 8029525: java/lang/ProcessBuilder/Basic.java fails intermittently Reviewed-by: alanb, chegar Contributed-by: roger.riggs at oracle.com ! test/java/lang/ProcessBuilder/Basic.java Changeset: 7ecaa4402c4e Author: lana Date: 2013-12-05 10:33 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/7ecaa4402c4e Merge - make/data/cryptopolicy/limited/LIMITED - make/data/cryptopolicy/unlimited/UNLIMITED - test/com/sun/jmx/snmp/NoInfoLeakTest.java - test/com/sun/tools/attach/AgentSetup.sh - test/com/sun/tools/attach/ApplicationSetup.sh - test/com/sun/tools/attach/BasicTests.sh - test/com/sun/tools/attach/CommonSetup.sh - test/com/sun/tools/attach/PermissionTests.sh - test/com/sun/tools/attach/ProviderTests.sh - test/java/lang/management/MemoryMXBean/CollectionUsageThresholdConcMarkSweepGC.sh - test/java/lang/management/MemoryMXBean/CollectionUsageThresholdParallelGC.sh - test/java/lang/management/MemoryMXBean/CollectionUsageThresholdSerialGC.sh - test/java/rmi/reliability/benchmark/runRmiBench.sh - test/java/rmi/reliability/benchmark/runSerialBench.sh Changeset: d31cd980e1da Author: rgallard Date: 2013-12-10 15:20 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/d31cd980e1da 8029616: Update jdeps man page to include a new -jdkinternals option Reviewed-by: mchung ! src/bsd/doc/man/jdeps.1 ! src/linux/doc/man/jdeps.1 ! src/solaris/doc/sun/man/man1/jdeps.1 Changeset: 27b384262cba Author: katleman Date: 2013-12-12 05:21 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/27b384262cba Added tag jdk8-b120 for changeset d31cd980e1da ! .hgtags From john.coomes at oracle.com Thu Dec 12 10:51:50 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Thu, 12 Dec 2013 18:51:50 +0000 Subject: hg: hsx/hotspot-main/langtools: 7 new changesets Message-ID: <20131212185231.15B6562C3D@hg.openjdk.java.net> Changeset: a746587a1ff1 Author: jlahoda Date: 2013-12-03 18:50 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/a746587a1ff1 8028699: Compiler crash during speculative attribution of annotated type Summary: Moving the checkForDeclarationAnnotations check into Attr.TypeAnnotationsValidator Reviewed-by: jjg Contributed-by: wdietl at gmail.com ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/annotations/typeAnnotations/failures/CheckForDeclAnnoNPE.java ! test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DeclarationAnnotation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DeclarationAnnotation.out Changeset: fb8c59cf26c8 Author: vromero Date: 2013-12-03 18:13 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/fb8c59cf26c8 8029179: javac produces a compile error for valid boolean expressions Reviewed-by: jjg, jlahoda ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java + test/tools/javac/T8029179/CompileErrorForValidBooleanExpTest.java Changeset: 4cb9de4dd420 Author: bpatel Date: 2013-12-03 14:21 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/4cb9de4dd420 8025416: doclet not substituting {@docRoot} in some cases Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java ! test/com/sun/javadoc/testDocRootLink/TestDocRootLink.java ! test/com/sun/javadoc/testDocRootLink/pkg1/C1.java ! test/com/sun/javadoc/testDocRootLink/pkg1/package.html ! test/com/sun/javadoc/testDocRootLink/pkg2/C2.java ! test/com/sun/javadoc/testDocRootLink/pkg2/package.html Changeset: 1b69023743be Author: lana Date: 2013-12-03 23:10 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/1b69023743be Merge Changeset: 4a2ed1900428 Author: mchung Date: 2013-12-04 15:39 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/4a2ed1900428 8029216: (jdeps) Provide a specific option to report JDK internal APIs Reviewed-by: alanb ! src/share/classes/com/sun/tools/jdeps/JdepsTask.java ! src/share/classes/com/sun/tools/jdeps/resources/jdeps.properties ! test/tools/jdeps/APIDeps.java Changeset: b3d7e86a0647 Author: lana Date: 2013-12-05 10:34 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/b3d7e86a0647 Merge Changeset: afe63d41c699 Author: katleman Date: 2013-12-12 05:21 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/afe63d41c699 Added tag jdk8-b120 for changeset b3d7e86a0647 ! .hgtags From john.coomes at oracle.com Thu Dec 12 10:52:52 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Thu, 12 Dec 2013 18:52:52 +0000 Subject: hg: hsx/hotspot-main/nashorn: 4 new changesets Message-ID: <20131212185300.45D8E62C3E@hg.openjdk.java.net> Changeset: e0b4483668a7 Author: jlaskey Date: 2013-11-26 11:58 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/nashorn/rev/e0b4483668a7 8029173: Debugger support doesn't handle ConsString Reviewed-by: lagergren, hannesw, sundar Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/runtime/DebuggerSupport.java Changeset: c14fe3f90616 Author: sundar Date: 2013-12-04 14:37 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-main/nashorn/rev/c14fe3f90616 Merge Changeset: 55cbc2d00c93 Author: lana Date: 2013-12-05 10:34 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/nashorn/rev/55cbc2d00c93 Merge Changeset: 32631eed0fad Author: katleman Date: 2013-12-12 05:21 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/nashorn/rev/32631eed0fad Added tag jdk8-b120 for changeset 55cbc2d00c93 ! .hgtags From alejandro.murillo at oracle.com Thu Dec 12 13:10:46 2013 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Thu, 12 Dec 2013 21:10:46 +0000 Subject: hg: hsx/jdk7u/hotspot: 3 new changesets Message-ID: <20131212211053.569B762C65@hg.openjdk.java.net> Changeset: 74d14a44c398 Author: asaha Date: 2013-11-27 14:57 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/hotspot/rev/74d14a44c398 Added tag jdk7u60-b01 for changeset 8fd0e931efa5 ! .hgtags Changeset: 99e96aaac8af Author: amurillo Date: 2013-12-12 11:42 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/hotspot/rev/99e96aaac8af Merge Changeset: 27db84519a53 Author: amurillo Date: 2013-12-12 11:42 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/hotspot/rev/27db84519a53 Added tag hs24.60-b04 for changeset 99e96aaac8af ! .hgtags From albert.noll at oracle.com Thu Dec 12 13:53:01 2013 From: albert.noll at oracle.com (albert.noll at oracle.com) Date: Thu, 12 Dec 2013 21:53:01 +0000 Subject: hg: hsx/hotspot-main/hotspot: 5 new changesets Message-ID: <20131212215311.69BB862C69@hg.openjdk.java.net> Changeset: df832bd8edb9 Author: kvn Date: 2013-12-06 12:11 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/df832bd8edb9 8028107: Kitchensink crashed with EAV Summary: check the state of caller and callee nmethods and skip call site patching if any of them is not alive Reviewed-by: jrose, twisti ! src/share/vm/code/compiledIC.cpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/runtime/sharedRuntime.cpp Changeset: b87211e33ebb Author: twisti Date: 2013-12-06 16:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/b87211e33ebb 8029366: ShouldNotReachHere error when creating an array with component type of void Reviewed-by: kvn ! src/share/vm/opto/memnode.cpp + test/compiler/reflection/ArrayNewInstanceOfVoid.java Changeset: ad45ebfba060 Author: iignatyev Date: 2013-12-11 01:04 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/ad45ebfba060 8028122: [TESTBUG] compiler/regalloc/C1ObjectSpillInLogicOp.java Reviewed-by: kvn, twisti ! test/compiler/regalloc/C1ObjectSpillInLogicOp.java Changeset: 62084ffe573b Author: iignatyev Date: 2013-12-11 01:09 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/62084ffe573b 8029153: [TESTBUG] test/compiler/7141637/SpreadNullArg.java fails because it expects NullPointerException Reviewed-by: twisti ! test/compiler/7141637/SpreadNullArg.java Changeset: bc8b01f98ae3 Author: anoll Date: 2013-12-12 11:22 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/bc8b01f98ae3 Merge From vladimir.danushevsky at oracle.com Thu Dec 12 17:10:25 2013 From: vladimir.danushevsky at oracle.com (vladimir.danushevsky at oracle.com) Date: Fri, 13 Dec 2013 01:10:25 +0000 Subject: hg: hsx/hotspot-main/hotspot: 3 new changesets Message-ID: <20131213011033.3680762C72@hg.openjdk.java.net> Changeset: fa6d364024c2 Author: jprovino Date: 2013-12-11 13:51 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/fa6d364024c2 8029566: PPC: OrderAccess::load_acquire(julong) is broken Summary: JFR needs this fix to run on PPC Reviewed-by: sla, mikael ! src/share/vm/utilities/globalDefinitions_gcc.hpp Changeset: dc09e905db20 Author: vladidan Date: 2013-12-12 17:08 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/dc09e905db20 Merge Changeset: 2a21bf819fea Author: vladidan Date: 2013-12-12 14:06 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/2a21bf819fea Merge From alejandro.murillo at oracle.com Thu Dec 12 15:57:41 2013 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Thu, 12 Dec 2013 23:57:41 +0000 Subject: hg: hsx/jdk7u/hotspot: 8030061: new hotspot build - hs24.60-b05 Message-ID: <20131212235746.1202462C6C@hg.openjdk.java.net> Changeset: 73418c18eb6f Author: amurillo Date: 2013-12-12 11:47 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/hotspot/rev/73418c18eb6f 8030061: new hotspot build - hs24.60-b05 Reviewed-by: jcoomes ! make/hotspot_version From markus.gronlund at oracle.com Fri Dec 13 03:03:31 2013 From: markus.gronlund at oracle.com (markus.gronlund at oracle.com) Date: Fri, 13 Dec 2013 11:03:31 +0000 Subject: hg: hsx/jdk7u/hotspot: 8029903: Add a type safe alternative for working with counter based data Message-ID: <20131213110343.3F6CF62CB9@hg.openjdk.java.net> Changeset: 2d13a768ee77 Author: mgronlun Date: 2013-12-13 10:32 +0100 URL: http://hg.openjdk.java.net/hsx/jdk7u/hotspot/rev/2d13a768ee77 8029903: Add a type safe alternative for working with counter based data Reviewed-by: dholmes, egahlin ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/vmCMSOperations.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/gc_implementation/shared/gcTimer.cpp ! src/share/vm/gc_implementation/shared/gcTimer.hpp ! src/share/vm/gc_implementation/shared/gcTrace.cpp ! src/share/vm/gc_implementation/shared/gcTrace.hpp ! src/share/vm/gc_implementation/shared/gcTraceSend.cpp ! src/share/vm/gc_implementation/shared/gcTraceTime.cpp ! src/share/vm/gc_implementation/shared/gcTraceTime.hpp ! src/share/vm/gc_implementation/shared/objectCountEventSender.cpp ! src/share/vm/gc_implementation/shared/objectCountEventSender.hpp ! src/share/vm/memory/defNewGeneration.cpp ! src/share/vm/memory/generation.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/runtime/sweeper.cpp ! src/share/vm/runtime/sweeper.hpp ! src/share/vm/trace/noTraceBackend.hpp ! src/share/vm/trace/trace.xml ! src/share/vm/trace/traceBackend.hpp ! src/share/vm/trace/traceEvent.hpp ! src/share/vm/trace/traceEventClasses.xsl ! src/share/vm/trace/traceEventIds.xsl ! src/share/vm/trace/traceMacros.hpp ! src/share/vm/trace/traceTime.hpp ! src/share/vm/trace/traceTypes.xsl ! src/share/vm/trace/tracetypes.xml ! src/share/vm/trace/tracing.hpp + src/share/vm/utilities/ticks.cpp + src/share/vm/utilities/ticks.hpp + src/share/vm/utilities/ticks.inline.hpp From alejandro.murillo at oracle.com Fri Dec 13 11:01:27 2013 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Fri, 13 Dec 2013 19:01:27 +0000 Subject: hg: hsx/hsx25/hotspot: 23 new changesets Message-ID: <20131213190232.A7C2562CCA@hg.openjdk.java.net> Changeset: ce2d7e46f3c7 Author: katleman Date: 2013-12-12 05:20 -0800 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/ce2d7e46f3c7 Added tag jdk8-b120 for changeset fca262db9c43 ! .hgtags Changeset: 3aa20cee331a Author: amurillo Date: 2013-12-06 09:41 -0800 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/3aa20cee331a 8029693: new hotspot build - hs25-b63 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 9a60f4ac6a37 Author: hseigel Date: 2013-12-04 08:10 -0500 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/9a60f4ac6a37 8027458: VM anonymous classes: wrong context for protected access checks Summary: Use the anonymous class's host class for protected access checks Reviewed-by: acorn, coleenp, lfoltan ! src/share/vm/runtime/reflection.cpp Changeset: a4f036ef52e8 Author: sla Date: 2013-12-04 14:43 +0100 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/a4f036ef52e8 8029395: SA: jstack throws WrongTypeException Summary: SA missed some TLABs Reviewed-by: dsamersoff, mgerdin, brutisso ! agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/ThreadLocalAllocBuffer.java Changeset: c586f8a7322f Author: mgronlun Date: 2013-12-05 12:35 +0100 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/c586f8a7322f 8028412: AsyncGetCallTrace() is broken on x86 in JDK 7u40 Reviewed-by: kvn, sspitsyn ! src/cpu/x86/vm/frame_x86.cpp Changeset: 769557390c43 Author: hseigel Date: 2013-12-06 11:33 -0500 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/769557390c43 8029415: java/lang/reflect/Method/invoke/TestPrivateInterfaceMethodReflect.java fails on all platforms with hs25-b61 Summary: Check first that a class is not a dynamically-generated bytecode associated with 1.4 reflection implementation, to emitting an ICCE of an invokespecial IMR of a method in an indirect superinterface. Reviewed-by: acorn, hseigel Contributed-by: lois.foltan at oracle.com ! src/share/vm/interpreter/linkResolver.cpp Changeset: a150ff9e8efc Author: hseigel Date: 2013-12-06 11:49 -0500 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/a150ff9e8efc Merge Changeset: bf15208b72a5 Author: mgronlun Date: 2013-12-08 18:00 +0100 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/bf15208b72a5 Merge Changeset: 9fbabcbb875b Author: hseigel Date: 2013-12-10 16:18 -0500 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/9fbabcbb875b 8028741: Interface Method Resolution should skip static and non-public methods in j.l.Object Summary: Implementation of JDK 8 JVMS 5.4.3.4 specification change to skip static and non-public methods of java.lang.Object for interface method resolution. Reviewed-by: acorn, coleenp Contributed-by: lois.foltan at oracle.com ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/interpreter/linkResolver.hpp ! test/runtime/8024804/RegisterNatives.java Changeset: 1de8e5356754 Author: ehelin Date: 2013-12-09 08:20 +0100 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/1de8e5356754 8029326: G1 does not check if threads gets created Reviewed-by: brutisso, jmasa, jwilhelm ! src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp Changeset: ad72068ac41e Author: sjohanss Date: 2013-12-10 10:31 +0100 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/ad72068ac41e 8028993: Full collections with ParallelScavenge slower in JDK 8 compared to 7u40 Summary: Reducing the number of calls to follow_class_loader to speed up the marking phase. Also removed some unnecessary calls to adjust_klass. Reviewed-by: stefank, jmasa, mgerdin ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp ! src/share/vm/oops/instanceClassLoaderKlass.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceMirrorKlass.cpp ! src/share/vm/oops/objArrayKlass.cpp ! src/share/vm/oops/oop.hpp ! src/share/vm/oops/oop.pcgc.inline.hpp Changeset: fa76dce60db7 Author: stefank Date: 2013-12-09 10:03 +0100 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/fa76dce60db7 8029106: JVM crashes in Metachunk::Metachunk during parallel class redefinition (PrivateMLetController, anonymous-simple_copy_1) Summary: Fixed overflow bug in VirtualSpaceNode::is_available Reviewed-by: mgerdin, brutisso, coleenp, jmasa ! src/share/vm/memory/metaspace.cpp Changeset: e3995ab44393 Author: ehelin Date: 2013-12-12 16:13 +0100 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/e3995ab44393 Merge Changeset: df832bd8edb9 Author: kvn Date: 2013-12-06 12:11 -0800 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/df832bd8edb9 8028107: Kitchensink crashed with EAV Summary: check the state of caller and callee nmethods and skip call site patching if any of them is not alive Reviewed-by: jrose, twisti ! src/share/vm/code/compiledIC.cpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/runtime/sharedRuntime.cpp Changeset: b87211e33ebb Author: twisti Date: 2013-12-06 16:43 -0800 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/b87211e33ebb 8029366: ShouldNotReachHere error when creating an array with component type of void Reviewed-by: kvn ! src/share/vm/opto/memnode.cpp + test/compiler/reflection/ArrayNewInstanceOfVoid.java Changeset: ad45ebfba060 Author: iignatyev Date: 2013-12-11 01:04 +0400 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/ad45ebfba060 8028122: [TESTBUG] compiler/regalloc/C1ObjectSpillInLogicOp.java Reviewed-by: kvn, twisti ! test/compiler/regalloc/C1ObjectSpillInLogicOp.java Changeset: 62084ffe573b Author: iignatyev Date: 2013-12-11 01:09 +0400 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/62084ffe573b 8029153: [TESTBUG] test/compiler/7141637/SpreadNullArg.java fails because it expects NullPointerException Reviewed-by: twisti ! test/compiler/7141637/SpreadNullArg.java Changeset: bc8b01f98ae3 Author: anoll Date: 2013-12-12 11:22 -0800 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/bc8b01f98ae3 Merge Changeset: fa6d364024c2 Author: jprovino Date: 2013-12-11 13:51 -0500 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/fa6d364024c2 8029566: PPC: OrderAccess::load_acquire(julong) is broken Summary: JFR needs this fix to run on PPC Reviewed-by: sla, mikael ! src/share/vm/utilities/globalDefinitions_gcc.hpp Changeset: dc09e905db20 Author: vladidan Date: 2013-12-12 17:08 -0500 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/dc09e905db20 Merge Changeset: 2a21bf819fea Author: vladidan Date: 2013-12-12 14:06 -0800 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/2a21bf819fea Merge Changeset: 41f4cad94c58 Author: amurillo Date: 2013-12-13 09:40 -0800 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/41f4cad94c58 Merge Changeset: 5f07ec8bb982 Author: amurillo Date: 2013-12-13 09:40 -0800 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/5f07ec8bb982 Added tag hs25-b63 for changeset 41f4cad94c58 ! .hgtags From alejandro.murillo at oracle.com Fri Dec 13 12:10:23 2013 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Fri, 13 Dec 2013 20:10:23 +0000 Subject: hg: hsx/hotspot-main/hotspot: 4 new changesets Message-ID: <20131213201052.036AF62CCB@hg.openjdk.java.net> Changeset: ce2d7e46f3c7 Author: katleman Date: 2013-12-12 05:20 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/ce2d7e46f3c7 Added tag jdk8-b120 for changeset fca262db9c43 ! .hgtags Changeset: 41f4cad94c58 Author: amurillo Date: 2013-12-13 09:40 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/41f4cad94c58 Merge Changeset: 5f07ec8bb982 Author: amurillo Date: 2013-12-13 09:40 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/5f07ec8bb982 Added tag hs25-b63 for changeset 41f4cad94c58 ! .hgtags Changeset: 7469c9ca967a Author: amurillo Date: 2013-12-13 09:48 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/7469c9ca967a 8030062: new hotspot build - hs25-b64 Reviewed-by: jcoomes ! make/hotspot_version From mikael.vidstedt at oracle.com Fri Dec 13 14:56:20 2013 From: mikael.vidstedt at oracle.com (Mikael Vidstedt) Date: Fri, 13 Dec 2013 14:56:20 -0800 Subject: RFR (S): 8029233: Update copyright year to match last edit in jdk8 hotspot repository for 2013 Message-ID: <52AB9094.10104@oracle.com> All, It's that time of the year. Can I please get a couple of reviews of the below: http://cr.openjdk.java.net/~mikael/webrevs/copyright2013/webrev.01/webrev Thanks, Mikael From christian.thalinger at oracle.com Fri Dec 13 15:53:45 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Fri, 13 Dec 2013 15:53:45 -0800 Subject: RFR (S): 8029233: Update copyright year to match last edit in jdk8 hotspot repository for 2013 In-Reply-To: <52AB9094.10104@oracle.com> References: <52AB9094.10104@oracle.com> Message-ID: <87CFF238-84E3-4E2B-833C-48E44350B793@oracle.com> Looks good. On Dec 13, 2013, at 2:56 PM, Mikael Vidstedt wrote: > > All, > > It's that time of the year. Can I please get a couple of reviews of the below: > > http://cr.openjdk.java.net/~mikael/webrevs/copyright2013/webrev.01/webrev > > Thanks, > Mikael > From harold.seigel at oracle.com Mon Dec 16 13:55:27 2013 From: harold.seigel at oracle.com (harold.seigel at oracle.com) Date: Mon, 16 Dec 2013 21:55:27 +0000 Subject: hg: hsx/jdk7u/hotspot: 8028520: JVM should not throw VerifyError when a private method overrides a final method Message-ID: <20131216215535.34DE662D3E@hg.openjdk.java.net> Changeset: fe0d0f0242fb Author: hseigel Date: 2013-12-16 13:15 -0500 URL: http://hg.openjdk.java.net/hsx/jdk7u/hotspot/rev/fe0d0f0242fb 8028520: JVM should not throw VerifyError when a private method overrides a final method Summary: Exclude private methods when checking for final method override (backport) Reviewed-by: kamg, coleenp, dholmes, mseledtsov ! src/share/vm/classfile/classFileParser.cpp From niclas.adlertz at oracle.com Tue Dec 17 11:25:50 2013 From: niclas.adlertz at oracle.com (niclas.adlertz at oracle.com) Date: Tue, 17 Dec 2013 19:25:50 +0000 Subject: hg: hsx/jdk7u/hotspot: 8021771: warning stat64 is deprecated - when building on OSX 10.7.5 Message-ID: <20131217192605.A7B8062D6D@hg.openjdk.java.net> Changeset: 1acc51c4d2f2 Author: aeriksso Date: 2013-12-02 17:27 +0100 URL: http://hg.openjdk.java.net/hsx/jdk7u/hotspot/rev/1acc51c4d2f2 8021771: warning stat64 is deprecated - when building on OSX 10.7.5 Summary: stat64 have to be replaced with stat Reviewed-by: dsamersoff, sla Contributed-by: rednaxelafx at gmail.com ! src/os/bsd/vm/attachListener_bsd.cpp From mike.duigou at oracle.com Tue Dec 17 16:08:03 2013 From: mike.duigou at oracle.com (Mike Duigou) Date: Tue, 17 Dec 2013 16:08:03 -0800 Subject: RFR: 8030350: Enable additional compiler warnings for GCC Message-ID: <09B1187E-9549-486E-A181-02F811C524E1@oracle.com> Hello all; This is a change which enables additional compiler warnings for native compilation when using GCC. The (-Wformat -Wformat-security) options are supported by GCC 3.0.4 (the earliest version I checked, c. February 2002) and later so we shouldn't see issues with incompatibility.- Wextra appears to have been added in GCC 3.4.X line (c. 2004) so it should also be reasonably well adopted and replaces -W. The core of the change is to add : -Wextra -Wno-unused-parameter -Wformat -Wformat-security for general C and CC++ compilations. For HotSpot C++ compiles a slightly less aggressive set is used: -Wformat -Wformat-security is used. Webrev here: http://cr.openjdk.java.net/~mduigou/JDK-8030350/0/webrev/ For the curious, yes, the additional checks do generate additional warnings. ;-) This change is targeted at the JDK 9 repos but could be backported to JDK 8 fairly easily/safely. Mike From christian.thalinger at oracle.com Tue Dec 17 18:31:09 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Tue, 17 Dec 2013 18:31:09 -0800 Subject: RFR: 8030350: Enable additional compiler warnings for GCC In-Reply-To: <09B1187E-9549-486E-A181-02F811C524E1@oracle.com> References: <09B1187E-9549-486E-A181-02F811C524E1@oracle.com> Message-ID: What about BSD? On Dec 17, 2013, at 4:08 PM, Mike Duigou wrote: > Hello all; > > This is a change which enables additional compiler warnings for native compilation when using GCC. The (-Wformat -Wformat-security) options are supported by GCC 3.0.4 (the earliest version I checked, c. February 2002) and later so we shouldn't see issues with incompatibility.- Wextra appears to have been added in GCC 3.4.X line (c. 2004) so it should also be reasonably well adopted and replaces -W. > > The core of the change is to add : > > -Wextra -Wno-unused-parameter -Wformat -Wformat-security > > for general C and CC++ compilations. For HotSpot C++ compiles a slightly less aggressive set is used: > > -Wformat -Wformat-security > > is used. > > Webrev here: > > http://cr.openjdk.java.net/~mduigou/JDK-8030350/0/webrev/ > > For the curious, yes, the additional checks do generate additional warnings. ;-) > > This change is targeted at the JDK 9 repos but could be backported to JDK 8 fairly easily/safely. > > Mike > From mike.duigou at oracle.com Tue Dec 17 21:41:05 2013 From: mike.duigou at oracle.com (Mike Duigou) Date: Tue, 17 Dec 2013 21:41:05 -0800 Subject: RFR: 8030350: Enable additional compiler warnings for GCC In-Reply-To: References: <09B1187E-9549-486E-A181-02F811C524E1@oracle.com> Message-ID: <442FC1D7-C31E-413D-B872-D94156F4F9CD@oracle.com> I have no objection to making the same improvements there but have no way to test the result. I will update the changeset and re-request review with the caveat that the BSD changes have not been tested. Mike On Dec 17 2013, at 18:31 , Christian Thalinger wrote: > What about BSD? > > On Dec 17, 2013, at 4:08 PM, Mike Duigou wrote: > >> Hello all; >> >> This is a change which enables additional compiler warnings for native compilation when using GCC. The (-Wformat -Wformat-security) options are supported by GCC 3.0.4 (the earliest version I checked, c. February 2002) and later so we shouldn't see issues with incompatibility.- Wextra appears to have been added in GCC 3.4.X line (c. 2004) so it should also be reasonably well adopted and replaces -W. >> >> The core of the change is to add : >> >> -Wextra -Wno-unused-parameter -Wformat -Wformat-security >> >> for general C and CC++ compilations. For HotSpot C++ compiles a slightly less aggressive set is used: >> >> -Wformat -Wformat-security >> >> is used. >> >> Webrev here: >> >> http://cr.openjdk.java.net/~mduigou/JDK-8030350/0/webrev/ >> >> For the curious, yes, the additional checks do generate additional warnings. ;-) >> >> This change is targeted at the JDK 9 repos but could be backported to JDK 8 fairly easily/safely. >> >> Mike >> > From john.coomes at oracle.com Tue Dec 17 22:18:40 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Wed, 18 Dec 2013 06:18:40 +0000 Subject: hg: hsx/jdk7u/jdk: 11 new changesets Message-ID: <20131218062158.30FC162D8B@hg.openjdk.java.net> Changeset: 0b29b4fac98d Author: pchelko Date: 2013-11-22 17:07 +0400 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/0b29b4fac98d 8024163: [macosx] NullPointerException at javax.swing.TransferHandler$DropHandler.handleDrag since jdk8b93, 7u40b28 Reviewed-by: anthony, serb ! src/macosx/classes/sun/lwawt/macosx/CDropTargetContextPeer.java ! src/macosx/native/sun/awt/CDropTarget.m + test/java/awt/dnd/DropTargetEnterExitTest/ExtraDragEnterTest.java + test/java/awt/dnd/DropTargetEnterExitTest/MissedDragExitTest.java Changeset: bd05cf8055fc Author: pchelko Date: 2013-11-22 17:08 +0400 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/bd05cf8055fc 8012925: [parfait] Missing return value in jdk/src/macosx/native/sun/awt/AWTEvent.m Reviewed-by: katleman, leonidr ! src/macosx/native/sun/awt/AWTEvent.m Changeset: e425ee7e2c58 Author: msheppar Date: 2013-11-27 11:22 +0000 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/e425ee7e2c58 8028215: ORB.init fails with SecurityException if properties select the JDK default ORB Summary: check for default ORBImpl and ORBSingleton set via properties or System properties Reviewed-by: alanb, coffeys, mchung + test/com/sun/corba/se/impl/orb/SetDefaultORBTest.java Changeset: 8e9e7fd8463e Author: erikj Date: 2013-12-04 09:45 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/8e9e7fd8463e 8029304: JFR broken in 7u train for JDK Linux for ARM or OpenJDK Reviewed-by: collins, dholmes, tbell ! make/com/oracle/Makefile ! make/common/Release.gmk Changeset: 923dd08818f3 Author: weijun Date: 2013-12-01 09:17 +0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/923dd08818f3 8028351: JWS doesn't get authenticated when using kerberos auth proxy Reviewed-by: xuelei ! src/share/classes/com/sun/security/auth/module/Krb5LoginModule.java ! test/sun/security/krb5/auto/KDC.java + test/sun/security/krb5/auto/LoginNoPass.java Changeset: 1ef160cf9b30 Author: chegar Date: 2013-02-01 06:51 +0000 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/1ef160cf9b30 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: 3ba8d15adade Author: dfuchs Date: 2013-12-10 10:36 +0100 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/3ba8d15adade 8025512: NPE with logging while launching webstart on jre7u40 if logging is disabled Summary: Logger.setParent needed a check to guard against manager == null. This was already in JDK 8. Reviewed-by: mchung ! src/share/classes/java/util/logging/Logger.java + test/java/util/logging/TestGetLoggerNPE.java Changeset: 30203a1714f4 Author: jiangli Date: 2012-11-05 12:51 -0500 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/30203a1714f4 7197210: java/lang/invoke/CallSiteTest.java failing on armsflt. Summary: Reduce work load and set longer timeout for java/lang/invoke tests. Reviewed-by: kvn, twisti ! test/java/lang/invoke/BigArityTest.java ! test/java/lang/invoke/CallSiteTest.java ! test/java/lang/invoke/MethodHandlesTest.java ! test/java/lang/invoke/RicochetTest.java Changeset: 65d826a28dbd Author: jiangli Date: 2013-12-10 17:38 -0500 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/65d826a28dbd Merge Changeset: 91d49c0f1573 Author: anashaty Date: 2013-12-11 18:48 +0400 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/91d49c0f1573 8028054: com.sun.beans.finder.MethodFinder has unsynchronized access to a static Map Reviewed-by: alexsch, serb ! src/share/classes/com/sun/beans/finder/ConstructorFinder.java ! src/share/classes/com/sun/beans/finder/MethodFinder.java ! src/share/classes/com/sun/beans/finder/Signature.java + src/share/classes/com/sun/beans/finder/SignatureException.java + src/share/classes/com/sun/beans/util/Cache.java + test/java/beans/XMLDecoder/8028054/Task.java + test/java/beans/XMLDecoder/8028054/TestConstructorFinder.java + test/java/beans/XMLDecoder/8028054/TestMethodFinder.java Changeset: ff67c8965852 Author: lana Date: 2013-12-11 11:19 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/ff67c8965852 Merge From john.coomes at oracle.com Tue Dec 17 22:16:31 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Wed, 18 Dec 2013 06:16:31 +0000 Subject: hg: hsx/jdk7u/corba: 2 new changesets Message-ID: <20131218061638.C5B7B62D89@hg.openjdk.java.net> Changeset: 19119229b5c0 Author: msheppar Date: 2013-11-27 11:20 +0000 URL: http://hg.openjdk.java.net/hsx/jdk7u/corba/rev/19119229b5c0 8028215: ORB.init fails with SecurityException if properties select the JDK default ORB Summary: check for default ORBImpl and ORBSingleton set via properties or System properties Reviewed-by: alanb, coffeys, mchung ! src/share/classes/org/omg/CORBA/ORB.java Changeset: d81370c5b863 Author: lana Date: 2013-12-11 11:18 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/corba/rev/d81370c5b863 Merge From dmitry.samersoff at oracle.com Wed Dec 18 06:13:21 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Wed, 18 Dec 2013 18:13:21 +0400 Subject: RFR: 8030350: Enable additional compiler warnings for GCC In-Reply-To: <442FC1D7-C31E-413D-B872-D94156F4F9CD@oracle.com> References: <09B1187E-9549-486E-A181-02F811C524E1@oracle.com> <442FC1D7-C31E-413D-B872-D94156F4F9CD@oracle.com> Message-ID: <52B1AD81.7000707@oracle.com> Mike, 1. I'm not sure -Wformat-security has any value for us - it checks for case printf(string) with no extra arguments, as it can cause buffer overrun if string comes from untrusted source. 2. It's possible to shorten command line by -Wformat=2 it implies -Wformat -Wformat-nonliteral -Wformat-security -Wformat-y2k. 3. Send me link to webrev - I'll test it on freebsd. -Dmitry On 2013-12-18 09:41, Mike Duigou wrote: > I have no objection to making the same improvements there but have no way to test the result. I will update the changeset and re-request review with the caveat that the BSD changes have not been tested. > > Mike > > > On Dec 17 2013, at 18:31 , Christian Thalinger wrote: > >> What about BSD? >> >> On Dec 17, 2013, at 4:08 PM, Mike Duigou wrote: >> >>> Hello all; >>> >>> This is a change which enables additional compiler warnings for native compilation when using GCC. The (-Wformat -Wformat-security) options are supported by GCC 3.0.4 (the earliest version I checked, c. February 2002) and later so we shouldn't see issues with incompatibility.- Wextra appears to have been added in GCC 3.4.X line (c. 2004) so it should also be reasonably well adopted and replaces -W. >>> >>> The core of the change is to add : >>> >>> -Wextra -Wno-unused-parameter -Wformat -Wformat-security >>> >>> for general C and CC++ compilations. For HotSpot C++ compiles a slightly less aggressive set is used: >>> >>> -Wformat -Wformat-security >>> >>> is used. >>> >>> Webrev here: >>> >>> http://cr.openjdk.java.net/~mduigou/JDK-8030350/0/webrev/ >>> >>> For the curious, yes, the additional checks do generate additional warnings. ;-) >>> >>> This change is targeted at the JDK 9 repos but could be backported to JDK 8 fairly easily/safely. >>> >>> Mike >>> >> > -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * I would love to change the world, but they won't give me the sources. From lois.foltan at oracle.com Wed Dec 18 07:03:49 2013 From: lois.foltan at oracle.com (Lois Foltan) Date: Wed, 18 Dec 2013 10:03:49 -0500 Subject: RFR: 8030350: Enable additional compiler warnings for GCC In-Reply-To: <09B1187E-9549-486E-A181-02F811C524E1@oracle.com> References: <09B1187E-9549-486E-A181-02F811C524E1@oracle.com> Message-ID: <52B1B955.70303@oracle.com> Hi Mike, We need to be careful that these options are also supported on MacOS with the clang compiler in case there is a future migration to clang for JDK 9 or higher. Thanks, Lois On 12/17/2013 7:08 PM, Mike Duigou wrote: > Hello all; > > This is a change which enables additional compiler warnings for native compilation when using GCC. The (-Wformat -Wformat-security) options are supported by GCC 3.0.4 (the earliest version I checked, c. February 2002) and later so we shouldn't see issues with incompatibility.- Wextra appears to have been added in GCC 3.4.X line (c. 2004) so it should also be reasonably well adopted and replaces -W. > > The core of the change is to add : > > -Wextra -Wno-unused-parameter -Wformat -Wformat-security > > for general C and CC++ compilations. For HotSpot C++ compiles a slightly less aggressive set is used: > > -Wformat -Wformat-security > > is used. > > Webrev here: > > http://cr.openjdk.java.net/~mduigou/JDK-8030350/0/webrev/ > > For the curious, yes, the additional checks do generate additional warnings. ;-) > > This change is targeted at the JDK 9 repos but could be backported to JDK 8 fairly easily/safely. > > Mike > From joe.darcy at oracle.com Wed Dec 18 10:33:09 2013 From: joe.darcy at oracle.com (Joe Darcy) Date: Wed, 18 Dec 2013 10:33:09 -0800 Subject: JDK 9 RFR and sponsorship of JDK-8030656 Bad version check for parameter information in src/share/vm/classfile/javaClasses.cpp Message-ID: <52B1EA65.4050100@oracle.com> Hello, During the course of trying to increment the JDK_MINOR_VERSION from 8 to 9 in the JDK 9 forest, a HotSpot bug has discovered: JDK-8030656 Bad version check for parameter information in src/share/vm/classfile/javaClasses.cpp Fortunately, the fix is very simple: --- a/src/share/vm/classfile/javaClasses.cpp Fri Dec 13 09:35:12 2013 -0800 +++ b/src/share/vm/classfile/javaClasses.cpp Wed Dec 18 10:30:02 2013 -0800 @@ -3286,7 +3286,7 @@ sun_reflect_ConstantPool::compute_offsets(); sun_reflect_UnsafeStaticFieldAccessorImpl::compute_offsets(); } - if (JDK_Version::is_jdk18x_version()) + if (JDK_Version::is_gte_jdk18x_version()) java_lang_reflect_Parameter::compute_offsets(); // generated interpreter code wants to know about the offsets we just computed: With this patch, the java.lang.reflect.Parameter related tests that fail in the jdk and langtools repos pass. I'm requesting review of and sponsorship of this fix for JDK 9. Thanks, -Joe From kmcguigan at twitter.com Wed Dec 18 10:48:47 2013 From: kmcguigan at twitter.com (Keith McGuigan) Date: Wed, 18 Dec 2013 13:48:47 -0500 Subject: JDK 9 RFR and sponsorship of JDK-8030656 Bad version check for parameter information in src/share/vm/classfile/javaClasses.cpp In-Reply-To: <52B1EA65.4050100@oracle.com> References: <52B1EA65.4050100@oracle.com> Message-ID: Reviewed! On Wed, Dec 18, 2013 at 1:33 PM, Joe Darcy wrote: > Hello, > > During the course of trying to increment the JDK_MINOR_VERSION from 8 to 9 > in the JDK 9 forest, a HotSpot bug has discovered: > > JDK-8030656 Bad version check for parameter information in > src/share/vm/classfile/javaClasses.cpp > > Fortunately, the fix is very simple: > > --- a/src/share/vm/classfile/javaClasses.cpp Fri Dec 13 09:35:12 2013 > -0800 > +++ b/src/share/vm/classfile/javaClasses.cpp Wed Dec 18 10:30:02 2013 > -0800 > @@ -3286,7 +3286,7 @@ > sun_reflect_ConstantPool::compute_offsets(); > sun_reflect_UnsafeStaticFieldAccessorImpl::compute_offsets(); > } > - if (JDK_Version::is_jdk18x_version()) > + if (JDK_Version::is_gte_jdk18x_version()) > java_lang_reflect_Parameter::compute_offsets(); > > // generated interpreter code wants to know about the offsets we just > computed: > > With this patch, the java.lang.reflect.Parameter related tests that fail > in the jdk and langtools repos pass. > > I'm requesting review of and sponsorship of this fix for JDK 9. > > Thanks, > > -Joe > From christian.thalinger at oracle.com Wed Dec 18 11:12:16 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Wed, 18 Dec 2013 11:12:16 -0800 Subject: JDK 9 RFR and sponsorship of JDK-8030656 Bad version check for parameter information in src/share/vm/classfile/javaClasses.cpp In-Reply-To: <52B1EA65.4050100@oracle.com> References: <52B1EA65.4050100@oracle.com> Message-ID: On Dec 18, 2013, at 10:33 AM, Joe Darcy wrote: > Hello, > > During the course of trying to increment the JDK_MINOR_VERSION from 8 to 9 in the JDK 9 forest, a HotSpot bug has discovered: > > JDK-8030656 Bad version check for parameter information in src/share/vm/classfile/javaClasses.cpp > > Fortunately, the fix is very simple: > > --- a/src/share/vm/classfile/javaClasses.cpp Fri Dec 13 09:35:12 2013 -0800 > +++ b/src/share/vm/classfile/javaClasses.cpp Wed Dec 18 10:30:02 2013 -0800 > @@ -3286,7 +3286,7 @@ > sun_reflect_ConstantPool::compute_offsets(); > sun_reflect_UnsafeStaticFieldAccessorImpl::compute_offsets(); > } > - if (JDK_Version::is_jdk18x_version()) > + if (JDK_Version::is_gte_jdk18x_version()) Shouldn?t code like this be removed at all now that HSX is dead? > java_lang_reflect_Parameter::compute_offsets(); > > // generated interpreter code wants to know about the offsets we just computed: > > With this patch, the java.lang.reflect.Parameter related tests that fail in the jdk and langtools repos pass. > > I'm requesting review of and sponsorship of this fix for JDK 9. > > Thanks, > > -Joe From joe.darcy at oracle.com Wed Dec 18 11:20:05 2013 From: joe.darcy at oracle.com (Joe Darcy) Date: Wed, 18 Dec 2013 11:20:05 -0800 Subject: JDK 9 RFR and sponsorship of JDK-8030656 Bad version check for parameter information in src/share/vm/classfile/javaClasses.cpp In-Reply-To: References: <52B1EA65.4050100@oracle.com> Message-ID: <52B1F565.9090905@oracle.com> On 12/18/2013 11:12 AM, Christian Thalinger wrote: > On Dec 18, 2013, at 10:33 AM, Joe Darcy wrote: > >> Hello, >> >> During the course of trying to increment the JDK_MINOR_VERSION from 8 to 9 in the JDK 9 forest, a HotSpot bug has discovered: >> >> JDK-8030656 Bad version check for parameter information in src/share/vm/classfile/javaClasses.cpp >> >> Fortunately, the fix is very simple: >> >> --- a/src/share/vm/classfile/javaClasses.cpp Fri Dec 13 09:35:12 2013 -0800 >> +++ b/src/share/vm/classfile/javaClasses.cpp Wed Dec 18 10:30:02 2013 -0800 >> @@ -3286,7 +3286,7 @@ >> sun_reflect_ConstantPool::compute_offsets(); >> sun_reflect_UnsafeStaticFieldAccessorImpl::compute_offsets(); >> } >> - if (JDK_Version::is_jdk18x_version()) >> + if (JDK_Version::is_gte_jdk18x_version()) > Shouldn?t code like this be removed at all now that HSX is dead? > > There are other checks of that flavor in the same file. For my purposes, I just want to get the feature working again when the JDK_MINOR_VERSION is updated. -Joe From mike.duigou at oracle.com Wed Dec 18 14:23:52 2013 From: mike.duigou at oracle.com (Mike Duigou) Date: Wed, 18 Dec 2013 14:23:52 -0800 Subject: RFR: 8030350: Enable additional compiler warnings for GCC In-Reply-To: <09B1187E-9549-486E-A181-02F811C524E1@oracle.com> References: <09B1187E-9549-486E-A181-02F811C524E1@oracle.com> Message-ID: <0613FFEF-9C8F-4ADD-B148-8D9A6B2EE168@oracle.com> In response to feedback from Dmitry and Christian I have updated the webrev: http://cr.openjdk.java.net/~mduigou/JDK-8030350/1/webrev/ to now use the -Wformat=2 option and to also enable the option for BSD builds. Thanks, Mike On Dec 17 2013, at 16:08 , Mike Duigou wrote: > Hello all; > > This is a change which enables additional compiler warnings for native compilation when using GCC. The (-Wformat -Wformat-security) options are supported by GCC 3.0.4 (the earliest version I checked, c. February 2002) and later so we shouldn't see issues with incompatibility.- Wextra appears to have been added in GCC 3.4.X line (c. 2004) so it should also be reasonably well adopted and replaces -W. > > The core of the change is to add : > > -Wextra -Wno-unused-parameter -Wformat -Wformat-security > > for general C and CC++ compilations. For HotSpot C++ compiles a slightly less aggressive set is used: > > -Wformat -Wformat-security > > is used. > > Webrev here: > > http://cr.openjdk.java.net/~mduigou/JDK-8030350/0/webrev/ > > For the curious, yes, the additional checks do generate additional warnings. ;-) > > This change is targeted at the JDK 9 repos but could be backported to JDK 8 fairly easily/safely. > > Mike From david.holmes at oracle.com Wed Dec 18 23:45:58 2013 From: david.holmes at oracle.com (David Holmes) Date: Thu, 19 Dec 2013 17:45:58 +1000 Subject: JDK 9 RFR and sponsorship of JDK-8030656 Bad version check for parameter information in src/share/vm/classfile/javaClasses.cpp In-Reply-To: References: <52B1EA65.4050100@oracle.com> Message-ID: <52B2A436.5070608@oracle.com> On 19/12/2013 5:12 AM, Christian Thalinger wrote: > > On Dec 18, 2013, at 10:33 AM, Joe Darcy wrote: > >> Hello, >> >> During the course of trying to increment the JDK_MINOR_VERSION from 8 to 9 in the JDK 9 forest, a HotSpot bug has discovered: >> >> JDK-8030656 Bad version check for parameter information in src/share/vm/classfile/javaClasses.cpp >> >> Fortunately, the fix is very simple: >> >> --- a/src/share/vm/classfile/javaClasses.cpp Fri Dec 13 09:35:12 2013 -0800 >> +++ b/src/share/vm/classfile/javaClasses.cpp Wed Dec 18 10:30:02 2013 -0800 >> @@ -3286,7 +3286,7 @@ >> sun_reflect_ConstantPool::compute_offsets(); >> sun_reflect_UnsafeStaticFieldAccessorImpl::compute_offsets(); >> } >> - if (JDK_Version::is_jdk18x_version()) >> + if (JDK_Version::is_gte_jdk18x_version()) > > Shouldn?t code like this be removed at all now that HSX is dead? Eventually, maybe, perhaps :) But lets make life simple for Joe :) While there is an argument for removing the version checks (and there are a number of them) now that the version is essentially fixed for a given copy of the file, there is some documentation value in knowing which features are new (yes this can be handled by comments) and it may also aid in ease of backports. The hotspot folk should make a decision as to how to handle this consistently and then implement that. Once we can let go of the past there is a lot of cleanup possible. Though I have also heard a counter-argument that this makes it harder for other OpenJDK users to try to retrofit new Java 8 features into OpenJDK 7. >> java_lang_reflect_Parameter::compute_offsets(); >> >> // generated interpreter code wants to know about the offsets we just computed: >> >> With this patch, the java.lang.reflect.Parameter related tests that fail in the jdk and langtools repos pass. >> >> I'm requesting review of and sponsorship of this fix for JDK 9. Joe I am fine with the fix. Do you still need a sponsor? I'm not sure if we have JPRT in a position where pushes to the jdk9 repos is possible yet. David ----- >> >> Thanks, >> >> -Joe > From joe.darcy at oracle.com Wed Dec 18 23:52:46 2013 From: joe.darcy at oracle.com (Joe Darcy) Date: Wed, 18 Dec 2013 23:52:46 -0800 Subject: JDK 9 RFR and sponsorship of JDK-8030656 Bad version check for parameter information in src/share/vm/classfile/javaClasses.cpp In-Reply-To: <52B2A436.5070608@oracle.com> References: <52B1EA65.4050100@oracle.com> <52B2A436.5070608@oracle.com> Message-ID: <52B2A5CE.1000209@oracle.com> Hi David, On 12/18/2013 11:45 PM, David Holmes wrote: > On 19/12/2013 5:12 AM, Christian Thalinger wrote: >> >> On Dec 18, 2013, at 10:33 AM, Joe Darcy wrote: >> >>> Hello, >>> >>> During the course of trying to increment the JDK_MINOR_VERSION from >>> 8 to 9 in the JDK 9 forest, a HotSpot bug has discovered: >>> >>> JDK-8030656 Bad version check for parameter information in >>> src/share/vm/classfile/javaClasses.cpp >>> >>> Fortunately, the fix is very simple: >>> >>> --- a/src/share/vm/classfile/javaClasses.cpp Fri Dec 13 09:35:12 >>> 2013 -0800 >>> +++ b/src/share/vm/classfile/javaClasses.cpp Wed Dec 18 10:30:02 >>> 2013 -0800 >>> @@ -3286,7 +3286,7 @@ >>> sun_reflect_ConstantPool::compute_offsets(); >>> sun_reflect_UnsafeStaticFieldAccessorImpl::compute_offsets(); >>> } >>> - if (JDK_Version::is_jdk18x_version()) >>> + if (JDK_Version::is_gte_jdk18x_version()) >> >> Shouldn?t code like this be removed at all now that HSX is dead? > > Eventually, maybe, perhaps :) But lets make life simple for Joe :) > > While there is an argument for removing the version checks (and there > are a number of them) now that the version is essentially fixed for a > given copy of the file, there is some documentation value in knowing > which features are new (yes this can be handled by comments) and it > may also aid in ease of backports. > > The hotspot folk should make a decision as to how to handle this > consistently and then implement that. Once we can let go of the past > there is a lot of cleanup possible. Though I have also heard a > counter-argument that this makes it harder for other OpenJDK users to > try to retrofit new Java 8 features into OpenJDK 7. > >>> java_lang_reflect_Parameter::compute_offsets(); >>> >>> // generated interpreter code wants to know about the offsets we >>> just computed: >>> >>> With this patch, the java.lang.reflect.Parameter related tests that >>> fail in the jdk and langtools repos pass. >>> >>> I'm requesting review of and sponsorship of this fix for JDK 9. > > Joe I am fine with the fix. Do you still need a sponsor? I'm not sure > if we have JPRT in a position where pushes to the jdk9 repos is > possible yet. > Thanks for offering to sponsor; off-list, Eric McCorkle offered to help out there. Cheers, -Joe From serguei.spitsyn at oracle.com Thu Dec 19 00:01:39 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Thu, 19 Dec 2013 00:01:39 -0800 Subject: Review Request (XS) 8030027: nsk/jvmti/scenarios/hotswap/HS101/hs101t006 Crashed the vm on Linux-amd64: SIGSEGV in JavaThread::last_java_vframe(RegisterMap*)+0xfa Message-ID: <52B2A7E3.3050409@oracle.com> Please, review the fix for: https://bugs.openjdk.java.net/browse/JDK-8030027 Open webrev: http://cr.openjdk.java.net/~sspitsyn/webrevs/2013/hotspot/8030027-JVMTI-HS101.1/ Summary: The bug is that the JavaThread::last_java_vframe (called from the VMOp_GetCurrentLocation) crashes on the target thread stack that is non-walkable because the thread is exiting. The fix is to check a condition !_thread->is_exiting() in the VMOp_GetCurrentLocation. The fix is for JDK 9. Testing: The originally failing test nsk/jvmti/scenarios/hotswap/HS101/hs101t006 In progress: nsk.jvmti, nsk.jdi, nsk.jdwp Thanks, Serguei From markus.gronlund at oracle.com Thu Dec 19 00:44:16 2013 From: markus.gronlund at oracle.com (Markus Gronlund) Date: Thu, 19 Dec 2013 00:44:16 -0800 (PST) Subject: Review Request (XS) 8030027: nsk/jvmti/scenarios/hotswap/HS101/hs101t006 Crashed the vm on Linux-amd64: SIGSEGV in JavaThread::last_java_vframe(RegisterMap*)+0xfa In-Reply-To: <52B2A7E3.3050409@oracle.com> References: <52B2A7E3.3050409@oracle.com> Message-ID: <24a7214e-1810-40e4-a4be-8551aa1bb8cc@default> Hi Serguei, Looks good (not a Reviewer). Thanks Markus -----Original Message----- From: Serguei Spitsyn Sent: den 19 december 2013 09:02 To: hotspot-dev developers; serviceability-dev at openjdk.java.net Subject: Review Request (XS) 8030027: nsk/jvmti/scenarios/hotswap/HS101/hs101t006 Crashed the vm on Linux-amd64: SIGSEGV in JavaThread::last_java_vframe(RegisterMap*)+0xfa Please, review the fix for: https://bugs.openjdk.java.net/browse/JDK-8030027 Open webrev: http://cr.openjdk.java.net/~sspitsyn/webrevs/2013/hotspot/8030027-JVMTI-HS101.1/ Summary: The bug is that the JavaThread::last_java_vframe (called from the VMOp_GetCurrentLocation) crashes on the target thread stack that is non-walkable because the thread is exiting. The fix is to check a condition !_thread->is_exiting() in the VMOp_GetCurrentLocation. The fix is for JDK 9. Testing: The originally failing test nsk/jvmti/scenarios/hotswap/HS101/hs101t006 In progress: nsk.jvmti, nsk.jdi, nsk.jdwp Thanks, Serguei From serguei.spitsyn at oracle.com Thu Dec 19 00:52:11 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Thu, 19 Dec 2013 00:52:11 -0800 Subject: Review Request (XS) 8030027: nsk/jvmti/scenarios/hotswap/HS101/hs101t006 Crashed the vm on Linux-amd64: SIGSEGV in JavaThread::last_java_vframe(RegisterMap*)+0xfa In-Reply-To: <24a7214e-1810-40e4-a4be-8551aa1bb8cc@default> References: <52B2A7E3.3050409@oracle.com> <24a7214e-1810-40e4-a4be-8551aa1bb8cc@default> Message-ID: <52B2B3BB.3050906@oracle.com> Thanks, Markus! Serguei On 12/19/13 12:44 AM, Markus Gronlund wrote: > Hi Serguei, > > Looks good (not a Reviewer). > > Thanks > Markus > > -----Original Message----- > From: Serguei Spitsyn > Sent: den 19 december 2013 09:02 > To: hotspot-dev developers; serviceability-dev at openjdk.java.net > Subject: Review Request (XS) 8030027: nsk/jvmti/scenarios/hotswap/HS101/hs101t006 Crashed the vm on Linux-amd64: SIGSEGV in JavaThread::last_java_vframe(RegisterMap*)+0xfa > > Please, review the fix for: > https://bugs.openjdk.java.net/browse/JDK-8030027 > > > Open webrev: > http://cr.openjdk.java.net/~sspitsyn/webrevs/2013/hotspot/8030027-JVMTI-HS101.1/ > > Summary: > The bug is that the JavaThread::last_java_vframe (called from the > VMOp_GetCurrentLocation) > crashes on the target thread stack that is non-walkable because the thread is exiting. > The fix is to check a condition !_thread->is_exiting() in the VMOp_GetCurrentLocation. > The fix is for JDK 9. > > Testing: > The originally failing test nsk/jvmti/scenarios/hotswap/HS101/hs101t006 > In progress: nsk.jvmti, nsk.jdi, nsk.jdwp > > > Thanks, > Serguei > From mikael.vidstedt at oracle.com Thu Dec 19 01:49:33 2013 From: mikael.vidstedt at oracle.com (Mikael Vidstedt) Date: Thu, 19 Dec 2013 01:49:33 -0800 Subject: RFR (S): 8029233: Update copyright year to match last edit in jdk8 hotspot repository for 2013 In-Reply-To: <87CFF238-84E3-4E2B-833C-48E44350B793@oracle.com> References: <52AB9094.10104@oracle.com> <87CFF238-84E3-4E2B-833C-48E44350B793@oracle.com> Message-ID: Thanks Chris! One more pretty please? Cheers, Mikael > On Dec 13, 2013, at 15:53, Christian Thalinger wrote: > > Looks good. > >> On Dec 13, 2013, at 2:56 PM, Mikael Vidstedt wrote: >> >> >> All, >> >> It's that time of the year. Can I please get a couple of reviews of the below: >> >> http://cr.openjdk.java.net/~mikael/webrevs/copyright2013/webrev.01/webrev >> >> Thanks, >> Mikael > From david.holmes at oracle.com Thu Dec 19 02:19:45 2013 From: david.holmes at oracle.com (David Holmes) Date: Thu, 19 Dec 2013 20:19:45 +1000 Subject: Review Request (XS) 8030027: nsk/jvmti/scenarios/hotswap/HS101/hs101t006 Crashed the vm on Linux-amd64: SIGSEGV in JavaThread::last_java_vframe(RegisterMap*)+0xfa In-Reply-To: <52B2A7E3.3050409@oracle.com> References: <52B2A7E3.3050409@oracle.com> Message-ID: <52B2C841.6050708@oracle.com> Hi Serguei, On 19/12/2013 6:01 PM, serguei.spitsyn at oracle.com wrote: > Please, review the fix for: > https://bugs.openjdk.java.net/browse/JDK-8030027 > > > Open webrev: > http://cr.openjdk.java.net/~sspitsyn/webrevs/2013/hotspot/8030027-JVMTI-HS101.1/ > > > Summary: > The bug is that the JavaThread::last_java_vframe (called from the > VMOp_GetCurrentLocation) > crashes on the target thread stack that is non-walkable because the > thread is exiting. > The fix is to check a condition !_thread->is_exiting() in the > VMOp_GetCurrentLocation. > The fix is for JDK 9. Looks good to me. I wonder how many more of these termination races are still lurking. David > Testing: > The originally failing test nsk/jvmti/scenarios/hotswap/HS101/hs101t006 > In progress: nsk.jvmti, nsk.jdi, nsk.jdwp > > > Thanks, > Serguei > From serguei.spitsyn at oracle.com Thu Dec 19 02:32:19 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Thu, 19 Dec 2013 02:32:19 -0800 Subject: Review Request (XS) 8030027: nsk/jvmti/scenarios/hotswap/HS101/hs101t006 Crashed the vm on Linux-amd64: SIGSEGV in JavaThread::last_java_vframe(RegisterMap*)+0xfa In-Reply-To: <52B2C841.6050708@oracle.com> References: <52B2A7E3.3050409@oracle.com> <52B2C841.6050708@oracle.com> Message-ID: <52B2CB33.1030807@oracle.com> On 12/19/13 2:19 AM, David Holmes wrote: > Hi Serguei, > > On 19/12/2013 6:01 PM, serguei.spitsyn at oracle.com wrote: >> Please, review the fix for: >> https://bugs.openjdk.java.net/browse/JDK-8030027 >> >> >> Open webrev: >> http://cr.openjdk.java.net/~sspitsyn/webrevs/2013/hotspot/8030027-JVMTI-HS101.1/ >> >> >> >> Summary: >> The bug is that the JavaThread::last_java_vframe (called from the >> VMOp_GetCurrentLocation) >> crashes on the target thread stack that is non-walkable because the >> thread is exiting. >> The fix is to check a condition !_thread->is_exiting() in the >> VMOp_GetCurrentLocation. >> The fix is for JDK 9. > > Looks good to me. I wonder how many more of these termination races > are still lurking. Thanks, David! There are some more complicated shutdown races in the JDI + JDWP-agent code. I'm still thinking how to fix them better. Thanks, Serguei > > David > > >> Testing: >> The originally failing test >> nsk/jvmti/scenarios/hotswap/HS101/hs101t006 >> In progress: nsk.jvmti, nsk.jdi, nsk.jdwp >> >> >> Thanks, >> Serguei >> From david.holmes at oracle.com Thu Dec 19 02:52:03 2013 From: david.holmes at oracle.com (David Holmes) Date: Thu, 19 Dec 2013 20:52:03 +1000 Subject: RFR (M): 8029396: PPC64 (part 212): Several memory ordering fixes in C-code. In-Reply-To: <4295855A5C1DE049A61835A1887419CC2CE6DA2E@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC2CE6DA2E@DEWDFEMB12A.global.corp.sap> Message-ID: <52B2CFD3.3090303@oracle.com> Somewhat late but I was away for two weeks. GC stuff: Is the use of the new release parameter always set to true from shared code? If so I don't have a problem with it being used to optimize the stores under certain conditions. But if pcc64 will pass true where other archs won't then again I object to this because it should be an algorithmic correctness requirement that is always present. General: I find a lot of the commentary excessively platform specific. Eg We don't expect any C++ compiler we currently use to emit memory barriers for C++ volatiles. If they start doing that we will have a bazillion unnecessary injected barriers in our code! BiasedLocking: It is not clear to me that the BiasedLocking change is needed. AFAICS there is only one path where revoke_bias is not called at a safepoint and the comments around that seem to indicate that it was considered safe to do so. It may be they assumed TSO when making that decision but I'd be interested to know how this change was arrived at. Thread state: The thread state changes have me most concerned as they are heavily used and so the performance impact here could be extensive. Many of them occur on paths that involve membars or membar-equivalent actions so they would seem redundant then. Again I would like to see some analysis showing these are in fact essential for correctness. There may well be some situations where they are, but to me this seems an even better candidate for adding the "release" parameter when needed! David ----- On 3/12/2013 2:51 AM, Lindenmaier, Goetz wrote: > Hi, > > This change contains a row of fixes to the memory ordering in runtime, GC etc. > http://cr.openjdk.java.net/~goetz/webrevs/8029396-0-memo/ > > These are: > - Accessing arrays in CMS (compactibleFreeListSpace.cpp) > - CMS: Do release when marking a card dirty. The release must only be done if GC is running. (several files) > - Method counter initialization (method.hpp). > - Order accessing f1/f2 in constant pool cache. > - Release stores in OopMapCache constructor (instanceKLass.cpp). > - BiasedLocking: Release setting object header to displaced mark. > - Release state of nmethod sweeper (sweeper.cpp). > - Do barriers when writing the thread state (thread.hpp). > > Please review and test this change. > > If requested, I can part this into smaller changes. But for now > I wanted to put them all into one change as they all address the > problems with the PPC memory model. > > Best regards, > Goetz. > From staffan.larsen at oracle.com Thu Dec 19 04:29:55 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Thu, 19 Dec 2013 13:29:55 +0100 Subject: Review Request (XS) 8030027: nsk/jvmti/scenarios/hotswap/HS101/hs101t006 Crashed the vm on Linux-amd64: SIGSEGV in JavaThread::last_java_vframe(RegisterMap*)+0xfa In-Reply-To: <52B2A7E3.3050409@oracle.com> References: <52B2A7E3.3050409@oracle.com> Message-ID: <8E820E6B-8EB7-434C-A3D8-B58768293EA5@oracle.com> Looks good! Thanks, /Staffan On 19 dec 2013, at 09:01, serguei.spitsyn at oracle.com wrote: > Please, review the fix for: > https://bugs.openjdk.java.net/browse/JDK-8030027 > > > Open webrev: > http://cr.openjdk.java.net/~sspitsyn/webrevs/2013/hotspot/8030027-JVMTI-HS101.1/ > > Summary: > The bug is that the JavaThread::last_java_vframe (called from the VMOp_GetCurrentLocation) > crashes on the target thread stack that is non-walkable because the thread is exiting. > The fix is to check a condition !_thread->is_exiting() in the VMOp_GetCurrentLocation. > The fix is for JDK 9. > > Testing: > The originally failing test nsk/jvmti/scenarios/hotswap/HS101/hs101t006 > In progress: nsk.jvmti, nsk.jdi, nsk.jdwp > > > Thanks, > Serguei > From erik.joelsson at oracle.com Thu Dec 19 04:30:55 2013 From: erik.joelsson at oracle.com (Erik Joelsson) Date: Thu, 19 Dec 2013 13:30:55 +0100 Subject: RFR: JDK-8030793: Update jprt.properties to release jdk9 Message-ID: <52B2E6FF.4050701@oracle.com> Please review these changes to make/jprt.poperties and hotspot/make/jprt.properties. I've just added a jdk9 configuration to JPRT and this change is needed for JDK 9 to start using it. This will solve the issue of requiring a jdk8 boot when building in JPRT. In the hotspot version of the file, there is a lot of separate configuration for jdk7 and jdk8. I didn't dare touch this now and opted to just add the jdk9 version of these variables. I would guess that this won't be necessary however since hotspot won't be delivered to multiple jdk releases anymore? Webrev: http://cr.openjdk.java.net/~erikj/8030793/webrev.01/ Bug: https://bugs.openjdk.java.net/browse/JDK-8030793 I'm still unclear on where the hotspot change needs to go and if I need a separate bug for it? My interpretation is that the root repo change should go to jdk9/dev and the hotspot change to jdk9/hs-rt and that since these changes are using separate routes, a separate bug should be used. I also assume that as a jdk9 reviewer, I will be able to push this myself (after review) to the hotspot repo. /Erik From chris.hegarty at oracle.com Thu Dec 19 04:51:44 2013 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Thu, 19 Dec 2013 12:51:44 +0000 Subject: RFR: JDK-8030793: Update jprt.properties to release jdk9 In-Reply-To: <52B2E6FF.4050701@oracle.com> References: <52B2E6FF.4050701@oracle.com> Message-ID: <2F7B39DF-9FFB-4CDB-8482-E05D8D6C0131@oracle.com> Looks good to me. Thanks Eric. -Chris. On 19 Dec 2013, at 12:30, Erik Joelsson wrote: > Please review these changes to make/jprt.poperties and hotspot/make/jprt.properties. I've just added a jdk9 configuration to JPRT and this change is needed for JDK 9 to start using it. This will solve the issue of requiring a jdk8 boot when building in JPRT. > > In the hotspot version of the file, there is a lot of separate configuration for jdk7 and jdk8. I didn't dare touch this now and opted to just add the jdk9 version of these variables. I would guess that this won't be necessary however since hotspot won't be delivered to multiple jdk releases anymore? > > Webrev: http://cr.openjdk.java.net/~erikj/8030793/webrev.01/ > Bug: https://bugs.openjdk.java.net/browse/JDK-8030793 > > I'm still unclear on where the hotspot change needs to go and if I need a separate bug for it? My interpretation is that the root repo change should go to jdk9/dev and the hotspot change to jdk9/hs-rt and that since these changes are using separate routes, a separate bug should be used. I also assume that as a jdk9 reviewer, I will be able to push this myself (after review) to the hotspot repo. > > /Erik From chris.hegarty at oracle.com Thu Dec 19 04:59:53 2013 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Thu, 19 Dec 2013 12:59:53 +0000 Subject: RFR: JDK-8030793: Update jprt.properties to release jdk9 In-Reply-To: <2F7B39DF-9FFB-4CDB-8482-E05D8D6C0131@oracle.com> References: <52B2E6FF.4050701@oracle.com> <2F7B39DF-9FFB-4CDB-8482-E05D8D6C0131@oracle.com> Message-ID: <5FD322A5-C151-4F7B-AC1A-D9C41271D470@oracle.com> s/Eric/Erik -Chris. On 19 Dec 2013, at 12:51, Chris Hegarty wrote: > Looks good to me. Thanks Eric. > > -Chris. > > On 19 Dec 2013, at 12:30, Erik Joelsson wrote: > >> Please review these changes to make/jprt.poperties and hotspot/make/jprt.properties. I've just added a jdk9 configuration to JPRT and this change is needed for JDK 9 to start using it. This will solve the issue of requiring a jdk8 boot when building in JPRT. >> >> In the hotspot version of the file, there is a lot of separate configuration for jdk7 and jdk8. I didn't dare touch this now and opted to just add the jdk9 version of these variables. I would guess that this won't be necessary however since hotspot won't be delivered to multiple jdk releases anymore? >> >> Webrev: http://cr.openjdk.java.net/~erikj/8030793/webrev.01/ >> Bug: https://bugs.openjdk.java.net/browse/JDK-8030793 >> >> I'm still unclear on where the hotspot change needs to go and if I need a separate bug for it? My interpretation is that the root repo change should go to jdk9/dev and the hotspot change to jdk9/hs-rt and that since these changes are using separate routes, a separate bug should be used. I also assume that as a jdk9 reviewer, I will be able to push this myself (after review) to the hotspot repo. >> >> /Erik > From erik.joelsson at oracle.com Thu Dec 19 05:09:47 2013 From: erik.joelsson at oracle.com (Erik Joelsson) Date: Thu, 19 Dec 2013 14:09:47 +0100 Subject: RFR: JDK-8030793: Update jprt.properties to release jdk9 In-Reply-To: <2F7B39DF-9FFB-4CDB-8482-E05D8D6C0131@oracle.com> References: <52B2E6FF.4050701@oracle.com> <2F7B39DF-9FFB-4CDB-8482-E05D8D6C0131@oracle.com> Message-ID: <52B2F01B.10407@oracle.com> Thanks for the review, Since the root repo part of this change is quite urgent, I split out a new bug for the Hotspot part, which also might warrant more discussion. /Erik On 2013-12-19 13:51, Chris Hegarty wrote: > Looks good to me. Thanks Eric. > > -Chris. > > On 19 Dec 2013, at 12:30, Erik Joelsson wrote: > >> Please review these changes to make/jprt.poperties and hotspot/make/jprt.properties. I've just added a jdk9 configuration to JPRT and this change is needed for JDK 9 to start using it. This will solve the issue of requiring a jdk8 boot when building in JPRT. >> >> In the hotspot version of the file, there is a lot of separate configuration for jdk7 and jdk8. I didn't dare touch this now and opted to just add the jdk9 version of these variables. I would guess that this won't be necessary however since hotspot won't be delivered to multiple jdk releases anymore? >> >> Webrev: http://cr.openjdk.java.net/~erikj/8030793/webrev.01/ >> Bug: https://bugs.openjdk.java.net/browse/JDK-8030793 >> >> I'm still unclear on where the hotspot change needs to go and if I need a separate bug for it? My interpretation is that the root repo change should go to jdk9/dev and the hotspot change to jdk9/hs-rt and that since these changes are using separate routes, a separate bug should be used. I also assume that as a jdk9 reviewer, I will be able to push this myself (after review) to the hotspot repo. >> >> /Erik From erik.joelsson at oracle.com Thu Dec 19 05:16:07 2013 From: erik.joelsson at oracle.com (Erik Joelsson) Date: Thu, 19 Dec 2013 14:16:07 +0100 Subject: RFR: JDK-8030796: Update hotspot jprt.properties to release jdk9 In-Reply-To: <52B2F01B.10407@oracle.com> References: <52B2E6FF.4050701@oracle.com> <2F7B39DF-9FFB-4CDB-8482-E05D8D6C0131@oracle.com> <52B2F01B.10407@oracle.com> Message-ID: <52B2F197.4090000@oracle.com> So for the hotspot change, please consider this a new review. Bug: https://bugs.openjdk.java.net/browse/JDK-8030796 Webrev: http://cr.openjdk.java.net/~erikj/8030793/webrev.01/ /Erik On 2013-12-19 14:09, Erik Joelsson wrote: > Thanks for the review, > > Since the root repo part of this change is quite urgent, I split out a > new bug for the Hotspot part, which also might warrant more discussion. > > /Erik > > On 2013-12-19 13:51, Chris Hegarty wrote: >> Looks good to me. Thanks Eric. >> >> -Chris. >> >> On 19 Dec 2013, at 12:30, Erik Joelsson >> wrote: >> >>> Please review these changes to make/jprt.poperties and >>> hotspot/make/jprt.properties. I've just added a jdk9 configuration >>> to JPRT and this change is needed for JDK 9 to start using it. This >>> will solve the issue of requiring a jdk8 boot when building in JPRT. >>> >>> In the hotspot version of the file, there is a lot of separate >>> configuration for jdk7 and jdk8. I didn't dare touch this now and >>> opted to just add the jdk9 version of these variables. I would guess >>> that this won't be necessary however since hotspot won't be >>> delivered to multiple jdk releases anymore? >>> >>> Webrev: http://cr.openjdk.java.net/~erikj/8030793/webrev.01/ >>> Bug: https://bugs.openjdk.java.net/browse/JDK-8030793 >>> >>> I'm still unclear on where the hotspot change needs to go and if I >>> need a separate bug for it? My interpretation is that the root repo >>> change should go to jdk9/dev and the hotspot change to jdk9/hs-rt >>> and that since these changes are using separate routes, a separate >>> bug should be used. I also assume that as a jdk9 reviewer, I will be >>> able to push this myself (after review) to the hotspot repo. >>> >>> /Erik > From daniel.daugherty at oracle.com Thu Dec 19 05:56:04 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Thu, 19 Dec 2013 06:56:04 -0700 Subject: Review Request (XS) 8030027: nsk/jvmti/scenarios/hotswap/HS101/hs101t006 Crashed the vm on Linux-amd64: SIGSEGV in JavaThread::last_java_vframe(RegisterMap*)+0xfa In-Reply-To: <52B2A7E3.3050409@oracle.com> References: <52B2A7E3.3050409@oracle.com> Message-ID: <52B2FAF4.9010903@oracle.com> On 12/19/13 1:01 AM, serguei.spitsyn at oracle.com wrote: > Please, review the fix for: > https://bugs.openjdk.java.net/browse/JDK-8030027 > > > Open webrev: > http://cr.openjdk.java.net/~sspitsyn/webrevs/2013/hotspot/8030027-JVMTI-HS101.1/ > src/share/vm/prims/jvmtiEnvThreadState.cpp No comments. Thumbs up. Dan > > Summary: > The bug is that the JavaThread::last_java_vframe (called from the > VMOp_GetCurrentLocation) > crashes on the target thread stack that is non-walkable because the > thread is exiting. > The fix is to check a condition !_thread->is_exiting() in the > VMOp_GetCurrentLocation. > The fix is for JDK 9. > > Testing: > The originally failing test nsk/jvmti/scenarios/hotswap/HS101/hs101t006 > In progress: nsk.jvmti, nsk.jdi, nsk.jdwp > > > Thanks, > Serguei > > From goetz.lindenmaier at sap.com Thu Dec 19 06:19:40 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Thu, 19 Dec 2013 14:19:40 +0000 Subject: RFR (M): 8029396: PPC64 (part 212): Several memory ordering fixes in C-code. In-Reply-To: <52B2CFD3.3090303@oracle.com> References: <4295855A5C1DE049A61835A1887419CC2CE6DA2E@DEWDFEMB12A.global.corp.sap> <52B2CFD3.3090303@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC2CE71DA3@DEWDFEMB12A.global.corp.sap> Hi David, the GC stuff is only called from shared code. The ordering in BiasedLocking is needed, e.g., in the context of force_revoke_and_rebias. If an other thread wants to inflate the lock written to the mark word in force_revoke_and_rebias, it must be assured that changing the displaced header is visible to that other thread. We added the memory barriers for the _thread_state field in 2006 and can not reconstruct the concrete cause. But things as setting the last_java_frame and then the state to in_native should be ordered. Best regards, Goetz. -----Original Message----- From: David Holmes [mailto:david.holmes at oracle.com] Sent: Donnerstag, 19. Dezember 2013 11:52 To: Lindenmaier, Goetz Cc: 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net'; Vladimir Kozlov Subject: Re: RFR (M): 8029396: PPC64 (part 212): Several memory ordering fixes in C-code. Somewhat late but I was away for two weeks. GC stuff: Is the use of the new release parameter always set to true from shared code? If so I don't have a problem with it being used to optimize the stores under certain conditions. But if pcc64 will pass true where other archs won't then again I object to this because it should be an algorithmic correctness requirement that is always present. General: I find a lot of the commentary excessively platform specific. Eg We don't expect any C++ compiler we currently use to emit memory barriers for C++ volatiles. If they start doing that we will have a bazillion unnecessary injected barriers in our code! BiasedLocking: It is not clear to me that the BiasedLocking change is needed. AFAICS there is only one path where revoke_bias is not called at a safepoint and the comments around that seem to indicate that it was considered safe to do so. It may be they assumed TSO when making that decision but I'd be interested to know how this change was arrived at. Thread state: The thread state changes have me most concerned as they are heavily used and so the performance impact here could be extensive. Many of them occur on paths that involve membars or membar-equivalent actions so they would seem redundant then. Again I would like to see some analysis showing these are in fact essential for correctness. There may well be some situations where they are, but to me this seems an even better candidate for adding the "release" parameter when needed! David ----- On 3/12/2013 2:51 AM, Lindenmaier, Goetz wrote: > Hi, > > This change contains a row of fixes to the memory ordering in runtime, GC etc. > http://cr.openjdk.java.net/~goetz/webrevs/8029396-0-memo/ > > These are: > - Accessing arrays in CMS (compactibleFreeListSpace.cpp) > - CMS: Do release when marking a card dirty. The release must only be done if GC is running. (several files) > - Method counter initialization (method.hpp). > - Order accessing f1/f2 in constant pool cache. > - Release stores in OopMapCache constructor (instanceKLass.cpp). > - BiasedLocking: Release setting object header to displaced mark. > - Release state of nmethod sweeper (sweeper.cpp). > - Do barriers when writing the thread state (thread.hpp). > > Please review and test this change. > > If requested, I can part this into smaller changes. But for now > I wanted to put them all into one change as they all address the > problems with the PPC memory model. > > Best regards, > Goetz. > From vicente.romero at oracle.com Thu Dec 19 06:43:19 2013 From: vicente.romero at oracle.com (Vicente-Arturo Romero-Zaldivar) Date: Thu, 19 Dec 2013 14:43:19 +0000 Subject: State of lambda forms stealing stack frames? In-Reply-To: <52B2FB63.7070002@gmx.org> References: <52B2FB63.7070002@gmx.org> Message-ID: <52B30607.30902@oracle.com> Hi Jochen, Interesting issue but I think the list for this is hotspot-dev at openjdk.java.net. Thanks, Vicente On 19/12/13 13:57, Jochen Theodorou wrote: > Hi all, > > I originally did sent this to another list, so sorry if someone sees > this again... but since I got no reaction at all... > > I wanted to ask what the currrent state of invokedynamic using > additional stack frames through lambda forms is. Will there be a > jdk1.8.0 without the consumption of stack frames or not? Will there be > any at all? Will there be a fix for jdk7? > > I am seriously afraid of larger systems making use of invokedynamic a > lot. To illustrate the gravity of the problem look at this: > > @groovy.transform.Memoized > BigInteger fib(BigInteger x) { > x<2?x:fib(x-1)+fib(x-2) > } > > this code will produce some background code resposible for caching > results and as such increasing the maximum x. The current implementation > could be much better but I show this to compare our old way in Groovy > using custom callsite caching with method generation at runtime to > invokedynamic. So in the old version I can go up to fib(292) and won't > stack overflow. With jdk7u25 and indy this is similiar, even though > slightly less. But with later versions of jdk7 and jdk8 the maximum of > the indy version is fib(45)... 5-6 times less. Since the results are > cached it is really only like going down one side of a tree of > calculations here, meaning if I need the double amount of stack frames, > it will half x. > > Are there any real plans to improve the situation? > > bye Jochen > From serguei.spitsyn at oracle.com Thu Dec 19 09:25:13 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Thu, 19 Dec 2013 09:25:13 -0800 Subject: Review Request (XS) 8030027: nsk/jvmti/scenarios/hotswap/HS101/hs101t006 Crashed the vm on Linux-amd64: SIGSEGV in JavaThread::last_java_vframe(RegisterMap*)+0xfa In-Reply-To: <8E820E6B-8EB7-434C-A3D8-B58768293EA5@oracle.com> References: <52B2A7E3.3050409@oracle.com> <8E820E6B-8EB7-434C-A3D8-B58768293EA5@oracle.com> Message-ID: <52B32BF9.1020200@oracle.com> Thanks, Staffan! Serguei On 12/19/13 4:29 AM, Staffan Larsen wrote: > Looks good! > > Thanks, > /Staffan > > On 19 dec 2013, at 09:01, serguei.spitsyn at oracle.com wrote: > >> Please, review the fix for: >> https://bugs.openjdk.java.net/browse/JDK-8030027 >> >> >> Open webrev: >> http://cr.openjdk.java.net/~sspitsyn/webrevs/2013/hotspot/8030027-JVMTI-HS101.1/ >> >> Summary: >> The bug is that the JavaThread::last_java_vframe (called from the VMOp_GetCurrentLocation) >> crashes on the target thread stack that is non-walkable because the thread is exiting. >> The fix is to check a condition !_thread->is_exiting() in the VMOp_GetCurrentLocation. >> The fix is for JDK 9. >> >> Testing: >> The originally failing test nsk/jvmti/scenarios/hotswap/HS101/hs101t006 >> In progress: nsk.jvmti, nsk.jdi, nsk.jdwp >> >> >> Thanks, >> Serguei >> From tim.bell at oracle.com Thu Dec 19 09:26:32 2013 From: tim.bell at oracle.com (Tim Bell) Date: Thu, 19 Dec 2013 09:26:32 -0800 Subject: RFR: JDK-8030796: Update hotspot jprt.properties to release jdk9 In-Reply-To: <52B2F197.4090000@oracle.com> References: <52B2E6FF.4050701@oracle.com> <2F7B39DF-9FFB-4CDB-8482-E05D8D6C0131@oracle.com> <52B2F01B.10407@oracle.com> <52B2F197.4090000@oracle.com> Message-ID: <52B32C48.3000402@oracle.com> Hi Erik: > So for the hotspot change, please consider this a new review. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8030796 > Webrev: http://cr.openjdk.java.net/~erikj/8030793/webrev.01/ Looks good to me. /Tim > On 2013-12-19 14:09, Erik Joelsson wrote: >> Thanks for the review, >> >> Since the root repo part of this change is quite urgent, I split out >> a new bug for the Hotspot part, which also might warrant more >> discussion. >> >> /Erik >> >> On 2013-12-19 13:51, Chris Hegarty wrote: >>> Looks good to me. Thanks Eric. >>> >>> -Chris. >>> >>> On 19 Dec 2013, at 12:30, Erik Joelsson >>> wrote: >>> >>>> Please review these changes to make/jprt.poperties and >>>> hotspot/make/jprt.properties. I've just added a jdk9 configuration >>>> to JPRT and this change is needed for JDK 9 to start using it. This >>>> will solve the issue of requiring a jdk8 boot when building in JPRT. >>>> >>>> In the hotspot version of the file, there is a lot of separate >>>> configuration for jdk7 and jdk8. I didn't dare touch this now and >>>> opted to just add the jdk9 version of these variables. I would >>>> guess that this won't be necessary however since hotspot won't be >>>> delivered to multiple jdk releases anymore? >>>> >>>> Webrev: http://cr.openjdk.java.net/~erikj/8030793/webrev.01/ >>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8030793 >>>> >>>> I'm still unclear on where the hotspot change needs to go and if I >>>> need a separate bug for it? My interpretation is that the root repo >>>> change should go to jdk9/dev and the hotspot change to jdk9/hs-rt >>>> and that since these changes are using separate routes, a separate >>>> bug should be used. I also assume that as a jdk9 reviewer, I will >>>> be able to push this myself (after review) to the hotspot repo. >>>> >>>> /Erik >> > From serguei.spitsyn at oracle.com Thu Dec 19 09:27:17 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Thu, 19 Dec 2013 09:27:17 -0800 Subject: Review Request (XS) 8030027: nsk/jvmti/scenarios/hotswap/HS101/hs101t006 Crashed the vm on Linux-amd64: SIGSEGV in JavaThread::last_java_vframe(RegisterMap*)+0xfa In-Reply-To: <52B2FAF4.9010903@oracle.com> References: <52B2A7E3.3050409@oracle.com> <52B2FAF4.9010903@oracle.com> Message-ID: <52B32C75.5050805@oracle.com> Thanks, Dan! Serguei On 12/19/13 5:56 AM, Daniel D. Daugherty wrote: > On 12/19/13 1:01 AM, serguei.spitsyn at oracle.com wrote: >> Please, review the fix for: >> https://bugs.openjdk.java.net/browse/JDK-8030027 >> >> >> Open webrev: >> http://cr.openjdk.java.net/~sspitsyn/webrevs/2013/hotspot/8030027-JVMTI-HS101.1/ >> > > src/share/vm/prims/jvmtiEnvThreadState.cpp > No comments. > > Thumbs up. > > Dan > > >> >> Summary: >> The bug is that the JavaThread::last_java_vframe (called from the >> VMOp_GetCurrentLocation) >> crashes on the target thread stack that is non-walkable because the >> thread is exiting. >> The fix is to check a condition !_thread->is_exiting() in the >> VMOp_GetCurrentLocation. >> The fix is for JDK 9. >> >> Testing: >> The originally failing test >> nsk/jvmti/scenarios/hotswap/HS101/hs101t006 >> In progress: nsk.jvmti, nsk.jdi, nsk.jdwp >> >> >> Thanks, >> Serguei >> >> > From alejandro.murillo at oracle.com Thu Dec 19 09:27:50 2013 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Thu, 19 Dec 2013 17:27:50 +0000 Subject: hg: hsx/jdk7u/hotspot: 6 new changesets Message-ID: <20131219172804.4956D62DE2@hg.openjdk.java.net> Changeset: 271f0c186798 Author: twisti Date: 2013-10-23 15:44 -0700 URL: http://hg.openjdk.java.net/hsx/jdk7u/hotspot/rev/271f0c186798 8026502: java/lang/invoke/MethodHandleConstants.java fails on all platforms Reviewed-by: iveresov, jrose ! src/share/vm/classfile/systemDictionary.cpp Changeset: 695c4f65f4c0 Author: lana Date: 2013-12-11 11:18 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/hotspot/rev/695c4f65f4c0 Merge Changeset: 0025a2a965c8 Author: amurillo Date: 2013-12-17 10:04 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/hotspot/rev/0025a2a965c8 Merge Changeset: cc53706b1b2b Author: katleman Date: 2013-12-18 15:56 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/hotspot/rev/cc53706b1b2b Added tag jdk7u60-b02 for changeset 0025a2a965c8 ! .hgtags Changeset: fa59add77d1a Author: amurillo Date: 2013-12-19 08:09 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/hotspot/rev/fa59add77d1a Merge ! src/share/vm/classfile/systemDictionary.cpp Changeset: e8796c501e78 Author: amurillo Date: 2013-12-19 08:09 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/hotspot/rev/e8796c501e78 Added tag hs24.60-b05 for changeset fa59add77d1a ! .hgtags From alejandro.murillo at oracle.com Thu Dec 19 10:43:05 2013 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Thu, 19 Dec 2013 18:43:05 +0000 Subject: hg: hsx/jdk7u/hotspot: 8028814: new hotspot build - hs24.60-b06 Message-ID: <20131219184309.06D7862DEE@hg.openjdk.java.net> Changeset: ea52633d5d48 Author: amurillo Date: 2013-12-19 08:16 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/hotspot/rev/ea52633d5d48 8028814: new hotspot build - hs24.60-b06 Reviewed-by: jcoomes ! make/hotspot_version From eric.mccorkle at oracle.com Thu Dec 19 11:04:58 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Thu, 19 Dec 2013 14:04:58 -0500 Subject: JDK 9 RFR and sponsorship of JDK-8030656 Bad version check for parameter information in src/share/vm/classfile/javaClasses.cpp In-Reply-To: <52B1F565.9090905@oracle.com> References: <52B1EA65.4050100@oracle.com> <52B1F565.9090905@oracle.com> Message-ID: <52B3435A.3050509@oracle.com> I can push the change for you; I'm a committer. On 12/18/13 14:20, Joe Darcy wrote: > On 12/18/2013 11:12 AM, Christian Thalinger wrote: >> On Dec 18, 2013, at 10:33 AM, Joe Darcy wrote: >> >>> Hello, >>> >>> During the course of trying to increment the JDK_MINOR_VERSION from 8 >>> to 9 in the JDK 9 forest, a HotSpot bug has discovered: >>> >>> JDK-8030656 Bad version check for parameter information in >>> src/share/vm/classfile/javaClasses.cpp >>> >>> Fortunately, the fix is very simple: >>> >>> --- a/src/share/vm/classfile/javaClasses.cpp Fri Dec 13 09:35:12 >>> 2013 -0800 >>> +++ b/src/share/vm/classfile/javaClasses.cpp Wed Dec 18 10:30:02 >>> 2013 -0800 >>> @@ -3286,7 +3286,7 @@ >>> sun_reflect_ConstantPool::compute_offsets(); >>> sun_reflect_UnsafeStaticFieldAccessorImpl::compute_offsets(); >>> } >>> - if (JDK_Version::is_jdk18x_version()) >>> + if (JDK_Version::is_gte_jdk18x_version()) >> Shouldn?t code like this be removed at all now that HSX is dead? >> >> > > There are other checks of that flavor in the same file. For my purposes, > I just want to get the feature working again when the JDK_MINOR_VERSION > is updated. > > -Joe > From srikalyan.chandrashekar at oracle.com Thu Dec 19 12:26:51 2013 From: srikalyan.chandrashekar at oracle.com (srikalyan) Date: Thu, 19 Dec 2013 12:26:51 -0800 Subject: Analysis on JDK-8022321 java/lang/ref/OOMEInReferenceHandler.java fails intermittently Message-ID: <52B3568B.5050905@oracle.com> Hi all, I have been working on the bug JDK-8022321 , this is a sporadic failure and the webrev is available here http://cr.openjdk.java.net/~srikchan/Regression/JDK-8022321_OOMEInReferenceHandler-webrev/ * **"Root Cause:Still not known"* 2 places where there is a possibility for OOME 1) Cleaner.clean() 2) ReferenceQueue.enqueue() 1) The cleanup code in turn has 2 places where there is potential for throwing OOME, a) thunk Thread which is run from clean() method. This Runnable is passed to Cleaner and appears in the following classes java/nio/DirectByteBuffer.java sun/misc/Perf.java sun/nio/fs/NativeBuffer.java sun/nio/ch/IOVecWrapper.java sun/misc/Cleaner/ExitOnThrow.java However none of the above overridden implementations ever create an object in the clean() code. b) new PrivilegedAction created in try catch Exception block of clean() method but for this object to be created and to be held responsible for OOME an Exception(other than OOME) has to be thrown. 2) No new heap objects are created in the enqueue method nor anywhere in the deep call stack (VM.addFinalRefCount() etc) so this cannot be a potential cause. *Experimental change to java.lang.Reference.java* : - Put one more guard (try catch with OOME block) in the Reference Handler Thread which may give the Reference Handler a chance to cleanup. This is fixing the test failure (several 1000 runs with 0 failures) - Without the above change the test fails atleast 3-5 times for every 1000 run. *PS*: The code change is to a very critical part of JDK and i am fully not aware of the consequences of the change, hence seeking expert help here. Appreciate your time and inputs towards this. -- -- Thanks kalyan Ph: (408)-585-8040 From albert.noll at oracle.com Thu Dec 19 14:27:05 2013 From: albert.noll at oracle.com (albert.noll at oracle.com) Date: Thu, 19 Dec 2013 22:27:05 +0000 Subject: hg: hsx/hotspot-main/hotspot: 8 new changesets Message-ID: <20131219222726.0E78D62E02@hg.openjdk.java.net> Changeset: 9ecf408d4568 Author: iveresov Date: 2013-12-12 11:25 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/9ecf408d4568 8029668: Kithcensink crashed with guarantee(Assembler::is_simm13(disp)) failed: Do not match large constant offsets Summary: Bailout if we try to reference a stack location that we can't encode Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/sparc.ad Changeset: 68ec0a75ee22 Author: iignatyev Date: 2013-12-13 00:34 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/68ec0a75ee22 8026941: [TESTBUG] java.lang.ClassNotFoundException: java.lang.invoke.InvokeGeneric Reviewed-by: kvn, vlivanov ! test/compiler/jsr292/ConcurrentClassLoadingTest.java Changeset: 8beff993531a Author: iignatyev Date: 2013-12-12 18:57 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/8beff993531a Merge Changeset: 00bcb186fc5a Author: drchase Date: 2013-12-12 15:11 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/00bcb186fc5a 8029351: assert(bt != T_OBJECT) failed: Guard is incorrect in VM:defmeth Summary: replace test condition with reference to the proper predicate, encode folk wisdom into an assert Reviewed-by: twisti, coleenp ! src/share/vm/oops/generateOopMap.cpp Changeset: b00c6d846a0a Author: drchase Date: 2013-12-12 18:00 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/b00c6d846a0a Merge Changeset: ddcb2ac2900d Author: drchase Date: 2013-12-12 20:55 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/ddcb2ac2900d Merge Changeset: 22c88c127fa4 Author: roland Date: 2013-12-13 09:25 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/22c88c127fa4 8029383: assert(counter_changed) failed: failed dependencies, but counter didn't change Summary: no call to SystemDictionary::notice_modification() when class is defined through Unsafe.defineAnonymousClass() can caused missed dependency change. Reviewed-by: kvn, twisti ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp Changeset: a632dd6ef1f9 Author: anoll Date: 2013-12-16 00:44 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/a632dd6ef1f9 Merge From david.holmes at oracle.com Thu Dec 19 17:08:50 2013 From: david.holmes at oracle.com (David Holmes) Date: Fri, 20 Dec 2013 11:08:50 +1000 Subject: Analysis on JDK-8022321 java/lang/ref/OOMEInReferenceHandler.java fails intermittently In-Reply-To: <52B3568B.5050905@oracle.com> References: <52B3568B.5050905@oracle.com> Message-ID: <52B398A2.8030307@oracle.com> Hi Kalyan, This is not a hotspot issue so I'm moving this to core-libs, please drop hotspot from any replies. On 20/12/2013 6:26 AM, srikalyan wrote: > Hi all, I have been working on the bug JDK-8022321 > , this is a sporadic > failure and the webrev is available here > http://cr.openjdk.java.net/~srikchan/Regression/JDK-8022321_OOMEInReferenceHandler-webrev/ I'm really not sure what to make of this. We have a test that triggers an out-of-memory condition but the OOME can actually turn up in the ReferenceHandler thread causing it to terminate and the test to fail. We previously accounted for the non-obvious occurrences of OOME due to the Object.wait and the possible need to load the InterruptedException class - but still the OOME can appear where we don't want it. So finally you have just placed the whole for(;;) loop in a try/catch(OOME) that ignores the OOME. I'm certain that makes the test happy, but I'm not sure it is really what we want for the ReferenceHandler thread. If the OOME occurs while cleaning, or enqueuing then we will fail to clean and/or enqueue but there would be no indication that has occurred and I think that is a bigger problem than this test failing. There may be no way to make this test 100% reliable. In fact I'd suggest that no memory exhaustion test can be 100% reliable. David > * > **"Root Cause:Still not known"* > 2 places where there is a possibility for OOME > 1) Cleaner.clean() > 2) ReferenceQueue.enqueue() > > 1) The cleanup code in turn has 2 places where there is potential for > throwing OOME, > a) thunk Thread which is run from clean() method. This Runnable is > passed to Cleaner and appears in the following classes > java/nio/DirectByteBuffer.java > sun/misc/Perf.java > sun/nio/fs/NativeBuffer.java > sun/nio/ch/IOVecWrapper.java > sun/misc/Cleaner/ExitOnThrow.java > However none of the above overridden implementations ever create an > object in the clean() code. > b) new PrivilegedAction created in try catch Exception block of > clean() method but for this object to be created and to be held > responsible for OOME an Exception(other than OOME) has to be thrown. > > 2) No new heap objects are created in the enqueue method nor anywhere in > the deep call stack (VM.addFinalRefCount() etc) so this cannot be a > potential cause. > > *Experimental change to java.lang.Reference.java* : > - Put one more guard (try catch with OOME block) in the Reference > Handler Thread which may give the Reference Handler a chance to cleanup. > This is fixing the test failure (several 1000 runs with 0 failures) > - Without the above change the test fails atleast 3-5 times for every > 1000 run. > > *PS*: The code change is to a very critical part of JDK and i am fully > not aware of the consequences of the change, hence seeking expert help > here. Appreciate your time and inputs towards this. > From igor.veresov at oracle.com Thu Dec 19 17:24:01 2013 From: igor.veresov at oracle.com (Igor Veresov) Date: Thu, 19 Dec 2013 17:24:01 -0800 Subject: RFR (S): 8029233: Update copyright year to match last edit in jdk8 hotspot repository for 2013 In-Reply-To: References: <52AB9094.10104@oracle.com> <87CFF238-84E3-4E2B-833C-48E44350B793@oracle.com> Message-ID: Good. igor On Dec 19, 2013, at 1:49 AM, Mikael Vidstedt wrote: > > Thanks Chris! One more pretty please? > > Cheers, > Mikael > >> On Dec 13, 2013, at 15:53, Christian Thalinger wrote: >> >> Looks good. >> >>> On Dec 13, 2013, at 2:56 PM, Mikael Vidstedt wrote: >>> >>> >>> All, >>> >>> It's that time of the year. Can I please get a couple of reviews of the below: >>> >>> http://cr.openjdk.java.net/~mikael/webrevs/copyright2013/webrev.01/webrev >>> >>> Thanks, >>> Mikael >> From david.holmes at oracle.com Thu Dec 19 17:33:36 2013 From: david.holmes at oracle.com (David Holmes) Date: Fri, 20 Dec 2013 11:33:36 +1000 Subject: RFR (M): 8029396: PPC64 (part 212): Several memory ordering fixes in C-code. In-Reply-To: <4295855A5C1DE049A61835A1887419CC2CE71DA3@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC2CE6DA2E@DEWDFEMB12A.global.corp.sap> <52B2CFD3.3090303@oracle.com> <4295855A5C1DE049A61835A1887419CC2CE71DA3@DEWDFEMB12A.global.corp.sap> Message-ID: <52B39E70.5020500@oracle.com> Hi Goetz, On 20/12/2013 12:19 AM, Lindenmaier, Goetz wrote: > Hi David, > > the GC stuff is only called from shared code. Good to hear. I always wonder though whether the cost of passing the extra parameter through and checking it, outweighs the benefit of not issuing the action (the release in this case)? I'm not a compiler person but perhaps the extra parameter forces parameter passing via the stack rather than registers, or changes an inlining decision, or maybe the additional control flow check causes a problem ... Any hard data that not using release semantics all the time actually yields a benefit? > The ordering in BiasedLocking is needed, e.g., in the context of force_revoke_and_rebias. > If an other thread wants to inflate the lock written to the mark word > in force_revoke_and_rebias, it must be assured that changing the displaced > header is visible to that other thread. I'll take your word for it. I don't have time to try and analyse the BiasedLocking code in depth and I don't think it is a performance issue for that code given the potentially redundant barrier occurs during a safepoint anyway. > We added the memory barriers for the _thread_state field in 2006 and can > not reconstruct the concrete cause. But things as setting the last_java_frame > and then the state to in_native should be ordered. I am much more concerned about this. I can't accept a simple wrapping of all accesses with acquire/release semantics because there may be a few cases where it is needed - this code is too hot for that. We need to examine the individual cases, like last_java_frame, where you think there is an issue. With regards to this part of the code do you force UseMembar true for PPC64? The memory serialization page mechanism is not reliable for non-TSO systems. My Xmas break begins in about 5 hours but I will be checking in on email at times :) Cheers, David > Best regards, > Goetz. > > -----Original Message----- > From: David Holmes [mailto:david.holmes at oracle.com] > Sent: Donnerstag, 19. Dezember 2013 11:52 > To: Lindenmaier, Goetz > Cc: 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net'; Vladimir Kozlov > Subject: Re: RFR (M): 8029396: PPC64 (part 212): Several memory ordering fixes in C-code. > > Somewhat late but I was away for two weeks. > > GC stuff: > > Is the use of the new release parameter always set to true from shared > code? If so I don't have a problem with it being used to optimize the > stores under certain conditions. But if pcc64 will pass true where other > archs won't then again I object to this because it should be an > algorithmic correctness requirement that is always present. > > > General: I find a lot of the commentary excessively platform specific. > Eg We don't expect any C++ compiler we currently use to emit memory > barriers for C++ volatiles. If they start doing that we will have a > bazillion unnecessary injected barriers in our code! > > BiasedLocking: > > It is not clear to me that the BiasedLocking change is needed. AFAICS > there is only one path where revoke_bias is not called at a safepoint > and the comments around that seem to indicate that it was considered > safe to do so. It may be they assumed TSO when making that decision but > I'd be interested to know how this change was arrived at. > > Thread state: > > The thread state changes have me most concerned as they are heavily used > and so the performance impact here could be extensive. Many of them > occur on paths that involve membars or membar-equivalent actions so they > would seem redundant then. Again I would like to see some analysis > showing these are in fact essential for correctness. There may well be > some situations where they are, but to me this seems an even better > candidate for adding the "release" parameter when needed! > > David > ----- > > On 3/12/2013 2:51 AM, Lindenmaier, Goetz wrote: >> Hi, >> >> This change contains a row of fixes to the memory ordering in runtime, GC etc. >> http://cr.openjdk.java.net/~goetz/webrevs/8029396-0-memo/ >> >> These are: >> - Accessing arrays in CMS (compactibleFreeListSpace.cpp) >> - CMS: Do release when marking a card dirty. The release must only be done if GC is running. (several files) >> - Method counter initialization (method.hpp). >> - Order accessing f1/f2 in constant pool cache. >> - Release stores in OopMapCache constructor (instanceKLass.cpp). >> - BiasedLocking: Release setting object header to displaced mark. >> - Release state of nmethod sweeper (sweeper.cpp). >> - Do barriers when writing the thread state (thread.hpp). >> >> Please review and test this change. >> >> If requested, I can part this into smaller changes. But for now >> I wanted to put them all into one change as they all address the >> problems with the PPC memory model. >> >> Best regards, >> Goetz. >> From david.holmes at oracle.com Thu Dec 19 17:55:59 2013 From: david.holmes at oracle.com (David Holmes) Date: Fri, 20 Dec 2013 11:55:59 +1000 Subject: RFR (S): 8029957: PPC64 (part 213): cppInterpreter: memory ordering for object initialization In-Reply-To: <4295855A5C1DE049A61835A1887419CC2CE707E1@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC2CE707E1@DEWDFEMB12A.global.corp.sap> Message-ID: <52B3A3AF.9050609@oracle.com> Still catching up ... On 11/12/2013 9:46 PM, Lindenmaier, Goetz wrote: > Hi, > > this change adds StoreStore barriers after object initialization and > after constructor calls in the C++ interpreter. This assures no uninitialized > objects or final fields are visible. > http://cr.openjdk.java.net/~goetz/webrevs/8029957-0-moci/ The InterpreterRuntime calls are all IRT_ENTRY points which will utilize thread state transitions that already include a full "fence" so the storestore barriers are redundant in those cases. The fastpath _new storestore seems okay. I don't know how handle_return gets used to know if it is reasonable or not. I was trying, unsuccessfully, to examine the same code in the templateInterpreter to see how it handles these cases as it naturally has the same object-initialization-safety requirements (though these can be handled in a number of different ways other than an unconditional storestore barrier at the end of the initialization and construction phases. David ----- > Please review and test this change. > > Best regards, > Goetz. > From john.coomes at oracle.com Thu Dec 19 20:31:34 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 20 Dec 2013 04:31:34 +0000 Subject: hg: hsx/hotspot-main/corba: Added tag jdk8-b121 for changeset a7d3638deb2f Message-ID: <20131220043138.2A2AB62E10@hg.openjdk.java.net> Changeset: 15a9cdd9d64e Author: katleman Date: 2013-12-19 17:23 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/corba/rev/15a9cdd9d64e Added tag jdk8-b121 for changeset a7d3638deb2f ! .hgtags From john.coomes at oracle.com Thu Dec 19 20:31:27 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 20 Dec 2013 04:31:27 +0000 Subject: hg: hsx/hotspot-main: Added tag jdk8-b121 for changeset 1e1f86d5d4e2 Message-ID: <20131220043127.BB13062E0F@hg.openjdk.java.net> Changeset: 347009c58816 Author: katleman Date: 2013-12-19 17:23 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/rev/347009c58816 Added tag jdk8-b121 for changeset 1e1f86d5d4e2 ! .hgtags From john.coomes at oracle.com Thu Dec 19 20:31:48 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 20 Dec 2013 04:31:48 +0000 Subject: hg: hsx/hotspot-main/jaxp: Added tag jdk8-b121 for changeset 4045edd35e8b Message-ID: <20131220043159.0854362E11@hg.openjdk.java.net> Changeset: 51d5d5eef0d8 Author: katleman Date: 2013-12-19 17:23 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jaxp/rev/51d5d5eef0d8 Added tag jdk8-b121 for changeset 4045edd35e8b ! .hgtags From john.coomes at oracle.com Thu Dec 19 20:32:07 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 20 Dec 2013 04:32:07 +0000 Subject: hg: hsx/hotspot-main/jaxws: Added tag jdk8-b121 for changeset 32050ab53c8a Message-ID: <20131220043216.8C9CE62E12@hg.openjdk.java.net> Changeset: bc622ba563f9 Author: katleman Date: 2013-12-19 17:23 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jaxws/rev/bc622ba563f9 Added tag jdk8-b121 for changeset 32050ab53c8a ! .hgtags From john.coomes at oracle.com Thu Dec 19 20:32:35 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 20 Dec 2013 04:32:35 +0000 Subject: hg: hsx/hotspot-main/jdk: 4 new changesets Message-ID: <20131220043442.A2ED862E13@hg.openjdk.java.net> Changeset: b822fa97c67a Author: rgallard Date: 2013-12-12 22:26 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/b822fa97c67a 8027844: Remove the JDK 1.1 compatibility part in jarsigner doc Reviewed-by: weijun ! src/bsd/doc/man/jarsigner.1 ! src/linux/doc/man/jarsigner.1 ! src/solaris/doc/sun/man/man1/jarsigner.1 Changeset: 32cc35351303 Author: rgallard Date: 2013-12-13 14:21 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/32cc35351303 8027709: JDK8 docs on -XX:CompileOnly option are incorrect Summary: Alexey Zhebel (azhebel) contributed these changes. Reviewed-by: kvn ! src/bsd/doc/man/java.1 ! src/linux/doc/man/java.1 ! src/solaris/doc/sun/man/man1/java.1 Changeset: ce05e132b137 Author: katleman Date: 2013-12-17 12:02 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/ce05e132b137 Merge Changeset: f63994f1eab4 Author: katleman Date: 2013-12-19 17:24 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/f63994f1eab4 Added tag jdk8-b121 for changeset ce05e132b137 ! .hgtags From john.coomes at oracle.com Thu Dec 19 20:37:24 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 20 Dec 2013 04:37:24 +0000 Subject: hg: hsx/hotspot-main/nashorn: Added tag jdk8-b121 for changeset 32631eed0fad Message-ID: <20131220043729.B4DC862E16@hg.openjdk.java.net> Changeset: 7841feee13f5 Author: katleman Date: 2013-12-19 17:24 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/nashorn/rev/7841feee13f5 Added tag jdk8-b121 for changeset 32631eed0fad ! .hgtags From david.holmes at oracle.com Thu Dec 19 20:57:58 2013 From: david.holmes at oracle.com (David Holmes) Date: Fri, 20 Dec 2013 14:57:58 +1000 Subject: RFR(M): 8029101: PPC64 (part 211): ordering of Independent Reads of Independent Writes In-Reply-To: <4295855A5C1DE049A61835A1887419CC2CE6D7CA@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC2CE6883E@DEWDFEMB12A.global.corp.sap> <5293F087.2080700@oracle.com> <5293FE15.9050100@oracle.com> <4295855A5C1DE049A61835A1887419CC2CE6C4C5@DEWDFEMB12A.global.corp.sap> <52948FF1.5080300@oracle.com> <4295855A5C1DE049A61835A1887419CC2CE6C554@DEWDFEMB12A.global.corp.sap> <5295DD0B.3030604@oracle.com> <4295855A5C1DE049A61835A1887419CC2CE6CE61@DEWDFEMB12A.global.corp.sap> <52968167.4050906@oracle.com> <4295855A5C1DE049A61835A1887419CC2CE6D7CA@DEWDFEMB12A.global.corp.sap> Message-ID: <52B3CE56.9030205@oracle.com> Sorry for the delay, it takes a while to catch up after two weeks vacation :) Next vacation (ie next two weeks) I'll continue to check emails. On 2/12/2013 6:33 PM, Lindenmaier, Goetz wrote: > Hi, > > ok, I understand the tests are wrong. It's good this issue is settled. > Thanks Aleksey and Andreas for going into the details of the proof! > > About our change: David, the causality is the other way round. > The change is about IRIW. > 1. To pass IRIW, we must use sync instructions before loads. This is the part I still have some question marks over as the implications are not nice for performance on non-TSO platforms. But I'm no further along in processing that paper I'm afraid. > 2. If we do syncs before loads, we don't need to do them after stores. > 3. If we don't do them after stores, we fail the volatile constructor tests. > 4. So finally we added them again at the end of the constructor after stores > to pass the volatile constructor tests. So we can at least undo #4 now we have established those tests were not required to pass. > We originally passed the constructor tests because the ppc memory order > instructions are not as find-granular as the > operations in the IR. MemBarVolatile is specified as StoreLoad. The only instruction > on PPC that does StoreLoad is sync. But sync also does StoreStore, therefore the > MemBarVolatile after the store fixes the constructor tests. The proper representation > of the fix in the IR would be adding a MemBarStoreStore. But now it's pointless > anyways. > >> I'm not happy with the ifdef approach but I won't block it. > I'd be happy to add a property > OrderAccess::cpu_is_multiple_copy_atomic() A compile-time guard (ifdef) would be better than a runtime one I think - similar to the SUPPORTS_NATIVE_CX8 optimization (something semantic based not architecture based) as that will allows for turning this on/off for any architecture for testing purposes. Thanks, David > or the like to guard the customization. I'd like that much better. Or also > OrderAccess::needs_support_iriw_ordering() > VM_Version::needs_support_iriw_ordering() > > > Best regards, > Goetz. > > > > > > > > -----Original Message----- > From: David Holmes [mailto:david.holmes at oracle.com] > Sent: Donnerstag, 28. November 2013 00:34 > To: Lindenmaier, Goetz > Cc: 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' > Subject: Re: RFR(M): 8029101: PPC64 (part 211): ordering of Independent Reads of Independent Writes > > TL;DR version: > > Discussion on the c-i list has now confirmed that a constructor-barrier > for volatiles is not required as part of the JMM specification. It *may* > be required in an implementation that doesn't pre-zero memory to ensure > you can't see uninitialized fields. So the tests for this are invalid > and this part of the patch is not needed in general (ppc64 may need it > due to other factors). > > Re: "multiple copy atomicity" - first thanks for correcting the term :) > Second thanks for the reference to that paper! For reference: > > "The memory system (perhaps involving a hierarchy of buffers and a > complex interconnect) does not guarantee that a write becomes visible to > all other hardware threads at the same time point; these architectures > are not multiple-copy atomic." > > This is the visibility issue that I referred to and affects both ARM and > PPC. But of course it is normally handled by using suitable barriers > after the stores that need to be visible. I think the crux of the > current issue is what you wrote below: > > > The fixes for the constructor issue are only needed because we > > remove the sync instruction from behind stores (parse3.cpp:320) > > and place it before loads. > > I hadn't grasped this part. Obviously if you fail to do the sync after > the store then you have to do something around the loads to get the same > results! I still don't know what lead you to the conclusion that the > only way to fix the IRIW issue was to put the fence before the load - > maybe when I get the chance to read that paper in full it will be clearer. > > So ... the basic problem is that the current structure in the VM has > hard-wired one choice of how to get the right semantics for volatile > variables. You now want to customize that but not all the requisite > hooks are present. It would be better if volatile_load and > volatile_store were factored out so that they could be implemented as > desired per-platform. Alternatively there could be pre- and post- hooks > that could then be customized per platform. Otherwise you need > platform-specific ifdef's to handle it as per your patch. > > I'm not happy with the ifdef approach but I won't block it. I think this > is an area where a lot of clean up is needed in the VM. The barrier > abstractions are a confused mess in my opinion. > > Thanks, > David > ----- > > On 28/11/2013 3:15 AM, Lindenmaier, Goetz wrote: >> Hi, >> >> I updated the webrev to fix the issues mentioned by Vladimir: >> http://cr.openjdk.java.net/~goetz/webrevs/8029101-0-raw/ >> >> I did not yet add the >> OrderAccess::needs_support_iriw_ordering() >> VM_Version::needs_support_iriw_ordering() >> or >> OrderAccess::cpu_is_multiple_copy_atomic() >> to reduce #defined, as I got no further comment on that. >> >> >> WRT to the validity of the tests and the interpretation of the JMM >> I feel not in the position to contribute substantially. >> >> But we would like to pass the torture test suite as we consider >> this a substantial task in implementing a PPC port. Also we think >> both tests show behavior a programmer would expect. It's bad if >> Java code runs fine on the more common x86 platform, and then >> fails on ppc. This will always first be blamed on the VM. >> >> The fixes for the constructor issue are only needed because we >> remove the sync instruction from behind stores (parse3.cpp:320) >> and place it before loads. Then there is no sync between volatile store >> and publishing the object. So we add it again in this one case >> (volatile store in constructor). >> >> >> @David >>>> Sure. There also is no solution as you require for the taskqueue problem yet, >>>> and that's being discussed now for almost a year. >>> It may have started a year ago but work on it has hardly been continuous. >> That's not true, we did a lot of investigation and testing on this issue. >> And we came up with a solution we consider the best possible. If you >> have objections, you should at least give the draft of a better solution, >> we would volunteer to implement and test it. >> Similarly, we invested time in fixing the concurrency torture issues. >> >> @David >>> What is "multiple-read-atomicity"? I'm not familiar with the term and >>> can't find any reference to it. >> We learned about this reading "A Tutorial Introduction to the ARM and >> POWER Relaxed Memory Models" by Luc Maranget, Susmit Sarkar and >> Peter Sewell, which is cited in "Correct and Efficient Work-Stealing for >> Weak Memory Models" by Nhat Minh L?, Antoniu Pop, Albert Cohen >> and Francesco Zappa Nardelli (PPoPP `13) when analysing the taskqueue problem. >> http://www.cl.cam.ac.uk/~pes20/ppc-supplemental/test7.pdf >> >> I was wrong in one thing, it's called multiple copy atomicity, I used 'read' >> instead. Sorry for that. (I also fixed that in the method name above). >> >> Best regards and thanks for all your involvements, >> Goetz. >> >> >> >> -----Original Message----- >> From: David Holmes [mailto:david.holmes at oracle.com] >> Sent: Mittwoch, 27. November 2013 12:53 >> To: Lindenmaier, Goetz >> Cc: 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' >> Subject: Re: RFR(M): 8029101: PPC64 (part 211): ordering of Independent Reads of Independent Writes >> >> Hi Goetz, >> >> On 26/11/2013 10:51 PM, Lindenmaier, Goetz wrote: >>> Hi David, >>> >>> -- Volatile in constuctor >>>> AFAIK we have not seen those tests fail due to a >>>> missing constructor barrier. >>> We see them on PPC64. Our test machines have typically 8-32 processors >>> and are Power 5-7. But see also Aleksey's mail. (Thanks Aleksey!) >> >> And see follow ups - the tests are invalid. >> >>> -- IRIW issue >>>> I can not possibly answer to the necessary level of detail with a few >>>> moments thought. >>> Sure. There also is no solution as you require for the taskqueue problem yet, >>> and that's being discussed now for almost a year. >> >> It may have started a year ago but work on it has hardly been continuous. >> >>>> You are implying there is a problem here that will >>>> impact numerous platforms (unless you can tell me why ppc is so different?) >>> No, only PPC does not have 'multiple-read-atomicity'. Therefore I contributed a >>> solution with the #defines, and that's correct for all, but not nice, I admit. >>> (I don't really know about ARM, though). >>> So if I can write down a nicer solution testing for methods that are evaluated >>> by the C-compiler I'm happy. >>> >>> The problem is not that IRIW is not handled by the JMM, the problem >>> is that >>> store >>> sync >>> does not assure multiple-read-atomicity, >>> only >>> sync >>> load >>> does so on PPC. And you require multiple-read-atomicity to >>> pass that test. >> >> What is "multiple-read-atomicity"? I'm not familiar with the term and >> can't find any reference to it. >> >> Thanks, >> David >> >> The JMM is fine. And >>> store >>> MemBarVolatile >>> is fine on x86, sparc etc. as there exist assembler instructions that >>> do what is required. >>> >>> So if you are off soon, please let's come to a solution that >>> might be improvable in the way it's implemented, but that >>> allows us to implement a correct PPC64 port. >>> >>> Best regards, >>> Goetz. >>> >>> >>> >>> >>> >>> >>> >>> -----Original Message----- >>> From: David Holmes [mailto:david.holmes at oracle.com] >>> Sent: Tuesday, November 26, 2013 1:11 PM >>> To: Lindenmaier, Goetz >>> Cc: 'Vladimir Kozlov'; 'Vitaly Davidovich'; 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' >>> Subject: Re: RFR(M): 8029101: PPC64 (part 211): ordering of Independent Reads of Independent Writes >>> >>> Hi Goetz, >>> >>> On 26/11/2013 9:22 PM, Lindenmaier, Goetz wrote: >>>> Hi everybody, >>>> >>>> thanks a lot for the detailed reviews! >>>> I'll try to answer to all in one mail. >>>> >>>>> Volatile fields written in constructor aren't guaranteed by JMM to occur before the reference is assigned; >>>> We don't think it's correct if we omit the barrier after initializing >>>> a volatile field. Previously, we discussed this with Aleksey Shipilev >>>> and Doug Lea, and they agreed. >>>> Also, concurrency torture tests >>>> LongVolatileTest >>>> AtomicIntegerInitialValueTest >>>> will fail. >>>> (In addition, observing 0 instead of the inital value of a volatile field would be >>>> very counter-intuitive for Java programmers, especially in AtomicInteger.) >>> >>> The affects of unsafe publication are always surprising - volatiles do >>> not add anything special here. AFAIK there is nothing in the JMM that >>> requires the constructor barrier - discussions with Doug and Aleksey >>> notwithstanding. AFAIK we have not seen those tests fail due to a >>> missing constructor barrier. >>> >>>>> proposed for PPC64 is to make volatile reads extremely heavyweight >>>> Yes, it costs measurable performance. But else it is wrong. We don't >>>> see a way to implement this cheaper. >>>> >>>>> - these algorithms should be expressed using the correct OrderAccess operations >>>> Basically, I agree on this. But you also have to take into account >>>> that due to the different memory ordering instructions on different platforms >>>> just implementing something empty is not sufficient. >>>> An example: >>>> MemBarRelease // means LoadStore, StoreStore barrier >>>> MemBarVolatile // means StoreLoad barrier >>>> If these are consecutively in the code, sparc code looks like this: >>>> MemBarRelease --> membar(Assembler::LoadStore | Assembler::StoreStore) >>>> MemBarVolatile --> membar(Assembler::StoreLoad) >>>> Just doing what is required. >>>> On Power, we get suboptimal code, as there are no comparable, >>>> fine grained operations: >>>> MemBarRelease --> lwsync // Doing LoadStore, StoreStore, LoadLoad >>>> MemBarVolatile --> sync // // Doing LoadStore, StoreStore, LoadLoad, StoreLoad >>>> obviously, the lwsync is superfluous. Thus, as PPC operations are more (too) powerful, >>>> I need an additional optimization that removes the lwsync. I can not implement >>>> MemBarRelease empty, as it is also used independently. >>>> >>>> Back to the IRIW problem. I think here we have a comparable issue. >>>> Doing the MemBarVolatile or the OrderAccess::fence() before the read >>>> is inefficient on platforms that have multiple-read-atomicity. >>>> >>>> I would propose to guard the code by >>>> VM_Version::cpu_is_multiple_read_atomic() or even better >>>> OrderAccess::cpu_is_multiple_read_atomic() >>>> Else, David, how would you propose to implement this platform independent? >>>> (Maybe we can also use above method in taskqueue.hpp.) >>> >>> I can not possibly answer to the necessary level of detail with a few >>> moments thought. You are implying there is a problem here that will >>> impact numerous platforms (unless you can tell me why ppc is so >>> different?) and I can not take that on face value at the moment. The >>> only reason I can see IRIW not being handled by the JMM requirements for >>> volatile accesses is if there are global visibility issues that are not >>> addressed - but even then I would expect heavy barriers at the store >>> would deal with that, not at the load. (This situation reminds me of the >>> need for read-barriers on Alpha architecture due to the use of software >>> cache-coherency rather than hardware cache-coherency - but we don't have >>> that on ppc!) >>> >>> Sorry - There is no quick resolution here and in a couple of days I will >>> be heading out on vacation for two weeks. >>> >>> David >>> ----- >>> >>>> Best regards, >>>> Goetz. >>>> >>>> -- Other ports: >>>> The IRIW issue requires at least 3 processors to be relevant, so it might >>>> not happen on small machines. But I can use PPC_ONLY instead >>>> of PPC64_ONLY if you request so (and if we don't get rid of them). >>>> >>>> -- MemBarStoreStore after initialization >>>> I agree we should not change it in the ppc port. If you wish, I can >>>> prepare an extra webrev for hotspot-comp. >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> -----Original Message----- >>>> From: David Holmes [mailto:david.holmes at oracle.com] >>>> Sent: Tuesday, November 26, 2013 2:49 AM >>>> To: Vladimir Kozlov >>>> Cc: Lindenmaier, Goetz; 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' >>>> Subject: Re: RFR(M): 8029101: PPC64 (part 211): ordering of Independent Reads of Independent Writes >>>> >>>> Okay this is my second attempt at answering this in a reasonable way :) >>>> >>>> On 26/11/2013 10:51 AM, Vladimir Kozlov wrote: >>>>> I have to ask David to do correctness evaluation. >>>> >>>> From what I understand what we see here is an attempt to fix an >>>> existing issue with the implementation of volatiles so that the IRIW >>>> problem is addressed. The solution proposed for PPC64 is to make >>>> volatile reads extremely heavyweight by adding a fence() when doing the >>>> load. >>>> >>>> Now if this was purely handled in ppc64 source code then I would be >>>> happy to let them do whatever they like (surely this kills performance >>>> though!). But I do not agree with the changes to the shared code that >>>> allow this solution to be implemented - even with PPC64_ONLY this is >>>> polluting the shared code. My concern is similar to what I said with the >>>> taskQueue changes - these algorithms should be expressed using the >>>> correct OrderAccess operations to guarantee the desired properties >>>> independent of architecture. If such a "barrier" is not needed on a >>>> given architecture then the implementation in OrderAccess should reduce >>>> to a no-op. >>>> >>>> And as Vitaly points out the constructor barriers are not needed under >>>> the JMM. >>>> >>>>> I am fine with suggested changes because you did not change our current >>>>> code for our platforms (please, do not change do_exits() now). >>>>> But may be it should be done using more general query which is set >>>>> depending on platform: >>>>> >>>>> OrderAccess::needs_support_iriw_ordering() >>>>> >>>>> or similar to what we use now: >>>>> >>>>> VM_Version::needs_support_iriw_ordering() >>>> >>>> Every platform has to support IRIW this is simply part of the Java >>>> Memory Model, there should not be any need to call this out explicitly >>>> like this. >>>> >>>> Is there some subtlety of the hardware I am missing here? Are there >>>> visibility issues beyond the ordering constraints that the JMM defines? >>>>> From what I understand our ppc port is also affected. David? >>>> >>>> We can not discuss that on an OpenJDK mailing list - sorry. >>>> >>>> David >>>> ----- >>>> >>>>> In library_call.cpp can you add {}? New comment should be inside else {}. >>>>> >>>>> I think you should make _wrote_volatile field not ppc64 specific which >>>>> will be set to 'true' only on ppc64. Then you will not need PPC64_ONLY() >>>>> except in do_put_xxx() where it is set to true. Too many #ifdefs. >>>>> >>>>> In do_put_xxx() can you combine your changes: >>>>> >>>>> if (is_vol) { >>>>> // See comment in do_get_xxx(). >>>>> #ifndef PPC64 >>>>> insert_mem_bar(Op_MemBarVolatile); // Use fat membar >>>>> #else >>>>> if (is_field) { >>>>> // Add MemBarRelease for constructors which write volatile field >>>>> (PPC64). >>>>> set_wrote_volatile(true); >>>>> } >>>>> #endif >>>>> } >>>>> >>>>> Thanks, >>>>> Vladimir >>>>> >>>>> On 11/25/13 8:16 AM, Lindenmaier, Goetz wrote: >>>>>> Hi, >>>>>> >>>>>> I preprared a webrev with fixes for PPC for the VolatileIRIWTest of >>>>>> the torture test suite: >>>>>> http://cr.openjdk.java.net/~goetz/webrevs/8029101-0-raw/ >>>>>> >>>>>> Example: >>>>>> volatile x=0, y=0 >>>>>> __________ __________ __________ __________ >>>>>> | Thread 0 | | Thread 1 | | Thread 2 | | Thread 3 | >>>>>> >>>>>> write(x=1) read(x) write(y=1) read(y) >>>>>> read(y) read(x) >>>>>> >>>>>> Disallowed: x=1, y=0 y=1, x=0 >>>>>> >>>>>> >>>>>> Solution: This example requires multiple-copy-atomicity. This is only >>>>>> assured by the sync instruction and if it is executed in the threads >>>>>> doing the loads. Thus we implement volatile read as sync-load-acquire >>>>>> and omit the sync/MemBarVolatile after the volatile store. >>>>>> MemBarVolatile happens to be implemented by sync. >>>>>> We fix this in C2 and the cpp interpreter. >>>>>> >>>>>> This addresses a similar issue as fix "8012144: multiple SIGSEGVs >>>>>> fails on staxf" for taskqueue.hpp. >>>>>> >>>>>> Further this change contains a fix that assures that volatile fields >>>>>> written in constructors are visible before the reference gets >>>>>> published. >>>>>> >>>>>> >>>>>> Looking at the code, we found a MemBarRelease that to us, seems too >>>>>> strong. >>>>>> We think in parse1.cpp do_exits() a MemBarStoreStore should suffice. >>>>>> What do you think? >>>>>> >>>>>> Please review and test this change. >>>>>> >>>>>> Best regards, >>>>>> Goetz. >>>>>> From john.coomes at oracle.com Thu Dec 19 20:36:54 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 20 Dec 2013 04:36:54 +0000 Subject: hg: hsx/hotspot-main/langtools: Added tag jdk8-b121 for changeset afe63d41c699 Message-ID: <20131220043710.8FE4862E14@hg.openjdk.java.net> Changeset: a42071a6d61f Author: katleman Date: 2013-12-19 17:24 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/a42071a6d61f Added tag jdk8-b121 for changeset afe63d41c699 ! .hgtags From goetz.lindenmaier at sap.com Fri Dec 20 04:47:10 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Fri, 20 Dec 2013 12:47:10 +0000 Subject: RFR(M): 8029101: PPC64 (part 211): ordering of Independent Reads of Independent Writes In-Reply-To: <52B3CE56.9030205@oracle.com> References: <4295855A5C1DE049A61835A1887419CC2CE6883E@DEWDFEMB12A.global.corp.sap> <5293F087.2080700@oracle.com> <5293FE15.9050100@oracle.com> <4295855A5C1DE049A61835A1887419CC2CE6C4C5@DEWDFEMB12A.global.corp.sap> <52948FF1.5080300@oracle.com> <4295855A5C1DE049A61835A1887419CC2CE6C554@DEWDFEMB12A.global.corp.sap> <5295DD0B.3030604@oracle.com> <4295855A5C1DE049A61835A1887419CC2CE6CE61@DEWDFEMB12A.global.corp.sap> <52968167.4050906@oracle.com> <4295855A5C1DE049A61835A1887419CC2CE6D7CA@DEWDFEMB12A.global.corp.sap> <52B3CE56.9030205@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC2CE720EC@DEWDFEMB12A.global.corp.sap> Hi David, > So we can at least undo #4 now we have established those tests were not > required to pass. We would prefer if we could keep this in. We want to avoid that it's blamed on the VM if java programs are failing on PPC after they worked on x86. To clearly mark it as overfulfilling the spec I would guard it by a flag as proposed. But if you insist I will remove it. Also, this part is not that performance relevant. > A compile-time guard (ifdef) would be better than a runtime one I think I added a compile-time guard in this new webrev: http://cr.openjdk.java.net/~goetz/webrevs/8029101-1-raw/ I've chosen CPU_NOT_MULTIPLE_COPY_ATOMIC. This introduces several double negations I don't like, (#ifNdef CPU_NOT_MULTIPLE_COPY_ATOMIC) but this way I only have to change the ppc platform. Best regards, Goetz P.S.: I will also be available over the Christmas period. -----Original Message----- From: David Holmes [mailto:david.holmes at oracle.com] Sent: Freitag, 20. Dezember 2013 05:58 To: Lindenmaier, Goetz Cc: 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' Subject: Re: RFR(M): 8029101: PPC64 (part 211): ordering of Independent Reads of Independent Writes Sorry for the delay, it takes a while to catch up after two weeks vacation :) Next vacation (ie next two weeks) I'll continue to check emails. On 2/12/2013 6:33 PM, Lindenmaier, Goetz wrote: > Hi, > > ok, I understand the tests are wrong. It's good this issue is settled. > Thanks Aleksey and Andreas for going into the details of the proof! > > About our change: David, the causality is the other way round. > The change is about IRIW. > 1. To pass IRIW, we must use sync instructions before loads. This is the part I still have some question marks over as the implications are not nice for performance on non-TSO platforms. But I'm no further along in processing that paper I'm afraid. > 2. If we do syncs before loads, we don't need to do them after stores. > 3. If we don't do them after stores, we fail the volatile constructor tests. > 4. So finally we added them again at the end of the constructor after stores > to pass the volatile constructor tests. So we can at least undo #4 now we have established those tests were not required to pass. > We originally passed the constructor tests because the ppc memory order > instructions are not as find-granular as the > operations in the IR. MemBarVolatile is specified as StoreLoad. The only instruction > on PPC that does StoreLoad is sync. But sync also does StoreStore, therefore the > MemBarVolatile after the store fixes the constructor tests. The proper representation > of the fix in the IR would be adding a MemBarStoreStore. But now it's pointless > anyways. > >> I'm not happy with the ifdef approach but I won't block it. > I'd be happy to add a property > OrderAccess::cpu_is_multiple_copy_atomic() A compile-time guard (ifdef) would be better than a runtime one I think - similar to the SUPPORTS_NATIVE_CX8 optimization (something semantic based not architecture based) as that will allows for turning this on/off for any architecture for testing purposes. Thanks, David > or the like to guard the customization. I'd like that much better. Or also > OrderAccess::needs_support_iriw_ordering() > VM_Version::needs_support_iriw_ordering() > > > Best regards, > Goetz. > > > > > > > > -----Original Message----- > From: David Holmes [mailto:david.holmes at oracle.com] > Sent: Donnerstag, 28. November 2013 00:34 > To: Lindenmaier, Goetz > Cc: 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' > Subject: Re: RFR(M): 8029101: PPC64 (part 211): ordering of Independent Reads of Independent Writes > > TL;DR version: > > Discussion on the c-i list has now confirmed that a constructor-barrier > for volatiles is not required as part of the JMM specification. It *may* > be required in an implementation that doesn't pre-zero memory to ensure > you can't see uninitialized fields. So the tests for this are invalid > and this part of the patch is not needed in general (ppc64 may need it > due to other factors). > > Re: "multiple copy atomicity" - first thanks for correcting the term :) > Second thanks for the reference to that paper! For reference: > > "The memory system (perhaps involving a hierarchy of buffers and a > complex interconnect) does not guarantee that a write becomes visible to > all other hardware threads at the same time point; these architectures > are not multiple-copy atomic." > > This is the visibility issue that I referred to and affects both ARM and > PPC. But of course it is normally handled by using suitable barriers > after the stores that need to be visible. I think the crux of the > current issue is what you wrote below: > > > The fixes for the constructor issue are only needed because we > > remove the sync instruction from behind stores (parse3.cpp:320) > > and place it before loads. > > I hadn't grasped this part. Obviously if you fail to do the sync after > the store then you have to do something around the loads to get the same > results! I still don't know what lead you to the conclusion that the > only way to fix the IRIW issue was to put the fence before the load - > maybe when I get the chance to read that paper in full it will be clearer. > > So ... the basic problem is that the current structure in the VM has > hard-wired one choice of how to get the right semantics for volatile > variables. You now want to customize that but not all the requisite > hooks are present. It would be better if volatile_load and > volatile_store were factored out so that they could be implemented as > desired per-platform. Alternatively there could be pre- and post- hooks > that could then be customized per platform. Otherwise you need > platform-specific ifdef's to handle it as per your patch. > > I'm not happy with the ifdef approach but I won't block it. I think this > is an area where a lot of clean up is needed in the VM. The barrier > abstractions are a confused mess in my opinion. > > Thanks, > David > ----- > > On 28/11/2013 3:15 AM, Lindenmaier, Goetz wrote: >> Hi, >> >> I updated the webrev to fix the issues mentioned by Vladimir: >> http://cr.openjdk.java.net/~goetz/webrevs/8029101-0-raw/ >> >> I did not yet add the >> OrderAccess::needs_support_iriw_ordering() >> VM_Version::needs_support_iriw_ordering() >> or >> OrderAccess::cpu_is_multiple_copy_atomic() >> to reduce #defined, as I got no further comment on that. >> >> >> WRT to the validity of the tests and the interpretation of the JMM >> I feel not in the position to contribute substantially. >> >> But we would like to pass the torture test suite as we consider >> this a substantial task in implementing a PPC port. Also we think >> both tests show behavior a programmer would expect. It's bad if >> Java code runs fine on the more common x86 platform, and then >> fails on ppc. This will always first be blamed on the VM. >> >> The fixes for the constructor issue are only needed because we >> remove the sync instruction from behind stores (parse3.cpp:320) >> and place it before loads. Then there is no sync between volatile store >> and publishing the object. So we add it again in this one case >> (volatile store in constructor). >> >> >> @David >>>> Sure. There also is no solution as you require for the taskqueue problem yet, >>>> and that's being discussed now for almost a year. >>> It may have started a year ago but work on it has hardly been continuous. >> That's not true, we did a lot of investigation and testing on this issue. >> And we came up with a solution we consider the best possible. If you >> have objections, you should at least give the draft of a better solution, >> we would volunteer to implement and test it. >> Similarly, we invested time in fixing the concurrency torture issues. >> >> @David >>> What is "multiple-read-atomicity"? I'm not familiar with the term and >>> can't find any reference to it. >> We learned about this reading "A Tutorial Introduction to the ARM and >> POWER Relaxed Memory Models" by Luc Maranget, Susmit Sarkar and >> Peter Sewell, which is cited in "Correct and Efficient Work-Stealing for >> Weak Memory Models" by Nhat Minh L?, Antoniu Pop, Albert Cohen >> and Francesco Zappa Nardelli (PPoPP `13) when analysing the taskqueue problem. >> http://www.cl.cam.ac.uk/~pes20/ppc-supplemental/test7.pdf >> >> I was wrong in one thing, it's called multiple copy atomicity, I used 'read' >> instead. Sorry for that. (I also fixed that in the method name above). >> >> Best regards and thanks for all your involvements, >> Goetz. >> >> >> >> -----Original Message----- >> From: David Holmes [mailto:david.holmes at oracle.com] >> Sent: Mittwoch, 27. November 2013 12:53 >> To: Lindenmaier, Goetz >> Cc: 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' >> Subject: Re: RFR(M): 8029101: PPC64 (part 211): ordering of Independent Reads of Independent Writes >> >> Hi Goetz, >> >> On 26/11/2013 10:51 PM, Lindenmaier, Goetz wrote: >>> Hi David, >>> >>> -- Volatile in constuctor >>>> AFAIK we have not seen those tests fail due to a >>>> missing constructor barrier. >>> We see them on PPC64. Our test machines have typically 8-32 processors >>> and are Power 5-7. But see also Aleksey's mail. (Thanks Aleksey!) >> >> And see follow ups - the tests are invalid. >> >>> -- IRIW issue >>>> I can not possibly answer to the necessary level of detail with a few >>>> moments thought. >>> Sure. There also is no solution as you require for the taskqueue problem yet, >>> and that's being discussed now for almost a year. >> >> It may have started a year ago but work on it has hardly been continuous. >> >>>> You are implying there is a problem here that will >>>> impact numerous platforms (unless you can tell me why ppc is so different?) >>> No, only PPC does not have 'multiple-read-atomicity'. Therefore I contributed a >>> solution with the #defines, and that's correct for all, but not nice, I admit. >>> (I don't really know about ARM, though). >>> So if I can write down a nicer solution testing for methods that are evaluated >>> by the C-compiler I'm happy. >>> >>> The problem is not that IRIW is not handled by the JMM, the problem >>> is that >>> store >>> sync >>> does not assure multiple-read-atomicity, >>> only >>> sync >>> load >>> does so on PPC. And you require multiple-read-atomicity to >>> pass that test. >> >> What is "multiple-read-atomicity"? I'm not familiar with the term and >> can't find any reference to it. >> >> Thanks, >> David >> >> The JMM is fine. And >>> store >>> MemBarVolatile >>> is fine on x86, sparc etc. as there exist assembler instructions that >>> do what is required. >>> >>> So if you are off soon, please let's come to a solution that >>> might be improvable in the way it's implemented, but that >>> allows us to implement a correct PPC64 port. >>> >>> Best regards, >>> Goetz. >>> >>> >>> >>> >>> >>> >>> >>> -----Original Message----- >>> From: David Holmes [mailto:david.holmes at oracle.com] >>> Sent: Tuesday, November 26, 2013 1:11 PM >>> To: Lindenmaier, Goetz >>> Cc: 'Vladimir Kozlov'; 'Vitaly Davidovich'; 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' >>> Subject: Re: RFR(M): 8029101: PPC64 (part 211): ordering of Independent Reads of Independent Writes >>> >>> Hi Goetz, >>> >>> On 26/11/2013 9:22 PM, Lindenmaier, Goetz wrote: >>>> Hi everybody, >>>> >>>> thanks a lot for the detailed reviews! >>>> I'll try to answer to all in one mail. >>>> >>>>> Volatile fields written in constructor aren't guaranteed by JMM to occur before the reference is assigned; >>>> We don't think it's correct if we omit the barrier after initializing >>>> a volatile field. Previously, we discussed this with Aleksey Shipilev >>>> and Doug Lea, and they agreed. >>>> Also, concurrency torture tests >>>> LongVolatileTest >>>> AtomicIntegerInitialValueTest >>>> will fail. >>>> (In addition, observing 0 instead of the inital value of a volatile field would be >>>> very counter-intuitive for Java programmers, especially in AtomicInteger.) >>> >>> The affects of unsafe publication are always surprising - volatiles do >>> not add anything special here. AFAIK there is nothing in the JMM that >>> requires the constructor barrier - discussions with Doug and Aleksey >>> notwithstanding. AFAIK we have not seen those tests fail due to a >>> missing constructor barrier. >>> >>>>> proposed for PPC64 is to make volatile reads extremely heavyweight >>>> Yes, it costs measurable performance. But else it is wrong. We don't >>>> see a way to implement this cheaper. >>>> >>>>> - these algorithms should be expressed using the correct OrderAccess operations >>>> Basically, I agree on this. But you also have to take into account >>>> that due to the different memory ordering instructions on different platforms >>>> just implementing something empty is not sufficient. >>>> An example: >>>> MemBarRelease // means LoadStore, StoreStore barrier >>>> MemBarVolatile // means StoreLoad barrier >>>> If these are consecutively in the code, sparc code looks like this: >>>> MemBarRelease --> membar(Assembler::LoadStore | Assembler::StoreStore) >>>> MemBarVolatile --> membar(Assembler::StoreLoad) >>>> Just doing what is required. >>>> On Power, we get suboptimal code, as there are no comparable, >>>> fine grained operations: >>>> MemBarRelease --> lwsync // Doing LoadStore, StoreStore, LoadLoad >>>> MemBarVolatile --> sync // // Doing LoadStore, StoreStore, LoadLoad, StoreLoad >>>> obviously, the lwsync is superfluous. Thus, as PPC operations are more (too) powerful, >>>> I need an additional optimization that removes the lwsync. I can not implement >>>> MemBarRelease empty, as it is also used independently. >>>> >>>> Back to the IRIW problem. I think here we have a comparable issue. >>>> Doing the MemBarVolatile or the OrderAccess::fence() before the read >>>> is inefficient on platforms that have multiple-read-atomicity. >>>> >>>> I would propose to guard the code by >>>> VM_Version::cpu_is_multiple_read_atomic() or even better >>>> OrderAccess::cpu_is_multiple_read_atomic() >>>> Else, David, how would you propose to implement this platform independent? >>>> (Maybe we can also use above method in taskqueue.hpp.) >>> >>> I can not possibly answer to the necessary level of detail with a few >>> moments thought. You are implying there is a problem here that will >>> impact numerous platforms (unless you can tell me why ppc is so >>> different?) and I can not take that on face value at the moment. The >>> only reason I can see IRIW not being handled by the JMM requirements for >>> volatile accesses is if there are global visibility issues that are not >>> addressed - but even then I would expect heavy barriers at the store >>> would deal with that, not at the load. (This situation reminds me of the >>> need for read-barriers on Alpha architecture due to the use of software >>> cache-coherency rather than hardware cache-coherency - but we don't have >>> that on ppc!) >>> >>> Sorry - There is no quick resolution here and in a couple of days I will >>> be heading out on vacation for two weeks. >>> >>> David >>> ----- >>> >>>> Best regards, >>>> Goetz. >>>> >>>> -- Other ports: >>>> The IRIW issue requires at least 3 processors to be relevant, so it might >>>> not happen on small machines. But I can use PPC_ONLY instead >>>> of PPC64_ONLY if you request so (and if we don't get rid of them). >>>> >>>> -- MemBarStoreStore after initialization >>>> I agree we should not change it in the ppc port. If you wish, I can >>>> prepare an extra webrev for hotspot-comp. >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> -----Original Message----- >>>> From: David Holmes [mailto:david.holmes at oracle.com] >>>> Sent: Tuesday, November 26, 2013 2:49 AM >>>> To: Vladimir Kozlov >>>> Cc: Lindenmaier, Goetz; 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' >>>> Subject: Re: RFR(M): 8029101: PPC64 (part 211): ordering of Independent Reads of Independent Writes >>>> >>>> Okay this is my second attempt at answering this in a reasonable way :) >>>> >>>> On 26/11/2013 10:51 AM, Vladimir Kozlov wrote: >>>>> I have to ask David to do correctness evaluation. >>>> >>>> From what I understand what we see here is an attempt to fix an >>>> existing issue with the implementation of volatiles so that the IRIW >>>> problem is addressed. The solution proposed for PPC64 is to make >>>> volatile reads extremely heavyweight by adding a fence() when doing the >>>> load. >>>> >>>> Now if this was purely handled in ppc64 source code then I would be >>>> happy to let them do whatever they like (surely this kills performance >>>> though!). But I do not agree with the changes to the shared code that >>>> allow this solution to be implemented - even with PPC64_ONLY this is >>>> polluting the shared code. My concern is similar to what I said with the >>>> taskQueue changes - these algorithms should be expressed using the >>>> correct OrderAccess operations to guarantee the desired properties >>>> independent of architecture. If such a "barrier" is not needed on a >>>> given architecture then the implementation in OrderAccess should reduce >>>> to a no-op. >>>> >>>> And as Vitaly points out the constructor barriers are not needed under >>>> the JMM. >>>> >>>>> I am fine with suggested changes because you did not change our current >>>>> code for our platforms (please, do not change do_exits() now). >>>>> But may be it should be done using more general query which is set >>>>> depending on platform: >>>>> >>>>> OrderAccess::needs_support_iriw_ordering() >>>>> >>>>> or similar to what we use now: >>>>> >>>>> VM_Version::needs_support_iriw_ordering() >>>> >>>> Every platform has to support IRIW this is simply part of the Java >>>> Memory Model, there should not be any need to call this out explicitly >>>> like this. >>>> >>>> Is there some subtlety of the hardware I am missing here? Are there >>>> visibility issues beyond the ordering constraints that the JMM defines? >>>>> From what I understand our ppc port is also affected. David? >>>> >>>> We can not discuss that on an OpenJDK mailing list - sorry. >>>> >>>> David >>>> ----- >>>> >>>>> In library_call.cpp can you add {}? New comment should be inside else {}. >>>>> >>>>> I think you should make _wrote_volatile field not ppc64 specific which >>>>> will be set to 'true' only on ppc64. Then you will not need PPC64_ONLY() >>>>> except in do_put_xxx() where it is set to true. Too many #ifdefs. >>>>> >>>>> In do_put_xxx() can you combine your changes: >>>>> >>>>> if (is_vol) { >>>>> // See comment in do_get_xxx(). >>>>> #ifndef PPC64 >>>>> insert_mem_bar(Op_MemBarVolatile); // Use fat membar >>>>> #else >>>>> if (is_field) { >>>>> // Add MemBarRelease for constructors which write volatile field >>>>> (PPC64). >>>>> set_wrote_volatile(true); >>>>> } >>>>> #endif >>>>> } >>>>> >>>>> Thanks, >>>>> Vladimir >>>>> >>>>> On 11/25/13 8:16 AM, Lindenmaier, Goetz wrote: >>>>>> Hi, >>>>>> >>>>>> I preprared a webrev with fixes for PPC for the VolatileIRIWTest of >>>>>> the torture test suite: >>>>>> http://cr.openjdk.java.net/~goetz/webrevs/8029101-0-raw/ >>>>>> >>>>>> Example: >>>>>> volatile x=0, y=0 >>>>>> __________ __________ __________ __________ >>>>>> | Thread 0 | | Thread 1 | | Thread 2 | | Thread 3 | >>>>>> >>>>>> write(x=1) read(x) write(y=1) read(y) >>>>>> read(y) read(x) >>>>>> >>>>>> Disallowed: x=1, y=0 y=1, x=0 >>>>>> >>>>>> >>>>>> Solution: This example requires multiple-copy-atomicity. This is only >>>>>> assured by the sync instruction and if it is executed in the threads >>>>>> doing the loads. Thus we implement volatile read as sync-load-acquire >>>>>> and omit the sync/MemBarVolatile after the volatile store. >>>>>> MemBarVolatile happens to be implemented by sync. >>>>>> We fix this in C2 and the cpp interpreter. >>>>>> >>>>>> This addresses a similar issue as fix "8012144: multiple SIGSEGVs >>>>>> fails on staxf" for taskqueue.hpp. >>>>>> >>>>>> Further this change contains a fix that assures that volatile fields >>>>>> written in constructors are visible before the reference gets >>>>>> published. >>>>>> >>>>>> >>>>>> Looking at the code, we found a MemBarRelease that to us, seems too >>>>>> strong. >>>>>> We think in parse1.cpp do_exits() a MemBarStoreStore should suffice. >>>>>> What do you think? >>>>>> >>>>>> Please review and test this change. >>>>>> >>>>>> Best regards, >>>>>> Goetz. >>>>>> From goetz.lindenmaier at sap.com Fri Dec 20 07:20:49 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Fri, 20 Dec 2013 15:20:49 +0000 Subject: RFR (M): 8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms Message-ID: <4295855A5C1DE049A61835A1887419CC2CE72126@DEWDFEMB12A.global.corp.sap> Hi, The change "8028580: PPC64 (part 114/120): Support for Call nodes with constants. " adds MachConstantBase node for Calls at req()-1 during expand. Reister allocation adds the derived/base pairs and then uses the wrong register maps for allocation, because the MachConstantBase node is no more at req()-1 Now add the edge in the matcher when the node is complete. Add it after parameters and before jvms. Adapt jvms offsets. Also assure jvms is always cloned, else the offset gets wrong. So far, $constanttablebase is only used in Calls on PPC, so this has no effect on other platforms. Please review and test this change. http://cr.openjdk.java.net/~goetz/webrevs/8030863-0-call/ Best regards, Goetz. From alejandro.murillo at oracle.com Fri Dec 20 09:59:27 2013 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Fri, 20 Dec 2013 17:59:27 +0000 Subject: hg: hsx/hsx25/hotspot: 12 new changesets Message-ID: <20131220180013.0844262E53@hg.openjdk.java.net> Changeset: 990e920dcec7 Author: katleman Date: 2013-12-19 17:23 -0800 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/990e920dcec7 Added tag jdk8-b121 for changeset 5f07ec8bb982 ! .hgtags Changeset: 7469c9ca967a Author: amurillo Date: 2013-12-13 09:48 -0800 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/7469c9ca967a 8030062: new hotspot build - hs25-b64 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 9ecf408d4568 Author: iveresov Date: 2013-12-12 11:25 -0800 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/9ecf408d4568 8029668: Kithcensink crashed with guarantee(Assembler::is_simm13(disp)) failed: Do not match large constant offsets Summary: Bailout if we try to reference a stack location that we can't encode Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/sparc.ad Changeset: 68ec0a75ee22 Author: iignatyev Date: 2013-12-13 00:34 +0400 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/68ec0a75ee22 8026941: [TESTBUG] java.lang.ClassNotFoundException: java.lang.invoke.InvokeGeneric Reviewed-by: kvn, vlivanov ! test/compiler/jsr292/ConcurrentClassLoadingTest.java Changeset: 8beff993531a Author: iignatyev Date: 2013-12-12 18:57 -0500 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/8beff993531a Merge Changeset: 00bcb186fc5a Author: drchase Date: 2013-12-12 15:11 -0500 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/00bcb186fc5a 8029351: assert(bt != T_OBJECT) failed: Guard is incorrect in VM:defmeth Summary: replace test condition with reference to the proper predicate, encode folk wisdom into an assert Reviewed-by: twisti, coleenp ! src/share/vm/oops/generateOopMap.cpp Changeset: b00c6d846a0a Author: drchase Date: 2013-12-12 18:00 -0500 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/b00c6d846a0a Merge Changeset: ddcb2ac2900d Author: drchase Date: 2013-12-12 20:55 -0500 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/ddcb2ac2900d Merge Changeset: 22c88c127fa4 Author: roland Date: 2013-12-13 09:25 +0100 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/22c88c127fa4 8029383: assert(counter_changed) failed: failed dependencies, but counter didn't change Summary: no call to SystemDictionary::notice_modification() when class is defined through Unsafe.defineAnonymousClass() can caused missed dependency change. Reviewed-by: kvn, twisti ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp Changeset: a632dd6ef1f9 Author: anoll Date: 2013-12-16 00:44 -0800 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/a632dd6ef1f9 Merge Changeset: 61ee6bab0763 Author: amurillo Date: 2013-12-20 08:43 -0800 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/61ee6bab0763 Merge Changeset: adcc814f792a Author: amurillo Date: 2013-12-20 08:43 -0800 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/adcc814f792a Added tag hs25-b64 for changeset 61ee6bab0763 ! .hgtags From alejandro.murillo at oracle.com Fri Dec 20 11:07:27 2013 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Fri, 20 Dec 2013 19:07:27 +0000 Subject: hg: hsx/hotspot-main/hotspot: 4 new changesets Message-ID: <20131220190738.9AC2262E57@hg.openjdk.java.net> Changeset: 990e920dcec7 Author: katleman Date: 2013-12-19 17:23 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/990e920dcec7 Added tag jdk8-b121 for changeset 5f07ec8bb982 ! .hgtags Changeset: 61ee6bab0763 Author: amurillo Date: 2013-12-20 08:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/61ee6bab0763 Merge Changeset: adcc814f792a Author: amurillo Date: 2013-12-20 08:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/adcc814f792a Added tag hs25-b64 for changeset 61ee6bab0763 ! .hgtags Changeset: 0b9c7eb6658b Author: amurillo Date: 2013-12-20 08:48 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/0b9c7eb6658b 8030752: new hotspot build - hs25-b65 Reviewed-by: jcoomes ! make/hotspot_version From blackdrag at gmx.org Fri Dec 20 13:09:08 2013 From: blackdrag at gmx.org (Jochen Theodorou) Date: Fri, 20 Dec 2013 22:09:08 +0100 Subject: State of lambda forms stealing stack frames? In-Reply-To: <52B30607.30902@oracle.com> References: <52B2FB63.7070002@gmx.org> <52B30607.30902@oracle.com> Message-ID: <52B4B1F4.7010802@gmx.org> I know on the jvm languages summit this year many already complained about this problem. It is not new (this and the additional memory consumption). I know there have been plans to make lambda forms more "lean". What I don't know is the progress in that. But from the reactions so far I take it that there will be no improvement before the final release candidate. Taking vocation around this time into account there is less than 30 days left Am 19.12.2013 15:43, schrieb Vicente-Arturo Romero-Zaldivar: > Hi Jochen, > > Interesting issue but I think the list for this is > hotspot-dev at openjdk.java.net. > > Thanks, > > Vicente > > > > On 19/12/13 13:57, Jochen Theodorou wrote: >> Hi all, >> >> I originally did sent this to another list, so sorry if someone sees >> this again... but since I got no reaction at all... >> >> I wanted to ask what the currrent state of invokedynamic using >> additional stack frames through lambda forms is. Will there be a >> jdk1.8.0 without the consumption of stack frames or not? Will there be >> any at all? Will there be a fix for jdk7? >> >> I am seriously afraid of larger systems making use of invokedynamic a >> lot. To illustrate the gravity of the problem look at this: >> >> @groovy.transform.Memoized >> BigInteger fib(BigInteger x) { >> x<2?x:fib(x-1)+fib(x-2) >> } >> >> this code will produce some background code resposible for caching >> results and as such increasing the maximum x. The current implementation >> could be much better but I show this to compare our old way in Groovy >> using custom callsite caching with method generation at runtime to >> invokedynamic. So in the old version I can go up to fib(292) and won't >> stack overflow. With jdk7u25 and indy this is similiar, even though >> slightly less. But with later versions of jdk7 and jdk8 the maximum of >> the indy version is fib(45)... 5-6 times less. Since the results are >> cached it is really only like going down one side of a tree of >> calculations here, meaning if I need the double amount of stack frames, >> it will half x. >> >> Are there any real plans to improve the situation? >> >> bye Jochen >> > -- Jochen "blackdrag" Theodorou - Groovy Project Tech Lead blog: http://blackdragsview.blogspot.com/ german groovy discussion newsgroup: de.comp.lang.misc For Groovy programming sources visit http://groovy-lang.org From coleen.phillimore at oracle.com Fri Dec 20 12:58:22 2013 From: coleen.phillimore at oracle.com (coleen.phillimore at oracle.com) Date: Fri, 20 Dec 2013 20:58:22 +0000 Subject: hg: hsx/hotspot-main/hotspot: 3 new changesets Message-ID: <20131220205830.123C962E5B@hg.openjdk.java.net> Changeset: 5832cdaf89c6 Author: hseigel Date: 2013-12-16 08:24 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/5832cdaf89c6 8027804: JCK resolveMethod test fails expecting AbstractMethodError Summary: Create AME overpass methods and fix method search logic Reviewed-by: kamg, acorn, lfoltan, coleenp ! src/share/vm/classfile/defaultMethods.cpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klassVtable.cpp Changeset: 62e87648a4be Author: coleenp Date: 2013-12-19 20:28 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/62e87648a4be 8030633: nsk/jvmti/RedefineClasses/StressRedefine failed invalid method ordering length on Solaris Summary: A method with no declared methods was getting an AME overpass method with the latest change. The method_ordering array was not updated for the new methods. Reviewed-by: dcubed, acorn, dsamersoff, lfoltan, hseigel ! src/share/vm/classfile/defaultMethods.cpp Changeset: be840d0078bc Author: coleenp Date: 2013-12-20 14:03 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/be840d0078bc Merge From igor.veresov at oracle.com Fri Dec 20 15:08:51 2013 From: igor.veresov at oracle.com (igor.veresov at oracle.com) Date: Fri, 20 Dec 2013 23:08:51 +0000 Subject: hg: hsx/jdk7u/hotspot: 8030070: Test java/io/File/CheckPermission.java fails due to unfinished recursion (java.lang.StackOverflowError) when JIT'ed code (-client, -server) is running Message-ID: <20131220230856.64BD262E61@hg.openjdk.java.net> Changeset: 2d3bd90bfad0 Author: iveresov Date: 2013-12-20 13:40 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/hotspot/rev/2d3bd90bfad0 8030070: Test java/io/File/CheckPermission.java fails due to unfinished recursion (java.lang.StackOverflowError) when JIT'ed code (-client,-server) is running Summary: Move null check before klass reference materialization in checkcast Reviewed-by: twisti ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp From forax at univ-mlv.fr Sat Dec 21 04:27:56 2013 From: forax at univ-mlv.fr (Remi Forax) Date: Sat, 21 Dec 2013 13:27:56 +0100 Subject: State of lambda forms stealing stack frames? In-Reply-To: <52B4B1F4.7010802@gmx.org> References: <52B2FB63.7070002@gmx.org> <52B30607.30902@oracle.com> <52B4B1F4.7010802@gmx.org> Message-ID: <52B5894C.3010306@univ-mlv.fr> On 12/20/2013 10:09 PM, Jochen Theodorou wrote: > I know on the jvm languages summit this year many already complained > about this problem. It is not new (this and the additional memory > consumption). I know there have been plans to make lambda forms more > "lean". What I don't know is the progress in that. But from the > reactions so far I take it that there will be no improvement before > the final release candidate. Taking vocation around this time into > account there is less than 30 days left Hi Jochen, the problem is not as awful as you think and moreover part of the problem is the way you test it. I'm pretty sure you have call it directly without any warming up, so your call to fib is first interpreted by the VM, which create a bunch of stack frames, when fib is then compiled to assembly code by the JIT, there is still an awful number of interpreter stack frames on stack which blow the stack at some point. So the cause of the stack overflow is not only the way the lambda forms are initially interpreted but also the fact that in your test you call fib directly. So a way to improve the code is just to do some calls to fib before calling fib with a big value. Now, if you think there is a better way to implement the JSR 292 than lambda forms, please share your ideas. Lambda forms are far from perfect but interpretation of methods with polymorphic signature without growing the stack is not easy. There is something that may work to improve your issue, come to the next JVM Summit and run in circle, shouting 'tailcall, tailcall', I will join you :) cheers, R?mi, > > Am 19.12.2013 15:43, schrieb Vicente-Arturo Romero-Zaldivar: >> Hi Jochen, >> >> Interesting issue but I think the list for this is >> hotspot-dev at openjdk.java.net. >> >> Thanks, >> >> Vicente >> >> >> >> On 19/12/13 13:57, Jochen Theodorou wrote: >>> Hi all, >>> >>> I originally did sent this to another list, so sorry if someone sees >>> this again... but since I got no reaction at all... >>> >>> I wanted to ask what the currrent state of invokedynamic using >>> additional stack frames through lambda forms is. Will there be a >>> jdk1.8.0 without the consumption of stack frames or not? Will there be >>> any at all? Will there be a fix for jdk7? >>> >>> I am seriously afraid of larger systems making use of invokedynamic a >>> lot. To illustrate the gravity of the problem look at this: >>> >>> @groovy.transform.Memoized >>> BigInteger fib(BigInteger x) { >>> x<2?x:fib(x-1)+fib(x-2) >>> } >>> >>> this code will produce some background code resposible for caching >>> results and as such increasing the maximum x. The current >>> implementation >>> could be much better but I show this to compare our old way in Groovy >>> using custom callsite caching with method generation at runtime to >>> invokedynamic. So in the old version I can go up to fib(292) and won't >>> stack overflow. With jdk7u25 and indy this is similiar, even though >>> slightly less. But with later versions of jdk7 and jdk8 the maximum of >>> the indy version is fib(45)... 5-6 times less. Since the results are >>> cached it is really only like going down one side of a tree of >>> calculations here, meaning if I need the double amount of stack frames, >>> it will half x. >>> >>> Are there any real plans to improve the situation? >>> >>> bye Jochen >>> >> > > From blackdrag at gmx.org Sat Dec 21 07:17:46 2013 From: blackdrag at gmx.org (Jochen Theodorou) Date: Sat, 21 Dec 2013 16:17:46 +0100 Subject: State of lambda forms stealing stack frames? In-Reply-To: <52B5894C.3010306@univ-mlv.fr> References: <52B2FB63.7070002@gmx.org> <52B30607.30902@oracle.com> <52B4B1F4.7010802@gmx.org> <52B5894C.3010306@univ-mlv.fr> Message-ID: <52B5B11A.3040403@gmx.org> Am 21.12.2013 13:27, schrieb Remi Forax: [...] > the problem is not as awful as you think and moreover part of the > problem is the way you test it. > I'm pretty sure you have call it directly without any warming up, > so your call to fib is first interpreted by the VM, which create a bunch > of stack frames, > when fib is then compiled to assembly code by the JIT, there is still an > awful number of interpreter stack frames on stack which blow the stack > at some point. > So the cause of the stack overflow is not only the way the lambda forms > are initially interpreted but also the fact that in your test you call > fib directly. > > So a way to improve the code is just to do some calls to fib before > calling fib with a big value. well... I guess I need a different test for this then. In my test I do fib with memoization. Of course if it blows up for fib(45) initially it won't if I first do fib(44) and then fib(45). That is not because the JIT is doing some magic here, it is because then all results till 44 are memoized and I the cached values for the recursive fib(44) and fib(43) values instead of walking down the path again. If I first call fib(44) and then fib(45) without memoization, then it takes much to long to calculate all those BigIntegers. > Now, if you think there is a better way to implement the JSR 292 than > lambda forms, > please share your ideas. Lambda forms are far from perfect but > interpretation of methods with polymorphic signature without growing the > stack is not easy. After the intial invokedynamic was completed I never looked at the details of the implementation from a implementors perspective anymore, only from the pov of a user. I can't say that I would have a better idea. I thought there had been ideas. But I take your comment that my information is wrong, or that they did not work out. > There is something that may work to improve your issue, come to the next > JVM Summit and run in circle, shouting 'tailcall, tailcall', I will join > you :) You mean to say many of the lambda forms are actually tailcalls? bye blackdrag -- Jochen "blackdrag" Theodorou - Groovy Project Tech Lead blog: http://blackdragsview.blogspot.com/ german groovy discussion newsgroup: de.comp.lang.misc For Groovy programming sources visit http://groovy-lang.org From blackdrag at gmx.org Sat Dec 21 08:12:55 2013 From: blackdrag at gmx.org (Jochen Theodorou) Date: Sat, 21 Dec 2013 17:12:55 +0100 Subject: State of lambda forms stealing stack frames? In-Reply-To: <52B5B11A.3040403@gmx.org> References: <52B2FB63.7070002@gmx.org> <52B30607.30902@oracle.com> <52B4B1F4.7010802@gmx.org> <52B5894C.3010306@univ-mlv.fr> <52B5B11A.3040403@gmx.org> Message-ID: <52B5BE07.8080106@gmx.org> Am 21.12.2013 16:17, schrieb Jochen Theodorou: [...] > If I first call fib(44) and then fib(45) without memoization, then it > takes much to long to calculate all those BigIntegers. just for the record... fib(45) indeed works then. I did not test a higher number, because unlike with int, using BigInteger those operations take their sweet time. bye Jochen -- Jochen "blackdrag" Theodorou - Groovy Project Tech Lead blog: http://blackdragsview.blogspot.com/ german groovy discussion newsgroup: de.comp.lang.misc For Groovy programming sources visit http://groovy-lang.org From dmitry.samersoff at oracle.com Sat Dec 21 08:34:55 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Sat, 21 Dec 2013 20:34:55 +0400 Subject: RR(S) 8030941: Darwin mapfile-vers doesn't work for other BSD Message-ID: <52B5C32F.1070302@oracle.com> Hi Everybody, I'd debug out last blocker for clear build of hotspot on FreeBSD. Darwin's mapfile-vers couldn't be used for FreeBSD (and probably other BSDs) so changed makefiles to use generic one if we are not on Darwin. http://cr.openjdk.java.net/~dsamersoff/JDK-8030941/webrev.01/ PS: As mapfile-vers is essentially the same for all platforms except Darwin it might make sense to create a separate directory and put it to a single place. -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * I would love to change the world, but they won't give me the sources. From vladimir.kozlov at oracle.com Mon Dec 23 12:00:40 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 23 Dec 2013 12:00:40 -0800 Subject: RFR (M): 8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms In-Reply-To: <4295855A5C1DE049A61835A1887419CC2CE72126@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC2CE72126@DEWDFEMB12A.global.corp.sap> Message-ID: <52B89668.5050405@oracle.com> Goetz, Can you explain the problem in details? When you say 'during expand' do you mean 'during postalloc_expand'? Because normal expand happens during matching. And I did not get how it is related to derived/base pairs. Thanks, Vladimir On 12/20/13 7:20 AM, Lindenmaier, Goetz wrote: > Hi, > > The change "8028580: PPC64 (part 114/120): Support for Call nodes with constants. " > adds MachConstantBase node for Calls at req()-1 during > expand. Register allocation adds the derived/base pairs and then > uses the wrong register maps for allocation, because the MachConstantBase > node is no more at req()-1 > > Now add the edge in the matcher when the node is complete. Add it > after parameters and before jvms. Adapt jvms offsets. Also assure > jvms is always cloned, else the offset gets wrong. > > So far, $constanttablebase is only used in Calls on PPC, so this has no effect on > other platforms. > > Please review and test this change. > http://cr.openjdk.java.net/~goetz/webrevs/8030863-0-call/ > > Best regards, > Goetz. > From yumin.qi at oracle.com Mon Dec 23 12:07:59 2013 From: yumin.qi at oracle.com (yumin.qi at oracle.com) Date: Mon, 23 Dec 2013 20:07:59 +0000 Subject: hg: hsx/jdk7u/hotspot: 7191817: -XX:+UseSerialGC -XX:+UseLargePages crashes with SIGFPE on MacOS X Message-ID: <20131223200801.6E90562EB8@hg.openjdk.java.net> Changeset: 92083784035a Author: minqi Date: 2013-12-23 09:31 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/hotspot/rev/92083784035a 7191817: -XX:+UseSerialGC -XX:+UseLargePages crashes with SIGFPE on MacOS X Summary: Large pages not supported on bsd platforms. Disable UseLargePages on all bsd platforms. Reviewed-by: coleenp, hseigel, zgu ! src/share/vm/runtime/arguments.cpp From vladimir.kozlov at oracle.com Mon Dec 23 14:40:04 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 23 Dec 2013 14:40:04 -0800 Subject: RFR (M): 8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms In-Reply-To: <52B89668.5050405@oracle.com> References: <4295855A5C1DE049A61835A1887419CC2CE72126@DEWDFEMB12A.global.corp.sap> <52B89668.5050405@oracle.com> Message-ID: <52B8BBC4.9030201@oracle.com> JPRT test job passed with these changes. Vladimir On 12/23/13 12:00 PM, Vladimir Kozlov wrote: > Goetz, > > Can you explain the problem in details? When you say 'during expand' do > you mean 'during postalloc_expand'? Because normal expand happens during > matching. And I did not get how it is related to derived/base pairs. > > Thanks, > Vladimir > > On 12/20/13 7:20 AM, Lindenmaier, Goetz wrote: >> Hi, >> >> The change "8028580: PPC64 (part 114/120): Support for Call nodes with >> constants. " >> adds MachConstantBase node for Calls at req()-1 during >> expand. Register allocation adds the derived/base pairs and then >> uses the wrong register maps for allocation, because the MachConstantBase >> node is no more at req()-1 >> >> Now add the edge in the matcher when the node is complete. Add it >> after parameters and before jvms. Adapt jvms offsets. Also assure >> jvms is always cloned, else the offset gets wrong. >> >> So far, $constanttablebase is only used in Calls on PPC, so this has >> no effect on >> other platforms. >> >> Please review and test this change. >> http://cr.openjdk.java.net/~goetz/webrevs/8030863-0-call/ >> >> Best regards, >> Goetz. >> From christian.thalinger at oracle.com Mon Dec 23 19:16:38 2013 From: christian.thalinger at oracle.com (christian.thalinger at oracle.com) Date: Tue, 24 Dec 2013 03:16:38 +0000 Subject: hg: hsx/jdk7u/hotspot: 8029366: ShouldNotReachHere error when creating an array with component type of void Message-ID: <20131224031646.64EAF62EDA@hg.openjdk.java.net> Changeset: a59134ccb1b7 Author: twisti Date: 2013-12-06 16:43 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/hotspot/rev/a59134ccb1b7 8029366: ShouldNotReachHere error when creating an array with component type of void Reviewed-by: kvn ! src/share/vm/opto/memnode.cpp + test/compiler/reflection/ArrayNewInstanceOfVoid.java From mikael.vidstedt at oracle.com Tue Dec 24 11:50:41 2013 From: mikael.vidstedt at oracle.com (Mikael Vidstedt) Date: Tue, 24 Dec 2013 11:50:41 -0800 Subject: RFR (S): 8029233: Update copyright year to match last edit in jdk8 hotspot repository for 2013 In-Reply-To: References: <52AB9094.10104@oracle.com> <87CFF238-84E3-4E2B-833C-48E44350B793@oracle.com> Message-ID: <52B9E591.3040408@oracle.com> Chris/Igor - thanks for the reviews! Cheers, Mikael On 2013-12-19 17:24, Igor Veresov wrote: > Good. > > igor > > On Dec 19, 2013, at 1:49 AM, Mikael Vidstedt wrote: > >> Thanks Chris! One more pretty please? >> >> Cheers, >> Mikael >> >>> On Dec 13, 2013, at 15:53, Christian Thalinger wrote: >>> >>> Looks good. >>> >>>> On Dec 13, 2013, at 2:56 PM, Mikael Vidstedt wrote: >>>> >>>> >>>> All, >>>> >>>> It's that time of the year. Can I please get a couple of reviews of the below: >>>> >>>> http://cr.openjdk.java.net/~mikael/webrevs/copyright2013/webrev.01/webrev >>>> >>>> Thanks, >>>> Mikael From goetz.lindenmaier at sap.com Tue Dec 24 15:25:12 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Tue, 24 Dec 2013 23:25:12 +0000 Subject: RFR (M): 8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms In-Reply-To: <52B89668.5050405@oracle.com> References: <4295855A5C1DE049A61835A1887419CC2CE72126@DEWDFEMB12A.global.corp.sap> <52B89668.5050405@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC2CE7279C@DEWDFEMB12A.global.corp.sap> Hi Vladimir, yes, I meant postalloc expand. I was aware of the problem with jvms and build_oop_map, i.e., that you spoil build_oop_map if you add an edge and don't somehow tell build_oop_map where to find the derived base pairs after that. But as I replace the node by an other one without the edge during postalloc expand, I figured I'd be safe. But, as regalloc added the derived base edges behind the one I added, req()-1 pointed to the last base edge, and I would have removed the wrong edge. For the same reason, regalloc associated the register mask I supplied for the ConstTableBase for the node at req()-1, again the base edge of a derived/base pair. So I need a fixed position, which is now between the args and the edges for jvms. Best regards, Goetz. -----Original Message----- From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] Sent: Monday, December 23, 2013 9:01 PM To: Lindenmaier, Goetz; 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' Subject: Re: RFR (M): 8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms Goetz, Can you explain the problem in details? When you say 'during expand' do you mean 'during postalloc_expand'? Because normal expand happens during matching. And I did not get how it is related to derived/base pairs. Thanks, Vladimir On 12/20/13 7:20 AM, Lindenmaier, Goetz wrote: > Hi, > > The change "8028580: PPC64 (part 114/120): Support for Call nodes with constants. " > adds MachConstantBase node for Calls at req()-1 during > expand. Register allocation adds the derived/base pairs and then > uses the wrong register maps for allocation, because the MachConstantBase > node is no more at req()-1 > > Now add the edge in the matcher when the node is complete. Add it > after parameters and before jvms. Adapt jvms offsets. Also assure > jvms is always cloned, else the offset gets wrong. > > So far, $constanttablebase is only used in Calls on PPC, so this has no effect on > other platforms. > > Please review and test this change. > http://cr.openjdk.java.net/~goetz/webrevs/8030863-0-call/ > > Best regards, > Goetz. > From goetz.lindenmaier at sap.com Tue Dec 24 15:26:07 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Tue, 24 Dec 2013 23:26:07 +0000 Subject: RFR (M): 8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms In-Reply-To: <52B8BBC4.9030201@oracle.com> References: <4295855A5C1DE049A61835A1887419CC2CE72126@DEWDFEMB12A.global.corp.sap> <52B89668.5050405@oracle.com> <52B8BBC4.9030201@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC2CE727D8@DEWDFEMB12A.global.corp.sap> Thanks a lot! Best regards, Goetz. -----Original Message----- From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] Sent: Monday, December 23, 2013 11:40 PM To: Lindenmaier, Goetz; 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' Subject: Re: RFR (M): 8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms JPRT test job passed with these changes. Vladimir On 12/23/13 12:00 PM, Vladimir Kozlov wrote: > Goetz, > > Can you explain the problem in details? When you say 'during expand' do > you mean 'during postalloc_expand'? Because normal expand happens during > matching. And I did not get how it is related to derived/base pairs. > > Thanks, > Vladimir > > On 12/20/13 7:20 AM, Lindenmaier, Goetz wrote: >> Hi, >> >> The change "8028580: PPC64 (part 114/120): Support for Call nodes with >> constants. " >> adds MachConstantBase node for Calls at req()-1 during >> expand. Register allocation adds the derived/base pairs and then >> uses the wrong register maps for allocation, because the MachConstantBase >> node is no more at req()-1 >> >> Now add the edge in the matcher when the node is complete. Add it >> after parameters and before jvms. Adapt jvms offsets. Also assure >> jvms is always cloned, else the offset gets wrong. >> >> So far, $constanttablebase is only used in Calls on PPC, so this has >> no effect on >> other platforms. >> >> Please review and test this change. >> http://cr.openjdk.java.net/~goetz/webrevs/8030863-0-call/ >> >> Best regards, >> Goetz. >> From john.coomes at oracle.com Tue Dec 24 22:16:37 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Wed, 25 Dec 2013 06:16:37 +0000 Subject: hg: hsx/jdk7u/corba: Added tag jdk7u60-b02 for changeset d81370c5b863 Message-ID: <20131225061648.DA52062F09@hg.openjdk.java.net> Changeset: ef91f016f711 Author: katleman Date: 2013-12-18 15:56 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/corba/rev/ef91f016f711 Added tag jdk7u60-b02 for changeset d81370c5b863 ! .hgtags From john.coomes at oracle.com Tue Dec 24 22:17:24 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Wed, 25 Dec 2013 06:17:24 +0000 Subject: hg: hsx/jdk7u/jaxp: Added tag jdk7u60-b02 for changeset 050986fd54e3 Message-ID: <20131225061736.8566862F0A@hg.openjdk.java.net> Changeset: 9a25d3fb6e09 Author: katleman Date: 2013-12-18 15:56 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/jaxp/rev/9a25d3fb6e09 Added tag jdk7u60-b02 for changeset 050986fd54e3 ! .hgtags From john.coomes at oracle.com Tue Dec 24 22:17:58 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Wed, 25 Dec 2013 06:17:58 +0000 Subject: hg: hsx/jdk7u/jaxws: Added tag jdk7u60-b02 for changeset 8a3b9e8492a5 Message-ID: <20131225061810.6931962F0B@hg.openjdk.java.net> Changeset: a57f209a4a5a Author: katleman Date: 2013-12-18 15:56 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/jaxws/rev/a57f209a4a5a Added tag jdk7u60-b02 for changeset 8a3b9e8492a5 ! .hgtags From john.coomes at oracle.com Tue Dec 24 22:18:32 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Wed, 25 Dec 2013 06:18:32 +0000 Subject: hg: hsx/jdk7u/jdk: Added tag jdk7u60-b02 for changeset ff67c8965852 Message-ID: <20131225061959.BC2EF62F0C@hg.openjdk.java.net> Changeset: fbe6fa9fb6c6 Author: katleman Date: 2013-12-18 15:56 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/fbe6fa9fb6c6 Added tag jdk7u60-b02 for changeset ff67c8965852 ! .hgtags From john.coomes at oracle.com Tue Dec 24 22:20:32 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Wed, 25 Dec 2013 06:20:32 +0000 Subject: hg: hsx/jdk7u/langtools: Added tag jdk7u60-b02 for changeset 954e1616449a Message-ID: <20131225062045.C869062F0D@hg.openjdk.java.net> Changeset: fe632c04a452 Author: katleman Date: 2013-12-18 15:57 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/langtools/rev/fe632c04a452 Added tag jdk7u60-b02 for changeset 954e1616449a ! .hgtags From john.coomes at oracle.com Tue Dec 24 22:16:29 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Wed, 25 Dec 2013 06:16:29 +0000 Subject: hg: hsx/jdk7u: Added tag jdk7u60-b02 for changeset 6bdacebbc97f Message-ID: <20131225061629.E549F62F07@hg.openjdk.java.net> Changeset: be9f82c65e80 Author: katleman Date: 2013-12-18 15:56 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/rev/be9f82c65e80 Added tag jdk7u60-b02 for changeset 6bdacebbc97f ! .hgtags From christian.thalinger at oracle.com Wed Dec 25 11:43:14 2013 From: christian.thalinger at oracle.com (christian.thalinger at oracle.com) Date: Wed, 25 Dec 2013 19:43:14 +0000 Subject: hg: hsx/hotspot-main/hotspot: 8029233: Update copyright year to match last edit in jdk8 hotspot repository for 2013 Message-ID: <20131225194317.3B96A62F13@hg.openjdk.java.net> Changeset: 55fb97c4c58d Author: mikael Date: 2013-12-24 11:48 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/55fb97c4c58d 8029233: Update copyright year to match last edit in jdk8 hotspot repository for 2013 Summary: Copyright year updated for files modified during 2013 Reviewed-by: twisti, iveresov ! agent/make/Makefile ! agent/src/os/linux/libproc.h ! agent/src/os/linux/salibelf.c ! agent/src/os/linux/symtab.c ! agent/src/os/solaris/proc/saproc.cpp ! agent/src/os/win32/windbg/sawindbg.cpp ! agent/src/share/classes/sun/jvm/hotspot/CLHSDB.java ! agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java ! agent/src/share/classes/sun/jvm/hotspot/HSDB.java ! agent/src/share/classes/sun/jvm/hotspot/LinuxVtblAccess.java ! agent/src/share/classes/sun/jvm/hotspot/asm/Disassembler.java ! agent/src/share/classes/sun/jvm/hotspot/ci/ciEnv.java ! agent/src/share/classes/sun/jvm/hotspot/ci/ciMethod.java ! agent/src/share/classes/sun/jvm/hotspot/code/NMethod.java ! agent/src/share/classes/sun/jvm/hotspot/compiler/CompileTask.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdAddress.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxAddress.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxOopHandle.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/x86/LinuxX86CFrame.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgCDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgDebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windows/amd64/WindowsAMD64CFrame.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windows/x86/WindowsX86CFrame.java ! agent/src/share/classes/sun/jvm/hotspot/jdi/JVMTIThreadState.java ! agent/src/share/classes/sun/jvm/hotspot/memory/CMSCollector.java ! agent/src/share/classes/sun/jvm/hotspot/memory/DictionaryEntry.java ! agent/src/share/classes/sun/jvm/hotspot/memory/SymbolTable.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ArrayKlass.java ! agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java ! agent/src/share/classes/sun/jvm/hotspot/oops/Klass.java ! agent/src/share/classes/sun/jvm/hotspot/oops/MethodCounters.java ! agent/src/share/classes/sun/jvm/hotspot/oops/MethodData.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java ! agent/src/share/classes/sun/jvm/hotspot/opto/PhaseCFG.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/ThreadLocalAllocBuffer.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/bsd_amd64/BsdAMD64JavaThreadPDAccess.java ! agent/src/share/classes/sun/jvm/hotspot/tools/FinalizerInfo.java ! agent/src/share/classes/sun/jvm/hotspot/tools/FlagDumper.java ! agent/src/share/classes/sun/jvm/hotspot/tools/HeapDumper.java ! agent/src/share/classes/sun/jvm/hotspot/tools/HeapSummary.java ! agent/src/share/classes/sun/jvm/hotspot/tools/JInfo.java ! agent/src/share/classes/sun/jvm/hotspot/tools/JSnap.java ! agent/src/share/classes/sun/jvm/hotspot/tools/JStack.java ! agent/src/share/classes/sun/jvm/hotspot/tools/ObjectHistogram.java ! agent/src/share/classes/sun/jvm/hotspot/tools/PMap.java ! agent/src/share/classes/sun/jvm/hotspot/tools/StackTrace.java ! agent/src/share/classes/sun/jvm/hotspot/tools/SysPropsDumper.java ! agent/src/share/classes/sun/jvm/hotspot/tools/Tool.java ! agent/src/share/classes/sun/jvm/hotspot/tools/soql/JSDB.java ! agent/src/share/classes/sun/jvm/hotspot/tools/soql/SOQL.java ! agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicTypeDataBase.java ! agent/src/share/classes/sun/jvm/hotspot/ui/SAPanel.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/AbstractHeapGraphWriter.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/HeapGXLWriter.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaInstanceKlass.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/soql/sa.js ! make/bsd/makefiles/adlc.make ! make/bsd/makefiles/minimal1.make ! make/hotspot.script ! make/linux/makefiles/adlc.make ! make/linux/makefiles/jsig.make ! make/linux/makefiles/minimal1.make ! make/linux/makefiles/saproc.make ! make/sa.files ! make/solaris/makefiles/adlc.make ! make/solaris/makefiles/gcc.make ! make/windows/build_vm_def.sh ! make/windows/makefiles/adlc.make ! make/windows/makefiles/debug.make ! make/windows/makefiles/product.make ! make/windows/makefiles/rules.make ! make/windows/makefiles/sa.make ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/assembler_sparc.inline.hpp ! src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp ! src/cpu/sparc/vm/c1_FrameMap_sparc.cpp ! src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp ! src/cpu/sparc/vm/c1_globals_sparc.hpp ! src/cpu/sparc/vm/c2_globals_sparc.hpp ! src/cpu/sparc/vm/c2_init_sparc.cpp ! src/cpu/sparc/vm/disassembler_sparc.hpp ! src/cpu/sparc/vm/frame_sparc.inline.hpp ! src/cpu/sparc/vm/globalDefinitions_sparc.hpp ! src/cpu/sparc/vm/globals_sparc.hpp ! src/cpu/sparc/vm/jni_sparc.h ! src/cpu/sparc/vm/nativeInst_sparc.hpp ! src/cpu/sparc/vm/register_sparc.hpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/stubRoutines_sparc.cpp ! src/cpu/sparc/vm/stubRoutines_sparc.hpp ! src/cpu/sparc/vm/vmStructs_sparc.hpp ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.hpp ! src/cpu/x86/vm/bytecodeInterpreter_x86.cpp ! src/cpu/x86/vm/c1_CodeStubs_x86.cpp ! src/cpu/x86/vm/c1_FrameMap_x86.cpp ! src/cpu/x86/vm/c1_FrameMap_x86.hpp ! src/cpu/x86/vm/c1_LinearScan_x86.cpp ! src/cpu/x86/vm/c1_MacroAssembler_x86.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/c1_globals_x86.hpp ! src/cpu/x86/vm/c2_globals_x86.hpp ! src/cpu/x86/vm/frame_x86.hpp ! src/cpu/x86/vm/frame_x86.inline.hpp ! src/cpu/x86/vm/globalDefinitions_x86.hpp ! src/cpu/x86/vm/register_definitions_x86.cpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/x86/vm/templateInterpreter_x86.hpp ! src/cpu/x86/vm/vmStructs_x86.hpp ! src/cpu/x86/vm/vtableStubs_x86_32.cpp ! src/cpu/x86/vm/vtableStubs_x86_64.cpp ! src/cpu/zero/vm/assembler_zero.cpp ! src/cpu/zero/vm/cppInterpreter_zero.cpp ! src/cpu/zero/vm/entryFrame_zero.hpp ! src/cpu/zero/vm/frame_zero.cpp ! src/cpu/zero/vm/frame_zero.inline.hpp ! src/cpu/zero/vm/globals_zero.hpp ! src/cpu/zero/vm/icBuffer_zero.cpp ! src/cpu/zero/vm/interp_masm_zero.hpp ! src/cpu/zero/vm/interpreter_zero.cpp ! src/cpu/zero/vm/jni_zero.h ! src/cpu/zero/vm/nativeInst_zero.hpp ! src/cpu/zero/vm/register_zero.cpp ! src/cpu/zero/vm/relocInfo_zero.cpp ! src/cpu/zero/vm/sharedRuntime_zero.cpp ! src/cpu/zero/vm/sharkFrame_zero.hpp ! src/cpu/zero/vm/stubGenerator_zero.cpp ! src/cpu/zero/vm/vmStructs_zero.hpp ! src/cpu/zero/vm/vtableStubs_zero.cpp ! src/os/bsd/dtrace/jvm_dtrace.c ! src/os/posix/vm/os_posix.hpp ! src/os/solaris/dtrace/jvm_dtrace.c ! src/os/solaris/vm/globals_solaris.hpp ! src/os/windows/vm/decoder_windows.hpp ! src/os_cpu/bsd_x86/vm/bsd_x86_32.s ! src/os_cpu/bsd_x86/vm/bsd_x86_64.s ! src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp ! src/os_cpu/bsd_x86/vm/vmStructs_bsd_x86.hpp ! src/os_cpu/bsd_zero/vm/globals_bsd_zero.hpp ! src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp ! src/os_cpu/bsd_zero/vm/thread_bsd_zero.hpp ! src/os_cpu/bsd_zero/vm/vmStructs_bsd_zero.hpp ! src/os_cpu/linux_sparc/vm/globals_linux_sparc.hpp ! src/os_cpu/linux_sparc/vm/linux_sparc.s ! src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp ! src/os_cpu/linux_sparc/vm/vmStructs_linux_sparc.hpp ! src/os_cpu/linux_x86/vm/globals_linux_x86.hpp ! src/os_cpu/linux_x86/vm/linux_x86_32.s ! src/os_cpu/linux_x86/vm/linux_x86_64.s ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.hpp ! src/os_cpu/linux_x86/vm/vmStructs_linux_x86.hpp ! src/os_cpu/linux_zero/vm/globals_linux_zero.hpp ! src/os_cpu/linux_zero/vm/os_linux_zero.cpp ! src/os_cpu/linux_zero/vm/vmStructs_linux_zero.hpp ! src/os_cpu/solaris_sparc/vm/globals_solaris_sparc.hpp ! src/os_cpu/solaris_sparc/vm/solaris_sparc.il ! src/os_cpu/solaris_sparc/vm/solaris_sparc.s ! src/os_cpu/solaris_sparc/vm/vmStructs_solaris_sparc.hpp ! src/os_cpu/solaris_x86/vm/globals_solaris_x86.hpp ! src/os_cpu/solaris_x86/vm/solaris_x86_32.s ! src/os_cpu/solaris_x86/vm/solaris_x86_64.s ! src/os_cpu/solaris_x86/vm/vmStructs_solaris_x86.hpp ! src/os_cpu/windows_x86/vm/globals_windows_x86.hpp ! src/os_cpu/windows_x86/vm/os_windows_x86.cpp ! src/os_cpu/windows_x86/vm/os_windows_x86.hpp ! src/os_cpu/windows_x86/vm/vmStructs_windows_x86.hpp ! src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/CallSite.java ! src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogParser.java ! src/share/tools/ProjectCreator/WinGammaPlatformVC7.java ! src/share/tools/hsdis/hsdis.c ! src/share/vm/adlc/adlparse.cpp ! src/share/vm/adlc/archDesc.cpp ! src/share/vm/adlc/dfa.cpp ! src/share/vm/adlc/dict2.cpp ! src/share/vm/adlc/formssel.cpp ! src/share/vm/adlc/formssel.hpp ! src/share/vm/adlc/output_c.cpp ! src/share/vm/adlc/output_h.cpp ! src/share/vm/asm/assembler.cpp ! src/share/vm/asm/assembler.hpp ! src/share/vm/asm/codeBuffer.cpp ! src/share/vm/asm/macroAssembler.hpp ! src/share/vm/asm/macroAssembler.inline.hpp ! src/share/vm/c1/c1_Canonicalizer.cpp ! src/share/vm/c1/c1_Canonicalizer.hpp ! src/share/vm/c1/c1_CodeStubs.hpp ! src/share/vm/c1/c1_Compilation.cpp ! src/share/vm/c1/c1_Compiler.cpp ! src/share/vm/c1/c1_Compiler.hpp ! src/share/vm/c1/c1_FrameMap.cpp ! src/share/vm/c1/c1_FrameMap.hpp ! src/share/vm/c1/c1_GraphBuilder.hpp ! src/share/vm/c1/c1_IR.cpp ! src/share/vm/c1/c1_IR.hpp ! src/share/vm/c1/c1_Instruction.cpp ! src/share/vm/c1/c1_InstructionPrinter.hpp ! src/share/vm/c1/c1_LIRAssembler.cpp ! src/share/vm/c1/c1_LinearScan.cpp ! src/share/vm/c1/c1_Optimizer.cpp ! src/share/vm/c1/c1_RangeCheckElimination.cpp ! src/share/vm/c1/c1_RangeCheckElimination.hpp ! src/share/vm/c1/c1_Runtime1.hpp ! src/share/vm/c1/c1_ValueMap.cpp ! src/share/vm/c1/c1_ValueMap.hpp ! src/share/vm/c1/c1_globals.cpp ! src/share/vm/c1/c1_globals.hpp ! src/share/vm/ci/bcEscapeAnalyzer.cpp ! src/share/vm/ci/bcEscapeAnalyzer.hpp ! src/share/vm/ci/ciArray.cpp ! src/share/vm/ci/ciArray.hpp ! src/share/vm/ci/ciClassList.hpp ! src/share/vm/ci/ciConstant.hpp ! src/share/vm/ci/ciEnv.hpp ! src/share/vm/ci/ciFlags.hpp ! src/share/vm/ci/ciInstance.cpp ! src/share/vm/ci/ciInstanceKlass.hpp ! src/share/vm/ci/ciKlass.cpp ! src/share/vm/ci/ciKlass.hpp ! src/share/vm/ci/ciMethodData.cpp ! src/share/vm/ci/ciMethodData.hpp ! src/share/vm/ci/ciObjArrayKlass.cpp ! src/share/vm/ci/ciObjArrayKlass.hpp ! src/share/vm/ci/ciObjectFactory.cpp ! src/share/vm/ci/ciObjectFactory.hpp ! src/share/vm/ci/ciStreams.hpp ! src/share/vm/ci/ciType.cpp ! src/share/vm/ci/ciType.hpp ! src/share/vm/ci/ciTypeArray.cpp ! src/share/vm/ci/ciTypeArrayKlass.hpp ! src/share/vm/ci/ciTypeFlow.cpp ! src/share/vm/ci/ciUtilities.hpp ! src/share/vm/classfile/bytecodeAssembler.cpp ! src/share/vm/classfile/classFileStream.cpp ! src/share/vm/classfile/classFileStream.hpp ! src/share/vm/classfile/classLoaderData.inline.hpp ! src/share/vm/classfile/vmSymbols.cpp ! src/share/vm/code/compiledIC.hpp ! src/share/vm/code/compressedStream.cpp ! src/share/vm/code/debugInfo.hpp ! src/share/vm/code/icBuffer.hpp ! src/share/vm/code/relocInfo.cpp ! src/share/vm/code/stubs.cpp ! src/share/vm/code/stubs.hpp ! src/share/vm/compiler/abstractCompiler.cpp ! src/share/vm/compiler/abstractCompiler.hpp ! src/share/vm/compiler/compileLog.cpp ! src/share/vm/compiler/compileLog.hpp ! src/share/vm/compiler/compilerOracle.cpp ! src/share/vm/compiler/disassembler.cpp ! src/share/vm/compiler/disassembler.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/adaptiveFreeList.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/adaptiveFreeList.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.hpp ! src/share/vm/gc_implementation/g1/collectionSetChooser.cpp ! src/share/vm/gc_implementation/g1/collectionSetChooser.hpp ! src/share/vm/gc_implementation/g1/g1AllocRegion.hpp ! src/share/vm/gc_implementation/g1/g1BlockOffsetTable.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp ! src/share/vm/gc_implementation/g1/g1EvacFailure.hpp ! src/share/vm/gc_implementation/g1/g1MonitoringSupport.cpp ! src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.hpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.cpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.hpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.inline.hpp ! src/share/vm/gc_implementation/g1/ptrQueue.cpp ! src/share/vm/gc_implementation/g1/ptrQueue.hpp ! src/share/vm/gc_implementation/g1/sparsePRT.cpp ! src/share/vm/gc_implementation/g1/sparsePRT.hpp ! src/share/vm/gc_implementation/g1/vmStructs_g1.hpp ! src/share/vm/gc_implementation/parNew/parCardTableModRefBS.cpp ! src/share/vm/gc_implementation/parallelScavenge/adjoiningGenerations.cpp ! src/share/vm/gc_implementation/parallelScavenge/adjoiningGenerations.hpp ! src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.hpp ! src/share/vm/gc_implementation/parallelScavenge/asPSYoungGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/gcTaskThread.cpp ! src/share/vm/gc_implementation/parallelScavenge/objectStartArray.cpp ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.hpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.hpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.cpp ! src/share/vm/gc_implementation/parallelScavenge/psOldGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/psOldGen.hpp ! src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp ! src/share/vm/gc_implementation/parallelScavenge/psTasks.hpp ! src/share/vm/gc_implementation/parallelScavenge/psYoungGen.cpp ! src/share/vm/gc_implementation/shared/allocationStats.cpp ! 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/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.cpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.hpp ! src/share/vm/gc_implementation/shared/mutableSpace.cpp ! src/share/vm/gc_implementation/shared/parGCAllocBuffer.hpp ! src/share/vm/gc_implementation/shared/spaceCounters.cpp ! src/share/vm/gc_implementation/shared/spaceCounters.hpp ! src/share/vm/gc_interface/collectedHeap.inline.hpp ! src/share/vm/gc_interface/gcCause.cpp ! src/share/vm/gc_interface/gcCause.hpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/interpreter/cppInterpreter.hpp ! src/share/vm/interpreter/interpreter.hpp ! src/share/vm/interpreter/templateInterpreter.hpp ! src/share/vm/interpreter/templateInterpreterGenerator.hpp ! src/share/vm/interpreter/templateTable.hpp ! src/share/vm/memory/binaryTreeDictionary.hpp ! src/share/vm/memory/blockOffsetTable.cpp ! src/share/vm/memory/freeBlockDictionary.cpp ! src/share/vm/memory/freeList.cpp ! src/share/vm/memory/freeList.hpp ! src/share/vm/memory/gcLocker.cpp ! src/share/vm/memory/gcLocker.hpp ! src/share/vm/memory/genRemSet.cpp ! src/share/vm/memory/genRemSet.hpp ! src/share/vm/memory/generation.hpp ! src/share/vm/memory/generationSpec.cpp ! src/share/vm/memory/heap.hpp ! src/share/vm/memory/iterator.cpp ! src/share/vm/memory/iterator.hpp ! src/share/vm/memory/metaspaceCounters.cpp ! src/share/vm/memory/metaspaceCounters.hpp ! src/share/vm/memory/sharedHeap.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/oops/arrayKlass.cpp ! src/share/vm/oops/arrayOop.hpp ! src/share/vm/oops/compiledICHolder.cpp ! src/share/vm/oops/fieldInfo.hpp ! src/share/vm/oops/instanceClassLoaderKlass.cpp ! src/share/vm/oops/instanceClassLoaderKlass.hpp ! src/share/vm/oops/instanceMirrorKlass.cpp ! src/share/vm/oops/instanceOop.hpp ! src/share/vm/oops/instanceRefKlass.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.pcgc.inline.hpp ! src/share/vm/oops/oop.psgc.inline.hpp ! src/share/vm/oops/typeArrayKlass.cpp ! src/share/vm/oops/typeArrayKlass.hpp ! src/share/vm/opto/block.cpp ! src/share/vm/opto/block.hpp ! src/share/vm/opto/buildOopMap.cpp ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/c2compiler.cpp ! src/share/vm/opto/c2compiler.hpp ! src/share/vm/opto/callGenerator.cpp ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/chaitin.hpp ! src/share/vm/opto/classes.cpp ! src/share/vm/opto/classes.hpp ! src/share/vm/opto/coalesce.hpp ! src/share/vm/opto/connode.cpp ! src/share/vm/opto/doCall.cpp ! src/share/vm/opto/domgraph.cpp ! src/share/vm/opto/gcm.cpp ! src/share/vm/opto/generateOptoStub.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/graphKit.hpp ! src/share/vm/opto/idealKit.cpp ! src/share/vm/opto/idealKit.hpp ! src/share/vm/opto/ifg.cpp ! src/share/vm/opto/ifnode.cpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/live.cpp ! src/share/vm/opto/live.hpp ! src/share/vm/opto/loopPredicate.cpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/loopnode.hpp ! src/share/vm/opto/loopopts.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/macro.hpp ! src/share/vm/opto/matcher.hpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/multnode.cpp ! src/share/vm/opto/multnode.hpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/optoreg.hpp ! src/share/vm/opto/output.cpp ! src/share/vm/opto/output.hpp ! src/share/vm/opto/parse.hpp ! src/share/vm/opto/parse1.cpp ! src/share/vm/opto/parse2.cpp ! src/share/vm/opto/phase.cpp ! src/share/vm/opto/phase.hpp ! src/share/vm/opto/phaseX.cpp ! src/share/vm/opto/phaseX.hpp ! src/share/vm/opto/postaloc.cpp ! src/share/vm/opto/reg_split.cpp ! src/share/vm/opto/regalloc.cpp ! src/share/vm/opto/regalloc.hpp ! src/share/vm/opto/subnode.cpp ! src/share/vm/opto/subnode.hpp ! src/share/vm/opto/superword.cpp ! src/share/vm/opto/superword.hpp ! src/share/vm/precompiled/precompiled.hpp ! src/share/vm/prims/forte.cpp ! src/share/vm/prims/jniCheck.cpp ! src/share/vm/prims/jvm_misc.hpp ! src/share/vm/prims/jvmtiClassFileReconstituter.cpp ! src/share/vm/prims/jvmtiClassFileReconstituter.hpp ! src/share/vm/prims/jvmtiEnter.xsl ! src/share/vm/prims/jvmtiEnvBase.hpp ! src/share/vm/prims/jvmtiEnvThreadState.cpp ! src/share/vm/prims/jvmtiEventController.cpp ! src/share/vm/prims/jvmtiExport.hpp ! src/share/vm/prims/jvmtiGetLoadedClasses.cpp ! src/share/vm/prims/jvmtiTrace.hpp ! src/share/vm/prims/nativeLookup.cpp ! src/share/vm/prims/perf.cpp ! src/share/vm/prims/wbtestmethods/parserTests.hpp ! src/share/vm/prims/whitebox.hpp ! src/share/vm/runtime/advancedThresholdPolicy.hpp ! src/share/vm/runtime/atomic.cpp ! src/share/vm/runtime/atomic.hpp ! src/share/vm/runtime/compilationPolicy.hpp ! src/share/vm/runtime/fprofiler.hpp ! src/share/vm/runtime/globals_extension.hpp ! src/share/vm/runtime/handles.inline.hpp ! src/share/vm/runtime/javaCalls.hpp ! src/share/vm/runtime/jniHandles.cpp ! src/share/vm/runtime/mutex.cpp ! src/share/vm/runtime/perfData.hpp ! src/share/vm/runtime/reflection.hpp ! src/share/vm/runtime/sharedRuntime.hpp ! src/share/vm/runtime/signature.cpp ! src/share/vm/runtime/signature.hpp ! src/share/vm/runtime/stubCodeGenerator.cpp ! src/share/vm/runtime/synchronizer.hpp ! src/share/vm/runtime/unhandledOops.hpp ! src/share/vm/runtime/vframe.cpp ! src/share/vm/runtime/vframe.hpp ! src/share/vm/runtime/vframeArray.hpp ! src/share/vm/runtime/virtualspace.hpp ! src/share/vm/runtime/vm_version.hpp ! src/share/vm/services/classLoadingService.hpp ! src/share/vm/services/dtraceAttacher.cpp ! src/share/vm/services/g1MemoryPool.hpp ! src/share/vm/services/memReporter.cpp ! src/share/vm/services/memReporter.hpp ! src/share/vm/services/memSnapshot.hpp ! src/share/vm/services/memoryManager.hpp ! src/share/vm/services/memoryPool.hpp ! src/share/vm/services/memoryService.cpp ! src/share/vm/services/memoryService.hpp ! src/share/vm/services/memoryUsage.hpp ! src/share/vm/services/psMemoryPool.hpp ! src/share/vm/services/threadService.hpp ! src/share/vm/shark/sharkBlock.cpp ! src/share/vm/shark/sharkBuilder.cpp ! src/share/vm/shark/sharkCompiler.cpp ! src/share/vm/shark/sharkCompiler.hpp ! src/share/vm/shark/sharkConstant.cpp ! src/share/vm/shark/sharkFunction.cpp ! src/share/vm/shark/sharkInliner.cpp ! src/share/vm/shark/sharkInvariants.hpp ! src/share/vm/shark/sharkTopLevelBlock.cpp ! src/share/vm/utilities/bitMap.cpp ! src/share/vm/utilities/bitMap.hpp ! src/share/vm/utilities/bitMap.inline.hpp ! src/share/vm/utilities/decoder.cpp ! src/share/vm/utilities/decoder.hpp ! src/share/vm/utilities/elfFile.cpp ! src/share/vm/utilities/elfFile.hpp ! src/share/vm/utilities/exceptions.cpp ! src/share/vm/utilities/globalDefinitions.cpp ! src/share/vm/utilities/globalDefinitions_visCPP.hpp ! src/share/vm/utilities/growableArray.hpp ! src/share/vm/utilities/hashtable.hpp ! src/share/vm/utilities/macros.hpp ! src/share/vm/utilities/numberSeq.cpp ! src/share/vm/utilities/ostream.hpp ! src/share/vm/utilities/top.hpp ! src/share/vm/utilities/yieldingWorkgroup.cpp ! test/Makefile ! test/TEST.ROOT ! test/compiler/5091921/Test7005594.sh ! test/compiler/6431242/Test.java ! test/compiler/6589834/Test_ia32.java ! test/compiler/6636138/Test1.java ! test/compiler/6636138/Test2.java ! test/compiler/6795161/Test.java ! test/compiler/6857159/Test6857159.sh ! test/compiler/7068051/Test7068051.sh ! test/compiler/7070134/Test7070134.sh ! test/compiler/7200264/Test7200264.sh ! test/compiler/8000805/Test8000805.java ! test/compiler/8005419/Test8005419.java ! test/gc/6941923/Test6941923.java ! test/gc/g1/TestHumongousAllocInitialMark.java ! test/runtime/6626217/Test6626217.sh ! test/runtime/7110720/Test7110720.sh ! test/runtime/7162488/Test7162488.sh ! test/runtime/RedefineObject/Agent.java ! test/runtime/RedefineObject/TestRedefineObject.java From vladimir.kozlov at oracle.com Thu Dec 26 15:25:12 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 26 Dec 2013 15:25:12 -0800 Subject: RFR (M): 8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms In-Reply-To: <4295855A5C1DE049A61835A1887419CC2CE7279C@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC2CE72126@DEWDFEMB12A.global.corp.sap> <52B89668.5050405@oracle.com> <4295855A5C1DE049A61835A1887419CC2CE7279C@DEWDFEMB12A.global.corp.sap> Message-ID: <52BCBAD8.2020009@oracle.com> Thank you, now I understand, I think (at least why you can't use req()-1 edge). So the problem exist only for CallDynamicJava but you decided do set new const base edge for all call nodes (except leaf calls which do not have debug info). Right? How it worked before? Expand() was called before all edges are added at the end of Matcher::match_tree(). Why you need to move clone_jvms() from Call node to SafePoint node (changes in node.cpp and callnode.hpp)? Only Call nodes are affected. Add comment that we also need to clone jvms when call node needs to add an edge to MachConstantBaseNode during matching which will require jvms adjustment. I don't like matcher_modifies_jvms name (it is too strong/general statement when it only shifts it). Can it be calls_need_constant_base? It affects almost all calls (even for Leaf calls it will be after arguments), it is more specific and can be used for other purposes. Why you need to declare _matcher_modifies_jvms in FrameForm (changes in formsopt.*)? JVMState::adapt_position(int delta). I would suggest to use a loop as in other places (yes, recursion is not deep, as you pointed, but it could be called with deep stack already): for (JVMState* jvms = this; jvms != NULL; jvms = jvms->caller()) { Thanks, Vladimir On 12/24/13 3:25 PM, Lindenmaier, Goetz wrote: > Hi Vladimir, > > yes, I meant postalloc expand. > I was aware of the problem with jvms and build_oop_map, i.e., > that you spoil build_oop_map if you add an edge and don't somehow > tell build_oop_map where to find the derived base pairs after that. > > But as I replace the node by an other one without the edge during > postalloc expand, I figured I'd be safe. But, as regalloc added the > derived base edges behind the one I added, req()-1 pointed to the > last base edge, and I would have removed the wrong edge. > > For the same reason, regalloc associated the register mask I > supplied for the ConstTableBase for the node at req()-1, again > the base edge of a derived/base pair. > > So I need a fixed position, which is now between the args > and the edges for jvms. > > Best regards, > Goetz. > > > -----Original Message----- > From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] > Sent: Monday, December 23, 2013 9:01 PM > To: Lindenmaier, Goetz; 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' > Subject: Re: RFR (M): 8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms > > Goetz, > > Can you explain the problem in details? When you say 'during expand' do > you mean 'during postalloc_expand'? Because normal expand happens during > matching. And I did not get how it is related to derived/base pairs. > > Thanks, > Vladimir > > On 12/20/13 7:20 AM, Lindenmaier, Goetz wrote: >> Hi, >> >> The change "8028580: PPC64 (part 114/120): Support for Call nodes with constants. " >> adds MachConstantBase node for Calls at req()-1 during >> expand. Register allocation adds the derived/base pairs and then >> uses the wrong register maps for allocation, because the MachConstantBase >> node is no more at req()-1 >> >> Now add the edge in the matcher when the node is complete. Add it >> after parameters and before jvms. Adapt jvms offsets. Also assure >> jvms is always cloned, else the offset gets wrong. >> >> So far, $constanttablebase is only used in Calls on PPC, so this has no effect on >> other platforms. >> >> Please review and test this change. >> http://cr.openjdk.java.net/~goetz/webrevs/8030863-0-call/ >> >> Best regards, >> Goetz. >> From goetz.lindenmaier at sap.com Thu Dec 26 16:28:52 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Fri, 27 Dec 2013 00:28:52 +0000 Subject: RFR (M): 8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms In-Reply-To: <52BCBAD8.2020009@oracle.com> References: <4295855A5C1DE049A61835A1887419CC2CE72126@DEWDFEMB12A.global.corp.sap> <52B89668.5050405@oracle.com> <4295855A5C1DE049A61835A1887419CC2CE7279C@DEWDFEMB12A.global.corp.sap> <52BCBAD8.2020009@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC2CE72A96@DEWDFEMB12A.global.corp.sap> Hi Vladimir, > So the problem exist only for CallDynamicJava but you decided do set new > const base edge for all call nodes (except leaf calls which do not have > debug info). Right? Yes. I think this new functionality should work for any call node, not only the ones that happen to be used by PPC. > How it worked before? Expand() was called before all edges are added at > the end of Matcher::match_tree(). Yes, that was one of the problems - -it didn't work before ;) I think the matcher added it's edges at the proper positions, so the MachConstantBase was moved to the back. > Why you need to move clone_jvms() from Call node to SafePoint node > (changes in node.cpp and callnode.hpp)? Only Call nodes are affected. > Add comment that we also need to clone jvms when call node needs to add > an edge to MachConstantBaseNode during matching which will require jvms > adjustment. I think it belongs to the SafePoint, as that also introduced the field. Also, if you read the code of node->clone(), you think all is fine as the jvms is cloned -- but in the end I found out the implementation was empty and it didn't clone at all - quite tricky ;). So if you don't like it in safepoint, you should call it only if cloning is really needed to make this more obvious. > I don't like matcher_modifies_jvms name (it is too strong/general > statement when it only shifts it). Can it be calls_need_constant_base? > It affects almost all calls (even for Leaf calls it will be after > arguments), it is more specific and can be used for other purposes. The name should not reflect the constant base stuff. The jvms might be changed for any reason and make cloning necessary. E.g, on ia64 we add predicate edges. So the name should only state that cloning the jvms is necessary as someone might call JVMState::adapt_position. What about jvmstates_get_modified()? or jvmstates_get_adapted()? > Why you need to declare _matcher_modifies_jvms in FrameForm (changes in > formsopt.*)? Oh, sorry, a left over. Removed. > JVMState::adapt_position(int delta). I would suggest to use a loop as in > other places (yes, recursion is not deep, as you pointed, but it could > be called with deep stack already): Fixed. I updated the webrev: http://cr.openjdk.java.net/~goetz/webrevs/8030863-0-call/ Best regards, Goetz. On 12/24/13 3:25 PM, Lindenmaier, Goetz wrote: > Hi Vladimir, > > yes, I meant postalloc expand. > I was aware of the problem with jvms and build_oop_map, i.e., > that you spoil build_oop_map if you add an edge and don't somehow > tell build_oop_map where to find the derived base pairs after that. > > But as I replace the node by an other one without the edge during > postalloc expand, I figured I'd be safe. But, as regalloc added the > derived base edges behind the one I added, req()-1 pointed to the > last base edge, and I would have removed the wrong edge. > > For the same reason, regalloc associated the register mask I > supplied for the ConstTableBase for the node at req()-1, again > the base edge of a derived/base pair. > > So I need a fixed position, which is now between the args > and the edges for jvms. > > Best regards, > Goetz. > > > -----Original Message----- > From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] > Sent: Monday, December 23, 2013 9:01 PM > To: Lindenmaier, Goetz; 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' > Subject: Re: RFR (M): 8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms > > Goetz, > > Can you explain the problem in details? When you say 'during expand' do > you mean 'during postalloc_expand'? Because normal expand happens during > matching. And I did not get how it is related to derived/base pairs. > > Thanks, > Vladimir > > On 12/20/13 7:20 AM, Lindenmaier, Goetz wrote: >> Hi, >> >> The change "8028580: PPC64 (part 114/120): Support for Call nodes with constants. " >> adds MachConstantBase node for Calls at req()-1 during >> expand. Register allocation adds the derived/base pairs and then >> uses the wrong register maps for allocation, because the MachConstantBase >> node is no more at req()-1 >> >> Now add the edge in the matcher when the node is complete. Add it >> after parameters and before jvms. Adapt jvms offsets. Also assure >> jvms is always cloned, else the offset gets wrong. >> >> So far, $constanttablebase is only used in Calls on PPC, so this has no effect on >> other platforms. >> >> Please review and test this change. >> http://cr.openjdk.java.net/~goetz/webrevs/8030863-0-call/ >> >> Best regards, >> Goetz. >> From vladimir.kozlov at oracle.com Thu Dec 26 17:07:01 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 26 Dec 2013 17:07:01 -0800 Subject: RFR (M): 8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms In-Reply-To: <4295855A5C1DE049A61835A1887419CC2CE72A96@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC2CE72126@DEWDFEMB12A.global.corp.sap> <52B89668.5050405@oracle.com> <4295855A5C1DE049A61835A1887419CC2CE7279C@DEWDFEMB12A.global.corp.sap> <52BCBAD8.2020009@oracle.com> <4295855A5C1DE049A61835A1887419CC2CE72A96@DEWDFEMB12A.global.corp.sap> Message-ID: <52BCD2B5.4080500@oracle.com> On 12/26/13 4:28 PM, Lindenmaier, Goetz wrote: > Hi Vladimir, > >> So the problem exist only for CallDynamicJava but you decided do set new >> const base edge for all call nodes (except leaf calls which do not have >> debug info). Right? > Yes. I think this new functionality should work for any call node, not only > the ones that happen to be used by PPC. > >> How it worked before? Expand() was called before all edges are added at >> the end of Matcher::match_tree(). > Yes, that was one of the problems - -it didn't work before ;) I think the matcher > added it's edges at the proper positions, so the MachConstantBase was moved > to the back. > >> Why you need to move clone_jvms() from Call node to SafePoint node >> (changes in node.cpp and callnode.hpp)? Only Call nodes are affected. >> Add comment that we also need to clone jvms when call node needs to add >> an edge to MachConstantBaseNode during matching which will require jvms >> adjustment. > I think it belongs to the SafePoint, as that also introduced the field. Also, Which field? "_jvms"? Safepoints are special and cloning jvms for them is also special (additional dependencies during parsing). I would like to avoid such new behavior if you don't need it. I don't changes to the comment for clone_jvms(). > if you read the code of node->clone(), you think all is fine as the jvms is > cloned -- but in the end I found out the implementation was empty > and it didn't clone at all - quite tricky ;). So if you don't like it in safepoint, > you should call it only if cloning is really needed to make this more obvious. You either use virtual methods as in current code or one method which checks conditions. We chose virtual methods. Also in your case it is general condition for all call nodes. For us it was needed only for some nodes. > >> I don't like matcher_modifies_jvms name (it is too strong/general >> statement when it only shifts it). Can it be calls_need_constant_base? >> It affects almost all calls (even for Leaf calls it will be after >> arguments), it is more specific and can be used for other purposes. > The name should not reflect the constant base stuff. The jvms might > be changed for any reason and make cloning necessary. E.g, on ia64 we add > predicate edges. So the name should only state that cloning the jvms > is necessary as someone might call JVMState::adapt_position. > What about jvmstates_get_modified()? or jvmstates_get_adapted()? needs_clone_jvmstate() > >> Why you need to declare _matcher_modifies_jvms in FrameForm (changes in >> formsopt.*)? > Oh, sorry, a left over. Removed. > >> JVMState::adapt_position(int delta). I would suggest to use a loop as in >> other places (yes, recursion is not deep, as you pointed, but it could >> be called with deep stack already): > Fixed. Thanks, Vladimir > > I updated the webrev: > http://cr.openjdk.java.net/~goetz/webrevs/8030863-0-call/ > > Best regards, > Goetz. > > > > On 12/24/13 3:25 PM, Lindenmaier, Goetz wrote: >> Hi Vladimir, >> >> yes, I meant postalloc expand. >> I was aware of the problem with jvms and build_oop_map, i.e., >> that you spoil build_oop_map if you add an edge and don't somehow >> tell build_oop_map where to find the derived base pairs after that. >> >> But as I replace the node by an other one without the edge during >> postalloc expand, I figured I'd be safe. But, as regalloc added the >> derived base edges behind the one I added, req()-1 pointed to the >> last base edge, and I would have removed the wrong edge. >> >> For the same reason, regalloc associated the register mask I >> supplied for the ConstTableBase for the node at req()-1, again >> the base edge of a derived/base pair. >> >> So I need a fixed position, which is now between the args >> and the edges for jvms. >> >> Best regards, >> Goetz. >> >> >> -----Original Message----- >> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] >> Sent: Monday, December 23, 2013 9:01 PM >> To: Lindenmaier, Goetz; 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' >> Subject: Re: RFR (M): 8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms >> >> Goetz, >> >> Can you explain the problem in details? When you say 'during expand' do >> you mean 'during postalloc_expand'? Because normal expand happens during >> matching. And I did not get how it is related to derived/base pairs. >> >> Thanks, >> Vladimir >> >> On 12/20/13 7:20 AM, Lindenmaier, Goetz wrote: >>> Hi, >>> >>> The change "8028580: PPC64 (part 114/120): Support for Call nodes with constants. " >>> adds MachConstantBase node for Calls at req()-1 during >>> expand. Register allocation adds the derived/base pairs and then >>> uses the wrong register maps for allocation, because the MachConstantBase >>> node is no more at req()-1 >>> >>> Now add the edge in the matcher when the node is complete. Add it >>> after parameters and before jvms. Adapt jvms offsets. Also assure >>> jvms is always cloned, else the offset gets wrong. >>> >>> So far, $constanttablebase is only used in Calls on PPC, so this has no effect on >>> other platforms. >>> >>> Please review and test this change. >>> http://cr.openjdk.java.net/~goetz/webrevs/8030863-0-call/ >>> >>> Best regards, >>> Goetz. >>> From goetz.lindenmaier at sap.com Fri Dec 27 02:32:09 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Fri, 27 Dec 2013 10:32:09 +0000 Subject: RFR (M): 8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms In-Reply-To: <4295855A5C1DE049A61835A1887419CC2CE72A69@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC2CE72126@DEWDFEMB12A.global.corp.sap> <52B89668.5050405@oracle.com> <4295855A5C1DE049A61835A1887419CC2CE7279C@DEWDFEMB12A.global.corp.sap> <52BCBAD8.2020009@oracle.com> <4295855A5C1DE049A61835A1887419CC2CE72A69@DEWDFEMB12A.global.corp.sap> Message-ID: <4295855A5C1DE049A61835A1887419CC2CE72C14@DEWDFEMB12A.global.corp.sap> Hi Vladimir, > Which field? "_jvms"? Yes. > Safepoints are special and cloning jvms for them is also special > (additional dependencies during parsing). I would like to avoid such new > behavior if you don't need it. What's special? We do it on ia64 and it's no problem. > You either use virtual methods as in current code or one method which > checks conditions. We chose virtual methods. > Also in your case it is general condition for all call nodes. For us it > was needed only for some nodes. But don't you think the whole method is dissonant? Not to clone for safepoint you decide by not implementing the method. Not to clone for others you decide by implementing a method empty, although it claims to do it by it's name. That's what I wanted to clean up. I would use a virtual method if I need to do different things to achieve the same goal (here: clone the jvms) depending on the type. It should at least be called clone_jvms_if_needed(), which is an ugly name, though. I added the comment and moved it back to the Calls. > needs_clone_jvmstate() That's a good name. Changed. I updated the webrev. http://cr.openjdk.java.net/~goetz/webrevs/8030863-0-call/ Best regards, Goetz. -----Original Message----- From: goetz.lindenmaier at sap.com Sent: Friday, December 27, 2013 1:29 AM To: Vladimir Kozlov; 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' Subject: RE: RFR (M): 8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms Hi Vladimir, > So the problem exist only for CallDynamicJava but you decided do set new > const base edge for all call nodes (except leaf calls which do not have > debug info). Right? Yes. I think this new functionality should work for any call node, not only the ones that happen to be used by PPC. > How it worked before? Expand() was called before all edges are added at > the end of Matcher::match_tree(). Yes, that was one of the problems - -it didn't work before ;) I think the matcher added it's edges at the proper positions, so the MachConstantBase was moved to the back. > Why you need to move clone_jvms() from Call node to SafePoint node > (changes in node.cpp and callnode.hpp)? Only Call nodes are affected. > Add comment that we also need to clone jvms when call node needs to add > an edge to MachConstantBaseNode during matching which will require jvms > adjustment. I think it belongs to the SafePoint, as that also introduced the field. Also, if you read the code of node->clone(), you think all is fine as the jvms is cloned -- but in the end I found out the implementation was empty and it didn't clone at all - quite tricky ;). So if you don't like it in safepoint, you should call it only if cloning is really needed to make this more obvious. > I don't like matcher_modifies_jvms name (it is too strong/general > statement when it only shifts it). Can it be calls_need_constant_base? > It affects almost all calls (even for Leaf calls it will be after > arguments), it is more specific and can be used for other purposes. The name should not reflect the constant base stuff. The jvms might be changed for any reason and make cloning necessary. E.g, on ia64 we add predicate edges. So the name should only state that cloning the jvms is necessary as someone might call JVMState::adapt_position. What about jvmstates_get_modified()? or jvmstates_get_adapted()? > Why you need to declare _matcher_modifies_jvms in FrameForm (changes in > formsopt.*)? Oh, sorry, a left over. Removed. > JVMState::adapt_position(int delta). I would suggest to use a loop as in > other places (yes, recursion is not deep, as you pointed, but it could > be called with deep stack already): Fixed. I updated the webrev: http://cr.openjdk.java.net/~goetz/webrevs/8030863-0-call/ Best regards, Goetz. On 12/24/13 3:25 PM, Lindenmaier, Goetz wrote: > Hi Vladimir, > > yes, I meant postalloc expand. > I was aware of the problem with jvms and build_oop_map, i.e., > that you spoil build_oop_map if you add an edge and don't somehow > tell build_oop_map where to find the derived base pairs after that. > > But as I replace the node by an other one without the edge during > postalloc expand, I figured I'd be safe. But, as regalloc added the > derived base edges behind the one I added, req()-1 pointed to the > last base edge, and I would have removed the wrong edge. > > For the same reason, regalloc associated the register mask I > supplied for the ConstTableBase for the node at req()-1, again > the base edge of a derived/base pair. > > So I need a fixed position, which is now between the args > and the edges for jvms. > > Best regards, > Goetz. > > > -----Original Message----- > From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] > Sent: Monday, December 23, 2013 9:01 PM > To: Lindenmaier, Goetz; 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' > Subject: Re: RFR (M): 8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms > > Goetz, > > Can you explain the problem in details? When you say 'during expand' do > you mean 'during postalloc_expand'? Because normal expand happens during > matching. And I did not get how it is related to derived/base pairs. > > Thanks, > Vladimir > > On 12/20/13 7:20 AM, Lindenmaier, Goetz wrote: >> Hi, >> >> The change "8028580: PPC64 (part 114/120): Support for Call nodes with constants. " >> adds MachConstantBase node for Calls at req()-1 during >> expand. Register allocation adds the derived/base pairs and then >> uses the wrong register maps for allocation, because the MachConstantBase >> node is no more at req()-1 >> >> Now add the edge in the matcher when the node is complete. Add it >> after parameters and before jvms. Adapt jvms offsets. Also assure >> jvms is always cloned, else the offset gets wrong. >> >> So far, $constanttablebase is only used in Calls on PPC, so this has no effect on >> other platforms. >> >> Please review and test this change. >> http://cr.openjdk.java.net/~goetz/webrevs/8030863-0-call/ >> >> Best regards, >> Goetz. >> From alejandro.murillo at oracle.com Fri Dec 27 08:25:51 2013 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Fri, 27 Dec 2013 16:25:51 +0000 Subject: hg: hsx/hsx25/hotspot: 6 new changesets Message-ID: <20131227162620.C904862F53@hg.openjdk.java.net> Changeset: 0b9c7eb6658b Author: amurillo Date: 2013-12-20 08:48 -0800 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/0b9c7eb6658b 8030752: new hotspot build - hs25-b65 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 5832cdaf89c6 Author: hseigel Date: 2013-12-16 08:24 -0500 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/5832cdaf89c6 8027804: JCK resolveMethod test fails expecting AbstractMethodError Summary: Create AME overpass methods and fix method search logic Reviewed-by: kamg, acorn, lfoltan, coleenp ! src/share/vm/classfile/defaultMethods.cpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klassVtable.cpp Changeset: 62e87648a4be Author: coleenp Date: 2013-12-19 20:28 +0000 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/62e87648a4be 8030633: nsk/jvmti/RedefineClasses/StressRedefine failed invalid method ordering length on Solaris Summary: A method with no declared methods was getting an AME overpass method with the latest change. The method_ordering array was not updated for the new methods. Reviewed-by: dcubed, acorn, dsamersoff, lfoltan, hseigel ! src/share/vm/classfile/defaultMethods.cpp Changeset: be840d0078bc Author: coleenp Date: 2013-12-20 14:03 -0500 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/be840d0078bc Merge Changeset: 55fb97c4c58d Author: mikael Date: 2013-12-24 11:48 -0800 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/55fb97c4c58d 8029233: Update copyright year to match last edit in jdk8 hotspot repository for 2013 Summary: Copyright year updated for files modified during 2013 Reviewed-by: twisti, iveresov ! agent/make/Makefile ! agent/src/os/linux/libproc.h ! agent/src/os/linux/salibelf.c ! agent/src/os/linux/symtab.c ! agent/src/os/solaris/proc/saproc.cpp ! agent/src/os/win32/windbg/sawindbg.cpp ! agent/src/share/classes/sun/jvm/hotspot/CLHSDB.java ! agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java ! agent/src/share/classes/sun/jvm/hotspot/HSDB.java ! agent/src/share/classes/sun/jvm/hotspot/LinuxVtblAccess.java ! agent/src/share/classes/sun/jvm/hotspot/asm/Disassembler.java ! agent/src/share/classes/sun/jvm/hotspot/ci/ciEnv.java ! agent/src/share/classes/sun/jvm/hotspot/ci/ciMethod.java ! agent/src/share/classes/sun/jvm/hotspot/code/NMethod.java ! agent/src/share/classes/sun/jvm/hotspot/compiler/CompileTask.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdAddress.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxAddress.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxOopHandle.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/x86/LinuxX86CFrame.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgCDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgDebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windows/amd64/WindowsAMD64CFrame.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windows/x86/WindowsX86CFrame.java ! agent/src/share/classes/sun/jvm/hotspot/jdi/JVMTIThreadState.java ! agent/src/share/classes/sun/jvm/hotspot/memory/CMSCollector.java ! agent/src/share/classes/sun/jvm/hotspot/memory/DictionaryEntry.java ! agent/src/share/classes/sun/jvm/hotspot/memory/SymbolTable.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ArrayKlass.java ! agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java ! agent/src/share/classes/sun/jvm/hotspot/oops/Klass.java ! agent/src/share/classes/sun/jvm/hotspot/oops/MethodCounters.java ! agent/src/share/classes/sun/jvm/hotspot/oops/MethodData.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java ! agent/src/share/classes/sun/jvm/hotspot/opto/PhaseCFG.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/ThreadLocalAllocBuffer.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/bsd_amd64/BsdAMD64JavaThreadPDAccess.java ! agent/src/share/classes/sun/jvm/hotspot/tools/FinalizerInfo.java ! agent/src/share/classes/sun/jvm/hotspot/tools/FlagDumper.java ! agent/src/share/classes/sun/jvm/hotspot/tools/HeapDumper.java ! agent/src/share/classes/sun/jvm/hotspot/tools/HeapSummary.java ! agent/src/share/classes/sun/jvm/hotspot/tools/JInfo.java ! agent/src/share/classes/sun/jvm/hotspot/tools/JSnap.java ! agent/src/share/classes/sun/jvm/hotspot/tools/JStack.java ! agent/src/share/classes/sun/jvm/hotspot/tools/ObjectHistogram.java ! agent/src/share/classes/sun/jvm/hotspot/tools/PMap.java ! agent/src/share/classes/sun/jvm/hotspot/tools/StackTrace.java ! agent/src/share/classes/sun/jvm/hotspot/tools/SysPropsDumper.java ! agent/src/share/classes/sun/jvm/hotspot/tools/Tool.java ! agent/src/share/classes/sun/jvm/hotspot/tools/soql/JSDB.java ! agent/src/share/classes/sun/jvm/hotspot/tools/soql/SOQL.java ! agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicTypeDataBase.java ! agent/src/share/classes/sun/jvm/hotspot/ui/SAPanel.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/AbstractHeapGraphWriter.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/HeapGXLWriter.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaInstanceKlass.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/soql/sa.js ! make/bsd/makefiles/adlc.make ! make/bsd/makefiles/minimal1.make ! make/hotspot.script ! make/linux/makefiles/adlc.make ! make/linux/makefiles/jsig.make ! make/linux/makefiles/minimal1.make ! make/linux/makefiles/saproc.make ! make/sa.files ! make/solaris/makefiles/adlc.make ! make/solaris/makefiles/gcc.make ! make/windows/build_vm_def.sh ! make/windows/makefiles/adlc.make ! make/windows/makefiles/debug.make ! make/windows/makefiles/product.make ! make/windows/makefiles/rules.make ! make/windows/makefiles/sa.make ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/assembler_sparc.inline.hpp ! src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp ! src/cpu/sparc/vm/c1_FrameMap_sparc.cpp ! src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp ! src/cpu/sparc/vm/c1_globals_sparc.hpp ! src/cpu/sparc/vm/c2_globals_sparc.hpp ! src/cpu/sparc/vm/c2_init_sparc.cpp ! src/cpu/sparc/vm/disassembler_sparc.hpp ! src/cpu/sparc/vm/frame_sparc.inline.hpp ! src/cpu/sparc/vm/globalDefinitions_sparc.hpp ! src/cpu/sparc/vm/globals_sparc.hpp ! src/cpu/sparc/vm/jni_sparc.h ! src/cpu/sparc/vm/nativeInst_sparc.hpp ! src/cpu/sparc/vm/register_sparc.hpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/stubRoutines_sparc.cpp ! src/cpu/sparc/vm/stubRoutines_sparc.hpp ! src/cpu/sparc/vm/vmStructs_sparc.hpp ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.hpp ! src/cpu/x86/vm/bytecodeInterpreter_x86.cpp ! src/cpu/x86/vm/c1_CodeStubs_x86.cpp ! src/cpu/x86/vm/c1_FrameMap_x86.cpp ! src/cpu/x86/vm/c1_FrameMap_x86.hpp ! src/cpu/x86/vm/c1_LinearScan_x86.cpp ! src/cpu/x86/vm/c1_MacroAssembler_x86.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/c1_globals_x86.hpp ! src/cpu/x86/vm/c2_globals_x86.hpp ! src/cpu/x86/vm/frame_x86.hpp ! src/cpu/x86/vm/frame_x86.inline.hpp ! src/cpu/x86/vm/globalDefinitions_x86.hpp ! src/cpu/x86/vm/register_definitions_x86.cpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/x86/vm/templateInterpreter_x86.hpp ! src/cpu/x86/vm/vmStructs_x86.hpp ! src/cpu/x86/vm/vtableStubs_x86_32.cpp ! src/cpu/x86/vm/vtableStubs_x86_64.cpp ! src/cpu/zero/vm/assembler_zero.cpp ! src/cpu/zero/vm/cppInterpreter_zero.cpp ! src/cpu/zero/vm/entryFrame_zero.hpp ! src/cpu/zero/vm/frame_zero.cpp ! src/cpu/zero/vm/frame_zero.inline.hpp ! src/cpu/zero/vm/globals_zero.hpp ! src/cpu/zero/vm/icBuffer_zero.cpp ! src/cpu/zero/vm/interp_masm_zero.hpp ! src/cpu/zero/vm/interpreter_zero.cpp ! src/cpu/zero/vm/jni_zero.h ! src/cpu/zero/vm/nativeInst_zero.hpp ! src/cpu/zero/vm/register_zero.cpp ! src/cpu/zero/vm/relocInfo_zero.cpp ! src/cpu/zero/vm/sharedRuntime_zero.cpp ! src/cpu/zero/vm/sharkFrame_zero.hpp ! src/cpu/zero/vm/stubGenerator_zero.cpp ! src/cpu/zero/vm/vmStructs_zero.hpp ! src/cpu/zero/vm/vtableStubs_zero.cpp ! src/os/bsd/dtrace/jvm_dtrace.c ! src/os/posix/vm/os_posix.hpp ! src/os/solaris/dtrace/jvm_dtrace.c ! src/os/solaris/vm/globals_solaris.hpp ! src/os/windows/vm/decoder_windows.hpp ! src/os_cpu/bsd_x86/vm/bsd_x86_32.s ! src/os_cpu/bsd_x86/vm/bsd_x86_64.s ! src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp ! src/os_cpu/bsd_x86/vm/vmStructs_bsd_x86.hpp ! src/os_cpu/bsd_zero/vm/globals_bsd_zero.hpp ! src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp ! src/os_cpu/bsd_zero/vm/thread_bsd_zero.hpp ! src/os_cpu/bsd_zero/vm/vmStructs_bsd_zero.hpp ! src/os_cpu/linux_sparc/vm/globals_linux_sparc.hpp ! src/os_cpu/linux_sparc/vm/linux_sparc.s ! src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp ! src/os_cpu/linux_sparc/vm/vmStructs_linux_sparc.hpp ! src/os_cpu/linux_x86/vm/globals_linux_x86.hpp ! src/os_cpu/linux_x86/vm/linux_x86_32.s ! src/os_cpu/linux_x86/vm/linux_x86_64.s ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.hpp ! src/os_cpu/linux_x86/vm/vmStructs_linux_x86.hpp ! src/os_cpu/linux_zero/vm/globals_linux_zero.hpp ! src/os_cpu/linux_zero/vm/os_linux_zero.cpp ! src/os_cpu/linux_zero/vm/vmStructs_linux_zero.hpp ! src/os_cpu/solaris_sparc/vm/globals_solaris_sparc.hpp ! src/os_cpu/solaris_sparc/vm/solaris_sparc.il ! src/os_cpu/solaris_sparc/vm/solaris_sparc.s ! src/os_cpu/solaris_sparc/vm/vmStructs_solaris_sparc.hpp ! src/os_cpu/solaris_x86/vm/globals_solaris_x86.hpp ! src/os_cpu/solaris_x86/vm/solaris_x86_32.s ! src/os_cpu/solaris_x86/vm/solaris_x86_64.s ! src/os_cpu/solaris_x86/vm/vmStructs_solaris_x86.hpp ! src/os_cpu/windows_x86/vm/globals_windows_x86.hpp ! src/os_cpu/windows_x86/vm/os_windows_x86.cpp ! src/os_cpu/windows_x86/vm/os_windows_x86.hpp ! src/os_cpu/windows_x86/vm/vmStructs_windows_x86.hpp ! src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/CallSite.java ! src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogParser.java ! src/share/tools/ProjectCreator/WinGammaPlatformVC7.java ! src/share/tools/hsdis/hsdis.c ! src/share/vm/adlc/adlparse.cpp ! src/share/vm/adlc/archDesc.cpp ! src/share/vm/adlc/dfa.cpp ! src/share/vm/adlc/dict2.cpp ! src/share/vm/adlc/formssel.cpp ! src/share/vm/adlc/formssel.hpp ! src/share/vm/adlc/output_c.cpp ! src/share/vm/adlc/output_h.cpp ! src/share/vm/asm/assembler.cpp ! src/share/vm/asm/assembler.hpp ! src/share/vm/asm/codeBuffer.cpp ! src/share/vm/asm/macroAssembler.hpp ! src/share/vm/asm/macroAssembler.inline.hpp ! src/share/vm/c1/c1_Canonicalizer.cpp ! src/share/vm/c1/c1_Canonicalizer.hpp ! src/share/vm/c1/c1_CodeStubs.hpp ! src/share/vm/c1/c1_Compilation.cpp ! src/share/vm/c1/c1_Compiler.cpp ! src/share/vm/c1/c1_Compiler.hpp ! src/share/vm/c1/c1_FrameMap.cpp ! src/share/vm/c1/c1_FrameMap.hpp ! src/share/vm/c1/c1_GraphBuilder.hpp ! src/share/vm/c1/c1_IR.cpp ! src/share/vm/c1/c1_IR.hpp ! src/share/vm/c1/c1_Instruction.cpp ! src/share/vm/c1/c1_InstructionPrinter.hpp ! src/share/vm/c1/c1_LIRAssembler.cpp ! src/share/vm/c1/c1_LinearScan.cpp ! src/share/vm/c1/c1_Optimizer.cpp ! src/share/vm/c1/c1_RangeCheckElimination.cpp ! src/share/vm/c1/c1_RangeCheckElimination.hpp ! src/share/vm/c1/c1_Runtime1.hpp ! src/share/vm/c1/c1_ValueMap.cpp ! src/share/vm/c1/c1_ValueMap.hpp ! src/share/vm/c1/c1_globals.cpp ! src/share/vm/c1/c1_globals.hpp ! src/share/vm/ci/bcEscapeAnalyzer.cpp ! src/share/vm/ci/bcEscapeAnalyzer.hpp ! src/share/vm/ci/ciArray.cpp ! src/share/vm/ci/ciArray.hpp ! src/share/vm/ci/ciClassList.hpp ! src/share/vm/ci/ciConstant.hpp ! src/share/vm/ci/ciEnv.hpp ! src/share/vm/ci/ciFlags.hpp ! src/share/vm/ci/ciInstance.cpp ! src/share/vm/ci/ciInstanceKlass.hpp ! src/share/vm/ci/ciKlass.cpp ! src/share/vm/ci/ciKlass.hpp ! src/share/vm/ci/ciMethodData.cpp ! src/share/vm/ci/ciMethodData.hpp ! src/share/vm/ci/ciObjArrayKlass.cpp ! src/share/vm/ci/ciObjArrayKlass.hpp ! src/share/vm/ci/ciObjectFactory.cpp ! src/share/vm/ci/ciObjectFactory.hpp ! src/share/vm/ci/ciStreams.hpp ! src/share/vm/ci/ciType.cpp ! src/share/vm/ci/ciType.hpp ! src/share/vm/ci/ciTypeArray.cpp ! src/share/vm/ci/ciTypeArrayKlass.hpp ! src/share/vm/ci/ciTypeFlow.cpp ! src/share/vm/ci/ciUtilities.hpp ! src/share/vm/classfile/bytecodeAssembler.cpp ! src/share/vm/classfile/classFileStream.cpp ! src/share/vm/classfile/classFileStream.hpp ! src/share/vm/classfile/classLoaderData.inline.hpp ! src/share/vm/classfile/vmSymbols.cpp ! src/share/vm/code/compiledIC.hpp ! src/share/vm/code/compressedStream.cpp ! src/share/vm/code/debugInfo.hpp ! src/share/vm/code/icBuffer.hpp ! src/share/vm/code/relocInfo.cpp ! src/share/vm/code/stubs.cpp ! src/share/vm/code/stubs.hpp ! src/share/vm/compiler/abstractCompiler.cpp ! src/share/vm/compiler/abstractCompiler.hpp ! src/share/vm/compiler/compileLog.cpp ! src/share/vm/compiler/compileLog.hpp ! src/share/vm/compiler/compilerOracle.cpp ! src/share/vm/compiler/disassembler.cpp ! src/share/vm/compiler/disassembler.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/adaptiveFreeList.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/adaptiveFreeList.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.hpp ! src/share/vm/gc_implementation/g1/collectionSetChooser.cpp ! src/share/vm/gc_implementation/g1/collectionSetChooser.hpp ! src/share/vm/gc_implementation/g1/g1AllocRegion.hpp ! src/share/vm/gc_implementation/g1/g1BlockOffsetTable.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp ! src/share/vm/gc_implementation/g1/g1EvacFailure.hpp ! src/share/vm/gc_implementation/g1/g1MonitoringSupport.cpp ! src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.hpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.cpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.hpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.inline.hpp ! src/share/vm/gc_implementation/g1/ptrQueue.cpp ! src/share/vm/gc_implementation/g1/ptrQueue.hpp ! src/share/vm/gc_implementation/g1/sparsePRT.cpp ! src/share/vm/gc_implementation/g1/sparsePRT.hpp ! src/share/vm/gc_implementation/g1/vmStructs_g1.hpp ! src/share/vm/gc_implementation/parNew/parCardTableModRefBS.cpp ! src/share/vm/gc_implementation/parallelScavenge/adjoiningGenerations.cpp ! src/share/vm/gc_implementation/parallelScavenge/adjoiningGenerations.hpp ! src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.hpp ! src/share/vm/gc_implementation/parallelScavenge/asPSYoungGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/gcTaskThread.cpp ! src/share/vm/gc_implementation/parallelScavenge/objectStartArray.cpp ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.hpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.hpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.cpp ! src/share/vm/gc_implementation/parallelScavenge/psOldGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/psOldGen.hpp ! src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp ! src/share/vm/gc_implementation/parallelScavenge/psTasks.hpp ! src/share/vm/gc_implementation/parallelScavenge/psYoungGen.cpp ! src/share/vm/gc_implementation/shared/allocationStats.cpp ! 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/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.cpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.hpp ! src/share/vm/gc_implementation/shared/mutableSpace.cpp ! src/share/vm/gc_implementation/shared/parGCAllocBuffer.hpp ! src/share/vm/gc_implementation/shared/spaceCounters.cpp ! src/share/vm/gc_implementation/shared/spaceCounters.hpp ! src/share/vm/gc_interface/collectedHeap.inline.hpp ! src/share/vm/gc_interface/gcCause.cpp ! src/share/vm/gc_interface/gcCause.hpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/interpreter/cppInterpreter.hpp ! src/share/vm/interpreter/interpreter.hpp ! src/share/vm/interpreter/templateInterpreter.hpp ! src/share/vm/interpreter/templateInterpreterGenerator.hpp ! src/share/vm/interpreter/templateTable.hpp ! src/share/vm/memory/binaryTreeDictionary.hpp ! src/share/vm/memory/blockOffsetTable.cpp ! src/share/vm/memory/freeBlockDictionary.cpp ! src/share/vm/memory/freeList.cpp ! src/share/vm/memory/freeList.hpp ! src/share/vm/memory/gcLocker.cpp ! src/share/vm/memory/gcLocker.hpp ! src/share/vm/memory/genRemSet.cpp ! src/share/vm/memory/genRemSet.hpp ! src/share/vm/memory/generation.hpp ! src/share/vm/memory/generationSpec.cpp ! src/share/vm/memory/heap.hpp ! src/share/vm/memory/iterator.cpp ! src/share/vm/memory/iterator.hpp ! src/share/vm/memory/metaspaceCounters.cpp ! src/share/vm/memory/metaspaceCounters.hpp ! src/share/vm/memory/sharedHeap.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/oops/arrayKlass.cpp ! src/share/vm/oops/arrayOop.hpp ! src/share/vm/oops/compiledICHolder.cpp ! src/share/vm/oops/fieldInfo.hpp ! src/share/vm/oops/instanceClassLoaderKlass.cpp ! src/share/vm/oops/instanceClassLoaderKlass.hpp ! src/share/vm/oops/instanceMirrorKlass.cpp ! src/share/vm/oops/instanceOop.hpp ! src/share/vm/oops/instanceRefKlass.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.pcgc.inline.hpp ! src/share/vm/oops/oop.psgc.inline.hpp ! src/share/vm/oops/typeArrayKlass.cpp ! src/share/vm/oops/typeArrayKlass.hpp ! src/share/vm/opto/block.cpp ! src/share/vm/opto/block.hpp ! src/share/vm/opto/buildOopMap.cpp ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/c2compiler.cpp ! src/share/vm/opto/c2compiler.hpp ! src/share/vm/opto/callGenerator.cpp ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/chaitin.hpp ! src/share/vm/opto/classes.cpp ! src/share/vm/opto/classes.hpp ! src/share/vm/opto/coalesce.hpp ! src/share/vm/opto/connode.cpp ! src/share/vm/opto/doCall.cpp ! src/share/vm/opto/domgraph.cpp ! src/share/vm/opto/gcm.cpp ! src/share/vm/opto/generateOptoStub.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/graphKit.hpp ! src/share/vm/opto/idealKit.cpp ! src/share/vm/opto/idealKit.hpp ! src/share/vm/opto/ifg.cpp ! src/share/vm/opto/ifnode.cpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/live.cpp ! src/share/vm/opto/live.hpp ! src/share/vm/opto/loopPredicate.cpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/loopnode.hpp ! src/share/vm/opto/loopopts.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/macro.hpp ! src/share/vm/opto/matcher.hpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/multnode.cpp ! src/share/vm/opto/multnode.hpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/optoreg.hpp ! src/share/vm/opto/output.cpp ! src/share/vm/opto/output.hpp ! src/share/vm/opto/parse.hpp ! src/share/vm/opto/parse1.cpp ! src/share/vm/opto/parse2.cpp ! src/share/vm/opto/phase.cpp ! src/share/vm/opto/phase.hpp ! src/share/vm/opto/phaseX.cpp ! src/share/vm/opto/phaseX.hpp ! src/share/vm/opto/postaloc.cpp ! src/share/vm/opto/reg_split.cpp ! src/share/vm/opto/regalloc.cpp ! src/share/vm/opto/regalloc.hpp ! src/share/vm/opto/subnode.cpp ! src/share/vm/opto/subnode.hpp ! src/share/vm/opto/superword.cpp ! src/share/vm/opto/superword.hpp ! src/share/vm/precompiled/precompiled.hpp ! src/share/vm/prims/forte.cpp ! src/share/vm/prims/jniCheck.cpp ! src/share/vm/prims/jvm_misc.hpp ! src/share/vm/prims/jvmtiClassFileReconstituter.cpp ! src/share/vm/prims/jvmtiClassFileReconstituter.hpp ! src/share/vm/prims/jvmtiEnter.xsl ! src/share/vm/prims/jvmtiEnvBase.hpp ! src/share/vm/prims/jvmtiEnvThreadState.cpp ! src/share/vm/prims/jvmtiEventController.cpp ! src/share/vm/prims/jvmtiExport.hpp ! src/share/vm/prims/jvmtiGetLoadedClasses.cpp ! src/share/vm/prims/jvmtiTrace.hpp ! src/share/vm/prims/nativeLookup.cpp ! src/share/vm/prims/perf.cpp ! src/share/vm/prims/wbtestmethods/parserTests.hpp ! src/share/vm/prims/whitebox.hpp ! src/share/vm/runtime/advancedThresholdPolicy.hpp ! src/share/vm/runtime/atomic.cpp ! src/share/vm/runtime/atomic.hpp ! src/share/vm/runtime/compilationPolicy.hpp ! src/share/vm/runtime/fprofiler.hpp ! src/share/vm/runtime/globals_extension.hpp ! src/share/vm/runtime/handles.inline.hpp ! src/share/vm/runtime/javaCalls.hpp ! src/share/vm/runtime/jniHandles.cpp ! src/share/vm/runtime/mutex.cpp ! src/share/vm/runtime/perfData.hpp ! src/share/vm/runtime/reflection.hpp ! src/share/vm/runtime/sharedRuntime.hpp ! src/share/vm/runtime/signature.cpp ! src/share/vm/runtime/signature.hpp ! src/share/vm/runtime/stubCodeGenerator.cpp ! src/share/vm/runtime/synchronizer.hpp ! src/share/vm/runtime/unhandledOops.hpp ! src/share/vm/runtime/vframe.cpp ! src/share/vm/runtime/vframe.hpp ! src/share/vm/runtime/vframeArray.hpp ! src/share/vm/runtime/virtualspace.hpp ! src/share/vm/runtime/vm_version.hpp ! src/share/vm/services/classLoadingService.hpp ! src/share/vm/services/dtraceAttacher.cpp ! src/share/vm/services/g1MemoryPool.hpp ! src/share/vm/services/memReporter.cpp ! src/share/vm/services/memReporter.hpp ! src/share/vm/services/memSnapshot.hpp ! src/share/vm/services/memoryManager.hpp ! src/share/vm/services/memoryPool.hpp ! src/share/vm/services/memoryService.cpp ! src/share/vm/services/memoryService.hpp ! src/share/vm/services/memoryUsage.hpp ! src/share/vm/services/psMemoryPool.hpp ! src/share/vm/services/threadService.hpp ! src/share/vm/shark/sharkBlock.cpp ! src/share/vm/shark/sharkBuilder.cpp ! src/share/vm/shark/sharkCompiler.cpp ! src/share/vm/shark/sharkCompiler.hpp ! src/share/vm/shark/sharkConstant.cpp ! src/share/vm/shark/sharkFunction.cpp ! src/share/vm/shark/sharkInliner.cpp ! src/share/vm/shark/sharkInvariants.hpp ! src/share/vm/shark/sharkTopLevelBlock.cpp ! src/share/vm/utilities/bitMap.cpp ! src/share/vm/utilities/bitMap.hpp ! src/share/vm/utilities/bitMap.inline.hpp ! src/share/vm/utilities/decoder.cpp ! src/share/vm/utilities/decoder.hpp ! src/share/vm/utilities/elfFile.cpp ! src/share/vm/utilities/elfFile.hpp ! src/share/vm/utilities/exceptions.cpp ! src/share/vm/utilities/globalDefinitions.cpp ! src/share/vm/utilities/globalDefinitions_visCPP.hpp ! src/share/vm/utilities/growableArray.hpp ! src/share/vm/utilities/hashtable.hpp ! src/share/vm/utilities/macros.hpp ! src/share/vm/utilities/numberSeq.cpp ! src/share/vm/utilities/ostream.hpp ! src/share/vm/utilities/top.hpp ! src/share/vm/utilities/yieldingWorkgroup.cpp ! test/Makefile ! test/TEST.ROOT ! test/compiler/5091921/Test7005594.sh ! test/compiler/6431242/Test.java ! test/compiler/6589834/Test_ia32.java ! test/compiler/6636138/Test1.java ! test/compiler/6636138/Test2.java ! test/compiler/6795161/Test.java ! test/compiler/6857159/Test6857159.sh ! test/compiler/7068051/Test7068051.sh ! test/compiler/7070134/Test7070134.sh ! test/compiler/7200264/Test7200264.sh ! test/compiler/8000805/Test8000805.java ! test/compiler/8005419/Test8005419.java ! test/gc/6941923/Test6941923.java ! test/gc/g1/TestHumongousAllocInitialMark.java ! test/runtime/6626217/Test6626217.sh ! test/runtime/7110720/Test7110720.sh ! test/runtime/7162488/Test7162488.sh ! test/runtime/RedefineObject/Agent.java ! test/runtime/RedefineObject/TestRedefineObject.java Changeset: d3521d8e562a Author: amurillo Date: 2013-12-27 07:32 -0800 URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/d3521d8e562a Added tag hs25-b65 for changeset 55fb97c4c58d ! .hgtags From alejandro.murillo at oracle.com Fri Dec 27 08:49:32 2013 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Fri, 27 Dec 2013 16:49:32 +0000 Subject: hg: hsx/hotspot-main/hotspot: 2 new changesets Message-ID: <20131227164945.BA80B62F54@hg.openjdk.java.net> Changeset: d3521d8e562a Author: amurillo Date: 2013-12-27 07:32 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/d3521d8e562a Added tag hs25-b65 for changeset 55fb97c4c58d ! .hgtags Changeset: 9d39e8a8ff61 Author: amurillo Date: 2013-12-27 07:51 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/9d39e8a8ff61 8031060: new hotspot build - hs25-b66 Reviewed-by: jcoomes ! make/hotspot_version From alejandro.murillo at oracle.com Fri Dec 27 09:22:20 2013 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Fri, 27 Dec 2013 17:22:20 +0000 Subject: hg: hsx/jdk7u/hotspot: Added tag hs24.60-b06 for changeset a59134ccb1b7 Message-ID: <20131227172235.7626C62F55@hg.openjdk.java.net> Changeset: f5e155600121 Author: amurillo Date: 2013-12-27 07:41 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/hotspot/rev/f5e155600121 Added tag hs24.60-b06 for changeset a59134ccb1b7 ! .hgtags From alejandro.murillo at oracle.com Fri Dec 27 10:27:21 2013 From: alejandro.murillo at oracle.com (Alejandro E Murillo) Date: Fri, 27 Dec 2013 11:27:21 -0700 Subject: [jdk9] Heads up: Hotspot version string output is changing to match that of the JDK Message-ID: <52BDC689.8090009@oracle.com> There is no longer a separate hotspot version in jdk9 (see attached email for details), so the version string produced by java -version and java -Xinternalversion in jdk9 builds will be changed to match that of the JDK (as was the case before Hotspot express). And also to add additional info for non promoted or developers builds. The details of this change are described here: https://bugs.openjdk.java.net/browse/JDK-8030011 a webrev with the fix will be sent soon. Let me know if you have any feedback/suggestion thanks -- Alejandro -------------- next part -------------- An embedded message was scrubbed... From: John Coomes Subject: proposal - dissolve the OpenJDK hsx Project after jdk8 ships Date: Tue, 10 Dec 2013 13:02:38 -0800 Size: 6275 Url: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20131227/7311a056/AttachedMessage.nws From vladimir.kozlov at oracle.com Fri Dec 27 10:30:27 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 27 Dec 2013 10:30:27 -0800 Subject: RFR (M): 8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms In-Reply-To: <4295855A5C1DE049A61835A1887419CC2CE72C14@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC2CE72126@DEWDFEMB12A.global.corp.sap> <52B89668.5050405@oracle.com> <4295855A5C1DE049A61835A1887419CC2CE7279C@DEWDFEMB12A.global.corp.sap> <52BCBAD8.2020009@oracle.com> <4295855A5C1DE049A61835A1887419CC2CE72A69@DEWDFEMB12A.global.corp.sap> <4295855A5C1DE049A61835A1887419CC2CE72C14@DEWDFEMB12A.global.corp.sap> Message-ID: <52BDC743.3080703@oracle.com> Thank you, Goetz I am pushing it now. Vladimir On 12/27/13 2:32 AM, Lindenmaier, Goetz wrote: > Hi Vladimir, > >> Which field? "_jvms"? > Yes. >> Safepoints are special and cloning jvms for them is also special >> (additional dependencies during parsing). I would like to avoid such new >> behavior if you don't need it. > What's special? We do it on ia64 and it's no problem. >> You either use virtual methods as in current code or one method which >> checks conditions. We chose virtual methods. >> Also in your case it is general condition for all call nodes. For us it >> was needed only for some nodes. > But don't you think the whole method is dissonant? Not to clone for > safepoint you decide by not implementing the method. Not > to clone for others you decide by implementing a method empty, although > it claims to do it by it's name. That's what I wanted to clean up. > I would use a virtual method if I need to do different things to achieve the same > goal (here: clone the jvms) depending on the type. > It should at least be called clone_jvms_if_needed(), which is an ugly name, > though. > > I added the comment and moved it back to the Calls. > >> needs_clone_jvmstate() > That's a good name. Changed. > > I updated the webrev. > http://cr.openjdk.java.net/~goetz/webrevs/8030863-0-call/ > > Best regards, > Goetz. > > > -----Original Message----- > From: goetz.lindenmaier at sap.com > Sent: Friday, December 27, 2013 1:29 AM > To: Vladimir Kozlov; 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' > Subject: RE: RFR (M): 8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms > > Hi Vladimir, > >> So the problem exist only for CallDynamicJava but you decided do set new >> const base edge for all call nodes (except leaf calls which do not have >> debug info). Right? > Yes. I think this new functionality should work for any call node, not only > the ones that happen to be used by PPC. > >> How it worked before? Expand() was called before all edges are added at >> the end of Matcher::match_tree(). > Yes, that was one of the problems - -it didn't work before ;) I think the matcher > added it's edges at the proper positions, so the MachConstantBase was moved > to the back. > >> Why you need to move clone_jvms() from Call node to SafePoint node >> (changes in node.cpp and callnode.hpp)? Only Call nodes are affected. >> Add comment that we also need to clone jvms when call node needs to add >> an edge to MachConstantBaseNode during matching which will require jvms >> adjustment. > I think it belongs to the SafePoint, as that also introduced the field. Also, > if you read the code of node->clone(), you think all is fine as the jvms is > cloned -- but in the end I found out the implementation was empty > and it didn't clone at all - quite tricky ;). So if you don't like it in safepoint, > you should call it only if cloning is really needed to make this more obvious. > >> I don't like matcher_modifies_jvms name (it is too strong/general >> statement when it only shifts it). Can it be calls_need_constant_base? >> It affects almost all calls (even for Leaf calls it will be after >> arguments), it is more specific and can be used for other purposes. > The name should not reflect the constant base stuff. The jvms might > be changed for any reason and make cloning necessary. E.g, on ia64 we add > predicate edges. So the name should only state that cloning the jvms > is necessary as someone might call JVMState::adapt_position. > What about jvmstates_get_modified()? or jvmstates_get_adapted()? > >> Why you need to declare _matcher_modifies_jvms in FrameForm (changes in >> formsopt.*)? > Oh, sorry, a left over. Removed. > >> JVMState::adapt_position(int delta). I would suggest to use a loop as in >> other places (yes, recursion is not deep, as you pointed, but it could >> be called with deep stack already): > Fixed. > > I updated the webrev: > http://cr.openjdk.java.net/~goetz/webrevs/8030863-0-call/ > > Best regards, > Goetz. > > > > On 12/24/13 3:25 PM, Lindenmaier, Goetz wrote: >> Hi Vladimir, >> >> yes, I meant postalloc expand. >> I was aware of the problem with jvms and build_oop_map, i.e., >> that you spoil build_oop_map if you add an edge and don't somehow >> tell build_oop_map where to find the derived base pairs after that. >> >> But as I replace the node by an other one without the edge during >> postalloc expand, I figured I'd be safe. But, as regalloc added the >> derived base edges behind the one I added, req()-1 pointed to the >> last base edge, and I would have removed the wrong edge. >> >> For the same reason, regalloc associated the register mask I >> supplied for the ConstTableBase for the node at req()-1, again >> the base edge of a derived/base pair. >> >> So I need a fixed position, which is now between the args >> and the edges for jvms. >> >> Best regards, >> Goetz. >> >> >> -----Original Message----- >> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] >> Sent: Monday, December 23, 2013 9:01 PM >> To: Lindenmaier, Goetz; 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' >> Subject: Re: RFR (M): 8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms >> >> Goetz, >> >> Can you explain the problem in details? When you say 'during expand' do >> you mean 'during postalloc_expand'? Because normal expand happens during >> matching. And I did not get how it is related to derived/base pairs. >> >> Thanks, >> Vladimir >> >> On 12/20/13 7:20 AM, Lindenmaier, Goetz wrote: >>> Hi, >>> >>> The change "8028580: PPC64 (part 114/120): Support for Call nodes with constants. " >>> adds MachConstantBase node for Calls at req()-1 during >>> expand. Register allocation adds the derived/base pairs and then >>> uses the wrong register maps for allocation, because the MachConstantBase >>> node is no more at req()-1 >>> >>> Now add the edge in the matcher when the node is complete. Add it >>> after parameters and before jvms. Adapt jvms offsets. Also assure >>> jvms is always cloned, else the offset gets wrong. >>> >>> So far, $constanttablebase is only used in Calls on PPC, so this has no effect on >>> other platforms. >>> >>> Please review and test this change. >>> http://cr.openjdk.java.net/~goetz/webrevs/8030863-0-call/ >>> >>> Best regards, >>> Goetz. >>> From alejandro.murillo at oracle.com Fri Dec 27 11:03:49 2013 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Fri, 27 Dec 2013 19:03:49 +0000 Subject: hg: hsx/jdk7u/hotspot: 8021061: Different execution plan when using JIT vs interpreter Message-ID: <20131227190410.348FA62F5F@hg.openjdk.java.net> Changeset: f5d8e6d72e23 Author: amurillo Date: 2013-12-27 08:04 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/hotspot/rev/f5d8e6d72e23 8021061: Different execution plan when using JIT vs interpreter Reviewed-by: jcoomes ! make/hotspot_version From jeremymanson at google.com Fri Dec 27 12:24:39 2013 From: jeremymanson at google.com (Jeremy Manson) Date: Fri, 27 Dec 2013 12:24:39 -0800 Subject: [jdk9] Heads up: Hotspot version string output is changing to match that of the JDK In-Reply-To: <52BDC689.8090009@oracle.com> References: <52BDC689.8090009@oracle.com> Message-ID: A policy question: Does this mean that we can no longer expect large Hotspot changes in a single JDK release? JDK7 has seen HS21->22->23->24; some of those leaps were pretty substantial. Jeremy On Fri, Dec 27, 2013 at 10:27 AM, Alejandro E Murillo < alejandro.murillo at oracle.com> wrote: > > There is no longer a separate hotspot version in jdk9 (see attached email > for details), > so the version string produced by java -version and java -Xinternalversion > in jdk9 builds > will be changed to match that of the JDK (as was the case before Hotspot > express). > And also to add additional info for non promoted or developers builds. > > The details of this change are described here: > > https://bugs.openjdk.java.net/browse/JDK-8030011 > > a webrev with the fix will be sent soon. > Let me know if you have any feedback/suggestion > > thanks > > -- > Alejandro > > From coleen.phillimore at oracle.com Mon Dec 30 14:43:14 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Mon, 30 Dec 2013 17:43:14 -0500 Subject: RFR: JDK-8030796: Update hotspot jprt.properties to release jdk9 In-Reply-To: <52B32C48.3000402@oracle.com> References: <52B2E6FF.4050701@oracle.com> <2F7B39DF-9FFB-4CDB-8482-E05D8D6C0131@oracle.com> <52B2F01B.10407@oracle.com> <52B2F197.4090000@oracle.com> <52B32C48.3000402@oracle.com> Message-ID: <52C1F702.8070608@oracle.com> Erik, I'm confused by this - since hsx is no longer supported, can you just change jdk8 to jdk9 and delete the other releases from this file? Do you need a sponsor? thanks, Coleen On 12/19/2013 12:26 PM, Tim Bell wrote: > Hi Erik: > >> So for the hotspot change, please consider this a new review. >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8030796 >> Webrev: http://cr.openjdk.java.net/~erikj/8030793/webrev.01/ > > Looks good to me. > > /Tim > >> On 2013-12-19 14:09, Erik Joelsson wrote: >>> Thanks for the review, >>> >>> Since the root repo part of this change is quite urgent, I split out >>> a new bug for the Hotspot part, which also might warrant more >>> discussion. >>> >>> /Erik >>> >>> On 2013-12-19 13:51, Chris Hegarty wrote: >>>> Looks good to me. Thanks Eric. >>>> >>>> -Chris. >>>> >>>> On 19 Dec 2013, at 12:30, Erik Joelsson >>>> wrote: >>>> >>>>> Please review these changes to make/jprt.poperties and >>>>> hotspot/make/jprt.properties. I've just added a jdk9 configuration >>>>> to JPRT and this change is needed for JDK 9 to start using it. >>>>> This will solve the issue of requiring a jdk8 boot when building >>>>> in JPRT. >>>>> >>>>> In the hotspot version of the file, there is a lot of separate >>>>> configuration for jdk7 and jdk8. I didn't dare touch this now and >>>>> opted to just add the jdk9 version of these variables. I would >>>>> guess that this won't be necessary however since hotspot won't be >>>>> delivered to multiple jdk releases anymore? >>>>> >>>>> Webrev: http://cr.openjdk.java.net/~erikj/8030793/webrev.01/ >>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8030793 >>>>> >>>>> I'm still unclear on where the hotspot change needs to go and if I >>>>> need a separate bug for it? My interpretation is that the root >>>>> repo change should go to jdk9/dev and the hotspot change to >>>>> jdk9/hs-rt and that since these changes are using separate routes, >>>>> a separate bug should be used. I also assume that as a jdk9 >>>>> reviewer, I will be able to push this myself (after review) to the >>>>> hotspot repo. >>>>> >>>>> /Erik >>> >> > From coleen.phillimore at oracle.com Mon Dec 30 14:45:10 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Mon, 30 Dec 2013 17:45:10 -0500 Subject: RFR: JDK-8030793: Update jprt.properties to release jdk9 In-Reply-To: <52B2E6FF.4050701@oracle.com> References: <52B2E6FF.4050701@oracle.com> Message-ID: <52C1F776.7060500@oracle.com> I just reread your mail. I think it would be good to try to clean up the separate configuration options. People are pushing to jdk9 hs-rt already, so I assume this isn't a rush? Coleen On 12/19/2013 7:30 AM, Erik Joelsson wrote: > Please review these changes to make/jprt.poperties and > hotspot/make/jprt.properties. I've just added a jdk9 configuration to > JPRT and this change is needed for JDK 9 to start using it. This will > solve the issue of requiring a jdk8 boot when building in JPRT. > > In the hotspot version of the file, there is a lot of separate > configuration for jdk7 and jdk8. I didn't dare touch this now and > opted to just add the jdk9 version of these variables. I would guess > that this won't be necessary however since hotspot won't be delivered > to multiple jdk releases anymore? > > Webrev: http://cr.openjdk.java.net/~erikj/8030793/webrev.01/ > Bug: https://bugs.openjdk.java.net/browse/JDK-8030793 > > I'm still unclear on where the hotspot change needs to go and if I > need a separate bug for it? My interpretation is that the root repo > change should go to jdk9/dev and the hotspot change to jdk9/hs-rt and > that since these changes are using separate routes, a separate bug > should be used. I also assume that as a jdk9 reviewer, I will be able > to push this myself (after review) to the hotspot repo. > > /Erik From john.coomes at oracle.com Tue Dec 31 22:17:13 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Wed, 01 Jan 2014 06:17:13 +0000 Subject: hg: hsx/jdk7u/jdk: 11 new changesets Message-ID: <20140101062040.CA55D62FC6@hg.openjdk.java.net> Changeset: 37e8a7e7fed8 Author: serb Date: 2013-12-12 17:31 +0400 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/37e8a7e7fed8 8011955: Lunar screen reader crashes intermittently in WindowsAccessBridge-32.DLL 6995891: JAWS will occasionally stop speaking focused objects as user TABs -> problem with message queue 8014738: Combobox menu items are not announced with JAWS 8011938: Java Ferret example corrupts JCombobox of the running application 8012011: JAB 2.0.2 incompletely shows kbd accelerator in menus 8022966: Java Access Bridge no longer usable with screen magnifiers 8012000: unportable format string argument mismatch Summary: Make fixes for JavaAccessBridge Reviewed-by: tbell, erikj Contributed-by: peter.brunet at oracle.com ! make/bridge/AccessBridgeJava/Makefile Changeset: 4206ba5031da Author: coffeys Date: 2013-10-23 20:51 +0100 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/4206ba5031da 8026405: javax/xml/ws/clientjar/TestWsImport.java failing on JDK 8 nightly aurora test runs Reviewed-by: chegar ! test/javax/xml/ws/clientjar/TestWsImport.java Changeset: fa40bea7a5c6 Author: chegar Date: 2013-11-13 16:44 +0000 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/fa40bea7a5c6 8022213: Intermittent test failures in java/net/URLClassLoader Reviewed-by: dxu, alanb ! test/java/net/URLClassLoader/closetest/CloseTest.java ! test/java/net/URLClassLoader/closetest/Common.java ! test/java/net/URLClassLoader/closetest/GetResourceAsStream.java + test/lib/testlibrary/jdk/testlibrary/FileUtils.java Changeset: 16fb978fb9cf Author: coffeys Date: 2013-11-19 14:47 +0000 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/16fb978fb9cf 8028583: Add helper methods to test libraries Reviewed-by: chegar ! test/java/rmi/testlibrary/TestLibrary.java ! test/lib/testlibrary/jdk/testlibrary/FileUtils.java Changeset: 1ad42e3bd66d Author: coffeys Date: 2013-12-13 09:30 +0000 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/1ad42e3bd66d Merge Changeset: fa00be1579b8 Author: mchung Date: 2013-12-13 16:11 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/fa00be1579b8 8027351: (ref) Private finalize method invoked in preference to protected superclass method Reviewed-by: alanb, dholmes, mr, plevart, psandoz ! make/java/java/FILES_c.gmk ! make/java/java/mapfile-vers ! make/java/java/reorder-i586 ! make/java/java/reorder-sparc ! make/java/java/reorder-sparcv9 ! src/share/classes/java/lang/System.java ! src/share/classes/java/lang/ref/Finalizer.java ! src/share/classes/sun/misc/JavaLangAccess.java ! src/share/classes/sun/misc/VM.java - src/share/native/java/lang/ref/Finalizer.c + test/java/lang/ref/FinalizeOverride.java Changeset: ad8490675e4c Author: mchung Date: 2013-12-18 16:45 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/ad8490675e4c 8021368: Launch of Java Web Start app fails with ClassCircularityError exception in 7u25 Reviewed-by: alanb, plevart, jfranck ! make/java/java/mapfile-vers ! src/share/classes/java/lang/Class.java ! src/share/native/java/lang/Class.c + test/java/lang/Class/checkMemberAccess/CheckMemberAccess.java + test/java/lang/Class/checkMemberAccess/test.policy Changeset: cd2d8f23e93c Author: alitvinov Date: 2013-12-19 15:21 +0400 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/cd2d8f23e93c 8025775: JNI warnings in TryXShmAttach Reviewed-by: art, anthony ! src/solaris/classes/sun/awt/X11/XConstants.java ! src/solaris/classes/sun/awt/X11/XErrorHandler.java ! src/solaris/native/sun/awt/awt_GraphicsEnv.c ! src/solaris/native/sun/awt/awt_GraphicsEnv.h ! src/solaris/native/sun/awt/awt_util.c ! src/solaris/native/sun/awt/awt_util.h ! src/solaris/native/sun/awt/awt_wm.c ! src/solaris/native/sun/awt/awt_xembed_server.c ! src/solaris/native/sun/java2d/opengl/GLXSurfaceData.c ! src/solaris/native/sun/java2d/x11/X11SurfaceData.c ! src/solaris/native/sun/xawt/XlibWrapper.c Changeset: 3ff488283a24 Author: igerasim Date: 2013-12-19 01:55 +0400 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/3ff488283a24 8028208: (aio) Assertion in clearPendingIoMap when closing at around time file lock is acquired immediately (win) Reviewed-by: chegar ! src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java Changeset: b148babc052a Author: mbankal Date: 2013-12-19 07:51 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/b148babc052a 8029318: Native Windows ccache still reads DES tickets Reviewed-by: weijun, coffeys ! src/share/classes/sun/security/krb5/Credentials.java ! src/share/native/sun/security/krb5/nativeccache.c ! src/windows/native/sun/security/krb5/NativeCreds.c Changeset: 5422806162e8 Author: lana Date: 2013-12-26 14:39 -0800 URL: http://hg.openjdk.java.net/hsx/jdk7u/jdk/rev/5422806162e8 Merge - src/share/native/java/lang/ref/Finalizer.c